RTSP协议网络摄像头网页无插件直播平台EasyNVR的云端综合管理平台EasyNVS提交基础配置报错原因分析

EasyNVR是基于RTSP协议网络摄像头/NVR的流媒体视频平台,无需安装各个安防设备厂商的视频播放插件,即可接入海康、大华、宇视等网络硬盘录像机、NVR设备。如果需要互联网访问前端设备视频,还可以通过部署EasyNVS视频管理平台在外网,来进行网络之间的穿透与视频交互。

NVS.png

EasyNVS视频管理平台可以在配置页面接入EasyNVR。但是我们在一次配置当中发现提交的时候,报错“APIAuth eq|eq”。

214.png

分析问题

此处是在提交EasyNVS基础配置时候提示的错误,于是我们查看浏览器控制台发送的请求。

216.png

前端传过来的参数是“false”。下面观看后端的接口。

218.png

APIAuth这个参数限制只能传“0”或“1”,而前端传过来的参数是“false”,于是报错了。

解决问题

现在有两种解决方法。第一种修改前端,第二种修改后端。我们先从前端开始排查问题。

1、观看前端代码

    onAPIAuth (data) {
      data=='0'?this.APIAuth='1':this.APIAuth='0'
      // console.log(this.APIAuth)
    },

这个是选择按钮的点击事件,在这里会将APIAuth这个参数改为“0”或“1”,那为什么提交还是会报错?

2、继续查看接口。

219.png

发现在获取配置接口的时候,后端传给前端的参数是“false”。到这里我们可以明白是后端的错误,所以下面检查后端。

3、查看后端的获取配置的接口。

func (h *APIHandler) GetBaseConfig(c *gin.Context) {
   sec := utils.Conf().Section("nvs")
   c.IndentedJSON(http.StatusOK, gin.H{
      "Host":           sec.Key("host").MustString(utils.LocalIP()),
      "Port":           sec.Key("port").MustUint(10812),
      "DevicePassword": sec.Key("device_password").MustString(""),
      "APIAuth":        utils.Conf().Section("http").Key("api_auth").MustString("0"),
   })
}

这里将APIAuth这个参数从配置文件读取,如果读不到就是“0”,查看配置文件,发现没有为http下api_auth这个参数。

220.png

4、于是我们可以在ini配置文件给api_auth设置默认值为1。这样传回前端就不会报False,也就不再报错了。

221.png

关于EasyNVS

EasyNVR对接EasyNVS可以利用网络实现按需直播,同时屏蔽各种网络环境问题,适用于有线、WIFI、4G、专网,EasyNVS管理平台能获取到EasyNVR的所有能力,并进行互联网化输出,同时进行统一化的管理和接口输出。

NVS管控平台预置位播放弹框2.png

猜你喜欢

转载自blog.csdn.net/EasyNVR/article/details/108573976
今日推荐