app_api.go 3.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495
  1. package route
  2. import (
  3. "kpt-tmr-group/http/handler"
  4. "kpt-tmr-group/http/handler/mobile"
  5. "kpt-tmr-group/http/handler/pasture"
  6. "kpt-tmr-group/http/handler/system"
  7. "kpt-tmr-group/http/middleware"
  8. "github.com/gin-gonic/gin"
  9. )
  10. func AppAPI(opts ...func(engine *gin.Engine)) func(s *gin.Engine) {
  11. return func(s *gin.Engine) {
  12. for _, opt := range opts {
  13. opt(s)
  14. }
  15. // Not Found
  16. s.NoRoute(handler.Handle404)
  17. // Health Check
  18. s.GET("/check", handler.Health)
  19. s.POST("/auth", system.Auth)
  20. // system API 组
  21. // 系统用户
  22. systemRoute := authRouteGroup(s, "/api/v1/system/")
  23. systemRoute.POST("/user_info", system.GetUserInfo)
  24. systemRoute.POST("/user/add", system.AddSystemUser)
  25. systemRoute.POST("/user/list", system.SearchSystemUserList)
  26. systemRoute.POST("/user/edit", system.EditSystemUser)
  27. systemRoute.POST("/user/is_show", system.IsShowSystemUser)
  28. systemRoute.DELETE("/user/:user_id", system.DeleteUser)
  29. systemRoute.POST("/user/permissions", system.GetSystemUserPermissions)
  30. // 系统角色
  31. systemRoute.POST("/role/add", system.AddSystemRole)
  32. systemRoute.GET("/role/permissions/:role_id", system.GetRolePermissions)
  33. systemRoute.POST("/role/edit", system.EditSystemRole)
  34. systemRoute.DELETE("/role/:role_id", system.DeleteSystemRole)
  35. systemRoute.POST("/role/list", system.SearchSystemRoleList)
  36. // 系统菜单权限
  37. systemRoute.POST("/menu/add", system.AddSystemMenu)
  38. systemRoute.POST("/menu/edit", system.EditSystemMenu)
  39. systemRoute.POST("/menu/is_show", system.IsShowSystemMenu)
  40. systemRoute.POST("/menu/list", system.SearchSystemMenuList)
  41. systemRoute.DELETE("/menu/:menu_id", system.DeleteSystemMenu)
  42. // 移动端
  43. systemRoute.POST("/mobile/list", mobile.SearchMobileList)
  44. // 牧场管理
  45. opsRoute := authRouteGroup(s, "/api/v1/ops/")
  46. opsRoute.POST("/pasture/add", pasture.AddGroupPasture)
  47. opsRoute.POST("/pasture/edit", pasture.EditGroupPasture)
  48. opsRoute.POST("/pasture/list", pasture.SearchGroupPastureList)
  49. opsRoute.DELETE("/pasture/:pasture_id", pasture.DeleteGroupPasture)
  50. opsRoute.POST("/pasture/rest_password", pasture.ResetPasswordGroupPasture)
  51. opsRoute.POST("/pasture/is_show", pasture.IsShowGroupPasture)
  52. // 牲牧类型
  53. // opsRoute.GET("/cattle/category/parent_list", pasture.ParentCattleCategoryList)
  54. opsRoute.POST("/cattle/category/add", pasture.AddCattleCategory)
  55. opsRoute.POST("/cattle/category/edit", pasture.EditCattleCategory)
  56. opsRoute.POST("/cattle/category/is_show", pasture.IsShowCattleCategory)
  57. opsRoute.DELETE("/cattle/category/:cattle_category_id", pasture.DeleteCattleCategory)
  58. opsRoute.POST("/cattle/category/list", pasture.SearchCattleCategory)
  59. // 饲料类别
  60. // opsRoute.GET("/forage/category/parent_list", pasture.ParentForageCategoryList)
  61. opsRoute.POST("/forage/category/add", pasture.AddForageCategory)
  62. opsRoute.POST("/forage/category/edit", pasture.EditForageCategory)
  63. opsRoute.POST("/forage/category/is_show", pasture.IsShowForageCategory)
  64. opsRoute.DELETE("/forage/category/:forage_category_id", pasture.DeleteForageCategory)
  65. opsRoute.POST("/forage/category/list", pasture.SearchForageCategory)
  66. // 饲料列表
  67. opsRoute.POST("/forage/add", pasture.AddForage)
  68. opsRoute.POST("/forage/edit", pasture.EditForage)
  69. opsRoute.POST("/forage/list", pasture.SearchForageList)
  70. opsRoute.POST("forage/delete", pasture.DeleteForageList)
  71. opsRoute.POST("forage/is_show", pasture.IsShowForage)
  72. opsRoute.POST("forage/import", pasture.ImportForage)
  73. opsRoute.POST("forage/export", pasture.ExportForage)
  74. opsRoute.GET("/forage/enum/list", pasture.SearchForageEnumList)
  75. }
  76. }
  77. func authRouteGroup(s *gin.Engine, relativePath string) *gin.RouterGroup {
  78. group := s.Group(relativePath)
  79. // 中间件鉴权
  80. group.Use(middleware.RequireAdmin(), middleware.CORS())
  81. return group
  82. }