李勇

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

此 diff 太大无法显示。
@@ -34,7 +34,7 @@ import mdetect from "mdetect"; @@ -34,7 +34,7 @@ import mdetect from "mdetect";
34 import UTF8 from 'utf-8'; 34 import UTF8 from 'utf-8';
35 35
36 let loger = Loger.getLoger('McuClient'); 36 let loger = Loger.getLoger('McuClient');
37 -let _sdkInfo = { "version": "v1.40.0.20170706", "author": "www.3mang.com" }; 37 +let _sdkInfo = { "version": "v1.41.0.20170708", "author": "www.3mang.com" };
38 38
39 //APE 39 //APE
40 let _sass; 40 let _sass;
@@ -1630,10 +1630,12 @@ export default class MessageEntrance extends Emiter { @@ -1630,10 +1630,12 @@ export default class MessageEntrance extends Emiter {
1630 1630
1631 //文档加入频道成功,同步到MCU服务器上的数据 1631 //文档加入频道成功,同步到MCU服务器上的数据
1632 docJoinChannelSuccess() { 1632 docJoinChannelSuccess() {
1633 - loger.log("docJoinChannelSuccess->isHost=", GlobalConfig.isHost, "length=", GlobalConfig.docListPrepare.length); 1633 + loger.log("docJoinChannelSuccess->isHost=", GlobalConfig.isHost,"当前总人数:",GlobalConfig.rosterNumber, "sassDoclength=", GlobalConfig.docListPrepare.length);
1634 //loger.log("docJoinChannelSuccess docListPrepare="); 1634 //loger.log("docJoinChannelSuccess docListPrepare=");
1635 //如果是主持人,那么需要判断一下文档模块同步的数据和从sass获取的文档数据是否相同,如果mcu服务器不存在的,需要上传 1635 //如果是主持人,那么需要判断一下文档模块同步的数据和从sass获取的文档数据是否相同,如果mcu服务器不存在的,需要上传
1636 - if (GlobalConfig.isHost && GlobalConfig.docListPrepare.length > 0) { 1636 + if(GlobalConfig.docListPrepare&& GlobalConfig.docListPrepare.length > 0){
  1637 + //如果当前身份是老师或者当前课堂内只有一个人,有权限同步文档到MCU
  1638 + if (GlobalConfig.isHost||GlobalConfig.rosterNumber<=1) {
1637 for (let i = 0; i < GlobalConfig.docListPrepare.length; i++) { 1639 for (let i = 0; i < GlobalConfig.docListPrepare.length; i++) {
1638 let value = GlobalConfig.docListPrepare[i]; 1640 let value = GlobalConfig.docListPrepare[i];
1639 if (value) { 1641 if (value) {
@@ -1654,6 +1656,7 @@ export default class MessageEntrance extends Emiter { @@ -1654,6 +1656,7 @@ export default class MessageEntrance extends Emiter {
1654 } 1656 }
1655 } 1657 }
1656 } 1658 }
  1659 + }
1657 1660
1658 //媒体共享模块的接口 1661 //媒体共享模块的接口
1659 //上传 1662 //上传
@@ -477,5 +477,6 @@ GlobalConfig.serverTime = 0; //服务器当前时间戳 @@ -477,5 +477,6 @@ GlobalConfig.serverTime = 0; //服务器当前时间戳
477 GlobalConfig.serverAndLoacTimeDistanc = 0; //本地时间和服务器时间错的差值; 477 GlobalConfig.serverAndLoacTimeDistanc = 0; //本地时间和服务器时间错的差值;
478 478
479 GlobalConfig.isMobile = false; //是否是移动端 479 GlobalConfig.isMobile = false; //是否是移动端
  480 +GlobalConfig.rosterNumber=0;//当前总人数
480 export default GlobalConfig; 481 export default GlobalConfig;
481 482
@@ -259,7 +259,7 @@ class ConferApe extends Ape { @@ -259,7 +259,7 @@ class ConferApe extends Ape {
259 return; 259 return;
260 } 260 }
261 261
262 - loger.log('startRecord', "isHost", GlobalConfig.isHost, "recordStatus", GlobalConfig.recordStatus); 262 + loger.warn('开启录制', "isHost", GlobalConfig.isHost, "recordStatus", GlobalConfig.recordStatus);
263 //如果是host 263 //如果是host
264 if (GlobalConfig.isHost) { 264 if (GlobalConfig.isHost) {
265 GlobalConfig.classStopTime = EngineUtils.creatTimestampStr(); 265 GlobalConfig.classStopTime = EngineUtils.creatTimestampStr();
@@ -271,7 +271,7 @@ class ConferApe extends Ape { @@ -271,7 +271,7 @@ class ConferApe extends Ape {
271 271
272 //停止录制 272 //停止录制
273 stopRecord(isForce) { 273 stopRecord(isForce) {
274 - loger.log('stopRecord', "isHost", GlobalConfig.isHost, "recordStatus", GlobalConfig.recordStatus); 274 + loger.warn('停止录制', "isHost", GlobalConfig.isHost, "recordStatus", GlobalConfig.recordStatus);
275 if (isForce && isForce == true) { 275 if (isForce && isForce == true) {
276 //强制停止,可以是host之外的身份(比如当前课堂老师异常退出,没有老师,会随机选择一个人来做释放操作) 276 //强制停止,可以是host之外的身份(比如当前课堂老师异常退出,没有老师,会随机选择一个人来做释放操作)
277 if (GlobalConfig.recordStatus) { 277 if (GlobalConfig.recordStatus) {
@@ -778,6 +778,7 @@ class ConferApe extends Ape { @@ -778,6 +778,7 @@ class ConferApe extends Ape {
778 //自己加入的时候,需要做一下判断操作,如果满足以下3个条件就要暂停课堂: 778 //自己加入的时候,需要做一下判断操作,如果满足以下3个条件就要暂停课堂:
779 // 1.当前课堂只有自己;2.自己的身份不是host;3当前的课堂状态为(CLASS_STATUS_STARTED= 1;//直播中) 779 // 1.当前课堂只有自己;2.自己的身份不是host;3当前的课堂状态为(CLASS_STATUS_STARTED= 1;//直播中)
780 let rosterLen = Object.keys(this.rosters).length; 780 let rosterLen = Object.keys(this.rosters).length;
  781 + GlobalConfig.rosterNumber=rosterLen;//记录当前的总人数
781 if (rosterLen < 1 && !GlobalConfig.isHost && GlobalConfig.classStatus == ApeConsts.CLASS_STATUS_STARTED) { 782 if (rosterLen < 1 && !GlobalConfig.isHost && GlobalConfig.classStatus == ApeConsts.CLASS_STATUS_STARTED) {
782 loger.warn("当前课堂没有老师->暂停课堂"); 783 loger.warn("当前课堂没有老师->暂停课堂");
783 this.pauseClass({ isForce: true }); 784 this.pauseClass({ isForce: true });
@@ -623,10 +623,19 @@ class DocApe extends Ape { @@ -623,10 +623,19 @@ class DocApe extends Ape {
623 623
624 //果当前没有显示的文档,默认选择一个显示文档 624 //果当前没有显示的文档,默认选择一个显示文档
625 _showDefaultDoc() { 625 _showDefaultDoc() {
626 - //显示默认文档条件->1.非录制回放状态下 2.只有host有权限操作 3.当前激活的文档id不为0 626 + /*//显示默认文档条件->1.非录制回放状态下 2.只有host有权限操作 3.当前激活的文档id不为0
627 if (GlobalConfig.isRecordPlayBack || !GlobalConfig.isHost || GlobalConfig.activeDocId > 0) { 627 if (GlobalConfig.isRecordPlayBack || !GlobalConfig.isHost || GlobalConfig.activeDocId > 0) {
628 return; 628 return;
629 } 629 }
  630 + */
  631 + //非录制回放状态下和当前激活的文档id不为0的时候也不能操作
  632 + if (GlobalConfig.isRecordPlayBack || GlobalConfig.activeDocId > 0) {
  633 + return;
  634 + }
  635 + //如果自己不是老师,并且当前课堂内人数大于1,不能操作
  636 + if(!GlobalConfig.isHost&&GlobalConfig.rosterNumber>1){
  637 + return;
  638 + }
630 639
631 let tempDocItemIdx;//临时记录文档数据,用于显示默认文档 640 let tempDocItemIdx;//临时记录文档数据,用于显示默认文档
632 for (let key in this.docList) { 641 for (let key in this.docList) {
@@ -298,7 +298,7 @@ class WhiteBoardApe extends Ape { @@ -298,7 +298,7 @@ class WhiteBoardApe extends Ape {
298 tableInsertHandler(owner, itemIdx, itemData) { 298 tableInsertHandler(owner, itemIdx, itemData) {
299 let whiteBoardModel = this.unPackPdu(owner, itemIdx, itemData); 299 let whiteBoardModel = this.unPackPdu(owner, itemIdx, itemData);
300 loger.log('tableInsertHandler',"activeDocId->",GlobalConfig.activeDocId ,"parentId->", whiteBoardModel.parentId); 300 loger.log('tableInsertHandler',"activeDocId->",GlobalConfig.activeDocId ,"parentId->", whiteBoardModel.parentId);
301 - loger.log(whiteBoardModel); 301 + //loger.log(whiteBoardModel);
302 if (whiteBoardModel) { 302 if (whiteBoardModel) {
303 if (GlobalConfig.activeDocId == whiteBoardModel.parentId && GlobalConfig.activeDocCurPage == whiteBoardModel.curPageNo) { 303 if (GlobalConfig.activeDocId == whiteBoardModel.parentId && GlobalConfig.activeDocCurPage == whiteBoardModel.curPageNo) {
304 //loger.log('显示新增的标注->'); 304 //loger.log('显示新增的标注->');