package router import ( "webserver/controllers" "webserver/middlewares/auth" "github.com/gin-gonic/gin" "github.com/swaggo/gin-swagger" "github.com/swaggo/gin-swagger/swaggerFiles" _ "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) deleteDataController := new(controllers.DeleteDataController) 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) licenseController := new(controllers.LicenseController) fileAnalysisC := new(controllers.FileAnalysisController) fileSettingC := new(controllers.FileAnalysisSettingController) icController := new(controllers.InfoController) gb28181C := new(controllers.Gb28181Controller) fStackC := new(controllers.FileStackController) urlPrefix := "/data/api-v" // wp 添加 路径 前缀 licenseApi := r.Group(urlPrefix + "/license") { licenseApi.POST("/getRegisterCode", licenseController.GetRegisterCode) licenseApi.POST("/save", licenseController.Save) licenseApi.GET("/show", licenseController.Show) } 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) userApi.POST("/updatePwd", userController.UpdatePwd) } //区域管理 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) } gbApi := r.Group(urlPrefix + "/gb28181") { gbApi.GET("/findAreaByParentId", gb28181C.FindAreaByParentId) gbApi.GET("/newGbId",gb28181C.NewGbId) } //摄像机管理 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.POST("/updateCameraArea", cameraController.UpdateCameraArea) 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) camera.POST("/pasteRules", cameraTaskController.PasteRules) } 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) cameraTaskArgsApi.POST("/ruleApply2All", cameraTaskArgsController.RuleApply2All) } 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) } //清理数据 deleteData := r.Group(urlPrefix + "/clearData") { deleteData.POST("/deleteEsData", deleteDataController.DeleteEsData) } //底库 操作 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) vdbperson.POST("/multiUploadCarNo", dbPersonCont.MultiUploadCarNo) } // 系统设置 操作 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) vsset.GET("/getResourceConfig", ssController.GetResourceConfig) vsset.POST("/saveResourceConfig", ssController.SaveResourceConfig) vsset.GET("/patchUpdate", ssController.PatchUpdateCheck) vsset.POST("/patchUpdate", ssController.PatchUpdate) vsset.POST("/upgrade", ssController.Upgrade) vsset.POST("/sdkInstall", ssController.SdkInstall) } ic := r.Group(urlPrefix + "/info") { ic.GET("/getServerName", icController.GetServerName) } //算法库操作 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) pollCApi.POST("/updateChannelCount", pollConfigController.UpdateChannelCount) } 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) } fileAnalyApi := r.Group(urlPrefix + "/fileAnalysis") { fileAnalyApi.GET("/findAllFile", fileAnalysisC.FindAllFile) fileAnalyApi.POST("/updateStatus", fileAnalysisC.UpdateStatus) fileAnalyApi.POST("/delete", fileAnalysisC.Delete) fileAnalyApi.POST("/sortFile", fileAnalysisC.SortFile) fileAnalyApi.GET("/findByStackId", fileAnalysisC.FindByStackId) fileAnalyApi.POST("/move", fileAnalysisC.Move) fileAnalyApi.POST("/rename", fileAnalysisC.Rename) fileAnalyApi.POST("/copy", fileAnalysisC.Copy) } fileSettingApi := r.Group(urlPrefix + "/fileSetting") { fileSettingApi.GET("/show", fileSettingC.Show) fileSettingApi.POST("/changeEnable", fileSettingC.ChangeEnable) } fStackApi := r.Group(urlPrefix +"/fileStack") { fStackApi.GET("/findAllByPage",fStackC.FindAllByPage) fStackApi.POST("/save",fStackC.Save) fStackApi.GET("/show/:id", fStackC.Show) fStackApi.POST("/changeEnable", fStackC.ChangeEnable) fStackApi.DELETE("/delete/:id", fStackC.Delete) } // 文件 上传 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 }