From 7c811247ecf143e08c576986a884bedadc57dd66 Mon Sep 17 00:00:00 2001 From: liuxiaolong <liuxiaolong@aiotlink.com> Date: 星期五, 05 六月 2020 18:29:41 +0800 Subject: [PATCH] add refresh token to resp --- controllers/camera.go | 118 ++++++++++++++++++++++++++++++++++++++++++++++++++++------- 1 files changed, 104 insertions(+), 14 deletions(-) diff --git a/controllers/camera.go b/controllers/camera.go index 374accf..03c36ee 100644 --- a/controllers/camera.go +++ b/controllers/camera.go @@ -1,10 +1,12 @@ package controllers import ( + "basic.com/pubsub/protomsg.git" "encoding/json" "fmt" "strconv" "basic.com/valib/logger.git" + "strings" "webserver/cache" "github.com/gin-gonic/gin" @@ -38,6 +40,27 @@ RunEnable bool `json:"run_enable"` //鎺у埗瀹炴椂澶勭悊鎴栬疆璇㈠鐞嗙殑寮�鍏� RunType int `json:"run_type"` //澶勭悊绫诲瀷锛�0锛氳疆璇紝1锛氬疄鏃� RunServerId string `json:"run_server_id"` //褰撳墠姝e湪澶勭悊鐨勫垎鏋愭湇鍔″櫒id + + ResolutionWidth int `json:"resolution_width"`//鍒嗚鲸鐜囧 + ResolutionHeight int `json:"resolution_height"`//鍒嗚鲸鐜囬珮 + + Sensors []SensorVo `json:"sensors"` //浼犳劅鍣ㄥ垪琛� +} + +type Resolution struct { + Width int `json:"width"` + Height int `json:"height"` +} + +type SensorVo struct { + Id string `json:"id"` + Type string `json:"type"` + Ip string `json:"ip"` + Port int `json:"port"` + Username string `json:"username"` + Password string `json:"password"` + Threshold int `json:"threshold"` + Enable bool `json:"enable"` } // @Summary 娣诲姞鎽勫儚鏈� @@ -50,7 +73,7 @@ // @Success 200 {string} json "{"code":200, success:true, msg:"璇锋眰澶勭悊鎴愬姛", data:"娣诲姞鍚庣殑鎽勫儚鏈轰俊鎭�"}" // @Failure 500 {string} json "{"code":500, success:false msg:"null ",data:"閿欒淇℃伅鍐呭"}" // @Router /data/api-v/camera/add [post] -func (ac CameraController) CameraAdd(c *gin.Context) { +func (cc CameraController) CameraAdd(c *gin.Context) { var cam CameraVo var api dbapi.CameraApi @@ -79,7 +102,7 @@ // @Success 200 {string} json "{"code":200, success:true, msg:"璇锋眰澶勭悊鎴愬姛", data:"淇敼鍚庣殑鎽勫儚鏈轰俊鎭�"}" // @Failure 500 {string} json "{"code":500, success:false msg:"null",data:"閿欒淇℃伅鍐呭"}" // @Router /data/api-v/camera/update [put] -func (ac CameraController) CameraUpdate(c *gin.Context) { +func (cc CameraController) CameraUpdate(c *gin.Context) { var cam CameraVo var api dbapi.CameraApi @@ -89,6 +112,7 @@ util.ResponseFormat(c, code.RequestParamError, "鍙傛暟閿欒") return } + logger.Debug("camera sensors:", cam.Sensors) paramBody := util.Struct2Map(cam) if api.CameraUpdate(paramBody) { util.ResponseFormat(c, code.Success, cam) @@ -107,7 +131,7 @@ // @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/del/{cid} [delete] -func (ac CameraController) CameraDel(c *gin.Context) { +func (cc CameraController) CameraDel(c *gin.Context) { var api dbapi.CameraApi cid := c.Param("cid") logger.Debug("CameraDel.cid:",cid) @@ -127,7 +151,7 @@ // @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/show/{cid} [get] -func (ac CameraController) CameraSel(c *gin.Context) { +func (cc CameraController) CameraSel(c *gin.Context) { var api dbapi.CameraApi cid := c.Param("cid") camera, err := api.GetCameraById(cid) @@ -138,6 +162,22 @@ //2019-11-02鏂板闇�姹傦紝鏄剧ず姣忎釜鎽勫儚鏈虹殑澶勭悊鏈嶅姟鍣ㄤ俊鎭�,褰掑睘鐨勮妭鐐规湇鍔″櫒鍚嶇О m := util.Struct2Map(camera) m["runServerName"] = "" + m["resolution_width"] = camera.ResolutionWidth + m["resolution_height"] = camera.ResolutionHeight + //鎽勫儚鏈哄垎杈ㄧ巼 + dRe0 := Resolution{ + Width: 0, + Height: 0, + } + dRe1 := Resolution{ + Width: 1920, + Height: 1080, + } + dRe2 := Resolution{ + Width: 2688, + Height: 1520, + } + m["resolutions"] = []Resolution{ dRe0, dRe1, dRe2 } if camera.RunServerId !="" { localConf, e := cache.GetServerInfo() if e ==nil { @@ -201,18 +241,27 @@ // @Security ApiKeyAuth // @Summary 灏嗘憚鍍忔満鎸傚埌鎸囧畾鐨勭洰褰曟爲涓� // @Description 灏嗘憚鍍忔満鎸傚埌鎸囧畾鐨勭洰褰曟爲涓� +// @Accept x-www-form-urlencoded // @Produce json // @Tags camera -// @Param cameraId path string true "鎽勫儚鏈篿d" -// @Param areaId path string true "鐩綍鍖哄煙id" +// @Param cameraId formData string true "鎽勫儚鏈篿d" +// @Param areaId formData string true "鐩綍鍖哄煙id" // @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/cameraAreaAdd [get] -func (ac CameraController) CameraAreaAdd(c *gin.Context) { - cameraId := c.Param("cameraId") - areaId := c.Param("areaId") - fmt.Println(cameraId) - fmt.Println(areaId) +// @Router /data/api-v/camera/updateCameraArea [post] +func (cc CameraController) UpdateCameraArea(c *gin.Context) { + cameraId := c.PostForm("cameraId") + areaId := c.PostForm("areaId") + if cameraId == "" || areaId == "" { + util.ResponseFormat(c, code.RequestParamError, "鍙傛暟鏈夎") + return + } + var api dbapi.CameraApi + if api.UpdateCameraArea(cameraId, areaId) { + util.ResponseFormat(c,code.Success,"鏇存柊鎴愬姛") + } else { + util.ResponseFormat(c,code.ComError,"") + } } // @Security ApiKeyAuth @@ -225,7 +274,7 @@ // @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/cameraAreaDel [get] -func (ac CameraController) CameraAreaDel(c *gin.Context) { +func (cc CameraController) CameraAreaDel(c *gin.Context) { cameraId := c.Param("cameraId") areaId := c.Param("areaId") fmt.Println(cameraId) @@ -333,13 +382,42 @@ func(cc CameraController) UpdateSnapshotUrl(c *gin.Context){ cid := c.Param("cid") //filename, err := service.UpdateSnapshotUrl(cid) + if cid == "" { + util.ResponseFormat(c, code.RequestParamError, "鍙傛暟鏈夎") + return + } + if strings.HasPrefix(cid, File_Video_Id_Pre) || strings.HasPrefix(cid, File_Img_Id_Pre) || strings.HasPrefix(cid, File_Audio_Id_Pre) { + var fileApi dbapi.FileAnalysisApi + b, d := fileApi.Show(cid) + if b { + var file protomsg.FileAnalysis + bytes, _ := json.Marshal(d) + err := json.Unmarshal(bytes, &file) + if err == nil { + util.ResponseFormat(c, code.Success, map[string]string{ + "cameraId": cid, + "snapshotUrl": file.SnapshotUrl, + }) + return + } else { + util.ResponseFormat(c, code.ComError, "鏇存柊澶辫触") + return + } + } else { + util.ResponseFormat(c, code.ComError, "鏇存柊澶辫触") + return + } + } filename, err := service.UpdateCapture(cid) if err != nil { logger.Debug("UpdateSnapshotUrl.err:",err) util.ResponseFormat(c, code.ComError, "鏇存柊澶辫触") return } - util.ResponseFormat(c, code.Success, filename) + util.ResponseFormat(c, code.Success, map[string]string{ + "cameraId": cid, + "snapshotUrl": filename, + }) } type CameraChangeRunVo struct { @@ -390,4 +468,16 @@ } } +/* +// @Security ApiKeyAuth +// @Summary 鑾峰彇鎽勫儚鏈哄垎杈ㄧ巼 +// @Description 鑾峰彇鍒嗚鲸鐜� +// @Produce json +// @Tags camera +// @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/resolution/{cid} [get] +func (cc CameraController) Resolution(c *gin.Context) { +} +*/ -- Gitblit v1.8.0