李勇

增加退出课堂后的处理,目前存在有的客户端上传大量日志的问题

... ... @@ -63,7 +63,7 @@ export default class MessageEntrance extends Emiter {
super();
this.lastClassActiveTime=0;//最后一次课堂激活的时间戳
//sdk 信息
GlobalConfig.sdkVersion = "v2.26.6.20171103";
GlobalConfig.sdkVersion = "v2.26.9.20171107";
loger.warn("sdkVersion:" + GlobalConfig.sdkVersion);
console.log("sdkVersion:" + GlobalConfig.sdkVersion);
//设置
... ... @@ -440,7 +440,7 @@ export default class MessageEntrance extends Emiter {
//执行离开课堂断开连接的流程
_runClassExit(_type) {
if( GlobalConfig.classExit){
if( GlobalConfig.classExit==true){
console.log("已经离开课堂");
return;
}
... ... @@ -1697,9 +1697,15 @@ export default class MessageEntrance extends Emiter {
loger.warn(GlobalConfig.getCurrentStatus());
return {"code": ApeConsts.RETURN_FAILED, "data": ""};
}
if(GlobalConfig.classExit==true){
console.warn("停止上课->已经离开课堂");
return;
}
if (_confer_ape) {
_confer_ape.closeClass(_param);
}
GlobalConfig.classExit=true;
LogManager.IS_OPEN_SEND_LOG = false;//断开之后不再上报日志
}
// 离开课堂 {type:1} type=1被踢出课堂;type=0自己主动离开
... ... @@ -1708,7 +1714,10 @@ export default class MessageEntrance extends Emiter {
loger.warn(GlobalConfig.getCurrentStatus());
return {"code": ApeConsts.RETURN_FAILED, "data": ""};
}
if( GlobalConfig.classExit==true){
console.log("已经离开课堂",_param);
return;
}
//离开视频通话频道
/* if(GlobalConfig.deviceType==0||GlobalConfig.deviceType==3){
if(_webRtc){
... ... @@ -2540,7 +2549,7 @@ export default class MessageEntrance extends Emiter {
//如果是主持人,那么需要判断一下文档模块同步的数据和从sass获取的文档数据是否相同,如果mcu服务器不存在的,需要上传
if (GlobalConfig.docListPrepare && GlobalConfig.docListPrepare.length > 0) {
//如果当前身份是老师或者当前课堂内只有一个人,有权限同步文档到MCU
if (GlobalConfig.isHost || GlobalConfig.rosterNumber <= 1) {
if (GlobalConfig.isHost || GlobalConfig.rosterNumber <= 1&&GlobalConfig.deviceType!=3) {
for (let i = 0; i < GlobalConfig.docListPrepare.length; i++) {
let value = GlobalConfig.docListPrepare[i];
if (value) {
... ...
... ... @@ -13,7 +13,7 @@ import GlobalConfig from 'GlobalConfig';
import EngineUtils from 'EngineUtils';
import TimerCounter from "TimerCounter";
import Sass from 'Sass';
import LogManager from "LogManager";
let loger = Loger.getLoger('ConferApe');
class ConferApe extends Ape {
... ... @@ -1063,9 +1063,13 @@ class ConferApe extends Ape {
//删除用户
rosterDelHandler(nodeId) {
if (GlobalConfig.nodeId == nodeId) {
loger.log("自己离开课堂");
// 自己退出
this._emit(MessageTypes.CLASS_RUN_EXIT, {'type': 0});
if(GlobalConfig.classExit==false){
loger.log("自己离开课堂");
// 自己退出
this._emit(MessageTypes.CLASS_RUN_EXIT, {'type': 0});
}
GlobalConfig.classExit=true;
LogManager.IS_OPEN_SEND_LOG=false;
} else {
let user = this.rosters[nodeId];
if (user) {
... ...
... ... @@ -496,9 +496,13 @@ class WebRtcApe extends Emiter {
}
publish(_params) {
if (!this.client || !this.localStream) {
loger.warn("推流失败->未加入频道!");
return;
}
if (!this.localStream) {
loger.warn("推流失败->本地流获取失败!");
return;
}
//老师-助教-主讲人-->设置旁路大于30秒没有推流,推流服务会停止,需要重设旁录和重加频道;
if(this.setConfigTimestamp>0&&GlobalConfig.isTeachOrAssistant){
//如果间隔大于28秒并且没有推过流需要重新加入频道,推成功一次之后就不需要
... ...