package router import ( v1 "aps_crm/api/v1" "aps_crm/conf" _ "aps_crm/docs" "aps_crm/middleware" "fmt" "github.com/gin-contrib/cors" "github.com/gin-gonic/gin" swaggerFiles "github.com/swaggo/files" ginSwagger "github.com/swaggo/gin-swagger" "net/http" ) type Group struct { CurrencyRouter QuotationStatusRouter RepositoryRouter SalesReturnStatusRouter AccountIdRouter IsInvoiceRouter RefundMethodRouter ServiceContractTypeRouter ServiceContractStatusRouter OrderTypeRouter ReportSourceRouter IsVisitRouter SolveRateRouter TimelyRateRouter //BaseRouter //UserRouter JwtRouter CountryRouter ProvinceRouter CityRouter RegionRouter ContactRouter ClientRouter ClientStatusRouter ClientTypeRouter ClientOriginRouter ClientLevelRouter IndustryRouter EnterpriseNatureRouter RegisteredCapitalRouter EnterpriseScaleRouter SalesLeadsRouter SalesSourcesRouter FollowRecordRouter SaleChanceRouter SaleStageRouter SaleTypeRouter RegularCustomersRouter PossibilityRouter StatusRouter QuotationRouter MasterOrderRouter SubOrderRouter SalesDetailsRouter SalesReturnRouter SalesRefundRouter ContractRouter PlanRouter ServiceContractRouter OrderManageRouter ServiceFollowupRouter CustomerServiceSheetRouter ServiceFeeManageRouter AuthorityRouter MenuRouter DataRouter DepartmentRouter SatisfactionRouter AssignRouter CollectionProjectionRouter ContactInformationRouter } func InitRouter() *gin.Engine { gin.SetMode(gin.ReleaseMode) Router := gin.Default() Router.Use(gin.Recovery()) if conf.Conf.System.Env == "develop" { Router.Use(gin.Logger()) } Router.Use(cors.Default()) Router.GET("/swagger/*any", ginSwagger.WrapHandler(swaggerFiles.Handler)) //获取所有路由 //todo Router.GET("getRouters", func(c *gin.Context) { routers := Router.Routes() for _, v := range routers { fmt.Printf("\"%v\" : 1,\n", v.Path) } }) routerGroup := new(Group) PublicGroup := Router.Group("api") { // 健康监测 PublicGroup.GET("/health", func(c *gin.Context) { c.JSON(http.StatusOK, "ok") }) } //{ // routerGroup.InitBaseRouter(PublicGroup) // 注册基础功能路由 不做鉴权 // routerGroup.InitImageRouter(PublicGroup) // 图像功能路由 //} PrivateGroup := Router.Group("api") //PrivateGroup.Use(middleware.JWTAuth()).Use(middleware.CasbinHandler()) PrivateGroup.Use(middleware.JWTAuth2()).Use(middleware.VerifyResetPwd()) //PrivateGroup.Use(middleware.CasbinHandler()) { routerGroup.InitJwtRouter(PrivateGroup) // jwt相关路由 //routerGroup.InitUserRouter(PrivateGroup) // 注册用户路由 routerGroup.InitCountryRouter(PrivateGroup) // 注册country路由 routerGroup.InitProvinceRouter(PrivateGroup) // 注册province路由 routerGroup.InitCityRouter(PrivateGroup) // 注册city路由 routerGroup.InitRegionRouter(PrivateGroup) // 注册region路由 routerGroup.InitContactRouter(PrivateGroup) // 注册contact路由 routerGroup.InitClientRouter(PrivateGroup) // 注册client路由 routerGroup.InitClientStatusRouter(PrivateGroup) // 注册clientStatus路由 routerGroup.InitClientTypeRouter(PrivateGroup) // 注册clientType路由 routerGroup.InitClientOriginRouter(PrivateGroup) // 注册clientOrigin路由 routerGroup.InitClientLevelRouter(PrivateGroup) // 注册clientLevel路由 routerGroup.InitIndustryRouter(PrivateGroup) // 注册industry路由 routerGroup.InitEnterpriseNatureRouter(PrivateGroup) // 注册enterpriseNature路由 routerGroup.InitRegisteredCapitalRouter(PrivateGroup) // 注册registeredCapital路由 routerGroup.InitEnterpriseScaleRouter(PrivateGroup) // 注册enterpriseScale路由 routerGroup.InitSalesLeadsRouter(PrivateGroup) // 注册salesLeads路由 routerGroup.InitSalesSourcesRouter(PrivateGroup) // 注册salesSources路由 routerGroup.InitFollowRecordRouter(PrivateGroup) // 注册followRecord路由 routerGroup.InitSaleChanceRouter(PrivateGroup) // 注册saleChance路由 routerGroup.InitSaleStageRouter(PrivateGroup) // 注册saleStage路由 routerGroup.InitSaleTypeRouter(PrivateGroup) // 注册saleType路由 routerGroup.InitRegularCustomersRouter(PrivateGroup) // 注册regularCustomers路由 routerGroup.InitPossibilityRouter(PrivateGroup) // 注册possibility路由 routerGroup.InitStatusRouter(PrivateGroup) // 注册status路由 routerGroup.InitQuotationRouter(PrivateGroup) // 注册quotation路由 routerGroup.InitMasterOrderRouter(PrivateGroup) // 注册masterOrder路由 routerGroup.InitSubOrderRouter(PrivateGroup) // 注册subOrder路由 routerGroup.InitSalesDetailsRouter(PrivateGroup) // 注册salesDetails路由 routerGroup.InitSalesReturnRouter(PrivateGroup) // 注册salesReturn路由 routerGroup.InitSalesRefundRouter(PrivateGroup) // 注册salesRefund路由 routerGroup.InitContractRouter(PrivateGroup) // 注册contract路由 routerGroup.InitPlanRouter(PrivateGroup) // 注册plan路由 routerGroup.InitServiceContractRouter(PrivateGroup) // 注册serviceContract路由 routerGroup.InitOrderManageRouter(PrivateGroup) // 注册orderManage路由 routerGroup.InitServiceFollowupRouter(PrivateGroup) // 注册serviceFollowup路由 routerGroup.InitCustomerServiceSheetRouter(PrivateGroup) // 注册customerServiceSheet路由 routerGroup.InitServiceFeeManageRouter(PrivateGroup) // 注册serviceFeeManage路由 routerGroup.InitAuthorityRouter(PrivateGroup) // 注册authority路由 routerGroup.InitMenuRouter(PrivateGroup) // 注册menu路由 routerGroup.InitDataRouter(PrivateGroup) // 注册data路由 routerGroup.InitDepartmentRouter(PrivateGroup) // 注册department路由 routerGroup.InitSatisfactionRouter(PrivateGroup) // 注册satisfaction路由 routerGroup.InitTimelyRateRouter(PrivateGroup) routerGroup.InitSolveRateRouter(PrivateGroup) routerGroup.InitIsVisitRouter(PrivateGroup) routerGroup.InitReportSourceRouter(PrivateGroup) routerGroup.InitOrderTypeRouter(PrivateGroup) routerGroup.InitServiceContractStatusRouter(PrivateGroup) routerGroup.InitServiceContractTypeRouter(PrivateGroup) routerGroup.InitRefundMethodRouter(PrivateGroup) routerGroup.InitIsInvoiceRouter(PrivateGroup) routerGroup.InitAccountIdRouter(PrivateGroup) routerGroup.InitSalesReturnStatusRouter(PrivateGroup) routerGroup.InitRepositoryRouter(PrivateGroup) routerGroup.InitQuotationStatusRouter(PrivateGroup) routerGroup.InitCurrencyRouter(PrivateGroup) routerGroup.InitAssignRouter(PrivateGroup) InitServiceOrderRouter(PrivateGroup) InitFaqRouter(PrivateGroup) InitPriorityLevelRouter(PrivateGroup) InitServiceTypeRouter(PrivateGroup) InitSeverityRouter(PrivateGroup) InitTimeSpentRouter(PrivateGroup) InitFaultTypeRouter(PrivateGroup) InitServiceCollectionPlanRouter(PrivateGroup) InitReceiptRouter(PrivateGroup) InitBankAccountRouter(PrivateGroup) InitPaymentTypeRouter(PrivateGroup) InitRefundTypeRouter(PrivateGroup) InitFileRouter(PrivateGroup) InitInvoiceRouter(PrivateGroup) InitInvoiceStatusRouter(PrivateGroup) InitInvoiceTypeRouter(PrivateGroup) InitCourierCompanyRouter(PrivateGroup) InitProductRouter(PrivateGroup) routerGroup.InitCollectionProjectionRouter(PrivateGroup) routerGroup.InitContactInformationRouter(PrivateGroup) } codeGroup := PrivateGroup.Group("code") codeApi := v1.CodeApi{} { codeGroup.GET("getCodeList", codeApi.GetCodeList) //获取编码列表 codeGroup.POST("getAutoCode", codeApi.GetAutoCode) //获取编码列表 } //系统设置 systemSetGroup := PrivateGroup.Group("system") systemSetApi := v1.SystemSetApi{} { systemSetGroup.GET("getSystemSet", systemSetApi.GetSystemSet) systemSetGroup.POST("saveSystemSet", systemSetApi.SaveSystemSet) systemSetGroup.GET("useSystemSet/:modeType", systemSetApi.UseSystemSet) } return Router }