system_api.go 2.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. package route
  2. import (
  3. "kpt-pasture/http/handler"
  4. "kpt-pasture/http/handler/system"
  5. "kpt-pasture/http/middleware"
  6. "github.com/gin-gonic/gin"
  7. )
  8. func SystemAPI(opts ...func(engine *gin.Engine)) func(s *gin.Engine) {
  9. return func(s *gin.Engine) {
  10. for _, opt := range opts {
  11. opt(s)
  12. }
  13. // Not Found
  14. s.NoRoute(handler.Handle404)
  15. // Health Check
  16. s.GET("/check", handler.Health)
  17. s.POST("/api/v1/login", system.Login)
  18. s.Static("/api/v1/files", "./files")
  19. // system API 组 系统用户
  20. systemRoute := authRouteGroup(s, "/api/v1/system/")
  21. systemRoute.POST("/user/list", system.SearchSystemUserList)
  22. systemRoute.PUT("/user/is_show/:id", system.IsShowSystemUser)
  23. systemRoute.DELETE("/user/:id", system.DeleteUser)
  24. systemRoute.POST("/user/createOrUpdate", system.UserCreateOrUpdate)
  25. systemRoute.POST("/user/rest/password", system.ResetPasswordSystemUser)
  26. systemRoute.GET("/user/role/:user_id", system.UserRole)
  27. systemRoute.POST("/user/role/save", system.UserRoleSave)
  28. // 系统角色
  29. systemRoute.POST("/role/list", system.SearchSystemRoleList)
  30. systemRoute.DELETE("/role/:id", system.DeleteSystemRole)
  31. systemRoute.PUT("/role/is_show/:id", system.IsShowSystemRole)
  32. systemRoute.POST("/role/createOrUpdate", system.RoleCreateOrUpdate)
  33. systemRoute.GET("/role/menu/:id", system.GetRoleMenu)
  34. systemRoute.POST("/role/menu/save", system.RoleMenuSave)
  35. systemRoute.GET("/role/list", system.GetRoleList)
  36. // 系统菜单权限
  37. systemRoute.POST("/menu/list", system.SearchSystemMenuList)
  38. systemRoute.DELETE("/menu/:id", system.DeleteSystemMenu)
  39. systemRoute.POST("/menu/createOrUpdate", system.CreatedOrUpdateSystemMenu)
  40. systemRoute.POST("/menu/tree", system.GetSystemMenuTree)
  41. // 系统部门
  42. systemRoute.POST("/dept/list", system.DeptList)
  43. systemRoute.DELETE("/dept/:id", system.DepIsShow)
  44. systemRoute.POST("/dept/createOrUpdate", system.DepCreateOrUpdate)
  45. // 登录用户的相关接口
  46. systemRoute.GET("/user/menu", handler.GetUserMenu)
  47. systemRoute.POST("/user/logout", handler.Logout)
  48. }
  49. }
  50. func authRouteGroup(s *gin.Engine, relativePath string) *gin.RouterGroup {
  51. group := s.Group(relativePath)
  52. // 中间件鉴权
  53. group.Use(middleware.RequireAdmin(), middleware.CORS(), middleware.GinLogger())
  54. return group
  55. }