EasyCVR设备管理界面实际通道数与显示通道数不符是什么原因
作者:互联网
近期我们在对EasyCVR测试时,出现实际通道数有四个,显示在前端的数据也是四个,但是点进去只显示三个的情况。前端的通道数显示如下所示:
进入后只显示三路通道:
通过排查代码发现,在查询设备下面包含的通道时,这边做了一个唯一判断,如果查询的设备在主表DBchannel中有数据,那么就回到对应类型的子表t_channel中去查询对应的子表通道,如果在子表中有一个以上的话就会出错,导致无法返回。
于是修改代码如下,查询子表下面通道的时候,添加数量限制,查询最新匹配的一条通道数据
for _, value := range *channels {
if value.ChannelType == cvrdo.TypeGB() {
gbschannels := make([]*models.Channel, 0)
q := db.SQLite.Model(models.Channel{}).Where("[index] = ?", value.ChannelID).Limit(1).Offset(0)
q.Find(&gbschannels)
if len(gbschannels) != 1 {
continue
}
再次查询显示正确,该问题解决。
EasyCVR从最初的开发完成到现在的稳定可靠,主要是得益于TSINGSEE青犀视频团队在流媒体平台开发行业的经验已经非常丰富,很多问题都可以快速响应和解决。此外,与其他视频平台不同的是,EasyCVR能够支持视频分析数据与多源数据融合,通过智能分析算法挖掘价值数据,这也是EasyCVR一个重要特点。
如果大家对EasyCVR平台感兴趣,欢迎下载部署,实际测试,测试期间可自由调用二次开发接口,欢迎了解。
标签:不符,EasyCVR,查询,value,子表,gbschannels,通道 来源: https://www.cnblogs.com/easycvr/p/15090400.html