openConversationMessages method
打开会话:立即返回本地最新消息(不等网络),并异步增量同步。
UI 应:
- 用返回值立刻渲染
- 监听 messageChangeStream 在同步写库后刷新
Implementation
Future<MessageListResult> openConversationMessages({
required int talkMode,
required int toFromId,
int count = 30,
bool sync = true,
}) async {
final local = await _store.queryMessages(
talkMode: talkMode,
toFromId: toFromId,
cursor: '0',
limit: count,
);
if (sync) {
unawaited(syncConversationMessages(
talkMode: talkMode,
toFromId: toFromId,
pageSize: count,
));
}
if (talkMode == TalkMode.private) {
unawaited(_reportAndFetchRead(talkMode, toFromId, local.items));
}
return local;
}