app_api.go 1.0 KB

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