UNPKG

@hongtangyun/rooms-sdk

Version:

JavaScript SDK Client for hongtangyun rooms-sdk.

193 lines (192 loc) 3.96 kB
import { EquipmentInfo } from '../types'; import { RoomEvents } from '../socket/types'; import { UserRole, UserSubRole } from './Enums'; export interface TokenInfo { userInfo: { role: number; id: number; roomid: string; creatorId: string; }; iat: Date | number; exp: Date | number; } export interface UserRoleInfo { role: number; mainRole: UserRole; subRole: UserSubRole; isSubRole: boolean; isMainRole: boolean; } export interface Config { /** * 房间token */ token: string; /** * 调试模式 */ debug?: boolean; /** * 接口域名 */ host?: string; /** * 设备信息 */ equipment?: EquipmentInfo; } export interface MicroTempInfo { /** * 代码环境 */ codeType: 'dev' | 'master' | 'qa'; _id: string; url: string; icon: string; name: string; } export interface RoomUserType { id: number; /** * uid 用户 role + id 拼接 * webrtc 使用此id */ uid?: number; name: string; avatar: string; role: UserRole; roomId?: string; } export interface RoomTempType { status: boolean; _id: string; name: string; url: string; config: string; created: Date; updated: Date; icon: string; path: string; rtcNumber: number; platform: { web: boolean; mobile: boolean; }; } export interface RtcInfoType { type: 'agoral' | 'tencent'; uid: number; channel: string; appid: string; token: string; } export interface SocketInfoType { url: string; } export interface RoomInfoType { roomInfo: { _id: string; name: string; created: Date; updated: Date; roomTempConfig: string; roomTempId: string; users: Array<RoomUserType>; }; roomTemp: RoomTempType; socketInfo: SocketInfoType; userInfo: RoomUserType; /** * 服务器时间 */ onlineTime: number; } export interface SDKRoomInfoType extends RoomInfoType { _id?: string; /** * 各用户权限列表 */ users: { [key in UserRole]: RoomUserType[]; } | object; /** * 房间开始时间 */ startTime: number; /** * 房间结束时间 */ endTime: number; } export interface RoomActionsItem extends RoomEvents { uuid: string; time: Date | number; created?: Date | string; } export interface RoomInitActionsItem extends RoomActionsItem { /** * 动作总次数 */ __COUNT__?: number; } export type StorageType = 'COS' | 'OSS'; export type COS_INFO = { expiredTime: number; expiration: string; credentials: { sessionToken: string; tmpSecretId: string; tmpSecretKey: string; }; requestId: string; startTime: number; bucket: string; region: string; }; export type OSS_INFO = { accessKeyId: string; accessKeySecret: string; bucket: string; region: string; stsToken: string; cname: boolean; endpoint: string; }; export type PaperItem = { created: string; id: string; name: string; /** * 选项乱序 * [1] 未乱 * [2] */ optionOrder: 1 | 2; questionNumber: number; /** * 试题乱序 * [1] 未乱 * [2] 未乱 */ questionOrder: 1 | 2; score: number; /** * 发布状态 * [1] * [2] 未发 */ status: 1 | 2; tags: string | []; /** * 状态 * [1] 文档型试卷 * [2] 在线型试卷 * [3] url型试卷 * [4] wps型试卷 */ type: 1 | 2 | 3 | 4; updated: string; sourceObj?: any; sourceUrl?: any; };