RTSP协议网络摄像头网页无插件直播平台EasyNVR的云端综合管理平台EasyNVS提交基础配置报错原因分析
EasyNVR是基于RTSP协议网络摄像头/NVR的流媒体视频平台,无需安装各个安防设备厂商的视频播放插件,即可接入海康、大华、宇视等网络硬盘录像机、NVR设备。如果需要互联网访问前端设备视频,还可以通过部署EasyNVS视频管理平台在外网,来进行网络之间的穿透与视频交互。
EasyNVS视频管理平台可以在配置页面接入EasyNVR。但是我们在一次配置当中发现提交的时候,报错“APIAuth eq|eq”。
分析问题
此处是在提交EasyNVS基础配置时候提示的错误,于是我们查看浏览器控制台发送的请求。
前端传过来的参数是“false”。下面观看后端的接口。
APIAuth这个参数限制只能传“0”或“1”,而前端传过来的参数是“false”,于是报错了。
解决问题
现在有两种解决方法。第一种修改前端,第二种修改后端。我们先从前端开始排查问题。
1、观看前端代码
1 2 3 4 5 6 7 | onAPIAuth (data) { data== '0' ? this .APIAuth= '1' : this .APIAuth= '0' // console.log(this.APIAuth) }, |
这个是选择按钮的点击事件,在这里会将APIAuth这个参数改为“0”或“1”,那为什么提交还是会报错?
2、继续查看接口。
发现在获取配置接口的时候,后端传给前端的参数是“false”。到这里我们可以明白是后端的错误,所以下面检查后端。
3、查看后端的获取配置的接口。
1 2 3 4 5 6 7 8 9 10 11 | 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这个参数。
4、于是我们可以在ini配置文件给api_auth设置默认值为1。这样传回前端就不会报False,也就不再报错了。
关于EasyNVS
EasyNVR对接EasyNVS可以利用网络实现按需直播,同时屏蔽各种网络环境问题,适用于有线、WIFI、4G、专网,EasyNVS管理平台能获取到EasyNVR的所有能力,并进行互联网化输出,同时进行统一化的管理和接口输出。
分类:
EasyNVR功能
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 提示词工程——AI应用必不可少的技术
· 地球OL攻略 —— 某应届生求职总结
· 字符编码:从基础到乱码解决
· SpringCloud带你走进微服务的世界