UNPKG

agora-edu-core-lb

Version:

For publishing npm package agora-edu-core (Web & Electron). Get more information from https://docs.agora.io

299 lines (298 loc) 9.06 kB
import { EduRoleTypeEnum } from 'agora-rte-sdk'; import { IReactionDisposer } from 'mobx'; import { EduScenarioAppStore } from '.'; import { IAgoraExtApp } from '../api/declare'; import { RoomApi } from '../services/room-api'; import { ChatConversation, ChatMessage, QuickTypeEnum } from '../types'; import { EduClassroomStateEnum, SimpleInterval } from './scene'; import { SmallClassStore } from './small-class'; export declare enum CoVideoActionType { studentHandsUp = 1, teacherAccept = 2, teacherRefuse = 3, studentCancel = 4, teacherReplayTimeout = 7, carousel = 10 } export declare type CauseOperator = { cmd: number; data: { processUuid: string; addProgress: ProgressUserInfo[]; addAccepted: ProgressUserInfo[]; removeProgress: ProgressUserInfo[]; removeAccepted: ProgressUserInfo[]; actionType: CoVideoActionType; cmd: number; extAppCause: any; }; }; export declare type CauseData = { data: { processUuid: string; addProgress: ProgressUserInfo[]; removeProgress: ProgressUserInfo[]; actionType: CoVideoActionType; }; }; export declare type CauseResponder<T extends Partial<CauseData['data']>> = { readonly cmd: 501; readonly data: Readonly<T>; }; export declare type HandsUpDataTypes = HandsUpMessageData | CancelHandsUpMessageData | CloseCoVideoMessageData | AcceptMessageData | RefuseMessageData; export declare type HandsUpMessageData = Pick<CauseData['data'], 'actionType' | 'processUuid' | 'addProgress'>; export declare type CancelHandsUpMessageData = Pick<CauseData['data'], 'processUuid' | 'removeProgress' | 'actionType'>; export declare type CloseCoVideoMessageData = Pick<CauseData['data'], 'processUuid' | 'removeProgress' | 'actionType'>; export declare type AcceptMessageData = Pick<CauseData['data'], 'actionType' | 'processUuid' | 'addProgress'>; export declare type RefuseMessageData = Pick<CauseData['data'], 'actionType' | 'processUuid' | 'removeProgress'>; export declare type RosterUserInfo = { name: string; uid: string; onlineState: boolean; onPodium: boolean; micDevice: boolean; cameraDevice: boolean; cameraEnabled: boolean; micEnabled: boolean; whiteboardGranted: boolean; canCoVideo: boolean; canGrantBoard: boolean; stars: number; disabled: boolean; }; export declare type ProgressUserInfo = { userUuid: string; ts: number; }; declare type ProcessType = { reward: number; }; declare type RoomProperties = { board: { info: { boardAppId: string; boardId: string; boardToken: string; }; }; record: { state: number; roomType: number; }; reward: RoomRewardType; state: number; screen: { state: number; streamUuid: string; userUuid: string; selected: number; }; students: Record<string, ProcessType>; carousel: { state: 1 | 0; type: 1 | 2; range: 1 | 2; interval: number; }; }; declare type MinimizeType = { id: string; type: 'teacher' | 'student' | 'chat'; content: string; isHidden: boolean; animation: string; zIndex: number; height: number; width?: number; }; declare type RoomRewardType = { room: number; config: { roomLimit: number; }; }; declare type TrophyType = { minimizeTrigger: boolean; startPosition: { x: number; y: number; }; endPosition: { x: number; y: number; }; }; declare type ClassroomScheduleType = { /** * 课程开始时刻 单位:ms */ startTime: number; /** * 课程时长 单位:s */ duration: number; /** * 课程结束后延迟关闭时长 单位:s */ closeDelay: number; }; export declare enum RoomPropertiesChangeCause { studentRewardStateChanged = 1101 } export declare const networkQualities: { [key: string]: string; }; export declare class RoomStore extends SimpleInterval { static resolutions: any[]; history: any; operator: any; setHistory(history: any): void; resetRoomProperties(): void; roomProperties: RoomProperties; get flexProperties(): any; roomChatMessages: ChatMessage[]; get chatMessageList(): any[]; unreadMessageCount: number; joined: boolean; roomJoined: boolean; time: number; isStudentChatAllowed: boolean | undefined; windowWidth: number; windowHeight: number; trophyFlyout: TrophyType; /** * 当前时间(校验之后的) */ get calibratedTime(): number; timeShift: number; classroomSchedule?: ClassroomScheduleType; get studentsReward(): Record<string, ProcessType> | {}; get roomReward(): RoomRewardType | { room: number; config: { roomLimit: number; }; }; get liveClassStatus(): { classState: string; duration: number; }; /** * 当前所属于状态的时间段 单位:ms * 课程开始之前表示:距离开始上课多久 * 课程正在开始表示:已经上课多久 * 课程已经结束表示:已经下课多久 */ get classTimeDuration(): number; get isClassroomDelayed(): boolean; showTranslate: boolean; timer: any; trophyNumber: number; get isTrophyLimit(): boolean; unwind: MinimizeType[]; isBespread: boolean; isRed: boolean; additional: boolean; isJoiningRoom: boolean; roomApi: RoomApi; disposers: IReactionDisposer[]; appStore: EduScenarioAppStore; get sceneStore(): import("./scene").SceneStore; smallClassStore: SmallClassStore; coVideoUsers: Record<string, any>; constructor(appStore: EduScenarioAppStore); reset(): void; addChatMessage(args: any): void; get roomManager(): import("agora-rte-sdk").EduClassroomManager; get userUuid(): string; get isTeacher(): boolean; sendMessage(message: any): Promise<{ id: string; ts: number; text: any; account: string; sender: boolean; messageId: any; fromRoomName: string; }>; sendMessageToConversation(message: any, userUuid: string): Promise<{ id: string; ts: number; text: any; account: string; sender: boolean; messageId: any; fromRoomName: string; }>; setMessageList(messageList: ChatMessage[]): void; getConversationList(data: { nextId: string; sort: number; }): Promise<any>; getHistoryChatMessage(data: { nextId: string; sort: number; }): Promise<any>; getConversationHistoryChatMessage(data: { nextId: string; sort: number; studentUuid: string; }): Promise<any>; roomChatConversations: ChatConversation[]; get chatConversationList(): any[]; addConversationChatMessage(args: any, conversation: any): void; getConversation(userUuid: string): ChatConversation | null; sendReward(userUuid: string, reward: number): Promise<any>; kickOutOnce(userUuid: string, roomUuid: string): Promise<void>; kickOutBan(userUuid: string, roomUuid: string): Promise<void>; tickClassroom(): void; chatIsBanned(isStudentChatAllowed: boolean): void; checkClassroomNotification(): Promise<void>; get roomInfo(): import("../api/declare").RoomInfo; resetUnreadMessageCount(): void; incrementUnreadMessageCount(): void; get delay(): string; isBigClassStudent(): boolean; updateRewardInfo(): void; get eduManager(): import("agora-rte-sdk").EduManager; getSessionConfig(): { sceneType: number; userRole: string; }; getRoleEnumValue(userRole: string): EduRoleTypeEnum; get videoEncoderConfiguration(): import("./scene").SceneVideoConfiguration; pluginRoomProperties(extApp: IAgoraExtApp): any; joining: boolean; join(): Promise<void>; onClassStateChanged(state: EduClassroomStateEnum): Promise<void>; get isAssistant(): boolean; getRewardByUid(uid: string): number; leave(): Promise<void>; noticeQuitRoomWith(quickType: QuickTypeEnum): void; endRoom(): Promise<void>; get signalLevel(): number; get navigationState(): { cpuUsage: number; isStarted: boolean; title: string; signalQuality: any; networkLatency: number; networkQuality: string; packetLostRate: number; isNative: boolean; }; handleCause(operator: unknown, { oldRoomProperties, newRoomProperties }: { oldRoomProperties: any; newRoomProperties: any; }): void; startJoining(): void; stopJoining(): void; updateFlexProperties(properties: any, cause: any): Promise<any>; startCarousel({ range, type, interval, }: { range: number; type: number; interval: number; }): Promise<void>; stopCarousel(): Promise<void>; } export {};