浏览 SDKs · WASM
SDKsWASM

加载历史消息

使用 WASM SDK 分页读取会话历史消息。

复制

聊天页面进入会话时使用 getAdvancedHistoryMessageList() 建立第一页快照;继续加载更早消息时,把当前最早一条消息的 clientMsgID 作为下一页游标。

参数说明

参数类型是否必填说明
conversationIDstring要读取历史消息的会话 ID。
startClientMsgIDstring分页锚点消息 ID;第一页传空字符串。
countnumber本次读取的消息数量。
viewTypeViewType消息查看方向;读取历史时使用 ViewType.History
import { ViewType } from '@openim/wasm-client-sdk';

const { data: page } = await openimsdk.getAdvancedHistoryMessageList({
  conversationID,
  startClientMsgID: oldestMessage?.clientMsgID ?? '',
  count: 30,
  viewType: ViewType.History,
});

prependMessages(page.messageList);

返回结果

Promise 成功后,dataAdvancedGetMessageResult

字段类型说明
messageListMessageItem[]当前页消息,消息字段见消息概览
isEndboolean是否已经到达当前加载方向的历史边界。
errCodenumber本次历史读取结果携带的状态码。
errMsgstringerrCode 对应的状态说明。

只有 errCode 表示成功时才合并 messageList;调用 Promise 被拒绝时仍按通用错误处理。按 conversationID 限定列表,并以 clientMsgID 去重;查询不会触发新消息事件。