initMessages method
Implementation
void initMessages(RCIMIWConversation con, {Function()? onSuccess}) {
_con = con;
RCIMIWMessageOperationPolicy policy =
RCIMIWMessageOperationPolicy.localRemote;
if (connectionStatus == RCIMIWConnectionStatus.networkUnavailable ||
connectionStatus == RCIMIWConnectionStatus.unconnected ||
connectionStatus == RCIMIWConnectionStatus.suspend ||
connectionStatus == RCIMIWConnectionStatus.timeout ||
connectionStatus == RCIMIWConnectionStatus.unknown) {
policy = RCIMIWMessageOperationPolicy.local;
}
engineProvider.engine?.getMessages(
con.conversationType ?? RCIMIWConversationType.invalid,
con.targetId ?? '',
con.channelId,
0,
RCIMIWTimeOrder.before,
policy,
20,
callback: IRCIMIWGetMessagesCallback(
onSuccess: (t) {
// 将消息列表倒置
_messages = t?.reversed.toList() ?? [];
notifyListeners();
WidgetsBinding.instance.addPostFrameCallback((_) {
messageListScrollToBottom();
});
onSuccess?.call();
RCIMWrapperPlatform.instance.writeLog(
'RCKChatProvider initMessages',
'',
0,
'onSuccess t: ${t?.length}');
},
onError: (code) {
RCIMWrapperPlatform.instance.writeLog(
'RCKChatProvider initMessages', '', code ?? 0, 'onError');
},
));
}