import SDKCommandBase from "./SDKCommandBase"; import * as SDKLogicsCore from "../SDKLogics/SDKLogicsCore"; import SDKUserInfo from "../SDKLogics/SDKUserInfo"; import * as ZMSDK from "../ZMSDK"; import SDKPacketPool from "../SDKNetwork/SDKPacketPool"; import * as SDKRegistCommand from "../SDKConst/SDKRegistCommand"; import SDKApp from "../SDKBase/SDKApp"; import SDKWebDashBoradController from "../SDKController/SDKWebDashBoradController"; import SDKContrllerManager from "../SDKController/SDKContrllerManager"; import * as SDKControllerConst from "../SDKConst/SDKControllerConst"; /** * 处理ZML课件发送到课件的用户信息 */ export default class SDKUserInfoCMD extends SDKCommandBase { public execute(data: any): void { super.execute(data); /**将自己的id设置到公共信息里去 方便外界调用 */ SDKLogicsCore.parameterVo.userId = data["mobile"]; if (ZMSDK.isTeacher()) { SDKLogicsCore.controllState.controllerId = SDKLogicsCore.parameterVo.userId; let controller: SDKWebDashBoradController; controller = SDKContrllerManager.instance().getController(SDKControllerConst.WEB_DASHBORAD) as SDKWebDashBoradController; if (controller) { controller.setController(SDKLogicsCore.controllState.controllerId); } console.log("controller......", SDKLogicsCore.parameterVo.userId); } let userInfo: SDKUserInfo; userInfo = new SDKUserInfo(); userInfo.userId = data["mobile"]; userInfo.name = data["name"]; userInfo.avatar = data["avatar"]; userInfo.watchMobile = data["watchMobile"]; userInfo.role = SDKLogicsCore.parameterVo.role; if (ZMSDK.isTeacher() || ZMSDK.isStudent()) { SDKLogicsCore.userInfos.addUserInfo(userInfo); } SDKLogicsCore.parameterVo.observerId = userInfo.watchMobile; console.error("观察的对象........",userInfo.watchMobile); let watcherUser: SDKUserInfo; watcherUser = SDKLogicsCore.userInfos.getUserInfoById(userInfo.watchMobile); if (watcherUser) { SDKLogicsCore.parameterVo.observerRole = watcherUser.role; console.log("被监视的对象的角色......",SDKLogicsCore.parameterVo.observerRole); } console.log("SDKUserInfoCMD:______", userInfo.name, userInfo.userId); this.recylePacket(); if (SDKLogicsCore.parameterVo.isZML()) { //通知历史记录恢复 let packet = SDKPacketPool.Acquire(SDKRegistCommand.GAME_PARSE_HISTORY); SDKApp.instance().packetHandler.dispatcherCMD(packet); } else { if (SDKLogicsCore.parameterVo.isStudent()) { //请求历史记录信息 ZMSDK.sendMsg(SDKRegistCommand.GET_GAME_HISTORY, SDKLogicsCore.parameterVo.userId); } else if (SDKLogicsCore.parameterVo.isGameObserver()) { //监课模式通知历史记录恢复 let packet = SDKPacketPool.Acquire(SDKRegistCommand.WATCH_HISTORY_REQUEST); SDKApp.instance().packetHandler.dispatcherCMD(packet); } } } }