李勇

增加从后台读取站点的白板配置,允许不同站点设置不同的白板文档

... ... @@ -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) {
//先获取白板配置再获取课堂完整信息
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
... ... @@ -1912,6 +1957,13 @@ export default class MessageEntrance extends Emiter {
type:"pdf"
}
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);
... ...
... ... @@ -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;
... ...
... ... @@ -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获取
... ...