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

Constructors

Methods

  • 注册聊天室事件处理器,事件包括成员进出、禁言、allowlist、公告和属性变更等。

    Parameters

    • id: string

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

    • handlers: ChatRoomEventHandlerMap

      聊天室事件处理器集合,可只实现需要监听的回调。

    可监听事件

    onChatRoomDestroyed, onMembersJoined, onMembersExited, onRemovedFromChatRoom, onMuteListAdded, onMuteListRemoved, onAllowListAdded, onAllowListRemoved, onAllMemberMuteStateChanged, onAdminAdded, onAdminRemoved, onOwnerChanged, onAnnouncementChanged, onChatRoomInfoChanged, onAttributesUpdate, onAttributesRemoved

    ChatRoomEventName

    Returns void

    注册完成后无返回值。

    client.chatRoomManager.addEventHandler('chatroom-ui', {
    onMembersJoined: event => {
    console.log(event.chatRoomId, event.members);
    },
    });

    错误码 110:事件上下文未绑定。解决方式:先完成 SDK 初始化并注册 ChatRoomManager。

  • 移除指定 ID 的聊天室事件处理器。

    Parameters

    • id: string

      待移除的事件处理器 ID。

    Returns void

    移除完成后无返回值。

    client.chatRoomManager.removeEventHandler('chatroom-ui');
    

    错误码 110:事件上下文未绑定。解决方式:先完成 SDK 初始化并注册 ChatRoomManager。

  • 分页获取公开聊天室列表,并尽量补齐聊天室所有者资料。

    Parameters

    • params: ChatRoomPageParams = {}

      分页参数;pageNum 从 1 开始,pageSize 未传时使用服务端默认值。

    Returns Promise<
        {
            items: readonly ChatRoomSummary[];
            pageNum?: number;
            pageSize?: number;
            total?: number;
            hasMore?: boolean;
        },
    >

    返回聊天室摘要列表与分页信息。

    const result = await client.chatRoomManager.getChatRoomList({
    pageNum: 1,
    pageSize: 20,
    });

    REST 请求失败或登录态不可用时抛出统一 SDK 错误。

  • 获取绑定指定 chatRoomId 的单聊天室对象,便于后续在对象上调用成员、公告、属性等方法。

    Parameters

    • chatRoomId: string

      聊天室 ID,必填且不能为空字符串。

    Returns ChatRoom

    返回复用的单聊天室对象。

    const chatRoom = client.chatRoomManager.getChatRoom('chatroom-1');
    const detail = await chatRoom.getInfo();

    错误码 110chatRoomId 为空。解决方式:传入有效聊天室 ID。

  • 加入指定聊天室。该方法通过长连接聊天室操作发送加入请求。

    Parameters

    • params: JoinChatRoomParams

      加入参数,包含必填 chatRoomId,以及可选 extleaveOtherRooms

    Returns Promise<JoinChatRoomInfo>

    返回 ACK 附带的聊天室信息;服务端未附带信息时返回空对象。

    await client.chatRoomManager.joinChatRoom({
    chatRoomId: 'chatroom-1',
    ext: 'from-web',
    });
    Code 含义 HTTP 处理建议 可重试
    4 超过服务限制:加入聊天室数量超限 403 退出不再使用的聊天室后重试,或联系服务端提升限制
    704 聊天室成员已满 403 等待其他成员退出后重试,或联系聊天室管理员提升上限
    707 用户在聊天室黑名单中 403 联系聊天室管理员将用户从黑名单移除
    705 聊天室不存在 404 确认 chatRoomId 正确且聊天室仍存在