app_api.go 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  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. lingoRoute := authRouteGroup(s, "/api/v1/system/")
  21. lingoRoute.POST("/user_info", system.GetUserInfo)
  22. lingoRoute.POST("/user/add", system.AddUser)
  23. lingoRoute.POST("/user/list", system.AddUser)
  24. lingoRoute.POST("/role/add", system.AddRole)
  25. // 牧场管理
  26. lingoRoute.POST("/pasture/add", pasture.AddPasture)
  27. lingoRoute.POST("/pasture/list", pasture.SearchPastureList)
  28. }
  29. }
  30. func authRouteGroup(s *gin.Engine, relativePath string) *gin.RouterGroup {
  31. group := s.Group(relativePath)
  32. // 中间件鉴权
  33. group.Use(middleware.RequireAdmin(), middleware.Pagination(), middleware.CORS())
  34. return group
  35. }