李勇

1.发送数据到MCU增加大小限制 最大10kb;2.优化日志输出

@@ -63,7 +63,7 @@ export default class MessageEntrance extends Emiter { @@ -63,7 +63,7 @@ export default class MessageEntrance extends Emiter {
63 super(); 63 super();
64 this.lastClassActiveTime=0;//最后一次课堂激活的时间戳 64 this.lastClassActiveTime=0;//最后一次课堂激活的时间戳
65 //sdk 信息 65 //sdk 信息
66 - GlobalConfig.sdkVersion = "v2.26.4.20171102"; 66 + GlobalConfig.sdkVersion = "v2.26.6.20171103";
67 loger.warn("sdkVersion:" + GlobalConfig.sdkVersion); 67 loger.warn("sdkVersion:" + GlobalConfig.sdkVersion);
68 console.log("sdkVersion:" + GlobalConfig.sdkVersion); 68 console.log("sdkVersion:" + GlobalConfig.sdkVersion);
69 //设置 69 //设置
@@ -2527,11 +2527,12 @@ export default class MessageEntrance extends Emiter { @@ -2527,11 +2527,12 @@ export default class MessageEntrance extends Emiter {
2527 //文档加入频道成功,同步到MCU服务器上的数据 2527 //文档加入频道成功,同步到MCU服务器上的数据
2528 docJoinChannelSuccess() { 2528 docJoinChannelSuccess() {
2529 let interval=new Date().getTime()-parseInt(this.lastClassActiveTime); 2529 let interval=new Date().getTime()-parseInt(this.lastClassActiveTime);
2530 - loger.log("最后一次记录的时间->"+this.lastClassActiveTime,"当前时间:"+new Date().getTime(),"间隔:"+interval/1000); 2530 + interval=interval/1000;
  2531 + loger.log("最后一次记录的时间->"+this.lastClassActiveTime,"当前时间:"+new Date().getTime(),"间隔:"+interval+"秒");
2531 loger.log("文档加入频道成功->isHost=", GlobalConfig.isHost, "当前总人数:", GlobalConfig.rosterNumber, "sassDoclength=", GlobalConfig.docListPrepare.length); 2532 loger.log("文档加入频道成功->isHost=", GlobalConfig.isHost, "当前总人数:", GlobalConfig.rosterNumber, "sassDoclength=", GlobalConfig.docListPrepare.length);
2532 2533
2533 - //如果当前课堂内只有自己或者离开上次课堂的时间大于8分钟,需要停止服务端的视频录制  
2534 - if(GlobalConfig.rosterNumber<=1&&interval>=(8*60)){ 2534 + //如果当前课堂内只有自己或者离开上次课堂的时间大于8分钟,需要停止服务端的视频录制,设备不是H5
  2535 + if(GlobalConfig.rosterNumber<=1&&interval>=(8*60)&&GlobalConfig.deviceType!=3){
2535 loger.log("调用服务端音视频停止录制->interval:"+interval); 2536 loger.log("调用服务端音视频停止录制->interval:"+interval);
2536 this._mediaRecordControl({"status": WebRtcApe.RECORD_STATUS_2}); 2537 this._mediaRecordControl({"status": WebRtcApe.RECORD_STATUS_2});
2537 } 2538 }
@@ -3270,7 +3271,7 @@ export default class MessageEntrance extends Emiter { @@ -3270,7 +3271,7 @@ export default class MessageEntrance extends Emiter {
3270 if (!_params) { 3271 if (!_params) {
3271 return; 3272 return;
3272 } 3273 }
3273 - loger.log("设置appConfig", _params); 3274 + loger.log("设置appConfig");
3274 if (GlobalConfig.appId) { 3275 if (GlobalConfig.appId) {
3275 loger.log("本地已经设置appConfig,不需要再设置"); 3276 loger.log("本地已经设置appConfig,不需要再设置");
3276 return; 3277 return;
@@ -31,14 +31,14 @@ class EverSocket extends Emiter { @@ -31,14 +31,14 @@ class EverSocket extends Emiter {
31 begin(ip, port) { 31 begin(ip, port) {
32 this._clearHistory(); 32 this._clearHistory();
33 loger.log('开始WebSocket应用.'); 33 loger.log('开始WebSocket应用.');
34 - if(!ip){ 34 + if (!ip) {
35 loger.error('开始MCU连接->MCU连接地址无效'); 35 loger.error('开始MCU连接->MCU连接地址无效');
36 } 36 }
37 this._enableEverSocket = true; 37 this._enableEverSocket = true;
38 //this.wsURL = 'ws://' + ip + ':' + port; 38 //this.wsURL = 'ws://' + ip + ':' + port;
39 - if(port){ 39 + if (port) {
40 this.wsURL = GlobalConfig.websocketProtocol + ip + ':' + port; 40 this.wsURL = GlobalConfig.websocketProtocol + ip + ':' + port;
41 - }else { 41 + } else {
42 this.wsURL = GlobalConfig.websocketProtocol + ip; 42 this.wsURL = GlobalConfig.websocketProtocol + ip;
43 } 43 }
44 44
@@ -49,26 +49,35 @@ class EverSocket extends Emiter { @@ -49,26 +49,35 @@ class EverSocket extends Emiter {
49 loger.log('停止WebSocket应用.'); 49 loger.log('停止WebSocket应用.');
50 this._clear(); 50 this._clear();
51 } 51 }
52 - switchSocketIp(ip,port) { 52 +
  53 + switchSocketIp(ip, port) {
53 /* if(port){ 54 /* if(port){
54 this.wsURL = 'ws://' + ip + ':' + port; 55 this.wsURL = 'ws://' + ip + ':' + port;
55 }else { 56 }else {
56 this.wsURL = 'ws://' + ip; 57 this.wsURL = 'ws://' + ip;
57 }*/ 58 }*/
58 - if(port){ 59 + if (port) {
59 this.wsURL = GlobalConfig.websocketProtocol + ip + ':' + port; 60 this.wsURL = GlobalConfig.websocketProtocol + ip + ':' + port;
60 - }else { 61 + } else {
61 this.wsURL = GlobalConfig.websocketProtocol + ip; 62 this.wsURL = GlobalConfig.websocketProtocol + ip;
62 } 63 }
63 } 64 }
  65 +
64 get connected() { 66 get connected() {
65 return this._connected; 67 return this._connected;
66 } 68 }
67 69
68 send(data) { 70 send(data) {
69 if (this._connected) { 71 if (this._connected) {
70 - if (data&& data.byteLength>1024) {  
71 - loger.warn('发送到MCU的数据文件超过1k-->byteLength->', data.byteLength); 72 + if (data) {
  73 + let len=data.byteLength;
  74 + if (len> 1024) {
  75 + loger.warn('发送到MCU的数据文件超过1k-->byteLength->', len);
  76 + }
  77 + if (len>=1024*10) {
  78 + loger.warn('发送到MCU的数据文件超过10k-->byteLength->', len);
  79 + return;
  80 + }
72 } 81 }
73 this.websocket.send(data); 82 this.websocket.send(data);
74 } else { 83 } else {
@@ -86,9 +95,9 @@ class EverSocket extends Emiter { @@ -86,9 +95,9 @@ class EverSocket extends Emiter {
86 } 95 }
87 96
88 _newConnection() { 97 _newConnection() {
89 - if(GlobalConfig.isHttps==true){ 98 + if (GlobalConfig.isHttps == true) {
90 //https的时候替换所有80端口 99 //https的时候替换所有80端口
91 - this.wsURL= GlobalConfig.replacePort(this.wsURL,":80",""); 100 + this.wsURL = GlobalConfig.replacePort(this.wsURL, ":80", "");
92 } 101 }
93 this.websocket = new WebSocket(this.wsURL); 102 this.websocket = new WebSocket(this.wsURL);
94 this.websocket.binaryType = 'arraybuffer'; 103 this.websocket.binaryType = 'arraybuffer';
@@ -105,7 +114,7 @@ class EverSocket extends Emiter { @@ -105,7 +114,7 @@ class EverSocket extends Emiter {
105 if (this.reConnectionCounter > MCU_MAX_RECONNECTION) { 114 if (this.reConnectionCounter > MCU_MAX_RECONNECTION) {
106 loger.warn('MCU断线重连->已经达到最大重连次数!'); 115 loger.warn('MCU断线重连->已经达到最大重连次数!');
107 this._emit(EverSocket.ERROR, EverSocket.ERR_SOCKET_RECONNECT_FAILED); 116 this._emit(EverSocket.ERROR, EverSocket.ERR_SOCKET_RECONNECT_FAILED);
108 - this.reConnectionCounter=0; 117 + this.reConnectionCounter = 0;
109 } 118 }
110 119
111 this.reConnectionTimeout = window.setTimeout(() => { 120 this.reConnectionTimeout = window.setTimeout(() => {
@@ -138,7 +147,8 @@ class EverSocket extends Emiter { @@ -138,7 +147,8 @@ class EverSocket extends Emiter {
138 this.websocket = undefined; 147 this.websocket = undefined;
139 148
140 } 149 }
141 - _clearHistory(){ 150 +
  151 + _clearHistory() {
142 loger.log('WebSocket->清除记录'); 152 loger.log('WebSocket->清除记录');
143 window.clearInterval(this.pingTimer); 153 window.clearInterval(this.pingTimer);
144 window.clearInterval(this.pongTimer); 154 window.clearInterval(this.pongTimer);
@@ -161,6 +171,7 @@ class EverSocket extends Emiter { @@ -161,6 +171,7 @@ class EverSocket extends Emiter {
161 } 171 }
162 this.websocket = undefined; 172 this.websocket = undefined;
163 } 173 }
  174 +
164 _onOpen() { 175 _onOpen() {
165 loger.log('WebSocket建立成功', this.wsURL); 176 loger.log('WebSocket建立成功', this.wsURL);
166 this.reConnectionCounter = 0; 177 this.reConnectionCounter = 0;
@@ -228,7 +239,7 @@ EverSocket.prototype.PING_INTERVAL = EverSocket.PING_INTERVAL = 10000;//敹歲 @@ -228,7 +239,7 @@ EverSocket.prototype.PING_INTERVAL = EverSocket.PING_INTERVAL = 10000;//敹歲
228 EverSocket.prototype.RECONN_INTERVAL = EverSocket.RECONN_INTERVAL = 5000;//重连的间隔 239 EverSocket.prototype.RECONN_INTERVAL = EverSocket.RECONN_INTERVAL = 5000;//重连的间隔
229 240
230 241
231 -EverSocket.prototype.ERR_SOCKET_RECONNECT_FAILED =EverSocket.ERR_SOCKET_RECONNECT_FAILED=20001;//MCU自动重连失败,已经达到最大重连次数 242 +EverSocket.prototype.ERR_SOCKET_RECONNECT_FAILED = EverSocket.ERR_SOCKET_RECONNECT_FAILED = 20001;//MCU自动重连失败,已经达到最大重连次数
232 243
233 EverSocket.prototype.CONNECTING = EverSocket.CONNECTING = 0; 244 EverSocket.prototype.CONNECTING = EverSocket.CONNECTING = 0;
234 EverSocket.prototype.OPEN = EverSocket.OPEN = 1; 245 EverSocket.prototype.OPEN = EverSocket.OPEN = 1;
@@ -62,7 +62,7 @@ class LogManager { @@ -62,7 +62,7 @@ class LogManager {
62 //发送log到服务器 62 //发送log到服务器
63 static sendLogToServer(_msgType) { 63 static sendLogToServer(_msgType) {
64 if (!this.logUrl) { 64 if (!this.logUrl) {
65 - console.warn("日志服务器地址无效->无法上传日志"); 65 + console.warn("日志服务器地址->"+this.logUrl);
66 return; 66 return;
67 } 67 }
68 const msgType = _msgType; 68 const msgType = _msgType;
1 -// //////////////////////////////////////////////////////////////////////////////  
2 -//  
3 -// Copyright (C) 2016-present All Rights Reserved.  
4 -// Licensed under the Apache License, Version 2.0 (the "License");  
5 -// http://www.apache.org/licenses/LICENSE-2.0  
6 -//  
7 -// Github Home: https://github.com/AlexWang1987  
8 -// Author: AlexWang  
9 -// Date: 2016-08-26 17:36:20  
10 -// QQ Email: 1669499355@qq.com  
11 -// Last Modified time: 2017-06-29 14:09:25  
12 -// Description: LiveClass-CursorApe  
13 -//  
14 -// //////////////////////////////////////////////////////////////////////////////  
15 -  
16 import Ape from './Ape'; 1 import Ape from './Ape';
17 import ApeConsts from './ApeConsts'; 2 import ApeConsts from './ApeConsts';
18 import pdu from 'pdus'; 3 import pdu from 'pdus';
@@ -87,8 +72,6 @@ class CursorApe extends Ape { @@ -87,8 +72,6 @@ class CursorApe extends Ape {
87 let adapterPdu = new pdu['RCAdapterPdu']; 72 let adapterPdu = new pdu['RCAdapterPdu'];
88 adapterPdu.type = pdu.RCPDU_REG_ADAPTER; 73 adapterPdu.type = pdu.RCPDU_REG_ADAPTER;
89 adapterPdu.item.push(adapterItemPdu); 74 adapterPdu.item.push(adapterItemPdu);
90 -  
91 - loger.log("发送更新.itemIdx=" + tableItemPdu.itemIdx);  
92 this.sendUniform(adapterPdu, true); 75 this.sendUniform(adapterPdu, true);
93 } 76 }
94 77
@@ -96,7 +79,7 @@ class CursorApe extends Ape { @@ -96,7 +79,7 @@ class CursorApe extends Ape {
96 tableUpdateHandler(owner, itemIdx, itemData) { 79 tableUpdateHandler(owner, itemIdx, itemData) {
97 let cursorModel = this.unPackPdu(owner, itemIdx, itemData); 80 let cursorModel = this.unPackPdu(owner, itemIdx, itemData);
98 // loger.log('鼠标数据->tableUpdateHandler'); 81 // loger.log('鼠标数据->tableUpdateHandler');
99 - loger.log(cursorModel); 82 + //loger.log(cursorModel);
100 if (cursorModel) { 83 if (cursorModel) {
101 this._emit(MessageTypes.CURSOR_UPDATE, cursorModel); 84 this._emit(MessageTypes.CURSOR_UPDATE, cursorModel);
102 } 85 }
@@ -587,8 +587,15 @@ class DocApe extends Ape { @@ -587,8 +587,15 @@ class DocApe extends Ape {
587 //loger.log('添加文档->设置当前激活的文档id'); 587 //loger.log('添加文档->设置当前激活的文档id');
588 } 588 }
589 let getdocPackFullInfo = this._docPackFullInfo(itemDataInfo); 589 let getdocPackFullInfo = this._docPackFullInfo(itemDataInfo);
590 - loger.log('添加文档->', getdocPackFullInfo);  
591 this._emit(MessageTypes.DOC_UPDATE, getdocPackFullInfo);//用添加和更新都统一DOC_UPDATE 590 this._emit(MessageTypes.DOC_UPDATE, getdocPackFullInfo);//用添加和更新都统一DOC_UPDATE
  591 +
  592 + //日志输出
  593 + let docInfo = this._docPackFullInfo(itemDataInfo);
  594 + if(docInfo){
  595 + delete docInfo.images;
  596 + loger.log('添加文档->', docInfo);
  597 + }
  598 +
592 } else { 599 } else {
593 loger.warn('文档数据解析失败->删除->itemIdx:' + insertItem.itemIdx); 600 loger.warn('文档数据解析失败->删除->itemIdx:' + insertItem.itemIdx);
594 this.documentDelete({"itemIdx": insertItem.itemIdx}); 601 this.documentDelete({"itemIdx": insertItem.itemIdx});
@@ -23,7 +23,7 @@ class MediaModule { @@ -23,7 +23,7 @@ class MediaModule {
23 23
24 //获取播流地址 24 //获取播流地址
25 getMediaPlayPath(_param) { 25 getMediaPlayPath(_param) {
26 - loger.log('获取播放地址->'); 26 + //loger.log('获取播放地址->');
27 if (_param == null || _param.streamId == null) { 27 if (_param == null || _param.streamId == null) {
28 loger.warn('获取播放地址->参数错误', _param); 28 loger.warn('获取播放地址->参数错误', _param);
29 //this._emit(MessageTypes.MCU_ERROR, MessageTypes.ERR_APE_INTERFACE_PARAM_WRONG); 29 //this._emit(MessageTypes.MCU_ERROR, MessageTypes.ERR_APE_INTERFACE_PARAM_WRONG);
@@ -96,7 +96,7 @@ class MediaModule { @@ -96,7 +96,7 @@ class MediaModule {
96 96
97 //获取录制回放时点播的地址,只有m3u8 97 //获取录制回放时点播的地址,只有m3u8
98 getMediaRecordPlaybackPath(_param) { 98 getMediaRecordPlaybackPath(_param) {
99 - loger.log('获取录制回放时点播的地址->m3u8'); 99 + //loger.log('获取录制回放时点播的地址->m3u8');
100 if (_param == null || _param.streamId == null) { 100 if (_param == null || _param.streamId == null) {
101 loger.warn('获取录制回放时点播的地址->参数错误', _param); 101 loger.warn('获取录制回放时点播的地址->参数错误', _param);
102 return {"code": ApeConsts.RETURN_FAILED, "data": ""}; 102 return {"code": ApeConsts.RETURN_FAILED, "data": ""};
@@ -119,8 +119,7 @@ class MediaSharedApe extends Ape { @@ -119,8 +119,7 @@ class MediaSharedApe extends Ape {
119 //把总时间取出来,外部更新的时候不传这个值 119 //把总时间取出来,外部更新的时候不传这个值
120 _pduDataModel.duration=localDataItem.duration||0; 120 _pduDataModel.duration=localDataItem.duration||0;
121 } 121 }
122 -  
123 - loger.log("发送媒体文件->更新 ", _pduDataModel); 122 + //loger.log("发送媒体文件->更新 ", _pduDataModel);
124 123
125 let pduDataModel = this.packPdu(_pduDataModel, _itemIdx); 124 let pduDataModel = this.packPdu(_pduDataModel, _itemIdx);
126 let tableItemPdu = new pdu['RCRegistryTableItemPdu']; 125 let tableItemPdu = new pdu['RCRegistryTableItemPdu'];
@@ -119,7 +119,7 @@ class MusicSharedApe extends Ape { @@ -119,7 +119,7 @@ class MusicSharedApe extends Ape {
119 //把总时间取出来,外部更新的时候不传这个值 119 //把总时间取出来,外部更新的时候不传这个值
120 _pduDataModel.duration=localDataItem.duration||0; 120 _pduDataModel.duration=localDataItem.duration||0;
121 } 121 }
122 - loger.log("发送伴音文件->更新 ", _pduDataModel); 122 + // loger.log("发送伴音文件->更新 ", _pduDataModel);
123 123
124 let pduDataModel = this.packPdu(_pduDataModel, _itemIdx); 124 let pduDataModel = this.packPdu(_pduDataModel, _itemIdx);
125 let tableItemPdu = new pdu['RCRegistryTableItemPdu']; 125 let tableItemPdu = new pdu['RCRegistryTableItemPdu'];
@@ -228,7 +228,7 @@ class VideoApe extends Ape { @@ -228,7 +228,7 @@ class VideoApe extends Ape {
228 } 228 }
229 //推流状态发生改变 229 //推流状态发生改变
230 mediaPublishStatusChange(_data){ 230 mediaPublishStatusChange(_data){
231 - loger.log("推流状态发生改变->",_data); 231 + //loger.log("推流状态发生改变->",_data);
232 this.sendVideoBroadcastMsg({ 232 this.sendVideoBroadcastMsg({
233 "actionType": ApeConsts.MEDIA_ACTION_PUBLISH_STATUS, 233 "actionType": ApeConsts.MEDIA_ACTION_PUBLISH_STATUS,
234 "toNodeId": 0, 234 "toNodeId": 0,
@@ -458,7 +458,7 @@ class WebRtcApe extends Emiter { @@ -458,7 +458,7 @@ class WebRtcApe extends Emiter {
458 } 458 }
459 //根据nodeId查找视频 459 //根据nodeId查找视频
460 try { 460 try {
461 - loger.log("立即删除停止推流人员的视图"); 461 + //loger.log("立即删除停止推流人员的视图");
462 $('#' + this.xdyRemote + _data.nodeId).remove(); 462 $('#' + this.xdyRemote + _data.nodeId).remove();
463 } catch (err) { 463 } catch (err) {
464 464