李勇

1.修复录制状态发生改变后音视频模块立即更新当前状态导致的数据状态不正确的问题;2.修复课堂模块数据中单个禁言字段的字符串和JSON转换问题

此 diff 太大无法显示。
... ... @@ -34,7 +34,7 @@ import mdetect from "mdetect";
import UTF8 from 'utf-8';
let loger = Loger.getLoger('McuClient');
let _sdkInfo = { "version": "v1.41.0.20170708", "author": "www.3mang.com" };
let _sdkInfo = { "version": "v1.42.1.20170708", "author": "www.3mang.com" };
//APE
let _sass;
... ... @@ -67,6 +67,7 @@ export default class MessageEntrance extends Emiter {
loger.warn("当前设备是PC");
}
this.classRecordStatusUpdateTimer=0;//课堂录制状态发生改变后同步当前所有模块数据的计时器
//初始化状态
this.isGetUserIpCallback = false; //是否获取IP信息返回
this.isGetFastestMcuCallback = false; //是否MCU选点结束
... ... @@ -356,7 +357,13 @@ export default class MessageEntrance extends Emiter {
//开启录制成功
_onClassRecordSuccess(_param) {
this.updaterRecordAllApeStatus(_param);
clearTimeout(this.classRecordStatusUpdateTimer);
let _this=this;
this.classRecordStatusUpdateTimer=setTimeout(function(){
clearTimeout(this.classRecordStatusUpdateTimer);
_this.updaterRecordAllApeStatus(_param);
},2000);
}
//录制状态发送改变,更新所有模块的当前数据发送到MCU
... ... @@ -1274,6 +1281,8 @@ export default class MessageEntrance extends Emiter {
try {
GlobalConfig.setClassStatusInfo(JSON.parse(_data.currentInfo));
} catch (err) {
loger.warn("从Sass获取的课堂数据JSON转换失败->");
console.log("currentInfo",_data.currentInfo);
GlobalConfig.setClassStatusInfo(_data.currentInfo);
}
loger.log(GlobalConfig.classStatusInfo);
... ...
... ... @@ -133,15 +133,19 @@ class GlobalConfig {
this.classStopTime = data.classStopTime || this.classStopTime; //最后一次停止的时间(点暂停或结束),每次发送数据都获取当前时间戳
this.classTimestamp = data.classTimestamp || this.classTimestamp; //相对于点开始课堂的时间戳
// 全局禁言状态
this.silence = data.silence || false;
this.silenceUsers = JSON.parse(data.silenceUsers || '{}');
this.recordStatus = data.recordStatus || this.recordStatus; //当前录制状态
this.recordTimestamp = data.recordTimestamp || this.recordTimestamp; //相对于首次开始录制的时间戳
this.recordFileName = data.recordFileName || this.recordFileName; //录制的文件名
this.recordDownloadUrl = data.recordDownloadUrl || this.recordDownloadUrl; //下载地址
this.currentSceneTableId = data.currentSceneTableId || 0; //文档区域的模块显示
// 全局禁言状态
this.silence = data.silence || false;
this.silenceUsers =data.silenceUsers || {};
if((typeof this.silenceUsers =='string')&& this.silenceUsers .constructor==String){
this.silenceUsers={};
}
}
// 判断自己是否主持人角色
... ...
... ... @@ -609,10 +609,16 @@ class ConferApe extends Ape {
tableUpdateHandler(owner, itemIdx, itemData) {
try {
let model = this.unPackPdu(owner, itemIdx, itemData);
loger.log('课堂数据更新->', model);
console.log('课堂数据更新->', model);
//处理课堂更新的信息
if (model && model.classStatusInfo) {
try{
model.classStatusInfo.silenceUsers=JSON.parse( model.classStatusInfo.silenceUsers);
}catch (err){
}
GlobalConfig.setClassStatusInfo(model.classStatusInfo);
if (model.classStatusInfo.isStopAllPublishMedia) {
... ...