package dual_check import ( "time" "cancerai.top/toolbox-server/internal/pkg/websocket" "cancerai.top/toolbox-server/internal/store" "github.com/gin-gonic/gin" "go.uber.org/zap" ) // Register 把 DualCheck 工具的所有路由注册到指定 RouterGroup func Register( group *gin.RouterGroup, sessionStore store.SessionStore, hub *websocket.Hub, logger *zap.Logger, ttlSeconds int, maxTextLen int, ) { ttl := time.Duration(ttlSeconds) * time.Second svc := NewService(sessionStore, logger, ttl) h := NewHandler(svc, hub, logger, maxTextLen) ws := NewWSHandler(svc, hub, logger) // REST API group.POST("/create", h.Create) // 发起方创建会话 group.POST("/submit", h.Submit) // 发起方或参与者提交文本 group.POST("/session/:session_id/join", h.Join) // 参与者加入(登记昵称) group.POST("/session/:session_id/resubmit", h.SetResubmit) // 发起方切换"允许重提交"开关 group.POST("/session/:session_id/end", h.EndSession) // 发起方主动结束会话 group.GET("/session/:session_id", h.GetSession) // 拉全量状态 group.GET("/check/:session_id", h.CheckSession) // 加入前预校验 // WebSocket 实时推送(带 role + nickname 查询参数) group.GET("/ws", ws.Handle) }