package initialize import ( "net/http" v1 "srm/api/v1" "srm/middleware" "srm/router/purchase" "github.com/gin-gonic/gin" ginSwagger "github.com/swaggo/gin-swagger" "github.com/swaggo/gin-swagger/swaggerFiles" "srm/docs" "srm/global" "srm/router" ) // 初始化总路由 func Routers() *gin.Engine { Router := gin.Default() systemRouter := router.RouterGroupApp.System //exampleRouter := router.RouterGroupApp.Example //Router.StaticFS(global.GVA_CONFIG.Local.StorePath, http.Dir(global.GVA_CONFIG.Local.StorePath)) // 为用户头像和文件提供静态地址 docs.SwaggerInfo.BasePath = global.GVA_CONFIG.System.RouterPrefix Router.GET(global.GVA_CONFIG.System.RouterPrefix+"/swagger/*any", ginSwagger.WrapHandler(swaggerFiles.Handler)) global.GVA_LOG.Info("register swagger handler") // 方便统一添加路由组前缀 多服务器上线使用 PrivateGroup := Router.Group(global.GVA_CONFIG.System.RouterPrefix) { // 健康监测 PrivateGroup.GET("/health", func(c *gin.Context) { c.JSON(http.StatusOK, "ok") }) //systemRouter.InitInitRouter(PublicGroup) // 自动初始化相关 } var conApi = v1.ApiGroupApp.TestApiGroup.ContractApi PrivateGroup.GET("previewContract", conApi.PreviewContract) // 预览Contract PrivateGroup.GET("downloadContract", conApi.DownloadContract) // 下载Contract PrivateGroup.Use(middleware.JWTAuth()).Use(middleware.VerifyResetPwd()) { systemRouter.InitSystemRouter(PrivateGroup) // system相关路由 //exampleRouter.InitFileUploadAndDownloadRouter(PrivateGroup) // 文件上传下载功能路由 purchase.InitPurchaseRouter(PrivateGroup) //采购单路由 } { testRouter := router.RouterGroupApp.Test testRouter.InitIndustryRouter(PrivateGroup) testRouter.InitSupplierTypeRouter(PrivateGroup) testRouter.InitSupplierRouter(PrivateGroup) testRouter.InitContractRouter(PrivateGroup) testRouter.InitProductRouter(PrivateGroup) testRouter.InitMemberRouter(PrivateGroup) testRouter.InitCodeRouter(PrivateGroup) } global.GVA_LOG.Info("router register success") return Router }