IM如何在离线登录后获取到多个会话的未读消息数量?

  • 回答 (3)
  • 关注 (2)
  • 查看 (147)

现在我有一个会话列表页面需要添加上未读消息提醒,但是我只能在登录时通过onMsgNotify监听到在线收到的未读消息,而离线登录后我调用了webim.getRecentContactList获取最近会话列表,但列表中的UnreadMsgCount字段一直为0,我就提交工单询问,他和我说这里就是为0获取不了,让我用unread,好我信了,但是搞笑的是 webim.MsgStore.sessMap()我在事件外想获取就是个空的,根本不行,有没有人了解的,解答一下到底该如何做这个离线登录后获取此期间的未读消息数量

用户4807543用户4807543提问于
风子猪未来的前端开发工程师!成长的路上加油!勿忘初心方得始终回答于
推荐

您好,建议按照以下步骤操作:

1. 离线上线后调用 webim.syncMsgs(updateUnreadCount); // 同步未读消息。

2. 在updateUnreadCount 回调函数中调用 webim.MsgStore.sessMap();获取会话列表,返回值是Object类型的。

3. 遍历这个会话列表,在取得的session对象中 session.unread()获取对应会话的未读计数。

用户2207887回答于

我现在也是这种问题,获取最近的会话然后里面有UnreadMsgCount字段一直为0,我不知道这个字段不能用为什么还要设置。想知道楼主最后是怎么解决这个问题的?

用户5933652回答于

所属标签

可能回答问题的人

  • 腾讯云技术服务团队

    腾讯云 · 技术服务团队 (已认证)

    18 粉丝0 提问3 回答
  • 宝哥@devops运维

    腾讯 · 高级云计算工程师 (已认证)

    54 粉丝0 提问0 回答
  • elliswu

    腾讯计算机系统有限公司 · 高级工程师 (已认证)

    3 粉丝0 提问0 回答
  • 腾讯云通信团队

    腾讯 · 腾讯云通信团队 (已认证)

    47 粉丝0 提问24 回答
  • jansonjiang

    腾讯 · 技术咨询工程师 (已认证)

    3 粉丝0 提问1 回答
  • 龙泉

    1 粉丝1 提问3 回答

扫码关注云+社区

领取腾讯云代金券