- app/ws/online_service.go: 上线/下线/心跳续期/批量查询在线状态 - 集成到 WebSocket handler: 连接时写入 Redis, 断线时清除 - client.go: 添加 DisconnectHandler 回调 - Redis 键: echo:user:online (SET) + echo:user:status:{uid} (TTL 60s) Made-with: Cursor
- pkg/ws/message.go: 统一消息协议(Message/Response/PushMessage) - pkg/ws/hub.go: Hub 连接管理(注册/注销/按 userID 查找/在线计数) - pkg/ws/client.go: 客户端连接封装(readPump/writePump/心跳 30s) - pkg/ws/pubsub.go: Redis Pub/Sub 消息路由(按用户频道发布/订阅) - app/ws/handler.go: WebSocket 升级处理(JWT 认证 + 消息分发) - app/ws/router.go: GET /ws 路由注册 - app/ws/provider.go: Wire Provider Set - 更新 provider/router 集成 WebSocket 模块 Made-with: Cursor