SDKsFlutter
分页获取好友列表
使用 Flutter SDK 分页获取当前用户的好友列表。
分页拉取当前登录用户的好友数据:
参数说明
| 参数 | 类型 | 是否必填 | 说明 |
|---|---|---|---|
offset | int | 是 | 分页偏移量,起始值为 0。 |
count | int | 是 | 每页拉取的好友最大数量。 |
filterBlack | bool | 否 | 是否过滤已加入黑名单的好友。传入 true 表示过滤黑名单用户;传入 false 表示包含黑名单用户。 |
final friends = await OpenIM.iMManager.friendshipManager.getFriendListPage(
offset: 0,
count: 40,
filterBlack: true,
);返回结果
Future 成功返回当前页的好友信息列表(List<FriendInfo>)。
客户端应以 userID 为合并标识去重并按序追加到本地好友列表。当返回的列表长度小于 count 时,通常表明已到达列表末尾。
推荐始终使用分页接口获取好友数据,避免全量拉取造成性能损耗。该查询为本地快照读取,不会触发好友相关的事件监听。
监听好友变更事件
好友的新增、资料变更及删除事件在此集中监听与处理。在联系人状态管理层,应以 userID 作为增删改合并的唯一主键:
void handleFriendChanged(FriendInfo info) {
mergeFriend(info);
}
void handleFriendDeleted(FriendInfo info) {
final userID = info.userID;
if (userID != null) removeFriend(userID);
}Flutter SDK 在 FriendshipManager 中仅维护单个 OnFriendshipListener 实例。请把以上处理函数统一放入联系人状态层,并在事件概览的应用级集中入口中一次性注册,避免在各个视图 Widget 中重复覆盖监听实例。
这个页面有帮助吗?