正在显示
12 个修改的文件
包含
221 行增加
和
217 行删除
| @@ -26,7 +26,7 @@ import ArrayBufferUtil from 'libs/ArrayBufferUtil'; | @@ -26,7 +26,7 @@ import ArrayBufferUtil from 'libs/ArrayBufferUtil'; | ||
| 26 | import UTF8 from 'utf-8'; | 26 | import UTF8 from 'utf-8'; |
| 27 | 27 | ||
| 28 | let loger = Loger.getLoger('MessageEntrance'); | 28 | let loger = Loger.getLoger('MessageEntrance'); |
| 29 | -let _sdkInfo = {"version": "v.1.7.0.20170309-1", "author": "www.3mang.com"}; | 29 | +let _sdkInfo = {"version": "v.1.8.0.20170314-1", "author": "www.3mang.com"}; |
| 30 | 30 | ||
| 31 | //APE | 31 | //APE |
| 32 | let _sass; | 32 | let _sass; |
| @@ -470,8 +470,12 @@ export default class MessageEntrance extends Emiter { | @@ -470,8 +470,12 @@ export default class MessageEntrance extends Emiter { | ||
| 470 | if (_data.currentInfo) { | 470 | if (_data.currentInfo) { |
| 471 | //根据从Sass获取的数据信息,同步最后一次保存的课堂状态信息 | 471 | //根据从Sass获取的数据信息,同步最后一次保存的课堂状态信息 |
| 472 | loger.log("本地同步最后一次保存过的课堂状态信息"); | 472 | loger.log("本地同步最后一次保存过的课堂状态信息"); |
| 473 | - GlobalConfig.setClassStatusInfo(_data.currentInfo); | ||
| 474 | - console.log(GlobalConfig.classStatusInfo); | 473 | + try { |
| 474 | + GlobalConfig.setClassStatusInfo(JSON.parse(_data.currentInfo)); | ||
| 475 | + }catch (err){ | ||
| 476 | + GlobalConfig.setClassStatusInfo(_data.currentInfo); | ||
| 477 | + } | ||
| 478 | + loger.log(GlobalConfig.classStatusInfo); | ||
| 475 | } else { | 479 | } else { |
| 476 | loger.log("还没有保存过课堂状信息"); | 480 | loger.log("还没有保存过课堂状信息"); |
| 477 | } | 481 | } |
| @@ -523,12 +527,12 @@ export default class MessageEntrance extends Emiter { | @@ -523,12 +527,12 @@ export default class MessageEntrance extends Emiter { | ||
| 523 | //保存会态信息成功 | 527 | //保存会态信息成功 |
| 524 | _sassSaveClassStatusInfoSuccessHandler(_data) { | 528 | _sassSaveClassStatusInfoSuccessHandler(_data) { |
| 525 | loger.log('保存课堂状态信息成功.'); | 529 | loger.log('保存课堂状态信息成功.'); |
| 526 | - console.log(_data); | 530 | + loger.log(_data); |
| 527 | } | 531 | } |
| 528 | 532 | ||
| 529 | _sassSaveClassRecordInfoSuccessHandler(_data) { | 533 | _sassSaveClassRecordInfoSuccessHandler(_data) { |
| 530 | loger.log('保存课堂录制信息成功.'); | 534 | loger.log('保存课堂录制信息成功.'); |
| 531 | - console.log(_data); | 535 | + loger.log(_data); |
| 532 | } | 536 | } |
| 533 | 537 | ||
| 534 | //Sass校验流程结束之后,开始加入MCU | 538 | //Sass校验流程结束之后,开始加入MCU |
| @@ -589,7 +593,7 @@ export default class MessageEntrance extends Emiter { | @@ -589,7 +593,7 @@ export default class MessageEntrance extends Emiter { | ||
| 589 | joinClassSuccessCallBackData.classTimestamp=GlobalConfig.classTimestamp;//课堂进行的累积时间 | 593 | joinClassSuccessCallBackData.classTimestamp=GlobalConfig.classTimestamp;//课堂进行的累积时间 |
| 590 | joinClassSuccessCallBackData.recordPlaybackMaxTime=GlobalConfig.recordPlaybackMaxTime;//录制回放的总时间 | 594 | joinClassSuccessCallBackData.recordPlaybackMaxTime=GlobalConfig.recordPlaybackMaxTime;//录制回放的总时间 |
| 591 | loger.log('加入课堂成功'); | 595 | loger.log('加入课堂成功'); |
| 592 | - console.log(joinClassSuccessCallBackData); | 596 | + loger.log(joinClassSuccessCallBackData); |
| 593 | 597 | ||
| 594 | //加入课堂成功,广播消息 | 598 | //加入课堂成功,广播消息 |
| 595 | this._emit(MessageTypes.CLASS_JOIN_SUCCESS, joinClassSuccessCallBackData); | 599 | this._emit(MessageTypes.CLASS_JOIN_SUCCESS, joinClassSuccessCallBackData); |
| @@ -964,7 +968,7 @@ export default class MessageEntrance extends Emiter { | @@ -964,7 +968,7 @@ export default class MessageEntrance extends Emiter { | ||
| 964 | return; | 968 | return; |
| 965 | } | 969 | } |
| 966 | loger.log('Doc UpdateId ->'); | 970 | loger.log('Doc UpdateId ->'); |
| 967 | - console.log(_data); | 971 | + loger.log(_data); |
| 968 | if (_whiteboard_ape) { | 972 | if (_whiteboard_ape) { |
| 969 | _whiteboard_ape.docUpdateHandler(_data); | 973 | _whiteboard_ape.docUpdateHandler(_data); |
| 970 | } | 974 | } |
| @@ -980,7 +984,7 @@ export default class MessageEntrance extends Emiter { | @@ -980,7 +984,7 @@ export default class MessageEntrance extends Emiter { | ||
| 980 | //文档加入频道成功,同步到MCU服务器上的数据 | 984 | //文档加入频道成功,同步到MCU服务器上的数据 |
| 981 | docJoinChannelSuccess() { | 985 | docJoinChannelSuccess() { |
| 982 | loger.log("docJoinChannelSuccess isHost=", GlobalConfig.isHost); | 986 | loger.log("docJoinChannelSuccess isHost=", GlobalConfig.isHost); |
| 983 | - console.log(GlobalConfig.docListPrepare); | 987 | + loger.log(GlobalConfig.docListPrepare); |
| 984 | loger.log("docJoinChannelSuccess docListPrepare="); | 988 | loger.log("docJoinChannelSuccess docListPrepare="); |
| 985 | //如果是主持人,那么需要判断一下文档模块同步的数据和从sass获取的文档数据是否相同,如果mcu服务器不存在的,需要上传 | 989 | //如果是主持人,那么需要判断一下文档模块同步的数据和从sass获取的文档数据是否相同,如果mcu服务器不存在的,需要上传 |
| 986 | if (GlobalConfig.isHost) { | 990 | if (GlobalConfig.isHost) { |
| @@ -1137,7 +1141,7 @@ export default class MessageEntrance extends Emiter { | @@ -1137,7 +1141,7 @@ export default class MessageEntrance extends Emiter { | ||
| 1137 | joinClassSuccessCallBackData.classTimestamp=GlobalConfig.classTimestamp;//课堂进行的累积时间 | 1141 | joinClassSuccessCallBackData.classTimestamp=GlobalConfig.classTimestamp;//课堂进行的累积时间 |
| 1138 | joinClassSuccessCallBackData.recordPlaybackMaxTime=GlobalConfig.recordPlaybackMaxTime;//录制回放的总时间 | 1142 | joinClassSuccessCallBackData.recordPlaybackMaxTime=GlobalConfig.recordPlaybackMaxTime;//录制回放的总时间 |
| 1139 | 1143 | ||
| 1140 | - console.log(joinClassSuccessCallBackData); | 1144 | + loger.log(joinClassSuccessCallBackData); |
| 1141 | //和加入课堂成功使用同样的消息处理 | 1145 | //和加入课堂成功使用同样的消息处理 |
| 1142 | this._emit(MessageTypes.CLASS_JOIN_SUCCESS, joinClassSuccessCallBackData); | 1146 | this._emit(MessageTypes.CLASS_JOIN_SUCCESS, joinClassSuccessCallBackData); |
| 1143 | } | 1147 | } |
| @@ -29,7 +29,7 @@ class RecordPlayBackParse extends Emiter { | @@ -29,7 +29,7 @@ class RecordPlayBackParse extends Emiter { | ||
| 29 | loger.log("RecordPlayBackParse"); | 29 | loger.log("RecordPlayBackParse"); |
| 30 | parseBuffer = new ByteBuffer(ByteBuffer.DEFAULT_CAPACITY, ByteBuffer.LITTLE_ENDIAN); | 30 | parseBuffer = new ByteBuffer(ByteBuffer.DEFAULT_CAPACITY, ByteBuffer.LITTLE_ENDIAN); |
| 31 | parseBuffer.clear(); | 31 | parseBuffer.clear(); |
| 32 | - console.log(parseBuffer); | 32 | + //console.log(parseBuffer); |
| 33 | this._recordPlaybackTimestamp = 0;//回放的时间 | 33 | this._recordPlaybackTimestamp = 0;//回放的时间 |
| 34 | this._recordPlaybackMaxTime = 0;//录制回放的总时间 | 34 | this._recordPlaybackMaxTime = 0;//录制回放的总时间 |
| 35 | this._isReady = false;//录制回放是否已经准备完成 | 35 | this._isReady = false;//录制回放是否已经准备完成 |
| @@ -53,6 +53,20 @@ class RecordPlayBackParse extends Emiter { | @@ -53,6 +53,20 @@ class RecordPlayBackParse extends Emiter { | ||
| 53 | this._apes[ape._session_id] = ape; | 53 | this._apes[ape._session_id] = ape; |
| 54 | } | 54 | } |
| 55 | 55 | ||
| 56 | + initReplay() { | ||
| 57 | + this._stopTimerCounter(); | ||
| 58 | + this._recordPlaybackTimestamp = 0;//回放的时间 | ||
| 59 | + this._recordPlaybackMaxTime = 0;//录制回放的总时间 | ||
| 60 | + this._isReady = false;//录制回放是否已经准备完成 | ||
| 61 | + | ||
| 62 | + this._conferApeMssages = {};//会议数据 | ||
| 63 | + this._chatApeMssages = {};//聊天数据 | ||
| 64 | + this._videoApeMssages = {};//视频数据 | ||
| 65 | + this._audioApeMssages = {};//音频数据 | ||
| 66 | + this._docApeMssages = {};//文档数据 | ||
| 67 | + this._whiteApeMssages = {};//白板数据 | ||
| 68 | + } | ||
| 69 | + | ||
| 56 | //发送数据个各个APE模块处理,data是数据,seekTime是当前数据需要seek的时间长度(针对音视频的seek) | 70 | //发送数据个各个APE模块处理,data是数据,seekTime是当前数据需要seek的时间长度(针对音视频的seek) |
| 57 | _everSocketMsgReceivedHandler(data, seekTime) { | 71 | _everSocketMsgReceivedHandler(data, seekTime) { |
| 58 | let pduMsg = pdu.decode_pdu(data); | 72 | let pduMsg = pdu.decode_pdu(data); |
| @@ -65,7 +79,7 @@ class RecordPlayBackParse extends Emiter { | @@ -65,7 +79,7 @@ class RecordPlayBackParse extends Emiter { | ||
| 65 | pduMsg.type = PduType.RCPDU_SEND_DATA_REQUEST; | 79 | pduMsg.type = PduType.RCPDU_SEND_DATA_REQUEST; |
| 66 | pduType = PduType.RCPDU_SEND_DATA_REQUEST; | 80 | pduType = PduType.RCPDU_SEND_DATA_REQUEST; |
| 67 | } | 81 | } |
| 68 | - loger.log('_everSocketMsgReceivedHandler->pduType', pduType,"seekTime->",seekTime); | 82 | + loger.log('_everSocketMsgReceivedHandler->pduType', pduType, "seekTime->", seekTime); |
| 69 | switch (pduType) { | 83 | switch (pduType) { |
| 70 | case PduType.RCPDU_CONNECT_PROVIDER_RESPONSE: | 84 | case PduType.RCPDU_CONNECT_PROVIDER_RESPONSE: |
| 71 | //加入课堂请求返回数据处理 | 85 | //加入课堂请求返回数据处理 |
| @@ -95,7 +109,7 @@ class RecordPlayBackParse extends Emiter { | @@ -95,7 +109,7 @@ class RecordPlayBackParse extends Emiter { | ||
| 95 | let subTypeLabel = pdu.id2type(pduMsg.subType); | 109 | let subTypeLabel = pdu.id2type(pduMsg.subType); |
| 96 | //loger.log('MCU-SecondLayer封装消息', 'sessionId', sessionLabel, pduMsg.sessionId, 'subtype', subTypeLabel, pduMsg.subType); | 110 | //loger.log('MCU-SecondLayer封装消息', 'sessionId', sessionLabel, pduMsg.sessionId, 'subtype', subTypeLabel, pduMsg.subType); |
| 97 | //ape广播事件,只要ape中监听就能收到 | 111 | //ape广播事件,只要ape中监听就能收到 |
| 98 | - ape._emit(pduMsg.subType, pduMsg.data,seekTime);//seekTime是音视频模块seek的时间长度 | 112 | + ape._emit(pduMsg.subType, pduMsg.data, seekTime);//seekTime是音视频模块seek的时间长度 |
| 99 | } else { | 113 | } else { |
| 100 | loger.warn(sessionLabel + '尚未注册'); | 114 | loger.warn(sessionLabel + '尚未注册'); |
| 101 | } | 115 | } |
| @@ -186,12 +200,17 @@ class RecordPlayBackParse extends Emiter { | @@ -186,12 +200,17 @@ class RecordPlayBackParse extends Emiter { | ||
| 186 | 200 | ||
| 187 | //开启计时器 | 201 | //开启计时器 |
| 188 | _startTimerCounter() { | 202 | _startTimerCounter() { |
| 189 | - this._timerCounter.startTimer(); | 203 | + if (this._timerCounter) { |
| 204 | + this._timerCounter.startTimer(); | ||
| 205 | + } | ||
| 190 | } | 206 | } |
| 191 | 207 | ||
| 192 | //停止计时器 | 208 | //停止计时器 |
| 193 | _stopTimerCounter() { | 209 | _stopTimerCounter() { |
| 194 | - this._timerCounter.stopTimer(); | 210 | + if (this._timerCounter) { |
| 211 | + this._timerCounter.stopTimer(); | ||
| 212 | + } | ||
| 213 | + | ||
| 195 | } | 214 | } |
| 196 | 215 | ||
| 197 | _timerCounterUptate() { | 216 | _timerCounterUptate() { |
| @@ -217,12 +236,11 @@ class RecordPlayBackParse extends Emiter { | @@ -217,12 +236,11 @@ class RecordPlayBackParse extends Emiter { | ||
| 217 | 236 | ||
| 218 | //加载录制文件 | 237 | //加载录制文件 |
| 219 | readyRecordPlay() { | 238 | readyRecordPlay() { |
| 220 | - this._isReady = false; | ||
| 221 | - this._stopTimerCounter(); | 239 | + this.initReplay(); |
| 222 | loger.log("读取回放数据"); | 240 | loger.log("读取回放数据"); |
| 223 | //let url = `http://123.56.73.119:80/h5dev/20170306/1357644520_20170306.rec`; | 241 | //let url = `http://123.56.73.119:80/h5dev/20170306/1357644520_20170306.rec`; |
| 224 | let url = `http://${ GlobalConfig.RecordServerIP}:${ GlobalConfig.RecordServerPort}/${GlobalConfig.recordFileName}`; | 242 | let url = `http://${ GlobalConfig.RecordServerIP}:${ GlobalConfig.RecordServerPort}/${GlobalConfig.recordFileName}`; |
| 225 | - console.log(url); | 243 | + loger.log(url); |
| 226 | fetch(url, { | 244 | fetch(url, { |
| 227 | timeout: 90000 //加载文件超时时间1分30秒 | 245 | timeout: 90000 //加载文件超时时间1分30秒 |
| 228 | }) | 246 | }) |
| @@ -273,14 +291,6 @@ class RecordPlayBackParse extends Emiter { | @@ -273,14 +291,6 @@ class RecordPlayBackParse extends Emiter { | ||
| 273 | position += 4;//4字节 | 291 | position += 4;//4字节 |
| 274 | let byteData = parseBuffer.buffer.slice(position, (position + byteLen)); | 292 | let byteData = parseBuffer.buffer.slice(position, (position + byteLen)); |
| 275 | position += byteLen; | 293 | position += byteLen; |
| 276 | - console.log(timestamp, byteLen, byteData); | ||
| 277 | - | ||
| 278 | - /* let messageItem = this._messages[timestamp]; | ||
| 279 | - if (!messageItem) { | ||
| 280 | - this._messages[timestamp] = [];//数组存数据,因为有1秒内收到多个消息的情况,timestamp是按秒记录的 | ||
| 281 | - messageItem = this._messages[timestamp]; | ||
| 282 | - } | ||
| 283 | - messageItem.push({"timestamp": timestamp, "byteData": byteData});*/ | ||
| 284 | 294 | ||
| 285 | this._parseSaveSocketMsgReceivedHandler(byteData, timestamp); | 295 | this._parseSaveSocketMsgReceivedHandler(byteData, timestamp); |
| 286 | //记录最后一个数据的时间戳作为整个录制回放的总时间戳 | 296 | //记录最后一个数据的时间戳作为整个录制回放的总时间戳 |
| @@ -293,12 +303,12 @@ class RecordPlayBackParse extends Emiter { | @@ -293,12 +303,12 @@ class RecordPlayBackParse extends Emiter { | ||
| 293 | GlobalConfig.recordPlaybackMaxTime = this._recordPlaybackMaxTime; | 303 | GlobalConfig.recordPlaybackMaxTime = this._recordPlaybackMaxTime; |
| 294 | loger.log("录制回放数据解析完成,录制回放的总时间长为->", this._recordPlaybackMaxTime); | 304 | loger.log("录制回放数据解析完成,录制回放的总时间长为->", this._recordPlaybackMaxTime); |
| 295 | //console.log("_messages", this._messages); | 305 | //console.log("_messages", this._messages); |
| 296 | - console.log("_conferApeMssages", this._conferApeMssages); | ||
| 297 | - console.log("_chatApeMssages", this._chatApeMssages); | ||
| 298 | - console.log("_docApeMssages", this._docApeMssages); | ||
| 299 | - console.log("_whiteApeMssages", this._whiteApeMssages); | ||
| 300 | - console.log("_videoApeMssages", this._videoApeMssages); | ||
| 301 | - console.log("_audioApeMssages", this._audioApeMssages); | 306 | + loger.log("_conferApeMssages", this._conferApeMssages); |
| 307 | + loger.log("_chatApeMssages", this._chatApeMssages); | ||
| 308 | + loger.log("_docApeMssages", this._docApeMssages); | ||
| 309 | + loger.log("_whiteApeMssages", this._whiteApeMssages); | ||
| 310 | + loger.log("_videoApeMssages", this._videoApeMssages); | ||
| 311 | + loger.log("_audioApeMssages", this._audioApeMssages); | ||
| 302 | 312 | ||
| 303 | this._emit(RecordPlayBackParse.CLASS_JOIN_RECORD_PLAYBACK_SUCCESS, {"recordPlaybackMaxTime": this._recordPlaybackMaxTime}); | 313 | this._emit(RecordPlayBackParse.CLASS_JOIN_RECORD_PLAYBACK_SUCCESS, {"recordPlaybackMaxTime": this._recordPlaybackMaxTime}); |
| 304 | } | 314 | } |
| @@ -311,7 +321,7 @@ class RecordPlayBackParse extends Emiter { | @@ -311,7 +321,7 @@ class RecordPlayBackParse extends Emiter { | ||
| 311 | } else { | 321 | } else { |
| 312 | //把时间点对应的数据发送,同一秒内有存在多个数据的情况 | 322 | //把时间点对应的数据发送,同一秒内有存在多个数据的情况 |
| 313 | for (let i = 0; i < msgDataArr.length; i++) { | 323 | for (let i = 0; i < msgDataArr.length; i++) { |
| 314 | - this._everSocketMsgReceivedHandler(msgDataArr[i].byteData,0); | 324 | + this._everSocketMsgReceivedHandler(msgDataArr[i].byteData, 0); |
| 315 | } | 325 | } |
| 316 | } | 326 | } |
| 317 | } | 327 | } |
| @@ -392,19 +402,21 @@ class RecordPlayBackParse extends Emiter { | @@ -392,19 +402,21 @@ class RecordPlayBackParse extends Emiter { | ||
| 392 | messageItem = _apeMessages[i]; | 402 | messageItem = _apeMessages[i]; |
| 393 | if (messageItem) { | 403 | if (messageItem) { |
| 394 | keyFrameSeekTime = (this._recordPlaybackTimestamp - i) | 404 | keyFrameSeekTime = (this._recordPlaybackTimestamp - i) |
| 395 | - loger.log("SEEK->APE", ApeConsts(_apeId), this._recordPlaybackTimestamp, "查找到相连的timestamp->", i, '需要seek->', keyFrameSeekTime, "秒"); | 405 | + loger.log("SEEK->APE", ApeConsts(_apeId), this._recordPlaybackTimestamp, "查找到相连的timestamp->", i, '需要seek->', keyFrameSeekTime, "秒"); |
| 396 | //把时间点对应的数据发送,同一秒内有存在多个数据的情况 | 406 | //把时间点对应的数据发送,同一秒内有存在多个数据的情况 |
| 397 | for (let k = 0; k < messageItem.length; k++) { | 407 | for (let k = 0; k < messageItem.length; k++) { |
| 398 | - this._everSocketMsgReceivedHandler(messageItem[k].byteData,keyFrameSeekTime); | 408 | + this._everSocketMsgReceivedHandler(messageItem[k].byteData, keyFrameSeekTime); |
| 399 | } | 409 | } |
| 400 | if (_apeId == ApeConsts.AUDIO_SESSION_ID || _apeId == ApeConsts.VIDEO_SESSION_ID) { | 410 | if (_apeId == ApeConsts.AUDIO_SESSION_ID || _apeId == ApeConsts.VIDEO_SESSION_ID) { |
| 401 | - this._emit(MessageTypes.RECORD_PLAYBACK_UPDATE, {"status": SEEK, "keyFrameSeekTime": keyFrameSeekTime}); | 411 | + this._emit(MessageTypes.RECORD_PLAYBACK_UPDATE, { |
| 412 | + "status": SEEK, | ||
| 413 | + "keyFrameSeekTime": keyFrameSeekTime | ||
| 414 | + }); | ||
| 402 | } | 415 | } |
| 403 | return; | 416 | return; |
| 404 | } | 417 | } |
| 405 | } | 418 | } |
| 406 | loger.log("SEEK->APE", ApeConsts(_apeId), this._recordPlaybackTimestamp, "没有查找到相连的数据"); | 419 | loger.log("SEEK->APE", ApeConsts(_apeId), this._recordPlaybackTimestamp, "没有查找到相连的数据"); |
| 407 | - //this._emit(MessageTypes.RECORD_PLAYBACK_UPDATE,{"status":SEEK,"keyFrameSeek":keyFrameSeek}); | ||
| 408 | } | 420 | } |
| 409 | 421 | ||
| 410 | //查找聊天模块ape关键帧数据,聊天模块比较特殊,消息是累积的,当前时间戳之前的都需要显示 | 422 | //查找聊天模块ape关键帧数据,聊天模块比较特殊,消息是累积的,当前时间戳之前的都需要显示 |
| @@ -416,7 +428,7 @@ class RecordPlayBackParse extends Emiter { | @@ -416,7 +428,7 @@ class RecordPlayBackParse extends Emiter { | ||
| 416 | if (messageItem) { | 428 | if (messageItem) { |
| 417 | //把时间点对应的数据发送,同一秒内有存在多个数据的情况 | 429 | //把时间点对应的数据发送,同一秒内有存在多个数据的情况 |
| 418 | for (let i = 0; i < messageItem.length; i++) { | 430 | for (let i = 0; i < messageItem.length; i++) { |
| 419 | - this._everSocketMsgReceivedHandler(messageItem[i].byteData,0); | 431 | + this._everSocketMsgReceivedHandler(messageItem[i].byteData, 0); |
| 420 | } | 432 | } |
| 421 | } | 433 | } |
| 422 | } | 434 | } |
| @@ -40,8 +40,8 @@ class Sass extends Emiter { | @@ -40,8 +40,8 @@ class Sass extends Emiter { | ||
| 40 | */ | 40 | */ |
| 41 | let url = `http://${_initInfo.portal}/3m/api/meeting/joinParams.do?meetingNumber=${_initInfo.classId}&userID=${_initInfo.userId}`; | 41 | let url = `http://${_initInfo.portal}/3m/api/meeting/joinParams.do?meetingNumber=${_initInfo.classId}&userID=${_initInfo.userId}`; |
| 42 | loger.log('1.初始化init获取课堂校验信息.'); | 42 | loger.log('1.初始化init获取课堂校验信息.'); |
| 43 | - console.log(url); | ||
| 44 | - console.log(_initInfo); | 43 | + loger.log(url); |
| 44 | + loger.log(_initInfo); | ||
| 45 | fetch(url, { | 45 | fetch(url, { |
| 46 | timeout: 5000 | 46 | timeout: 5000 |
| 47 | }) | 47 | }) |
| @@ -88,7 +88,7 @@ class Sass extends Emiter { | @@ -88,7 +88,7 @@ class Sass extends Emiter { | ||
| 88 | // Sass校验开始-->密码校验(如果需要密码)--->MD5校验---------------------------------------------------- | 88 | // Sass校验开始-->密码校验(如果需要密码)--->MD5校验---------------------------------------------------- |
| 89 | passwordAndMd5Checking(_param) { | 89 | passwordAndMd5Checking(_param) { |
| 90 | loger.log('2.开始Sass校验'); | 90 | loger.log('2.开始Sass校验'); |
| 91 | - console.log(_param); | 91 | + loger.log(_param); |
| 92 | confInfo = _param; | 92 | confInfo = _param; |
| 93 | // 密码校验 | 93 | // 密码校验 |
| 94 | if (confInfo.passwordRequired === 'true' || confInfo.passwordRequired === true) { | 94 | if (confInfo.passwordRequired === 'true' || confInfo.passwordRequired === true) { |
| @@ -185,7 +185,7 @@ class Sass extends Emiter { | @@ -185,7 +185,7 @@ class Sass extends Emiter { | ||
| 185 | GlobalConfig.maxAudioChannels=confInfo.maxAudioChannels; | 185 | GlobalConfig.maxAudioChannels=confInfo.maxAudioChannels; |
| 186 | GlobalConfig.maxMediaChannels=confInfo.maxMediaChannels;*/ | 186 | GlobalConfig.maxMediaChannels=confInfo.maxMediaChannels;*/ |
| 187 | loger.log('MD5校验完成'); | 187 | loger.log('MD5校验完成'); |
| 188 | - console.log(ret); | 188 | + loger.log(ret); |
| 189 | this._emit(Sass.SUCCESS, ret); | 189 | this._emit(Sass.SUCCESS, ret); |
| 190 | } else { | 190 | } else { |
| 191 | loger.log('MD5校验-失败.'); | 191 | loger.log('MD5校验-失败.'); |
| @@ -252,7 +252,7 @@ class Sass extends Emiter { | @@ -252,7 +252,7 @@ class Sass extends Emiter { | ||
| 252 | var authId = MD5(GlobalConfig.classId + "" + timestamp);//课堂号+时间戳 的字符串,转成MD5 | 252 | var authId = MD5(GlobalConfig.classId + "" + timestamp);//课堂号+时间戳 的字符串,转成MD5 |
| 253 | let url = `http://${GlobalConfig.portal}/3m/api/meeting/detail.do?meetingNumber=${GlobalConfig.classId}×tamp=${timestamp}&authId=${authId}`; | 253 | let url = `http://${GlobalConfig.portal}/3m/api/meeting/detail.do?meetingNumber=${GlobalConfig.classId}×tamp=${timestamp}&authId=${authId}`; |
| 254 | loger.log('5.获取课堂课堂的完整信息 '); | 254 | loger.log('5.获取课堂课堂的完整信息 '); |
| 255 | - console.log(url); | 255 | + loger.log(url); |
| 256 | fetch(url, { | 256 | fetch(url, { |
| 257 | timeout: 5000 | 257 | timeout: 5000 |
| 258 | }) | 258 | }) |
| @@ -93,8 +93,7 @@ export default class Ape extends Emiter { | @@ -93,8 +93,7 @@ export default class Ape extends Emiter { | ||
| 93 | let regItems = regPdu.item; | 93 | let regItems = regPdu.item; |
| 94 | let regItemSize = regItems.length; | 94 | let regItemSize = regItems.length; |
| 95 | //loger.log(this._session_name + '数据同步消息'); | 95 | //loger.log(this._session_name + '数据同步消息'); |
| 96 | - loger.log(this._session_name + '数据同步消息.同步条数', regItemSize,"seekTime->",seekTime); | ||
| 97 | - | 96 | + //loger.log(this._session_name + '数据同步消息.同步条数', regItemSize,"seekTime->",seekTime); |
| 98 | for (var i = 0; i < regItemSize; ++i) { | 97 | for (var i = 0; i < regItemSize; ++i) { |
| 99 | let regItem = regItems[i]; | 98 | let regItem = regItems[i]; |
| 100 | let regItemType = regItem.type; | 99 | let regItemType = regItem.type; |
| @@ -164,8 +163,8 @@ export default class Ape extends Emiter { | @@ -164,8 +163,8 @@ export default class Ape extends Emiter { | ||
| 164 | let tableUpdateData = pdu['RCRegistryTableUpdateItemPdu'].decode(user_data); | 163 | let tableUpdateData = pdu['RCRegistryTableUpdateItemPdu'].decode(user_data); |
| 165 | let tableUpdateItems = tableUpdateData.items; | 164 | let tableUpdateItems = tableUpdateData.items; |
| 166 | let tableUpdateItemsLen = tableUpdateItems.length; | 165 | let tableUpdateItemsLen = tableUpdateItems.length; |
| 167 | - loger.log("RCRegistryTableUpdateItemPdu " + tableUpdateItemsLen); | ||
| 168 | - console.log(tableUpdateData); | 166 | + //loger.log("RCRegistryTableUpdateItemPdu " + tableUpdateItemsLen); |
| 167 | + loger.log(tableUpdateData); | ||
| 169 | 168 | ||
| 170 | for (let i = 0; i < tableUpdateItemsLen; ++i) { | 169 | for (let i = 0; i < tableUpdateItemsLen; ++i) { |
| 171 | let tableItem = tableUpdateItems[i]; | 170 | let tableItem = tableUpdateItems[i]; |
| @@ -311,7 +310,7 @@ export default class Ape extends Emiter { | @@ -311,7 +310,7 @@ export default class Ape extends Emiter { | ||
| 311 | 310 | ||
| 312 | send(appPdu) { | 311 | send(appPdu) { |
| 313 | loger.log('Ape发送数据NORMAL PDU'); | 312 | loger.log('Ape发送数据NORMAL PDU'); |
| 314 | - console.log(appPdu); | 313 | + //console.log(appPdu); |
| 315 | //loger.log('当前的状态============',GlobalConfig.getCurrentStatus().code); | 314 | //loger.log('当前的状态============',GlobalConfig.getCurrentStatus().code); |
| 316 | if (GlobalConfig.getCurrentStatus().code == 0 || GlobalConfig.getCurrentStatus().code == 1) { | 315 | if (GlobalConfig.getCurrentStatus().code == 0 || GlobalConfig.getCurrentStatus().code == 1) { |
| 317 | this._emit(MessageTypes.MCU_ERROR, MessageTypes.ERR_APE_SEND_FAILED_NO_JOIN); | 316 | this._emit(MessageTypes.MCU_ERROR, MessageTypes.ERR_APE_SEND_FAILED_NO_JOIN); |
| @@ -337,7 +336,7 @@ export default class Ape extends Emiter { | @@ -337,7 +336,7 @@ export default class Ape extends Emiter { | ||
| 337 | // 发送当前APE(session uniform包) | 336 | // 发送当前APE(session uniform包) |
| 338 | sendUniform(appPdu, top) { | 337 | sendUniform(appPdu, top) { |
| 339 | loger.log('Ape发送数据UNIFORM PDU'); | 338 | loger.log('Ape发送数据UNIFORM PDU'); |
| 340 | - console.log(appPdu); | 339 | + //console.log(appPdu); |
| 341 | //loger.log('当前的状态============',GlobalConfig.getCurrentStatus().code); | 340 | //loger.log('当前的状态============',GlobalConfig.getCurrentStatus().code); |
| 342 | if (GlobalConfig.getCurrentStatus().code == 0 || GlobalConfig.getCurrentStatus().code == 1) { | 341 | if (GlobalConfig.getCurrentStatus().code == 0 || GlobalConfig.getCurrentStatus().code == 1) { |
| 343 | this._emit(MessageTypes.MCU_ERROR, MessageTypes.ERR_APE_SEND_FAILED_NO_JOIN); | 342 | this._emit(MessageTypes.MCU_ERROR, MessageTypes.ERR_APE_SEND_FAILED_NO_JOIN); |
| @@ -362,7 +361,7 @@ export default class Ape extends Emiter { | @@ -362,7 +361,7 @@ export default class Ape extends Emiter { | ||
| 362 | 361 | ||
| 363 | sendChatUniform(appPdu, top) { | 362 | sendChatUniform(appPdu, top) { |
| 364 | loger.log('Ape发送数据UNIFORM PDU'); | 363 | loger.log('Ape发送数据UNIFORM PDU'); |
| 365 | - console.log(appPdu); | 364 | + //console.log(appPdu); |
| 366 | //loger.log('当前的状态============',GlobalConfig.getCurrentStatus().code); | 365 | //loger.log('当前的状态============',GlobalConfig.getCurrentStatus().code); |
| 367 | if (GlobalConfig.getCurrentStatus().code == 0 || GlobalConfig.getCurrentStatus().code == 1) { | 366 | if (GlobalConfig.getCurrentStatus().code == 0 || GlobalConfig.getCurrentStatus().code == 1) { |
| 368 | this._emit(MessageTypes.MCU_ERROR, MessageTypes.ERR_APE_SEND_FAILED_NO_JOIN); | 367 | this._emit(MessageTypes.MCU_ERROR, MessageTypes.ERR_APE_SEND_FAILED_NO_JOIN); |
| @@ -349,7 +349,7 @@ class AudioApe extends Ape { | @@ -349,7 +349,7 @@ class AudioApe extends Ape { | ||
| 349 | } | 349 | } |
| 350 | }else { | 350 | }else { |
| 351 | loger.warn("消息是自己发送的或者是消息无效,不需要处理,消息内容如下:"); | 351 | loger.warn("消息是自己发送的或者是消息无效,不需要处理,消息内容如下:"); |
| 352 | - console.log(unpackChannelInfo); | 352 | + loger.log(unpackChannelInfo); |
| 353 | 353 | ||
| 354 | } | 354 | } |
| 355 | this._emit(MessageTypes.AUDIO_UPDATE, unpackChannelInfo); | 355 | this._emit(MessageTypes.AUDIO_UPDATE, unpackChannelInfo); |
| @@ -376,7 +376,7 @@ class AudioApe extends Ape { | @@ -376,7 +376,7 @@ class AudioApe extends Ape { | ||
| 376 | packPduModel.timestamp =_param.timestamp||EngineUtils.creatTimestamp(); | 376 | packPduModel.timestamp =_param.timestamp||EngineUtils.creatTimestamp(); |
| 377 | packPduModel.fromNodeId = GlobalConfig.nodeId; | 377 | packPduModel.fromNodeId = GlobalConfig.nodeId; |
| 378 | packPduModel.toNodeId = 0; | 378 | packPduModel.toNodeId = 0; |
| 379 | - console.log("packPdu",packPduModel); | 379 | + loger.log("packPdu",packPduModel); |
| 380 | return packPduModel; | 380 | return packPduModel; |
| 381 | } | 381 | } |
| 382 | 382 | ||
| @@ -388,7 +388,7 @@ class AudioApe extends Ape { | @@ -388,7 +388,7 @@ class AudioApe extends Ape { | ||
| 388 | } | 388 | } |
| 389 | try { | 389 | try { |
| 390 | let packChannelInfo = pdu['RCAudioChannelInfoPdu'].decode(itemData); | 390 | let packChannelInfo = pdu['RCAudioChannelInfoPdu'].decode(itemData); |
| 391 | - console.log(packChannelInfo); | 391 | + loger.log(packChannelInfo); |
| 392 | return packChannelInfo; | 392 | return packChannelInfo; |
| 393 | } catch (err) { | 393 | } catch (err) { |
| 394 | loger.log("unPackPdu error,itemIdx=" + itemIdx + " err:" + err.message); | 394 | loger.log("unPackPdu error,itemIdx=" + itemIdx + " err:" + err.message); |
| @@ -65,11 +65,11 @@ class ChatApe extends Ape { | @@ -65,11 +65,11 @@ class ChatApe extends Ape { | ||
| 65 | // if (!(chatSendPdu.isPublic || 0 === chatSendPdu.peer)) { | 65 | // if (!(chatSendPdu.isPublic || 0 === chatSendPdu.peer)) { |
| 66 | if (!chatSendPdu.isPublic && 0!=chatSendPdu.peer) { | 66 | if (!chatSendPdu.isPublic && 0!=chatSendPdu.peer) { |
| 67 | //发送给制定的人 | 67 | //发送给制定的人 |
| 68 | - loger.log('发送私聊消息.'); | 68 | + //loger.log('发送私聊消息.'); |
| 69 | this.send(chatSendPdu); | 69 | this.send(chatSendPdu); |
| 70 | } else { | 70 | } else { |
| 71 | //发送给所有人 | 71 | //发送给所有人 |
| 72 | - loger.log('发送公聊消息.'); | 72 | + //loger.log('发送公聊消息.'); |
| 73 | //this.sendUniform(chatSendPdu); | 73 | //this.sendUniform(chatSendPdu); |
| 74 | this.sendChatUniform(chatSendPdu); | 74 | this.sendChatUniform(chatSendPdu); |
| 75 | } | 75 | } |
| @@ -64,7 +64,7 @@ class ConferApe extends Ape { | @@ -64,7 +64,7 @@ class ConferApe extends Ape { | ||
| 64 | _joinSessionHandler(_data) { | 64 | _joinSessionHandler(_data) { |
| 65 | let nodeInfoRecordPdu = this.mcu.mcuClassInfo.self; | 65 | let nodeInfoRecordPdu = this.mcu.mcuClassInfo.self; |
| 66 | loger.log("_joinSessionHandler nodeInfoRecordPdu="); | 66 | loger.log("_joinSessionHandler nodeInfoRecordPdu="); |
| 67 | - console.log(nodeInfoRecordPdu); | 67 | + loger.log(nodeInfoRecordPdu); |
| 68 | let userDataPdu = new pdu['RCNodeInfoUserDataPdu']; | 68 | let userDataPdu = new pdu['RCNodeInfoUserDataPdu']; |
| 69 | userDataPdu.qq = ''; | 69 | userDataPdu.qq = ''; |
| 70 | userDataPdu.skype = ''; | 70 | userDataPdu.skype = ''; |
| @@ -323,7 +323,7 @@ class ConferApe extends Ape { | @@ -323,7 +323,7 @@ class ConferApe extends Ape { | ||
| 323 | itemIdx = ApeConsts.CONFERENCE_OBJ_TABLE_ID;// itemIdx=_param.itemIdx; | 323 | itemIdx = ApeConsts.CONFERENCE_OBJ_TABLE_ID;// itemIdx=_param.itemIdx; |
| 324 | let modelPdu = this.packPdu(_param, itemIdx); | 324 | let modelPdu = this.packPdu(_param, itemIdx); |
| 325 | //loger.log('sendUpdaterClassStatusInfo----2------'); | 325 | //loger.log('sendUpdaterClassStatusInfo----2------'); |
| 326 | - console.log(modelPdu); | 326 | + loger.log(modelPdu); |
| 327 | 327 | ||
| 328 | if (modelPdu == null) { | 328 | if (modelPdu == null) { |
| 329 | loger.log('sendUpdaterClassStatusInfo,参数错误'); | 329 | loger.log('sendUpdaterClassStatusInfo,参数错误'); |
| @@ -360,7 +360,7 @@ class ConferApe extends Ape { | @@ -360,7 +360,7 @@ class ConferApe extends Ape { | ||
| 360 | adapterPdu.type = pdu.RCPDU_REG_ADAPTER; | 360 | adapterPdu.type = pdu.RCPDU_REG_ADAPTER; |
| 361 | adapterPdu.item.push(adapterItemPdu); | 361 | adapterPdu.item.push(adapterItemPdu); |
| 362 | 362 | ||
| 363 | - console.log("课堂发送更新数据============"); | 363 | + loger.log("课堂发送更新数据============"); |
| 364 | this.sendUniform(adapterPdu, true); | 364 | this.sendUniform(adapterPdu, true); |
| 365 | } | 365 | } |
| 366 | 366 | ||
| @@ -420,7 +420,7 @@ class ConferApe extends Ape { | @@ -420,7 +420,7 @@ class ConferApe extends Ape { | ||
| 420 | try { | 420 | try { |
| 421 | let model = this.unPackPdu(owner, itemIdx, itemData); | 421 | let model = this.unPackPdu(owner, itemIdx, itemData); |
| 422 | loger.log('tableUpdateHandler'); | 422 | loger.log('tableUpdateHandler'); |
| 423 | - console.log(model); | 423 | + loger.log(model); |
| 424 | 424 | ||
| 425 | //处理课堂更新的信息 | 425 | //处理课堂更新的信息 |
| 426 | if (model && model.classStatusInfo) { | 426 | if (model && model.classStatusInfo) { |
| @@ -478,7 +478,7 @@ class ConferApe extends Ape { | @@ -478,7 +478,7 @@ class ConferApe extends Ape { | ||
| 478 | loger.log("onSendConferRecordRequestHandler"); | 478 | loger.log("onSendConferRecordRequestHandler"); |
| 479 | try { | 479 | try { |
| 480 | let conferRecordSendPdu = pdu['RCConferenceRecordRequestPdu'].decode(_data); | 480 | let conferRecordSendPdu = pdu['RCConferenceRecordRequestPdu'].decode(_data); |
| 481 | - console.log(conferRecordSendPdu); | 481 | + loger.log(conferRecordSendPdu); |
| 482 | } catch (err) { | 482 | } catch (err) { |
| 483 | loger.warn("onSendConferRecordRequestHandler err", err.message); | 483 | loger.warn("onSendConferRecordRequestHandler err", err.message); |
| 484 | } | 484 | } |
| @@ -212,7 +212,7 @@ class DocApe extends Ape { | @@ -212,7 +212,7 @@ class DocApe extends Ape { | ||
| 212 | //切换文档 | 212 | //切换文档 |
| 213 | documentSwitchDoc(paramInfo){ | 213 | documentSwitchDoc(paramInfo){ |
| 214 | loger.log('切换文档,documentSwitchDoc'); | 214 | loger.log('切换文档,documentSwitchDoc'); |
| 215 | - console.log(paramInfo); | 215 | + loger.log(paramInfo); |
| 216 | if(paramInfo==null||paramInfo.itemIdx==null){ | 216 | if(paramInfo==null||paramInfo.itemIdx==null){ |
| 217 | loger.warn('documentSwitch失败,参数错误',paramInfo); | 217 | loger.warn('documentSwitch失败,参数错误',paramInfo); |
| 218 | this._emit(MessageTypes.MCU_ERROR,MessageTypes.ERR_APE_INTERFACE_PARAM_WRONG); | 218 | this._emit(MessageTypes.MCU_ERROR,MessageTypes.ERR_APE_INTERFACE_PARAM_WRONG); |
| @@ -247,7 +247,7 @@ class DocApe extends Ape { | @@ -247,7 +247,7 @@ class DocApe extends Ape { | ||
| 247 | docDataModel.visible=paramInfo.visible||false;//默认是false | 247 | docDataModel.visible=paramInfo.visible||false;//默认是false |
| 248 | 248 | ||
| 249 | //loger.log('切换文档,当前文档和上一个显示的文档都需要更新状态'); | 249 | //loger.log('切换文档,当前文档和上一个显示的文档都需要更新状态'); |
| 250 | - console.log({"oldDoc":oldDocModel,"nowDoc":docDataModel}); | 250 | + loger.log({"oldDoc":oldDocModel,"nowDoc":docDataModel}); |
| 251 | //更新当前选择的文档 | 251 | //更新当前选择的文档 |
| 252 | this.updaterDoc(docDataModel,docDataModel.itemIdx); | 252 | this.updaterDoc(docDataModel,docDataModel.itemIdx); |
| 253 | 253 | ||
| @@ -261,7 +261,7 @@ class DocApe extends Ape { | @@ -261,7 +261,7 @@ class DocApe extends Ape { | ||
| 261 | //文档翻页 | 261 | //文档翻页 |
| 262 | documentSwitchPage(paramInfo){ | 262 | documentSwitchPage(paramInfo){ |
| 263 | loger.log('文档翻页,documentSwitchPage'); | 263 | loger.log('文档翻页,documentSwitchPage'); |
| 264 | - console.log(paramInfo); | 264 | + loger.log(paramInfo); |
| 265 | //console.log(this.docList); | 265 | //console.log(this.docList); |
| 266 | //获取已经存在的数据 | 266 | //获取已经存在的数据 |
| 267 | let docDataModel= this.docList[paramInfo.itemIdx]; | 267 | let docDataModel= this.docList[paramInfo.itemIdx]; |
| @@ -349,7 +349,7 @@ class DocApe extends Ape { | @@ -349,7 +349,7 @@ class DocApe extends Ape { | ||
| 349 | } | 349 | } |
| 350 | 350 | ||
| 351 | loger.log('tableInsertHandler 发送给客户端'); | 351 | loger.log('tableInsertHandler 发送给客户端'); |
| 352 | - console.log(itemDataInfo); | 352 | + loger.log(itemDataInfo); |
| 353 | this._emit(MessageTypes.DOC_UPDATE,itemDataInfo);//用添加和更新都统一DOC_UPDATE | 353 | this._emit(MessageTypes.DOC_UPDATE,itemDataInfo);//用添加和更新都统一DOC_UPDATE |
| 354 | } | 354 | } |
| 355 | 355 | ||
| @@ -401,7 +401,7 @@ class DocApe extends Ape { | @@ -401,7 +401,7 @@ class DocApe extends Ape { | ||
| 401 | loger.log('tableUpdateHandler 设置当前激活的文档id'); | 401 | loger.log('tableUpdateHandler 设置当前激活的文档id'); |
| 402 | } | 402 | } |
| 403 | loger.log('tableUpdateHandler 发送给客户端'); | 403 | loger.log('tableUpdateHandler 发送给客户端'); |
| 404 | - console.log(itemDataInfo); | 404 | + loger.log(itemDataInfo); |
| 405 | this._emit(MessageTypes.DOC_UPDATE,itemDataInfo); | 405 | this._emit(MessageTypes.DOC_UPDATE,itemDataInfo); |
| 406 | 406 | ||
| 407 | }else { | 407 | }else { |
| @@ -515,7 +515,7 @@ class DocApe extends Ape { | @@ -515,7 +515,7 @@ class DocApe extends Ape { | ||
| 515 | docModelPdu.md5=_param.md5||"";//MD5 | 515 | docModelPdu.md5=_param.md5||"";//MD5 |
| 516 | docModelPdu.fileName=_param.fileName||"doc_"+_itemIdx;//文档的名字 | 516 | docModelPdu.fileName=_param.fileName||"doc_"+_itemIdx;//文档的名字 |
| 517 | docModelPdu.dynamicTS=_param.dynamicTS||"0";//文档上传后返回值中的字段dynamicTransferStatic | 517 | docModelPdu.dynamicTS=_param.dynamicTS||"0";//文档上传后返回值中的字段dynamicTransferStatic |
| 518 | - console.log(docModelPdu); | 518 | + loger.log(docModelPdu); |
| 519 | return docModelPdu; | 519 | return docModelPdu; |
| 520 | } | 520 | } |
| 521 | 521 |
| @@ -116,7 +116,7 @@ class MediaModule { | @@ -116,7 +116,7 @@ class MediaModule { | ||
| 116 | counter++; | 116 | counter++; |
| 117 | } | 117 | } |
| 118 | loger.log("getFreeMediaChannel","maxMediaChannel",this.maxMediaChannel,"counter:",counter); | 118 | loger.log("getFreeMediaChannel","maxMediaChannel",this.maxMediaChannel,"counter:",counter); |
| 119 | - console.log(this.mediaChannels); | 119 | + loger.log(this.mediaChannels); |
| 120 | if (counter < this.maxMediaChannel) { | 120 | if (counter < this.maxMediaChannel) { |
| 121 | return this.MEDIA_OBJ_TABLE_ID + (counter); | 121 | return this.MEDIA_OBJ_TABLE_ID + (counter); |
| 122 | } | 122 | } |
| @@ -292,7 +292,7 @@ class VideoApe extends Ape { | @@ -292,7 +292,7 @@ class VideoApe extends Ape { | ||
| 292 | } | 292 | } |
| 293 | videoReceivePdu.data = this._rCArrayBufferUtil.uint8ArrayToStr(videoReceivePdu.data, 2);//开头两个字会乱码 | 293 | videoReceivePdu.data = this._rCArrayBufferUtil.uint8ArrayToStr(videoReceivePdu.data, 2);//开头两个字会乱码 |
| 294 | loger.log('视频控制消息处理 .',videoReceivePdu); | 294 | loger.log('视频控制消息处理 .',videoReceivePdu); |
| 295 | - console.log(videoReceivePdu); | 295 | + loger.log(videoReceivePdu); |
| 296 | 296 | ||
| 297 | //判断接收者的id,如果不是0,并且也不是自己的nodeId,那么消息不做处理 | 297 | //判断接收者的id,如果不是0,并且也不是自己的nodeId,那么消息不做处理 |
| 298 | if (videoReceivePdu.toNodeId != 0 && videoReceivePdu.toNodeId != GlobalConfig.nodeId) { | 298 | if (videoReceivePdu.toNodeId != 0 && videoReceivePdu.toNodeId != GlobalConfig.nodeId) { |
| @@ -353,7 +353,7 @@ class VideoApe extends Ape { | @@ -353,7 +353,7 @@ class VideoApe extends Ape { | ||
| 353 | } | 353 | } |
| 354 | }else { | 354 | }else { |
| 355 | loger.warn("视频消息是自己发送的或者是视频消息无效,不需要处理,消息内容如下:"); | 355 | loger.warn("视频消息是自己发送的或者是视频消息无效,不需要处理,消息内容如下:"); |
| 356 | - console.log(unpackChannelInfo); | 356 | + loger.log(unpackChannelInfo); |
| 357 | 357 | ||
| 358 | } | 358 | } |
| 359 | 359 | ||
| @@ -381,7 +381,7 @@ class VideoApe extends Ape { | @@ -381,7 +381,7 @@ class VideoApe extends Ape { | ||
| 381 | packPduModel.timestamp =_param.timestamp||0; | 381 | packPduModel.timestamp =_param.timestamp||0; |
| 382 | packPduModel.fromNodeId = GlobalConfig.nodeId; | 382 | packPduModel.fromNodeId = GlobalConfig.nodeId; |
| 383 | packPduModel.toNodeId = 0; | 383 | packPduModel.toNodeId = 0; |
| 384 | - console.log(packPduModel); | 384 | + loger.log(packPduModel); |
| 385 | return packPduModel; | 385 | return packPduModel; |
| 386 | } | 386 | } |
| 387 | 387 | ||
| @@ -393,7 +393,7 @@ class VideoApe extends Ape { | @@ -393,7 +393,7 @@ class VideoApe extends Ape { | ||
| 393 | } | 393 | } |
| 394 | try { | 394 | try { |
| 395 | let videoChannelInfo = pdu['RCVideoChannelInfoPdu'].decode(itemData); | 395 | let videoChannelInfo = pdu['RCVideoChannelInfoPdu'].decode(itemData); |
| 396 | - console.log(videoChannelInfo); | 396 | + loger.log(videoChannelInfo); |
| 397 | return videoChannelInfo; | 397 | return videoChannelInfo; |
| 398 | } catch (err) { | 398 | } catch (err) { |
| 399 | loger.log("unPackPdu error,itemIdx=" + itemIdx + " err:" + err.message); | 399 | loger.log("unPackPdu error,itemIdx=" + itemIdx + " err:" + err.message); |
| @@ -25,12 +25,12 @@ import EngineUtils from 'EngineUtils'; | @@ -25,12 +25,12 @@ import EngineUtils from 'EngineUtils'; | ||
| 25 | 25 | ||
| 26 | let loger = Loger.getLoger('WhiteBoardApe'); | 26 | let loger = Loger.getLoger('WhiteBoardApe'); |
| 27 | 27 | ||
| 28 | -let itemIdx=0;//table插入新数据的计数id,目前用时间戳 | ||
| 29 | -const TYPE_BIGHT=0;//任意线段 | ||
| 30 | -const TYPE_LINE=1;//直线 | ||
| 31 | -const TYPE_RECT=2;//矩形 | ||
| 32 | -const TYPE_CIRCLE=3;//圆形 | ||
| 33 | -const TYPE_TEXT=4;//文本 | 28 | +let itemIdx = 0;//table插入新数据的计数id,目前用时间戳 |
| 29 | +const TYPE_BIGHT = 0;//任意线段 | ||
| 30 | +const TYPE_LINE = 1;//直线 | ||
| 31 | +const TYPE_RECT = 2;//矩形 | ||
| 32 | +const TYPE_CIRCLE = 3;//圆形 | ||
| 33 | +const TYPE_TEXT = 4;//文本 | ||
| 34 | 34 | ||
| 35 | class WhiteBoardApe extends Ape { | 35 | class WhiteBoardApe extends Ape { |
| 36 | constructor() { | 36 | constructor() { |
| @@ -41,7 +41,7 @@ class WhiteBoardApe extends Ape { | @@ -41,7 +41,7 @@ class WhiteBoardApe extends Ape { | ||
| 41 | ); | 41 | ); |
| 42 | // properties | 42 | // properties |
| 43 | this.annoInfos = {};//储存所有的标注数据 | 43 | this.annoInfos = {};//储存所有的标注数据 |
| 44 | - this.insertHistory=[];//添加的白板记录,用于撤回操作 | 44 | + this.insertHistory = [];//添加的白板记录,用于撤回操作 |
| 45 | // 白板延迟 | 45 | // 白板延迟 |
| 46 | // this._apeDelayed = true; | 46 | // this._apeDelayed = true; |
| 47 | 47 | ||
| @@ -57,24 +57,24 @@ class WhiteBoardApe extends Ape { | @@ -57,24 +57,24 @@ class WhiteBoardApe extends Ape { | ||
| 57 | 57 | ||
| 58 | _joinSessionHandler(_data) { | 58 | _joinSessionHandler(_data) { |
| 59 | loger.log("RCPDU_SESSION_JOIN_RESPONSE"); | 59 | loger.log("RCPDU_SESSION_JOIN_RESPONSE"); |
| 60 | - this.insertHistory=[]; | 60 | + this.insertHistory = []; |
| 61 | } | 61 | } |
| 62 | 62 | ||
| 63 | /////////////发送数据操作////////////////////////////////////////////////////// | 63 | /////////////发送数据操作////////////////////////////////////////////////////// |
| 64 | // 添加标注,发送信息 | 64 | // 添加标注,发送信息 |
| 65 | - sendInsetAnnotaion(_param){ | ||
| 66 | - if(_param==null||EngineUtils.isEmptyObject(_param)){ | 65 | + sendInsetAnnotaion(_param) { |
| 66 | + if (_param == null || EngineUtils.isEmptyObject(_param)) { | ||
| 67 | loger.log('sendInsetAnnotaion失败,参数错误'); | 67 | loger.log('sendInsetAnnotaion失败,参数错误'); |
| 68 | - this._emit(MessageTypes.MCU_ERROR,MessageTypes.ERR_APE_INTERFACE_PARAM_WRONG); | ||
| 69 | - return ; | 68 | + this._emit(MessageTypes.MCU_ERROR, MessageTypes.ERR_APE_INTERFACE_PARAM_WRONG); |
| 69 | + return; | ||
| 70 | } | 70 | } |
| 71 | 71 | ||
| 72 | - itemIdx=EngineUtils.creatSoleNumberFromTimestamp(); | ||
| 73 | - let whiteBoardModelPdu = this.packPdu(_param,itemIdx); | ||
| 74 | - if(whiteBoardModelPdu==null){ | 72 | + itemIdx = EngineUtils.creatSoleNumberFromTimestamp(); |
| 73 | + let whiteBoardModelPdu = this.packPdu(_param, itemIdx); | ||
| 74 | + if (whiteBoardModelPdu == null) { | ||
| 75 | loger.log('sendInsetAnnotaion失败,参数错误'); | 75 | loger.log('sendInsetAnnotaion失败,参数错误'); |
| 76 | - this._emit(MessageTypes.MCU_ERROR,MessageTypes.ERR_APE_INTERFACE_PARAM_WRONG); | ||
| 77 | - return ; | 76 | + this._emit(MessageTypes.MCU_ERROR, MessageTypes.ERR_APE_INTERFACE_PARAM_WRONG); |
| 77 | + return; | ||
| 78 | } | 78 | } |
| 79 | //console.log(whiteBoardModelPdu); | 79 | //console.log(whiteBoardModelPdu); |
| 80 | 80 | ||
| @@ -82,10 +82,10 @@ class WhiteBoardApe extends Ape { | @@ -82,10 +82,10 @@ class WhiteBoardApe extends Ape { | ||
| 82 | this.insertHistory.push(whiteBoardModelPdu); | 82 | this.insertHistory.push(whiteBoardModelPdu); |
| 83 | 83 | ||
| 84 | let tableItemPdu = new pdu['RCRegistryTableItemPdu']; | 84 | let tableItemPdu = new pdu['RCRegistryTableItemPdu']; |
| 85 | - tableItemPdu.itemIdx=itemIdx;//直接用时间戳作为id | ||
| 86 | - tableItemPdu.registerObjId=ApeConsts.WHITEBOARD_OBJ_TABLE_ID; | 85 | + tableItemPdu.itemIdx = itemIdx;//直接用时间戳作为id |
| 86 | + tableItemPdu.registerObjId = ApeConsts.WHITEBOARD_OBJ_TABLE_ID; | ||
| 87 | tableItemPdu.owner = 0;//收到flash的是这个值,不清楚先写固定 | 87 | tableItemPdu.owner = 0;//收到flash的是这个值,不清楚先写固定 |
| 88 | - tableItemPdu.itemData =whiteBoardModelPdu.toArrayBuffer(); | 88 | + tableItemPdu.itemData = whiteBoardModelPdu.toArrayBuffer(); |
| 89 | 89 | ||
| 90 | //insert | 90 | //insert |
| 91 | let tableInsertItemPdu = new pdu['RCRegistryTableInsertItemPdu']; | 91 | let tableInsertItemPdu = new pdu['RCRegistryTableInsertItemPdu']; |
| @@ -108,39 +108,42 @@ class WhiteBoardApe extends Ape { | @@ -108,39 +108,42 @@ class WhiteBoardApe extends Ape { | ||
| 108 | adapterPdu.type = pdu.RCPDU_REG_ADAPTER; | 108 | adapterPdu.type = pdu.RCPDU_REG_ADAPTER; |
| 109 | adapterPdu.item.push(adapterItemPdu); | 109 | adapterPdu.item.push(adapterItemPdu); |
| 110 | 110 | ||
| 111 | - console.log("添加白板数据=====itemIdx="+tableItemPdu.itemIdx); | ||
| 112 | - this.sendUniform(adapterPdu,true); | 111 | + loger.log("添加白板数据=====itemIdx=" + tableItemPdu.itemIdx); |
| 112 | + this.sendUniform(adapterPdu, true); | ||
| 113 | } | 113 | } |
| 114 | + | ||
| 114 | //撤销上一步 | 115 | //撤销上一步 |
| 115 | - sendGotoPrev(){ | 116 | + sendGotoPrev() { |
| 116 | loger.log("白板返回上一步"); | 117 | loger.log("白板返回上一步"); |
| 117 | - if(this.insertHistory==null||this.insertHistory.length<1){ | 118 | + if (this.insertHistory == null || this.insertHistory.length < 1) { |
| 118 | loger.warn("无法继续上一步操作,已经没有可以撤销的数据"); | 119 | loger.warn("无法继续上一步操作,已经没有可以撤销的数据"); |
| 119 | return; | 120 | return; |
| 120 | } | 121 | } |
| 121 | - console.log(this.insertHistory); | 122 | + //loger.log(this.insertHistory); |
| 122 | this.sendDeleteAnnotaion(this.insertHistory.pop()); | 123 | this.sendDeleteAnnotaion(this.insertHistory.pop()); |
| 123 | } | 124 | } |
| 125 | + | ||
| 124 | //删除当前页码的所有标注 | 126 | //删除当前页码的所有标注 |
| 125 | - sendDeleteCurPageAnnotation(_param){ | ||
| 126 | - for (let key in this.annoInfos){ | ||
| 127 | - let item=this.annoInfos[key]; | ||
| 128 | - if(item&&item.parentId==GlobalConfig.activeDocId&&item.curPageNo==GlobalConfig.activeDocCurPage){ | ||
| 129 | - loger.log("sendDeleteCurPageAnnotation 删除当前页面上的标注",key); | ||
| 130 | - this.sendDeleteAnnotaion({"itemIdx":key}); | 127 | + sendDeleteCurPageAnnotation(_param) { |
| 128 | + for (let key in this.annoInfos) { | ||
| 129 | + let item = this.annoInfos[key]; | ||
| 130 | + if (item && item.parentId == GlobalConfig.activeDocId && item.curPageNo == GlobalConfig.activeDocCurPage) { | ||
| 131 | + loger.log("sendDeleteCurPageAnnotation 删除当前页面上的标注", key); | ||
| 132 | + this.sendDeleteAnnotaion({"itemIdx": key}); | ||
| 131 | } | 133 | } |
| 132 | } | 134 | } |
| 133 | } | 135 | } |
| 136 | + | ||
| 134 | //删除所有标注 | 137 | //删除所有标注 |
| 135 | - sendDeleteAllAnnotation(_param){ | ||
| 136 | - for (let key in this.annoInfos){ | ||
| 137 | - this.sendDeleteAnnotaion({"itemIdx":key}); | 138 | + sendDeleteAllAnnotation(_param) { |
| 139 | + for (let key in this.annoInfos) { | ||
| 140 | + this.sendDeleteAnnotaion({"itemIdx": key}); | ||
| 138 | } | 141 | } |
| 139 | } | 142 | } |
| 140 | 143 | ||
| 141 | //删除标注,发送信息 | 144 | //删除标注,发送信息 |
| 142 | - sendDeleteAnnotaion(_param){ | ||
| 143 | - if(_param==null){ | 145 | + sendDeleteAnnotaion(_param) { |
| 146 | + if (_param == null) { | ||
| 144 | loger.warn("要删除的数据不存在"); | 147 | loger.warn("要删除的数据不存在"); |
| 145 | return; | 148 | return; |
| 146 | } | 149 | } |
| @@ -149,7 +152,7 @@ class WhiteBoardApe extends Ape { | @@ -149,7 +152,7 @@ class WhiteBoardApe extends Ape { | ||
| 149 | //optional RCPduType_E type = 1 [default = RCPDU_REG_TABLE_DELETE_PDU]; | 152 | //optional RCPduType_E type = 1 [default = RCPDU_REG_TABLE_DELETE_PDU]; |
| 150 | // repeated uint32 item_idx = 2; | 153 | // repeated uint32 item_idx = 2; |
| 151 | tableDeleteItemPdu.type = pdu.RCPDU_REG_TABLE_DELETE_PDU;// | 154 | tableDeleteItemPdu.type = pdu.RCPDU_REG_TABLE_DELETE_PDU;// |
| 152 | - tableDeleteItemPdu.itemIdx=parseInt(_param.itemIdx);//这里需要设置要删除的数据的itemIdx,每条数据的这个id都不一样 | 155 | + tableDeleteItemPdu.itemIdx = parseInt(_param.itemIdx);//这里需要设置要删除的数据的itemIdx,每条数据的这个id都不一样 |
| 153 | 156 | ||
| 154 | let updateObjPdu = new pdu['RCRegistryUpdateObjPdu']; | 157 | let updateObjPdu = new pdu['RCRegistryUpdateObjPdu']; |
| 155 | updateObjPdu.objId = ApeConsts.WHITEBOARD_OBJ_TABLE_ID; | 158 | updateObjPdu.objId = ApeConsts.WHITEBOARD_OBJ_TABLE_ID; |
| @@ -165,33 +168,33 @@ class WhiteBoardApe extends Ape { | @@ -165,33 +168,33 @@ class WhiteBoardApe extends Ape { | ||
| 165 | adapterPdu.type = pdu.RCPDU_REG_ADAPTER; | 168 | adapterPdu.type = pdu.RCPDU_REG_ADAPTER; |
| 166 | adapterPdu.item.push(adapterItemPdu); | 169 | adapterPdu.item.push(adapterItemPdu); |
| 167 | 170 | ||
| 168 | - console.log("白板发送删除数据============="+tableDeleteItemPdu.itemIdx); | ||
| 169 | - this.sendUniform(adapterPdu,true); | 171 | + loger.log("白板发送删除数据=============" + tableDeleteItemPdu.itemIdx); |
| 172 | + this.sendUniform(adapterPdu, true); | ||
| 170 | } | 173 | } |
| 171 | 174 | ||
| 172 | 175 | ||
| 173 | //更新标注 | 176 | //更新标注 |
| 174 | - sendUpdaterAnnotaion(_param){ | ||
| 175 | - if(_param==null||EngineUtils.isEmptyObject(_param)){ | 177 | + sendUpdaterAnnotaion(_param) { |
| 178 | + if (_param == null || EngineUtils.isEmptyObject(_param)) { | ||
| 176 | loger.log('sendUpdaterAnnotaion失败,参数错误'); | 179 | loger.log('sendUpdaterAnnotaion失败,参数错误'); |
| 177 | - this._emit(MessageTypes.MCU_ERROR,MessageTypes.ERR_APE_INTERFACE_PARAM_WRONG); | ||
| 178 | - return ; | 180 | + this._emit(MessageTypes.MCU_ERROR, MessageTypes.ERR_APE_INTERFACE_PARAM_WRONG); |
| 181 | + return; | ||
| 179 | } | 182 | } |
| 180 | - itemIdx=_param.itemIdx; | ||
| 181 | - let whiteBoardModelPdu = this.packPdu(_param,itemIdx); | 183 | + itemIdx = _param.itemIdx; |
| 184 | + let whiteBoardModelPdu = this.packPdu(_param, itemIdx); | ||
| 182 | //console.log(whiteBoardModelPdu); | 185 | //console.log(whiteBoardModelPdu); |
| 183 | 186 | ||
| 184 | - if(whiteBoardModelPdu==null){ | 187 | + if (whiteBoardModelPdu == null) { |
| 185 | loger.log('sendInsetAnnotaion失败,参数错误'); | 188 | loger.log('sendInsetAnnotaion失败,参数错误'); |
| 186 | - this._emit(MessageTypes.MCU_ERROR,MessageTypes.ERR_APE_INTERFACE_PARAM_WRONG); | ||
| 187 | - return ; | 189 | + this._emit(MessageTypes.MCU_ERROR, MessageTypes.ERR_APE_INTERFACE_PARAM_WRONG); |
| 190 | + return; | ||
| 188 | } | 191 | } |
| 189 | 192 | ||
| 190 | let tableItemPdu = new pdu['RCRegistryTableItemPdu']; | 193 | let tableItemPdu = new pdu['RCRegistryTableItemPdu']; |
| 191 | - tableItemPdu.itemIdx=itemIdx; | 194 | + tableItemPdu.itemIdx = itemIdx; |
| 192 | tableItemPdu.owner = 0;//收到flash的是这个值,不清楚先写固定 | 195 | tableItemPdu.owner = 0;//收到flash的是这个值,不清楚先写固定 |
| 193 | - tableItemPdu.registerObjId=ApeConsts.WHITEBOARD_OBJ_TABLE_ID; | ||
| 194 | - tableItemPdu.itemData =whiteBoardModelPdu.toArrayBuffer(); | 196 | + tableItemPdu.registerObjId = ApeConsts.WHITEBOARD_OBJ_TABLE_ID; |
| 197 | + tableItemPdu.itemData = whiteBoardModelPdu.toArrayBuffer(); | ||
| 195 | 198 | ||
| 196 | 199 | ||
| 197 | //updater | 200 | //updater |
| @@ -216,50 +219,42 @@ class WhiteBoardApe extends Ape { | @@ -216,50 +219,42 @@ class WhiteBoardApe extends Ape { | ||
| 216 | adapterPdu.type = pdu.RCPDU_REG_ADAPTER; | 219 | adapterPdu.type = pdu.RCPDU_REG_ADAPTER; |
| 217 | adapterPdu.item.push(adapterItemPdu); | 220 | adapterPdu.item.push(adapterItemPdu); |
| 218 | 221 | ||
| 219 | - console.log("白板发送更新数据===============22"); | ||
| 220 | - this.sendUniform(adapterPdu,true); | 222 | + loger.log("白板发送更新数据===============22"); |
| 223 | + this.sendUniform(adapterPdu, true); | ||
| 221 | } | 224 | } |
| 222 | 225 | ||
| 223 | /////收到消息处理///////////////////////////////////////////////////////////////////////////////// | 226 | /////收到消息处理///////////////////////////////////////////////////////////////////////////////// |
| 224 | - /* whiteboardMsgComingHandler(_data) { | ||
| 225 | - //flash RCConferenceSendDataRequestPdu | ||
| 226 | - //loger.warn('whiteboardMsgComingHandler needs to be handled.'); | ||
| 227 | - //const recordInfo = pdu['RCWhiteboardDataRequestPdu'].decode(pdu); | ||
| 228 | - //loger.log("whiteboardMsgComingHandler",recordInfo); | ||
| 229 | - | ||
| 230 | - let receiveInfo = pdu['RCConferenceSendDataRequestPdu'].decode(_data); | ||
| 231 | - loger.log("whiteboardMsgComingHandler",receiveInfo); | ||
| 232 | - }*/ | ||
| 233 | - | ||
| 234 | - tableInsertHandler(owner, itemIdx,itemData) { | ||
| 235 | - let whiteBoardModel=this.unPackPdu(owner, itemIdx,itemData); | 227 | + tableInsertHandler(owner, itemIdx, itemData) { |
| 228 | + let whiteBoardModel = this.unPackPdu(owner, itemIdx, itemData); | ||
| 236 | loger.log('tableInsertHandler'); | 229 | loger.log('tableInsertHandler'); |
| 237 | - console.log(whiteBoardModel); | ||
| 238 | - if(whiteBoardModel){ | ||
| 239 | - if(GlobalConfig.activeDocId==whiteBoardModel.parentId&&GlobalConfig.activeDocCurPage==whiteBoardModel.curPageNo){ | ||
| 240 | - loger.log('WHITEBOARD_ANNOTAION_INSERT 显示到界面上',whiteBoardModel); | 230 | + loger.log(whiteBoardModel); |
| 231 | + if (whiteBoardModel) { | ||
| 232 | + if (GlobalConfig.activeDocId == whiteBoardModel.parentId && GlobalConfig.activeDocCurPage == whiteBoardModel.curPageNo) { | ||
| 233 | + loger.log('WHITEBOARD_ANNOTAION_INSERT 显示到界面上', whiteBoardModel); | ||
| 241 | //this._emit(MessageTypes.WHITEBOARD_ANNOTAION_INSERT,whiteBoardModel); | 234 | //this._emit(MessageTypes.WHITEBOARD_ANNOTAION_INSERT,whiteBoardModel); |
| 242 | this.insertAandShowAnnotaion(whiteBoardModel); | 235 | this.insertAandShowAnnotaion(whiteBoardModel); |
| 243 | } | 236 | } |
| 244 | } | 237 | } |
| 245 | } | 238 | } |
| 239 | + | ||
| 246 | tableUpdateHandler(owner, itemIdx, itemData) { | 240 | tableUpdateHandler(owner, itemIdx, itemData) { |
| 247 | - let whiteBoardModel=this.unPackPdu(owner, itemIdx,itemData); | 241 | + let whiteBoardModel = this.unPackPdu(owner, itemIdx, itemData); |
| 248 | loger.log('tableUpdateHandler'); | 242 | loger.log('tableUpdateHandler'); |
| 249 | - console.log(whiteBoardModel); | ||
| 250 | - if(whiteBoardModel&&whiteBoardModel.parentId==GlobalConfig.activeDocId&&whiteBoardModel.curPageNo==GlobalConfig.activeDocCurPage){ | 243 | + loger.log(whiteBoardModel); |
| 244 | + if (whiteBoardModel && whiteBoardModel.parentId == GlobalConfig.activeDocId && whiteBoardModel.curPageNo == GlobalConfig.activeDocCurPage) { | ||
| 251 | this.updateAandShowAnnotaion(); | 245 | this.updateAandShowAnnotaion(); |
| 252 | } | 246 | } |
| 253 | } | 247 | } |
| 254 | - tableDeleteHandler(object_id, tableDeleteData){ | 248 | + |
| 249 | + tableDeleteHandler(object_id, tableDeleteData) { | ||
| 255 | // console.log("白板收到数据,tableDeleteHandler object_id="+object_id);//((18<< 16) + 1)=1179649 | 250 | // console.log("白板收到数据,tableDeleteHandler object_id="+object_id);//((18<< 16) + 1)=1179649 |
| 256 | - loger.log('tableDeleteHandler',object_id,tableDeleteData);//["tableDeleteHandler",1179649,{"type":231,"itemIdx":[1486301768]}] | ||
| 257 | - if(tableDeleteData&&tableDeleteData.itemIdx){ | ||
| 258 | - let len=tableDeleteData.itemIdx.length; | ||
| 259 | - let itemIdxs=tableDeleteData.itemIdx; | ||
| 260 | - for (let i=0;i<len;i++){ | ||
| 261 | - if(this.annoInfos[itemIdxs[i]]){ | ||
| 262 | - loger.log("删除白板数据:",itemIdxs[i]); | 251 | + loger.log('tableDeleteHandler', object_id, tableDeleteData);//["tableDeleteHandler",1179649,{"type":231,"itemIdx":[1486301768]}] |
| 252 | + if (tableDeleteData && tableDeleteData.itemIdx) { | ||
| 253 | + let len = tableDeleteData.itemIdx.length; | ||
| 254 | + let itemIdxs = tableDeleteData.itemIdx; | ||
| 255 | + for (let i = 0; i < len; i++) { | ||
| 256 | + if (this.annoInfos[itemIdxs[i]]) { | ||
| 257 | + loger.log("删除白板数据:", itemIdxs[i]); | ||
| 263 | //this._emit(MessageTypes.WHITEBOARD_ANNOTAION_DELETE,{ "itemIdx":itemIdxs[i]}); | 258 | //this._emit(MessageTypes.WHITEBOARD_ANNOTAION_DELETE,{ "itemIdx":itemIdxs[i]}); |
| 264 | delete this.annoInfos[itemIdxs[i]]; | 259 | delete this.annoInfos[itemIdxs[i]]; |
| 265 | } | 260 | } |
| @@ -267,79 +262,72 @@ class WhiteBoardApe extends Ape { | @@ -267,79 +262,72 @@ class WhiteBoardApe extends Ape { | ||
| 267 | } | 262 | } |
| 268 | this.updateAandShowAnnotaion(); | 263 | this.updateAandShowAnnotaion(); |
| 269 | } | 264 | } |
| 265 | + | ||
| 270 | //文档更新,白板也要更新 | 266 | //文档更新,白板也要更新 |
| 271 | - docUpdateHandler(_data){ | 267 | + docUpdateHandler(_data) { |
| 272 | loger.log("白板收到文档更新的消息docUpdateHandler"); | 268 | loger.log("白板收到文档更新的消息docUpdateHandler"); |
| 273 | - console.log(_data); | 269 | + loger.log(_data); |
| 274 | 270 | ||
| 275 | //如果切换了文档或翻页,清除之前的添加步骤记录 | 271 | //如果切换了文档或翻页,清除之前的添加步骤记录 |
| 276 | - if(_data.action==ApeConsts.DOC_ACTION_SWITCH_DOC||_data.action==ApeConsts.DOC_ACTION_SWITCH_PAGE){ | ||
| 277 | - this.insertHistory=[]; | 272 | + if (_data.action == ApeConsts.DOC_ACTION_SWITCH_DOC || _data.action == ApeConsts.DOC_ACTION_SWITCH_PAGE) { |
| 273 | + this.insertHistory = []; | ||
| 278 | } | 274 | } |
| 279 | this.updateAandShowAnnotaion(); | 275 | this.updateAandShowAnnotaion(); |
| 280 | } | 276 | } |
| 277 | + | ||
| 281 | //删除白板数据 | 278 | //删除白板数据 |
| 282 | - docDeleteHandler(_parentId){ | ||
| 283 | - loger.log("白板收到文档删除的消息docDeleteHandler",_parentId); | ||
| 284 | - for (let key in this.annoInfos){ | ||
| 285 | - let item=this.annoInfos[key]; | ||
| 286 | - if(item&&item.parentId==_parentId){ | ||
| 287 | - loger.log("文档删除,白板数据也删除,itemIdx:"+key,"_parentId:",_parentId); | ||
| 288 | - this.sendDeleteAnnotaion({"itemIdx":key}); | 279 | + docDeleteHandler(_parentId) { |
| 280 | + loger.log("白板收到文档删除的消息docDeleteHandler", _parentId); | ||
| 281 | + for (let key in this.annoInfos) { | ||
| 282 | + let item = this.annoInfos[key]; | ||
| 283 | + if (item && item.parentId == _parentId) { | ||
| 284 | + loger.log("文档删除,白板数据也删除,itemIdx:" + key, "_parentId:", _parentId); | ||
| 285 | + this.sendDeleteAnnotaion({"itemIdx": key}); | ||
| 289 | } | 286 | } |
| 290 | } | 287 | } |
| 291 | } | 288 | } |
| 289 | + | ||
| 292 | //增量添加标注 | 290 | //增量添加标注 |
| 293 | - insertAandShowAnnotaion(_item){ | ||
| 294 | - let annotaionItems=[_item]; | ||
| 295 | - var updateObj={ | ||
| 296 | - "isFresh":false, | ||
| 297 | - "annotaionItems":annotaionItems | 291 | + insertAandShowAnnotaion(_item) { |
| 292 | + let annotaionItems = [_item]; | ||
| 293 | + var updateObj = { | ||
| 294 | + "isFresh": false, | ||
| 295 | + "annotaionItems": annotaionItems | ||
| 298 | }; | 296 | }; |
| 299 | - loger.log("WHITEBOARD_ANNOTATION_UPDATE",annotaionItems.length); | ||
| 300 | - this._emit(MessageTypes.WHITEBOARD_ANNOTATION_UPDATE,updateObj); | 297 | + loger.log("WHITEBOARD_ANNOTATION_UPDATE", annotaionItems.length); |
| 298 | + this._emit(MessageTypes.WHITEBOARD_ANNOTATION_UPDATE, updateObj); | ||
| 301 | } | 299 | } |
| 300 | + | ||
| 302 | //整体更新并且显示标注 | 301 | //整体更新并且显示标注 |
| 303 | - updateAandShowAnnotaion(){ | ||
| 304 | - let annotaionItems=[]; | ||
| 305 | - for (let key in this.annoInfos){ | ||
| 306 | - let item=this.annoInfos[key]; | ||
| 307 | - if(item&&item.parentId==GlobalConfig.activeDocId&&item.curPageNo==GlobalConfig.activeDocCurPage){ | 302 | + updateAandShowAnnotaion() { |
| 303 | + let annotaionItems = []; | ||
| 304 | + for (let key in this.annoInfos) { | ||
| 305 | + let item = this.annoInfos[key]; | ||
| 306 | + if (item && item.parentId == GlobalConfig.activeDocId && item.curPageNo == GlobalConfig.activeDocCurPage) { | ||
| 308 | annotaionItems.push(item); | 307 | annotaionItems.push(item); |
| 309 | - loger.log("显示和文档对应的白板数据docUpdateHandler itemIdx:",item.itemIdx,"doc itemIdx:",GlobalConfig.activeDocId,"curPageNo:",GlobalConfig.activeDocCurPage); | ||
| 310 | - }else{ | 308 | + loger.log("显示和文档对应的白板数据docUpdateHandler itemIdx:", item.itemIdx, "doc itemIdx:", GlobalConfig.activeDocId, "curPageNo:", GlobalConfig.activeDocCurPage); |
| 309 | + } else { | ||
| 311 | //loger.log("不显示白板数据docUpdateHandler",item); | 310 | //loger.log("不显示白板数据docUpdateHandler",item); |
| 312 | } | 311 | } |
| 313 | } | 312 | } |
| 314 | - var updateObj={ | ||
| 315 | - "isFresh":true, | ||
| 316 | - "annotaionItems":annotaionItems | 313 | + var updateObj = { |
| 314 | + "isFresh": true, | ||
| 315 | + "annotaionItems": annotaionItems | ||
| 317 | }; | 316 | }; |
| 318 | - loger.log("WHITEBOARD_ANNOTATION_UPDATE",annotaionItems.length); | ||
| 319 | - this._emit(MessageTypes.WHITEBOARD_ANNOTATION_UPDATE,updateObj); | 317 | + loger.log("WHITEBOARD_ANNOTATION_UPDATE", annotaionItems.length); |
| 318 | + this._emit(MessageTypes.WHITEBOARD_ANNOTATION_UPDATE, updateObj); | ||
| 320 | } | 319 | } |
| 321 | 320 | ||
| 322 | ///////白板数据的封包和解包///////////////////////////////////////// | 321 | ///////白板数据的封包和解包///////////////////////////////////////// |
| 323 | - packPdu(_param,_itemIdx){ | ||
| 324 | - /* required uint32 type= 1;//白板类型 | ||
| 325 | - required uint32 id= 2;//id 每一次绘制的唯一标识 | ||
| 326 | - required uint32 initiator=3; //绘制来自谁 | ||
| 327 | - optional string pointGroup=4; //坐标点集数组的JSON字符串 | ||
| 328 | - optional string color= 5 [default = "#000000"]; //颜色 | ||
| 329 | - optional uint32 thickness= 6 ;//线条粗细 | ||
| 330 | - optional uint32 radius= 7;//园的半径 | ||
| 331 | - optional uint32 fontSize= 8;//字体大小 | ||
| 332 | - optional uint32 fontName= 9;//字体名称 | ||
| 333 | - optional uint32 text= 10;//文本内容*/ | ||
| 334 | - | 322 | + packPdu(_param, _itemIdx) { |
| 335 | //验证坐标点集合数组是否合法 | 323 | //验证坐标点集合数组是否合法 |
| 336 | - if(_param.pointGroup==null||_param.pointGroup.length<1){ | ||
| 337 | - this._emit(MessageTypes.MCU_ERROR,MessageTypes.ERR_APE_INTERFACE_PARAM_WRONG); | 324 | + if (_param.pointGroup == null || _param.pointGroup.length < 1) { |
| 325 | + this._emit(MessageTypes.MCU_ERROR, MessageTypes.ERR_APE_INTERFACE_PARAM_WRONG); | ||
| 338 | return null; | 326 | return null; |
| 339 | } | 327 | } |
| 340 | //判断type类型,根据type设置不同的参数 | 328 | //判断type类型,根据type设置不同的参数 |
| 341 | - let whiteBoardModelPdu =new pdu['RCWhiteBoardDataModelPdu']; | ||
| 342 | - switch (_param.type){ | 329 | + let whiteBoardModelPdu = new pdu['RCWhiteBoardDataModelPdu']; |
| 330 | + switch (_param.type) { | ||
| 343 | case TYPE_BIGHT: | 331 | case TYPE_BIGHT: |
| 344 | break; | 332 | break; |
| 345 | case TYPE_LINE: | 333 | case TYPE_LINE: |
| @@ -347,12 +335,12 @@ class WhiteBoardApe extends Ape { | @@ -347,12 +335,12 @@ class WhiteBoardApe extends Ape { | ||
| 347 | case TYPE_RECT: | 335 | case TYPE_RECT: |
| 348 | break; | 336 | break; |
| 349 | case TYPE_CIRCLE: | 337 | case TYPE_CIRCLE: |
| 350 | - whiteBoardModelPdu.radius=parseInt(_param.radius); | 338 | + whiteBoardModelPdu.radius = parseInt(_param.radius); |
| 351 | break; | 339 | break; |
| 352 | case TYPE_TEXT: | 340 | case TYPE_TEXT: |
| 353 | - whiteBoardModelPdu.fontSize=parseInt(_param.fontSize); | ||
| 354 | - whiteBoardModelPdu.fontName=_param.fontName||null; | ||
| 355 | - whiteBoardModelPdu.text=_param.text||null; | 341 | + whiteBoardModelPdu.fontSize = parseInt(_param.fontSize); |
| 342 | + whiteBoardModelPdu.fontName = _param.fontName || null; | ||
| 343 | + whiteBoardModelPdu.text = _param.text || null; | ||
| 356 | break; | 344 | break; |
| 357 | default: | 345 | default: |
| 358 | //其它类型不做处理 | 346 | //其它类型不做处理 |
| @@ -360,33 +348,34 @@ class WhiteBoardApe extends Ape { | @@ -360,33 +348,34 @@ class WhiteBoardApe extends Ape { | ||
| 360 | break; | 348 | break; |
| 361 | } | 349 | } |
| 362 | //下面4个是必须的参数 | 350 | //下面4个是必须的参数 |
| 363 | - whiteBoardModelPdu.type =_param.type; | ||
| 364 | - whiteBoardModelPdu.itemIdx =_itemIdx; | ||
| 365 | - whiteBoardModelPdu.initiator =GlobalConfig.nodeId; | 351 | + whiteBoardModelPdu.type = _param.type; |
| 352 | + whiteBoardModelPdu.itemIdx = _itemIdx; | ||
| 353 | + whiteBoardModelPdu.initiator = GlobalConfig.nodeId; | ||
| 366 | 354 | ||
| 367 | /* whiteBoardModelPdu.parentId=_param.parentId||0; | 355 | /* whiteBoardModelPdu.parentId=_param.parentId||0; |
| 368 | whiteBoardModelPdu.curPage=_param.curPage||1;*/ | 356 | whiteBoardModelPdu.curPage=_param.curPage||1;*/ |
| 369 | 357 | ||
| 370 | - whiteBoardModelPdu.parentId=GlobalConfig.activeDocId;//当前激活的文档id | ||
| 371 | - whiteBoardModelPdu.curPageNo=GlobalConfig.activeDocCurPage;//当前激活的文档页码 | 358 | + whiteBoardModelPdu.parentId = GlobalConfig.activeDocId;//当前激活的文档id |
| 359 | + whiteBoardModelPdu.curPageNo = GlobalConfig.activeDocCurPage;//当前激活的文档页码 | ||
| 372 | 360 | ||
| 373 | - whiteBoardModelPdu.pointGroup =EngineUtils.arrayToJsonString(_param.pointGroup); | ||
| 374 | - whiteBoardModelPdu.color=_param.color||"#000000"; | 361 | + whiteBoardModelPdu.pointGroup = EngineUtils.arrayToJsonString(_param.pointGroup); |
| 362 | + whiteBoardModelPdu.color = _param.color || "#000000"; | ||
| 375 | 363 | ||
| 376 | return whiteBoardModelPdu; | 364 | return whiteBoardModelPdu; |
| 377 | } | 365 | } |
| 378 | - unPackPdu(owner, itemIdx,itemData){ | ||
| 379 | - try{ | 366 | + |
| 367 | + unPackPdu(owner, itemIdx, itemData) { | ||
| 368 | + try { | ||
| 380 | loger.log("白板收到数据===unPackPdu "); | 369 | loger.log("白板收到数据===unPackPdu "); |
| 381 | - let whiteBoardModelPdu= pdu['RCWhiteBoardDataModelPdu'].decode(itemData); | 370 | + let whiteBoardModelPdu = pdu['RCWhiteBoardDataModelPdu'].decode(itemData); |
| 382 | //console.log(whiteBoardModelPdu); | 371 | //console.log(whiteBoardModelPdu); |
| 383 | //loger.log(whiteBoardModelPdu); | 372 | //loger.log(whiteBoardModelPdu); |
| 384 | - let _pointGroup= EngineUtils.arrayFromJsonString(whiteBoardModelPdu.pointGroup); | ||
| 385 | - whiteBoardModelPdu.pointGroup=_pointGroup; | 373 | + let _pointGroup = EngineUtils.arrayFromJsonString(whiteBoardModelPdu.pointGroup); |
| 374 | + whiteBoardModelPdu.pointGroup = _pointGroup; | ||
| 386 | this.annoInfos[itemIdx] = whiteBoardModelPdu; | 375 | this.annoInfos[itemIdx] = whiteBoardModelPdu; |
| 387 | return whiteBoardModelPdu; | 376 | return whiteBoardModelPdu; |
| 388 | - }catch (err){ | ||
| 389 | - console.log("unPackPdu Pdu解析错误,itemIdx="+itemIdx+" err:"+err.message); | 377 | + } catch (err) { |
| 378 | + loger.log("unPackPdu Pdu解析错误,itemIdx=" + itemIdx + " err:" + err.message); | ||
| 390 | } | 379 | } |
| 391 | return null; | 380 | return null; |
| 392 | } | 381 | } |
| @@ -46,7 +46,7 @@ class MCU extends Emiter { | @@ -46,7 +46,7 @@ class MCU extends Emiter { | ||
| 46 | _sendJoinClassRequest(){ | 46 | _sendJoinClassRequest(){ |
| 47 | //const classInfo = this.classInfo; | 47 | //const classInfo = this.classInfo; |
| 48 | loger.log('MCU-发送加入课堂请求.'); | 48 | loger.log('MCU-发送加入课堂请求.'); |
| 49 | - console.log(this.classInfo); | 49 | + loger.log(this.classInfo); |
| 50 | var descriptorPdu = new pdu['RCConferenceDescriptorPdu']; | 50 | var descriptorPdu = new pdu['RCConferenceDescriptorPdu']; |
| 51 | descriptorPdu.id = this.classInfo.classId; | 51 | descriptorPdu.id = this.classInfo.classId; |
| 52 | descriptorPdu.name = this.classInfo.className||""; | 52 | descriptorPdu.name = this.classInfo.className||""; |
| @@ -132,7 +132,7 @@ class MCU extends Emiter { | @@ -132,7 +132,7 @@ class MCU extends Emiter { | ||
| 132 | // let _mcuConfDesc=new pdu['RCConferenceDescriptorPdu'].decode(mcuConfDesc); | 132 | // let _mcuConfDesc=new pdu['RCConferenceDescriptorPdu'].decode(mcuConfDesc); |
| 133 | loger.log('_updateMCUConfInfoDescription.'); | 133 | loger.log('_updateMCUConfInfoDescription.'); |
| 134 | //let classDescription=new pdu['RCConferenceDescriptorPdu'].decode(_data); | 134 | //let classDescription=new pdu['RCConferenceDescriptorPdu'].decode(_data); |
| 135 | - console.log(_data); | 135 | + loger.log(_data); |
| 136 | //let info = this.mcuClassInfo.info; | 136 | //let info = this.mcuClassInfo.info; |
| 137 | //info._conference_name = ArrayBufferUtil.uint8ArrayToStr(mcuConfDesc.name, 0); | 137 | //info._conference_name = ArrayBufferUtil.uint8ArrayToStr(mcuConfDesc.name, 0); |
| 138 | //info._capacity = mcuConfDesc.capacity; | 138 | //info._capacity = mcuConfDesc.capacity; |
| @@ -170,7 +170,7 @@ class MCU extends Emiter { | @@ -170,7 +170,7 @@ class MCU extends Emiter { | ||
| 170 | // 主动建立MCU连接 | 170 | // 主动建立MCU连接 |
| 171 | joinMCU(_classInfo) { | 171 | joinMCU(_classInfo) { |
| 172 | loger.log('开始建立EverSocket通道.'); | 172 | loger.log('开始建立EverSocket通道.'); |
| 173 | - console.log(_classInfo); | 173 | + loger.log(_classInfo); |
| 174 | _classInfo.classId = parseInt(_classInfo.classId); // classId 必须整形 | 174 | _classInfo.classId = parseInt(_classInfo.classId); // classId 必须整形 |
| 175 | this.classInfo = _classInfo; | 175 | this.classInfo = _classInfo; |
| 176 | // 创建刷新nodeId | 176 | // 创建刷新nodeId |
-
请 注册 或 登录 后发表评论