/** * WebSocket 通信指令 * - 下行:服务端推送数据 * - 上行:客户端上报数据 */ export declare enum Command { /** 当前用户信息:下行 */ SelfUserInfo = "SELF_USER_INFO", /** 房间信息:下行 */ RoomInfo = "ROOM_INFO", /** RTC信息:下行 */ RTCInfo = "RTC_INFO", /** 用户列表:下行 */ UserList = "USER_LIST", /** 内置消息:下行、上行 */ BuiltinMsg = "BUILTIN_MSG", /** 自定义广播事件消息:下行、上行 */ CustomEvent = "CUSTOM_EVENT", /** 帧数据同步:下行、上行 */ KeyframeSync = "KEYFRAME_SYNC", /** 被踢出房间:下行 */ UserKickOut = "USER_KICK_OUT" } /** * 向服务端请求数据时的数据格式。 */ export type ReqLiveMsg = { /** * 请求指令。 */ command: Command; /** * 前端请求时生成的uuid()。 */ front_request_id: string | number; /** * 数据内容 */ data: { /** * 如果此数据仅发送给某些用户,请提供这些用户的ucid。 */ to_user_ids?: string[]; [key: string]: any; }; }; /** * 内置事件类型。 */ export declare enum BuiltinEventType { /** * 变更用户状态。 */ UserChange = "user_change", /** * 变更房间状态。 */ RoomChange = "room_change" } /** * 内置事件行为类型。 */ export declare enum BuiltinActionType { /** * 修改麦克风状态。 */ UserMicroStatus = "change_micro_status", /** * 同步当前用户状态:客户端麦克风状态已经修改成功,通知服务端 */ UserMicroStatusSync = "sync_micro_status", /** * 调整某些用户的权限。 */ UserPermission = "change_permission", /** * 用户状态发生改变。 */ UserStatus = "change_status", /** * 更新用户信息。 */ UserInfo = "change_info", /** * 关闭房间。 */ RoomClose = "close" } /** * 内置事件数据结构体。 */ export type BuiltinMsg = { event_type: BuiltinEventType; action: BuiltinActionType; to_user_ids: string[]; data: { extension?: Record; [key: string]: any; }; }; /** * 麦克风状态。 */ export declare enum MicroStatus { /** * 打开 */ OPEN = "OPEN", /** * 关闭 */ CLOSE = "CLOSE" } /** * 响应的信息结构体。 */ export type LiveMsg = { code: string; message: string; command: Command; roomCode: string; appId: string; requestId: string; frontRequestId: string; triggerUserId: string; data: Record | Record[]; }; /** * 解析下后端数据格式。 * @param jsonTxt - JSON序列化后的文本。 * @returns false 标识解析失败;解析成功返回 {@link LiveMsg} 实例。 */ export declare function parseLiveMsg(jsonTxt: string): LiveMsg | boolean;