app_api.go 2.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  1. package route
  2. import (
  3. "kpt-tmr-group/http/handler"
  4. "kpt-tmr-group/http/handler/pasture"
  5. "kpt-tmr-group/http/handler/system"
  6. "kpt-tmr-group/http/middleware"
  7. "github.com/gin-gonic/gin"
  8. )
  9. func AppAPI(opts ...func(engine *gin.Engine)) func(s *gin.Engine) {
  10. return func(s *gin.Engine) {
  11. for _, opt := range opts {
  12. opt(s)
  13. }
  14. // Not Found
  15. s.NoRoute(handler.Handle404)
  16. // Health Check
  17. s.GET("/check", handler.Health)
  18. s.POST("/auth", system.Auth)
  19. // system API 组
  20. // 系统用户
  21. systemRoute := authRouteGroup(s, "/api/v1/system/")
  22. systemRoute.POST("/user_info", system.GetUserInfo)
  23. systemRoute.POST("/user/add", system.AddSystemUser)
  24. systemRoute.POST("/user/list", system.SearchSystemUserList)
  25. systemRoute.POST("/user/edit", system.EditSystemUser)
  26. systemRoute.POST("/user/is_show", system.IsShowSystemUser)
  27. systemRoute.DELETE("/user/:user_id", system.DeleteUser)
  28. systemRoute.POST("/user/permissions", system.GetSystemUserPermissions)
  29. // 系统角色
  30. systemRoute.POST("/role/add", system.AddSystemRole)
  31. systemRoute.POST("/role/edit", system.EditSystemRole)
  32. systemRoute.DELETE("/role/:role_id", system.DeleteSystemRole)
  33. systemRoute.POST("/role/list", system.SearchSystemRoleList)
  34. // 系统菜单权限
  35. systemRoute.POST("/menu/add", system.AddSystemMenu)
  36. systemRoute.POST("/menu/edit", system.EditSystemMenu)
  37. systemRoute.POST("/menu/is_show", system.IsShowSystemMenu)
  38. systemRoute.POST("/menu/list", system.SearchSystemMenuList)
  39. systemRoute.DELETE("/menu/:menu_id", system.DeleteSystemMenu)
  40. // 牧场管理
  41. opsRoute := authRouteGroup(s, "/api/v1/ops/")
  42. // 牧场列表
  43. opsRoute.POST("/pasture/add", pasture.AddGroupPasture)
  44. opsRoute.POST("/pasture/edit", pasture.EditGroupPasture)
  45. opsRoute.POST("/pasture/list", pasture.SearchGroupPastureList)
  46. opsRoute.DELETE("/pasture/:pasture_id", pasture.DeleteGroupPasture)
  47. opsRoute.POST("/pasture/rest_password", pasture.ResetPasswordGroupPasture)
  48. opsRoute.POST("/pasture/is_show", pasture.IsShowGroupPasture)
  49. // 牲牧类型
  50. opsRoute.GET("/cattle/category/parent_list", pasture.ParentCattleCategoryList)
  51. opsRoute.POST("/cattle/category/add", pasture.AddCattleCategory)
  52. opsRoute.POST("/cattle/category/edit", pasture.EditCattleCategory)
  53. }
  54. }
  55. func authRouteGroup(s *gin.Engine, relativePath string) *gin.RouterGroup {
  56. group := s.Group(relativePath)
  57. // 中间件鉴权
  58. group.Use(middleware.RequireAdmin(), middleware.Pagination(), middleware.CORS())
  59. return group
  60. }