李勇

1.新增相同的userId异地登陆时踢掉的逻辑,同userId的情况下后进入的人踢掉先进入的

此 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.17.20170421", "author": "www.3mang.com"}; 30 +let _sdkInfo = {"version": "v1.9.18.20170425", "author": "www.3mang.com"};
31 31
32 //APE 32 //APE
33 let _sass; 33 let _sass;
@@ -106,6 +106,7 @@ MessageTypes.ERR_CLASS_MD5_WRONG=205;//MD5验证失败 @@ -106,6 +106,7 @@ MessageTypes.ERR_CLASS_MD5_WRONG=205;//MD5验证失败
106 MessageTypes.ERR_CLASS_PASSWORD_WRONG=206;//密码错误 106 MessageTypes.ERR_CLASS_PASSWORD_WRONG=206;//密码错误
107 MessageTypes.ERR_CLASS_JOIN_CONFILICT=207;//已经在其它地方登陆 107 MessageTypes.ERR_CLASS_JOIN_CONFILICT=207;//已经在其它地方登陆
108 MessageTypes.ERR_CLASS_KICK_OUT=208;//有相同身份的人员加入课堂,自己被踢出; 108 MessageTypes.ERR_CLASS_KICK_OUT=208;//有相同身份的人员加入课堂,自己被踢出;
  109 +MessageTypes.ERR_CLASS_REMOTE_LANDING=209;//同一个userId异地登陆
109 110
110 MessageTypes.ERR_GET_CLASS_DETAIL=300;//获取classDetail失败 111 MessageTypes.ERR_GET_CLASS_DETAIL=300;//获取classDetail失败
111 MessageTypes.ERR_GET_CLASS_PARAML=301;//获取ClassParam失败 112 MessageTypes.ERR_GET_CLASS_PARAML=301;//获取ClassParam失败
@@ -157,7 +158,7 @@ MessageTypes.ErrorReson[MessageTypes.ERR_CLASS_MD5_WRONG]="MD5验证失败"; @@ -157,7 +158,7 @@ MessageTypes.ErrorReson[MessageTypes.ERR_CLASS_MD5_WRONG]="MD5验证失败";
157 MessageTypes.ErrorReson[MessageTypes.ERR_CLASS_PASSWORD_WRONG]="密码错误"; 158 MessageTypes.ErrorReson[MessageTypes.ERR_CLASS_PASSWORD_WRONG]="密码错误";
158 MessageTypes.ErrorReson[MessageTypes.ERR_CLASS_JOIN_CONFILICT]="已经在其它地方登陆"; 159 MessageTypes.ErrorReson[MessageTypes.ERR_CLASS_JOIN_CONFILICT]="已经在其它地方登陆";
159 MessageTypes.ErrorReson[MessageTypes.ERR_CLASS_KICK_OUT]="有相同身份的人员加入课堂,自己被踢出课堂"; 160 MessageTypes.ErrorReson[MessageTypes.ERR_CLASS_KICK_OUT]="有相同身份的人员加入课堂,自己被踢出课堂";
160 - 161 +MessageTypes.ErrorReson[MessageTypes.ERR_CLASS_REMOTE_LANDING]="有相同的userId异地登陆";
161 162
162 MessageTypes.ErrorReson[MessageTypes.ERR_GET_CLASS_DETAIL]="获取课堂基本信息失败"; 163 MessageTypes.ErrorReson[MessageTypes.ERR_GET_CLASS_DETAIL]="获取课堂基本信息失败";
163 MessageTypes.ErrorReson[MessageTypes.ERR_GET_CLASS_PARAML]="获取课堂详细信息失败"; 164 MessageTypes.ErrorReson[MessageTypes.ERR_GET_CLASS_PARAML]="获取课堂详细信息失败";
@@ -538,9 +538,8 @@ class ConferApe extends Ape { @@ -538,9 +538,8 @@ class ConferApe extends Ape {
538 this.pauseClass({isForce:true}); 538 this.pauseClass({isForce:true});
539 this.stopRecord(true); 539 this.stopRecord(true);
540 } 540 }
541 -  
542 - //自己添加到列表  
543 - this.rosters[nodeId] = nodeData; 541 + //处理用户信息
  542 + this.unPackRosterInfo(nodeId,nodeData);
544 return; 543 return;
545 } 544 }
546 545
@@ -562,11 +561,17 @@ class ConferApe extends Ape { @@ -562,11 +561,17 @@ class ConferApe extends Ape {
562 } else if (nodeData.role == ApeConsts.NR_INVISIBLE && GlobalConfig.isInvisible) { 561 } else if (nodeData.role == ApeConsts.NR_INVISIBLE && GlobalConfig.isInvisible) {
563 this.kickOutRoster(); 562 this.kickOutRoster();
564 return; 563 return;
  564 + }else if(nodeData.userId==GlobalConfig.userId&&GlobalConfig.userId!="0"){
  565 + loger.log("异地登陆->userId->",GlobalConfig.userId);
  566 + this._emit(MessageTypes.MCU_ERROR, MessageTypes.ERR_CLASS_REMOTE_LANDING);
  567 + this._emit(MessageTypes.CLASS_EXIT,{'type':1});
565 } 568 }
566 } 569 }
567 -  
568 -  
569 //处理用户信息 570 //处理用户信息
  571 + this.unPackRosterInfo(nodeId,nodeData);
  572 + }
  573 + //处理用户信息
  574 + unPackRosterInfo(nodeId,nodeData){
570 let rosterExists = this.rosters[nodeId]; 575 let rosterExists = this.rosters[nodeId];
571 this.rosters[nodeId] = nodeData; 576 this.rosters[nodeId] = nodeData;
572 let userDataObj = null; 577 let userDataObj = null;
@@ -585,7 +590,6 @@ class ConferApe extends Ape { @@ -585,7 +590,6 @@ class ConferApe extends Ape {
585 loger.log("NR_INVISIBLE"); 590 loger.log("NR_INVISIBLE");
586 return; 591 return;
587 } 592 }
588 -  
589 this._emit(MessageTypes.CLASS_INSERT_ROSTER, {"nodeId": nodeId, "nodeData": newNodeData}); 593 this._emit(MessageTypes.CLASS_INSERT_ROSTER, {"nodeId": nodeId, "nodeData": newNodeData});
590 this.emitRosterChange(); 594 this.emitRosterChange();
591 595