李勇

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

此 diff 太大无法显示。
... ... @@ -27,7 +27,7 @@ import Server from "config/Server";
import UTF8 from 'utf-8';
let loger = Loger.getLoger('McuClient');
let _sdkInfo = {"version": "v1.9.17.20170421", "author": "www.3mang.com"};
let _sdkInfo = {"version": "v1.9.18.20170425", "author": "www.3mang.com"};
//APE
let _sass;
... ...
... ... @@ -106,6 +106,7 @@ MessageTypes.ERR_CLASS_MD5_WRONG=205;//MD5验证失败
MessageTypes.ERR_CLASS_PASSWORD_WRONG=206;//密码错误
MessageTypes.ERR_CLASS_JOIN_CONFILICT=207;//已经在其它地方登陆
MessageTypes.ERR_CLASS_KICK_OUT=208;//有相同身份的人员加入课堂,自己被踢出;
MessageTypes.ERR_CLASS_REMOTE_LANDING=209;//同一个userId异地登陆
MessageTypes.ERR_GET_CLASS_DETAIL=300;//获取classDetail失败
MessageTypes.ERR_GET_CLASS_PARAML=301;//获取ClassParam失败
... ... @@ -157,7 +158,7 @@ MessageTypes.ErrorReson[MessageTypes.ERR_CLASS_MD5_WRONG]="MD5验证失败";
MessageTypes.ErrorReson[MessageTypes.ERR_CLASS_PASSWORD_WRONG]="密码错误";
MessageTypes.ErrorReson[MessageTypes.ERR_CLASS_JOIN_CONFILICT]="已经在其它地方登陆";
MessageTypes.ErrorReson[MessageTypes.ERR_CLASS_KICK_OUT]="有相同身份的人员加入课堂,自己被踢出课堂";
MessageTypes.ErrorReson[MessageTypes.ERR_CLASS_REMOTE_LANDING]="有相同的userId异地登陆";
MessageTypes.ErrorReson[MessageTypes.ERR_GET_CLASS_DETAIL]="获取课堂基本信息失败";
MessageTypes.ErrorReson[MessageTypes.ERR_GET_CLASS_PARAML]="获取课堂详细信息失败";
... ...
... ... @@ -538,9 +538,8 @@ class ConferApe extends Ape {
this.pauseClass({isForce:true});
this.stopRecord(true);
}
//自己添加到列表
this.rosters[nodeId] = nodeData;
//处理用户信息
this.unPackRosterInfo(nodeId,nodeData);
return;
}
... ... @@ -562,11 +561,17 @@ class ConferApe extends Ape {
} else if (nodeData.role == ApeConsts.NR_INVISIBLE && GlobalConfig.isInvisible) {
this.kickOutRoster();
return;
}else if(nodeData.userId==GlobalConfig.userId&&GlobalConfig.userId!="0"){
loger.log("异地登陆->userId->",GlobalConfig.userId);
this._emit(MessageTypes.MCU_ERROR, MessageTypes.ERR_CLASS_REMOTE_LANDING);
this._emit(MessageTypes.CLASS_EXIT,{'type':1});
}
}
//处理用户信息
this.unPackRosterInfo(nodeId,nodeData);
}
//处理用户信息
unPackRosterInfo(nodeId,nodeData){
let rosterExists = this.rosters[nodeId];
this.rosters[nodeId] = nodeData;
let userDataObj = null;
... ... @@ -585,7 +590,6 @@ class ConferApe extends Ape {
loger.log("NR_INVISIBLE");
return;
}
this._emit(MessageTypes.CLASS_INSERT_ROSTER, {"nodeId": nodeId, "nodeData": newNodeData});
this.emitRosterChange();
... ...