From f7762edf42f98010e05e9aee2401a8aa4dde4990 Mon Sep 17 00:00:00 2001 From: lijun Date: Sat, 18 Jan 2025 17:04:35 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E5=88=9D=E5=A7=8B=E5=8C=96?= =?UTF-8?q?=E9=97=AE=E9=A2=98=EF=BC=8C=E4=BF=AE=E6=94=B9=E8=8E=B7=E5=8F=96?= =?UTF-8?q?=E6=B5=81=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- handler/tool.go | 14 +++++++------- main.go | 3 ++- 2 files changed, 9 insertions(+), 8 deletions(-) diff --git a/handler/tool.go b/handler/tool.go index 50d3e35..fda3f12 100644 --- a/handler/tool.go +++ b/handler/tool.go @@ -68,17 +68,17 @@ func GetVideoStream(c *gin.Context) { var req videoStreamReq id, _ := c.Get("id") id1 := id.(int) - //校验权限 - device := service.GetDevice(req.ID, id1) - if device.ID == 0 { - c.JSON(400, gin.H{"error": "device not exist"}) - return - } - + //将请求query绑定到结构体 if err := c.ShouldBind(&req); err != nil { c.JSON(400, gin.H{"error": err.Error()}) return } else { + //校验权限 + device := service.GetDevice(req.ID, id1) + if device.ID == 0 { + c.JSON(400, gin.H{"error": "device not exist"}) + return + } //查看id是否存在 index := -1 for _, device := range proto.Config.DeviceInfo { diff --git a/main.go b/main.go index aa98516..1a54e75 100644 --- a/main.go +++ b/main.go @@ -71,12 +71,13 @@ func init() { if err != nil { panic("failed to read config file:" + err.Error()) } + service.DeviceCurrentFrameMap = map[int]gocv.Mat{} for _, device := range proto.Config.DeviceInfo { //service.DeviceRWMap[device.ID] = sync.RWMutex{} //service.DeviceCurrentFrameMap[device.ID] = gocv.NewMat() //service.DeviceIsGettingFrame[device.ID] = false service.DeviceRWMap.Store(device.ID, &sync.RWMutex{}) - service.DeviceCurrentFrameMap.Store(device.ID, gocv.NewMat()) + service.DeviceCurrentFrameMap[device.ID] = gocv.NewMat() service.DeviceFrameCount.Store(device.ID, 0) service.DeviceIsGettingFrame.Store(device.ID, false) }