李勇

1.离开课堂增加异步事件回调,之前版本自己离开的时候不会发送class_exit消息

此 diff 太大无法显示。
@@ -27,7 +27,7 @@ import Server from "config/Server"; @@ -27,7 +27,7 @@ import Server from "config/Server";
27 import UTF8 from 'utf-8'; 27 import UTF8 from 'utf-8';
28 28
29 let loger = Loger.getLoger('McuClient'); 29 let loger = Loger.getLoger('McuClient');
30 -let _sdkInfo = {"version": "v1.9.18.20170425", "author": "www.3mang.com"}; 30 +let _sdkInfo = {"version": "v1.9.19.20170425", "author": "www.3mang.com"};
31 31
32 //APE 32 //APE
33 let _sass; 33 let _sass;
@@ -90,7 +90,7 @@ export default class MessageEntrance extends Emiter { @@ -90,7 +90,7 @@ export default class MessageEntrance extends Emiter {
90 // 注册所有应用Ape 90 // 注册所有应用Ape
91 _confer_ape = new ConferApe(); 91 _confer_ape = new ConferApe();
92 _confer_ape.on('*', (type, data) => this._emit(type, data)); 92 _confer_ape.on('*', (type, data) => this._emit(type, data));
93 - _confer_ape.on(MessageTypes.CLASS_EXIT, this._doClassExit.bind(this));//监听自己的关闭事件 93 + _confer_ape.on(MessageTypes.CLASS_RUN_EXIT, this._runClassExit.bind(this));//监听自己的关闭事件
94 _confer_ape.on(MessageTypes.CLASS_STATUS_INFO_CHANGE, this._onClassStatusInfoChange.bind(this));//当前课堂状态信息发生改变 94 _confer_ape.on(MessageTypes.CLASS_STATUS_INFO_CHANGE, this._onClassStatusInfoChange.bind(this));//当前课堂状态信息发生改变
95 _confer_ape.on(MessageTypes.CLASS_DELETE_ROSTER, this._onClassDeleteRoster.bind(this));//当前课堂人员离开 95 _confer_ape.on(MessageTypes.CLASS_DELETE_ROSTER, this._onClassDeleteRoster.bind(this));//当前课堂人员离开
96 _confer_ape.on(MessageTypes.CLASS_NONENTITY_ROSTER, this._onClassNonentityRoster.bind(this));//当前课堂中视频或音频占用channel的nodeId ,在人员列表中不存在 96 _confer_ape.on(MessageTypes.CLASS_NONENTITY_ROSTER, this._onClassNonentityRoster.bind(this));//当前课堂中视频或音频占用channel的nodeId ,在人员列表中不存在
@@ -221,14 +221,15 @@ export default class MessageEntrance extends Emiter { @@ -221,14 +221,15 @@ export default class MessageEntrance extends Emiter {
221 return GlobalConfig.classStatusInfo; 221 return GlobalConfig.classStatusInfo;
222 } 222 }
223 223
  224 + /*
224 //关闭课堂,所有人都退出 225 //关闭课堂,所有人都退出
225 _doClassClose(_param) { 226 _doClassClose(_param) {
226 this._leaveClass(); 227 this._leaveClass();
227 - } 228 + }*/
228 229
229 - //离开课堂,断开连接  
230 - _doClassExit() {  
231 - this._leaveClass(); 230 + //执行离开课堂断开连接的流程
  231 + _runClassExit(_type) {
  232 + this._leaveClass(_type);
232 } 233 }
233 234
234 //当前的课堂状态信息发生改变,需要保存课堂状态到Sass 235 //当前的课堂状态信息发生改变,需要保存课堂状态到Sass
@@ -916,8 +917,8 @@ export default class MessageEntrance extends Emiter { @@ -916,8 +917,8 @@ export default class MessageEntrance extends Emiter {
916 } 917 }
917 } 918 }
918 919
919 - // 离开课堂  
920 - _leaveClass() { 920 + // 离开课堂 {type:1} type=1被踢出课堂;type=0自己主动离开
  921 + _leaveClass(_param) {
921 if (!_mcu.connected) { 922 if (!_mcu.connected) {
922 loger.warn(GlobalConfig.getCurrentStatus()); 923 loger.warn(GlobalConfig.getCurrentStatus());
923 return; 924 return;
@@ -935,6 +936,16 @@ export default class MessageEntrance extends Emiter { @@ -935,6 +936,16 @@ export default class MessageEntrance extends Emiter {
935 _confer_ape.stopRecord(); 936 _confer_ape.stopRecord();
936 _confer_ape.leaveClass(); 937 _confer_ape.leaveClass();
937 } 938 }
  939 +
  940 + let callBack={};
  941 + if(_param&&_param.type){
  942 + callBack=_param;
  943 + }else{
  944 + callBack.type=0;
  945 + }
  946 + loger.warn('离开课堂->',MessageTypes.CLASS_EXIT,callBack);
  947 + this._emit(MessageTypes.CLASS_EXIT,callBack);
  948 +
938 //断开MCU连接 949 //断开MCU连接
939 if (_mcu) { 950 if (_mcu) {
940 _mcu.leaveMCU(); 951 _mcu.leaveMCU();
@@ -21,7 +21,8 @@ MessageTypes.CLASS_INSERT_ROSTER ="class_insert_roster";// 'roster.insert.messag @@ -21,7 +21,8 @@ MessageTypes.CLASS_INSERT_ROSTER ="class_insert_roster";// 'roster.insert.messag
21 MessageTypes.CLASS_DELETE_ROSTER ="class_delete_roster"// 'roster.delete.message'; 21 MessageTypes.CLASS_DELETE_ROSTER ="class_delete_roster"// 'roster.delete.message';
22 MessageTypes.CLASS_NONENTITY_ROSTER ="class_nonenetity_roster";// 'roster.nonentity.message'; 22 MessageTypes.CLASS_NONENTITY_ROSTER ="class_nonenetity_roster";// 'roster.nonentity.message';
23 23
24 -MessageTypes.CLASS_EXIT ="class_exit";// 'class.exit';//退出 关闭课堂 24 +MessageTypes.CLASS_RUN_EXIT ="class_run_exit";//执行课堂退出关闭的流程(sdk内部的)
  25 +MessageTypes.CLASS_EXIT ="class_exit";//;//退出关闭课堂(对外)
25 MessageTypes.CLASS_UPTATE_STATUS ="class_update_status";// 'class.update.status';//更新课堂状态信息 26 MessageTypes.CLASS_UPTATE_STATUS ="class_update_status";// 'class.update.status';//更新课堂状态信息
26 MessageTypes.CLASS_STATUS_INFO_CHANGE="class_status_info_change";// 'class.status.info.change';//课堂状态信息发生改变,需要保存数据到sass和同步MCU 27 MessageTypes.CLASS_STATUS_INFO_CHANGE="class_status_info_change";// 'class.status.info.change';//课堂状态信息发生改变,需要保存数据到sass和同步MCU
27 28
@@ -492,8 +492,7 @@ class ConferApe extends Ape { @@ -492,8 +492,7 @@ class ConferApe extends Ape {
492 case ApeConsts.CLASS_ACTION_CLOSE_ALL: 492 case ApeConsts.CLASS_ACTION_CLOSE_ALL:
493 loger.log(chatMsg.message); 493 loger.log(chatMsg.message);
494 //收到课堂关闭,所有人都退出,执行自己关闭的流程 494 //收到课堂关闭,所有人都退出,执行自己关闭的流程
495 - //this._emit(MessageTypes.CLASS_EXIT);  
496 - this._emit(MessageTypes.CLASS_EXIT,{'type':1}); 495 + this._emit(MessageTypes.CLASS_RUN_EXIT,{'type':1});
497 break; 496 break;
498 default: 497 default:
499 break; 498 break;
@@ -564,7 +563,7 @@ class ConferApe extends Ape { @@ -564,7 +563,7 @@ class ConferApe extends Ape {
564 }else if(nodeData.userId==GlobalConfig.userId&&GlobalConfig.userId!="0"){ 563 }else if(nodeData.userId==GlobalConfig.userId&&GlobalConfig.userId!="0"){
565 loger.log("异地登陆->userId->",GlobalConfig.userId); 564 loger.log("异地登陆->userId->",GlobalConfig.userId);
566 this._emit(MessageTypes.MCU_ERROR, MessageTypes.ERR_CLASS_REMOTE_LANDING); 565 this._emit(MessageTypes.MCU_ERROR, MessageTypes.ERR_CLASS_REMOTE_LANDING);
567 - this._emit(MessageTypes.CLASS_EXIT,{'type':1}); 566 + this._emit(MessageTypes.CLASS_RUN_EXIT,{'type':1});
568 } 567 }
569 } 568 }
570 //处理用户信息 569 //处理用户信息
@@ -601,7 +600,7 @@ class ConferApe extends Ape { @@ -601,7 +600,7 @@ class ConferApe extends Ape {
601 //踢出用户 600 //踢出用户
602 kickOutRoster() { 601 kickOutRoster() {
603 this._emit(MessageTypes.MCU_ERROR, MessageTypes.ERR_CLASS_KICK_OUT); 602 this._emit(MessageTypes.MCU_ERROR, MessageTypes.ERR_CLASS_KICK_OUT);
604 - this._emit(MessageTypes.CLASS_EXIT,{'type':1}); 603 + this._emit(MessageTypes.CLASS_RUN_EXIT,{'type':1});
605 } 604 }
606 605
607 //视频模块发生更新,人员状态需要更新 606 //视频模块发生更新,人员状态需要更新
@@ -619,7 +618,7 @@ class ConferApe extends Ape { @@ -619,7 +618,7 @@ class ConferApe extends Ape {
619 if (GlobalConfig.nodeId == nodeId) { 618 if (GlobalConfig.nodeId == nodeId) {
620 loger.log("自己离开课堂"); 619 loger.log("自己离开课堂");
621 // 自己退出 620 // 自己退出
622 - this._emit(MessageTypes.CLASS_EXIT,{'type':0}); 621 + this._emit(MessageTypes.CLASS_RUN_EXIT,{'type':0});
623 } else { 622 } else {
624 let user=this.rosters[nodeId]; 623 let user=this.rosters[nodeId];
625 if(user){ 624 if(user){