[zh-CN] 可注册到 ChatClient 的管理器基础接口。 [en-US] Base interface for managers that can be registered with ChatClient.

Constructors

Methods

  • 获取当前内存中的联系人列表视图。

    Returns readonly Contact[]

    返回当前联系人列表;若暂无可用数据则返回空数组。

    const contacts = client.contactManager.getContacts();
    console.log(contacts[0]?.userId);
  • 发送联系人申请。

    Parameters

    Returns Promise<void>

    成功时仅表示请求完成。

    await client.contactManager.addContact({
    userId: 'user-1',
    message: '我是 Alice',
    });
    Code 含义 HTTP 处理建议 可重试
    110 参数无效 - 传入非空字符串 userId;message 如需传入也必须是字符串
    204 用户不存在 404 确认用户 ID 正确
    1000 添加联系人失败:已是好友 - 根据错误原因修正后重试
    210 用户无权限:被对方拉黑 - 根据错误原因修正后重试
    1001 邀请方联系人数量已达上限 403 删除不再使用的联系人后重试,或联系服务端提升配额
    1002 被邀请方联系人数量已达上限 403 联系对方清理联系人列表
  • 删除联系人,并立即修补当前会话中的联系人快照。

    Parameters

    Returns Promise<void>

    成功时仅表示请求完成。

    await client.contactManager.deleteContact({
    userId: 'user-1',
    });
    Code 含义 HTTP 处理建议 可重试
    110 参数无效 - 传入非空字符串 userId
    204 用户不存在 404 确认用户 ID 正确
  • 接受联系人申请,并触发受控联系人刷新。

    Parameters

    Returns Promise<void>

    成功时仅表示请求完成。

    await client.contactManager.acceptContactInvite({
    userId: 'user-1',
    });
    Code 含义 HTTP 处理建议 可重试
    110 参数无效 - 传入非空字符串 userId
    204 用户不存在 404 确认用户 ID 正确
    1001 邀请方联系人数量已达上限 403 删除不再使用的联系人后重试
    1002 被邀请方联系人数量已达上限 403 联系对方清理联系人列表
  • 拒绝联系人申请。

    Parameters

    Returns Promise<void>

    成功时仅表示请求完成。

    await client.contactManager.declineContactInvite({
    userId: 'user-1',
    });
    Code 含义 HTTP 处理建议 可重试
    110 参数无效 - 传入非空字符串 userId
    204 用户不存在 404 确认用户 ID 正确
  • 设置联系人备注,允许传入空字符串以清空备注;设置成功后会同步刷新已有单聊会话的显示名称。

    Parameters

    Returns Promise<void>

    成功时无业务返回值;若本地存在对应单聊会话,会同步更新其显示名称并派发会话列表更新事件。

    await client.contactManager.setContactRemark({
    userId: 'user-1',
    remark: '产品同学',
    });
    Code 含义 HTTP 处理建议 可重试
    110 参数无效 - 传入非空字符串 userId,并确保 remark 为字符串;可传空字符串清空备注
    223 非好友不能设置备注 400 先添加好友再设置备注
    4 备注长度超限 400 缩短备注内容后重试
  • 获取当前用户的黑名单列表。

    Returns Promise<readonly UserInfo[]>

    返回黑名单用户资料列表。

    const blocklist = await client.contactManager.getBlocklist();
    console.log(blocklist.map(item => item.userId));
  • 批量添加黑名单用户,重复值会在请求前去重并保持原始顺序。

    Parameters

    Returns Promise<BlocklistAddResult>

    返回成功与失败两类用户资料列表。

    const result = await client.contactManager.addUsersToBlocklist({
    userIds: ['user-1', 'user-2'],
    });
    Code 含义 HTTP 处理建议 可重试
    110 参数无效 - 传入至少一个非空字符串 userId;重复值会由 SDK 去重
    204 黑名单添加失败:目标用户不存在 404 确认用户 ID 正确
    4 黑名单数量已达上限 400 移除不再需要的黑名单用户后重试
  • 批量移除黑名单用户,重复值会在请求前去重并保持原始顺序。

    Parameters

    Returns Promise<void>

    成功时仅表示请求完成。

    await client.contactManager.removeUserFromBlocklist({
    userIds: ['user-1'],
    });
    Code 含义 HTTP 处理建议 可重试
    110 参数无效 - 传入至少一个非空字符串 userId;重复值会由 SDK 去重
  • 注册联系人事件处理器,用于接收联系人关系事件;自动同步进度请在 ChatClient 级监听统一同步事件。

    Parameters

    • id: string

      事件处理器唯一 ID,用于后续移除。

    • handlers: ContactEventHandlerMap

      联系人事件处理器集合,按需实现对应回调。

    可监听事件

    onContactInvited, onContactDeleted, onContactAdded, onContactRefuse, onContactAgreed, onContactInfoUpdated

    ContactEventName

    Returns void

    注册完成后无返回值。

    client.contactManager.addEventHandler('contact-ui', {
    onContactAdded: event => {
    console.log(event.from);
    },
    });
  • 移除已注册的联系人同步事件处理器。

    Parameters

    • id: string

      待移除的事件处理器 ID。

    Returns void

    移除完成后无返回值。

    client.contactManager.removeEventHandler('contact-ui');