app_api.go 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  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. // 系统角色
  29. systemRoute.POST("/role/add", system.AddSystemRole)
  30. systemRoute.POST("/role/edit", system.EditSystemRole)
  31. systemRoute.DELETE("/role/:role_id", system.DeleteSystemRole)
  32. systemRoute.POST("/role/list", system.SearchSystemRoleList)
  33. // 系统菜单权限
  34. systemRoute.POST("/menu/add", system.AddSystemMenu)
  35. systemRoute.POST("/menu/edit", system.EditSystemMenu)
  36. systemRoute.POST("/menu/is_show", system.IsShowSystemMenu)
  37. systemRoute.POST("/menu/list", system.SearchSystemMenuList)
  38. systemRoute.DELETE("/menu/:menu_id", system.DeleteSystemMenu)
  39. // 牧场管理
  40. opsRoute := authRouteGroup(s, "/api/v1/ops/")
  41. opsRoute.POST("/pasture/add", pasture.AddSystemPasture)
  42. opsRoute.POST("/pasture/list", pasture.SearchPastureList)
  43. }
  44. }
  45. func authRouteGroup(s *gin.Engine, relativePath string) *gin.RouterGroup {
  46. group := s.Group(relativePath)
  47. // 中间件鉴权
  48. group.Use(middleware.RequireAdmin(), middleware.Pagination(), middleware.CORS())
  49. return group
  50. }