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) // 问题诊断列表
|
}
|
|
reportWorkApi := new(v1.ReportWorkApi)
|
reportWorkGroup := v1Group.Group("reportWork")
|
{
|
reportWorkGroup.POST("report", reportWorkApi.Report) // 报工
|
reportWorkGroup.GET("list", reportWorkApi.ReportList) // 报工列表
|
}
|
|
dashboardApi := new(v1.DashboardApi)
|
dashboardGroup := v1Group.Group("dashboard")
|
{
|
dashboardGroup.GET("dashboard", dashboardApi.Dashboard) //驾驶舱
|
}
|
|
//eventsApi := new(v1.EventsApi)
|
//eventsGroup := v1Group.Group("events")
|
//{
|
// eventsGroup.GET("", eventsApi.Events) // 推送数据
|
//}
|
|
InitPlcBrandRouter(v1Group)
|
|
return Router
|
}
|