routes.go 8.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241
  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/middleware"
  15. )
  16. func Configure(b *bootstrap.Bootstrapper) {
  17. //service加载
  18. ProjectAccountService := services.NewProjectAccountService()
  19. LoginService := services.NewLoginService()
  20. ProjectService := services.NewProjectService()
  21. TreeService := services.NewTreeService()
  22. BidsectionService := services.NewBidsectionService()
  23. BidAccountService := services.NewBidAccountService()
  24. ContractService := services.NewContractService()
  25. // RpcService := services.NewRpcService()
  26. SafeService := services.NewSafeService()
  27. RuleService := services.NewRuleService()
  28. AnnexService := services.NewAnnexService()
  29. SafeAuditService := services.NewSafeAuditService()
  30. QualityService := services.NewQualityService()
  31. QualityAuditService := services.NewQualityAuditService()
  32. ProjectMessageService := services.NewProjectMessageService()
  33. VersionService := services.NewVersionService()
  34. backstageService := services.NewBackstageService()
  35. managerService := services.NewManagerService()
  36. groupService := services.NewGroupService()
  37. //CSRF相关
  38. b.Use(middleware.SetCsrf)
  39. //b.Party("/", protect)
  40. //protect := NewCsrf()
  41. //登录相关
  42. //login := mvc.New(b.Party("/", protect))
  43. // login := mvc.New(b.Party("/"))
  44. // login.Register(ProjectAccountService)
  45. // login.Register(LoginService)
  46. // login.Handle(new(controllers.LoginController))
  47. // todolist相关
  48. // todo := mvc.New(b.Party("/todolist"))
  49. // todo.Router.Use(middleware.SessionsAuth)
  50. // todo.Handle(new(controllers.TodoController))
  51. // // 合同管理
  52. // contract := mvc.New(b.Party("/contract"))
  53. // contract.Router.Use(middleware.SessionsAuth)
  54. // contract.Handle(new(controllers.ContractController))
  55. // 安全巡检
  56. //用户相关
  57. // account := mvc.New(b.Party("/account"))
  58. // account.Register(ProjectAccountService)
  59. // account.Router.Use(middleware.SessionsAuth)
  60. // account.Handle(new(controllers.AccountController))
  61. // 项目相关
  62. // project := mvc.New(b.Party("/project"))
  63. // project.Router.Use(middleware.SessionsAuth)
  64. // project.Register(TreeService)
  65. // project.Register(ProjectService)
  66. // project.Handle(new(controllers.ProjectController))
  67. //标段相关
  68. // bidsection := mvc.New(b.Party("/bidsection"))
  69. // bidsection.Register(ProjectService)
  70. // bidsection.Router.Use(middleware.SessionsAuth)
  71. // bidsection.Handle(new(controllers.BidsectionController))
  72. // u := &websocket.Upgrader{
  73. // CheckOrigin: func(r *http.Request) bool {
  74. // return true
  75. // },
  76. // }
  77. // ws := mvc.New(b.Party("/ws"))
  78. // ws.Handle(lib.Handler(u))
  79. // websocketServer := websocket.New(
  80. // websocket.DefaultGorillaUpgrader, /* DefaultGobwasUpgrader can be used too. */
  81. // serverEvents)
  82. // b.Get("/swagger/{any:path}", )
  83. // apiTree.Router.Use(middleware.JwtAuth().Serve)
  84. // 接口相关
  85. // 登陆接口
  86. apiLogin := mvc.New(b.Party("/api/login"))
  87. apiLogin.Register(ProjectAccountService)
  88. apiLogin.Register(LoginService)
  89. apiLogin.Register(ProjectService)
  90. apiLogin.Handle(new(api.LoginApi))
  91. // 项目相关接口
  92. apiProject := mvc.New(b.Party("/api/project"))
  93. apiProject.Register(ProjectService)
  94. apiProject.Router.Use(middleware.SessionsAuth)
  95. apiProject.Router.Use(middleware.AccessAuth)
  96. apiProject.Handle(new(api.ProjectApi))
  97. // 项目账号相关接口
  98. apiProjectAccount := mvc.New(b.Party("/api/projectAccount"))
  99. apiProjectAccount.Register(ProjectAccountService)
  100. apiProjectAccount.Router.Use(middleware.SessionsAuth)
  101. apiProjectAccount.Router.Use(middleware.AccessAuth)
  102. apiProjectAccount.Handle(new(api.ProjectAccountApi))
  103. // 标段相关接口
  104. apiBidsection := mvc.New(b.Party("/api/bidsection"))
  105. apiBidsection.Register(BidsectionService)
  106. apiBidsection.Router.Use(middleware.SessionsAuth)
  107. apiBidsection.Router.Use(middleware.AccessAuth)
  108. apiBidsection.Handle(new(api.BidsectionApi))
  109. // 项目设置接口
  110. apiSetting := mvc.New(b.Party("/api/projectSetting"))
  111. apiSetting.Register(ProjectAccountService)
  112. apiSetting.Register(ProjectService)
  113. apiSetting.Register(BidAccountService)
  114. apiSetting.Router.Use(middleware.SessionsAuth)
  115. apiSetting.Router.Use(middleware.AccessAuth)
  116. apiSetting.Handle(new(api.ProjectSettingApi))
  117. // TreeNode相关接口
  118. apiTree := mvc.New(b.Party("/api/tree"))
  119. apiTree.Register(TreeService)
  120. apiTree.Router.Use(middleware.SessionsAuth)
  121. apiTree.Router.Use(middleware.AccessAuth)
  122. apiTree.Handle(new(api.TreeApi))
  123. // 合同管理
  124. apiContract := mvc.New(b.Party("/api/contract"))
  125. apiContract.Register(TreeService)
  126. apiContract.Register(ContractService)
  127. // 中间件
  128. apiContract.Router.Use(middleware.SessionsAuth)
  129. apiContract.Router.Use(middleware.AccessAuth)
  130. apiContract.Handle(new(api.ContractApi))
  131. // oss相关
  132. apiOss := mvc.New(b.Party("/api/oss"))
  133. apiOss.Router.Use(middleware.SessionsAuth)
  134. apiOss.Router.Use(middleware.AccessAuth)
  135. apiOss.Handle(new(api.OssApi))
  136. // rpc相关
  137. // rpc := mvc.New(b.Party("/api/rpc/test"))
  138. // rpc.Register(RpcService)
  139. // rpc.Router.Use(middleware.SessionsAuth)
  140. // rpc.Router.Use(middleware.AccessAuth)
  141. // rpc.Handle(new(api.RpcApi))
  142. // safe
  143. apiSafe := mvc.New(b.Party("/api/safe"))
  144. apiSafe.Register(SafeService)
  145. apiSafe.Router.Use(middleware.SessionsAuth)
  146. apiSafe.Router.Use(middleware.AccessAuth)
  147. apiSafe.Handle(new(api.SafeApi))
  148. apiSafeAudit := mvc.New(b.Party("/api/safe_audit"))
  149. apiSafeAudit.Register(SafeAuditService)
  150. apiSafeAudit.Router.Use(middleware.SessionsAuth)
  151. apiSafeAudit.Router.Use(middleware.AccessAuth)
  152. apiSafeAudit.Handle(new(api.SafeAuditApi))
  153. // quality
  154. apiQuality := mvc.New(b.Party("/api/quality"))
  155. apiQuality.Register(QualityService)
  156. apiQuality.Router.Use(middleware.SessionsAuth)
  157. apiQuality.Router.Use(middleware.AccessAuth)
  158. apiQuality.Handle(new(api.QualityApi))
  159. apiQualityAudit := mvc.New(b.Party("/api/quality_audit"))
  160. apiQualityAudit.Register(QualityAuditService)
  161. apiQualityAudit.Router.Use(middleware.SessionsAuth)
  162. apiQualityAudit.Router.Use(middleware.AccessAuth)
  163. apiQualityAudit.Handle(new(api.QualityAuditApi))
  164. // rule
  165. apiRule := mvc.New(b.Party("/api/rule"))
  166. apiRule.Register(RuleService)
  167. apiRule.Router.Use(middleware.SessionsAuth)
  168. apiRule.Router.Use(middleware.AccessAuth)
  169. apiRule.Handle(new(api.RuleApi))
  170. // file
  171. apiAnnex := mvc.New(b.Party("/api/file"))
  172. apiAnnex.Register(AnnexService)
  173. apiAnnex.Router.Use(middleware.SessionsAuth)
  174. apiAnnex.Router.Use(middleware.AccessAuth)
  175. apiAnnex.Handle(new(api.AnnexApi))
  176. apiDashboard := mvc.New(b.Party("/api/dashboard"))
  177. apiDashboard.Register(SafeService)
  178. apiDashboard.Register(QualityService)
  179. apiDashboard.Register(ProjectMessageService)
  180. apiDashboard.Register(VersionService)
  181. apiDashboard.Router.Use(middleware.SessionsAuth)
  182. apiDashboard.Router.Use(middleware.AccessAuth)
  183. apiDashboard.Handle(new(api.DashboardApi))
  184. // 后台相关
  185. backstageCM := mvc.New(b.Party("/api/backstage/login"))
  186. backstageCM.Register(backstageService)
  187. backstageCM.Handle(new(backstage.LoginBs))
  188. backstageProjectCM := mvc.New(b.Party("/api/backstage/project"))
  189. backstageProjectCM.Register(ProjectService)
  190. backstageProjectCM.Register(backstageService)
  191. backstageProjectCM.Router.Use(middleware.SessionsBackstageAuth)
  192. backstageProjectCM.Router.Use(middleware.AccessBackstageAuth)
  193. backstageProjectCM.Handle(new(backstage.ProjectBs))
  194. backstageAccountCM := mvc.New(b.Party("/api/backstage/account"))
  195. backstageAccountCM.Register(ProjectAccountService)
  196. backstageAccountCM.Register(ProjectService)
  197. backstageAccountCM.Register(BidAccountService)
  198. backstageAccountCM.Register(backstageService)
  199. backstageAccountCM.Router.Use(middleware.SessionsBackstageAuth)
  200. backstageAccountCM.Router.Use(middleware.AccessBackstageAuth)
  201. backstageAccountCM.Handle(new(backstage.ProjectAccountBs))
  202. managerCM := mvc.New(b.Party("/api/backstage/manager"))
  203. managerCM.Register(managerService)
  204. managerCM.Router.Use(middleware.SessionsBackstageAuth)
  205. managerCM.Handle(new(backstage.ManagerBs))
  206. groupCM := mvc.New(b.Party("/api/backstage/group"))
  207. groupCM.Register(groupService)
  208. groupCM.Router.Use(middleware.SessionsBackstageAuth)
  209. groupCM.Handle(new(backstage.GroupBs))
  210. }