文档导航
Web
SDK 版本:  5.X
公告:融云新文档中心已上线,欢迎到新文档中心阅读 Web IMLibWeb IMKit 的文档。

获取历史消息

更新时间:2024-03-27 PDF

开通服务

从远端获取单群聊历史消息是指从融云服务端获取历史消息,该功能要求 App Key 已启用融云提供的单群聊消息云端存储服务。您可以在控制台 IM 服务管理页面为当前使用的 App Key 开启服务。如果使用生产环境的 App Key,请注意仅 IM 旗舰版IM 尊享版可开通该服务。具体功能与费用以融云官方价格说明页面及计费说明文档为准。

提示:请注意区分历史消息记录与离线消息?。融云针对单聊、群聊、系统消息默认提供最多 7 天(可调整)的离线消息缓存服务。客户端上线时 SDK 会自动收取离线期间的消息,无需 App 层调用 API。详见管理离线消息存储配置

获取历史消息

提示

Web 端不具备持久化的数据存储能力,无法在本地持久化存储历史消息记录与会话列表,因此需要从融云服务端获取数据。请确保已开通单群聊消息云端存储服务。

调用 getHistoryMessages 可以拉取指定某个会话的历史消息记录。

const conversation = {
    conversationType: RongIMLib.ConversationType.PRIVATE,
    targetId: "<目标用户Id>"
}

// 从当前时间开始向前查询
const option = {
    timestamp: 0,
    count: 20,
    order: 0
}

RongIMLib.getHistoryMessages(conversation, option).then(res => {
    if (res.code === 0) {
        console.log(res.data.list)
        console.log(res.data.hasMore)
    } else {
        console.log(res.code, res.msg)
    }
})

              
已复制
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21

参数 类型 说明
conversation IConversationOption 获取消息所指定的会话
options GetHistoryMessageOption 可选项。详见下方 GetHistoryMessageOption 说明
  • GetHistoryMessageOption 说明

    参数 类型 说明
    timestamp number (可选项)用于控制分页查询消息的边界。查询以此时间戳为基准,根据 order 决定查询早于或晚于该时间戳的消息。timestamp0 表示从当前时间开始获取。
    count number (可选项)获取消息的数量。如果 SDK < 5.7.4,范围为 [1-20];如果 SDK ≧ 5.7.4,范围为 [1-100]。默认值 20
    order number (可选项)查询消息的方向,值为 010 表示降序,即按消息发送时间(timestamp)递减的顺序,获取发送时间早于 timestamp 的消息。1 表示升序,即按消息发送时间(timestamp)递增的顺序,获取发送时间晚于 timestamp 的消息。

获取第一条未读消息信息

提示

本功能在 5.9.0 版本开始支持。
当没有未读消息时,返回的 data 为 null, 当第一条未读消息被撤回时,此信息不会更新。

调用 getFirstUnreadMessageInfo 可以获取第一条未读消息信息。

const conversation = {
    conversationType: RongIMLib.ConversationType.PRIVATE,
    targetId: "<目标用户Id>"
}

RongIMLib.getFirstUnreadMessageInfo(conversation).then(res => {
    if (res.code === 0) {
        console.log(res.data)
    } else {
        console.log(res.code, res.msg)
    }
})

              
已复制
1
2
3
4
5
6
7
8
9
10
11
12
13

参数 类型 说明
conversation IConversationOption 获取消息所指定的会话
文档反馈
意见反馈

您的改进建议

意见反馈

问题类型

联系我们

提交工单

技术支持|集成使用|产品方案


商务咨询

7 x 24 小时

为您解答方案与报价问题

131 6185 6839

文档反馈