package router import ( "aps_crm/conf" _ "aps_crm/docs" "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 { BaseRouter UserRouter JwtRouter CountryRouter ProvinceRouter CityRouter RegionRouter ContactRouter ClientRouter ClientStatusRouter ClientTypeRouter ClientOriginRouter ClientLevelRouter IndustryRouter EnterpriseNatureRouter RegisteredCapitalRouter EnterpriseScaleRouter SalesLeadsRouter SalesSourcesRouter FollowRecordRouter } 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)) 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()) { 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路由 } return Router }