UNPKG

agora-edu-core

Version:

Core APIs for building an online classroom

68 lines (66 loc) 2.52 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = exports.CoVideoAction = void 0; var _configs = require("../../../../configs"); var _eventCenter = require("../../../../event-center"); var _type = require("../../../../type"); var _utils = require("../../../../utils"); let CoVideoAction = exports.CoVideoAction = /*#__PURE__*/function (CoVideoAction) { CoVideoAction[CoVideoAction["studentHandsUp"] = 1] = "studentHandsUp"; CoVideoAction[CoVideoAction["teacherAccept"] = 2] = "teacherAccept"; CoVideoAction[CoVideoAction["teacherRefuse"] = 3] = "teacherRefuse"; CoVideoAction[CoVideoAction["studentCancel"] = 4] = "studentCancel"; CoVideoAction[CoVideoAction["studentOffStage"] = 6] = "studentOffStage"; CoVideoAction[CoVideoAction["teacherReplayTimeout"] = 7] = "teacherReplayTimeout"; CoVideoAction[CoVideoAction["carousel"] = 10] = "carousel"; return CoVideoAction; }({}); class CMDHandler { constructor(_delegate) { this._delegate = _delegate; } exec(operator, cause, changedProperties, sceneId) { const currentSceneId = this._delegate.getCurrentSceneId(); if (sceneId !== currentSceneId) { return; } // cause may be undefined at first time const { cmd, data } = cause || {}; if (cmd === 501) { this.handleHandup(operator, data, changedProperties); } } handleHandup(operator, data, changedProperties) { const process = data.processUuid; const { sessionInfo: { userUuid, roomType } } = _configs.EduClassroomConfig.shared; if (process === 'handsUp') { switch (data.actionType) { case CoVideoAction.teacherAccept: { if (data.addAccepted.findIndex(item => item.userUuid === userUuid) !== -1 && (0, _utils.RteRole2EduRole)(roomType, operator.role) === _type.EduRoleTypeEnum.teacher) { _eventCenter.EduEventCenter.shared.emitClasroomEvents(_type.AgoraEduClassroomEvent.UserAcceptToStage); } break; } case CoVideoAction.studentOffStage: { if (data.removeAccepted.findIndex(item => item.userUuid === userUuid) !== -1 && (0, _utils.RteRole2EduRole)(roomType, operator.role) === _type.EduRoleTypeEnum.teacher) { _eventCenter.EduEventCenter.shared.emitClasroomEvents(_type.AgoraEduClassroomEvent.UserLeaveStage); } break; } } } } } var _default = exports.default = CMDHandler;