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) }