获取历史消息
从服务端获取历史消息。
提示
Web 没有本地消息存储,消息从融云消息服务器拉取,超级群历史消息默认存储 7 天。如遇到问题,请检查控制台超级群服务页面设置的存储天数。
获取超级群会话历史消息
通过 getHistoryMessages,开发者可以拉取指定某个会话的历史消息记录。
参数说明
参数 | 类型 | 说明 |
---|---|---|
conversation | IConversationOption | 获取消息所指定的会话。参见下方 IConversationOption 参数说明。 |
options | GetHistoryMessageOption | 可选项。参见下方 GetHistoryMessageOption 参数说明。 |
-
IConversationOption
参数说明参数 类型 必填 说明 targetId String 是 接收方的 userId
conversationType Number 是 RongIMLib.ConversationType.ULTRA_GROUP
。会话类型,参考 ConversationType。channelId String 否 接收方的频道 Id -
GetHistoryMessageOption
参数说明参数 类型 说明 timestamp number (可选项)获取此时间之前的消息,0 为从当前时间拉取 count number (可选项)获取消息的数量。如果 SDK < 5.7.4,范围为 [1-20];如果 SDK ≧ 5.4.1,范围为 [1-100]。默认值 20
。order number (可选项)获取消息的排列顺序,值为 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 获取消息。
参数说明
参数 | 类型 | 必填 | 说明 |
---|---|---|---|
option | IConversationOption | 是 | 接收方的 userId 。参见下方 IConversationOption 参数说明。 |
msgs | IMessageDesc[] | 是 | 参见下方 IMessageDesc 参数说明。 |
-
IConversationOption
参数说明参数 类型 必填 说明 targetId String 是 接收方的 userId
conversationType Number 是 RongIMLib.ConversationType.ULTRA_GROUP
。会话类型,参考 ConversationType。channelId String 否 接收方的频道 Id -
IMessageDesc
参数说明参数 类型 必填 说明 messageUId String 是 消息 Uid sendTime Number 是 消息发送时间
代码示例
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)
})