李勇

1.修改白板标注模块的删除逻辑,批量删除;2.全局替换http为https的逻辑

@@ -58,9 +58,17 @@ export default class MessageEntrance extends Emiter { @@ -58,9 +58,17 @@ export default class MessageEntrance extends Emiter {
58 constructor() { 58 constructor() {
59 super(); 59 super();
60 //sdk 信息 60 //sdk 信息
61 - GlobalConfig.sdkVersion = "v1.67.2.20170811"; 61 + GlobalConfig.sdkVersion = "v1.68.2.20170812";
62 loger.warn("sdkVersion:" + GlobalConfig.sdkVersion); 62 loger.warn("sdkVersion:" + GlobalConfig.sdkVersion);
63 63
  64 + //设置
  65 + let locationProtocol= location.protocol;
  66 + if(locationProtocol!="https:"){
  67 + GlobalConfig.locationProtocol="http://";
  68 + }else {
  69 + GlobalConfig.locationProtocol="https://";
  70 + }
  71 + loger.warn("protocol:" + GlobalConfig.locationProtocol);
64 //获取设备和系统信息 72 //获取设备和系统信息
65 SystemConfig.getSystemInfo(); 73 SystemConfig.getSystemInfo();
66 74
@@ -517,7 +517,7 @@ GlobalConfig.classDetail = {}; //Sass直接返回的当前课堂基本信息 @@ -517,7 +517,7 @@ GlobalConfig.classDetail = {}; //Sass直接返回的当前课堂基本信息
517 517
518 518
519 GlobalConfig.isRecordPlayBack = false; //是否是录制回放,默认是否 519 GlobalConfig.isRecordPlayBack = false; //是否是录制回放,默认是否
520 -GlobalConfig.allowRecordMaxTime = 14400; //(秒)允许录制的最长时间,默认是4小时 520 +GlobalConfig.allowRecordMaxTime = 24*60*60; //(秒)允许录制的最长时间
521 521
522 GlobalConfig.siteId_letv = 'shchuanbao'; //乐视,MS不需要动态选点的站点 522 GlobalConfig.siteId_letv = 'shchuanbao'; //乐视,MS不需要动态选点的站点
523 GlobalConfig.ssTunnelAppURL = ''; //屏幕共享插件的地址 523 GlobalConfig.ssTunnelAppURL = ''; //屏幕共享插件的地址
@@ -533,5 +533,7 @@ GlobalConfig.platform="pc";//平台 IOS/ANDROID/PC @@ -533,5 +533,7 @@ GlobalConfig.platform="pc";//平台 IOS/ANDROID/PC
533 GlobalConfig.explorer="未知";//浏览器 533 GlobalConfig.explorer="未知";//浏览器
534 GlobalConfig.explorerVersion="未知";//浏览器版本 534 GlobalConfig.explorerVersion="未知";//浏览器版本
535 GlobalConfig.os="未知";//系统 535 GlobalConfig.os="未知";//系统
  536 +
  537 +GlobalConfig.locationProtocol="http://";//https;或http:
536 export default GlobalConfig; 538 export default GlobalConfig;
537 539
@@ -9,7 +9,7 @@ import MD5 from "md5"; @@ -9,7 +9,7 @@ import MD5 from "md5";
9 import iphunter from 'iphunter'; 9 import iphunter from 'iphunter';
10 import fetchJsonp from 'fetch-jsonp'; 10 import fetchJsonp from 'fetch-jsonp';
11 import ServerConfig from "config/ServerConfig"; 11 import ServerConfig from "config/ServerConfig";
12 - 12 +import GlobalConfig from "GlobalConfig";
13 // 日志对象 13 // 日志对象
14 const loger = Loger.getLoger('IpManager'); 14 const loger = Loger.getLoger('IpManager');
15 15
@@ -80,7 +80,8 @@ class IpManager extends Emiter { @@ -80,7 +80,8 @@ class IpManager extends Emiter {
80 // //("addr=" + ip + "&token=b657c3507b324353e09c1958ee956a98efceb3e3"),转成MD5 80 // //("addr=" + ip + "&token=b657c3507b324353e09c1958ee956a98efceb3e3"),转成MD5
81 let md5Str = MD5("addr=" + userIp + "&token=b657c3507b324353e09c1958ee956a98efceb3e3"); 81 let md5Str = MD5("addr=" + userIp + "&token=b657c3507b324353e09c1958ee956a98efceb3e3");
82 let timestamp = new Date().getTime(); 82 let timestamp = new Date().getTime();
83 - let url = `http://ipapi.ipip.net/find?addr=${userIp}&sid=14&uid=5237&sig=${md5Str}&_=${timestamp}`; 83 + //let url = `http://ipapi.ipip.net/find?addr=${userIp}&sid=14&uid=5237&sig=${md5Str}&_=${timestamp}`;
  84 + let url = `${GlobalConfig.locationProtocol}ipapi.ipip.net/find?addr=${userIp}&sid=14&uid=5237&sig=${md5Str}&_=${timestamp}`;
84 loger.log("获取IP信息->", url); 85 loger.log("获取IP信息->", url);
85 let _this = this; 86 let _this = this;
86 fetchJsonp(url, { 87 fetchJsonp(url, {
@@ -246,7 +246,8 @@ class RecordPlayBackParse extends Emiter { @@ -246,7 +246,8 @@ class RecordPlayBackParse extends Emiter {
246 this.initReplay(); 246 this.initReplay();
247 loger.log("读取回放数据"); 247 loger.log("读取回放数据");
248 //let url = `http://123.56.73.119:80/h5dev/20170306/1357644520_20170306.rec`; 248 //let url = `http://123.56.73.119:80/h5dev/20170306/1357644520_20170306.rec`;
249 - let url = `http://${ GlobalConfig.RecordServerIP}:${ GlobalConfig.RecordServerPort}/${GlobalConfig.recordFileName}`; 249 + //let url = `http://${ GlobalConfig.RecordServerIP}:${ GlobalConfig.RecordServerPort}/${GlobalConfig.recordFileName}`;
  250 + let url = `${GlobalConfig.locationProtocol+ GlobalConfig.RecordServerIP}:${ GlobalConfig.RecordServerPort}/${GlobalConfig.recordFileName}`;
250 loger.log(url); 251 loger.log(url);
251 fetch(url, { 252 fetch(url, {
252 timeout: 180000 //加载文件超时时间3分 253 timeout: 180000 //加载文件超时时间3分
@@ -38,7 +38,8 @@ class Sass extends Emiter { @@ -38,7 +38,8 @@ class Sass extends Emiter {
38 msType int 媒体服务器类型 38 msType int 媒体服务器类型
39 classType 课堂类型 39 classType 课堂类型
40 */ 40 */
41 - let url = `http://${_initInfo.portal}/3m/api/meeting/joinParams.do?meetingNumber=${_initInfo.classId}&userID=${_initInfo.userId}`; 41 + //let url = `http://${_initInfo.portal}/3m/api/meeting/joinParams.do?meetingNumber=${_initInfo.classId}&userID=${_initInfo.userId}`;
  42 + let url = `${GlobalConfig.locationProtocol+_initInfo.portal}/3m/api/meeting/joinParams.do?meetingNumber=${_initInfo.classId}&userID=${_initInfo.userId}`;
42 loger.log('1.初始化init获取课堂校验信息.'); 43 loger.log('1.初始化init获取课堂校验信息.');
43 loger.log(url); 44 loger.log(url);
44 loger.log(_initInfo); 45 loger.log(_initInfo);
@@ -117,7 +118,9 @@ class Sass extends Emiter { @@ -117,7 +118,9 @@ class Sass extends Emiter {
117 isTeacher = 1 118 isTeacher = 1
118 } 119 }
119 120
120 - let url = `http://${confInfo.portal}/3m/api/meeting/signIn.do?siteId=${confInfo.siteId}&classId=${confInfo.classId}&isTeacher=${isTeacher}&password=${confInfo.password}`; 121 + //let url = `http://${confInfo.portal}/3m/api/meeting/signIn.do?siteId=${confInfo.siteId}&classId=${confInfo.classId}&isTeacher=${isTeacher}&password=${confInfo.password}`;
  122 + let url = `${GlobalConfig.locationProtocol+confInfo.portal}/3m/api/meeting/signIn.do?siteId=${confInfo.siteId}&classId=${confInfo.classId}&isTeacher=${isTeacher}&password=${confInfo.password}`;
  123 +
121 loger.log('3.课堂密码校验', url); 124 loger.log('3.课堂密码校验', url);
122 fetch(url, { 125 fetch(url, {
123 timeout: 5000 126 timeout: 5000
@@ -154,7 +157,9 @@ class Sass extends Emiter { @@ -154,7 +157,9 @@ class Sass extends Emiter {
154 157
155 //MD5校验----------------------------------------------------------------------------------------- 158 //MD5校验-----------------------------------------------------------------------------------------
156 sendMD5Checking() { 159 sendMD5Checking() {
157 - let url = `http://${confInfo.portal}/3m/meeting/md5CheckMeeting.do?siteId=${confInfo.siteId}&meetingNumber=${confInfo.classId}&userId=${confInfo.userId}&userName=${confInfo.userName}&userType=${confInfo.userType}&nopassword=${confInfo.passwordRequired}&md5=${confInfo.md5}`; 160 + // let url = `http://${confInfo.portal}/3m/meeting/md5CheckMeeting.do?siteId=${confInfo.siteId}&meetingNumber=${confInfo.classId}&userId=${confInfo.userId}&userName=${confInfo.userName}&userType=${confInfo.userType}&nopassword=${confInfo.passwordRequired}&md5=${confInfo.md5}`;
  161 + let url = `${GlobalConfig.locationProtocol+confInfo.portal}/3m/meeting/md5CheckMeeting.do?siteId=${confInfo.siteId}&meetingNumber=${confInfo.classId}&userId=${confInfo.userId}&userName=${confInfo.userName}&userType=${confInfo.userType}&nopassword=${confInfo.passwordRequired}&md5=${confInfo.md5}`;
  162 +
158 loger.log('4.MD5校验', url); 163 loger.log('4.MD5校验', url);
159 fetch(url, { 164 fetch(url, {
160 timeout: 5000 165 timeout: 5000
@@ -187,7 +192,9 @@ class Sass extends Emiter { @@ -187,7 +192,9 @@ class Sass extends Emiter {
187 192
188 // 获取课堂基本详情------------------------------------------------------------------------------------ 193 // 获取课堂基本详情------------------------------------------------------------------------------------
189 getClassDetail() { 194 getClassDetail() {
190 - let url = `http://${GlobalConfig.portal}/3m/meeting/getClassH5.do?classNumber=${GlobalConfig.classId}`; 195 + // let url = `http://${GlobalConfig.portal}/3m/meeting/getClassH5.do?classNumber=${GlobalConfig.classId}`;
  196 + let url = `${GlobalConfig.locationProtocol+GlobalConfig.portal}/3m/meeting/getClassH5.do?classNumber=${GlobalConfig.classId}`;
  197 +
191 loger.log('获取Class详情.', url); 198 loger.log('获取Class详情.', url);
192 fetch(url, { 199 fetch(url, {
193 timeout: 5000 200 timeout: 5000
@@ -236,7 +243,9 @@ class Sass extends Emiter { @@ -236,7 +243,9 @@ class Sass extends Emiter {
236 */ 243 */
237 var timestamp = new Date().getTime(); 244 var timestamp = new Date().getTime();
238 var authId = MD5(GlobalConfig.classId + "" + timestamp); //课堂号+时间戳 的字符串,转成MD5 245 var authId = MD5(GlobalConfig.classId + "" + timestamp); //课堂号+时间戳 的字符串,转成MD5
239 - let url = `http://${GlobalConfig.portal}/3m/api/meeting/detail.do?meetingNumber=${GlobalConfig.classId}&timestamp=${timestamp}&authId=${authId}`; 246 + //let url = `http://${GlobalConfig.portal}/3m/api/meeting/detail.do?meetingNumber=${GlobalConfig.classId}&timestamp=${timestamp}&authId=${authId}`;
  247 + let url = `${GlobalConfig.locationProtocol+GlobalConfig.portal}/3m/api/meeting/detail.do?meetingNumber=${GlobalConfig.classId}&timestamp=${timestamp}&authId=${authId}`;
  248 +
240 loger.log('5.获取课堂课堂的完整信息 '); 249 loger.log('5.获取课堂课堂的完整信息 ');
241 loger.log(url); 250 loger.log(url);
242 fetch(url, { 251 fetch(url, {
@@ -286,8 +295,10 @@ class Sass extends Emiter { @@ -286,8 +295,10 @@ class Sass extends Emiter {
286 } 295 }
287 var timestamp = new Date().getTime(); 296 var timestamp = new Date().getTime();
288 var authId = MD5(_param.docId + "" + _param.classId + "" + timestamp); // docId+classId+timestamp的字符串,转成MD5 297 var authId = MD5(_param.docId + "" + _param.classId + "" + timestamp); // docId+classId+timestamp的字符串,转成MD5
289 - let url = `http://${GlobalConfig.portal}/3m/api/document/deleteRelation.do?docId=${_param.docId}&classId=${GlobalConfig.classId}&timestamp=${timestamp}&authId=${authId}`;  
290 - loger.log('sassDeleteDocument', url); 298 + //let url = `http://${GlobalConfig.portal}/3m/api/document/deleteRelation.do?docId=${_param.docId}&classId=${GlobalConfig.classId}&timestamp=${timestamp}&authId=${authId}`;
  299 + let url = `${GlobalConfig.locationProtocol+GlobalConfig.portal}/3m/api/document/deleteRelation.do?docId=${_param.docId}&classId=${GlobalConfig.classId}&timestamp=${timestamp}&authId=${authId}`;
  300 +
  301 + loger.log('删除文档', url);
291 302
292 fetch(url, { 303 fetch(url, {
293 timeout: 5000 304 timeout: 5000
@@ -326,7 +337,9 @@ class Sass extends Emiter { @@ -326,7 +337,9 @@ class Sass extends Emiter {
326 console.warn('删除Music共享实现...'); 337 console.warn('删除Music共享实现...');
327 var timestamp = new Date().getTime(); 338 var timestamp = new Date().getTime();
328 var authId = MD5(_param.fileId + "" + _param.classId + "" + timestamp); // docId+classId+timestamp的字符串,转成MD5 339 var authId = MD5(_param.fileId + "" + _param.classId + "" + timestamp); // docId+classId+timestamp的字符串,转成MD5
329 - let url = `http://${GlobalConfig.portal}/3m/api/media/deleteRelation.do?mediaId=${_param.fileId}&classId=${GlobalConfig.classId}&timestamp=${timestamp}&authId=${authId}`; 340 + //let url = `http://${GlobalConfig.portal}/3m/api/media/deleteRelation.do?mediaId=${_param.fileId}&classId=${GlobalConfig.classId}&timestamp=${timestamp}&authId=${authId}`;
  341 + let url = `${GlobalConfig.locationProtocol+GlobalConfig.portal}/3m/api/media/deleteRelation.do?mediaId=${_param.fileId}&classId=${GlobalConfig.classId}&timestamp=${timestamp}&authId=${authId}`;
  342 +
330 loger.log('删除媒体共享文件', url); 343 loger.log('删除媒体共享文件', url);
331 344
332 fetch(url, { 345 fetch(url, {
@@ -366,7 +379,9 @@ class Sass extends Emiter { @@ -366,7 +379,9 @@ class Sass extends Emiter {
366 } 379 }
367 var timestamp = new Date().getTime(); 380 var timestamp = new Date().getTime();
368 var authId = MD5(_param.fileId + "" + _param.classId + "" + timestamp); // docId+classId+timestamp的字符串,转成MD5 381 var authId = MD5(_param.fileId + "" + _param.classId + "" + timestamp); // docId+classId+timestamp的字符串,转成MD5
369 - let url = `http://${GlobalConfig.portal}/3m/api/sharedMedia/deleteRelation.do?fileId=${_param.fileId}&classId=${GlobalConfig.classId}&timestamp=${timestamp}&authId=${authId}`; 382 + //let url = `http://${GlobalConfig.portal}/3m/api/sharedMedia/deleteRelation.do?fileId=${_param.fileId}&classId=${GlobalConfig.classId}&timestamp=${timestamp}&authId=${authId}`;
  383 + let url = `${GlobalConfig.locationProtocol+GlobalConfig.portal}/3m/api/sharedMedia/deleteRelation.do?fileId=${_param.fileId}&classId=${GlobalConfig.classId}&timestamp=${timestamp}&authId=${authId}`;
  384 +
370 loger.log('删除媒体共享文件', url); 385 loger.log('删除媒体共享文件', url);
371 386
372 fetch(url, { 387 fetch(url, {
@@ -419,7 +434,9 @@ class Sass extends Emiter { @@ -419,7 +434,9 @@ class Sass extends Emiter {
419 var timestamp = new Date().getTime(); 434 var timestamp = new Date().getTime();
420 var authId = MD5(GlobalConfig.classId + "" + timestamp); // (classId+timestamp)的字符串,转成MD5 435 var authId = MD5(GlobalConfig.classId + "" + timestamp); // (classId+timestamp)的字符串,转成MD5
421 let classStatusInfo = JSON.stringify(_param.classStatusInfo); 436 let classStatusInfo = JSON.stringify(_param.classStatusInfo);
422 - let url = `http://${GlobalConfig.portal}/3m/api/meeting/saveInfo.do`; 437 + //let url = `http://${GlobalConfig.portal}/3m/api/meeting/saveInfo.do`;
  438 + let url = `${GlobalConfig.locationProtocol+GlobalConfig.portal}/3m/api/meeting/saveInfo.do`;
  439 +
423 loger.log('saveClassStatusInfo', url); 440 loger.log('saveClassStatusInfo', url);
424 fetch(url, { 441 fetch(url, {
425 method: 'POST', 442 method: 'POST',
@@ -483,7 +500,9 @@ class Sass extends Emiter { @@ -483,7 +500,9 @@ class Sass extends Emiter {
483 500
484 let timestamp = new Date().getTime(); 501 let timestamp = new Date().getTime();
485 let authId = MD5(key + siteID + meetingID + timestamp); 502 let authId = MD5(key + siteID + meetingID + timestamp);
486 - let url = `http://${GlobalConfig.portal}/3m/recordingMeeting/insertRecordingMeeting.do`; 503 + //let url = `http://${GlobalConfig.portal}/3m/recordingMeeting/insertRecordingMeeting.do`;
  504 + let url = `${GlobalConfig.locationProtocol+GlobalConfig.portal}/3m/recordingMeeting/insertRecordingMeeting.do`;
  505 +
487 loger.log('saveClassRecordContrlInfo', url); 506 loger.log('saveClassRecordContrlInfo', url);
488 507
489 fetch(encodeURI(url), { 508 fetch(encodeURI(url), {
@@ -546,7 +565,8 @@ class Sass extends Emiter { @@ -546,7 +565,8 @@ class Sass extends Emiter {
546 let correct = _param.correct.toString(); 565 let correct = _param.correct.toString();
547 let options = JSON.stringify(_param.options); 566 let options = JSON.stringify(_param.options);
548 567
549 - let url = `http://${GlobalConfig.portal}/3m/api/question/add.do`; 568 + //let url = `http://${GlobalConfig.portal}/3m/api/question/add.do`;
  569 + let url = `${GlobalConfig.locationProtocol+GlobalConfig.portal}/3m/api/question/add.do`;
550 loger.log('创建答题数据', url); 570 loger.log('创建答题数据', url);
551 571
552 fetch(encodeURI(url), { 572 fetch(encodeURI(url), {
@@ -622,7 +642,8 @@ class Sass extends Emiter { @@ -622,7 +642,8 @@ class Sass extends Emiter {
622 let userId = _param.userId; 642 let userId = _param.userId;
623 let userName = _param.userName; 643 let userName = _param.userName;
624 644
625 - let url = `http://${GlobalConfig.portal}/3m/api/question/answer.do`; 645 + // let url = `http://${GlobalConfig.portal}/3m/api/question/answer.do`;
  646 + let url = `${GlobalConfig.locationProtocol+GlobalConfig.portal}/3m/api/question/answer.do`;
626 loger.log('保存答题数据', url); 647 loger.log('保存答题数据', url);
627 648
628 fetch(encodeURI(url), { 649 fetch(encodeURI(url), {
@@ -675,7 +696,8 @@ class Sass extends Emiter { @@ -675,7 +696,8 @@ class Sass extends Emiter {
675 //questionId long 题目id 696 //questionId long 题目id
676 697
677 let questionId = parseInt(_param.questionId); //题目id 698 let questionId = parseInt(_param.questionId); //题目id
678 - let url = `http://${GlobalConfig.portal}/3m/api/question/get.do`; 699 + // let url = `http://${GlobalConfig.portal}/3m/api/question/get.do`;
  700 + let url = `${GlobalConfig.locationProtocol+GlobalConfig.portal}/3m/api/question/get.do`;
679 loger.log('查询题目数据', url); 701 loger.log('查询题目数据', url);
680 //接口中用的是GET 702 //接口中用的是GET
681 fetch(encodeURI(url), { 703 fetch(encodeURI(url), {
@@ -733,7 +755,8 @@ class Sass extends Emiter { @@ -733,7 +755,8 @@ class Sass extends Emiter {
733 //questionId long 题目id 755 //questionId long 题目id
734 756
735 let questionId = parseInt(_param.questionId); //题目id 757 let questionId = parseInt(_param.questionId); //题目id
736 - let url = `http://${GlobalConfig.portal}/3m/api/question/results.do`; 758 + //let url = `http://${GlobalConfig.portal}/3m/api/question/results.do`;
  759 + let url = `${GlobalConfig.locationProtocol+GlobalConfig.portal}/3m/api/question/results.do`;
737 loger.log('查询答题结果数据', url); 760 loger.log('查询答题结果数据', url);
738 761
739 fetch(encodeURI(url), { 762 fetch(encodeURI(url), {
@@ -46,7 +46,8 @@ class MediaModule { @@ -46,7 +46,8 @@ class MediaModule {
46 fileName = 'playlist.m3u8'; 46 fileName = 'playlist.m3u8';
47 } 47 }
48 port = (GlobalConfig.MS_PLAY_HLS_PORT == "" || GlobalConfig.MS_PLAY_HLS_PORT == null) ? "" : ":" + GlobalConfig.MS_PLAY_HLS_PORT; 48 port = (GlobalConfig.MS_PLAY_HLS_PORT == "" || GlobalConfig.MS_PLAY_HLS_PORT == null) ? "" : ":" + GlobalConfig.MS_PLAY_HLS_PORT;
49 - path = "http://" + GlobalConfig.MS_PLAY_HLS_IP 49 + //path = "http://" + GlobalConfig.MS_PLAY_HLS_IP
  50 + path =GlobalConfig.locationProtocol + GlobalConfig.MS_PLAY_HLS_IP
50 + port + "/live/" 51 + port + "/live/"
51 + _param.streamId 52 + _param.streamId
52 + ".m3u8";// 53 + ".m3u8";//
@@ -79,7 +80,8 @@ class MediaModule { @@ -79,7 +80,8 @@ class MediaModule {
79 } 80 }
80 //M3U8 http://123.56.73.119:6001/live/h5dev_2106728010_8ab3b0ed5a3a9220015a3a958f0d0003_983041_1489113860/total.m3u8 81 //M3U8 http://123.56.73.119:6001/live/h5dev_2106728010_8ab3b0ed5a3a9220015a3a958f0d0003_983041_1489113860/total.m3u8
81 let port = (GlobalConfig.RS_RECORD_PLAY_PORT == "" || GlobalConfig.RS_RECORD_PLAY_PORT == null) ? "" : ":" + GlobalConfig.RS_RECORD_PLAY_PORT; 82 let port = (GlobalConfig.RS_RECORD_PLAY_PORT == "" || GlobalConfig.RS_RECORD_PLAY_PORT == null) ? "" : ":" + GlobalConfig.RS_RECORD_PLAY_PORT;
82 - let path = "http://" + GlobalConfig.RS_RECORD_PLAY_IP 83 + //let path = "http://" + GlobalConfig.RS_RECORD_PLAY_IP
  84 + let path =GlobalConfig.locationProtocol + GlobalConfig.RS_RECORD_PLAY_IP
83 + port + "/live/" 85 + port + "/live/"
84 + _param.streamId 86 + _param.streamId
85 + "/total.m3u8"; 87 + "/total.m3u8";
@@ -59,13 +59,14 @@ class WhiteBoardApe extends Ape { @@ -59,13 +59,14 @@ class WhiteBoardApe extends Ape {
59 } 59 }
60 60
61 //清除当前模块的数据 61 //清除当前模块的数据
62 - clearData(){ 62 + clearData() {
63 loger.log("clearData->") 63 loger.log("clearData->")
64 this.annoInfos = {};//储存所有的标注数据 64 this.annoInfos = {};//储存所有的标注数据
65 this.insertHistory = [];//添加的白板记录,用于撤回操作 65 this.insertHistory = [];//添加的白板记录,用于撤回操作
66 } 66 }
  67 +
67 //更新文档模块的录制信息,每次开启录制的时候需要把当前文档的信息更新一次 68 //更新文档模块的录制信息,每次开启录制的时候需要把当前文档的信息更新一次
68 - updaterRecordApeStatus(_param){ 69 + updaterRecordApeStatus(_param) {
69 /* if(GlobalConfig.isHost&&!GlobalConfig.isRecordPlayBack){ 70 /* if(GlobalConfig.isHost&&!GlobalConfig.isRecordPlayBack){
70 let curPageAnnos={}; 71 let curPageAnnos={};
71 for (let key in this.annoInfos) { 72 for (let key in this.annoInfos) {
@@ -81,18 +82,18 @@ class WhiteBoardApe extends Ape { @@ -81,18 +82,18 @@ class WhiteBoardApe extends Ape {
81 loger.log("开启录制成功->当前没有标注数据需要更新->docId:", GlobalConfig.activeDocId, 'page:',GlobalConfig.activeDocCurPage); 82 loger.log("开启录制成功->当前没有标注数据需要更新->docId:", GlobalConfig.activeDocId, 'page:',GlobalConfig.activeDocCurPage);
82 } 83 }
83 }*/ 84 }*/
84 - let curPageAnnos={}; 85 + let curPageAnnos = {};
85 for (let key in this.annoInfos) { 86 for (let key in this.annoInfos) {
86 let item = this.annoInfos[key]; 87 let item = this.annoInfos[key];
87 if (item && item.parentId == GlobalConfig.activeDocId && item.curPageNo == GlobalConfig.activeDocCurPage) { 88 if (item && item.parentId == GlobalConfig.activeDocId && item.curPageNo == GlobalConfig.activeDocCurPage) {
88 - curPageAnnos[key]=item; 89 + curPageAnnos[key] = item;
89 } 90 }
90 } 91 }
91 - if(Object.keys(curPageAnnos).length>0){  
92 - loger.warn("录制状态发送改变->更新当前的标注数据->docId:", GlobalConfig.activeDocId, 'page:',GlobalConfig.activeDocCurPage);  
93 - this.sendUpdaterAnnotaion({"itemIdxArr":curPageAnnos});  
94 - }else {  
95 - loger.warn("录制状态发送改变->当前没有标注数据需要更新->docId:", GlobalConfig.activeDocId, 'page:',GlobalConfig.activeDocCurPage); 92 + if (Object.keys(curPageAnnos).length > 0) {
  93 + loger.warn("录制状态发送改变->更新当前的标注数据->docId:", GlobalConfig.activeDocId, 'page:', GlobalConfig.activeDocCurPage);
  94 + this.sendUpdaterAnnotaion({"itemIdxArr": curPageAnnos});
  95 + } else {
  96 + loger.warn("录制状态发送改变->当前没有标注数据需要更新->docId:", GlobalConfig.activeDocId, 'page:', GlobalConfig.activeDocCurPage);
96 } 97 }
97 } 98 }
98 99
@@ -100,7 +101,7 @@ class WhiteBoardApe extends Ape { @@ -100,7 +101,7 @@ class WhiteBoardApe extends Ape {
100 // 添加标注,发送信息 101 // 添加标注,发送信息
101 sendInsetAnnotaion(_param) { 102 sendInsetAnnotaion(_param) {
102 if (_param == null || EngineUtils.isEmptyObject(_param)) { 103 if (_param == null || EngineUtils.isEmptyObject(_param)) {
103 - loger.warn('添加标注失败->参数错误->',_param); 104 + loger.warn('添加标注失败->参数错误->', _param);
104 this._emit(MessageTypes.MCU_ERROR, MessageTypes.ERR_APE_INTERFACE_PARAM_WRONG); 105 this._emit(MessageTypes.MCU_ERROR, MessageTypes.ERR_APE_INTERFACE_PARAM_WRONG);
105 return; 106 return;
106 } 107 }
@@ -108,7 +109,7 @@ class WhiteBoardApe extends Ape { @@ -108,7 +109,7 @@ class WhiteBoardApe extends Ape {
108 let itemIdx = EngineUtils.creatSoleNumberFromTimestamp();//创建时间戳,保证每条数据的唯一 109 let itemIdx = EngineUtils.creatSoleNumberFromTimestamp();//创建时间戳,保证每条数据的唯一
109 let whiteBoardModelPdu = this.packPdu(_param, itemIdx); 110 let whiteBoardModelPdu = this.packPdu(_param, itemIdx);
110 if (whiteBoardModelPdu == null) { 111 if (whiteBoardModelPdu == null) {
111 - loger.warn('添加标注失败-->参数错误->',_param); 112 + loger.warn('添加标注失败-->参数错误->', _param);
112 this._emit(MessageTypes.MCU_ERROR, MessageTypes.ERR_APE_INTERFACE_PARAM_WRONG); 113 this._emit(MessageTypes.MCU_ERROR, MessageTypes.ERR_APE_INTERFACE_PARAM_WRONG);
113 return; 114 return;
114 } 115 }
@@ -140,7 +141,7 @@ class WhiteBoardApe extends Ape { @@ -140,7 +141,7 @@ class WhiteBoardApe extends Ape {
140 adapterPdu.type = pdu.RCPDU_REG_ADAPTER; 141 adapterPdu.type = pdu.RCPDU_REG_ADAPTER;
141 adapterPdu.item.push(adapterItemPdu); 142 adapterPdu.item.push(adapterItemPdu);
142 143
143 - loger.log("添加标注->itemIdx=" + tableItemPdu.itemIdx); 144 + //loger.log("添加标注->itemIdx=" + tableItemPdu.itemIdx);
144 this.sendUniform(adapterPdu, true); 145 this.sendUniform(adapterPdu, true);
145 } 146 }
146 147
@@ -151,49 +152,49 @@ class WhiteBoardApe extends Ape { @@ -151,49 +152,49 @@ class WhiteBoardApe extends Ape {
151 loger.warn("无法继续上一步操作,已经没有可以撤销的数据"); 152 loger.warn("无法继续上一步操作,已经没有可以撤销的数据");
152 return; 153 return;
153 } 154 }
154 - let annoItem=this.insertHistory.pop();  
155 - if(annoItem){  
156 - let temAnnos={};  
157 - temAnnos[annoItem.itemIdx]=annoItem;  
158 - this.sendDeleteAnnotaion({"itemIdxArr":temAnnos}); 155 + let annoItem = this.insertHistory.pop();
  156 + if (annoItem) {
  157 + let temAnnos = {};
  158 + temAnnos[annoItem.itemIdx] = annoItem;
  159 + this.sendDeleteAnnotaion({"itemIdxArr": temAnnos});
159 } 160 }
160 } 161 }
161 162
162 //删除当前页码的所有标注 163 //删除当前页码的所有标注
163 sendDeleteCurPageAnnotation(_param) { 164 sendDeleteCurPageAnnotation(_param) {
164 - this.insertHistory=[];  
165 - let curPageAnnos={}; 165 + this.insertHistory = [];
  166 + let curPageAnnos = {};
166 for (let key in this.annoInfos) { 167 for (let key in this.annoInfos) {
167 let item = this.annoInfos[key]; 168 let item = this.annoInfos[key];
168 if (item && item.parentId == GlobalConfig.activeDocId && item.curPageNo == GlobalConfig.activeDocCurPage) { 169 if (item && item.parentId == GlobalConfig.activeDocId && item.curPageNo == GlobalConfig.activeDocCurPage) {
169 //loger.log("sendDeleteCurPageAnnotation 删除当前页面上的标注", key); 170 //loger.log("sendDeleteCurPageAnnotation 删除当前页面上的标注", key);
170 //this.sendDeleteAnnotaion({"itemIdx": key}); 171 //this.sendDeleteAnnotaion({"itemIdx": key});
171 - curPageAnnos[key]=item; 172 + curPageAnnos[key] = item;
172 } 173 }
173 } 174 }
174 175
175 - this.sendDeleteAnnotaion({"itemIdxArr":curPageAnnos}); 176 + this.sendDeleteAnnotaion({"itemIdxArr": curPageAnnos});
176 } 177 }
177 178
178 //删除所有标注 179 //删除所有标注
179 sendDeleteAllAnnotation(_param) { 180 sendDeleteAllAnnotation(_param) {
180 - this.insertHistory=[]; 181 + this.insertHistory = [];
181 /* for (let key in this.annoInfos) { 182 /* for (let key in this.annoInfos) {
182 this.sendDeleteAnnotaion({"itemIdx": key}); 183 this.sendDeleteAnnotaion({"itemIdx": key});
183 }*/ 184 }*/
184 - this.sendDeleteAnnotaion({"itemIdxArr":this.annoInfos}); 185 + this.sendDeleteAnnotaion({"itemIdxArr": this.annoInfos});
185 } 186 }
186 187
187 //删除标注,发送信息 {"itemIdxArr":{}} 188 //删除标注,发送信息 {"itemIdxArr":{}}
188 sendDeleteAnnotaion(_param) { 189 sendDeleteAnnotaion(_param) {
189 - if (_param == null||_param.itemIdxArr==null) {  
190 - loger.warn("要删除的数据不存在->",_param); 190 + if (_param == null || _param.itemIdxArr == null) {
  191 + loger.warn("要删除的数据不存在->", _param);
191 return; 192 return;
192 } 193 }
193 let adapterPdu = new pdu['RCAdapterPdu']; 194 let adapterPdu = new pdu['RCAdapterPdu'];
194 adapterPdu.type = pdu.RCPDU_REG_ADAPTER; 195 adapterPdu.type = pdu.RCPDU_REG_ADAPTER;
195 196
196 - for (let key in _param.itemIdxArr) { 197 + /*for (let key in _param.itemIdxArr) {
197 let tableDeleteItemPdu = new pdu['RCRegistryTableDeleteItemPdu']; 198 let tableDeleteItemPdu = new pdu['RCRegistryTableDeleteItemPdu'];
198 tableDeleteItemPdu.type = pdu.RCPDU_REG_TABLE_DELETE_PDU;// 199 tableDeleteItemPdu.type = pdu.RCPDU_REG_TABLE_DELETE_PDU;//
199 tableDeleteItemPdu.itemIdx = parseInt(key);//这里需要设置要删除的数据的itemIdx,每条数据的这个id都不一样 200 tableDeleteItemPdu.itemIdx = parseInt(key);//这里需要设置要删除的数据的itemIdx,每条数据的这个id都不一样
@@ -208,10 +209,28 @@ class WhiteBoardApe extends Ape { @@ -208,10 +209,28 @@ class WhiteBoardApe extends Ape {
208 adapterItemPdu.type = pdu.RCPDU_REG_UPDATE_OBJ; 209 adapterItemPdu.type = pdu.RCPDU_REG_UPDATE_OBJ;
209 adapterItemPdu.itemData = updateObjPdu.toArrayBuffer(); 210 adapterItemPdu.itemData = updateObjPdu.toArrayBuffer();
210 adapterPdu.item.push(adapterItemPdu); 211 adapterPdu.item.push(adapterItemPdu);
  212 + }*/
  213 + let tableDeleteItemPdu = new pdu['RCRegistryTableDeleteItemPdu'];
  214 + tableDeleteItemPdu.type = pdu.RCPDU_REG_TABLE_DELETE_PDU;//
  215 + for (let key in _param.itemIdxArr) {
  216 + tableDeleteItemPdu.itemIdx.push(parseInt(key));//这里需要设置要删除的数据的itemIdx,每条数据的这个id都不一样
211 } 217 }
212 - loger.log("发送删除白板标注数据->长度:" + adapterPdu.item.length); 218 + loger.log("发送删除白板标注数据->数量:" + tableDeleteItemPdu.itemIdx.length);
  219 + let updateObjPdu = new pdu['RCRegistryUpdateObjPdu'];
  220 + updateObjPdu.objId = ApeConsts.WHITEBOARD_OBJ_TABLE_ID;
  221 + updateObjPdu.subType = tableDeleteItemPdu.type;
  222 + updateObjPdu.userData = tableDeleteItemPdu.toArrayBuffer();
  223 +
  224 + //同步
  225 + let adapterItemPdu = new pdu['RCAdapterItemPdu'];
  226 + adapterItemPdu.type = pdu.RCPDU_REG_UPDATE_OBJ;
  227 + adapterItemPdu.itemData = updateObjPdu.toArrayBuffer();
  228 + adapterPdu.item.push(adapterItemPdu);
  229 +
  230 + //loger.log("发送删除白板标注数据->长度:" + tableDeleteItemPdu.itemIdx.length);
213 this.sendUniform(adapterPdu, true); 231 this.sendUniform(adapterPdu, true);
214 } 232 }
  233 +
215 /*sendDeleteAnnotaion(_param) { 234 /*sendDeleteAnnotaion(_param) {
216 if (_param == null) { 235 if (_param == null) {
217 loger.warn("要删除的数据不存在"); 236 loger.warn("要删除的数据不存在");
@@ -243,11 +262,9 @@ class WhiteBoardApe extends Ape { @@ -243,11 +262,9 @@ class WhiteBoardApe extends Ape {
243 }*/ 262 }*/
244 263
245 264
246 -  
247 -  
248 //更新标注 265 //更新标注
249 sendUpdaterAnnotaion(_param) { 266 sendUpdaterAnnotaion(_param) {
250 - if (_param == null ||_param.itemIdxArr==null) { 267 + if (_param == null || _param.itemIdxArr == null) {
251 loger.log('更新标注数据->失败->参数错误'); 268 loger.log('更新标注数据->失败->参数错误');
252 this._emit(MessageTypes.MCU_ERROR, MessageTypes.ERR_APE_INTERFACE_PARAM_WRONG); 269 this._emit(MessageTypes.MCU_ERROR, MessageTypes.ERR_APE_INTERFACE_PARAM_WRONG);
253 return; 270 return;
@@ -255,8 +272,8 @@ class WhiteBoardApe extends Ape { @@ -255,8 +272,8 @@ class WhiteBoardApe extends Ape {
255 let adapterPdu = new pdu['RCAdapterPdu']; 272 let adapterPdu = new pdu['RCAdapterPdu'];
256 adapterPdu.type = pdu.RCPDU_REG_ADAPTER; 273 adapterPdu.type = pdu.RCPDU_REG_ADAPTER;
257 for (let key in _param.itemIdxArr) { 274 for (let key in _param.itemIdxArr) {
258 - let itemIdx =parseInt(key);  
259 - let item= _param.itemIdxArr[key]; 275 + let itemIdx = parseInt(key);
  276 + let item = _param.itemIdxArr[key];
260 let whiteBoardModelPdu = this.packPdu(item, itemIdx); 277 let whiteBoardModelPdu = this.packPdu(item, itemIdx);
261 if (whiteBoardModelPdu == null) { 278 if (whiteBoardModelPdu == null) {
262 loger.log('更新标注数据->失败->数据无效'); 279 loger.log('更新标注数据->失败->数据无效');
@@ -285,11 +302,11 @@ class WhiteBoardApe extends Ape { @@ -285,11 +302,11 @@ class WhiteBoardApe extends Ape {
285 adapterItemPdu.itemData = updateObjPdu.toArrayBuffer(); 302 adapterItemPdu.itemData = updateObjPdu.toArrayBuffer();
286 adapterPdu.item.push(adapterItemPdu); 303 adapterPdu.item.push(adapterItemPdu);
287 } 304 }
288 - let len=adapterPdu.item.length  
289 - if(len>0){  
290 - loger.log("更新标注数据->发送数量->",adapterPdu.item.length); 305 + let len = adapterPdu.item.length
  306 + if (len > 0) {
  307 + loger.log("更新标注数据->发送数量->", adapterPdu.item.length);
291 this.sendUniform(adapterPdu, true); 308 this.sendUniform(adapterPdu, true);
292 - }else { 309 + } else {
293 loger.log("更新标注数据->没有可更新的数据"); 310 loger.log("更新标注数据->没有可更新的数据");
294 } 311 }
295 } 312 }
@@ -297,7 +314,7 @@ class WhiteBoardApe extends Ape { @@ -297,7 +314,7 @@ class WhiteBoardApe extends Ape {
297 /////收到消息处理///////////////////////////////////////////////////////////////////////////////// 314 /////收到消息处理/////////////////////////////////////////////////////////////////////////////////
298 tableInsertHandler(owner, itemIdx, itemData) { 315 tableInsertHandler(owner, itemIdx, itemData) {
299 let whiteBoardModel = this.unPackPdu(owner, itemIdx, itemData); 316 let whiteBoardModel = this.unPackPdu(owner, itemIdx, itemData);
300 - loger.log('tableInsertHandler',"activeDocId->",GlobalConfig.activeDocId ,"parentId->", whiteBoardModel.parentId); 317 + loger.log('新增标注', "activeDocId->", GlobalConfig.activeDocId, "parentId->", whiteBoardModel.parentId);
301 //loger.log(whiteBoardModel); 318 //loger.log(whiteBoardModel);
302 if (whiteBoardModel) { 319 if (whiteBoardModel) {
303 if (GlobalConfig.activeDocId == whiteBoardModel.parentId && GlobalConfig.activeDocCurPage == whiteBoardModel.curPageNo) { 320 if (GlobalConfig.activeDocId == whiteBoardModel.parentId && GlobalConfig.activeDocCurPage == whiteBoardModel.curPageNo) {
@@ -317,9 +334,9 @@ class WhiteBoardApe extends Ape { @@ -317,9 +334,9 @@ class WhiteBoardApe extends Ape {
317 }*/ 334 }*/
318 } 335 }
319 336
320 - tableUpdateApeHandler(_tableUpdateItems,_seekTime){ 337 + tableUpdateApeHandler(_tableUpdateItems, _seekTime) {
321 let tableUpdateItemsLen = _tableUpdateItems.length; 338 let tableUpdateItemsLen = _tableUpdateItems.length;
322 - loger.log('白板标注更新->',"activeDocId->",GlobalConfig.activeDocId ,"数量->", tableUpdateItemsLen); 339 + loger.log('白板标注更新->', "activeDocId->", GlobalConfig.activeDocId, "数量->", tableUpdateItemsLen);
323 for (let i = 0; i < tableUpdateItemsLen; ++i) { 340 for (let i = 0; i < tableUpdateItemsLen; ++i) {
324 let tableItem = _tableUpdateItems[i]; 341 let tableItem = _tableUpdateItems[i];
325 let whiteBoardModel = this.unPackPdu(tableItem.owner, tableItem.itemIdx, tableItem.itemData); 342 let whiteBoardModel = this.unPackPdu(tableItem.owner, tableItem.itemIdx, tableItem.itemData);
@@ -335,7 +352,7 @@ class WhiteBoardApe extends Ape { @@ -335,7 +352,7 @@ class WhiteBoardApe extends Ape {
335 let itemIdxs = tableDeleteData.itemIdx; 352 let itemIdxs = tableDeleteData.itemIdx;
336 for (let i = 0; i < len; i++) { 353 for (let i = 0; i < len; i++) {
337 if (this.annoInfos[itemIdxs[i]]) { 354 if (this.annoInfos[itemIdxs[i]]) {
338 - loger.log("删除白板数据:", itemIdxs[i]); 355 + //loger.log("删除白板数据:", itemIdxs[i]);
339 delete this.annoInfos[itemIdxs[i]]; 356 delete this.annoInfos[itemIdxs[i]];
340 } 357 }
341 } 358 }
@@ -367,8 +384,8 @@ class WhiteBoardApe extends Ape { @@ -367,8 +384,8 @@ class WhiteBoardApe extends Ape {
367 } 384 }
368 385
369 //判断当前是否有文档在显示,如果文档没有显示就显示默认的白板数据 386 //判断当前是否有文档在显示,如果文档没有显示就显示默认的白板数据
370 - if(GlobalConfig.activeDocId==0){  
371 - this.insertHistory=[]; 387 + if (GlobalConfig.activeDocId == 0) {
  388 + this.insertHistory = [];
372 this.updateAandShowAnnotaion(); 389 this.updateAandShowAnnotaion();
373 } 390 }
374 } 391 }
@@ -443,7 +460,7 @@ class WhiteBoardApe extends Ape { @@ -443,7 +460,7 @@ class WhiteBoardApe extends Ape {
443 460
444 whiteBoardModelPdu.pointGroup = EngineUtils.arrayToJsonString(_param.pointGroup); 461 whiteBoardModelPdu.pointGroup = EngineUtils.arrayToJsonString(_param.pointGroup);
445 whiteBoardModelPdu.color = _param.color || "#000000"; 462 whiteBoardModelPdu.color = _param.color || "#000000";
446 - whiteBoardModelPdu.thickness = _param.thickness ||1; 463 + whiteBoardModelPdu.thickness = _param.thickness || 1;
447 464
448 return whiteBoardModelPdu; 465 return whiteBoardModelPdu;
449 } 466 }