Files
nl-im-websocket-demo/route/route.go
2025-12-02 14:09:01 +08:00

37 lines
987 B
Go

/**
* package route
* 作用:定义 Gin Web Server 的路由规则。
*/
package route
import (
"xk-websocket/controller" // 替换为实际路径
"github.com/gin-gonic/gin"
)
/**
* SetupRoutes
* 功能:配置 HTTP 和 WebSocket 路由。
* @param router *gin.Engine Gin引擎实例
* @param wsCtrl *controller.WebSocketController 控制器实例
*/
func SetupRoutes(router *gin.Engine, wsCtrl *controller.WebSocketController) {
router.Use(gin.Recovery())
router.GET("/ws", wsCtrl.HandleWebSocket)
// API 分组路由
apiGroup := router.Group("/api")
{
apiGroup.POST("/send", wsCtrl.SendMessageHandler)
apiGroup.POST("/bind", wsCtrl.BindHandler)
apiGroup.POST("/send-to-user", wsCtrl.SendToUserHandler)
apiGroup.GET("/health", wsCtrl.HealthHandler)
apiGroup.GET("/check-user-online", wsCtrl.IsUserOnline)
// 新增的消息路由
apiGroup.GET("/messages", wsCtrl.GetMessagesHandler)
apiGroup.GET("/messages/sync", wsCtrl.SyncMessagesHandler)
}
}