add
wangpengfei
2023-07-10 ac5468a5ce91c4a9ba7c9610c6bef78e24bf6dce
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
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
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
    SaleChanceRouter
    SaleStageRouter
    SaleTypeRouter
    RegularCustomersRouter
    PossibilityRouter
}
 
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路由
        routerGroup.InitSaleChanceRouter(PrivateGroup)        // 注册saleChance路由
        routerGroup.InitSaleStageRouter(PrivateGroup)         // 注册saleStage路由
        routerGroup.InitSaleTypeRouter(PrivateGroup)          // 注册saleType路由
        routerGroup.InitRegularCustomersRouter(PrivateGroup)  // 注册regularCustomers路由
        routerGroup.InitPossibilityRouter(PrivateGroup)       // 注册possibility路由
    }
    return Router
}