Flutter

查询历史消息

更新时间: 2024/03/07 13:08:29

NIM SDK 的QChatMessageService类提供查询圈组的历史消息的方法getMessageHistory。调用该方法可查询指定时间段内最多limit条历史消息。这里的limit指调用时指定的查询条数上限。

调用说明

调用该方法,必须传入需要查询消息所属的服务器 ID(serverId)和频道 ID(channelId)。查询范围由开始时间(fromTime)、结束时间(toTime) 和查询数量上限(limit) 共同决定。如果 fromTimetoTime 之间消息大于 limit 条,返回 limit 条记录;如果小于 limit 条,返回实际条数;当已经查询到头时,返回的结果数量可能会比 limit 小。

同时可以设置排除查询的消息ID,用于排除查询时起始时间锚点的消息。如果fromTime上有多条消息,可以指定excludeMessageId所代表的消息的时间作为实际的起始时间。

  • toTime 如果设置为 0 则代表服务器当前时间。
  • 首次查询时,推荐 fromTime=0, toTime=0 得到列表。再次查询时,则传入对应的fromTime, toTimeexcludeMessageId

示例代码

var paramMsgHistory = QChatGetMessageHistoryParam(serverId: serverId, channelId: channelId);
    NimCore.instance.qChatMessageService.getMessageHistory(paramMsgHistory).then((value){
      if (value.isSuccess) {
        //todo   success
      }
    });
此文档是否对你有帮助?
有帮助
去反馈
  • 调用说明
  • 示例代码