首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >RTSP协议视频平台EasyNVR接入EasyNVS通道不显示任何数据怎么处理?

RTSP协议视频平台EasyNVR接入EasyNVS通道不显示任何数据怎么处理?

作者头像
EasyNVR
发布2020-08-11 11:21:15
发布2020-08-11 11:21:15
7960
举报
文章被收录于专栏:EasyNVREasyNVR

EasyNVS云管理平台是新一代基于创新的超融合和技术构建,具备完整的视频流媒体服务能力和运维管理服务能力的云架构平台,可将多套EasyNVR设备统一接口进行登记和管理。

EasyNVS通道列表不显示数据

正常情况下,接入EasyNVS的设备通道都会显示在如下的通道列表当中,但是此处我们查看通道列表,却并没有显示通道数据。

分析问题:

1、先查看是否是前端报错,导致渲染数据出错。

通过浏览器查看,很明显不是前端报错,是后端返回的数据是0条。

2、下面来分析后端代码,正常返回数据的代码如下:

代码语言:javascript
复制
func (h *APIHandler) GetChannelsConfig(c *gin.Context) {
	params := make(map[string]string)
	for k, v := range c.Request.URL.Query() {
		params[strings.ToLower(k)] = strings.Join(v, ",")
	}

	cc := uint(license.ChannelCount)
	form := utils.NewPageForm()
	if err := c.Bind(form); err != nil {
		return
	}
	if id, ok := params["id"]; ok {
		if _, err := strconv.Atoi(id); err == nil {
			form.Q = id
		}
	}
	if channel, ok := params["channel"]; ok {
		if _, err := strconv.Atoi(channel); err == nil {
			form.Q = channel
		}
	}
	ack := NewMsgAck()
	ack.EasyDarwin.Header.MessageType = MSG_SC_SERVER_GET_CHANNELS_CONFIG_ACK
	cameras := make([]*models.Camera, 0)
	db := models.DB.Table("camera").Order("id").Where("id <= ?", cc)
	if form.Q != "" {
		ch, _ := strconv.Atoi(form.Q)
		if ch > 0 {
			db = db.Where("id = ?", ch)
		} else {
			db = db.Where("name like ?", "%"+form.Q+"%")

而这个后端也没有报错,代码是正常执行的。

3、继续分析,查看代码执行流程,

发现是因为EasyNVR新版本添加了用户权限,所以导致返回到前端的数据是空的。

解决问题

通过这行代码获取token,后续刷新token也是通过此处代码。

在登录接口处发现EasyNVS和EasyNVR交互的的方式通过username

至此,EasyNVR配置EasyNVS后,可以在EasyNVS上看到通道列表了。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2020-08-07 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • EasyNVS通道列表不显示数据
    • 分析问题:
    • 解决问题
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档