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

Constructors

Properties

capabilities: readonly ["userInfo:read", "rawNotify:userInfo"] = ...

[zh-CN] 管理器声明的能力列表。 [en-US] Capabilities declared by the manager.

Methods

  • 注册用户资料事件处理器,用于接收当前用户资料更新和订阅用户资料变更通知。

    Parameters

    • id: string

      事件处理器 ID,同一个 ID 再次注册会覆盖旧处理器。

    • handlers: UserInfoEventHandlerMap

      用户资料事件处理器集合。

    可监听事件

    onOwnInfoUpdated, onUserInfoUpdated

    UserInfoEventName

    Returns void

    无返回值。

    client.userInfoManager.addEventHandler('profile-listener', {
    onOwnInfoUpdated: profile => {
    console.log(profile.nickname);
    },
    onUserInfoUpdated: users => {
    console.log(users.map(user => user.userId));
    },
    });
  • 移除指定 ID 的用户资料事件处理器,停止接收对应事件回调。

    Parameters

    • id: string

      注册时传入的事件处理器 ID。

    Returns void

    无返回值。

    client.userInfoManager.removeEventHandler('profile-listener');
    
  • 按用户 ID 查询用户资料属性;未指定属性时查询 SDK 默认资料字段。

    Parameters

    Returns Promise<readonly UserInfo[]>

    返回标准化后的用户资料数组,仅包含服务端命中的用户。

    const users = await client.userInfoManager.getUserInfoByUserId({
    userIds: ['alice', 'bob'],
    });
    console.log(users[0]?.avatarUrl);
    Code 含义 HTTP 处理建议 可重试
    110 参数无效 - 传入非空用户 ID 数组,并确保每个用户 ID 都是非空字符串
    900 批量查询用户数超限 400 减少单次查询的用户数量后重试
    204 用户不存在 404 确认用户 ID 正确
    4 超过服务限制 429 降低请求频率后重试
  • 按用户 ID 和指定属性集查询用户资料,适合只读取昵称、头像等部分字段。

    Parameters

    Returns Promise<readonly UserInfo[]>

    返回标准化后的用户资料数组。

    const users = await client.userInfoManager.getUserInfoByAttribute({
    userIds: ['alice'],
    attributes: ['nickname', 'avatarUrl'],
    });
    console.log(users[0]?.nickname);
    Code 含义 HTTP 处理建议 可重试
    110 参数无效 - 传入非空用户 ID 数组和非空资料属性数组,并确保属性名属于支持范围
    900 批量查询用户数超限 400 减少单次查询的用户数量后重试
    204 用户不存在 404 确认用户 ID 正确
    4 超过服务限制 429 降低请求频率后重试
  • 订阅指定陌生人用户的资料变化;订阅成功后可通过用户资料事件处理器接收变更通知。

    Parameters

    Returns Promise<void>

    成功时无返回值。

    await client.userInfoManager.subscribeUsersInfo({
    userIds: ['alice', 'bob'],
    });
    Code 含义 HTTP 处理建议 可重试
    202 用户鉴权失败 401 刷新 token 后重试
    210 服务未开通或无权限 403 检查服务开通状态与账号权限后重试
    1600 订阅人数超限 400 减少单次订阅的目标用户数量后重试
    1601 目标用户被订阅人数超限 400 更换订阅目标或稍后重试
    4 超过服务限制 429 降低请求频率后重试
    303 服务请求通用错误:服务端内部错误 500 稍后重试或联系服务端排查
  • 取消订阅指定陌生人用户的资料变化;取消后不再接收这些用户的资料变更通知。

    Parameters

    Returns Promise<void>

    成功时无返回值。

    await client.userInfoManager.unsubscribeUsersInfo({
    userIds: ['alice'],
    });
    Code 含义 HTTP 处理建议 可重试
    202 用户鉴权失败 401 刷新 token 后重试
    210 服务未开通或无权限 403 检查服务开通状态与账号权限后重试
    1600 订阅人数超限 400 减少单次订阅的目标用户数量后重试
    1601 目标用户被订阅人数超限 400 更换订阅目标或稍后重试
    4 超过服务限制 429 降低请求频率后重试
    303 服务请求通用错误:服务端内部错误 500 稍后重试或联系服务端排查
  • 查询当前用户已订阅资料变化的陌生人列表,并返回这些用户的标准化资料。

    Returns Promise<readonly UserInfo[]>

    返回标准化后的用户资料数组。

    const users = await client.userInfoManager.getSubscribedUsers();
    console.log(users.map(user => user.userId));
    Code 含义 HTTP 处理建议 可重试
    202 用户鉴权失败 401 刷新 token 后重试
    210 服务未开通或无权限 403 检查服务开通状态与账号权限后重试
    1600 订阅人数超限 400 减少单次订阅的目标用户数量后重试
    1601 目标用户被订阅人数超限 400 更换订阅目标或稍后重试
    4 超过服务限制 429 降低请求频率后重试
    303 服务请求通用错误:服务端内部错误 500 稍后重试或联系服务端排查
  • 更新当前登录用户的一个或多个资料属性,例如昵称、头像、邮箱、手机号、签名或扩展字段。

    Parameters

    Returns Promise<UserInfo>

    返回标准化后的当前用户资料。

    const profile = await client.userInfoManager.updateOwnInfo({
    nickname: 'Alice',
    avatarUrl: 'https://example.com/avatar.png',
    });
    console.log(profile.userId, profile.nickname);
    Code 含义 HTTP 处理建议 可重试
    110 参数无效 - 至少传入一个可更新字段,并确保字段值类型合法
    901 用户资料数据长度超限 403 缩短资料字段内容后重试
    204 用户不存在 404 确认用户已注册
    4 超过服务限制 429 降低请求频率后重试
  • 更新当前登录用户的单个资料属性,适合只修改昵称、头像等一个字段的场景。

    Parameters

    • attribute: UserInfoAttribute

      需要更新的资料属性。

    • value: string | number | boolean

      属性值;空字符串、false0 都是合法值。

    Returns Promise<UserInfo>

    返回标准化后的当前用户资料。

    const profile = await client.userInfoManager.updateOwnInfoByAttribute(
    'avatarUrl',
    'https://example.com/avatar.png'
    );
    console.log(profile.avatarUrl);
    Code 含义 HTTP 处理建议 可重试
    110 参数无效 - 仅使用支持的资料属性,并确保属性值类型合法
    901 用户资料数据长度超限 403 缩短资料字段内容后重试
    204 用户不存在 404 确认用户已注册
    4 超过服务限制 429 降低请求频率后重试