正在显示
1 个修改的文件
包含
253 行增加
和
244 行删除
| @@ -32,7 +32,7 @@ import QuestionApe from 'apes/QuestionApe'; | @@ -32,7 +32,7 @@ import QuestionApe from 'apes/QuestionApe'; | ||
| 32 | import UTF8 from 'utf-8'; | 32 | import UTF8 from 'utf-8'; |
| 33 | 33 | ||
| 34 | let loger = Loger.getLoger('McuClient'); | 34 | let loger = Loger.getLoger('McuClient'); |
| 35 | -let _sdkInfo = {"version": "v1.36.1.20170619", "author": "www.3mang.com"}; | 35 | +let _sdkInfo = { "version": "v1.36.1.20170619", "author": "www.3mang.com" }; |
| 36 | 36 | ||
| 37 | //APE | 37 | //APE |
| 38 | let _sass; | 38 | let _sass; |
| @@ -57,9 +57,9 @@ export default class MessageEntrance extends Emiter { | @@ -57,9 +57,9 @@ export default class MessageEntrance extends Emiter { | ||
| 57 | loger.log(this.sdkInfo); | 57 | loger.log(this.sdkInfo); |
| 58 | 58 | ||
| 59 | //初始化状态 | 59 | //初始化状态 |
| 60 | - this.isGetUserIpCallback = false;//是否获取IP信息返回 | ||
| 61 | - this.isGetFastestMcuCallback = false;//是否MCU选点结束 | ||
| 62 | - this.isGetFastestMsCallback = false;//是否MS选点结束 | 60 | + this.isGetUserIpCallback = false; //是否获取IP信息返回 |
| 61 | + this.isGetFastestMcuCallback = false; //是否MCU选点结束 | ||
| 62 | + this.isGetFastestMsCallback = false; //是否MS选点结束 | ||
| 63 | 63 | ||
| 64 | GlobalConfig.setCurrentStatus(GlobalConfig.statusCode_0); | 64 | GlobalConfig.setCurrentStatus(GlobalConfig.statusCode_0); |
| 65 | 65 | ||
| @@ -69,18 +69,15 @@ export default class MessageEntrance extends Emiter { | @@ -69,18 +69,15 @@ export default class MessageEntrance extends Emiter { | ||
| 69 | // Sass平台层 | 69 | // Sass平台层 |
| 70 | _sass = Sass; | 70 | _sass = Sass; |
| 71 | _sass.on('*', (type, data) => this._emit(type, data)); | 71 | _sass.on('*', (type, data) => this._emit(type, data)); |
| 72 | - _sass.on(_sass.SUCCESS, this._sassJoinSuccessHandler.bind(this));//通过SASS平台验证(密码和MD5) | ||
| 73 | - _sass.on(_sass.CLASS_INIT_SUCCESS, this._sassInitSuccessHandler.bind(this));//获取课堂初始化信息 | 72 | + _sass.on(_sass.SUCCESS, this._sassJoinSuccessHandler.bind(this)); //通过SASS平台验证(密码和MD5) |
| 73 | + _sass.on(_sass.CLASS_INIT_SUCCESS, this._sassInitSuccessHandler.bind(this)); //获取课堂初始化信息 | ||
| 74 | //_sass.on(_sass.CLASS_GET_CLASS_DETAIL, this._sassGetClassDetailSuccessHandler.bind(this));//获取课堂的基本信息 | 74 | //_sass.on(_sass.CLASS_GET_CLASS_DETAIL, this._sassGetClassDetailSuccessHandler.bind(this));//获取课堂的基本信息 |
| 75 | - _sass.on(_sass.CLASS_GET_CLASS_PARAM, this._sassGetClassParamSuccessHandler.bind(this));//获取课堂的最全信息和历史保存的数据 | ||
| 76 | - | ||
| 77 | - _sass.on(_sass.CLASS_SAVE_STATUS_INFO_SUCCESS, this._sassSaveClassStatusInfoSuccessHandler.bind(this));//保存课堂状态信息 | ||
| 78 | - _sass.on(_sass.CLASS_SAVE_RECORD_INFO_SUCCESS, this._sassSaveClassRecordInfoSuccessHandler.bind(this));//保存课堂录制信息 | ||
| 79 | - _sass.on(_sass.DELETE_DOCUMENT_SUCCESS, this._sassDeleteDocumentSuccess.bind(this));//sass删除文档成功 | ||
| 80 | - _sass.on(_sass.DELETE_MEDIASHARE_SUCCESS, this._sassDeleteMediaShareSuccess.bind(this));//sass删除媒体文件成功 | ||
| 81 | - | ||
| 82 | - | 75 | + _sass.on(_sass.CLASS_GET_CLASS_PARAM, this._sassGetClassParamSuccessHandler.bind(this)); //获取课堂的最全信息和历史保存的数据 |
| 83 | 76 | ||
| 77 | + _sass.on(_sass.CLASS_SAVE_STATUS_INFO_SUCCESS, this._sassSaveClassStatusInfoSuccessHandler.bind(this)); //保存课堂状态信息 | ||
| 78 | + _sass.on(_sass.CLASS_SAVE_RECORD_INFO_SUCCESS, this._sassSaveClassRecordInfoSuccessHandler.bind(this)); //保存课堂录制信息 | ||
| 79 | + _sass.on(_sass.DELETE_DOCUMENT_SUCCESS, this._sassDeleteDocumentSuccess.bind(this)); //sass删除文档成功 | ||
| 80 | + _sass.on(_sass.DELETE_MEDIASHARE_SUCCESS, this._sassDeleteMediaShareSuccess.bind(this)); //sass删除媒体文件成功 | ||
| 84 | 81 | ||
| 85 | //选点模块 | 82 | //选点模块 |
| 86 | _ipManager = new IpManager(); | 83 | _ipManager = new IpManager(); |
| @@ -88,43 +85,41 @@ export default class MessageEntrance extends Emiter { | @@ -88,43 +85,41 @@ export default class MessageEntrance extends Emiter { | ||
| 88 | // 底层MCU消息层 | 85 | // 底层MCU消息层 |
| 89 | _mcu = Mcu; | 86 | _mcu = Mcu; |
| 90 | _mcu.on('*', (type, data) => this._emit(type, data)); | 87 | _mcu.on('*', (type, data) => this._emit(type, data)); |
| 91 | - _mcu.on(MessageTypes.CLASS_JOIN_MCU_SUCCESS, this._mcuJoinMCUClassSuccessHandler.bind(this));//加入MCU课堂完成 | ||
| 92 | - _mcu.on(MessageTypes.SWITCH_MCU_IP, this._switchMcuIpHandler.bind(this));//切换MCU,重新选点 | 88 | + _mcu.on(MessageTypes.CLASS_JOIN_MCU_SUCCESS, this._mcuJoinMCUClassSuccessHandler.bind(this)); //加入MCU课堂完成 |
| 89 | + _mcu.on(MessageTypes.SWITCH_MCU_IP, this._switchMcuIpHandler.bind(this)); //切换MCU,重新选点 | ||
| 93 | 90 | ||
| 94 | //录制回放 | 91 | //录制回放 |
| 95 | _recordPlayback = RecordPlayBackParse; | 92 | _recordPlayback = RecordPlayBackParse; |
| 96 | _recordPlayback.on('*', (type, data) => this._emit(type, data)); | 93 | _recordPlayback.on('*', (type, data) => this._emit(type, data)); |
| 97 | - _recordPlayback.on(RecordPlayBackParse.CLASS_JOIN_RECORD_PLAYBACK_SUCCESS, this._joinRecordPlaybackSuccessHandler.bind(this));//加入录制回放完成 | ||
| 98 | - _recordPlayback.on(RecordPlayBackParse.RECORD_PLAYBACK_CLEAR_DATA, this._recordPlaybackClearDataHandler.bind(this));//录制回放状态更新 | ||
| 99 | - | 94 | + _recordPlayback.on(RecordPlayBackParse.CLASS_JOIN_RECORD_PLAYBACK_SUCCESS, this._joinRecordPlaybackSuccessHandler.bind(this)); //加入录制回放完成 |
| 95 | + _recordPlayback.on(RecordPlayBackParse.RECORD_PLAYBACK_CLEAR_DATA, this._recordPlaybackClearDataHandler.bind(this)); //录制回放状态更新 | ||
| 100 | 96 | ||
| 101 | // 注册所有应用Ape | 97 | // 注册所有应用Ape |
| 102 | _confer_ape = new ConferApe(); | 98 | _confer_ape = new ConferApe(); |
| 103 | _confer_ape.on('*', (type, data) => this._emit(type, data)); | 99 | _confer_ape.on('*', (type, data) => this._emit(type, data)); |
| 104 | - _confer_ape.on(MessageTypes.CLASS_RUN_EXIT, this._runClassExit.bind(this));//监听自己的关闭事件 | ||
| 105 | - _confer_ape.on(MessageTypes.CLASS_STATUS_INFO_CHANGE, this._onClassStatusInfoChange.bind(this));//当前课堂状态信息发生改变 | ||
| 106 | - _confer_ape.on(MessageTypes.CLASS_DELETE_ROSTER, this._onClassDeleteRoster.bind(this));//当前课堂人员离开 | ||
| 107 | - _confer_ape.on(MessageTypes.CLASS_NONENTITY_ROSTER, this._onClassNonentityRoster.bind(this));//当前课堂中视频或音频占用channel的nodeId ,在人员列表中不存在 | ||
| 108 | - _confer_ape.on(MessageTypes.CLASS_RECORD_START, this._onClassRecordStart.bind(this));//课堂开始录制 | ||
| 109 | - _confer_ape.on(MessageTypes.CLASS_RECORD_SUCCESS, this._onClassRecordSuccess.bind(this));//课堂开启录制成功 | ||
| 110 | - _confer_ape.on(MessageTypes.SWITCH_MS_IP, this._switchMsIpHandler.bind(this));//MS动态选点 | ||
| 111 | - _confer_ape.on(MessageTypes.STOP_ALL_MEDIA_PUBLISH, this._stopAllMediaPublishHandler.bind(this));//课堂状态发生改变,需要停止当前的所有推流 | 100 | + _confer_ape.on(MessageTypes.CLASS_RUN_EXIT, this._runClassExit.bind(this)); //监听自己的关闭事件 |
| 101 | + _confer_ape.on(MessageTypes.CLASS_STATUS_INFO_CHANGE, this._onClassStatusInfoChange.bind(this)); //当前课堂状态信息发生改变 | ||
| 102 | + _confer_ape.on(MessageTypes.CLASS_DELETE_ROSTER, this._onClassDeleteRoster.bind(this)); //当前课堂人员离开 | ||
| 103 | + _confer_ape.on(MessageTypes.CLASS_NONENTITY_ROSTER, this._onClassNonentityRoster.bind(this)); //当前课堂中视频或音频占用channel的nodeId ,在人员列表中不存在 | ||
| 104 | + _confer_ape.on(MessageTypes.CLASS_RECORD_START, this._onClassRecordStart.bind(this)); //课堂开始录制 | ||
| 105 | + _confer_ape.on(MessageTypes.CLASS_RECORD_SUCCESS, this._onClassRecordSuccess.bind(this)); //课堂开启录制成功 | ||
| 106 | + _confer_ape.on(MessageTypes.SWITCH_MS_IP, this._switchMsIpHandler.bind(this)); //MS动态选点 | ||
| 107 | + _confer_ape.on(MessageTypes.STOP_ALL_MEDIA_PUBLISH, this._stopAllMediaPublishHandler.bind(this)); //课堂状态发生改变,需要停止当前的所有推流 | ||
| 112 | 108 | ||
| 113 | _chat_ape = new ChatApe(); | 109 | _chat_ape = new ChatApe(); |
| 114 | _chat_ape.on('*', (type, data) => this._emit(type, data)); | 110 | _chat_ape.on('*', (type, data) => this._emit(type, data)); |
| 115 | 111 | ||
| 116 | _video_ape = new VideoApe(); | 112 | _video_ape = new VideoApe(); |
| 117 | _video_ape.on('*', (type, data) => this._emit(type, data)); | 113 | _video_ape.on('*', (type, data) => this._emit(type, data)); |
| 118 | - _video_ape.on(MessageTypes.VIDEO_UPDATE, this.videoUpdate.bind(this));//这个监听事件不能删除,需要通知课堂模块,检查channel占用 | ||
| 119 | - _video_ape.on(MessageTypes.USER_DEVICE_STATUS_CHAANGE, this.userDeviecStatusChange.bind(this));//监听摄像头和麦克风的开启状态 | ||
| 120 | - | 114 | + _video_ape.on(MessageTypes.VIDEO_UPDATE, this.videoUpdate.bind(this)); //这个监听事件不能删除,需要通知课堂模块,检查channel占用 |
| 115 | + _video_ape.on(MessageTypes.USER_DEVICE_STATUS_CHAANGE, this.userDeviecStatusChange.bind(this)); //监听摄像头和麦克风的开启状态 | ||
| 121 | 116 | ||
| 122 | _audio_ape = new AudioApe(); | 117 | _audio_ape = new AudioApe(); |
| 123 | _audio_ape.on('*', (type, data) => this._emit(type, data)); | 118 | _audio_ape.on('*', (type, data) => this._emit(type, data)); |
| 124 | - _audio_ape.on(MessageTypes.AUDIO_UPDATE, this.audioUpdate.bind(this));//这个监听事件不能删除,需要通知课堂模块,检查channel占用 | ||
| 125 | - _audio_ape.on(MessageTypes.USER_DEVICE_STATUS_CHAANGE, this.userDeviecStatusChange.bind(this));//监听摄像头和麦克风的开启状态 | 119 | + _audio_ape.on(MessageTypes.AUDIO_UPDATE, this.audioUpdate.bind(this)); //这个监听事件不能删除,需要通知课堂模块,检查channel占用 |
| 120 | + _audio_ape.on(MessageTypes.USER_DEVICE_STATUS_CHAANGE, this.userDeviecStatusChange.bind(this)); //监听摄像头和麦克风的开启状态 | ||
| 126 | 121 | ||
| 127 | - _mediaShareApe=new MediaSharedApe(); | 122 | + _mediaShareApe = new MediaSharedApe(); |
| 128 | _mediaShareApe.on('*', (type, data) => this._emit(type, data)); | 123 | _mediaShareApe.on('*', (type, data) => this._emit(type, data)); |
| 129 | _mediaShareApe.on(MediaSharedApe.MEDIASHARED_JOIN_CHANNEL_SUCCESS, this.mediaShareApeJoinChannelSuccess.bind(this)); | 124 | _mediaShareApe.on(MediaSharedApe.MEDIASHARED_JOIN_CHANNEL_SUCCESS, this.mediaShareApeJoinChannelSuccess.bind(this)); |
| 130 | 125 | ||
| @@ -137,7 +132,7 @@ export default class MessageEntrance extends Emiter { | @@ -137,7 +132,7 @@ export default class MessageEntrance extends Emiter { | ||
| 137 | _doc_ape.on(MessageTypes.DOC_DELETE, this.docDeleteHandler.bind(this)); | 132 | _doc_ape.on(MessageTypes.DOC_DELETE, this.docDeleteHandler.bind(this)); |
| 138 | _doc_ape.on(DocApe.DOC_JOIN_CHANNEL_SUCCESS, this.docJoinChannelSuccess.bind(this)); | 133 | _doc_ape.on(DocApe.DOC_JOIN_CHANNEL_SUCCESS, this.docJoinChannelSuccess.bind(this)); |
| 139 | 134 | ||
| 140 | - _questionApe=new QuestionApe(); | 135 | + _questionApe = new QuestionApe(); |
| 141 | _questionApe.on('*', (type, data) => this._emit(type, data)); | 136 | _questionApe.on('*', (type, data) => this._emit(type, data)); |
| 142 | 137 | ||
| 143 | //公开外部调用的方法 | 138 | //公开外部调用的方法 |
| @@ -149,12 +144,14 @@ export default class MessageEntrance extends Emiter { | @@ -149,12 +144,14 @@ export default class MessageEntrance extends Emiter { | ||
| 149 | //this.getClassDetail = this._getClassDetail;//停用 | 144 | //this.getClassDetail = this._getClassDetail;//停用 |
| 150 | this.getClassStatusInfo = this._getClassStatusInfo.bind(this); | 145 | this.getClassStatusInfo = this._getClassStatusInfo.bind(this); |
| 151 | this.sendStartClass = this._sendStartClass.bind(this); | 146 | this.sendStartClass = this._sendStartClass.bind(this); |
| 147 | + this.silenceClass = this._silenceClass.bind(this); | ||
| 152 | this.sendPauseClass = this._sendPauseClass.bind(this); | 148 | this.sendPauseClass = this._sendPauseClass.bind(this); |
| 153 | this.sendCloseClass = this._sendCloseClass.bind(this); | 149 | this.sendCloseClass = this._sendCloseClass.bind(this); |
| 154 | - this.changeHandUpStatus = this._changeHandUpStatus.bind(this);//自己切换举手状态 | ||
| 155 | - this.controlHandUpStatus = this._controlHandUpStatus.bind(this);//控制别人的举手状态 | 150 | + this.changeHandUpStatus = this._changeHandUpStatus.bind(this); //自己切换举手状态 |
| 151 | + this.controlHandUpStatus = this._controlHandUpStatus.bind(this); //控制别人的举手状态 | ||
| 152 | + this.controlSilenceStatus = this.controlSilenceStatus.bind(this); //改变禁言状态 | ||
| 156 | 153 | ||
| 157 | - this.sceneTableChange = this._sceneTableChange.bind(this);//控制别人的举手状态 | 154 | + this.sceneTableChange = this._sceneTableChange.bind(this); //控制别人的举手状态 |
| 158 | 155 | ||
| 159 | //录制回放 | 156 | //录制回放 |
| 160 | this.initRecordPlayback = this._initRecordPlayback.bind(this); | 157 | this.initRecordPlayback = this._initRecordPlayback.bind(this); |
| @@ -187,16 +184,16 @@ export default class MessageEntrance extends Emiter { | @@ -187,16 +184,16 @@ export default class MessageEntrance extends Emiter { | ||
| 187 | this.sendAudioBroadcastMsg = this.sendAudioCommandMsg.bind(this); | 184 | this.sendAudioBroadcastMsg = this.sendAudioCommandMsg.bind(this); |
| 188 | 185 | ||
| 189 | //whiteBoradApe | 186 | //whiteBoradApe |
| 190 | - this.sendInsertAnnotaion = this._sendInsertAnnotaion.bind(this);//添加标注 | ||
| 191 | - this.sendDeleteAllAnnotation = this._sendDeleteAllAnnotation.bind(this);//删除所有标注 | ||
| 192 | - this.sendDeleteCurPageAnnotation = this._sendDeleteCurPageAnnotation.bind(this);//删除当前页的所有标注 | ||
| 193 | - this.sendGotoPrev = this._sendGotoPrev.bind(this);//当前页撤销上一步 | 187 | + this.sendInsertAnnotaion = this._sendInsertAnnotaion.bind(this); //添加标注 |
| 188 | + this.sendDeleteAllAnnotation = this._sendDeleteAllAnnotation.bind(this); //删除所有标注 | ||
| 189 | + this.sendDeleteCurPageAnnotation = this._sendDeleteCurPageAnnotation.bind(this); //删除当前页的所有标注 | ||
| 190 | + this.sendGotoPrev = this._sendGotoPrev.bind(this); //当前页撤销上一步 | ||
| 194 | 191 | ||
| 195 | //DocApe | 192 | //DocApe |
| 196 | - this.sendDocumentUpload = this._sendDocumentUpload.bind(this);//上传文档 | 193 | + this.sendDocumentUpload = this._sendDocumentUpload.bind(this); //上传文档 |
| 197 | this.sendDocumentSwitchDoc = this._sendDocumentSwitchDoc.bind(this); //切换文档 | 194 | this.sendDocumentSwitchDoc = this._sendDocumentSwitchDoc.bind(this); //切换文档 |
| 198 | - this.sendDocumentSwitchPage = this._sendDocumentSwitchPage.bind(this);//翻页 | ||
| 199 | - this.sendDocumentSwitchAnimation=this._sendDocumentSwitchAnimation.bind(this);//切换当前页码的动画步骤 | 195 | + this.sendDocumentSwitchPage = this._sendDocumentSwitchPage.bind(this); //翻页 |
| 196 | + this.sendDocumentSwitchAnimation = this._sendDocumentSwitchAnimation.bind(this); //切换当前页码的动画步骤 | ||
| 200 | this.sendDocumentDelete = this._sassDeleteDocument.bind(this); | 197 | this.sendDocumentDelete = this._sassDeleteDocument.bind(this); |
| 201 | this.sendDocBroadcastMsg = this._sendDocBroadcastMsg.bind(this); | 198 | this.sendDocBroadcastMsg = this._sendDocBroadcastMsg.bind(this); |
| 202 | //删除文档,先通过Sass删除,sass删除成功之后再同步mcu | 199 | //删除文档,先通过Sass删除,sass删除成功之后再同步mcu |
| @@ -205,41 +202,40 @@ export default class MessageEntrance extends Emiter { | @@ -205,41 +202,40 @@ export default class MessageEntrance extends Emiter { | ||
| 205 | //操作文档(翻页、缩放、滚动...) | 202 | //操作文档(翻页、缩放、滚动...) |
| 206 | this.getDocImageFullPath = this._getDocImageFullPath.bind(this); | 203 | this.getDocImageFullPath = this._getDocImageFullPath.bind(this); |
| 207 | //获取文档图片的完整路径 | 204 | //获取文档图片的完整路径 |
| 208 | - this.getDocPDFFullPath = this._getDocPDFFullPath.bind(this);//获取文档的完整路径 | ||
| 209 | - this.getDocFullAddress = this._getDocFullAddress.bind(this);//获取文档资源地址 | ||
| 210 | - | 205 | + this.getDocPDFFullPath = this._getDocPDFFullPath.bind(this); //获取文档的完整路径 |
| 206 | + this.getDocFullAddress = this._getDocFullAddress.bind(this); //获取文档资源地址 | ||
| 211 | 207 | ||
| 212 | //媒体共享模块 | 208 | //媒体共享模块 |
| 213 | - this.mediaSharedUpload = this._sendMediaSharedUpload.bind(this);//上传 | ||
| 214 | - this.mediaSharedDelete = this._sassDeletMediaShare.bind(this);//删除,先通过Sass删除,删除成功之后才删除MCU的 | 209 | + this.mediaSharedUpload = this._sendMediaSharedUpload.bind(this); //上传 |
| 210 | + this.mediaSharedDelete = this._sassDeletMediaShare.bind(this); //删除,先通过Sass删除,删除成功之后才删除MCU的 | ||
| 215 | 211 | ||
| 216 | this.mediaSharedPlay = this._sendMediaSharedPlay.bind(this); //播放 | 212 | this.mediaSharedPlay = this._sendMediaSharedPlay.bind(this); //播放 |
| 217 | - this.mediaSharedStop = this._sendMediaSharedStop.bind(this);//停止 | ||
| 218 | - this.mediaSharedUpdate=this._sendMediaSharedUpdate.bind(this); //更新媒体的状态 | 213 | + this.mediaSharedStop = this._sendMediaSharedStop.bind(this); //停止 |
| 214 | + this.mediaSharedUpdate = this._sendMediaSharedUpdate.bind(this); //更新媒体的状态 | ||
| 219 | 215 | ||
| 220 | //答题卡 | 216 | //答题卡 |
| 221 | - this.creatQuestion=this._creatQuestion.bind(this); | ||
| 222 | - this.getQuestion=this._getQuestion.bind(this); | ||
| 223 | - this.getQuestionResult=this._getQuestionResult.bind(this); | ||
| 224 | - this.sendAnswer=this._sendAnswer.bind(this); | ||
| 225 | - this.stopQuestion=this._stopQuestion.bind(this); | ||
| 226 | - | ||
| 227 | - this.setDeviceInfo = this._setDeviceInfo.bind(this);//设置设备信息(麦克风,摄像头等等.....) | ||
| 228 | - this.setMessageDelay = this._setMessageDelay.bind(this);//设置是否延迟消息 | ||
| 229 | - this.switchServer = this._switchMcuIpHandler.bind(this);//切换mcu服务器 | ||
| 230 | - this.switchMediaServer = this._switchMsIpHandler.bind(this);//切换ms服务器 | ||
| 231 | - this.setDebugInfo= this._setDebugInfo.bind(this);//设置debug信息 | ||
| 232 | - } | ||
| 233 | - _setDebugInfo(_data){ | 217 | + this.creatQuestion = this._creatQuestion.bind(this); |
| 218 | + this.getQuestion = this._getQuestion.bind(this); | ||
| 219 | + this.getQuestionResult = this._getQuestionResult.bind(this); | ||
| 220 | + this.sendAnswer = this._sendAnswer.bind(this); | ||
| 221 | + this.stopQuestion = this._stopQuestion.bind(this); | ||
| 222 | + | ||
| 223 | + this.setDeviceInfo = this._setDeviceInfo.bind(this); //设置设备信息(麦克风,摄像头等等.....) | ||
| 224 | + this.setMessageDelay = this._setMessageDelay.bind(this); //设置是否延迟消息 | ||
| 225 | + this.switchServer = this._switchMcuIpHandler.bind(this); //切换mcu服务器 | ||
| 226 | + this.switchMediaServer = this._switchMsIpHandler.bind(this); //切换ms服务器 | ||
| 227 | + this.setDebugInfo = this._setDebugInfo.bind(this); //设置debug信息 | ||
| 228 | + } | ||
| 229 | + _setDebugInfo(_data) { | ||
| 234 | loger.log("设置debug信息-->", _data); | 230 | loger.log("设置debug信息-->", _data); |
| 235 | - if(_data){ | 231 | + if (_data) { |
| 236 | Loger.setLogDebug(_data.isDebug); | 232 | Loger.setLogDebug(_data.isDebug); |
| 237 | } | 233 | } |
| 238 | } | 234 | } |
| 239 | //设置设备信息 | 235 | //设置设备信息 |
| 240 | _setDeviceInfo(_data) { | 236 | _setDeviceInfo(_data) { |
| 241 | loger.log("设置设备信息-->", _data); | 237 | loger.log("设置设备信息-->", _data); |
| 242 | - if(_data){ | 238 | + if (_data) { |
| 243 | /* GlobalConfig.videoQuality=_data.videoQuality||2;//画面质量 0-低;1-中;2-高; | 239 | /* GlobalConfig.videoQuality=_data.videoQuality||2;//画面质量 0-低;1-中;2-高; |
| 244 | GlobalConfig.cameras=_data.cameras||[];//摄像头列表 | 240 | GlobalConfig.cameras=_data.cameras||[];//摄像头列表 |
| 245 | GlobalConfig.microphones=_data.microphones||[];//麦克风列表 | 241 | GlobalConfig.microphones=_data.microphones||[];//麦克风列表 |
| @@ -248,21 +244,21 @@ export default class MessageEntrance extends Emiter { | @@ -248,21 +244,21 @@ export default class MessageEntrance extends Emiter { | ||
| 248 | GlobalConfig.curVideoQuality=_data.curVideoQuality||2;//当前选择的分辨率 | 244 | GlobalConfig.curVideoQuality=_data.curVideoQuality||2;//当前选择的分辨率 |
| 249 | GlobalConfig.micGain=_data.micGain||50;//音量(0-80)*/ | 245 | GlobalConfig.micGain=_data.micGain||50;//音量(0-80)*/ |
| 250 | 246 | ||
| 251 | - GlobalConfig.cameras=_data.cameras||[]; | ||
| 252 | - GlobalConfig.microphones=_data.microphones||[]; | ||
| 253 | - GlobalConfig.videoQuality=parseInt(_data.videoQuality); | ||
| 254 | - GlobalConfig.curVideoQuality=parseInt(_data.curVideoQuality); | ||
| 255 | - GlobalConfig.micGain=_data.micGain||50; | ||
| 256 | - GlobalConfig.speakerVolume=_data.speakerVolume||50; | ||
| 257 | - GlobalConfig.micCode=_data.micCode||0; | ||
| 258 | - GlobalConfig.curCamera=_data.curCamera||''; | ||
| 259 | - GlobalConfig.curMicrophone=_data.curMicrophone||''; | 247 | + GlobalConfig.cameras = _data.cameras || []; |
| 248 | + GlobalConfig.microphones = _data.microphones || []; | ||
| 249 | + GlobalConfig.videoQuality = parseInt(_data.videoQuality); | ||
| 250 | + GlobalConfig.curVideoQuality = parseInt(_data.curVideoQuality); | ||
| 251 | + GlobalConfig.micGain = _data.micGain || 50; | ||
| 252 | + GlobalConfig.speakerVolume = _data.speakerVolume || 50; | ||
| 253 | + GlobalConfig.micCode = _data.micCode || 0; | ||
| 254 | + GlobalConfig.curCamera = _data.curCamera || ''; | ||
| 255 | + GlobalConfig.curMicrophone = _data.curMicrophone || ''; | ||
| 260 | 256 | ||
| 261 | - if(!GlobalConfig.curCamera&& GlobalConfig.cameras.length>0){ | ||
| 262 | - GlobalConfig.curCamera= GlobalConfig.cameras[0]; | 257 | + if (!GlobalConfig.curCamera && GlobalConfig.cameras.length > 0) { |
| 258 | + GlobalConfig.curCamera = GlobalConfig.cameras[0]; | ||
| 263 | } | 259 | } |
| 264 | - if(!GlobalConfig.curMicrophone&& GlobalConfig.microphones.length>0){ | ||
| 265 | - GlobalConfig.curMicrophone= GlobalConfig.microphones[0]; | 260 | + if (!GlobalConfig.curMicrophone && GlobalConfig.microphones.length > 0) { |
| 261 | + GlobalConfig.curMicrophone = GlobalConfig.microphones[0]; | ||
| 266 | } | 262 | } |
| 267 | this._updateDeviceInfo(); | 263 | this._updateDeviceInfo(); |
| 268 | } | 264 | } |
| @@ -279,7 +275,7 @@ export default class MessageEntrance extends Emiter { | @@ -279,7 +275,7 @@ export default class MessageEntrance extends Emiter { | ||
| 279 | //mcu异常监听 | 275 | //mcu异常监听 |
| 280 | _mcuErrorHandler(_data, _option) { | 276 | _mcuErrorHandler(_data, _option) { |
| 281 | let option = _option || ""; | 277 | let option = _option || ""; |
| 282 | - let errorMessage = {"code": _data, "reson": MessageTypes.ErrorReson[_data] + " " + option}; | 278 | + let errorMessage = { "code": _data, "reson": MessageTypes.ErrorReson[_data] + " " + option }; |
| 283 | this._emit(MessageTypes.ERROR_EVENT, errorMessage); | 279 | this._emit(MessageTypes.ERROR_EVENT, errorMessage); |
| 284 | loger.error("MCU_ERROR", errorMessage); | 280 | loger.error("MCU_ERROR", errorMessage); |
| 285 | } | 281 | } |
| @@ -289,7 +285,7 @@ export default class MessageEntrance extends Emiter { | @@ -289,7 +285,7 @@ export default class MessageEntrance extends Emiter { | ||
| 289 | return GlobalConfig.getCurrentStatus(); | 285 | return GlobalConfig.getCurrentStatus(); |
| 290 | } | 286 | } |
| 291 | 287 | ||
| 292 | -//获取课堂信息 | 288 | + //获取课堂信息 |
| 293 | _getClassDetail() { | 289 | _getClassDetail() { |
| 294 | return GlobalConfig.getClassDetail(); | 290 | return GlobalConfig.getClassDetail(); |
| 295 | } | 291 | } |
| @@ -337,9 +333,9 @@ export default class MessageEntrance extends Emiter { | @@ -337,9 +333,9 @@ export default class MessageEntrance extends Emiter { | ||
| 337 | } | 333 | } |
| 338 | 334 | ||
| 339 | //录制状态发送改变,更新所有模块的当前数据发送到MCU | 335 | //录制状态发送改变,更新所有模块的当前数据发送到MCU |
| 340 | - updaterRecordAllApeStatus(_param){ | 336 | + updaterRecordAllApeStatus(_param) { |
| 341 | //老师身份和非录制回放的时候执行,录制状态发送改变,需要更新当前的数据,否则已有的消息会录制不上 | 337 | //老师身份和非录制回放的时候执行,录制状态发送改变,需要更新当前的数据,否则已有的消息会录制不上 |
| 342 | - if(GlobalConfig.isHost&&!GlobalConfig.isRecordPlayBack){ | 338 | + if (GlobalConfig.isHost && !GlobalConfig.isRecordPlayBack) { |
| 343 | loger.warn('录制状态发送改变->更新所有模块的当前数据发送到MCU'); | 339 | loger.warn('录制状态发送改变->更新所有模块的当前数据发送到MCU'); |
| 344 | //目前录制的模块[文档模块、白板模块、视频模块(包含屏幕共享)、音频模块、媒体共享,聊天模块] | 340 | //目前录制的模块[文档模块、白板模块、视频模块(包含屏幕共享)、音频模块、媒体共享,聊天模块] |
| 345 | if (_doc_ape) { | 341 | if (_doc_ape) { |
| @@ -362,8 +358,7 @@ export default class MessageEntrance extends Emiter { | @@ -362,8 +358,7 @@ export default class MessageEntrance extends Emiter { | ||
| 362 | } | 358 | } |
| 363 | 359 | ||
| 364 | //有人员离开 | 360 | //有人员离开 |
| 365 | - _onClassDeleteRoster(_data) { | ||
| 366 | - } | 361 | + _onClassDeleteRoster(_data) {} |
| 367 | 362 | ||
| 368 | //当前课堂中视频或音频占用channel的nodeId ,在人员列表中不存在,这种情况是占用channel的人员掉线或离开的时候没有释放channel | 363 | //当前课堂中视频或音频占用channel的nodeId ,在人员列表中不存在,这种情况是占用channel的人员掉线或离开的时候没有释放channel |
| 369 | //的占用状态导致,对于这种情况,需要释放掉 | 364 | //的占用状态导致,对于这种情况,需要释放掉 |
| @@ -377,12 +372,12 @@ export default class MessageEntrance extends Emiter { | @@ -377,12 +372,12 @@ export default class MessageEntrance extends Emiter { | ||
| 377 | loger.warn("onClassNonentityRoster.参数错误") | 372 | loger.warn("onClassNonentityRoster.参数错误") |
| 378 | return; | 373 | return; |
| 379 | } | 374 | } |
| 380 | - let data = {"nodeId": _param.nodeId}; | 375 | + let data = { "nodeId": _param.nodeId }; |
| 381 | if (_video_ape) { | 376 | if (_video_ape) { |
| 382 | _video_ape.stopPublishVideo(data); | 377 | _video_ape.stopPublishVideo(data); |
| 383 | 378 | ||
| 384 | //停止屏幕共享 | 379 | //停止屏幕共享 |
| 385 | - if(GlobalConfig.nodeId==data.nodeId){ | 380 | + if (GlobalConfig.nodeId == data.nodeId) { |
| 386 | _video_ape.stopPublishScreenShare(data); | 381 | _video_ape.stopPublishScreenShare(data); |
| 387 | } | 382 | } |
| 388 | } | 383 | } |
| @@ -391,7 +386,6 @@ export default class MessageEntrance extends Emiter { | @@ -391,7 +386,6 @@ export default class MessageEntrance extends Emiter { | ||
| 391 | } | 386 | } |
| 392 | } | 387 | } |
| 393 | 388 | ||
| 394 | - | ||
| 395 | //Sass | 389 | //Sass |
| 396 | //初始化 | 390 | //初始化 |
| 397 | _init(_param) { | 391 | _init(_param) { |
| @@ -411,7 +405,7 @@ export default class MessageEntrance extends Emiter { | @@ -411,7 +405,7 @@ export default class MessageEntrance extends Emiter { | ||
| 411 | loger.log('初始化课堂->', _param); | 405 | loger.log('初始化课堂->', _param); |
| 412 | 406 | ||
| 413 | //保存参数 | 407 | //保存参数 |
| 414 | - GlobalConfig.isRecordPlayBack = false;//设置为非录制回放状态 | 408 | + GlobalConfig.isRecordPlayBack = false; //设置为非录制回放状态 |
| 415 | GlobalConfig.classId = parseInt(_param.classId); | 409 | GlobalConfig.classId = parseInt(_param.classId); |
| 416 | GlobalConfig.portal = _param.portal; | 410 | GlobalConfig.portal = _param.portal; |
| 417 | GlobalConfig.userId = _param.userId || "0"; | 411 | GlobalConfig.userId = _param.userId || "0"; |
| @@ -454,7 +448,7 @@ export default class MessageEntrance extends Emiter { | @@ -454,7 +448,7 @@ export default class MessageEntrance extends Emiter { | ||
| 454 | return; | 448 | return; |
| 455 | } | 449 | } |
| 456 | //{"userName":"名字","password":"","autoLogin":""} | 450 | //{"userName":"名字","password":"","autoLogin":""} |
| 457 | - GlobalConfig.userName = _param.userName || GlobalConfig.userName;//以登陆时的名字为主,登陆之前可以修改名字 | 451 | + GlobalConfig.userName = _param.userName || GlobalConfig.userName; //以登陆时的名字为主,登陆之前可以修改名字 |
| 458 | GlobalConfig.autoLogin = _param.autoLogin || ""; | 452 | GlobalConfig.autoLogin = _param.autoLogin || ""; |
| 459 | GlobalConfig.password = _param.password || ""; | 453 | GlobalConfig.password = _param.password || ""; |
| 460 | GlobalConfig.hasCamera = (typeof _param.hasCamera == "boolean") ? _param.hasCamera : false; | 454 | GlobalConfig.hasCamera = (typeof _param.hasCamera == "boolean") ? _param.hasCamera : false; |
| @@ -480,13 +474,13 @@ export default class MessageEntrance extends Emiter { | @@ -480,13 +474,13 @@ export default class MessageEntrance extends Emiter { | ||
| 480 | _sassInitSuccessHandler(_data) { | 474 | _sassInitSuccessHandler(_data) { |
| 481 | //{"siteId":"h5test","passwordRequired":true,"md5":"de399d5540b3da2fbc1eb0a770d4fd66","code":0,"msType":1} | 475 | //{"siteId":"h5test","passwordRequired":true,"md5":"de399d5540b3da2fbc1eb0a770d4fd66","code":0,"msType":1} |
| 482 | //储存数据 | 476 | //储存数据 |
| 483 | - GlobalConfig.md5 = _data.md5 || "";//这个暂时用假数据,后台接口写完就有数据了 | 477 | + GlobalConfig.md5 = _data.md5 || ""; //这个暂时用假数据,后台接口写完就有数据了 |
| 484 | GlobalConfig.msType = _data.msType || 1; | 478 | GlobalConfig.msType = _data.msType || 1; |
| 485 | GlobalConfig.siteId = _data.siteId || ""; | 479 | GlobalConfig.siteId = _data.siteId || ""; |
| 486 | GlobalConfig.classType = _data.meetingType || ApeConsts.CLASS_TYPE_1; | 480 | GlobalConfig.classType = _data.meetingType || ApeConsts.CLASS_TYPE_1; |
| 487 | 481 | ||
| 488 | //host默认需要密码,Sass服务器只判断学生是否需要密码,没有判断老师的 | 482 | //host默认需要密码,Sass服务器只判断学生是否需要密码,没有判断老师的 |
| 489 | - GlobalConfig.passwordRequired = _data.passwordRequired || false;//md5验证的时候需要Sass返回的值,不能更改 | 483 | + GlobalConfig.passwordRequired = _data.passwordRequired || false; //md5验证的时候需要Sass返回的值,不能更改 |
| 490 | 484 | ||
| 491 | loger.log('初始化课堂验证完成.'); | 485 | loger.log('初始化课堂验证完成.'); |
| 492 | 486 | ||
| @@ -524,7 +518,7 @@ export default class MessageEntrance extends Emiter { | @@ -524,7 +518,7 @@ export default class MessageEntrance extends Emiter { | ||
| 524 | loger.log('获取课堂课堂信息完成.'); | 518 | loger.log('获取课堂课堂信息完成.'); |
| 525 | //包含整个课堂最全的信息,储存数据 | 519 | //包含整个课堂最全的信息,储存数据 |
| 526 | if (_data) { | 520 | if (_data) { |
| 527 | - GlobalConfig.mcuDelay = _data.h5Delay || 0;//mcu消息延迟的时间间隔,单位(秒),结合客户端传的messageDelay的值使用 | 521 | + GlobalConfig.mcuDelay = _data.h5Delay || 0; //mcu消息延迟的时间间隔,单位(秒),结合客户端传的messageDelay的值使用 |
| 528 | GlobalConfig.className = _data.meetingName || ""; | 522 | GlobalConfig.className = _data.meetingName || ""; |
| 529 | GlobalConfig.classBeginTime = _data.beginTime || ""; | 523 | GlobalConfig.classBeginTime = _data.beginTime || ""; |
| 530 | GlobalConfig.classEndTime = _data.endTime || ""; | 524 | GlobalConfig.classEndTime = _data.endTime || ""; |
| @@ -532,31 +526,30 @@ export default class MessageEntrance extends Emiter { | @@ -532,31 +526,30 @@ export default class MessageEntrance extends Emiter { | ||
| 532 | 526 | ||
| 533 | GlobalConfig.maxVideoChannels = _data.maxVideoChannels; | 527 | GlobalConfig.maxVideoChannels = _data.maxVideoChannels; |
| 534 | GlobalConfig.maxAudioChannels = _data.maxAudioChannels; | 528 | GlobalConfig.maxAudioChannels = _data.maxAudioChannels; |
| 535 | - GlobalConfig.maxMediaChannels=Math.max(GlobalConfig.maxVideoChannels,GlobalConfig.maxAudioChannels); | 529 | + GlobalConfig.maxMediaChannels = Math.max(GlobalConfig.maxVideoChannels, GlobalConfig.maxAudioChannels); |
| 536 | 530 | ||
| 537 | - GlobalConfig.ssTunnelAppURL=_data.ssTunnelAppURL||'';//屏幕共享插件的地址 | 531 | + GlobalConfig.ssTunnelAppURL = _data.ssTunnelAppURL || ''; //屏幕共享插件的地址 |
| 538 | 532 | ||
| 539 | //视频质量相关设置,每次加入课堂都按最新的获取设置 | 533 | //视频质量相关设置,每次加入课堂都按最新的获取设置 |
| 540 | GlobalConfig.fps = _data.fps || 15; | 534 | GlobalConfig.fps = _data.fps || 15; |
| 541 | GlobalConfig.gop = _data.gop || 3; | 535 | GlobalConfig.gop = _data.gop || 3; |
| 542 | GlobalConfig.videoQuality = parseInt(_data.videoQuality); | 536 | GlobalConfig.videoQuality = parseInt(_data.videoQuality); |
| 543 | - GlobalConfig.curVideoQuality= GlobalConfig.videoQuality; | 537 | + GlobalConfig.curVideoQuality = GlobalConfig.videoQuality; |
| 544 | 538 | ||
| 545 | //是否自动开始(身份是host的时候才用到的) | 539 | //是否自动开始(身份是host的时候才用到的) |
| 546 | GlobalConfig.isAutoStartClass = _data.autoRecord || 0; | 540 | GlobalConfig.isAutoStartClass = _data.autoRecord || 0; |
| 547 | 541 | ||
| 548 | GlobalConfig.setDocListPrepare(_data.docListPrepare); //提前上传的文档列表 | 542 | GlobalConfig.setDocListPrepare(_data.docListPrepare); //提前上传的文档列表 |
| 549 | - GlobalConfig.setRecordList(_data.recordList);//录制回放地址 | ||
| 550 | - GlobalConfig.setDocList(_data.docList);//文档地址 | ||
| 551 | - GlobalConfig.setMsList(_data.msList);//推流播流服务器地址(需要对列表中的地址进行分类,里面包含了推流和拉流的地址,目前主要是乐视的需要区分开) | ||
| 552 | - GlobalConfig.setRsList(_data.rsList);//播放m3u8格式的地址(录制回放时使用) | ||
| 553 | - GlobalConfig.setMcuList(_data.mcuList);//mcu | ||
| 554 | - GlobalConfig.setMusicList(_data.musicList);// | ||
| 555 | - GlobalConfig.setMusicListPrepare(_data.musicListPrepare);//提前上传的声音文件列表 | ||
| 556 | - GlobalConfig.setVideoCDNAddr(_data.videoCDNAddr);//cdn加速的拉流地址,直播的时候才使用 | 543 | + GlobalConfig.setRecordList(_data.recordList); //录制回放地址 |
| 544 | + GlobalConfig.setDocList(_data.docList); //文档地址 | ||
| 545 | + GlobalConfig.setMsList(_data.msList); //推流播流服务器地址(需要对列表中的地址进行分类,里面包含了推流和拉流的地址,目前主要是乐视的需要区分开) | ||
| 546 | + GlobalConfig.setRsList(_data.rsList); //播放m3u8格式的地址(录制回放时使用) | ||
| 547 | + GlobalConfig.setMcuList(_data.mcuList); //mcu | ||
| 548 | + GlobalConfig.setMusicList(_data.musicList); // | ||
| 549 | + GlobalConfig.setMusicListPrepare(_data.musicListPrepare); //提前上传的声音文件列表 | ||
| 550 | + GlobalConfig.setVideoCDNAddr(_data.videoCDNAddr); //cdn加速的拉流地址,直播的时候才使用 | ||
| 557 | GlobalConfig.setMediaShareList(_data.sharedMediaList); //提前上传的媒体共享文件列表 | 551 | GlobalConfig.setMediaShareList(_data.sharedMediaList); //提前上传的媒体共享文件列表 |
| 558 | 552 | ||
| 559 | - | ||
| 560 | //MCU地址 | 553 | //MCU地址 |
| 561 | if (_data.mcuList && _data.mcuList.length > 0) { | 554 | if (_data.mcuList && _data.mcuList.length > 0) { |
| 562 | //随机选择一个 | 555 | //随机选择一个 |
| @@ -583,61 +576,59 @@ export default class MessageEntrance extends Emiter { | @@ -583,61 +576,59 @@ export default class MessageEntrance extends Emiter { | ||
| 583 | loger.log('初始->MS->.', GlobalConfig.MS_PUBLISH_IP, GlobalConfig.MS_PUBLISH_PORT); | 576 | loger.log('初始->MS->.', GlobalConfig.MS_PUBLISH_IP, GlobalConfig.MS_PUBLISH_PORT); |
| 584 | 577 | ||
| 585 | //播流的地址和推流地址需要分开的时候,单独设置拉流的地址 rtmp(目前乐视使用) | 578 | //播流的地址和推流地址需要分开的时候,单独设置拉流的地址 rtmp(目前乐视使用) |
| 586 | - if (GlobalConfig.pullRtmpList &&GlobalConfig.pullRtmpList.length > 0) { | 579 | + if (GlobalConfig.pullRtmpList && GlobalConfig.pullRtmpList.length > 0) { |
| 587 | //有单独的rtmp拉流地址 | 580 | //有单独的rtmp拉流地址 |
| 588 | - let index = parseInt(Math.random() *GlobalConfig.pullRtmpList.length); | ||
| 589 | - GlobalConfig.MS_PLAY_RTMP_IP =GlobalConfig.pullRtmpList[index].ip || ""; | ||
| 590 | - GlobalConfig.MS_PLAY_RTMP_PORT =GlobalConfig.pullRtmpList[index].port || ""; | ||
| 591 | - }else { | 581 | + let index = parseInt(Math.random() * GlobalConfig.pullRtmpList.length); |
| 582 | + GlobalConfig.MS_PLAY_RTMP_IP = GlobalConfig.pullRtmpList[index].ip || ""; | ||
| 583 | + GlobalConfig.MS_PLAY_RTMP_PORT = GlobalConfig.pullRtmpList[index].port || ""; | ||
| 584 | + } else { | ||
| 592 | //如果没有单独的rtmp拉流地址,和推流地址一样即可 | 585 | //如果没有单独的rtmp拉流地址,和推流地址一样即可 |
| 593 | - GlobalConfig.MS_PLAY_RTMP_IP= GlobalConfig.MS_PUBLISH_IP; | ||
| 594 | - GlobalConfig.MS_PLAY_RTMP_PORT =GlobalConfig.MS_PUBLISH_PORT; | 586 | + GlobalConfig.MS_PLAY_RTMP_IP = GlobalConfig.MS_PUBLISH_IP; |
| 587 | + GlobalConfig.MS_PLAY_RTMP_PORT = GlobalConfig.MS_PUBLISH_PORT; | ||
| 595 | } | 588 | } |
| 596 | 589 | ||
| 597 | loger.log('初始->MSPull->.', GlobalConfig.MS_PLAY_RTMP_IP, GlobalConfig.MS_PLAY_RTMP_PORT); | 590 | loger.log('初始->MSPull->.', GlobalConfig.MS_PLAY_RTMP_IP, GlobalConfig.MS_PLAY_RTMP_PORT); |
| 598 | 591 | ||
| 599 | //播流的地址和推流地址需要分开的时候,单独设置拉流的地址 hls(目前乐视使用) | 592 | //播流的地址和推流地址需要分开的时候,单独设置拉流的地址 hls(目前乐视使用) |
| 600 | - if (GlobalConfig.hlsList &&GlobalConfig.hlsList.length > 0) { | 593 | + if (GlobalConfig.hlsList && GlobalConfig.hlsList.length > 0) { |
| 601 | //有单独的hls拉流地址 | 594 | //有单独的hls拉流地址 |
| 602 | - let index = parseInt(Math.random() *GlobalConfig.hlsList.length); | ||
| 603 | - GlobalConfig.MS_PLAY_HLS_IP =GlobalConfig.hlsList[index].ip || ""; | ||
| 604 | - GlobalConfig.MS_PLAY_HLS_PORT =GlobalConfig.hlsList[index].port || ""; | ||
| 605 | - }else { | 595 | + let index = parseInt(Math.random() * GlobalConfig.hlsList.length); |
| 596 | + GlobalConfig.MS_PLAY_HLS_IP = GlobalConfig.hlsList[index].ip || ""; | ||
| 597 | + GlobalConfig.MS_PLAY_HLS_PORT = GlobalConfig.hlsList[index].port || ""; | ||
| 598 | + } else { | ||
| 606 | //没有单独的hls拉流地址,和录制回放地址一样即可 | 599 | //没有单独的hls拉流地址,和录制回放地址一样即可 |
| 607 | - GlobalConfig.MS_PLAY_HLS_IP =GlobalConfig.RS_RECORD_PLAY_IP; | ||
| 608 | - GlobalConfig.MS_PLAY_HLS_PORT =GlobalConfig.RS_RECORD_PLAY_PORT ; | 600 | + GlobalConfig.MS_PLAY_HLS_IP = GlobalConfig.RS_RECORD_PLAY_IP; |
| 601 | + GlobalConfig.MS_PLAY_HLS_PORT = GlobalConfig.RS_RECORD_PLAY_PORT; | ||
| 609 | } | 602 | } |
| 610 | loger.log('初始->MSHls->.', GlobalConfig.MS_PLAY_HLS_IP, GlobalConfig.MS_PLAY_HLS_PORT); | 603 | loger.log('初始->MSHls->.', GlobalConfig.MS_PLAY_HLS_IP, GlobalConfig.MS_PLAY_HLS_PORT); |
| 611 | 604 | ||
| 612 | - | ||
| 613 | //直播的时候,拉流(rtmp和hls)需要从 videoCDNAddr中获取 | 605 | //直播的时候,拉流(rtmp和hls)需要从 videoCDNAddr中获取 |
| 614 | //20170531-新规则,所有课堂类型都支持加速 | 606 | //20170531-新规则,所有课堂类型都支持加速 |
| 615 | // if(GlobalConfig.classType==ApeConsts.CLASS_TYPE_2&&GlobalConfig.videoCDNAddrList.length>0){ | 607 | // if(GlobalConfig.classType==ApeConsts.CLASS_TYPE_2&&GlobalConfig.videoCDNAddrList.length>0){ |
| 616 | - if(GlobalConfig.videoCDNAddrList.length>0){ | 608 | + if (GlobalConfig.videoCDNAddrList.length > 0) { |
| 617 | //videoCDNAddrList中rtmppush和hls是混在一起的,需要分离开; | 609 | //videoCDNAddrList中rtmppush和hls是混在一起的,需要分离开; |
| 618 | - let listLen=GlobalConfig.videoCDNAddrList.length; | ||
| 619 | - for(let i=0;i<listLen;i++){ | ||
| 620 | - let ipItem=GlobalConfig.videoCDNAddrList[i]; | ||
| 621 | - if(ipItem){ | ||
| 622 | - if(ipItem.indexOf('hls')>=0){ | 610 | + let listLen = GlobalConfig.videoCDNAddrList.length; |
| 611 | + for (let i = 0; i < listLen; i++) { | ||
| 612 | + let ipItem = GlobalConfig.videoCDNAddrList[i]; | ||
| 613 | + if (ipItem) { | ||
| 614 | + if (ipItem.indexOf('hls') >= 0) { | ||
| 623 | //直播的时候m3u8拉流地址 | 615 | //直播的时候m3u8拉流地址 |
| 624 | - GlobalConfig.MS_PLAY_HLS_IP =ipItem;//ip包含了端口 | ||
| 625 | - GlobalConfig.MS_PLAY_HLS_PORT =""; | ||
| 626 | - loger.log('videoCDNAddr>初始->MSHls', GlobalConfig.MS_PLAY_HLS_IP ); | ||
| 627 | - }else if(ipItem.indexOf('rtmppull')>=0){ | 616 | + GlobalConfig.MS_PLAY_HLS_IP = ipItem; //ip包含了端口 |
| 617 | + GlobalConfig.MS_PLAY_HLS_PORT = ""; | ||
| 618 | + loger.log('videoCDNAddr>初始->MSHls', GlobalConfig.MS_PLAY_HLS_IP); | ||
| 619 | + } else if (ipItem.indexOf('rtmppull') >= 0) { | ||
| 628 | //直播的时候rtmp拉流地址 | 620 | //直播的时候rtmp拉流地址 |
| 629 | - GlobalConfig.MS_PLAY_RTMP_IP=ipItem;//ip包含了端口 | ||
| 630 | - GlobalConfig.MS_PLAY_RTMP_PORT =''; | ||
| 631 | - loger.log('videoCDNAddr->初始->MSPull', GlobalConfig.MS_PLAY_RTMP_IP ); | 621 | + GlobalConfig.MS_PLAY_RTMP_IP = ipItem; //ip包含了端口 |
| 622 | + GlobalConfig.MS_PLAY_RTMP_PORT = ''; | ||
| 623 | + loger.log('videoCDNAddr->初始->MSPull', GlobalConfig.MS_PLAY_RTMP_IP); | ||
| 632 | } | 624 | } |
| 633 | } | 625 | } |
| 634 | } | 626 | } |
| 635 | 627 | ||
| 636 | - }else{ | 628 | + } else { |
| 637 | loger.log('不需要videoCDNAddr->'); | 629 | loger.log('不需要videoCDNAddr->'); |
| 638 | } | 630 | } |
| 639 | 631 | ||
| 640 | - | ||
| 641 | //文档地址 | 632 | //文档地址 |
| 642 | if (_data.docList && _data.docList.length > 0) { | 633 | if (_data.docList && _data.docList.length > 0) { |
| 643 | //doc上传地址,随机获取一个 | 634 | //doc上传地址,随机获取一个 |
| @@ -658,7 +649,7 @@ export default class MessageEntrance extends Emiter { | @@ -658,7 +649,7 @@ export default class MessageEntrance extends Emiter { | ||
| 658 | 649 | ||
| 659 | } | 650 | } |
| 660 | //这里需要考虑是否加延迟处理,课堂信息刚获取完成,客户端需要根据数据创建界面UI,等创建完成后再加入课堂是最合适的(目前没有加延迟) | 651 | //这里需要考虑是否加延迟处理,课堂信息刚获取完成,客户端需要根据数据创建界面UI,等创建完成后再加入课堂是最合适的(目前没有加延迟) |
| 661 | - this._emit(MessageTypes.CLASS_GET_INFO_SUCCESS,GlobalConfig.getClassInfo()); | 652 | + this._emit(MessageTypes.CLASS_GET_INFO_SUCCESS, GlobalConfig.getClassInfo()); |
| 662 | 653 | ||
| 663 | if (_data.currentInfo) { | 654 | if (_data.currentInfo) { |
| 664 | //根据从Sass获取的数据信息,同步最后一次保存的课堂状态信息 | 655 | //根据从Sass获取的数据信息,同步最后一次保存的课堂状态信息 |
| @@ -673,7 +664,6 @@ export default class MessageEntrance extends Emiter { | @@ -673,7 +664,6 @@ export default class MessageEntrance extends Emiter { | ||
| 673 | loger.log("还没有保存过课堂状信息"); | 664 | loger.log("还没有保存过课堂状信息"); |
| 674 | } | 665 | } |
| 675 | 666 | ||
| 676 | - | ||
| 677 | //录制回放不需要获取ip信息和选点 | 667 | //录制回放不需要获取ip信息和选点 |
| 678 | if (GlobalConfig.isRecordPlayBack) { | 668 | if (GlobalConfig.isRecordPlayBack) { |
| 679 | if (_recordPlayback) { | 669 | if (_recordPlayback) { |
| @@ -691,9 +681,9 @@ export default class MessageEntrance extends Emiter { | @@ -691,9 +681,9 @@ export default class MessageEntrance extends Emiter { | ||
| 691 | 681 | ||
| 692 | //根据UserIp获取ip信息,选点 | 682 | //根据UserIp获取ip信息,选点 |
| 693 | getUserIpInfo() { | 683 | getUserIpInfo() { |
| 694 | - let _this=this; | 684 | + let _this = this; |
| 695 | if (_ipManager) { | 685 | if (_ipManager) { |
| 696 | - _ipManager.loadServerJosn(function(_data){ | 686 | + _ipManager.loadServerJosn(function (_data) { |
| 697 | _ipManager.getUserIpInfo("", GlobalConfig.userIp, _this._getUserIpCallbackHandler.bind(_this), 2000); | 687 | _ipManager.getUserIpInfo("", GlobalConfig.userIp, _this._getUserIpCallbackHandler.bind(_this), 2000); |
| 698 | }) | 688 | }) |
| 699 | } | 689 | } |
| @@ -707,10 +697,10 @@ export default class MessageEntrance extends Emiter { | @@ -707,10 +697,10 @@ export default class MessageEntrance extends Emiter { | ||
| 707 | } | 697 | } |
| 708 | this.isGetUserIpCallback = true; | 698 | this.isGetUserIpCallback = true; |
| 709 | if (_data && _data.ret == "ok") { | 699 | if (_data && _data.ret == "ok") { |
| 710 | - GlobalConfig.country = _data.country;//国家 | ||
| 711 | - GlobalConfig.city = _data.city;//城市 | ||
| 712 | - GlobalConfig.province = _data.province;//服务商 | ||
| 713 | - GlobalConfig.isp = _data.isp;//服务商 | 700 | + GlobalConfig.country = _data.country; //国家 |
| 701 | + GlobalConfig.city = _data.city; //城市 | ||
| 702 | + GlobalConfig.province = _data.province; //服务商 | ||
| 703 | + GlobalConfig.isp = _data.isp; //服务商 | ||
| 714 | } | 704 | } |
| 715 | 705 | ||
| 716 | //合并MCU 、MS的列表 | 706 | //合并MCU 、MS的列表 |
| @@ -720,12 +710,12 @@ export default class MessageEntrance extends Emiter { | @@ -720,12 +710,12 @@ export default class MessageEntrance extends Emiter { | ||
| 720 | let _this = this; | 710 | let _this = this; |
| 721 | 711 | ||
| 722 | //有一些站点不需要进行MS选点,需要先检查一下 | 712 | //有一些站点不需要进行MS选点,需要先检查一下 |
| 723 | - if(GlobalConfig.siteId_letv==GlobalConfig.siteId){ | 713 | + if (GlobalConfig.siteId_letv == GlobalConfig.siteId) { |
| 724 | //MS不需要选点 | 714 | //MS不需要选点 |
| 725 | loger.log("MS不需要选点->siteId->", GlobalConfig.siteId); | 715 | loger.log("MS不需要选点->siteId->", GlobalConfig.siteId); |
| 726 | _this.isGetFastestMcuCallback = true; | 716 | _this.isGetFastestMcuCallback = true; |
| 727 | _this._startConnectMCU(); | 717 | _this._startConnectMCU(); |
| 728 | - }else { | 718 | + } else { |
| 729 | this._getFastestMsServer(function (_data) { | 719 | this._getFastestMsServer(function (_data) { |
| 730 | loger.log("MS选点结束->", _data); | 720 | loger.log("MS选点结束->", _data); |
| 731 | if (_data && _data.ip) { | 721 | if (_data && _data.ip) { |
| @@ -780,7 +770,6 @@ export default class MessageEntrance extends Emiter { | @@ -780,7 +770,6 @@ export default class MessageEntrance extends Emiter { | ||
| 780 | console.log(" GlobalConfig.mcuList", GlobalConfig.mcuList); | 770 | console.log(" GlobalConfig.mcuList", GlobalConfig.mcuList); |
| 781 | console.log(" GlobalConfig.msList", GlobalConfig.msList); | 771 | console.log(" GlobalConfig.msList", GlobalConfig.msList); |
| 782 | 772 | ||
| 783 | - | ||
| 784 | //********合并所有MCU、MS 列表******** | 773 | //********合并所有MCU、MS 列表******** |
| 785 | //****server.json中的数据和从Sass获取的msList mcuList 数据需要分开,不能同时共存**** | 774 | //****server.json中的数据和从Sass获取的msList mcuList 数据需要分开,不能同时共存**** |
| 786 | /*GlobalConfig.mcuListAll.length = 0; | 775 | /*GlobalConfig.mcuListAll.length = 0; |
| @@ -789,21 +778,21 @@ export default class MessageEntrance extends Emiter { | @@ -789,21 +778,21 @@ export default class MessageEntrance extends Emiter { | ||
| 789 | GlobalConfig.msListAll = GlobalConfig.msListAll.concat(GlobalConfig.msList, GlobalConfig.msListFromServer);*/ | 778 | GlobalConfig.msListAll = GlobalConfig.msListAll.concat(GlobalConfig.msList, GlobalConfig.msListFromServer);*/ |
| 790 | 779 | ||
| 791 | GlobalConfig.mcuListAll.length = 0; | 780 | GlobalConfig.mcuListAll.length = 0; |
| 792 | - if(GlobalConfig.mcuListFromServer.length>0){ | 781 | + if (GlobalConfig.mcuListFromServer.length > 0) { |
| 793 | //使用server中的MCU数据 | 782 | //使用server中的MCU数据 |
| 794 | loger.warn("使用server中的MCU数据") | 783 | loger.warn("使用server中的MCU数据") |
| 795 | GlobalConfig.mcuListAll = GlobalConfig.mcuListFromServer; | 784 | GlobalConfig.mcuListAll = GlobalConfig.mcuListFromServer; |
| 796 | - }else { | 785 | + } else { |
| 797 | //使用Sass中的数据 | 786 | //使用Sass中的数据 |
| 798 | loger.warn("使用Sass中的MCU数据") | 787 | loger.warn("使用Sass中的MCU数据") |
| 799 | GlobalConfig.mcuListAll = GlobalConfig.mcuList; | 788 | GlobalConfig.mcuListAll = GlobalConfig.mcuList; |
| 800 | } | 789 | } |
| 801 | 790 | ||
| 802 | GlobalConfig.msListAll.length = 0; | 791 | GlobalConfig.msListAll.length = 0; |
| 803 | - if(GlobalConfig.msListFromServer.length>0){ | 792 | + if (GlobalConfig.msListFromServer.length > 0) { |
| 804 | loger.warn("使用server中的MS数据") | 793 | loger.warn("使用server中的MS数据") |
| 805 | GlobalConfig.msListAll = GlobalConfig.msListFromServer; | 794 | GlobalConfig.msListAll = GlobalConfig.msListFromServer; |
| 806 | - }else { | 795 | + } else { |
| 807 | loger.warn("使用Sass中的MS数据") | 796 | loger.warn("使用Sass中的MS数据") |
| 808 | GlobalConfig.msListAll = GlobalConfig.msList; | 797 | GlobalConfig.msListAll = GlobalConfig.msList; |
| 809 | } | 798 | } |
| @@ -818,7 +807,7 @@ export default class MessageEntrance extends Emiter { | @@ -818,7 +807,7 @@ export default class MessageEntrance extends Emiter { | ||
| 818 | _ipManager.getFastestMcuServer(GlobalConfig.mcuListAll, _callback); | 807 | _ipManager.getFastestMcuServer(GlobalConfig.mcuListAll, _callback); |
| 819 | } else { | 808 | } else { |
| 820 | if (_callback) { | 809 | if (_callback) { |
| 821 | - _callback({'ip': ""}); | 810 | + _callback({ 'ip': "" }); |
| 822 | } | 811 | } |
| 823 | } | 812 | } |
| 824 | } | 813 | } |
| @@ -829,7 +818,7 @@ export default class MessageEntrance extends Emiter { | @@ -829,7 +818,7 @@ export default class MessageEntrance extends Emiter { | ||
| 829 | _ipManager.getFastestMsServer(GlobalConfig.msListAll, _callback); | 818 | _ipManager.getFastestMsServer(GlobalConfig.msListAll, _callback); |
| 830 | } else { | 819 | } else { |
| 831 | if (_callback) { | 820 | if (_callback) { |
| 832 | - _callback({ip: ""}); | 821 | + _callback({ ip: "" }); |
| 833 | } | 822 | } |
| 834 | } | 823 | } |
| 835 | } | 824 | } |
| @@ -847,7 +836,7 @@ export default class MessageEntrance extends Emiter { | @@ -847,7 +836,7 @@ export default class MessageEntrance extends Emiter { | ||
| 847 | //只有加入课堂之后才能保存数据 | 836 | //只有加入课堂之后才能保存数据 |
| 848 | if (GlobalConfig.getCurrentStatus().code == GlobalConfig.statusCode_2.code) { | 837 | if (GlobalConfig.getCurrentStatus().code == GlobalConfig.statusCode_2.code) { |
| 849 | //POST 保存数据 | 838 | //POST 保存数据 |
| 850 | - _sass.saveClassStatusInfo({"classStatusInfo": GlobalConfig.classStatusInfo});//保存课堂状态信息 | 839 | + _sass.saveClassStatusInfo({ "classStatusInfo": GlobalConfig.classStatusInfo }); //保存课堂状态信息 |
| 851 | } else { | 840 | } else { |
| 852 | loger.error("不能保存课堂数据", GlobalConfig.getCurrentStatus()); | 841 | loger.error("不能保存课堂数据", GlobalConfig.getCurrentStatus()); |
| 853 | } | 842 | } |
| @@ -886,11 +875,10 @@ export default class MessageEntrance extends Emiter { | @@ -886,11 +875,10 @@ export default class MessageEntrance extends Emiter { | ||
| 886 | _mcuJoinMCUClassSuccessHandler(_data) { | 875 | _mcuJoinMCUClassSuccessHandler(_data) { |
| 887 | //loger.log('MCU 课堂成功.'); | 876 | //loger.log('MCU 课堂成功.'); |
| 888 | GlobalConfig.setCurrentStatus(GlobalConfig.statusCode_2); | 877 | GlobalConfig.setCurrentStatus(GlobalConfig.statusCode_2); |
| 889 | - GlobalConfig.classJoinSuccess=true; | ||
| 890 | - | ||
| 891 | - GlobalConfig.screenWidth=window.screen.width; | ||
| 892 | - GlobalConfig.screenHeight=window.screen.height; | 878 | + GlobalConfig.classJoinSuccess = true; |
| 893 | 879 | ||
| 880 | + GlobalConfig.screenWidth = window.screen.width; | ||
| 881 | + GlobalConfig.screenHeight = window.screen.height; | ||
| 894 | 882 | ||
| 895 | //返回给客户端初始化成功的数据 | 883 | //返回给客户端初始化成功的数据 |
| 896 | let joinClassSuccessCallBackData = {}; | 884 | let joinClassSuccessCallBackData = {}; |
| @@ -907,13 +895,13 @@ export default class MessageEntrance extends Emiter { | @@ -907,13 +895,13 @@ export default class MessageEntrance extends Emiter { | ||
| 907 | joinClassSuccessCallBackData.isHost = GlobalConfig.isHost; | 895 | joinClassSuccessCallBackData.isHost = GlobalConfig.isHost; |
| 908 | joinClassSuccessCallBackData.maxAudioChannels = GlobalConfig.maxAudioChannels; | 896 | joinClassSuccessCallBackData.maxAudioChannels = GlobalConfig.maxAudioChannels; |
| 909 | joinClassSuccessCallBackData.maxVideoChannels = GlobalConfig.maxVideoChannels; | 897 | joinClassSuccessCallBackData.maxVideoChannels = GlobalConfig.maxVideoChannels; |
| 910 | - joinClassSuccessCallBackData.maxMediaChannels= GlobalConfig.maxMediaChannels; | 898 | + joinClassSuccessCallBackData.maxMediaChannels = GlobalConfig.maxMediaChannels; |
| 911 | joinClassSuccessCallBackData.mcuDelay = GlobalConfig.mcuDelay; | 899 | joinClassSuccessCallBackData.mcuDelay = GlobalConfig.mcuDelay; |
| 912 | 900 | ||
| 913 | joinClassSuccessCallBackData.msType = GlobalConfig.msType; | 901 | joinClassSuccessCallBackData.msType = GlobalConfig.msType; |
| 914 | joinClassSuccessCallBackData.nodeId = GlobalConfig.nodeId; | 902 | joinClassSuccessCallBackData.nodeId = GlobalConfig.nodeId; |
| 915 | joinClassSuccessCallBackData.password = GlobalConfig.password; | 903 | joinClassSuccessCallBackData.password = GlobalConfig.password; |
| 916 | - joinClassSuccessCallBackData.passwordRequired = GlobalConfig.passwordRequired;// 老师的默认是true | 904 | + joinClassSuccessCallBackData.passwordRequired = GlobalConfig.passwordRequired; // 老师的默认是true |
| 917 | //GlobalConfig.passwordRequired 老师的默认是true | 905 | //GlobalConfig.passwordRequired 老师的默认是true |
| 918 | //GlobalConfig.portal=_data.portal; | 906 | //GlobalConfig.portal=_data.portal; |
| 919 | joinClassSuccessCallBackData.role = GlobalConfig.role; | 907 | joinClassSuccessCallBackData.role = GlobalConfig.role; |
| @@ -931,22 +919,21 @@ export default class MessageEntrance extends Emiter { | @@ -931,22 +919,21 @@ export default class MessageEntrance extends Emiter { | ||
| 931 | joinClassSuccessCallBackData.passwordRequired = GlobalConfig.passwordRequired; | 919 | joinClassSuccessCallBackData.passwordRequired = GlobalConfig.passwordRequired; |
| 932 | joinClassSuccessCallBackData.classType = GlobalConfig.classType || ApeConsts.CLASS_TYPE_1; | 920 | joinClassSuccessCallBackData.classType = GlobalConfig.classType || ApeConsts.CLASS_TYPE_1; |
| 933 | 921 | ||
| 934 | - joinClassSuccessCallBackData.country = GlobalConfig.country;//国家 | ||
| 935 | - joinClassSuccessCallBackData.city = GlobalConfig.city;//城市 | ||
| 936 | - joinClassSuccessCallBackData.province = GlobalConfig.province;//服务商 | ||
| 937 | - joinClassSuccessCallBackData.isp = GlobalConfig.isp;//服务商 | 922 | + joinClassSuccessCallBackData.country = GlobalConfig.country; //国家 |
| 923 | + joinClassSuccessCallBackData.city = GlobalConfig.city; //城市 | ||
| 924 | + joinClassSuccessCallBackData.province = GlobalConfig.province; //服务商 | ||
| 925 | + joinClassSuccessCallBackData.isp = GlobalConfig.isp; //服务商 | ||
| 938 | 926 | ||
| 939 | - joinClassSuccessCallBackData.classTimestamp = GlobalConfig.classTimestamp;//课堂进行的累积时间 | ||
| 940 | - joinClassSuccessCallBackData.recordTimestamp = GlobalConfig.recordTimestamp;//课堂录制的累积时间 | ||
| 941 | - joinClassSuccessCallBackData.recordPlaybackMaxTime = GlobalConfig.recordPlaybackMaxTime;//录制回放的总时间 | 927 | + joinClassSuccessCallBackData.classTimestamp = GlobalConfig.classTimestamp; //课堂进行的累积时间 |
| 928 | + joinClassSuccessCallBackData.recordTimestamp = GlobalConfig.recordTimestamp; //课堂录制的累积时间 | ||
| 929 | + joinClassSuccessCallBackData.recordPlaybackMaxTime = GlobalConfig.recordPlaybackMaxTime; //录制回放的总时间 | ||
| 942 | 930 | ||
| 943 | joinClassSuccessCallBackData.fps = GlobalConfig.fps; | 931 | joinClassSuccessCallBackData.fps = GlobalConfig.fps; |
| 944 | joinClassSuccessCallBackData.gop = GlobalConfig.gop; | 932 | joinClassSuccessCallBackData.gop = GlobalConfig.gop; |
| 945 | joinClassSuccessCallBackData.videoQuality = GlobalConfig.videoQuality; | 933 | joinClassSuccessCallBackData.videoQuality = GlobalConfig.videoQuality; |
| 946 | 934 | ||
| 947 | - | ||
| 948 | joinClassSuccessCallBackData.ssTunnelAppURL = GlobalConfig.ssTunnelAppURL; | 935 | joinClassSuccessCallBackData.ssTunnelAppURL = GlobalConfig.ssTunnelAppURL; |
| 949 | - joinClassSuccessCallBackData.currentSceneTableId=GlobalConfig.currentSceneTableId;//文档区域的模块显示 | 936 | + joinClassSuccessCallBackData.currentSceneTableId = GlobalConfig.currentSceneTableId; //文档区域的模块显示 |
| 950 | 937 | ||
| 951 | loger.log('加入课堂成功->'); | 938 | loger.log('加入课堂成功->'); |
| 952 | loger.log(joinClassSuccessCallBackData); | 939 | loger.log(joinClassSuccessCallBackData); |
| @@ -966,7 +953,7 @@ export default class MessageEntrance extends Emiter { | @@ -966,7 +953,7 @@ export default class MessageEntrance extends Emiter { | ||
| 966 | this._getFastestMcuServer(function (_data) { | 953 | this._getFastestMcuServer(function (_data) { |
| 967 | loger.log("MCU选点结束->", _data); | 954 | loger.log("MCU选点结束->", _data); |
| 968 | //记录当前的IP地址,选点结束后需要判断一下是否是新的IP; | 955 | //记录当前的IP地址,选点结束后需要判断一下是否是新的IP; |
| 969 | - let oldIp= GlobalConfig.MCUServerIP; | 956 | + let oldIp = GlobalConfig.MCUServerIP; |
| 970 | 957 | ||
| 971 | if (_data && _data.ip) { | 958 | if (_data && _data.ip) { |
| 972 | GlobalConfig.MCUServerIP = _data.ip || ""; | 959 | GlobalConfig.MCUServerIP = _data.ip || ""; |
| @@ -979,25 +966,25 @@ export default class MessageEntrance extends Emiter { | @@ -979,25 +966,25 @@ export default class MessageEntrance extends Emiter { | ||
| 979 | GlobalConfig.MCUServerPort = GlobalConfig.mcuList[index].port || ""; | 966 | GlobalConfig.MCUServerPort = GlobalConfig.mcuList[index].port || ""; |
| 980 | } | 967 | } |
| 981 | } | 968 | } |
| 982 | - if(oldIp&&oldIp!=GlobalConfig.MCUServerIP){ | 969 | + if (oldIp && oldIp != GlobalConfig.MCUServerIP) { |
| 983 | loger.log('MCU->最新地址->', GlobalConfig.MCUServerIP, GlobalConfig.MCUServerPort); | 970 | loger.log('MCU->最新地址->', GlobalConfig.MCUServerIP, GlobalConfig.MCUServerPort); |
| 984 | //判断是否需要主动断开当前的连接然后重连新的服务器 | 971 | //判断是否需要主动断开当前的连接然后重连新的服务器 |
| 985 | if (_param && _param.reConnect == true) { | 972 | if (_param && _param.reConnect == true) { |
| 986 | loger.log('MCU->切换到最新的IP->', GlobalConfig.MCUServerIP, GlobalConfig.MCUServerPort); | 973 | loger.log('MCU->切换到最新的IP->', GlobalConfig.MCUServerIP, GlobalConfig.MCUServerPort); |
| 987 | _this._startConnectMCU(); | 974 | _this._startConnectMCU(); |
| 988 | - }else { | 975 | + } else { |
| 989 | //不需要断开当前的连接,更改ip即可 | 976 | //不需要断开当前的连接,更改ip即可 |
| 990 | _this._switchMcuIp(); | 977 | _this._switchMcuIp(); |
| 991 | } | 978 | } |
| 992 | - }else { | 979 | + } else { |
| 993 | //如果选点结束后获得的ip和当前的IP相同,不需要切换 | 980 | //如果选点结束后获得的ip和当前的IP相同,不需要切换 |
| 994 | - loger.log('MCU不需要切换->之前的IP->',oldIp,"新的IP->",GlobalConfig.MCUServerIP); | 981 | + loger.log('MCU不需要切换->之前的IP->', oldIp, "新的IP->", GlobalConfig.MCUServerIP); |
| 995 | } | 982 | } |
| 996 | }); | 983 | }); |
| 997 | } | 984 | } |
| 998 | 985 | ||
| 999 | //课堂状态发生改变,需要停止当前的所有推流 | 986 | //课堂状态发生改变,需要停止当前的所有推流 |
| 1000 | - _stopAllMediaPublishHandler(_data){ | 987 | + _stopAllMediaPublishHandler(_data) { |
| 1001 | loger.log('课堂状态发生改变,需要停止当前的所有推流'); | 988 | loger.log('课堂状态发生改变,需要停止当前的所有推流'); |
| 1002 | this._emit(MessageTypes.MEDIA_STOP_PUBLISH); | 989 | this._emit(MessageTypes.MEDIA_STOP_PUBLISH); |
| 1003 | /* let allChannels=MediaModule.allMediaChannelsList; | 990 | /* let allChannels=MediaModule.allMediaChannelsList; |
| @@ -1023,7 +1010,7 @@ export default class MessageEntrance extends Emiter { | @@ -1023,7 +1010,7 @@ export default class MessageEntrance extends Emiter { | ||
| 1023 | this._getFastestMsServer(function (_data) { | 1010 | this._getFastestMsServer(function (_data) { |
| 1024 | loger.log("MS选点结束->", _data); | 1011 | loger.log("MS选点结束->", _data); |
| 1025 | //记录当前的IP地址,选点结束后需要判断一下是否是新的IP; | 1012 | //记录当前的IP地址,选点结束后需要判断一下是否是新的IP; |
| 1026 | - let oldIp= GlobalConfig.MCUServerIP; | 1013 | + let oldIp = GlobalConfig.MCUServerIP; |
| 1027 | 1014 | ||
| 1028 | if (_data && _data.ip) { | 1015 | if (_data && _data.ip) { |
| 1029 | GlobalConfig.MS_PUBLISH_IP = _data.ip || ""; | 1016 | GlobalConfig.MS_PUBLISH_IP = _data.ip || ""; |
| @@ -1037,23 +1024,21 @@ export default class MessageEntrance extends Emiter { | @@ -1037,23 +1024,21 @@ export default class MessageEntrance extends Emiter { | ||
| 1037 | } | 1024 | } |
| 1038 | } | 1025 | } |
| 1039 | 1026 | ||
| 1040 | - | ||
| 1041 | - if(oldIp&&oldIp!=GlobalConfig.MS_PUBLISH_IP){ | 1027 | + if (oldIp && oldIp != GlobalConfig.MS_PUBLISH_IP) { |
| 1042 | /* loger.log('MS->切换地址->', GlobalConfig.MSServerIP, GlobalConfig.MSServerPort); | 1028 | /* loger.log('MS->切换地址->', GlobalConfig.MSServerIP, GlobalConfig.MSServerPort); |
| 1043 | //判断是否需要断开当前的连接重连新的服务器 | 1029 | //判断是否需要断开当前的连接重连新的服务器 |
| 1044 | if (_param && _param.reConnect == true) { | 1030 | if (_param && _param.reConnect == true) { |
| 1045 | loger.log('MS->最新地址->', GlobalConfig.MSServerIP, GlobalConfig.MSServerPort); | 1031 | loger.log('MS->最新地址->', GlobalConfig.MSServerIP, GlobalConfig.MSServerPort); |
| 1046 | }*/ | 1032 | }*/ |
| 1047 | loger.log('MS->最新地址->', GlobalConfig.MS_PUBLISH_IP, GlobalConfig.MS_PUBLISH_PORT); | 1033 | loger.log('MS->最新地址->', GlobalConfig.MS_PUBLISH_IP, GlobalConfig.MS_PUBLISH_PORT); |
| 1048 | - }else { | 1034 | + } else { |
| 1049 | //如果选点结束后获得的ip和当前的IP相同,不需要切换 | 1035 | //如果选点结束后获得的ip和当前的IP相同,不需要切换 |
| 1050 | - loger.log('MS不需要切换->IP',GlobalConfig.MS_PUBLISH_IP); | 1036 | + loger.log('MS不需要切换->IP', GlobalConfig.MS_PUBLISH_IP); |
| 1051 | } | 1037 | } |
| 1052 | 1038 | ||
| 1053 | }); | 1039 | }); |
| 1054 | } | 1040 | } |
| 1055 | 1041 | ||
| 1056 | - | ||
| 1057 | //先通过Sass删除文档数据,删除成功之后才能删除MCU的 | 1042 | //先通过Sass删除文档数据,删除成功之后才能删除MCU的 |
| 1058 | _sassDeleteDocument(_param) { | 1043 | _sassDeleteDocument(_param) { |
| 1059 | if (!_mcu.connected) { | 1044 | if (!_mcu.connected) { |
| @@ -1095,7 +1080,7 @@ export default class MessageEntrance extends Emiter { | @@ -1095,7 +1080,7 @@ export default class MessageEntrance extends Emiter { | ||
| 1095 | loger.log('删除文档成功->', _param); | 1080 | loger.log('删除文档成功->', _param); |
| 1096 | this._sendDocumentDelete(_param); | 1081 | this._sendDocumentDelete(_param); |
| 1097 | } | 1082 | } |
| 1098 | - _sassDeleteMediaShareSuccess(_param){ | 1083 | + _sassDeleteMediaShareSuccess(_param) { |
| 1099 | loger.log('删除媒体文件成功->', _param); | 1084 | loger.log('删除媒体文件成功->', _param); |
| 1100 | this._sendMediaSharedDelete(_param); | 1085 | this._sendMediaSharedDelete(_param); |
| 1101 | } | 1086 | } |
| @@ -1113,6 +1098,19 @@ export default class MessageEntrance extends Emiter { | @@ -1113,6 +1098,19 @@ export default class MessageEntrance extends Emiter { | ||
| 1113 | } | 1098 | } |
| 1114 | } | 1099 | } |
| 1115 | 1100 | ||
| 1101 | + //ConferApe | ||
| 1102 | + //全局禁言 | ||
| 1103 | + _silenceClass(_param) { | ||
| 1104 | + if (!_mcu.connected) { | ||
| 1105 | + loger.warn(GlobalConfig.getCurrentStatus()); | ||
| 1106 | + return; | ||
| 1107 | + } | ||
| 1108 | + | ||
| 1109 | + if (_confer_ape) { | ||
| 1110 | + _confer_ape.silenceClass(_param); | ||
| 1111 | + } | ||
| 1112 | + } | ||
| 1113 | + | ||
| 1116 | //暂停上课 | 1114 | //暂停上课 |
| 1117 | _sendPauseClass(_param) { | 1115 | _sendPauseClass(_param) { |
| 1118 | if (!_mcu.connected) { | 1116 | if (!_mcu.connected) { |
| @@ -1124,43 +1122,56 @@ export default class MessageEntrance extends Emiter { | @@ -1124,43 +1122,56 @@ export default class MessageEntrance extends Emiter { | ||
| 1124 | } | 1122 | } |
| 1125 | } | 1123 | } |
| 1126 | //更新设备信息 | 1124 | //更新设备信息 |
| 1127 | - _updateDeviceInfo(_param){ | 1125 | + _updateDeviceInfo(_param) { |
| 1128 | if (!_mcu.connected) { | 1126 | if (!_mcu.connected) { |
| 1129 | - loger.warn('更新设备信息->失败',GlobalConfig.getCurrentStatus()); | ||
| 1130 | - return {"code": ApeConsts.RETURN_FAILED, "data": ""}; | 1127 | + loger.warn('更新设备信息->失败', GlobalConfig.getCurrentStatus()); |
| 1128 | + return { "code": ApeConsts.RETURN_FAILED, "data": "" }; | ||
| 1131 | } | 1129 | } |
| 1132 | - if(!GlobalConfig.classJoinSuccess){ | ||
| 1133 | - loger.warn('更新设备信息->失败->还没有加入课堂成功',GlobalConfig.getCurrentStatus()); | 1130 | + if (!GlobalConfig.classJoinSuccess) { |
| 1131 | + loger.warn('更新设备信息->失败->还没有加入课堂成功', GlobalConfig.getCurrentStatus()); | ||
| 1134 | } | 1132 | } |
| 1135 | if (_confer_ape) { | 1133 | if (_confer_ape) { |
| 1136 | _confer_ape.updateDeviceInfo(_param); | 1134 | _confer_ape.updateDeviceInfo(_param); |
| 1137 | } | 1135 | } |
| 1138 | } | 1136 | } |
| 1139 | //文档-媒体共享-屏幕共享模块切换 | 1137 | //文档-媒体共享-屏幕共享模块切换 |
| 1140 | - _sceneTableChange(_param){ | 1138 | + _sceneTableChange(_param) { |
| 1141 | if (!_mcu.connected) { | 1139 | if (!_mcu.connected) { |
| 1142 | loger.warn(GlobalConfig.getCurrentStatus()); | 1140 | loger.warn(GlobalConfig.getCurrentStatus()); |
| 1143 | - return {"code": ApeConsts.RETURN_FAILED, "data": ""}; | 1141 | + return { "code": ApeConsts.RETURN_FAILED, "data": "" }; |
| 1144 | } | 1142 | } |
| 1145 | if (_confer_ape) { | 1143 | if (_confer_ape) { |
| 1146 | _confer_ape.sceneTableChange(_param); | 1144 | _confer_ape.sceneTableChange(_param); |
| 1147 | } | 1145 | } |
| 1148 | } | 1146 | } |
| 1147 | + | ||
| 1148 | + // 禁言控制 | ||
| 1149 | + _controlSilenceStatus(_param) { | ||
| 1150 | + if (!_mcu.connected) { | ||
| 1151 | + loger.warn(GlobalConfig.getCurrentStatus()); | ||
| 1152 | + return { "code": ApeConsts.RETURN_FAILED, "data": "" }; | ||
| 1153 | + } | ||
| 1154 | + if (_confer_ape) { | ||
| 1155 | + _confer_ape.controlSilenceStatus(_param); | ||
| 1156 | + } | ||
| 1157 | + } | ||
| 1158 | + | ||
| 1149 | //举手状态控制 | 1159 | //举手状态控制 |
| 1150 | - _controlHandUpStatus(_param){ | 1160 | + _controlHandUpStatus(_param) { |
| 1151 | if (!_mcu.connected) { | 1161 | if (!_mcu.connected) { |
| 1152 | loger.warn(GlobalConfig.getCurrentStatus()); | 1162 | loger.warn(GlobalConfig.getCurrentStatus()); |
| 1153 | - return {"code": ApeConsts.RETURN_FAILED, "data": ""}; | 1163 | + return { "code": ApeConsts.RETURN_FAILED, "data": "" }; |
| 1154 | } | 1164 | } |
| 1155 | if (_confer_ape) { | 1165 | if (_confer_ape) { |
| 1156 | _confer_ape.controlHandUpStatus(_param); | 1166 | _confer_ape.controlHandUpStatus(_param); |
| 1157 | } | 1167 | } |
| 1158 | } | 1168 | } |
| 1169 | + | ||
| 1159 | //举手状态切换 | 1170 | //举手状态切换 |
| 1160 | - _changeHandUpStatus(_param){ | 1171 | + _changeHandUpStatus(_param) { |
| 1161 | if (!_mcu.connected) { | 1172 | if (!_mcu.connected) { |
| 1162 | loger.warn(GlobalConfig.getCurrentStatus()); | 1173 | loger.warn(GlobalConfig.getCurrentStatus()); |
| 1163 | - return {"code": ApeConsts.RETURN_FAILED, "data": ""}; | 1174 | + return { "code": ApeConsts.RETURN_FAILED, "data": "" }; |
| 1164 | } | 1175 | } |
| 1165 | if (_confer_ape) { | 1176 | if (_confer_ape) { |
| 1166 | _confer_ape.changeHandUpStatus(_param); | 1177 | _confer_ape.changeHandUpStatus(_param); |
| @@ -1170,7 +1181,7 @@ export default class MessageEntrance extends Emiter { | @@ -1170,7 +1181,7 @@ export default class MessageEntrance extends Emiter { | ||
| 1170 | _sendCloseClass(_param) { | 1181 | _sendCloseClass(_param) { |
| 1171 | if (!_mcu.connected) { | 1182 | if (!_mcu.connected) { |
| 1172 | loger.warn(GlobalConfig.getCurrentStatus()); | 1183 | loger.warn(GlobalConfig.getCurrentStatus()); |
| 1173 | - return {"code": ApeConsts.RETURN_FAILED, "data": ""}; | 1184 | + return { "code": ApeConsts.RETURN_FAILED, "data": "" }; |
| 1174 | } | 1185 | } |
| 1175 | if (_confer_ape) { | 1186 | if (_confer_ape) { |
| 1176 | _confer_ape.closeClass(_param); | 1187 | _confer_ape.closeClass(_param); |
| @@ -1181,7 +1192,7 @@ export default class MessageEntrance extends Emiter { | @@ -1181,7 +1192,7 @@ export default class MessageEntrance extends Emiter { | ||
| 1181 | _leaveClass(_param) { | 1192 | _leaveClass(_param) { |
| 1182 | if (!_mcu.connected) { | 1193 | if (!_mcu.connected) { |
| 1183 | loger.warn(GlobalConfig.getCurrentStatus()); | 1194 | loger.warn(GlobalConfig.getCurrentStatus()); |
| 1184 | - return {"code": ApeConsts.RETURN_FAILED, "data": ""}; | 1195 | + return { "code": ApeConsts.RETURN_FAILED, "data": "" }; |
| 1185 | } | 1196 | } |
| 1186 | 1197 | ||
| 1187 | //停止推流 | 1198 | //停止推流 |
| @@ -1198,14 +1209,14 @@ export default class MessageEntrance extends Emiter { | @@ -1198,14 +1209,14 @@ export default class MessageEntrance extends Emiter { | ||
| 1198 | _confer_ape.leaveClass(); | 1209 | _confer_ape.leaveClass(); |
| 1199 | } | 1210 | } |
| 1200 | 1211 | ||
| 1201 | - let callBack={}; | ||
| 1202 | - if(_param&&_param.type){ | ||
| 1203 | - callBack=_param; | ||
| 1204 | - }else{ | ||
| 1205 | - callBack.type=0; | 1212 | + let callBack = {}; |
| 1213 | + if (_param && _param.type) { | ||
| 1214 | + callBack = _param; | ||
| 1215 | + } else { | ||
| 1216 | + callBack.type = 0; | ||
| 1206 | } | 1217 | } |
| 1207 | - loger.warn('离开课堂->',MessageTypes.CLASS_EXIT,callBack); | ||
| 1208 | - this._emit(MessageTypes.CLASS_EXIT,callBack); | 1218 | + loger.warn('离开课堂->', MessageTypes.CLASS_EXIT, callBack); |
| 1219 | + this._emit(MessageTypes.CLASS_EXIT, callBack); | ||
| 1209 | 1220 | ||
| 1210 | //断开MCU连接 | 1221 | //断开MCU连接 |
| 1211 | if (_mcu) { | 1222 | if (_mcu) { |
| @@ -1214,17 +1225,16 @@ export default class MessageEntrance extends Emiter { | @@ -1214,17 +1225,16 @@ export default class MessageEntrance extends Emiter { | ||
| 1214 | } | 1225 | } |
| 1215 | } | 1226 | } |
| 1216 | 1227 | ||
| 1217 | - | ||
| 1218 | //ChatApe | 1228 | //ChatApe |
| 1219 | // 发送聊天消息 | 1229 | // 发送聊天消息 |
| 1220 | _sendChatMsg(_messageInfo) { | 1230 | _sendChatMsg(_messageInfo) { |
| 1221 | if (!_mcu.connected) { | 1231 | if (!_mcu.connected) { |
| 1222 | loger.warn(GlobalConfig.getCurrentStatus()); | 1232 | loger.warn(GlobalConfig.getCurrentStatus()); |
| 1223 | - return {"code": ApeConsts.RETURN_FAILED, "data": ""}; | 1233 | + return { "code": ApeConsts.RETURN_FAILED, "data": "" }; |
| 1224 | } | 1234 | } |
| 1225 | if (_messageInfo === null || EngineUtils.isEmptyObject(_messageInfo)) { | 1235 | if (_messageInfo === null || EngineUtils.isEmptyObject(_messageInfo)) { |
| 1226 | loger.log('发送聊天消息失败->参数错误', _messageInfo); | 1236 | loger.log('发送聊天消息失败->参数错误', _messageInfo); |
| 1227 | - return {"code": ApeConsts.RETURN_FAILED, "data": ""}; | 1237 | + return { "code": ApeConsts.RETURN_FAILED, "data": "" }; |
| 1228 | } | 1238 | } |
| 1229 | if (_chat_ape) { | 1239 | if (_chat_ape) { |
| 1230 | _chat_ape.sendChatMsg(_messageInfo); | 1240 | _chat_ape.sendChatMsg(_messageInfo); |
| @@ -1232,7 +1242,7 @@ export default class MessageEntrance extends Emiter { | @@ -1232,7 +1242,7 @@ export default class MessageEntrance extends Emiter { | ||
| 1232 | } | 1242 | } |
| 1233 | 1243 | ||
| 1234 | //监听摄像头麦克风状态 | 1244 | //监听摄像头麦克风状态 |
| 1235 | - userDeviecStatusChange(_data){ | 1245 | + userDeviecStatusChange(_data) { |
| 1236 | /* nodeId:GlobalConfig.nodeId, | 1246 | /* nodeId:GlobalConfig.nodeId, |
| 1237 | userRole:GlobalConfig.userRole, | 1247 | userRole:GlobalConfig.userRole, |
| 1238 | userName:GlobalConfig.userName, | 1248 | userName:GlobalConfig.userName, |
| @@ -1246,14 +1256,14 @@ export default class MessageEntrance extends Emiter { | @@ -1246,14 +1256,14 @@ export default class MessageEntrance extends Emiter { | ||
| 1246 | 1256 | ||
| 1247 | //屏幕共享 | 1257 | //屏幕共享 |
| 1248 | //开始屏幕共享 | 1258 | //开始屏幕共享 |
| 1249 | - _publishScreenShare(_param){ | ||
| 1250 | - if(_video_ape){ | 1259 | + _publishScreenShare(_param) { |
| 1260 | + if (_video_ape) { | ||
| 1251 | _video_ape.publishScreenShare(_param); | 1261 | _video_ape.publishScreenShare(_param); |
| 1252 | } | 1262 | } |
| 1253 | } | 1263 | } |
| 1254 | //停止屏幕共享 | 1264 | //停止屏幕共享 |
| 1255 | - _stopPublishScreenShare(_param){ | ||
| 1256 | - if(_video_ape){ | 1265 | + _stopPublishScreenShare(_param) { |
| 1266 | + if (_video_ape) { | ||
| 1257 | _video_ape.stopPublishScreenShare(_param); | 1267 | _video_ape.stopPublishScreenShare(_param); |
| 1258 | } | 1268 | } |
| 1259 | } | 1269 | } |
| @@ -1268,7 +1278,7 @@ export default class MessageEntrance extends Emiter { | @@ -1268,7 +1278,7 @@ export default class MessageEntrance extends Emiter { | ||
| 1268 | _sendVideoBroadcastMsg(_param) { | 1278 | _sendVideoBroadcastMsg(_param) { |
| 1269 | if (!_mcu.connected) { | 1279 | if (!_mcu.connected) { |
| 1270 | loger.warn(GlobalConfig.getCurrentStatus()); | 1280 | loger.warn(GlobalConfig.getCurrentStatus()); |
| 1271 | - return {"code": ApeConsts.RETURN_FAILED, "data": ""}; | 1281 | + return { "code": ApeConsts.RETURN_FAILED, "data": "" }; |
| 1272 | } | 1282 | } |
| 1273 | if (_video_ape) { | 1283 | if (_video_ape) { |
| 1274 | return _video_ape.sendVideoBroadcastMsg(_param); | 1284 | return _video_ape.sendVideoBroadcastMsg(_param); |
| @@ -1296,7 +1306,7 @@ export default class MessageEntrance extends Emiter { | @@ -1296,7 +1306,7 @@ export default class MessageEntrance extends Emiter { | ||
| 1296 | _publishVideo(_param) { | 1306 | _publishVideo(_param) { |
| 1297 | if (!_mcu.connected) { | 1307 | if (!_mcu.connected) { |
| 1298 | loger.warn(GlobalConfig.getCurrentStatus()); | 1308 | loger.warn(GlobalConfig.getCurrentStatus()); |
| 1299 | - return {"code": ApeConsts.RETURN_FAILED, "data": ""}; | 1309 | + return { "code": ApeConsts.RETURN_FAILED, "data": "" }; |
| 1300 | } | 1310 | } |
| 1301 | if (_video_ape) { | 1311 | if (_video_ape) { |
| 1302 | return _video_ape.publishVideo(_param); | 1312 | return _video_ape.publishVideo(_param); |
| @@ -1306,7 +1316,7 @@ export default class MessageEntrance extends Emiter { | @@ -1306,7 +1316,7 @@ export default class MessageEntrance extends Emiter { | ||
| 1306 | _stopPublishVideo(_param) { | 1316 | _stopPublishVideo(_param) { |
| 1307 | if (!_mcu.connected) { | 1317 | if (!_mcu.connected) { |
| 1308 | loger.warn(GlobalConfig.getCurrentStatus()); | 1318 | loger.warn(GlobalConfig.getCurrentStatus()); |
| 1309 | - return {"code": ApeConsts.RETURN_FAILED, "data": ""}; | 1319 | + return { "code": ApeConsts.RETURN_FAILED, "data": "" }; |
| 1310 | } | 1320 | } |
| 1311 | if (_video_ape) { | 1321 | if (_video_ape) { |
| 1312 | return _video_ape.stopPublishVideo(_param); | 1322 | return _video_ape.stopPublishVideo(_param); |
| @@ -1324,7 +1334,7 @@ export default class MessageEntrance extends Emiter { | @@ -1324,7 +1334,7 @@ export default class MessageEntrance extends Emiter { | ||
| 1324 | sendAudioCommandMsg(_param) { | 1334 | sendAudioCommandMsg(_param) { |
| 1325 | if (!_mcu.connected) { | 1335 | if (!_mcu.connected) { |
| 1326 | loger.warn(GlobalConfig.getCurrentStatus()); | 1336 | loger.warn(GlobalConfig.getCurrentStatus()); |
| 1327 | - return {"code": ApeConsts.RETURN_FAILED, "data": ""}; | 1337 | + return { "code": ApeConsts.RETURN_FAILED, "data": "" }; |
| 1328 | } | 1338 | } |
| 1329 | if (_audio_ape) { | 1339 | if (_audio_ape) { |
| 1330 | return _audio_ape.sendAudioBroadcastMsg(_param); | 1340 | return _audio_ape.sendAudioBroadcastMsg(_param); |
| @@ -1352,7 +1362,7 @@ export default class MessageEntrance extends Emiter { | @@ -1352,7 +1362,7 @@ export default class MessageEntrance extends Emiter { | ||
| 1352 | _publishAudio(_param) { | 1362 | _publishAudio(_param) { |
| 1353 | if (!_mcu.connected) { | 1363 | if (!_mcu.connected) { |
| 1354 | loger.warn(GlobalConfig.getCurrentStatus()); | 1364 | loger.warn(GlobalConfig.getCurrentStatus()); |
| 1355 | - return {"code": ApeConsts.RETURN_FAILED, "data": ""}; | 1365 | + return { "code": ApeConsts.RETURN_FAILED, "data": "" }; |
| 1356 | } | 1366 | } |
| 1357 | if (_audio_ape) { | 1367 | if (_audio_ape) { |
| 1358 | return _audio_ape.publishAudio(_param); | 1368 | return _audio_ape.publishAudio(_param); |
| @@ -1362,14 +1372,13 @@ export default class MessageEntrance extends Emiter { | @@ -1362,14 +1372,13 @@ export default class MessageEntrance extends Emiter { | ||
| 1362 | _stopPublishAudio(_param) { | 1372 | _stopPublishAudio(_param) { |
| 1363 | if (!_mcu.connected) { | 1373 | if (!_mcu.connected) { |
| 1364 | loger.warn(GlobalConfig.getCurrentStatus()); | 1374 | loger.warn(GlobalConfig.getCurrentStatus()); |
| 1365 | - return {"code": ApeConsts.RETURN_FAILED, "data": ""}; | 1375 | + return { "code": ApeConsts.RETURN_FAILED, "data": "" }; |
| 1366 | } | 1376 | } |
| 1367 | if (_audio_ape) { | 1377 | if (_audio_ape) { |
| 1368 | return _audio_ape.stopPublishAudio(_param); | 1378 | return _audio_ape.stopPublishAudio(_param); |
| 1369 | } | 1379 | } |
| 1370 | } | 1380 | } |
| 1371 | 1381 | ||
| 1372 | - | ||
| 1373 | //WhiteBoardApe | 1382 | //WhiteBoardApe |
| 1374 | // 添加标注,发送信息 | 1383 | // 添加标注,发送信息 |
| 1375 | _sendInsertAnnotaion(_param) { | 1384 | _sendInsertAnnotaion(_param) { |
| @@ -1411,7 +1420,6 @@ export default class MessageEntrance extends Emiter { | @@ -1411,7 +1420,6 @@ export default class MessageEntrance extends Emiter { | ||
| 1411 | } | 1420 | } |
| 1412 | } | 1421 | } |
| 1413 | 1422 | ||
| 1414 | - | ||
| 1415 | //DocApe | 1423 | //DocApe |
| 1416 | //获取文档的所有资源地址 | 1424 | //获取文档的所有资源地址 |
| 1417 | _getDocFullAddress(_param) { | 1425 | _getDocFullAddress(_param) { |
| @@ -1419,7 +1427,7 @@ export default class MessageEntrance extends Emiter { | @@ -1419,7 +1427,7 @@ export default class MessageEntrance extends Emiter { | ||
| 1419 | return _doc_ape.getDocFullAddress(_param); | 1427 | return _doc_ape.getDocFullAddress(_param); |
| 1420 | } else { | 1428 | } else { |
| 1421 | loger.error("文档模块还没有创建无法获取"); | 1429 | loger.error("文档模块还没有创建无法获取"); |
| 1422 | - return {"code": ApeConsts.RETURN_FAILED, "data": "文档模块还没有创建无法获取"}; | 1430 | + return { "code": ApeConsts.RETURN_FAILED, "data": "文档模块还没有创建无法获取" }; |
| 1423 | } | 1431 | } |
| 1424 | } | 1432 | } |
| 1425 | 1433 | ||
| @@ -1475,7 +1483,7 @@ export default class MessageEntrance extends Emiter { | @@ -1475,7 +1483,7 @@ export default class MessageEntrance extends Emiter { | ||
| 1475 | } | 1483 | } |
| 1476 | } | 1484 | } |
| 1477 | //操作文档(页码上的动画步骤操作) | 1485 | //操作文档(页码上的动画步骤操作) |
| 1478 | - _sendDocumentSwitchAnimation(_param){ | 1486 | + _sendDocumentSwitchAnimation(_param) { |
| 1479 | if (!_mcu.connected) { | 1487 | if (!_mcu.connected) { |
| 1480 | loger.warn(GlobalConfig.getCurrentStatus()); | 1488 | loger.warn(GlobalConfig.getCurrentStatus()); |
| 1481 | return; | 1489 | return; |
| @@ -1566,7 +1574,7 @@ export default class MessageEntrance extends Emiter { | @@ -1566,7 +1574,7 @@ export default class MessageEntrance extends Emiter { | ||
| 1566 | 1574 | ||
| 1567 | //媒体共享模块的接口 | 1575 | //媒体共享模块的接口 |
| 1568 | //上传 | 1576 | //上传 |
| 1569 | - _sendMediaSharedUpload(_param){ | 1577 | + _sendMediaSharedUpload(_param) { |
| 1570 | if (!_mcu.connected) { | 1578 | if (!_mcu.connected) { |
| 1571 | loger.warn(GlobalConfig.getCurrentStatus()); | 1579 | loger.warn(GlobalConfig.getCurrentStatus()); |
| 1572 | return; | 1580 | return; |
| @@ -1576,7 +1584,7 @@ export default class MessageEntrance extends Emiter { | @@ -1576,7 +1584,7 @@ export default class MessageEntrance extends Emiter { | ||
| 1576 | } | 1584 | } |
| 1577 | } | 1585 | } |
| 1578 | //Sass删除媒体文件数据 | 1586 | //Sass删除媒体文件数据 |
| 1579 | - _sassDeletMediaShare(_param){ | 1587 | + _sassDeletMediaShare(_param) { |
| 1580 | if (!_mcu.connected) { | 1588 | if (!_mcu.connected) { |
| 1581 | loger.warn(GlobalConfig.getCurrentStatus()); | 1589 | loger.warn(GlobalConfig.getCurrentStatus()); |
| 1582 | return; | 1590 | return; |
| @@ -1601,7 +1609,7 @@ export default class MessageEntrance extends Emiter { | @@ -1601,7 +1609,7 @@ export default class MessageEntrance extends Emiter { | ||
| 1601 | } | 1609 | } |
| 1602 | } | 1610 | } |
| 1603 | //删除 | 1611 | //删除 |
| 1604 | - _sendMediaSharedDelete(_param){ | 1612 | + _sendMediaSharedDelete(_param) { |
| 1605 | if (!_mcu.connected) { | 1613 | if (!_mcu.connected) { |
| 1606 | loger.warn(GlobalConfig.getCurrentStatus()); | 1614 | loger.warn(GlobalConfig.getCurrentStatus()); |
| 1607 | return; | 1615 | return; |
| @@ -1611,7 +1619,7 @@ export default class MessageEntrance extends Emiter { | @@ -1611,7 +1619,7 @@ export default class MessageEntrance extends Emiter { | ||
| 1611 | } | 1619 | } |
| 1612 | } | 1620 | } |
| 1613 | //更新媒体文件的状态信息 | 1621 | //更新媒体文件的状态信息 |
| 1614 | - _sendMediaSharedUpdate(_param){ | 1622 | + _sendMediaSharedUpdate(_param) { |
| 1615 | if (!_mcu.connected) { | 1623 | if (!_mcu.connected) { |
| 1616 | loger.warn(GlobalConfig.getCurrentStatus()); | 1624 | loger.warn(GlobalConfig.getCurrentStatus()); |
| 1617 | return; | 1625 | return; |
| @@ -1621,7 +1629,7 @@ export default class MessageEntrance extends Emiter { | @@ -1621,7 +1629,7 @@ export default class MessageEntrance extends Emiter { | ||
| 1621 | } | 1629 | } |
| 1622 | } | 1630 | } |
| 1623 | //播放 | 1631 | //播放 |
| 1624 | - _sendMediaSharedPlay(_param){ | 1632 | + _sendMediaSharedPlay(_param) { |
| 1625 | if (!_mcu.connected) { | 1633 | if (!_mcu.connected) { |
| 1626 | loger.warn(GlobalConfig.getCurrentStatus()); | 1634 | loger.warn(GlobalConfig.getCurrentStatus()); |
| 1627 | return; | 1635 | return; |
| @@ -1631,7 +1639,7 @@ export default class MessageEntrance extends Emiter { | @@ -1631,7 +1639,7 @@ export default class MessageEntrance extends Emiter { | ||
| 1631 | } | 1639 | } |
| 1632 | } | 1640 | } |
| 1633 | //停止 | 1641 | //停止 |
| 1634 | - _sendMediaSharedStop(_param){ | 1642 | + _sendMediaSharedStop(_param) { |
| 1635 | if (!_mcu.connected) { | 1643 | if (!_mcu.connected) { |
| 1636 | loger.warn(GlobalConfig.getCurrentStatus()); | 1644 | loger.warn(GlobalConfig.getCurrentStatus()); |
| 1637 | return; | 1645 | return; |
| @@ -1656,7 +1664,7 @@ export default class MessageEntrance extends Emiter { | @@ -1656,7 +1664,7 @@ export default class MessageEntrance extends Emiter { | ||
| 1656 | "creatUserName": value.createUserName, | 1664 | "creatUserName": value.createUserName, |
| 1657 | "url": value.url, | 1665 | "url": value.url, |
| 1658 | "fileType": value.type, | 1666 | "fileType": value.type, |
| 1659 | - "fileId": ""+value.id, | 1667 | + "fileId": "" + value.id, |
| 1660 | "fileName": value.name, | 1668 | "fileName": value.name, |
| 1661 | "seek": 0 | 1669 | "seek": 0 |
| 1662 | }; | 1670 | }; |
| @@ -1684,10 +1692,10 @@ export default class MessageEntrance extends Emiter { | @@ -1684,10 +1692,10 @@ export default class MessageEntrance extends Emiter { | ||
| 1684 | loger.log('录制回放初始化->', _param); | 1692 | loger.log('录制回放初始化->', _param); |
| 1685 | 1693 | ||
| 1686 | //保存参数 | 1694 | //保存参数 |
| 1687 | - GlobalConfig.isRecordPlayBack = true;//设置为录制回放状态 | 1695 | + GlobalConfig.isRecordPlayBack = true; //设置为录制回放状态 |
| 1688 | GlobalConfig.classId = parseInt(_param.classId); | 1696 | GlobalConfig.classId = parseInt(_param.classId); |
| 1689 | GlobalConfig.portal = _param.portal; | 1697 | GlobalConfig.portal = _param.portal; |
| 1690 | - GlobalConfig.userRole = ApeConsts.normal;//*************很重要,录制回放的时候,身份模式是普通人******** | 1698 | + GlobalConfig.userRole = ApeConsts.normal; //*************很重要,录制回放的时候,身份模式是普通人******** |
| 1691 | GlobalConfig.userId = _param.userId || "0"; | 1699 | GlobalConfig.userId = _param.userId || "0"; |
| 1692 | GlobalConfig.userName = _param.userName || ""; | 1700 | GlobalConfig.userName = _param.userName || ""; |
| 1693 | 1701 | ||
| @@ -1734,7 +1742,7 @@ export default class MessageEntrance extends Emiter { | @@ -1734,7 +1742,7 @@ export default class MessageEntrance extends Emiter { | ||
| 1734 | if (_whiteboard_ape) { | 1742 | if (_whiteboard_ape) { |
| 1735 | _whiteboard_ape.clearData(); | 1743 | _whiteboard_ape.clearData(); |
| 1736 | } | 1744 | } |
| 1737 | - if(_video_ape){ | 1745 | + if (_video_ape) { |
| 1738 | _video_ape.clearData(); | 1746 | _video_ape.clearData(); |
| 1739 | } | 1747 | } |
| 1740 | } | 1748 | } |
| @@ -1756,7 +1764,7 @@ export default class MessageEntrance extends Emiter { | @@ -1756,7 +1764,7 @@ export default class MessageEntrance extends Emiter { | ||
| 1756 | joinClassSuccessCallBackData.classId = GlobalConfig.classId; | 1764 | joinClassSuccessCallBackData.classId = GlobalConfig.classId; |
| 1757 | joinClassSuccessCallBackData.className = GlobalConfig.className; | 1765 | joinClassSuccessCallBackData.className = GlobalConfig.className; |
| 1758 | joinClassSuccessCallBackData.h5Module = GlobalConfig.h5Module; | 1766 | joinClassSuccessCallBackData.h5Module = GlobalConfig.h5Module; |
| 1759 | - joinClassSuccessCallBackData.isHost = GlobalConfig.isHost;// | 1767 | + joinClassSuccessCallBackData.isHost = GlobalConfig.isHost; // |
| 1760 | joinClassSuccessCallBackData.maxAudioChannels = GlobalConfig.maxAudioChannels; | 1768 | joinClassSuccessCallBackData.maxAudioChannels = GlobalConfig.maxAudioChannels; |
| 1761 | joinClassSuccessCallBackData.maxVideoChannels = GlobalConfig.maxVideoChannels; | 1769 | joinClassSuccessCallBackData.maxVideoChannels = GlobalConfig.maxVideoChannels; |
| 1762 | joinClassSuccessCallBackData.maxMediaChannels = GlobalConfig.maxMediaChannels; | 1770 | joinClassSuccessCallBackData.maxMediaChannels = GlobalConfig.maxMediaChannels; |
| @@ -1766,7 +1774,7 @@ export default class MessageEntrance extends Emiter { | @@ -1766,7 +1774,7 @@ export default class MessageEntrance extends Emiter { | ||
| 1766 | joinClassSuccessCallBackData.msType = GlobalConfig.msType; | 1774 | joinClassSuccessCallBackData.msType = GlobalConfig.msType; |
| 1767 | joinClassSuccessCallBackData.nodeId = GlobalConfig.nodeId; | 1775 | joinClassSuccessCallBackData.nodeId = GlobalConfig.nodeId; |
| 1768 | joinClassSuccessCallBackData.password = GlobalConfig.password; | 1776 | joinClassSuccessCallBackData.password = GlobalConfig.password; |
| 1769 | - joinClassSuccessCallBackData.passwordRequired = GlobalConfig.passwordRequired;// 老师的默认是true | 1777 | + joinClassSuccessCallBackData.passwordRequired = GlobalConfig.passwordRequired; // 老师的默认是true |
| 1770 | //GlobalConfig.passwordRequired 老师的默认是true | 1778 | //GlobalConfig.passwordRequired 老师的默认是true |
| 1771 | //GlobalConfig.portal=_data.portal; | 1779 | //GlobalConfig.portal=_data.portal; |
| 1772 | joinClassSuccessCallBackData.role = GlobalConfig.role; | 1780 | joinClassSuccessCallBackData.role = GlobalConfig.role; |
| @@ -1784,28 +1792,28 @@ export default class MessageEntrance extends Emiter { | @@ -1784,28 +1792,28 @@ export default class MessageEntrance extends Emiter { | ||
| 1784 | joinClassSuccessCallBackData.passwordRequired = GlobalConfig.passwordRequired; | 1792 | joinClassSuccessCallBackData.passwordRequired = GlobalConfig.passwordRequired; |
| 1785 | joinClassSuccessCallBackData.classType = GlobalConfig.classType || ApeConsts.CLASS_TYPE_1; | 1793 | joinClassSuccessCallBackData.classType = GlobalConfig.classType || ApeConsts.CLASS_TYPE_1; |
| 1786 | 1794 | ||
| 1787 | - joinClassSuccessCallBackData.country = GlobalConfig.country;//国家 | ||
| 1788 | - joinClassSuccessCallBackData.city = GlobalConfig.city;//城市 | ||
| 1789 | - joinClassSuccessCallBackData.province = GlobalConfig.province;//服务商 | ||
| 1790 | - joinClassSuccessCallBackData.isp = GlobalConfig.isp;//服务商 | 1795 | + joinClassSuccessCallBackData.country = GlobalConfig.country; //国家 |
| 1796 | + joinClassSuccessCallBackData.city = GlobalConfig.city; //城市 | ||
| 1797 | + joinClassSuccessCallBackData.province = GlobalConfig.province; //服务商 | ||
| 1798 | + joinClassSuccessCallBackData.isp = GlobalConfig.isp; //服务商 | ||
| 1791 | 1799 | ||
| 1792 | - joinClassSuccessCallBackData.classTimestamp = GlobalConfig.classTimestamp;//课堂进行的累积时间 | ||
| 1793 | - joinClassSuccessCallBackData.recordTimestamp = GlobalConfig.recordTimestamp;//录制累积的总时间 | ||
| 1794 | - joinClassSuccessCallBackData.recordPlaybackMaxTime = GlobalConfig.recordPlaybackMaxTime;//录制回放的总时间 | 1800 | + joinClassSuccessCallBackData.classTimestamp = GlobalConfig.classTimestamp; //课堂进行的累积时间 |
| 1801 | + joinClassSuccessCallBackData.recordTimestamp = GlobalConfig.recordTimestamp; //录制累积的总时间 | ||
| 1802 | + joinClassSuccessCallBackData.recordPlaybackMaxTime = GlobalConfig.recordPlaybackMaxTime; //录制回放的总时间 | ||
| 1795 | 1803 | ||
| 1796 | joinClassSuccessCallBackData.fps = GlobalConfig.fps; | 1804 | joinClassSuccessCallBackData.fps = GlobalConfig.fps; |
| 1797 | joinClassSuccessCallBackData.gop = GlobalConfig.gop; | 1805 | joinClassSuccessCallBackData.gop = GlobalConfig.gop; |
| 1798 | joinClassSuccessCallBackData.videoQuality = GlobalConfig.videoQuality; | 1806 | joinClassSuccessCallBackData.videoQuality = GlobalConfig.videoQuality; |
| 1799 | 1807 | ||
| 1800 | joinClassSuccessCallBackData.ssTunnelAppURL = GlobalConfig.ssTunnelAppURL; | 1808 | joinClassSuccessCallBackData.ssTunnelAppURL = GlobalConfig.ssTunnelAppURL; |
| 1801 | - joinClassSuccessCallBackData.currentSceneTableId=GlobalConfig.currentSceneTableId;//文档区域的模块显示 | 1809 | + joinClassSuccessCallBackData.currentSceneTableId = GlobalConfig.currentSceneTableId; //文档区域的模块显示 |
| 1802 | loger.log(joinClassSuccessCallBackData); | 1810 | loger.log(joinClassSuccessCallBackData); |
| 1803 | //和加入课堂成功使用同样的消息处理 | 1811 | //和加入课堂成功使用同样的消息处理 |
| 1804 | this._emit(MessageTypes.CLASS_JOIN_SUCCESS, joinClassSuccessCallBackData); | 1812 | this._emit(MessageTypes.CLASS_JOIN_SUCCESS, joinClassSuccessCallBackData); |
| 1805 | } | 1813 | } |
| 1806 | 1814 | ||
| 1807 | // //答题卡 | 1815 | // //答题卡 |
| 1808 | - _creatQuestion(_param){ | 1816 | + _creatQuestion(_param) { |
| 1809 | if (!_mcu.connected) { | 1817 | if (!_mcu.connected) { |
| 1810 | loger.warn(GlobalConfig.getCurrentStatus()); | 1818 | loger.warn(GlobalConfig.getCurrentStatus()); |
| 1811 | return; | 1819 | return; |
| @@ -1814,7 +1822,7 @@ export default class MessageEntrance extends Emiter { | @@ -1814,7 +1822,7 @@ export default class MessageEntrance extends Emiter { | ||
| 1814 | _questionApe.creatQuestion(_param); | 1822 | _questionApe.creatQuestion(_param); |
| 1815 | } | 1823 | } |
| 1816 | } | 1824 | } |
| 1817 | - _getQuestion(_param){ | 1825 | + _getQuestion(_param) { |
| 1818 | if (!_mcu.connected) { | 1826 | if (!_mcu.connected) { |
| 1819 | loger.warn(GlobalConfig.getCurrentStatus()); | 1827 | loger.warn(GlobalConfig.getCurrentStatus()); |
| 1820 | return; | 1828 | return; |
| @@ -1823,7 +1831,7 @@ export default class MessageEntrance extends Emiter { | @@ -1823,7 +1831,7 @@ export default class MessageEntrance extends Emiter { | ||
| 1823 | _questionApe.getQuestion(_param); | 1831 | _questionApe.getQuestion(_param); |
| 1824 | } | 1832 | } |
| 1825 | } | 1833 | } |
| 1826 | - _getQuestionResult(_param){ | 1834 | + _getQuestionResult(_param) { |
| 1827 | if (!_mcu.connected) { | 1835 | if (!_mcu.connected) { |
| 1828 | loger.warn(GlobalConfig.getCurrentStatus()); | 1836 | loger.warn(GlobalConfig.getCurrentStatus()); |
| 1829 | return; | 1837 | return; |
| @@ -1832,7 +1840,7 @@ export default class MessageEntrance extends Emiter { | @@ -1832,7 +1840,7 @@ export default class MessageEntrance extends Emiter { | ||
| 1832 | _questionApe.getQuestionResult(_param); | 1840 | _questionApe.getQuestionResult(_param); |
| 1833 | } | 1841 | } |
| 1834 | } | 1842 | } |
| 1835 | - _stopQuestion(_param){ | 1843 | + _stopQuestion(_param) { |
| 1836 | if (!_mcu.connected) { | 1844 | if (!_mcu.connected) { |
| 1837 | loger.warn(GlobalConfig.getCurrentStatus()); | 1845 | loger.warn(GlobalConfig.getCurrentStatus()); |
| 1838 | return; | 1846 | return; |
| @@ -1841,7 +1849,7 @@ export default class MessageEntrance extends Emiter { | @@ -1841,7 +1849,7 @@ export default class MessageEntrance extends Emiter { | ||
| 1841 | _questionApe.stopQuestion(_param); | 1849 | _questionApe.stopQuestion(_param); |
| 1842 | } | 1850 | } |
| 1843 | } | 1851 | } |
| 1844 | - _sendAnswer(_param){ | 1852 | + _sendAnswer(_param) { |
| 1845 | if (!_mcu.connected) { | 1853 | if (!_mcu.connected) { |
| 1846 | loger.warn(GlobalConfig.getCurrentStatus()); | 1854 | loger.warn(GlobalConfig.getCurrentStatus()); |
| 1847 | return; | 1855 | return; |
| @@ -1852,3 +1860,4 @@ export default class MessageEntrance extends Emiter { | @@ -1852,3 +1860,4 @@ export default class MessageEntrance extends Emiter { | ||
| 1852 | } | 1860 | } |
| 1853 | 1861 | ||
| 1854 | } | 1862 | } |
| 1863 | + |
-
请 注册 或 登录 后发表评论