package router
|
|
import (
|
v1 "apsClient/api/v1"
|
"apsClient/conf"
|
_ "apsClient/docs"
|
"github.com/gin-contrib/cors"
|
"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()
|
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.PUT("finish/:id", taskApi.TaskFinish) // 完成工序
|
}
|
|
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) // 下发生产总量
|
}
|
|
processModelApi := new(v1.ProcessModelApi)
|
processModelGroup := v1Group.Group("processModel")
|
{
|
processModelGroup.GET("list", processModelApi.List) // 新任务倒计时
|
}
|
|
eventsApi := new(v1.EventsApi)
|
eventsGroup := v1Group.Group("events")
|
{
|
eventsGroup.GET("", eventsApi.Events) // 推送数据
|
}
|
|
InitPlcBrandRouter(v1Group)
|
|
return Router
|
}
|