浏览 SDKs · iOS
SDKsiOS

获取黑名单列表

获取当前用户的黑名单。

复制

OpenIMSDK 黑名单记录当前用户主动拉黑的用户。调用 getBlackListWithOnSuccess:onFailure: 可获取完整列表,每条记录都是 OIMBlackInfo。这些数据可用于构建黑名单设置页、展示资料卡中的关系状态,以及限制聊天入口。

黑名单与群组管理是两类独立能力。禁言、移除群成员或调整群角色时,应使用群成员相关 API;该查询也不代表服务端的平台账号封禁状态。

获取黑名单

完成 SDK 初始化并登录后调用该 selector。成功 callback 返回空数组,表示当前用户的黑名单中没有用户。

[[OIMManager manager] getBlackListWithOnSuccess:^(NSArray<OIMBlackInfo *> *items) {
    [blacklistStore replaceItems:items];
} onFailure:^(NSInteger code, NSString *message) {
    NSLog(@"getBlackList failed: %ld %@", (long)code, message);
}];

资料卡、会话操作菜单和联系人列表通常只需判断某个 userID 是否在黑名单中。建议用 userID 建立集合,昵称和头像等字段仅用于展示。

黑名单记录字段

固定 SDK 中,OIMBlackInfo 继承 OIMPublicUserInfo。渲染列表时使用 userID 作为稳定 key;字符串属性均声明为 nullable,界面需要为空值准备回退显示。

属性类型说明
userIDNSString * _Nullable被当前用户拉黑的目标用户 ID,也是列表合并标识。
nicknameNSString * _Nullable目标用户昵称,仅用于展示。
faceURLNSString * _Nullable目标用户头像地址。
createTimeNSInteger黑名单关系创建时间。
addSourceNSInteger黑名单关系的添加来源。
operatorUserIDNSString * _Nullable执行拉黑操作的用户 ID。
attachedInfoNSString * _NullableSDK 保留的附加信息;只在业务已有约定时解析。
exNSString * _Nullable扩展字段;只解析业务已经约定的内容。

如果黑名单页还要展示好友备注或其他公开资料,应按 userID 合并数据,并明确区分 OIMBlackInfoOIMFriendInfoOIMPublicUserInfo 的来源。

调用结果与增量变化

成功 callback 返回完整 NSArray<OIMBlackInfo *> *,应以它完整替换当前黑名单快照。该查询只读取数据,不会触发黑名单新增或删除 delegate。首次进入页面或用户主动刷新时,应重新调用该 selector 建立完整列表;写操作分别见拉黑用户取消拉黑用户