/** * 用户当前状态枚举。 */ export declare enum UserStatus { /** * 正常 */ Normal = 0, /** * 被移除 */ Removed = 1, /** * 被替换 */ Replaced = 2 } /** * 内存中的用户状态枚举 * * 用于表示用户在内存中的状态,与 UserStatus 不同,这个状态更详细地描述了用户的生命周期。 */ export declare enum MemUserStatus { /** * 等待进入房间 */ WAIT_ENTER = "WAIT_ENTER", /** * 在线 */ ONLINE = "ONLINE", /** * 已离开 */ LEAVE = "LEAVE", /** * 被踢出 */ KICK_OUT = "KICK_OUT", /** * 被替换 */ BE_REPLACE = "BE_REPLACE", /** * 异常状态 */ EXCEPTION = "EXCEPTION" } /** * 用户信息扩展字段:比如提供用户画像相关的数据。 */ export type UserInfoExt = { /** * 用户昵称。 */ nickname?: string; /** * 用户头像。 */ avatar?: string; /** * 其他用户相关的字段,比如用户职称、住址、联系方式等信息。 */ [key: string]: any; }; /** * 带看会话房间用户的信息格式。 */ export type UserInfo = { /** * 用户唯一标识ID。 */ id: string; /** * 用户当前的状态。 */ status?: UserStatus; /** * 内存中的用户状态。 */ mem_user_status?: MemUserStatus; /** * 用户当前是否开启麦克风。 */ micro_status: boolean; /** * 用户角色定义。(前端不关注此字段)。 */ user_role?: number | string; /** * 用户当前是否在线。 */ current_ws_online?: boolean; /** * 用户曾经是否在线过,即进入房间后又由于某种原因离开后重新进入。 */ once_ws_online?: boolean; /** * RTC 环境是否就绪,即当前语音是否联通。 */ rtc: boolean; /** * 当前用户的权限配置。(UI层面理解)。 */ permission?: Partial; /** * 用户信息扩展字段。 */ extension?: UserInfoExt; }; /** * 用户权限配置接口 * * 定义了用户在带看房间中的各种权限。所有权限都是布尔值,true 表示拥有该权限。 */ export interface Permission { /** * 切换更多 VR 场景的权限 */ more_vr_scene: boolean; /** * 邀请其他用户进入房间的权限 */ invite_other: boolean; /** * 控制自己麦克风的权限 */ control_own_micro: boolean; /** * 控制其他用户麦克风的权限 */ control_other_micro: boolean; /** * 查看自己麦克风状态的权限 */ view_own_micro_status: boolean; /** * 查看其他用户麦克风状态的权限 */ view_other_micro_status: boolean; /** * 关闭带看房间的权限 */ close_live_room: boolean; /** * 申请获取其他用户电话的权限 */ apply_other_phone: boolean; /** * 动态进入房间的权限 */ dynamic_enter: boolean; /** * 同步帧数据的权限 */ sync_frame: boolean; /** * 改变用户角色的权限 */ transfer_role: boolean; /** * 改变其他用户状态的权限(如踢出用户) */ change_other_status: boolean; /** * 控制其他用户全量同步帧数据权限的权限 */ control_other_sync: boolean; /** * 其他扩展权限点 */ extension: Record; }