queryUnReadMessageList static method

Future<List<LVIMMsg>> queryUnReadMessageList(
  1. String uid,
  2. int dbid,
  3. int limit,
  4. bool desc,
)

查询未读消息数据,可分页返回数据

@param uid 某个人的UID @param dbid 分页参考数据的数据库id。当正序查询时,第一页传0,从第二页开始传前一页的最后一个数据的dbid;当倒序查询时,第一页传一个大数, 从第二页开始传前一页的最后一个数据的dbid。 @param limit 限制结果数量,最大可以传50,默认为20 @param desc 是否倒序查询 @return 成功返回未读消息数据列表,失败返回空列表

Implementation

static Future<List<LVIMMsg>> queryUnReadMessageList(String uid, int dbid, int limit, bool desc) async {
  Map reslut = await _channel.invokeMethod("queryUnReadMessageList",{
    "sessionid": uid,
    "dbid": dbid,
    "limit": limit,
    "desc": desc
  });
  List list = reslut['listImMsg'];
  List<LVIMMsg> listImMsg = [];
  for (var msg in list) {
    LVIMMsg lvimMsg;
    if (msg["subType"] != null &&
        msg["subType"].toInt() == LVIMEnumDefine.IM_SUBTYPE_IMAGE) {
      lvimMsg = LVIMImageMsg();
    } else if (msg["subType"] != null &&
        msg["subType"].toInt() == LVIMEnumDefine.IM_SUBTYPE_AUDIO) {
      lvimMsg = LVIMAudioMsg();
    } else if (msg["subType"] != null &&
        msg["subType"].toInt() == LVIMEnumDefine.IM_SUBTYPE_VIDEO) {
      lvimMsg = LVIMVideoMsg();
    } else {
      lvimMsg = LVIMMsg();
    }
    lvimMsg.convertFromMap(msg);
    listImMsg.add(lvimMsg);
  }
  return listImMsg;
}