loadMessagesFromTime method
Loads messages from the local database according the following parameters: start timestamp, end timestamp, count.
Note Pay attention to the memory usage when the maxCount is large.
Param startTime
The starting Unix timestamp for search.
Param endTime
The ending Unix timestamp for search.
Param count
The maximum number of message to retrieve.
Returns The list of searched messages.
Throws A description of the exception. See ChatError.
Implementation
Future<List<ChatMessage>> loadMessagesFromTime({
required int startTime,
required int endTime,
int count = 20,
}) async {
Map req = this._toJson();
req["startTime"] = startTime;
req['endTime'] = endTime;
req['count'] = count;
Map<String, dynamic> result = await _emConversationChannel.invokeMethod(
ChatMethodKeys.loadMsgWithTime, req);
try {
ChatError.hasErrorFromResult(result);
List<ChatMessage> msgList = [];
result[ChatMethodKeys.loadMsgWithTime]?.forEach((element) {
msgList.add(ChatMessage.fromJson(element));
});
return msgList;
} on ChatError catch (e) {
throw e;
}
}