searchMsgsByOptions method
~english Loads messages with the specified keyword from the local database.
Param options
search options, see MessageSearchOptions.
Returns The list of retrieved messages.
Throws A description of the exception. See EMError. ~end
~chinese 通过类型从数据库获取消息。
Param options
搜索配置项, 详情查看 MessageSearchOptions.
Return 消息列表。
Throws 如果有异常会在这里抛出,包含错误码和错误描述,详见 EMError。 ~end
Implementation
Future<List<EMMessage>> searchMsgsByOptions(
MessageSearchOptions options) async {
Map req = {};
req['ts'] = options.ts;
req['count'] = options.count;
req['direction'] = options.direction.index;
req.putIfNotNull("from", options.from);
req['types'] = options.types.map((e) => e.index).toList();
Map result =
await ChatChannel.invokeMethod(ChatMethodKeys.searchMsgsByOptions, req);
try {
EMError.hasErrorFromResult(result);
List<EMMessage> messages = [];
List list = result[ChatMethodKeys.searchMsgsByOptions];
for (var element in list) {
messages.add(EMMessage.fromJson(element));
}
return messages;
} catch (e) {
rethrow;
}
}