router_render.go 3.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192
  1. package router
  2. import (
  3. "github.com/xinliangnote/go-gin-api/internal/pkg/core"
  4. "github.com/xinliangnote/go-gin-api/internal/render/admin"
  5. "github.com/xinliangnote/go-gin-api/internal/render/authorized"
  6. "github.com/xinliangnote/go-gin-api/internal/render/config"
  7. "github.com/xinliangnote/go-gin-api/internal/render/cron"
  8. "github.com/xinliangnote/go-gin-api/internal/render/dashboard"
  9. "github.com/xinliangnote/go-gin-api/internal/render/generator"
  10. "github.com/xinliangnote/go-gin-api/internal/render/index"
  11. "github.com/xinliangnote/go-gin-api/internal/render/install"
  12. "github.com/xinliangnote/go-gin-api/internal/render/tool"
  13. "github.com/xinliangnote/go-gin-api/internal/render/upgrade"
  14. )
  15. func setRenderRouter(r *resource) {
  16. renderInstall := install.New(r.logger)
  17. renderIndex := index.New(r.logger, r.db, r.cache)
  18. renderDashboard := dashboard.New(r.logger, r.db, r.cache)
  19. renderGenerator := generator_handler.New(r.logger, r.db, r.cache)
  20. renderConfig := config.New(r.logger, r.db, r.cache)
  21. renderAuthorized := authorized.New(r.logger, r.db, r.cache)
  22. renderTool := tool.New(r.logger, r.db, r.cache)
  23. renderAdmin := admin.New(r.logger, r.db, r.cache)
  24. renderUpgrade := upgrade.New(r.logger, r.db, r.cache)
  25. renderCron := cron.New(r.logger, r.db, r.cache)
  26. // 无需记录日志,无需 RBAC 权限验证
  27. notRBAC := r.mux.Group("", core.DisableTraceLog, core.DisableRecordMetrics)
  28. {
  29. // 首页
  30. notRBAC.GET("", renderIndex.Index())
  31. // 仪表盘
  32. notRBAC.GET("/dashboard", renderDashboard.View())
  33. // 安装
  34. notRBAC.GET("/install", renderInstall.View())
  35. notRBAC.POST("/install/execute", renderInstall.Execute())
  36. // 管理员
  37. notRBAC.GET("/login", renderAdmin.Login())
  38. notRBAC.GET("/admin/modify_password", renderAdmin.ModifyPassword())
  39. notRBAC.GET("/admin/modify_info", renderAdmin.ModifyInfo())
  40. }
  41. // 无需记录日志,需要 RBAC 权限验证
  42. render := r.mux.Group("", core.DisableTraceLog, core.DisableRecordMetrics)
  43. {
  44. // 配置信息
  45. render.GET("/config/email", renderConfig.Email())
  46. render.GET("/config/code", renderConfig.Code())
  47. // 代码生成器
  48. render.GET("/generator/gorm", renderGenerator.GormView())
  49. render.POST("/generator/gorm/execute", renderGenerator.GormExecute())
  50. render.GET("/generator/handler", renderGenerator.HandlerView())
  51. render.POST("/generator/handler/execute", renderGenerator.HandlerExecute())
  52. // 调用方
  53. render.GET("/authorized/list", renderAuthorized.List())
  54. render.GET("/authorized/add", renderAuthorized.Add())
  55. render.GET("/authorized/api/:id", renderAuthorized.Api())
  56. render.GET("/authorized/demo", renderAuthorized.Demo())
  57. // 管理员
  58. render.GET("/admin/list", renderAdmin.List())
  59. render.GET("/admin/add", renderAdmin.Add())
  60. render.GET("/admin/menu", renderAdmin.Menu())
  61. render.GET("/admin/menu_action/:id", renderAdmin.MenuAction())
  62. render.GET("/admin/action/:id", renderAdmin.AdminMenu())
  63. // 升级
  64. render.GET("/upgrade", renderUpgrade.UpgradeView())
  65. render.POST("/upgrade/execute", renderUpgrade.UpgradeExecute())
  66. // 工具箱
  67. render.GET("/tool/hashids", renderTool.HashIds())
  68. render.GET("/tool/logs", renderTool.Log())
  69. render.GET("/tool/cache", renderTool.Cache())
  70. render.GET("/tool/data", renderTool.Data())
  71. render.GET("/tool/websocket", renderTool.Websocket())
  72. // 后台任务
  73. render.GET("/cron/list", renderCron.List())
  74. render.GET("/cron/add", renderCron.Add())
  75. render.GET("/cron/edit/:id", renderCron.Edit())
  76. }
  77. }