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" "webserver/middlewares/auth" _ "webserver/docs" ) 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) eventPushController := new(controllers.EventPushController) pollConfigController := new(controllers.PollConfigController) fileController := new(controllers.FileController) sysMenuController :=new(controllers.SysMenuController) clusterController :=new(controllers.ClusterController) sysApi := r.Group( "/data/api-u/sys") { sysApi.POST("/login",userController.Login) sysApi.GET("/logout",userController.Logout) sysApi.POST("refresh_token",userController.RefreshToken) } sysMenuApi := r.Group("/data/api-u/sysmenus") { sysMenuApi.GET("/me",sysMenuController.Me) } userApi := r.Group("/data/api-u/users") { userApi.GET("/current",userController.Current) } urlPrefix := "/data/api-v" // wp 添加 路径 前缀 //区域管理 area := r.Group(urlPrefix + "/area") { area.GET("/localmenu", areaController.CameraTree) area.GET("/gb28181Tree",areaController.CameraGb28181Tree) area.POST("/add", areaController.AreaAdd) area.POST("/del", areaController.AreaDelete) area.POST("/update", areaController.AreaUpdate) area.POST("/gb28181TreeRefresh", areaController.Gb28181TreeRefresh) area.POST("/gb28181TreeDelete", areaController.Gb28181TreeDelete) } //摄像机管理 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("/updateSnapshotUrl/:cid",cameraController.UpdateSnapshotUrl) camera.POST("/alltask", cameraTaskController.FindTasksByCameraIds) camera.GET("/task/:cameraId", cameraTaskController.CameraTaskAll) camera.DELETE("/delTask/:cameraId/:taskId", cameraController.CameraDelTask) camera.POST("/saveTask", cameraController.CameraTaskSave) camera.GET("/getRulesByCameraAndTask", cameraTaskArgsController.FindByCameraAndTask) camera.GET("/getCamerasByRunType", cameraController.GetCamerasByRunType) camera.POST("/updateRunEnable", cameraController.UpdateRunEnable) camera.POST("/changeRunType", cameraController.ChangeRunType) } cameraTaskArgsApi := r.Group(urlPrefix + "/cameraTaskArgs") { cameraTaskArgsApi.GET("/deleteByGroup", cameraTaskArgsController.DeleteByGroup) cameraTaskArgsApi.POST("/getLinkRulesByCameraIds", cameraTaskArgsController.GetLinkRulesByCameraIds) cameraTaskArgsApi.POST("/saveLinkRulesByGroup", cameraTaskArgsController.SaveLinkRulesByGroup) cameraTaskArgsApi.POST("/updateDefenceStateByGroup",cameraTaskArgsController.UpdateDefenceStateByGroup) } 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("/delete", taskController.DeleteTask) task.POST("/addTaskSdk", taskController.AddTaskSdk) task.GET("/delTaskSdk", taskController.DeleteTaskSdk) task.POST("/updateTaskName", taskController.UpdateTaskName) task.GET("/getRulesByTaskSdk", taskController.GetRulesByTaskSdk) task.POST("/deleteTaskSdkRule", taskController.DeleteTaskSdkRule) task.POST("/saveTaskSdkRule", taskController.SaveTaskSdkRule) } // 检索 查询 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("/initForCaptureData", realTimeController.InitForCaptureData) realTime.POST("/initForMonitoringData", realTimeController.InitForMonitoringData) } //底库 操作 vdbtable := r.Group(urlPrefix + "/dbtable") { vdbtable.POST("/queryDbTables/:isSync", tableController.QueryDbTables) vdbtable.POST("/updateDbTables", tableController.UpdateDbTables) vdbtable.POST("/deleteDBtablesById/:id", tableController.DeleteDbTables) vdbtable.PUT("/addDbTableInfo", tableController.AddDbTableInfo) vdbtable.POST("/updateDbTableStatus", tableController.UpdateDbTableStatus) } // 底库人员 操作 vdbperson := r.Group(urlPrefix + "/dbperson") { vdbperson.POST("/queryDbPersonsByTbId", dbPersonCont.QueryDbPersonsByTbId) vdbperson.POST("/queryDbPersonsByCompare", dbPersonCont.QueryDbPersonsByCompare) vdbperson.POST("/updateDbPerson", dbPersonCont.UpdateDbPerson) vdbperson.POST("/deleteDbPersonById/:uuid", dbPersonCont.DeleteDbPerson) vdbperson.POST("/deleteMoreDbPerson", dbPersonCont.DeleteMoreDbPerson) vdbperson.PUT("/addDbPerson", dbPersonCont.AddDbPerson) vdbperson.POST("/fileUploadTest", fileController.UploadPersonTest) vdbperson.POST("/faceExtract",fileController.FaceExtract) vdbperson.POST("/searchByPhoto",fileController.SearchByPhoto) vdbperson.POST("/updateFace", dbPersonCont.UpdateFace) } // 系统设置 操作 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("/gb28181ConfigShow", ssController.Gb28181ConfigShow) vsset.POST("/gb28181ConfigEdit", ssController.Gb28181ConfigEdit) } //算法库操作 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) sdkApi.GET("/sdkDownload",sdkController.SdkDownLoad) } //算法参数 sdkArgApi :=r.Group(urlPrefix + "/sdkArg") { sdkArgApi.GET("/getSdkArgs", sdkController.GetSdkArgs) } 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) dicApi.GET("/findByParentId", dicController.FindByParentId) } eventPushApi := r.Group(urlPrefix + "/eventPush") { eventPushApi.POST("/save", eventPushController.Save) eventPushApi.GET("/findByEventTopic", eventPushController.FindByEventTopic) eventPushApi.GET("/findAll", eventPushController.FindAll) eventPushApi.GET("/getById", eventPushController.GetById) eventPushApi.POST("/changeStatus", eventPushController.ChangeStatus) eventPushApi.POST("/delete", eventPushController.Delete) } pollCApi := r.Group(urlPrefix + "/pollConfig") { pollCApi.POST("/savePollPeriod", pollConfigController.SavePollPeriod) pollCApi.POST("/savePollDelay", pollConfigController.SavePollDelay) pollCApi.GET("/getPollConfig", pollConfigController.GetPollConfig) pollCApi.POST("/updateEnable", pollConfigController.UpdateEnable) } clusterApi := r.Group(urlPrefix+"/cluster") { clusterApi.GET("/findCluster", clusterController.FindCluster) clusterApi.GET("/randomPwd", clusterController.RandomPwd) clusterApi.POST("/create", clusterController.Create) clusterApi.POST("/search", clusterController.Search) clusterApi.POST("/stopSearching", clusterController.StopSearching) clusterApi.GET("/getSearchNodes", clusterController.GetSearchNodes) clusterApi.POST("/joinCluster", clusterController.JoinCluster) clusterApi.POST("/updateClusterName", clusterController.UpdateClusterName) clusterApi.POST("/leave", clusterController.Leave) } // 文件 上传 r.Static("static", "./static") // 静态文件 //外部访问swagger.json r.StaticFile("/swagger.json", "./docs/swagger.json") vdbperson.POST("/fileupload", fileController.Fileupload) vdbperson.POST("/moreFileUpload", fileController.MoreFileUpload) r.POST(urlPrefix+"/es/ImageUploadReturnPics", fileController.ImageUploadReturnPics) return r }