diff --git a/src/EngineEntrance.js b/src/EngineEntrance.js index b30d823..2cc71f4 100644 --- a/src/EngineEntrance.js +++ b/src/EngineEntrance.js @@ -63,7 +63,7 @@ export default class MessageEntrance extends Emiter { super(); this.lastClassActiveTime=0;//最后一次课堂激活的时间戳 //sdk 信息 - GlobalConfig.sdkVersion = "v2.38.1.201712011"; + GlobalConfig.sdkVersion = "v2.38.3.201712011"; loger.warn("sdkVersion:" + GlobalConfig.sdkVersion); console.log("sdkVersion:" + GlobalConfig.sdkVersion); //设置 @@ -767,12 +767,56 @@ export default class MessageEntrance extends Emiter { // 通过SASS平台验证(密码和MD5) _sassJoinSuccessHandler(_data) { - //SAAS获取课堂最完整的数据 + //先获取白板配置再获取课堂完整信息 + try{ + if(_ipManager){ + + _ipManager.loadWhiteboardJosn((_callbackInfo)=>{ + loger.log("获取白板配置JOSN返回->",_callbackInfo); + if(_callbackInfo&&_callbackInfo.data){ + let siteWhiteboradData=_callbackInfo.data[GlobalConfig.siteId]; + if(siteWhiteboradData){ + /* itemIdx: GlobalConfig.whiteboardId,//指定的白板文档ID + name: "白板.pdf", + creatUserId: 0, + md5: "b153313f6f390328a30db5389b6cee53", + pageNum: 30, + docId: "b153313f6f390328a30db5389b6cee53", + url: "http://pclive.xuedianyun.com/DocSharing/data/whiteboard/default/whiteboard.pdf", + dynamicTransferStatic: "0", + relativeUrl: "/DocSharing/data/whiteboard/default/whiteboard.pdf", + fileType: "pdf", + type:"pdf"*/ + GlobalConfig.whiteboardForSiteId={}; + GlobalConfig.whiteboardForSiteId.itemIdx=GlobalConfig.whiteboardId; + GlobalConfig.whiteboardForSiteId.name=siteWhiteboradData.name; + GlobalConfig.whiteboardForSiteId. creatUserId= siteWhiteboradData.creatUserId; + GlobalConfig.whiteboardForSiteId. md5=siteWhiteboradData.md5; + GlobalConfig.whiteboardForSiteId. pageNum= parseInt(siteWhiteboradData.pageNum); + GlobalConfig.whiteboardForSiteId. docId=siteWhiteboradData.docId; + GlobalConfig.whiteboardForSiteId. url=siteWhiteboradData.url; + GlobalConfig.whiteboardForSiteId.dynamicTransferStatic=siteWhiteboradData.dynamicTransferStatic; + GlobalConfig.whiteboardForSiteId.relativeUrl=siteWhiteboradData.relativeUrl; + GlobalConfig.whiteboardForSiteId. fileType=siteWhiteboradData.fileType; + GlobalConfig.whiteboardForSiteId. type=siteWhiteboradData.type; + loger.log("站点已经有配置白板文档->使用站点私有的白板"); + } + } + this._getClassFullParam(); + }); + }else { + this._getClassFullParam(); + } + }catch (err){ + this._getClassFullParam(); + } + } + //SAAS获取课堂最完整的数据 + _getClassFullParam(){ if (_sass) { _sass.getClassParam(); } } - //加载本地Server.json文件,UserIp获取ip信息,选点 loadServerJsonAndgetUserIpInfo() { let _this = this; @@ -1897,6 +1941,7 @@ export default class MessageEntrance extends Emiter { GlobalConfig.setVideoCDNAddr(_data.videoCDNAddr); //cdn加速的拉流地址,直播的时候才使用 GlobalConfig.setMediaShareList(_data.sharedMediaList); //提前上传的媒体共享文件列表 + /* //设置白板文档,固定ID let whiteBoradData = { itemIdx: GlobalConfig.whiteboardId,//指定的白板文档ID @@ -1911,7 +1956,14 @@ export default class MessageEntrance extends Emiter { fileType: "pdf", type:"pdf" } - GlobalConfig.docListPrepare.push(whiteBoradData); + GlobalConfig.docListPrepare.push(whiteBoradData); + */ + if(GlobalConfig.whiteboardForSiteId&&Object.keys(GlobalConfig.whiteboardForSiteId).length>1){ + GlobalConfig.docListPrepare.push(GlobalConfig.whiteboardForSiteId); + }else { + loger.log("站点没有配置白板文档->使用默认白板"); + GlobalConfig.docListPrepare.push(GlobalConfig.whiteboardDefault); + } let appConfigStr = _data.appConfig; appConfigStr = _base64.decode(appConfigStr); diff --git a/src/GlobalConfig.js b/src/GlobalConfig.js index 16a0404..5d21a9d 100644 --- a/src/GlobalConfig.js +++ b/src/GlobalConfig.js @@ -651,10 +651,31 @@ GlobalConfig.updateRecordTimeDelay = 5; //(秒),同步一次课堂录制状态 GlobalConfig.updateClassInfoDelay = 10; //(秒),同步一次课堂状态的并保存到Sass GlobalConfig.msDynamicChooseIpDelay = 60 * 3; //(秒)MS动态选点的间隔 //GlobalConfig.serverTimestamp=0;//当前的系统时间戳 用get set 获取 -GlobalConfig.whiteboardId = 2359297;//白板文档的ID + GlobalConfig.activeDocId = 0; //当前激活的文档ID GlobalConfig.activeDocCurPage = 1; //当前激活的文档的当前页 +//白板 +GlobalConfig.whiteboardId = 2359297;//白板文档的ID +GlobalConfig.whiteboardJsonPath = "pclive.xuedianyun.com/DocSharing/data/whiteboard/whiteboard.json";//白板文档配置地址 +//默认的白板数据 +GlobalConfig.whiteboardDefault={ + itemIdx: GlobalConfig.whiteboardId,//指定的白板文档ID + name: "白板.pdf", + creatUserId: 0, + md5: "b153313f6f390328a30db5389b6cee53", + pageNum: 30, + docId: "b153313f6f390328a30db5389b6cee53", + url: "http://pclive.xuedianyun.com/DocSharing/data/whiteboard/default/whiteboard.pdf", + dynamicTransferStatic: "0", + relativeUrl: "/DocSharing/data/whiteboard/default/whiteboard.pdf", + fileType: "pdf", + type:"pdf" +}; + +GlobalConfig.whiteboardForSiteId=null;//站点私有的白板数据 + + GlobalConfig.activeMediaId = 0; //当前显示的媒体文件的id GlobalConfig.activeMediaSeek = 1; //当前的媒体文件的播放进度seek点 @@ -695,6 +716,8 @@ GlobalConfig.appRecordingKey = ""; GlobalConfig.channelId = ""; GlobalConfig.channelKey = ""; GlobalConfig.userUid = 0; + +GlobalConfig.videoScale = 1;//视频的缩放倍数,默认1倍无缩放 GlobalConfig.recordInterfaces = "";//控制开启录制和录制状态改变的接口 GlobalConfig.getRecordInfoInterfaces = "";//获取媒体录制信息数据的接口 GlobalConfig.stopRecordingInterfaces = "";//停止录制的接口 @@ -702,7 +725,6 @@ GlobalConfig.getTxRecordInfoInterfaces = "";//获取媒体录制信息数据的� GlobalConfig.getRecordFileURLAgoInterfaces = "";//获取媒体录制信息数据的接口(ago) GlobalConfig.getChannelToken = "";//获取token的地址 GlobalConfig.recordFileSever = "";//录制文件路径和文件地址(ago) -GlobalConfig.videoScale = 1;//视频的缩放倍数,默认1倍无缩放 export default GlobalConfig; diff --git a/src/IpManager.js b/src/IpManager.js index 45271f2..a1ae6dd 100644 --- a/src/IpManager.js +++ b/src/IpManager.js @@ -22,6 +22,47 @@ class IpManager extends Emiter { constructor() { super(); } + //获取本地白板配置json + loadWhiteboardJosn(_callback){ + //-------------加载本地数据的代码------------------- + let callbackInfo = { + ret: -1 + }; + let timestamp=new Date().getTime(); + let url = `${GlobalConfig.locationProtocol+GlobalConfig.whiteboardJsonPath}?v=${timestamp}`; + loger.log("获取白板配置信息->", url); + fetch(url, { + timeout: 3000 + }) + .then(ret => { + if (ret.ok) { + return ret.json(); + } else { + loger.error(`获取白板配置信息-网络异常.状态码:${ret.status}`); + if (_callback) { + _callback(callbackInfo); + } + return; + } + }) + .then(ret => { + if (ret) { + callbackInfo.data=ret; + callbackInfo.ret=1; + } + loger.log('获取白板配置信息->完成->'); + if (_callback) { + _callback(callbackInfo); + } + }) + .catch(err => { + loger.error(`获取白板配置信息-异常.状态码:${err}`); + if (_callback) { + _callback(callbackInfo); + } + }); + } + //获取本地Server JSON loadServerJosn(_callback){ //20170803-不再加载本地的server.json数据,以后都从Sass获取