| | |
| | | package controllers |
| | | |
| | | import ( |
| | | "basic.com/dbapi.git" |
| | | "basic.com/gb28181api.git" |
| | | |
| | | "webserver/extend/code" |
| | | "webserver/extend/config" |
| | | "webserver/extend/util" |
| | | |
| | | "github.com/gin-gonic/gin" |
| | | ) |
| | | |
| | | type PanTiltZoomController struct { |
| | | } |
| | | |
| | | type PTZInstruct struct { |
| | | CameraId string `json:"cameraId"` //摄像机id |
| | | CameraType int `json:"cameraType"` //摄像机类型 |
| | | PTZType string `json:"ptzType"` //控制类型 left right top ... stop |
| | | } |
| | | |
| | | /* |
| | | // @Summary 云台 |
| | | // @Description 摄像机云台控制 |
| | | // @Security ApiKeyAuth |
| | | // @Accept json |
| | | // @Produce json |
| | | // @Tags camera |
| | | // @Param ptzBody body controllers.PTZInstruct true "控制类型:up,down,left,right,zoomin,zoomout,stop" |
| | | // @Success 200 {string} json "{"code":200, success:true, msg:"", data:""}" |
| | | // @Failure 500 {string} json "{"code":500, success:false, msg:"",data:""}" |
| | | // @Router /data/api-v/camera/ptzControl [post] |
| | | */ |
| | | func (ptz PanTiltZoomController) Move(c *gin.Context) { |
| | | var param PTZInstruct |
| | | if err := c.BindJSON(¶m); err != nil { |
| | | util.ResponseFormat(c, code.RequestParamError, "参数有误") |
| | | return |
| | | } |
| | | |
| | | ptzSpeed := config.Server.PTZSpeed |
| | | if ptzSpeed == 0 { |
| | | ptzSpeed = 50 |
| | | } |
| | | |
| | | if param.CameraType == 1 { |
| | | var api dbapi.SysSetApi |
| | | r, gb28182Config := api.Gb28181ConfigShow() |
| | | |
| | | if r { |
| | | conf, ok := gb28182Config.(map[string]interface{}) |
| | | if ok { |
| | | gb28181api.Init(conf["ServerIp"].(string), int(conf["ServerPort"].(float64))) |
| | | } else { |
| | | util.ResponseFormat(c, code.ComError, "国标配置读取失败") |
| | | return |
| | | } |
| | | |
| | | } else { |
| | | util.ResponseFormat(c, code.ComError, "国标接口查询失败") |
| | | return |
| | | } |
| | | |
| | | var gbApi gb28181api.Gb28181Api |
| | | if r := gbApi.SetCameraPtz(param.CameraId, param.PTZType, ptzSpeed); r { |
| | | util.ResponseFormat(c, code.Success, "") |
| | | } else { |
| | | util.ResponseFormat(c, code.Success, "国标接口操作失败") |
| | | } |
| | | } else { |
| | | util.ResponseFormat(c, code.Success, "不支持的摄像机类型") |
| | | } |
| | | } |