feat(ws): WebSocket 核心模块(Hub + Client + PubSub + Handler)
- 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
This commit is contained in:
@@ -9,6 +9,7 @@ import (
|
||||
"github.com/echochat/backend/app/admin"
|
||||
"github.com/echochat/backend/app/auth"
|
||||
"github.com/echochat/backend/app/provider"
|
||||
wsApp "github.com/echochat/backend/app/ws"
|
||||
"github.com/echochat/backend/pkg/middleware"
|
||||
"github.com/echochat/backend/pkg/utils"
|
||||
"github.com/gin-gonic/gin"
|
||||
@@ -32,9 +33,9 @@ func Setup(engine *gin.Engine, app *provider.App) {
|
||||
// --- 各模块路由注册 ---
|
||||
auth.RegisterRoutes(engine, app.AuthController, app.AdminAuthController, jwtAuth)
|
||||
admin.RegisterRoutes(engine, app.UserManageController, jwtAuth)
|
||||
wsApp.RegisterRoutes(engine, app.WSHandler)
|
||||
|
||||
// [未来] im.RegisterRoutes(engine, app.ImController, jwtAuth)
|
||||
// [未来] meeting.RegisterRoutes(engine, app.MeetingController, jwtAuth)
|
||||
// [未来] contact.RegisterRoutes(engine, app.ContactController, jwtAuth)
|
||||
// [未来] notify.RegisterRoutes(engine, app.NotifyController, jwtAuth)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user