Replace websocket flow with SSE support in backend.
Update handlers, services, router, and data conversion logic to support server-sent events and related message pipeline changes. Made-with: Cursor
This commit is contained in:
@@ -17,7 +17,6 @@ type Router struct {
|
||||
messageHandler *handler.MessageHandler
|
||||
notificationHandler *handler.NotificationHandler
|
||||
uploadHandler *handler.UploadHandler
|
||||
wsHandler *handler.WebSocketHandler
|
||||
pushHandler *handler.PushHandler
|
||||
systemMessageHandler *handler.SystemMessageHandler
|
||||
groupHandler *handler.GroupHandler
|
||||
@@ -36,7 +35,6 @@ func New(
|
||||
notificationHandler *handler.NotificationHandler,
|
||||
uploadHandler *handler.UploadHandler,
|
||||
jwtService *service.JWTService,
|
||||
wsHandler *handler.WebSocketHandler,
|
||||
pushHandler *handler.PushHandler,
|
||||
systemMessageHandler *handler.SystemMessageHandler,
|
||||
groupHandler *handler.GroupHandler,
|
||||
@@ -55,7 +53,6 @@ func New(
|
||||
messageHandler: messageHandler,
|
||||
notificationHandler: notificationHandler,
|
||||
uploadHandler: uploadHandler,
|
||||
wsHandler: wsHandler,
|
||||
pushHandler: pushHandler,
|
||||
systemMessageHandler: systemMessageHandler,
|
||||
groupHandler: groupHandler,
|
||||
@@ -79,11 +76,6 @@ func (r *Router) setupRoutes() {
|
||||
c.JSON(200, gin.H{"status": "ok"})
|
||||
})
|
||||
|
||||
// WebSocket 路由
|
||||
if r.wsHandler != nil {
|
||||
r.engine.GET("/ws", r.wsHandler.HandleWebSocket)
|
||||
}
|
||||
|
||||
// API v1
|
||||
v1 := r.engine.Group("/api/v1")
|
||||
{
|
||||
@@ -210,10 +202,18 @@ func (r *Router) setupRoutes() {
|
||||
conversations.POST("/set_pinned", r.messageHandler.HandleSetConversationPinned)
|
||||
// 获取未读消息总数
|
||||
conversations.GET("/unread/count", r.messageHandler.GetUnreadCount)
|
||||
// 上报输入状态
|
||||
conversations.POST("/typing", r.messageHandler.HandleTyping)
|
||||
// 仅自己删除会话
|
||||
conversations.DELETE("/:id/self", r.messageHandler.HandleDeleteConversationForSelf)
|
||||
}
|
||||
|
||||
realtime := v1.Group("/realtime")
|
||||
realtime.Use(authMiddleware)
|
||||
{
|
||||
realtime.GET("/sse", r.messageHandler.HandleSSE)
|
||||
}
|
||||
|
||||
// 消息操作路由
|
||||
messages := v1.Group("/messages")
|
||||
messages.Use(authMiddleware)
|
||||
|
||||
Reference in New Issue
Block a user