routes.go 4.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142
  1. /*
  2. * @description: 路由配置
  3. * @Author: CP
  4. * @Date: 2020-08-23 21:32:54
  5. * @FilePath: \design_quantity\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. RuleService := services.NewRuleService()
  27. AnnexService := services.NewAnnexService()
  28. backstageService := services.NewBackstageService()
  29. //CSRF相关
  30. b.Use(middleware.SetCsrf)
  31. //b.Party("/", protect)
  32. //protect := NewCsrf()
  33. // apiTree.Router.Use(middleware.JwtAuth().Serve)
  34. // 接口相关
  35. // 登陆接口
  36. apiLogin := mvc.New(b.Party("/api/login"))
  37. apiLogin.Register(ProjectAccountService)
  38. apiLogin.Register(LoginService)
  39. apiLogin.Register(ProjectService)
  40. apiLogin.Handle(new(api.LoginApi))
  41. // 项目相关接口
  42. apiProject := mvc.New(b.Party("/api/project"))
  43. apiProject.Register(ProjectService)
  44. apiProject.Router.Use(middleware.SessionsAuth)
  45. apiProject.Router.Use(middleware.AccessAuth)
  46. apiProject.Handle(new(api.ProjectApi))
  47. // 项目账号相关接口
  48. apiProjectAccount := mvc.New(b.Party("/api/projectAccount"))
  49. apiProjectAccount.Register(ProjectAccountService)
  50. apiProjectAccount.Router.Use(middleware.SessionsAuth)
  51. apiProjectAccount.Router.Use(middleware.AccessAuth)
  52. apiProjectAccount.Handle(new(api.ProjectAccountApi))
  53. // 标段相关接口
  54. apiBidsection := mvc.New(b.Party("/api/bidsection"))
  55. apiBidsection.Register(BidsectionService)
  56. apiBidsection.Router.Use(middleware.SessionsAuth)
  57. apiBidsection.Router.Use(middleware.AccessAuth)
  58. apiBidsection.Handle(new(api.BidsectionApi))
  59. // 项目设置接口
  60. apiSetting := mvc.New(b.Party("/api/projectSetting"))
  61. apiSetting.Register(ProjectAccountService)
  62. apiSetting.Register(ProjectService)
  63. apiSetting.Register(BidAccountService)
  64. apiSetting.Router.Use(middleware.SessionsAuth)
  65. apiSetting.Router.Use(middleware.AccessAuth)
  66. apiSetting.Handle(new(api.ProjectSettingApi))
  67. // TreeNode相关接口
  68. apiTree := mvc.New(b.Party("/api/tree"))
  69. apiTree.Register(TreeService)
  70. apiTree.Router.Use(middleware.SessionsAuth)
  71. apiTree.Router.Use(middleware.AccessAuth)
  72. apiTree.Handle(new(api.TreeApi))
  73. // 合同管理
  74. apiContract := mvc.New(b.Party("/api/contract"))
  75. apiContract.Register(TreeService)
  76. apiContract.Register(ContractService)
  77. // 中间件
  78. apiContract.Router.Use(middleware.SessionsAuth)
  79. apiContract.Router.Use(middleware.AccessAuth)
  80. apiContract.Handle(new(api.ContractApi))
  81. // oss相关
  82. apiOss := mvc.New(b.Party("/api/oss"))
  83. apiOss.Router.Use(middleware.SessionsAuth)
  84. apiOss.Router.Use(middleware.AccessAuth)
  85. apiOss.Handle(new(api.OssApi))
  86. // rpc相关
  87. // rpc := mvc.New(b.Party("/api/rpc/test"))
  88. // rpc.Register(RpcService)
  89. // rpc.Router.Use(middleware.SessionsAuth)
  90. // rpc.Router.Use(middleware.AccessAuth)
  91. // rpc.Handle(new(api.RpcApi))
  92. // safe
  93. // rule
  94. apiRule := mvc.New(b.Party("/api/rule"))
  95. apiRule.Register(RuleService)
  96. apiRule.Router.Use(middleware.SessionsAuth)
  97. apiRule.Router.Use(middleware.AccessAuth)
  98. apiRule.Handle(new(api.RuleApi))
  99. // file
  100. apiAnnex := mvc.New(b.Party("/api/file"))
  101. apiAnnex.Register(AnnexService)
  102. apiAnnex.Router.Use(middleware.SessionsAuth)
  103. apiAnnex.Router.Use(middleware.AccessAuth)
  104. apiAnnex.Handle(new(api.AnnexApi))
  105. // 后台相关
  106. backstageCM := mvc.New(b.Party("/backstage/login"))
  107. backstageCM.Register(backstageService)
  108. backstageCM.Handle(new(backstage.LoginBs))
  109. backstageProjectCM := mvc.New(b.Party("/backstage/project"))
  110. backstageProjectCM.Register(ProjectService)
  111. backstageProjectCM.Register(backstageService)
  112. backstageProjectCM.Router.Use(middleware.SessionsBackstageAuth)
  113. backstageProjectCM.Handle(new(backstage.ProjectBs))
  114. backstageAccountCM := mvc.New(b.Party("/backstage/account"))
  115. backstageAccountCM.Register(ProjectAccountService)
  116. backstageAccountCM.Register(ProjectService)
  117. backstageAccountCM.Register(BidAccountService)
  118. backstageAccountCM.Register(backstageService)
  119. backstageAccountCM.Router.Use(middleware.SessionsBackstageAuth)
  120. backstageAccountCM.Handle(new(backstage.ProjectAccountBs))
  121. }