web.go 4.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154
  1. package web
  2. import (
  3. "github.com/gogf/gf/v2/net/ghttp"
  4. "go.uber.org/dig"
  5. "yx-dataset-server/library/auth"
  6. "yx-dataset-server/library/middleware"
  7. "yx-dataset-server/router/web/controllers"
  8. )
  9. // 注册路由
  10. func RegisterRouters(s *ghttp.Server, container *dig.Container) error {
  11. controllers.Inject(container)
  12. gr := s.Group("/web")
  13. // 注册请求限制中间件
  14. return container.Invoke(func(
  15. auth auth.Auther,
  16. cOrganization *controllers.Organization,
  17. cUser *controllers.User,
  18. cDataset *controllers.Dataset,
  19. cDatasetFile *controllers.DatasetFile,
  20. cMenu *controllers.Menu,
  21. cRole *controllers.Role,
  22. cLogin *controllers.Login,
  23. cFile *controllers.File,
  24. cChatAssistant *controllers.ChatAssistant,
  25. cChatMessage *controllers.ChatMessage,
  26. cChatSession *controllers.ChatSession,
  27. cRobotConfig *controllers.RobotConfig,
  28. ) {
  29. gr.Middleware(middleware.UserAuthMiddleware(auth,
  30. middleware.AllowMethodAndPathPrefixSkipper(
  31. middleware.JoinRouter("GET", "/web/v1/login"),
  32. middleware.JoinRouter("POST", "/web/v1/login"),
  33. ),
  34. ))
  35. v1 := gr.Group("/v1")
  36. {
  37. // 登录
  38. gLogin := v1.Group("/login")
  39. {
  40. gLogin.GET("/captchaid", cLogin.GetCaptchaID)
  41. gLogin.GET("/captcha", cLogin.GetCaptcha)
  42. gLogin.POST("/", cLogin.Login)
  43. gLogin.POST("/exit", cLogin.Logout)
  44. gLogin.POST("/code", cLogin.Send)
  45. gLogin.POST("/sms", cLogin.LoginBySms)
  46. }
  47. v1.GET("/current/user", cLogin.GetUserInfo)
  48. v1.POST("/files", cFile.Upload)
  49. gOrganization := v1.Group("/organizations")
  50. {
  51. gOrganization.GET("/", cOrganization.Query)
  52. gOrganization.GET("/:id", cOrganization.Get)
  53. gOrganization.POST("/", cOrganization.Create)
  54. gOrganization.PUT("/:id", cOrganization.Update)
  55. gOrganization.DELETE("/:id", cOrganization.Delete)
  56. }
  57. gUser := v1.Group("/users")
  58. {
  59. gUser.GET("/", cUser.Query)
  60. gUser.GET("/:id", cUser.Get)
  61. gUser.POST("/", cUser.Create)
  62. gUser.PUT("/:id", cUser.Update)
  63. gUser.DELETE("/:id", cUser.Delete)
  64. gUser.PATCH("/:id/enable", cUser.Enable)
  65. gUser.PATCH("/:id/disable", cUser.Disable)
  66. }
  67. gDataset := v1.Group("/datasets")
  68. {
  69. gDataset.GET("/", cDataset.Query)
  70. gDataset.GET("/:id", cDataset.Get)
  71. gDataset.POST("/", cDataset.Create)
  72. gDataset.PUT("/:id", cDataset.Update)
  73. gDataset.DELETE("/:id", cDataset.Delete)
  74. }
  75. gDatasetFile := v1.Group("/dataset_files")
  76. {
  77. gDatasetFile.GET("/", cDatasetFile.Query)
  78. gDatasetFile.GET("/:id", cDatasetFile.Get)
  79. gDatasetFile.POST("/", cDatasetFile.Create)
  80. gDatasetFile.POST("/batch", cDatasetFile.BatchCreate)
  81. gDatasetFile.PUT("/:id", cDatasetFile.Update)
  82. gDatasetFile.DELETE("/:id", cDatasetFile.Delete)
  83. gDatasetFile.POST("/batch_delete", cDatasetFile.BatchDelete)
  84. gDatasetFile.PATCH("/:id/enabled", cDatasetFile.Enabled)
  85. gDatasetFile.PATCH("/:id/disabled", cDatasetFile.Disabled)
  86. }
  87. gMenu := v1.Group("/menus")
  88. {
  89. gMenu.GET("/", cMenu.Query)
  90. gMenu.GET("/:id", cMenu.Get)
  91. gMenu.POST("/", cMenu.Create)
  92. gMenu.PUT("/:id", cMenu.Update)
  93. gMenu.PUT("/:id/sequence", cMenu.UpdateSequence)
  94. gMenu.DELETE("/:id", cMenu.Delete)
  95. }
  96. gRole := v1.Group("/roles")
  97. {
  98. gRole.GET("/", cRole.Query)
  99. gRole.GET("/:id", cRole.Get)
  100. gRole.POST("/", cRole.Create)
  101. gRole.PUT("/:id", cRole.Update)
  102. gRole.DELETE("/:id", cRole.Delete)
  103. }
  104. gChatAssistant := v1.Group("/chat_assistants")
  105. {
  106. gChatAssistant.GET("/", cChatAssistant.Query)
  107. gChatAssistant.GET("/:id", cChatAssistant.Get)
  108. gChatAssistant.POST("/", cChatAssistant.Create)
  109. gChatAssistant.PUT("/:id", cChatAssistant.Update)
  110. gChatAssistant.DELETE("/:id", cChatAssistant.Delete)
  111. }
  112. gChatSession := v1.Group("/chat_sessions")
  113. {
  114. gChatSession.GET("/", cChatSession.Query)
  115. gChatSession.GET("/:id", cChatSession.Get)
  116. gChatSession.POST("/", cChatSession.Create)
  117. gChatSession.PUT("/:id", cChatSession.Update)
  118. gChatSession.DELETE("/:id", cChatSession.Delete)
  119. }
  120. gChatMessage := v1.Group("/chat_messages")
  121. {
  122. gChatMessage.GET("/", cChatMessage.Query)
  123. gChatMessage.GET("/:id", cChatMessage.Get)
  124. //gChatMessage.POST("/", cChatMessage.Create)
  125. gChatMessage.PUT("/:id", cChatMessage.Update)
  126. gChatMessage.DELETE("/:id", cChatMessage.Delete)
  127. }
  128. gRobot := v1.Group("/robot_configs")
  129. {
  130. gRobot.GET("/", cRobotConfig.Query)
  131. gRobot.GET("/:id", cRobotConfig.Get)
  132. gRobot.POST("/", cRobotConfig.Create)
  133. gRobot.PUT("/:id", cRobotConfig.Update)
  134. gRobot.DELETE("/:id", cRobotConfig.Delete)
  135. }
  136. }
  137. })
  138. }