SDKsWASM商业版
读取消息上下文
使用 WASM SDK 读取一条消息前后的上下文。
当用户从搜索结果、引用消息或通知跳转至聊天窗口中的目标消息时,可调用 fetchSurroundingMessages(),以该目标 MessageItem 为锚点,一次性读取其上下文前后的相关消息:
参数说明
| 参数 | 类型 | 是否必填 | 说明 |
|---|---|---|---|
startMessage | MessageItem | 是 | 已经取得的锚点消息。 |
viewType | MessageViewType | 是 | 上下文查看方向;历史消息使用 MessageViewType.History。 |
before | number | 是 | 锚点之前最多读取的消息数量。 |
after | number | 是 | 锚点之后最多读取的消息数量。 |
import { MessageViewType } from '@openim/wasm-client-sdk';
const { data: surrounding } = await openimsdk.fetchSurroundingMessages({
startMessage: targetMessage,
viewType: MessageViewType.History,
before: 20,
after: 20,
});
renderMessages(surrounding.messageList);接口调用成功后,data.messageList 即为围绕锚点按时间顺序排布的 MessageItem[] 消息列表,详细字段见消息概览。
参数 before 与 after 分别控制锚点前后的读取数量上限。实际拉取到的条数可能少于请求数量(例如锚点靠近边界或部分消息已删除)。将上下文消息并入现有列表时,建议通过 clientMsgID 匹配去重。若尚未获取到目标锚点对象,可先参考按 ID 查找消息获取。
这个页面有帮助吗?