AlexWang

local_dev_commit

此 diff 太大无法显示。
@@ -21,6 +21,7 @@ @@ -21,6 +21,7 @@
21 "iscroll": "^5.2.0", 21 "iscroll": "^5.2.0",
22 "jquery": "^3.1.0", 22 "jquery": "^3.1.0",
23 "jquery-touchswipe": "^1.6.15", 23 "jquery-touchswipe": "^1.6.15",
  24 + "mdetect": "^1.2.3",
24 "protobufjs": "^5.0.1", 25 "protobufjs": "^5.0.1",
25 "string.fromcodepoint": "^0.2.1", 26 "string.fromcodepoint": "^0.2.1",
26 "url-parse": "^1.1.1", 27 "url-parse": "^1.1.1",
@@ -31,7 +32,7 @@ @@ -31,7 +32,7 @@
31 "wbp": { 32 "wbp": {
32 "project": "umd", 33 "project": "umd",
33 "entries": { 34 "entries": {
34 - "McuClient": "./McuClientEngine.js" 35 + "McuClient": "./src/McuClientEngine.js"
35 }, 36 },
36 "source": "src/", 37 "source": "src/",
37 "build": "dist/" 38 "build": "dist/"
1 -/*eslint-disable*/ 1 +/*eslint-disable*/ ;
2 2
3 import Emiter from 'Emiter'; 3 import Emiter from 'Emiter';
4 import MessageTypes from 'MessageTypes'; 4 import MessageTypes from 'MessageTypes';
@@ -72,7 +72,7 @@ class MCU extends Emiter { @@ -72,7 +72,7 @@ class MCU extends Emiter {
72 joinRequestPdu.type = 2; 72 joinRequestPdu.type = 2;
73 joinRequestPdu.initiator = this.classInfo.nodeId; 73 joinRequestPdu.initiator = this.classInfo.nodeId;
74 joinRequestPdu.nodeType = PduConsts.NT_TERMINAL; //normal 74 joinRequestPdu.nodeType = PduConsts.NT_TERMINAL; //normal
75 - joinRequestPdu.classDescription = descriptorPdu;// classDescription 75 + joinRequestPdu.classDescription = descriptorPdu; // classDescription
76 76
77 let pduMsg = pdu.create_join_class_request_pdu( 77 let pduMsg = pdu.create_join_class_request_pdu(
78 joinRequestPdu.type, 78 joinRequestPdu.type,
@@ -86,7 +86,7 @@ class MCU extends Emiter { @@ -86,7 +86,7 @@ class MCU extends Emiter {
86 PduConsts.SEG_ONCE 86 PduConsts.SEG_ONCE
87 ); 87 );
88 88
89 - pduMsg.set("site", this.classInfo.siteId);//课堂号对应的名称 89 + pduMsg.set("site", this.classInfo.siteId); //课堂号对应的名称
90 pduMsg.set("userId", this.classInfo.userId); 90 pduMsg.set("userId", this.classInfo.userId);
91 pduMsg.set("userName", Base64.fromByteArray(ArrayBufferUtil.strToUint8Array(this.classInfo.userName))); 91 pduMsg.set("userName", Base64.fromByteArray(ArrayBufferUtil.strToUint8Array(this.classInfo.userName)));
92 pduMsg.set("userRole", this.classInfo.userRole); 92 pduMsg.set("userRole", this.classInfo.userRole);
@@ -131,16 +131,23 @@ class MCU extends Emiter { @@ -131,16 +131,23 @@ class MCU extends Emiter {
131 let sessionLabel = ApeConsts(pduMsg.sessionId); 131 let sessionLabel = ApeConsts(pduMsg.sessionId);
132 if (ape) { 132 if (ape) {
133 let subTypeLabel = pdu.id2type(pduMsg.subType); 133 let subTypeLabel = pdu.id2type(pduMsg.subType);
134 - //loger.log('MCU-SecondLayer封装消息', 'sessionId', sessionLabel, pduMsg.sessionId, 'subtype', subTypeLabel, pduMsg.subType); 134 + loger.log('MCU-SecondLayer封装消息',
  135 + 'sessionId',
  136 + sessionLabel,
  137 + pduMsg.sessionId,
  138 + 'subtype',
  139 + subTypeLabel,
  140 + pduMsg.subType,
  141 + GlobalConfig.mcuDelay,
  142 + GlobalConfig.messageDelay);
135 143
136 - loger.warn('接收服务端消息----------------->subType->', pduMsg.subType, GlobalConfig.mcuDelay, GlobalConfig.messageDelay);  
137 //延迟处理消息(3个条件--->ape允许延迟&&客户端设置需要延迟&&Sass设置的延迟时间大于0) 144 //延迟处理消息(3个条件--->ape允许延迟&&客户端设置需要延迟&&Sass设置的延迟时间大于0)
138 - if (ape._apeDelayed && GlobalConfig.messageDelay && GlobalConfig.mcuDelay > 0) { 145 + if (GlobalConfig.messageDelay && GlobalConfig.messageDelay.indexOf(sessionLabel) !== -1 && GlobalConfig.mcuDelay > 0) {
139 loger.warn('延迟处理消息->', GlobalConfig.mcuDelay); 146 loger.warn('延迟处理消息->', GlobalConfig.mcuDelay);
140 setTimeout(() => { 147 setTimeout(() => {
141 //this._pduRegAdapterHandler(regBuffer, seekTime); 148 //this._pduRegAdapterHandler(regBuffer, seekTime);
142 ape._emit(pduMsg.subType, pduMsg.data); 149 ape._emit(pduMsg.subType, pduMsg.data);
143 - }, GlobalConfig.mcuDelay * 1000);//mcuDelay单位是秒, 150 + }, GlobalConfig.mcuDelay * 1000); //mcuDelay单位是秒,
144 // 这里需要换算为毫秒 151 // 这里需要换算为毫秒
145 return; 152 return;
146 } 153 }
@@ -190,20 +197,20 @@ class MCU extends Emiter { @@ -190,20 +197,20 @@ class MCU extends Emiter {
190 } 197 }
191 loger.log('leaveMCU'); 198 loger.log('leaveMCU');
192 GlobalConfig.setCurrentStatus(GlobalConfig.statusCode_3); 199 GlobalConfig.setCurrentStatus(GlobalConfig.statusCode_3);
193 - GlobalConfig.classJoinSuccess=false; 200 + GlobalConfig.classJoinSuccess = false;
194 this._everSocket.end(); 201 this._everSocket.end();
195 } 202 }
196 203
197 // 主动建立MCU连接 204 // 主动建立MCU连接
198 joinMCU(_classInfo) { 205 joinMCU(_classInfo) {
199 loger.log('开始建立EverSocket通道.'); 206 loger.log('开始建立EverSocket通道.');
200 - GlobalConfig.classJoinSuccess=false; 207 + GlobalConfig.classJoinSuccess = false;
201 loger.log(_classInfo); 208 loger.log(_classInfo);
202 _classInfo.classId = parseInt(_classInfo.classId); // classId 必须整形 209 _classInfo.classId = parseInt(_classInfo.classId); // classId 必须整形
203 this.classInfo = _classInfo; 210 this.classInfo = _classInfo;
204 // 创建刷新nodeId 211 // 创建刷新nodeId
205 this.classInfo.nodeId = EngineUtils.creatSoleNumberFromTimestamp(); 212 this.classInfo.nodeId = EngineUtils.creatSoleNumberFromTimestamp();
206 - GlobalConfig.nodeId = this.classInfo.nodeId;//这是标识自己身份的id 213 + GlobalConfig.nodeId = this.classInfo.nodeId; //这是标识自己身份的id
207 214
208 let nodeInfoRecordPdu = new pdu['RCNodeInfoRecordPdu']; 215 let nodeInfoRecordPdu = new pdu['RCNodeInfoRecordPdu'];
209 nodeInfoRecordPdu.name = this.classInfo.userName; 216 nodeInfoRecordPdu.name = this.classInfo.userName;
@@ -211,13 +218,13 @@ class MCU extends Emiter { @@ -211,13 +218,13 @@ class MCU extends Emiter {
211 nodeInfoRecordPdu.userId = this.classInfo.userId; 218 nodeInfoRecordPdu.userId = this.classInfo.userId;
212 nodeInfoRecordPdu.role = ApeConsts.userTypesToId[this.classInfo.userRole] || 1; //NR_NORMAL用户的身份,根据用户登录时的身份设置 219 nodeInfoRecordPdu.role = ApeConsts.userTypesToId[this.classInfo.userRole] || 1; //NR_NORMAL用户的身份,根据用户登录时的身份设置
213 nodeInfoRecordPdu.level = 0; 220 nodeInfoRecordPdu.level = 0;
214 - nodeInfoRecordPdu.handUpTime=0;  
215 - nodeInfoRecordPdu.openCamera=0;  
216 - nodeInfoRecordPdu.openMicrophones=0;  
217 - nodeInfoRecordPdu.microphones=GlobalConfig.microphones;  
218 - nodeInfoRecordPdu.cameras=GlobalConfig.cameras;  
219 - nodeInfoRecordPdu.videoQuality=GlobalConfig.videoQuality;//设置分辨率的  
220 - nodeInfoRecordPdu.userIp=GlobalConfig.userIp; 221 + nodeInfoRecordPdu.handUpTime = 0;
  222 + nodeInfoRecordPdu.openCamera = 0;
  223 + nodeInfoRecordPdu.openMicrophones = 0;
  224 + nodeInfoRecordPdu.microphones = GlobalConfig.microphones;
  225 + nodeInfoRecordPdu.cameras = GlobalConfig.cameras;
  226 + nodeInfoRecordPdu.videoQuality = GlobalConfig.videoQuality; //设置分辨率的
  227 + nodeInfoRecordPdu.userIp = GlobalConfig.userIp;
221 228
222 let conferenceRecord = {}; //RCConferenceRecord_T 229 let conferenceRecord = {}; //RCConferenceRecord_T
223 conferenceRecord._conference_id = this.classInfo.classId; 230 conferenceRecord._conference_id = this.classInfo.classId;
1 module.exports = function (umdConf) { 1 module.exports = function (umdConf) {
2 umdConf.devServer.host = '0.0.0.0'; 2 umdConf.devServer.host = '0.0.0.0';
3 - //umdConf.webpackFeatures.enableEntryHTML();//生成 3 + umdConf.devServer.port = '8282';
  4 + umdConf.webpackFeatures.enableEntryHTML('McuClient');
4 umdConf.output.publicPath = ''; 5 umdConf.output.publicPath = '';
5 umdConf.output.library = 'MCUClientEngine'; 6 umdConf.output.library = 'MCUClientEngine';
6 7