李勇

1.文档模块的数据允许学生和监课同步,条件是监课和学生进入课堂的时候只有自己一个人,并且Sass数据中有文档数据;

此 diff 太大无法显示。
... ... @@ -34,7 +34,7 @@ import mdetect from "mdetect";
import UTF8 from 'utf-8';
let loger = Loger.getLoger('McuClient');
let _sdkInfo = { "version": "v1.40.0.20170706", "author": "www.3mang.com" };
let _sdkInfo = { "version": "v1.41.0.20170708", "author": "www.3mang.com" };
//APE
let _sass;
... ... @@ -1630,26 +1630,29 @@ export default class MessageEntrance extends Emiter {
//文档加入频道成功,同步到MCU服务器上的数据
docJoinChannelSuccess() {
loger.log("docJoinChannelSuccess->isHost=", GlobalConfig.isHost, "length=", GlobalConfig.docListPrepare.length);
loger.log("docJoinChannelSuccess->isHost=", GlobalConfig.isHost,"当前总人数:",GlobalConfig.rosterNumber, "sassDoclength=", GlobalConfig.docListPrepare.length);
//loger.log("docJoinChannelSuccess docListPrepare=");
//如果是主持人,那么需要判断一下文档模块同步的数据和从sass获取的文档数据是否相同,如果mcu服务器不存在的,需要上传
if (GlobalConfig.isHost && GlobalConfig.docListPrepare.length > 0) {
for (let i = 0; i < GlobalConfig.docListPrepare.length; i++) {
let value = GlobalConfig.docListPrepare[i];
if (value) {
//loger.log("判断是否需要把提前上传的文档上传到mcu", value);
let paramInfo = {
"pageNum": value.pdfSize,
"fileName": value.name,
"fileType": value.type,
"relativeUrl": value.relativeLocation,
"url": value.absoluteLocation,
"creatUserId": value.createUserID,
"docId": value.id,
"md5": value.MD5,
"visible": false
};
this._sendDocumentUpload(paramInfo);
if(GlobalConfig.docListPrepare&& GlobalConfig.docListPrepare.length > 0){
//如果当前身份是老师或者当前课堂内只有一个人,有权限同步文档到MCU
if (GlobalConfig.isHost||GlobalConfig.rosterNumber<=1) {
for (let i = 0; i < GlobalConfig.docListPrepare.length; i++) {
let value = GlobalConfig.docListPrepare[i];
if (value) {
//loger.log("判断是否需要把提前上传的文档上传到mcu", value);
let paramInfo = {
"pageNum": value.pdfSize,
"fileName": value.name,
"fileType": value.type,
"relativeUrl": value.relativeLocation,
"url": value.absoluteLocation,
"creatUserId": value.createUserID,
"docId": value.id,
"md5": value.MD5,
"visible": false
};
this._sendDocumentUpload(paramInfo);
}
}
}
}
... ...
... ... @@ -477,5 +477,6 @@ GlobalConfig.serverTime = 0; //服务器当前时间戳
GlobalConfig.serverAndLoacTimeDistanc = 0; //本地时间和服务器时间错的差值;
GlobalConfig.isMobile = false; //是否是移动端
GlobalConfig.rosterNumber=0;//当前总人数
export default GlobalConfig;
... ...
... ... @@ -259,7 +259,7 @@ class ConferApe extends Ape {
return;
}
loger.log('startRecord', "isHost", GlobalConfig.isHost, "recordStatus", GlobalConfig.recordStatus);
loger.warn('开启录制', "isHost", GlobalConfig.isHost, "recordStatus", GlobalConfig.recordStatus);
//如果是host
if (GlobalConfig.isHost) {
GlobalConfig.classStopTime = EngineUtils.creatTimestampStr();
... ... @@ -271,7 +271,7 @@ class ConferApe extends Ape {
//停止录制
stopRecord(isForce) {
loger.log('stopRecord', "isHost", GlobalConfig.isHost, "recordStatus", GlobalConfig.recordStatus);
loger.warn('停止录制', "isHost", GlobalConfig.isHost, "recordStatus", GlobalConfig.recordStatus);
if (isForce && isForce == true) {
//强制停止,可以是host之外的身份(比如当前课堂老师异常退出,没有老师,会随机选择一个人来做释放操作)
if (GlobalConfig.recordStatus) {
... ... @@ -778,6 +778,7 @@ class ConferApe extends Ape {
//自己加入的时候,需要做一下判断操作,如果满足以下3个条件就要暂停课堂:
// 1.当前课堂只有自己;2.自己的身份不是host;3当前的课堂状态为(CLASS_STATUS_STARTED= 1;//直播中)
let rosterLen = Object.keys(this.rosters).length;
GlobalConfig.rosterNumber=rosterLen;//记录当前的总人数
if (rosterLen < 1 && !GlobalConfig.isHost && GlobalConfig.classStatus == ApeConsts.CLASS_STATUS_STARTED) {
loger.warn("当前课堂没有老师->暂停课堂");
this.pauseClass({ isForce: true });
... ...
... ... @@ -623,10 +623,19 @@ class DocApe extends Ape {
//果当前没有显示的文档,默认选择一个显示文档
_showDefaultDoc() {
//显示默认文档条件->1.非录制回放状态下 2.只有host有权限操作 3.当前激活的文档id不为0
/*//显示默认文档条件->1.非录制回放状态下 2.只有host有权限操作 3.当前激活的文档id不为0
if (GlobalConfig.isRecordPlayBack || !GlobalConfig.isHost || GlobalConfig.activeDocId > 0) {
return;
}
*/
//非录制回放状态下和当前激活的文档id不为0的时候也不能操作
if (GlobalConfig.isRecordPlayBack || GlobalConfig.activeDocId > 0) {
return;
}
//如果自己不是老师,并且当前课堂内人数大于1,不能操作
if(!GlobalConfig.isHost&&GlobalConfig.rosterNumber>1){
return;
}
let tempDocItemIdx;//临时记录文档数据,用于显示默认文档
for (let key in this.docList) {
... ...
... ... @@ -298,7 +298,7 @@ class WhiteBoardApe extends Ape {
tableInsertHandler(owner, itemIdx, itemData) {
let whiteBoardModel = this.unPackPdu(owner, itemIdx, itemData);
loger.log('tableInsertHandler',"activeDocId->",GlobalConfig.activeDocId ,"parentId->", whiteBoardModel.parentId);
loger.log(whiteBoardModel);
//loger.log(whiteBoardModel);
if (whiteBoardModel) {
if (GlobalConfig.activeDocId == whiteBoardModel.parentId && GlobalConfig.activeDocCurPage == whiteBoardModel.curPageNo) {
//loger.log('显示新增的标注->');
... ...