package router import ( "time" "webserver/controllers" "webserver/middlewares/auth" "github.com/gin-gonic/gin" ginSwagger "github.com/swaggo/gin-swagger" "github.com/swaggo/gin-swagger/swaggerFiles" ginglog "github.com/szuecs/gin-glog" _ "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) esManagementController := new(controllers.EsManagementController) 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) sysRoleController := new(controllers.RoleController) ptzController := new(controllers.PanTiltZoomController) 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) sysMenuApi.GET("/tree", sysMenuController.MenuTree) } roleApi := r.Group("/data/api-v/role") { roleApi.GET("/findAll", sysRoleController.FindAll) } userApi := r.Group("/data/api-u/users") { userApi.GET("/current", userController.Current) userApi.GET("/findAllUser", userController.FindAllUser) userApi.POST("/findById", userController.FindById) userApi.POST("/saveAuth", userController.SaveAuth) } 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) camera.GET("/getAllCamerasByServer", cameraController.GetAllCamerasByServer) camera.POST("/ptzControl", ptzController.Move) camera.GET("/statisticRunInfo", cameraController.StatisticRunInfo) } 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) cameraTaskApi.POST("/addTask", cameraTaskController.AddTask) } 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.GET("/aggregateTaskList", taskController.AggregateTaskList) 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) task.GET("/statisticTaskCamera", taskController.StatisticTaskCamera) } // 检索 查询 节点操作 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) es.POST("/getEsClusterInfo", esManagementController.GetEsClusterInfo) es.POST("/addCluster", esManagementController.AddCluster) es.POST("/createNode", esManagementController.CreateNode) es.POST("/updateEsHosts", esManagementController.UpdateEsHosts) } //实时被调数据 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) vdbtable.GET("/findAllDbTablesByCurServer", tableController.FindAllDbTablesByCurServer) } // 底库人员 操作 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) vdbperson.POST("/joinDbTable", dbPersonCont.JoinDbTable) vdbperson.POST("/move", dbPersonCont.Move) vdbperson.POST("/copy", dbPersonCont.Copy) } // 系统设置 操作 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) vsset.GET("/clockInfo", ssController.GetClockinfo) vsset.POST("/updateClock", ssController.SetSysClock) vsset.GET("/ntpTest", ssController.TestNTPServer) vsset.GET("/sysinfo", ssController.GetSysInfo) vsset.GET("/sysThresholds", ssController.GetSysThresholds) vsset.GET("/reboot", ssController.RebootOS) vsset.GET("/rebootTask", ssController.GetRebootTask) vsset.POST("/rebootTask", ssController.SetRebootTask) } //算法库操作 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 }