routes.go 6.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208
  1. /*
  2. * @description: 路由配置
  3. * @Author: CP
  4. * @Date: 2020-08-23 21:32:54
  5. * @FilePath: \construction_management\web\routes\routes.go
  6. */
  7. package routes
  8. import (
  9. "github.com/kataras/iris/v12/mvc"
  10. "go.mod/bootstrap"
  11. "go.mod/services"
  12. "go.mod/web/api"
  13. "go.mod/web/backstage"
  14. "go.mod/web/controllers"
  15. "go.mod/web/middleware"
  16. )
  17. func Configure(b *bootstrap.Bootstrapper) {
  18. //service加载
  19. ProjectAccountService := services.NewProjectAccountService()
  20. LoginService := services.NewLoginService()
  21. ProjectService := services.NewProjectService()
  22. TreeService := services.NewTreeService()
  23. BidsectionService := services.NewBidsectionService()
  24. BidAccountService := services.NewBidAccountService()
  25. ContractService := services.NewContractService()
  26. // RpcService := services.NewRpcService()
  27. SafeService := services.NewSafeService()
  28. RuleService := services.NewRuleService()
  29. AnnexService := services.NewAnnexService()
  30. SafeAuditService := services.NewSafeAuditService()
  31. QualityService := services.NewQualityService()
  32. QualityAuditService := services.NewQualityAuditService()
  33. ProjectMessageService := services.NewProjectMessageService()
  34. VersionService := services.NewVersionService()
  35. backstageService := services.NewBackstageService()
  36. //CSRF相关
  37. b.Use(middleware.SetCsrf)
  38. //b.Party("/", protect)
  39. //protect := NewCsrf()
  40. //登录相关
  41. //login := mvc.New(b.Party("/", protect))
  42. login := mvc.New(b.Party("/"))
  43. login.Register(ProjectAccountService)
  44. login.Register(LoginService)
  45. login.Handle(new(controllers.LoginController))
  46. // todolist相关
  47. todo := mvc.New(b.Party("/todolist"))
  48. todo.Router.Use(middleware.SessionsAuth)
  49. todo.Handle(new(controllers.TodoController))
  50. // // 合同管理
  51. // contract := mvc.New(b.Party("/contract"))
  52. // contract.Router.Use(middleware.SessionsAuth)
  53. // contract.Handle(new(controllers.ContractController))
  54. // 安全巡检
  55. //用户相关
  56. account := mvc.New(b.Party("/account"))
  57. account.Register(ProjectAccountService)
  58. account.Router.Use(middleware.SessionsAuth)
  59. account.Handle(new(controllers.AccountController))
  60. // 项目相关
  61. project := mvc.New(b.Party("/project"))
  62. project.Router.Use(middleware.SessionsAuth)
  63. project.Register(TreeService)
  64. project.Register(ProjectService)
  65. project.Handle(new(controllers.ProjectController))
  66. //标段相关
  67. bidsection := mvc.New(b.Party("/bidsection"))
  68. bidsection.Register(ProjectService)
  69. bidsection.Router.Use(middleware.SessionsAuth)
  70. bidsection.Handle(new(controllers.BidsectionController))
  71. // apiTree.Router.Use(middleware.JwtAuth().Serve)
  72. // 接口相关
  73. // 登陆接口
  74. apiLogin := mvc.New(b.Party("/api/login"))
  75. apiLogin.Register(ProjectAccountService)
  76. apiLogin.Register(LoginService)
  77. apiLogin.Register(ProjectService)
  78. apiLogin.Handle(new(api.LoginApi))
  79. // 项目相关接口
  80. apiProject := mvc.New(b.Party("/api/project"))
  81. apiProject.Register(ProjectService)
  82. apiProject.Router.Use(middleware.SessionsAuth)
  83. apiProject.Router.Use(middleware.AccessAuth)
  84. apiProject.Handle(new(api.ProjectApi))
  85. // 项目账号相关接口
  86. apiProjectAccount := mvc.New(b.Party("/api/projectAccount"))
  87. apiProjectAccount.Register(ProjectAccountService)
  88. apiProjectAccount.Router.Use(middleware.SessionsAuth)
  89. apiProjectAccount.Router.Use(middleware.AccessAuth)
  90. apiProjectAccount.Handle(new(api.ProjectAccountApi))
  91. // 标段相关接口
  92. apiBidsection := mvc.New(b.Party("/api/bidsection"))
  93. apiBidsection.Register(BidsectionService)
  94. apiBidsection.Router.Use(middleware.SessionsAuth)
  95. apiBidsection.Router.Use(middleware.AccessAuth)
  96. apiBidsection.Handle(new(api.BidsectionApi))
  97. // 项目设置接口
  98. apiSetting := mvc.New(b.Party("/api/projectSetting"))
  99. apiSetting.Register(ProjectAccountService)
  100. apiSetting.Register(ProjectService)
  101. apiSetting.Register(BidAccountService)
  102. apiSetting.Router.Use(middleware.SessionsAuth)
  103. apiSetting.Router.Use(middleware.AccessAuth)
  104. apiSetting.Handle(new(api.ProjectSettingApi))
  105. // TreeNode相关接口
  106. apiTree := mvc.New(b.Party("/api/tree"))
  107. apiTree.Register(TreeService)
  108. apiTree.Router.Use(middleware.SessionsAuth)
  109. apiTree.Router.Use(middleware.AccessAuth)
  110. apiTree.Handle(new(api.TreeApi))
  111. // 合同管理
  112. apiContract := mvc.New(b.Party("/api/contract"))
  113. apiContract.Register(TreeService)
  114. apiContract.Register(ContractService)
  115. // 中间件
  116. apiContract.Router.Use(middleware.SessionsAuth)
  117. apiContract.Router.Use(middleware.AccessAuth)
  118. apiContract.Handle(new(api.ContractApi))
  119. // oss相关
  120. apiOss := mvc.New(b.Party("/api/oss"))
  121. apiOss.Router.Use(middleware.SessionsAuth)
  122. apiOss.Router.Use(middleware.AccessAuth)
  123. apiOss.Handle(new(api.OssApi))
  124. // rpc相关
  125. // rpc := mvc.New(b.Party("/api/rpc/test"))
  126. // rpc.Register(RpcService)
  127. // rpc.Router.Use(middleware.SessionsAuth)
  128. // rpc.Router.Use(middleware.AccessAuth)
  129. // rpc.Handle(new(api.RpcApi))
  130. // safe
  131. apiSafe := mvc.New(b.Party("/api/safe"))
  132. apiSafe.Register(SafeService)
  133. apiSafe.Router.Use(middleware.SessionsAuth)
  134. apiSafe.Router.Use(middleware.AccessAuth)
  135. apiSafe.Handle(new(api.SafeApi))
  136. apiSafeAudit := mvc.New(b.Party("/api/safe_audit"))
  137. apiSafeAudit.Register(SafeAuditService)
  138. apiSafeAudit.Router.Use(middleware.SessionsAuth)
  139. apiSafeAudit.Router.Use(middleware.AccessAuth)
  140. apiSafeAudit.Handle(new(api.SafeAuditApi))
  141. // quality
  142. apiQuality := mvc.New(b.Party("/api/quality"))
  143. apiQuality.Register(QualityService)
  144. apiQuality.Router.Use(middleware.SessionsAuth)
  145. apiQuality.Router.Use(middleware.AccessAuth)
  146. apiQuality.Handle(new(api.QualityApi))
  147. apiQualityAudit := mvc.New(b.Party("/api/quality_audit"))
  148. apiQualityAudit.Register(QualityAuditService)
  149. apiQualityAudit.Router.Use(middleware.SessionsAuth)
  150. apiQualityAudit.Router.Use(middleware.AccessAuth)
  151. apiQualityAudit.Handle(new(api.QualityAuditApi))
  152. // rule
  153. apiRule := mvc.New(b.Party("/api/rule"))
  154. apiRule.Register(RuleService)
  155. apiRule.Router.Use(middleware.SessionsAuth)
  156. apiRule.Router.Use(middleware.AccessAuth)
  157. apiRule.Handle(new(api.RuleApi))
  158. // file
  159. apiAnnex := mvc.New(b.Party("/api/file"))
  160. apiAnnex.Register(AnnexService)
  161. apiAnnex.Router.Use(middleware.SessionsAuth)
  162. apiAnnex.Router.Use(middleware.AccessAuth)
  163. apiAnnex.Handle(new(api.AnnexApi))
  164. apiDashboard := mvc.New(b.Party("/api/dashboard"))
  165. apiDashboard.Register(SafeService)
  166. apiDashboard.Register(QualityService)
  167. apiDashboard.Register(ProjectMessageService)
  168. apiDashboard.Register(VersionService)
  169. apiDashboard.Router.Use(middleware.SessionsAuth)
  170. apiDashboard.Router.Use(middleware.AccessAuth)
  171. apiDashboard.Handle(new(api.DashboardApi))
  172. // 后台相关
  173. backstageCM := mvc.New(b.Party("/backstage/login"))
  174. backstageCM.Register(backstageService)
  175. backstageCM.Handle(new(backstage.LoginBs))
  176. backstageProjectCM := mvc.New(b.Party("/backstage/project"))
  177. backstageProjectCM.Register(ProjectService)
  178. backstageProjectCM.Register(backstageService)
  179. backstageProjectCM.Router.Use(middleware.SessionsBackstageAuth)
  180. backstageProjectCM.Handle(new(backstage.ProjectBs))
  181. }