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,界面需要为空值准备回退显示。
| 属性 | 类型 | 说明 |
|---|---|---|
userID | NSString * _Nullable | 被当前用户拉黑的目标用户 ID,也是列表合并标识。 |
nickname | NSString * _Nullable | 目标用户昵称,仅用于展示。 |
faceURL | NSString * _Nullable | 目标用户头像地址。 |
createTime | NSInteger | 黑名单关系创建时间。 |
addSource | NSInteger | 黑名单关系的添加来源。 |
operatorUserID | NSString * _Nullable | 执行拉黑操作的用户 ID。 |
attachedInfo | NSString * _Nullable | SDK 保留的附加信息;只在业务已有约定时解析。 |
ex | NSString * _Nullable | 扩展字段;只解析业务已经约定的内容。 |
如果黑名单页还要展示好友备注或其他公开资料,应按 userID 合并数据,并明确区分 OIMBlackInfo、OIMFriendInfo 和 OIMPublicUserInfo 的来源。
调用结果与增量变化
成功 callback 返回完整 NSArray<OIMBlackInfo *> *,应以它完整替换当前黑名单快照。该查询只读取数据,不会触发黑名单新增或删除 delegate。首次进入页面或用户主动刷新时,应重新调用该 selector 建立完整列表;写操作分别见拉黑用户和取消拉黑用户。
这个页面有帮助吗?