fix
zhangqian
2023-11-16 53e895bdc18f6ca62a925c93c3b075746d0ad9e4
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
95
96
97
98
package router
 
import (
    v1 "apsClient/api/v1"
    "apsClient/conf"
    _ "apsClient/docs"
    "github.com/gin-contrib/cors"
    "github.com/gin-contrib/pprof"
    "github.com/gin-gonic/gin"
    swaggerFiles "github.com/swaggo/files"
    ginSwagger "github.com/swaggo/gin-swagger"
    "net/http"
)
 
func InitRouter() *gin.Engine {
    gin.SetMode(gin.ReleaseMode)
 
    Router := gin.Default()
 
    pprof.Register(Router) // 性能
 
    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))
 
    PublicGroup := Router.Group("api")
    {
        // 健康监测
        PublicGroup.GET("/health", func(c *gin.Context) {
            c.JSON(http.StatusOK, "ok")
        })
    }
 
    v1Group := Router.Group("v1")
 
    taskApi := new(v1.TaskApi)
    taskGroup := v1Group.Group("task")
    {
        taskGroup.GET("countdown", taskApi.TaskCountdown)                  // 新任务倒计时
        taskGroup.GET("get", taskApi.TaskGet)                              // 获取工序
        taskGroup.GET("start/:id", taskApi.GetProcessParams)               // 获取工艺参数
        taskGroup.POST("sendProcessParams", taskApi.TaskStart)             // 下发工艺参数并开始工序
        taskGroup.POST("updateProcessParams", taskApi.UpdateProcessParams) // 更新工艺参数
        taskGroup.PUT("finish/:id", taskApi.TaskFinish)                    // 完成工序
        taskGroup.GET("list", taskApi.TaskListByChannel)                   //按通道号和查询类型查询任务列表
    }
 
    configApi := new(v1.ConfigApi)
    configGroup := v1Group.Group("config")
    {
        configGroup.GET("net", configApi.GetNetConfig)  // 获取网络配置
        configGroup.POST("net", configApi.SetNetConfig) // 设置网络
        configGroup.GET("plc", configApi.PlcGet)        // 获取plc配置
        configGroup.POST("plc", configApi.PlcUpdate)    // 设置plc
    }
 
    plcApi := new(v1.PlcApi)
    plcGroup := v1Group.Group("plc")
    {
        plcGroup.POST("productProgress", plcApi.GetProductProgress) // 获取生产进度
        //plcGroup.POST("productProgressRealTime", plcApi.GetProductProgressRealTime) // 实时获取生产进度
        plcGroup.POST("setProductNumber", plcApi.SetProductNumber) // 下发生产总量
        //plcGroup.POST("setSerfEvent", plcApi.SetSerfEvent)         // 下发生产总量
    }
 
    processModelApi := new(v1.ProcessModelApi)
    processModelGroup := v1Group.Group("processModel")
    {
        processModelGroup.GET("list", processModelApi.List) // 工艺参数列表
    }
 
    deviceApi := new(v1.DeviceApi)
    deviceGroup := v1Group.Group("device")
    {
        deviceGroup.GET("list", deviceApi.DeviceList)                        // 可选设备列表
        deviceGroup.POST("setCurrentDeviceId", deviceApi.SetCurrentDeviceId) // 切换设备ID
        deviceGroup.POST("config", deviceApi.Config)                         // 配置一些字段
    }
 
    systemApi := new(v1.SystemApi)
    systemGroup := v1Group.Group("system")
    {
        systemGroup.GET("problemList", systemApi.ProblemList) // 问题诊断列表
    }
 
    //eventsApi := new(v1.EventsApi)
    //eventsGroup := v1Group.Group("events")
    //{
    //    eventsGroup.GET("", eventsApi.Events) // 推送数据
    //}
 
    InitPlcBrandRouter(v1Group)
 
    return Router
}