package route import ( "kpt-tmr-group/http/handler" "kpt-tmr-group/http/handler/pasture" "kpt-tmr-group/http/handler/system" "kpt-tmr-group/http/middleware" "github.com/gin-gonic/gin" ) func AppAPI(opts ...func(engine *gin.Engine)) func(s *gin.Engine) { return func(s *gin.Engine) { for _, opt := range opts { opt(s) } // Not Found s.NoRoute(handler.Handle404) // Health Check s.GET("/check", handler.Health) s.POST("/auth", system.Auth) // system API 组 // 系统用户 systemRoute := authRouteGroup(s, "/api/v1/system/") systemRoute.POST("/user_info", system.GetUserInfo) systemRoute.POST("/user/add", system.AddSystemUser) systemRoute.POST("/user/list", system.SearchSystemUserList) systemRoute.POST("/user/edit", system.EditSystemUser) systemRoute.POST("/user/is_show", system.IsShowSystemUser) systemRoute.DELETE("/user/:user_id", system.DeleteUser) // 系统角色 systemRoute.POST("/role/add", system.AddSystemRole) systemRoute.POST("/role/edit", system.EditSystemRole) systemRoute.DELETE("/role/:role_id", system.DeleteSystemRole) systemRoute.POST("/role/list", system.SearchSystemRoleList) // 系统菜单权限 systemRoute.POST("/menu/add", system.AddSystemMenu) systemRoute.POST("/menu/edit", system.EditSystemMenu) systemRoute.POST("/menu/is_show", system.IsShowSystemMenu) systemRoute.POST("/menu/list", system.SearchSystemMenuList) systemRoute.DELETE("/menu/:menu_id", system.DeleteSystemMenu) // 牧场管理 opsRoute := authRouteGroup(s, "/api/v1/ops/") opsRoute.POST("/pasture/add", pasture.AddSystemPasture) opsRoute.POST("/pasture/list", pasture.SearchPastureList) } } func authRouteGroup(s *gin.Engine, relativePath string) *gin.RouterGroup { group := s.Group(relativePath) // 中间件鉴权 group.Use(middleware.RequireAdmin(), middleware.Pagination(), middleware.CORS()) return group }