liujiandao
2024-04-28 1884f07f084e0e7eabb540c4d04dd0b5154ae588
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
package initialize
 
import (
    "net/http"
    v1 "srm/api/v1"
    "srm/middleware"
    "srm/router/outsourcing"
    "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)
        outsourcing.InitRouter(PrivateGroup)
        router.InitRouter(PrivateGroup)
    }
 
    global.GVA_LOG.Info("router register success")
    return Router
}