feat(push-gateway): 修复WebSocket并发写竞争并添加DEV_MODE鉴权

hub.go 重写用send chan+单写协程模式避免并发写竞争

handler.go 加DEV_MODE dev-token支持+broadcast端点

config.go 加DevMode/RedisURL字段
This commit is contained in:
SpecialX
2026-07-09 09:09:13 +08:00
parent 416e1bc0b2
commit dfb6d2bfc1
4 changed files with 179 additions and 60 deletions

View File

@@ -20,7 +20,7 @@ func main() {
gin.SetMode(gin.ReleaseMode)
h := hub.NewHub()
wsHandler := ws.NewHandler(h, cfg.JWTSecret)
wsHandler := ws.NewHandler(h, cfg.JWTSecret, cfg.DevMode)
r := gin.New()
r.Use(gin.Recovery())
@@ -35,6 +35,7 @@ func main() {
// 内部推送 APIMsg 服务调用)
api := r.Group("/internal")
api.POST("/push", wsHandler.PushHandler)
api.POST("/broadcast", wsHandler.BroadcastHandler)
srv := &http.Server{
Addr: ":" + cfg.Port,