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 }