跳到主要内容
版本:5.X

获取历史消息

从服务端获取历史消息。

提示

Web 没有本地消息存储,消息从融云消息服务器拉取,超级群历史消息默认存储 7 天。如遇到问题,请检查控制台超级群服务页面设置的存储天数。

获取超级群会话历史消息

通过 getHistoryMessages,开发者可以拉取指定某个会话的历史消息记录。

参数说明

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

    参数类型必填说明
    targetIdString接收方的 userId
    conversationTypeNumberRongIMLib.ConversationType.ULTRA_GROUP。会话类型,参考 ConversationType
    channelIdString接收方的频道 Id
  • GetHistoryMessageOption 参数说明

    参数类型说明
    timestampnumber(可选项)获取此时间之前的消息,0 为从当前时间拉取
    countnumber(可选项)获取消息的数量。如果 SDK < 5.7.4,范围为 [1-20];如果 SDK ≧ 5.4.1,范围为 [1-100]。默认值 20
    ordernumber(可选项)获取消息的排列顺序,值为 0 或 1,0 为升序,1 为降序

代码示例

const conversation = {
conversationType: RongIMLib.ConversationType.ULTRA_GROUP,
targetId: '<目标用户Id>',
channelId: '',
}

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

从服务端获取特定批量消息

提示

从 SDK 版本 5.7.0 开始,该接口的返回数据类型由 IReceivedMessage 变更为 IAReceivedMessage

通过 getUltraGroupMessageListByMessageUId 根据消息 ID 获取消息。

参数说明

参数类型必填说明
optionIConversationOption接收方的 userId。参见下方 IConversationOption 参数说明
msgsIMessageDesc[]参见下方 IMessageDesc 参数说明
  • IConversationOption 参数说明

    参数类型必填说明
    targetIdString接收方的 userId
    conversationTypeNumberRongIMLib.ConversationType.ULTRA_GROUP。会话类型,参考 ConversationType
    channelIdString接收方的频道 Id
  • IMessageDesc 参数说明

    参数类型必填说明
    messageUIdString消息 Uid
    sendTimeNumber消息发送时间

代码示例

const conversationType = RongIMLib.ConversationType.ULTRA_GROUP
const targetId = ' 会话 Id '
const channelId = '<频道ID>'

RongIMLib.getUltraGroupMessageListByMessageUId({ conversationType, targetId, channelId }, msgs)
.then((res) => {
if (res.code === 0) {
console.log(res.code, res.data)
} else {
console.log(res.code, res.msg)
}
})
.catch((error) => {
console.log(error)
})