搭建Go后端框架:数据模型、JWT鉴权、租户隔离、WebSocket、REST API路由

This commit is contained in:
yml2213
2026-07-14 11:23:05 +08:00
parent 81c32cfdea
commit 05ab468498
16 changed files with 1692 additions and 1 deletions
+27
View File
@@ -0,0 +1,27 @@
package handler
import (
"net/http"
"github.com/gin-gonic/gin"
"kefu-sys/server/internal/middleware"
"kefu-sys/server/internal/ws"
)
type WsHandler struct{}
func NewWsHandler() *WsHandler { return &WsHandler{} }
func (h *WsHandler) Connect(c *gin.Context) {
userID := middleware.GetUserID(c)
tenantID := middleware.GetTenantID(c)
role, _ := c.Get("role")
client, err := ws.Upgrade(c.Writer, c.Request, userID, tenantID, role.(string))
if err != nil {
c.JSON(http.StatusInternalServerError, gin.H{"code": 500, "message": "升级连接失败"})
return
}
ws.HandleWebSocket(client)
}