UNPKG

@rongcloud/plugin-wechat-rtc

Version:

@rongcloud/plugin-wechat-rtc

265 lines 5.3 kB
import { INaviInfo } from '@rongcloud/engine'; import { PullRoomStatusEvent } from '../enums/inner/PullRoomStatusEvent'; /** * 设置 RTC 人员 inner、outer 数据 */ export interface IRTCUserData { [key: string]: string; } export interface IRtcTokenData { rtcToken: string; } /** * 加入 RTC 房间的用户信息 */ export interface IRTCJoinedInfo { /** * 设备 ID */ deviceId: string; /** * RTC 房间 ID */ roomId: string; /** * 加入的时间戳 */ joinTime: number; } export interface IRTCRoomInfo { roomId: string; roomData: unknown[]; userCount: number; list: unknown[]; } export interface IServerRTCRoomEntry { key: string; value: string; status: number; timestamp: number; uid: string; } export interface IRTCUsers { users: { [userId: string]: { /** * 发布的资源数据,是一个 JSON 字符串,解析后为发布的资源列表 */ uris?: string; /** * 加房间的身份标识,保存主房间 roomId */ extra?: string; }; }; } export interface IJoinRTCRoomData extends IRTCUsers { token: string; sessionId: string; roomInfo: { key: string; value: string; }[]; kvEntries: IServerRTCRoomEntry[]; offlineKickTime: number; codeFormat?: string; roomCreateTime?: number; userJoinTime?: number; version: number; } export interface IReqRoomPKOptions { /** * 当前房间 ID */ roomId: string; /** * 被邀请房间 ID */ invitedRoomId: string; /** * 被邀请用户 ID */ invitedUserId: string; /** * 本次邀请超时时间 */ inviteTimeout: number; /** * 本次邀请额外信息 */ inviteInfo: string; /** * 本次邀请唯一 ID */ inviteSessionId: string; } export interface ICancelRoomPKOptions { /** * 当前房间 ID */ roomId: string; /** * 被邀请房间 ID */ invitedRoomId: string; /** * 被邀请用户 ID */ invitedUserId: string; /** * 本次邀请额外信息 */ inviteInfo: string; /** * 本次邀请唯一 ID */ inviteSessionId: string; } export interface IResRoomPKOptions { /** * 当前房间 ID */ roomId: string; /** * 邀请者 ID */ inviteUserId: string; /** * 邀请者房间 ID */ inviteRoomId: string; /** * 邀请的 session ID */ inviteSessionId: string; /** * 需要转发的信息 */ content: string; /** * 同意邀请时要设置的 key, 放在room级别的k和v,新加入房间的能拉取到 */ key: string; /** * 同意邀请时要设置的 value, 放在room级别的k和v,新加入房间的能拉取到 */ value: string; /** * 是否同意邀请 */ agree: boolean; } export interface IEndRoomPKOptions { /** * 当前房间 ID */ roomId: string; /** * 需要结束的连麦房间 ID */ endRoomId: string; /** * 需要结束连麦的 sessionID */ sessionId: string; /** * 结束连麦的信息 */ content: string; /** * 需要删除连麦的信息的 keys */ keys: string[]; } export interface IRTCNaviInfo extends INaviInfo { /** * jwt token */ jwt?: string; /** * http3 上报域名 */ logServer?: string; /** * 数据中心 */ dc?: string; /** * openGzip 开启标识,默认是false,开启使用true */ openGzip?: boolean; } /** * 通知拉取到的房间增量数据 */ export interface IRoomStatus { /** * 用户 id */ userId: string; /** * 本次变更的动作类型 */ event: PullRoomStatusEvent; /** * 本次变更的版本号 */ time: number; /** * 用户变更的资源,event 为人员加入或资源变动时有值 * key 包含 uris、cdn_uris、mcu_uris * value 为字符串数组 */ userData: { key: string; value: string; }[]; /** * 切换角色,0 代表非切换身份发生的加入、退出房间行为 */ switchRoleType: 0; /** * 额外的信息 */ extra: string; } /** * 通知拉取到的房间全量数据 */ export interface IPullRTCRoomUsersData { /** * 用户 id */ userId: string; /** * 房间内所有资源数据 * key 包含 uris、cdn_uris、mcu_uris * value 为字符串数组 */ userData: { key: string; value: string; }[]; } /** * 通知拉取到的房间数据 */ export interface IPullRTCRoomStatus { /** * 是否是全量数据 */ bFullStatus: boolean; /** * 当前房间的最大版本号 */ version: number; /** * 如果是全量数据,usersData 不为空,给的是房间全部的人以及发布的资源 */ usersData: IPullRTCRoomUsersData[]; /** * 房间增量数据 */ roomStatus: IRoomStatus[]; } //# sourceMappingURL=interface.d.ts.map