| 123456789101112131415161718192021222324252627282930313233343536373839404142434445 |
- package router
- import (
- "github.com/2930134478/AI-CS/backend/controller"
- "github.com/gin-gonic/gin"
- )
- // ControllerSet 用于收集路由需要的控制器集合。
- type ControllerSet struct {
- Auth *controller.AuthController
- Conversation *controller.ConversationController
- Message *controller.MessageController
- Admin *controller.AdminController
- Profile *controller.ProfileController
- }
- // RegisterRoutes 注册 HTTP 路由及对应的处理函数。
- func RegisterRoutes(r *gin.Engine, controllers ControllerSet, wsHandler gin.HandlerFunc) {
- // Auth
- r.POST("/login", controllers.Auth.Login)
- r.POST("/logout", controllers.Auth.Logout)
- // Conversation
- r.POST("/conversation/init", controllers.Conversation.InitConversation)
- r.GET("/conversations", controllers.Conversation.ListConversations)
- r.GET("/conversations/:id", controllers.Conversation.GetConversationDetail)
- r.PUT("/conversations/:id/contact", controllers.Conversation.UpdateContactInfo)
- r.GET("/conversations/search", controllers.Conversation.SearchConversations)
- // Message
- r.POST("/messages", controllers.Message.CreateMessage)
- r.GET("/messages", controllers.Message.ListMessages)
- r.PUT("/messages/read", controllers.Message.MarkMessagesRead)
- // Admin
- r.POST("/admin/users", controllers.Admin.CreateAgent)
- // Profile(个人资料)
- r.GET("/agent/profile/:user_id", controllers.Profile.GetProfile)
- r.PUT("/agent/profile/:user_id", controllers.Profile.UpdateProfile)
- r.POST("/agent/avatar/:user_id", controllers.Profile.UploadAvatar)
- // WebSocket
- r.GET("/ws", wsHandler)
- }
|