SDKsWASM商业版
反向加载历史消息
从消息锚点向较新消息方向分页读取历史记录。
当已经持有某一消息锚点(例如通过搜索或引用回复跳转到某条历史消息),需要向后(向较新方向)补齐加载后续消息时,可调用反向拉取接口 getAdvancedHistoryMessageListReverse():
参数说明
| 参数 | 类型 | 是否必填 | 说明 |
|---|---|---|---|
conversationID | string | 是 | 要读取消息的会话 ID。 |
startClientMsgID | string | 是 | 向较新方向读取时使用的锚点消息 ID。 |
count | number | 是 | 本次读取的消息数量。 |
viewType | MessageViewType | 是 | 消息查看方向;读取历史时使用 MessageViewType.History。 |
import { MessageViewType } from '@openim/wasm-client-sdk';
const { data: page } =
await openimsdk.getAdvancedHistoryMessageListReverse({
conversationID,
startClientMsgID: anchorMessage.clientMsgID,
count: 30,
viewType: MessageViewType.History,
});接口调用成功后,返回的 data 为 AdvancedMessageListResult 对象。详细字段含义请参考加载历史消息;此接口返回的 isEnd 为 true 时,表示向较新方向已加载至最新消息边界。
在列表渲染时,请根据界面滚动方向分别管理向上与向下加载,并将拉取到的消息按 clientMsgID 进行合并去重。该操作为只读拉取,不会触发新消息推送事件。
这个页面有帮助吗?