package router import ( "github.com/gin-gonic/gin" "github.com/swaggo/gin-swagger" "github.com/swaggo/gin-swagger/swaggerFiles" "github.com/szuecs/gin-glog" "time" "webserver/controllers" ) func NewRouter() *gin.Engine { r := gin.Default() r.Use(ginglog.Logger(3 * time.Second)) //r.Use(auth.AuthHandler())//auth过滤器 r.GET("/swagger/*any", ginSwagger.WrapHandler(swaggerFiles.Handler)) areaController := new(controllers.AreaController) cameraController := new(controllers.CameraController) taskController := new(controllers.TaskController) tableController := new(controllers.DbTableController) dbPersonCont := new(controllers.DbPersonController) ssController := new(controllers.SysSetController) sdkController := new(controllers.SdkController) esSearchController := new(controllers.EsSearchController) realTimeController := new(controllers.RealTimeController) cameraTimeRuleController := new(controllers.CameraTimeruleController) polygonController := new(controllers.CameraPolygonController) cameraTaskController := new(controllers.CameraTaskController) cameraTaskArgsController := new(controllers.CameraTaskArgsController) dicController := new(controllers.DictionaryController) userController := new(controllers.UserController) urlPrefix := "/data/api-v" // wp 添加 路径 前缀 userApi := r.Group(urlPrefix + "/user") { userApi.POST("/login", userController.Login) } //区域管理 area := r.Group(urlPrefix + "/area") { area.GET("/localmenu", areaController.CameraTree) area.POST("/add", areaController.AreaAdd) area.GET("/del", areaController.AreaDelete) area.PUT("/update/:id", areaController.AreaUpdate) } //摄像机管理 camera := r.Group(urlPrefix + "/camera") { camera.POST("/add", cameraController.CameraAdd) camera.PUT("/update", cameraController.CameraUpdate) camera.DELETE("/del/:cid", cameraController.CameraDel) camera.GET("/show/:cid", cameraController.CameraSel) camera.GET("/queryCameraAndTaskInfo", cameraController.QueryCameraAndTaskInfo) camera.POST("/alltask", cameraTaskController.FindTasksByCameraIds) camera.GET("/task/:cameraId", cameraTaskController.CameraTaskAll) camera.GET("/delTask/:cameraId/:taskId", cameraController.CameraDelTask) camera.POST("/saveTask", cameraController.CameraTaskSave) camera.GET("/getRulesByCameraAndTask", cameraTaskArgsController.FindByCameraAndTask) } cameraTaskArgsApi := r.Group(urlPrefix + "/cameraTaskArgs") { cameraTaskArgsApi.GET("/deleteByGroup", cameraTaskArgsController.DeleteByGroup) cameraTaskArgsApi.POST("/getLinkRulesByCameraIds", cameraTaskArgsController.GetLinkRulesByCameraIds) cameraTaskArgsApi.POST("/saveLinkRulesByGroup", cameraTaskArgsController.SaveLinkRulesByGroup) } cameraTaskApi := r.Group(urlPrefix + "/cameraTask") { cameraTaskApi.POST("/saveIsDataTrans", cameraTaskController.SaveIsDataTrans) cameraTaskApi.POST("/saveAlarmLevelByGroup", cameraTaskController.SaveAlarmLevelByGroup) cameraTaskApi.POST("/updateCameraTaskStatus", cameraTaskController.UpdateCameraTaskStatus) } polygon := r.Group(urlPrefix + "/polygon") { polygon.POST("/save", polygonController.Save) polygon.GET("/findByCameraId", polygonController.FindByCameraId) //polygon.GET("/delete", polygonController.Delete) polygon.GET("/updateDefenceStateByPolygonId", polygonController.UpdateDefenceStateByPolygonId) polygon.GET("/updateDefenceStateByCameraId", polygonController.UpdateDefenceStateByCameraId) } // 任务管理 task := r.Group(urlPrefix + "/task") { task.GET("/findAll", taskController.FindAll) task.POST("/addTask", taskController.AddTask) task.POST("/updateTaskStatus", taskController.UpdateTaskStatus) task.GET("/deleteTask", taskController.DeleteTask) task.GET("/addTaskSdk", taskController.AddTaskSdk) task.GET("/deleteTaskSdk", taskController.DeleteTaskSdk) } // 检索 查询 es := r.Group(urlPrefix + "/es") { es.POST("/tagList", esSearchController.PostEsTagList) es.POST("/taskList", esSearchController.PostEsTaskList) es.POST("/esSearch", esSearchController.PostEsSearch) es.POST("/queryEsCompareData", controllers.PostEsCompareData) } //实时被调数据 realTime := r.Group(urlPrefix + "/realTime") { realTime.POST("/capture", realTimeController.PostCapture) realTime.POST("/monitoring", realTimeController.PostMonitoring) realTime.POST("/action", realTimeController.PostAction) } //底库 操作 vdbtable := r.Group(urlPrefix + "/dbtable") { vdbtable.POST("/queryDbTables/:isSync", tableController.QueryDbTables) vdbtable.POST("/updateDbTables", tableController.UpdateDbTables) vdbtable.POST("/deleteDBtablesById/:uuid", tableController.DeleteDbTables) vdbtable.PUT("/addDbTableInfo", tableController.AddDbTableInfo) } // 底库人员 操作 vdbperson := r.Group(urlPrefix + "/dbperson") { vdbperson.POST("/queryDbPersonsByTbId", dbPersonCont.QueryDbPersonsByTbId) vdbperson.POST("/queryDbPersonsByCampare", dbPersonCont.QueryDbPersonsByCampare) vdbperson.POST("/updateDbPerson", dbPersonCont.UpdateDbPerson) vdbperson.POST("/deleteDbPersonById/:uuid", dbPersonCont.DeleteDbPerson) vdbperson.POST("/deleteMoreDbPerson", dbPersonCont.DeleteMoreDbPerson) vdbperson.PUT("/addDbPerson", dbPersonCont.AddDbPerson) } // 系统设置 操作 vsset := r.Group(urlPrefix + "/sysset") { vsset.GET("/alarmServerShow", ssController.AlarmServerShow) vsset.POST("/alarmEdit", ssController.AlarmEdit) vsset.GET("/videoLenShow", ssController.VideoLenShow) vsset.POST("/videoLenEdit", ssController.VideoLenEdit) vsset.GET("/getDevInfo", ssController.GetDevInfo) vsset.POST("/saveDevInfo", ssController.SaveDevInfo) vsset.GET("/vSSLocalSettingShow", ssController.VSSLocalSettingShow) vsset.POST("/vSSLocalSettingEdit", ssController.VSSLocalSettingEdit) } //算法库操作 sdkApi := r.Group(urlPrefix + "/sdk") { sdkApi.POST("/saveSdk", sdkController.Save) sdkApi.GET("/findAllSdk", sdkController.FindAllSdk) sdkApi.GET("/findByTaskId", sdkController.FindByTaskId) sdkApi.GET("/getById", sdkController.GetById) } cameraTimeApi := r.Group(urlPrefix + "/cameraTimerule") { cameraTimeApi.POST("/save", cameraTimeRuleController.Save) cameraTimeApi.GET("/delete", cameraTimeRuleController.Delete) cameraTimeApi.GET("/findAll", cameraTimeRuleController.FindAll) } dicApi := r.Group(urlPrefix + "/dictionary") { dicApi.GET("/findByType", dicController.FindByType) } // 文件 上传 r.Static("static", "./static") // 静态文件 //外部访问swagger.json r.StaticFile("/swagger.json", "./docs/swagger.json") fileController := new(controllers.FileController) vdbperson.POST("/fileupload", fileController.Fileupload) vdbperson.POST("/moreFileUpload", fileController.MoreFileUpload) r.POST(urlPrefix+"/es/ImageUploadReturnPics", fileController.ImageUploadReturnPics) return r }