SDKsFlutter
获取黑名单列表
使用 OpenIM Flutter SDK 获取当前用户的黑名单。
获取当前登录用户的完整黑名单列表,用于构建黑名单管理界面或在资料卡与会话中进行关系状态核验:
黑名单与群组管理属于两类独立能力。群内禁言、移除群成员或调整群角色应参考群成员管理相关能力;本接口仅读取当前登录用户单向维护的用户黑名单关系。
参数说明
该方法无需传入任何参数。
final blockedUsers = await OpenIM.iMManager.friendshipManager.getBlacklist();资料卡、会话操作菜单和联系人列表通常只需判断某个 userID 是否存在于黑名单中。建议使用 userID 构建快速判重的集合:
final blockedUserIDs = blockedUsers
.map((user) => user.userID)
.whereType<String>()
.toSet();
bool isBlocked(String userID) => blockedUserIDs.contains(userID);返回结果
Future 成功返回黑名单信息列表(List<BlacklistInfo>)。列表为空时表示当前未拉黑任何用户。
每个 BlacklistInfo 包含以下字段:
| 字段 | 类型 | 说明 |
|---|---|---|
userID | String | 被当前用户拉黑的目标用户 ID,客户端合并与状态判断唯一主键。 |
nickname | String? | 目标用户昵称,用于列表展示。 |
faceURL | String? | 目标用户头像地址。 |
ownerUserID | String | 黑名单关系所属用户 ID,即当前登录用户。 |
blockUserID | String | 黑名单关系中的被拉黑用户 ID;客户端合并仍统一使用 userID。 |
operatorUserID | String | 执行拉黑操作的用户 ID。 |
createTime | int | 黑名单关系创建时间,Unix 毫秒时间戳。 |
addSource | int | 黑名单关系的添加来源。 |
gender | int | 目标用户的性别枚举值。 |
ex | String? | 业务扩展字段字符串。 |
如果黑名单界面还需要展示好友备注或全量用户资料,应以 userID 作为关联主键合并数据,并区分不同数据模型的来源字段。
该查询为本地只读快照操作,不会触发黑名单的新增或删除事件监听。首次进入页面或用户下拉刷新时,可重新调用此接口拉取完整快照。黑名单写操作请参考拉黑用户与取消拉黑用户。
这个页面有帮助吗?