searchMsgsByOptions method

Future<List<ChatMessage>> searchMsgsByOptions(
  1. MessageSearchOptions options
)

通过类型从数据库获取消息。

Param options 搜索配置项, 详情查看 MessageSearchOptions.

Return 消息列表。

Throws 如果有异常会在这里抛出,包含错误码和错误描述,详见 ChatError

Implementation

Future<List<ChatMessage>> searchMsgsByOptions(
    MessageSearchOptions options) async {
  try {
    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 platform_interface.Client.instance.chatManager
        .callNativeMethod(ChatMethodKeys.searchMsgsByOptions, req);
    ChatError.hasErrorFromResult(result);
    List<ChatMessage> messages = [];
    List list = result[ChatMethodKeys.searchMsgsByOptions];
    for (var element in list) {
      messages.add(ChatMessage.fromJson(element));
    }
    return messages;
  } catch (e) {
    rethrow;
  }
}