正在显示
7 个修改的文件
包含
478 行增加
和
424 行删除
| @@ -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}×tamp=${timestamp}&authId=${authId}`; | 246 | + //let url = `http://${GlobalConfig.portal}/3m/api/meeting/detail.do?meetingNumber=${GlobalConfig.classId}×tamp=${timestamp}&authId=${authId}`; |
| 247 | + let url = `${GlobalConfig.locationProtocol+GlobalConfig.portal}/3m/api/meeting/detail.do?meetingNumber=${GlobalConfig.classId}×tamp=${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}×tamp=${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}×tamp=${timestamp}&authId=${authId}`; |
| 299 | + let url = `${GlobalConfig.locationProtocol+GlobalConfig.portal}/3m/api/document/deleteRelation.do?docId=${_param.docId}&classId=${GlobalConfig.classId}×tamp=${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}×tamp=${timestamp}&authId=${authId}`; | 340 | + //let url = `http://${GlobalConfig.portal}/3m/api/media/deleteRelation.do?mediaId=${_param.fileId}&classId=${GlobalConfig.classId}×tamp=${timestamp}&authId=${authId}`; |
| 341 | + let url = `${GlobalConfig.locationProtocol+GlobalConfig.portal}/3m/api/media/deleteRelation.do?mediaId=${_param.fileId}&classId=${GlobalConfig.classId}×tamp=${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}×tamp=${timestamp}&authId=${authId}`; | 382 | + //let url = `http://${GlobalConfig.portal}/3m/api/sharedMedia/deleteRelation.do?fileId=${_param.fileId}&classId=${GlobalConfig.classId}×tamp=${timestamp}&authId=${authId}`; |
| 383 | + let url = `${GlobalConfig.locationProtocol+GlobalConfig.portal}/3m/api/sharedMedia/deleteRelation.do?fileId=${_param.fileId}&classId=${GlobalConfig.classId}×tamp=${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,8 +696,9 @@ class Sass extends Emiter { | @@ -675,8 +696,9 @@ 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`; | ||
| 679 | - loger.log('查询题目数据', url); | 699 | + // let url = `http://${GlobalConfig.portal}/3m/api/question/get.do`; |
| 700 | + let url = `${GlobalConfig.locationProtocol+GlobalConfig.portal}/3m/api/question/get.do`; | ||
| 701 | + loger.log('查询题目数据', url); | ||
| 680 | //接口中用的是GET | 702 | //接口中用的是GET |
| 681 | fetch(encodeURI(url), { | 703 | fetch(encodeURI(url), { |
| 682 | method: 'POST', | 704 | method: 'POST', |
| @@ -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"; |
| @@ -33,434 +33,451 @@ const TYPE_CIRCLE = 3;//圆形 | @@ -33,434 +33,451 @@ const TYPE_CIRCLE = 3;//圆形 | ||
| 33 | const TYPE_TEXT = 4;//文本 | 33 | const TYPE_TEXT = 4;//文本 |
| 34 | 34 | ||
| 35 | class WhiteBoardApe extends Ape { | 35 | class WhiteBoardApe extends Ape { |
| 36 | - constructor() { | ||
| 37 | - super( | ||
| 38 | - ApeConsts.WHITEBOARD_SESSION_ID, | ||
| 39 | - ApeConsts.WHITEBOARD_SESSION_NAME, | ||
| 40 | - ApeConsts.WHITEBOARD_SESSION_TAG | ||
| 41 | - ); | ||
| 42 | - // properties | ||
| 43 | - this.annoInfos = {};//储存所有的标注数据 | ||
| 44 | - this.insertHistory = [];//添加的白板记录,用于撤回操作 | ||
| 45 | - // 白板延迟 | ||
| 46 | - //Ape Models | ||
| 47 | - this.registerKey(this._session_id, this._session_name, this._session_tag, new ArrayBuffer); | ||
| 48 | - this.registerObj(pdu.RCPDU_REG_REGISTER_TABLE, ApeConsts.WHITEBOARD_OBJ_TABLE_ID, | ||
| 49 | - ApeConsts.WHITEBOARD_OBJ_TABLE_NAME, ApeConsts.WHITEBOARD_OBJ_TABLE_TAG, 0, new ArrayBuffer); | ||
| 50 | - | ||
| 51 | - // ape listeners | ||
| 52 | - this.on(pdu.RCPDU_SESSION_JOIN_RESPONSE, this._joinSessionHandler.bind(this)); | ||
| 53 | - //this.on(pdu.RCPDU_CONFERENCE_SEND_DATA_REQUEST, this.whiteboardMsgComingHandler.bind(this));//这个是课堂消息类型,flash里在使用这里不再使用,各个模块的消息由模块自己来处理 | 36 | + constructor() { |
| 37 | + super( | ||
| 38 | + ApeConsts.WHITEBOARD_SESSION_ID, | ||
| 39 | + ApeConsts.WHITEBOARD_SESSION_NAME, | ||
| 40 | + ApeConsts.WHITEBOARD_SESSION_TAG | ||
| 41 | + ); | ||
| 42 | + // properties | ||
| 43 | + this.annoInfos = {};//储存所有的标注数据 | ||
| 44 | + this.insertHistory = [];//添加的白板记录,用于撤回操作 | ||
| 45 | + // 白板延迟 | ||
| 46 | + //Ape Models | ||
| 47 | + this.registerKey(this._session_id, this._session_name, this._session_tag, new ArrayBuffer); | ||
| 48 | + this.registerObj(pdu.RCPDU_REG_REGISTER_TABLE, ApeConsts.WHITEBOARD_OBJ_TABLE_ID, | ||
| 49 | + ApeConsts.WHITEBOARD_OBJ_TABLE_NAME, ApeConsts.WHITEBOARD_OBJ_TABLE_TAG, 0, new ArrayBuffer); | ||
| 50 | + | ||
| 51 | + // ape listeners | ||
| 52 | + this.on(pdu.RCPDU_SESSION_JOIN_RESPONSE, this._joinSessionHandler.bind(this)); | ||
| 53 | + //this.on(pdu.RCPDU_CONFERENCE_SEND_DATA_REQUEST, this.whiteboardMsgComingHandler.bind(this));//这个是课堂消息类型,flash里在使用这里不再使用,各个模块的消息由模块自己来处理 | ||
| 54 | + } | ||
| 55 | + | ||
| 56 | + _joinSessionHandler(_data) { | ||
| 57 | + //loger.log("RCPDU_SESSION_JOIN_RESPONSE"); | ||
| 58 | + this.insertHistory = []; | ||
| 59 | + } | ||
| 60 | + | ||
| 61 | + //清除当前模块的数据 | ||
| 62 | + clearData() { | ||
| 63 | + loger.log("clearData->") | ||
| 64 | + this.annoInfos = {};//储存所有的标注数据 | ||
| 65 | + this.insertHistory = [];//添加的白板记录,用于撤回操作 | ||
| 66 | + } | ||
| 67 | + | ||
| 68 | + //更新文档模块的录制信息,每次开启录制的时候需要把当前文档的信息更新一次 | ||
| 69 | + updaterRecordApeStatus(_param) { | ||
| 70 | + /* if(GlobalConfig.isHost&&!GlobalConfig.isRecordPlayBack){ | ||
| 71 | + let curPageAnnos={}; | ||
| 72 | + for (let key in this.annoInfos) { | ||
| 73 | + let item = this.annoInfos[key]; | ||
| 74 | + if (item && item.parentId == GlobalConfig.activeDocId && item.curPageNo == GlobalConfig.activeDocCurPage) { | ||
| 75 | + curPageAnnos[key]=item; | ||
| 76 | + } | ||
| 77 | + } | ||
| 78 | + if(Object.keys(curPageAnnos).length>0){ | ||
| 79 | + loger.log("开启录制成功->更新当前的标注数据->docId:", GlobalConfig.activeDocId, 'page:',GlobalConfig.activeDocCurPage); | ||
| 80 | + this.sendUpdaterAnnotaion({"itemIdxArr":curPageAnnos}); | ||
| 81 | + }else { | ||
| 82 | + loger.log("开启录制成功->当前没有标注数据需要更新->docId:", GlobalConfig.activeDocId, 'page:',GlobalConfig.activeDocCurPage); | ||
| 83 | + } | ||
| 84 | + }*/ | ||
| 85 | + let curPageAnnos = {}; | ||
| 86 | + for (let key in this.annoInfos) { | ||
| 87 | + let item = this.annoInfos[key]; | ||
| 88 | + if (item && item.parentId == GlobalConfig.activeDocId && item.curPageNo == GlobalConfig.activeDocCurPage) { | ||
| 89 | + curPageAnnos[key] = item; | ||
| 90 | + } | ||
| 54 | } | 91 | } |
| 55 | - | ||
| 56 | - _joinSessionHandler(_data) { | ||
| 57 | - //loger.log("RCPDU_SESSION_JOIN_RESPONSE"); | ||
| 58 | - this.insertHistory = []; | 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); | ||
| 97 | + } | ||
| 98 | + } | ||
| 99 | + | ||
| 100 | + /////////////发送数据操作////////////////////////////////////////////////////// | ||
| 101 | + // 添加标注,发送信息 | ||
| 102 | + sendInsetAnnotaion(_param) { | ||
| 103 | + if (_param == null || EngineUtils.isEmptyObject(_param)) { | ||
| 104 | + loger.warn('添加标注失败->参数错误->', _param); | ||
| 105 | + this._emit(MessageTypes.MCU_ERROR, MessageTypes.ERR_APE_INTERFACE_PARAM_WRONG); | ||
| 106 | + return; | ||
| 59 | } | 107 | } |
| 60 | 108 | ||
| 61 | - //清除当前模块的数据 | ||
| 62 | - clearData(){ | ||
| 63 | - loger.log("clearData->") | ||
| 64 | - this.annoInfos = {};//储存所有的标注数据 | ||
| 65 | - this.insertHistory = [];//添加的白板记录,用于撤回操作 | 109 | + let itemIdx = EngineUtils.creatSoleNumberFromTimestamp();//创建时间戳,保证每条数据的唯一 |
| 110 | + let whiteBoardModelPdu = this.packPdu(_param, itemIdx); | ||
| 111 | + if (whiteBoardModelPdu == null) { | ||
| 112 | + loger.warn('添加标注失败-->参数错误->', _param); | ||
| 113 | + this._emit(MessageTypes.MCU_ERROR, MessageTypes.ERR_APE_INTERFACE_PARAM_WRONG); | ||
| 114 | + return; | ||
| 66 | } | 115 | } |
| 67 | - //更新文档模块的录制信息,每次开启录制的时候需要把当前文档的信息更新一次 | ||
| 68 | - updaterRecordApeStatus(_param){ | ||
| 69 | - /* if(GlobalConfig.isHost&&!GlobalConfig.isRecordPlayBack){ | ||
| 70 | - let curPageAnnos={}; | ||
| 71 | - for (let key in this.annoInfos) { | ||
| 72 | - let item = this.annoInfos[key]; | ||
| 73 | - if (item && item.parentId == GlobalConfig.activeDocId && item.curPageNo == GlobalConfig.activeDocCurPage) { | ||
| 74 | - curPageAnnos[key]=item; | ||
| 75 | - } | ||
| 76 | - } | ||
| 77 | - if(Object.keys(curPageAnnos).length>0){ | ||
| 78 | - loger.log("开启录制成功->更新当前的标注数据->docId:", GlobalConfig.activeDocId, 'page:',GlobalConfig.activeDocCurPage); | ||
| 79 | - this.sendUpdaterAnnotaion({"itemIdxArr":curPageAnnos}); | ||
| 80 | - }else { | ||
| 81 | - loger.log("开启录制成功->当前没有标注数据需要更新->docId:", GlobalConfig.activeDocId, 'page:',GlobalConfig.activeDocCurPage); | ||
| 82 | - } | ||
| 83 | - }*/ | ||
| 84 | - let curPageAnnos={}; | ||
| 85 | - for (let key in this.annoInfos) { | ||
| 86 | - let item = this.annoInfos[key]; | ||
| 87 | - if (item && item.parentId == GlobalConfig.activeDocId && item.curPageNo == GlobalConfig.activeDocCurPage) { | ||
| 88 | - curPageAnnos[key]=item; | ||
| 89 | - } | ||
| 90 | - } | ||
| 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); | ||
| 96 | - } | 116 | + //储存记录,用于返回上一步操作 |
| 117 | + this.insertHistory.push(whiteBoardModelPdu); | ||
| 118 | + | ||
| 119 | + let tableItemPdu = new pdu['RCRegistryTableItemPdu']; | ||
| 120 | + tableItemPdu.itemIdx = itemIdx;//直接用时间戳作为id | ||
| 121 | + tableItemPdu.registerObjId = ApeConsts.WHITEBOARD_OBJ_TABLE_ID; | ||
| 122 | + tableItemPdu.owner = 0;//收到flash的是这个值,不清楚先写固定 | ||
| 123 | + tableItemPdu.itemData = whiteBoardModelPdu.toArrayBuffer(); | ||
| 124 | + | ||
| 125 | + //insert | ||
| 126 | + let tableInsertItemPdu = new pdu['RCRegistryTableInsertItemPdu']; | ||
| 127 | + tableInsertItemPdu.type = pdu.RCPDU_REG_TABLE_INSERT_PDU;// | ||
| 128 | + tableInsertItemPdu.items.push(tableItemPdu); | ||
| 129 | + | ||
| 130 | + let updateObjPdu = new pdu['RCRegistryUpdateObjPdu']; | ||
| 131 | + updateObjPdu.objId = ApeConsts.WHITEBOARD_OBJ_TABLE_ID; | ||
| 132 | + updateObjPdu.subType = tableInsertItemPdu.type; | ||
| 133 | + updateObjPdu.userData = tableInsertItemPdu.toArrayBuffer(); | ||
| 134 | + | ||
| 135 | + //同步 | ||
| 136 | + let adapterItemPdu = new pdu['RCAdapterItemPdu']; | ||
| 137 | + adapterItemPdu.type = pdu.RCPDU_REG_UPDATE_OBJ; | ||
| 138 | + adapterItemPdu.itemData = updateObjPdu.toArrayBuffer(); | ||
| 139 | + | ||
| 140 | + let adapterPdu = new pdu['RCAdapterPdu']; | ||
| 141 | + adapterPdu.type = pdu.RCPDU_REG_ADAPTER; | ||
| 142 | + adapterPdu.item.push(adapterItemPdu); | ||
| 143 | + | ||
| 144 | + //loger.log("添加标注->itemIdx=" + tableItemPdu.itemIdx); | ||
| 145 | + this.sendUniform(adapterPdu, true); | ||
| 146 | + } | ||
| 147 | + | ||
| 148 | + //撤销上一步 | ||
| 149 | + sendGotoPrev() { | ||
| 150 | + loger.log("撤销上一步"); | ||
| 151 | + if (this.insertHistory == null || this.insertHistory.length < 1) { | ||
| 152 | + loger.warn("无法继续上一步操作,已经没有可以撤销的数据"); | ||
| 153 | + return; | ||
| 97 | } | 154 | } |
| 98 | - | ||
| 99 | - /////////////发送数据操作////////////////////////////////////////////////////// | ||
| 100 | - // 添加标注,发送信息 | ||
| 101 | - sendInsetAnnotaion(_param) { | ||
| 102 | - if (_param == null || EngineUtils.isEmptyObject(_param)) { | ||
| 103 | - loger.warn('添加标注失败->参数错误->',_param); | ||
| 104 | - this._emit(MessageTypes.MCU_ERROR, MessageTypes.ERR_APE_INTERFACE_PARAM_WRONG); | ||
| 105 | - return; | ||
| 106 | - } | ||
| 107 | - | ||
| 108 | - let itemIdx = EngineUtils.creatSoleNumberFromTimestamp();//创建时间戳,保证每条数据的唯一 | ||
| 109 | - let whiteBoardModelPdu = this.packPdu(_param, itemIdx); | ||
| 110 | - if (whiteBoardModelPdu == null) { | ||
| 111 | - loger.warn('添加标注失败-->参数错误->',_param); | ||
| 112 | - this._emit(MessageTypes.MCU_ERROR, MessageTypes.ERR_APE_INTERFACE_PARAM_WRONG); | ||
| 113 | - return; | ||
| 114 | - } | ||
| 115 | - //储存记录,用于返回上一步操作 | ||
| 116 | - this.insertHistory.push(whiteBoardModelPdu); | ||
| 117 | - | ||
| 118 | - let tableItemPdu = new pdu['RCRegistryTableItemPdu']; | ||
| 119 | - tableItemPdu.itemIdx = itemIdx;//直接用时间戳作为id | ||
| 120 | - tableItemPdu.registerObjId = ApeConsts.WHITEBOARD_OBJ_TABLE_ID; | ||
| 121 | - tableItemPdu.owner = 0;//收到flash的是这个值,不清楚先写固定 | ||
| 122 | - tableItemPdu.itemData = whiteBoardModelPdu.toArrayBuffer(); | ||
| 123 | - | ||
| 124 | - //insert | ||
| 125 | - let tableInsertItemPdu = new pdu['RCRegistryTableInsertItemPdu']; | ||
| 126 | - tableInsertItemPdu.type = pdu.RCPDU_REG_TABLE_INSERT_PDU;// | ||
| 127 | - tableInsertItemPdu.items.push(tableItemPdu); | ||
| 128 | - | ||
| 129 | - let updateObjPdu = new pdu['RCRegistryUpdateObjPdu']; | ||
| 130 | - updateObjPdu.objId = ApeConsts.WHITEBOARD_OBJ_TABLE_ID; | ||
| 131 | - updateObjPdu.subType = tableInsertItemPdu.type; | ||
| 132 | - updateObjPdu.userData = tableInsertItemPdu.toArrayBuffer(); | ||
| 133 | - | ||
| 134 | - //同步 | ||
| 135 | - let adapterItemPdu = new pdu['RCAdapterItemPdu']; | ||
| 136 | - adapterItemPdu.type = pdu.RCPDU_REG_UPDATE_OBJ; | ||
| 137 | - adapterItemPdu.itemData = updateObjPdu.toArrayBuffer(); | ||
| 138 | - | ||
| 139 | - let adapterPdu = new pdu['RCAdapterPdu']; | ||
| 140 | - adapterPdu.type = pdu.RCPDU_REG_ADAPTER; | ||
| 141 | - adapterPdu.item.push(adapterItemPdu); | ||
| 142 | - | ||
| 143 | - loger.log("添加标注->itemIdx=" + tableItemPdu.itemIdx); | ||
| 144 | - this.sendUniform(adapterPdu, true); | 155 | + let annoItem = this.insertHistory.pop(); |
| 156 | + if (annoItem) { | ||
| 157 | + let temAnnos = {}; | ||
| 158 | + temAnnos[annoItem.itemIdx] = annoItem; | ||
| 159 | + this.sendDeleteAnnotaion({"itemIdxArr": temAnnos}); | ||
| 145 | } | 160 | } |
| 146 | - | ||
| 147 | - //撤销上一步 | ||
| 148 | - sendGotoPrev() { | ||
| 149 | - loger.log("撤销上一步"); | ||
| 150 | - if (this.insertHistory == null || this.insertHistory.length < 1) { | ||
| 151 | - loger.warn("无法继续上一步操作,已经没有可以撤销的数据"); | ||
| 152 | - return; | ||
| 153 | - } | ||
| 154 | - let annoItem=this.insertHistory.pop(); | ||
| 155 | - if(annoItem){ | ||
| 156 | - let temAnnos={}; | ||
| 157 | - temAnnos[annoItem.itemIdx]=annoItem; | ||
| 158 | - this.sendDeleteAnnotaion({"itemIdxArr":temAnnos}); | ||
| 159 | - } | 161 | + } |
| 162 | + | ||
| 163 | + //删除当前页码的所有标注 | ||
| 164 | + sendDeleteCurPageAnnotation(_param) { | ||
| 165 | + this.insertHistory = []; | ||
| 166 | + let curPageAnnos = {}; | ||
| 167 | + for (let key in this.annoInfos) { | ||
| 168 | + let item = this.annoInfos[key]; | ||
| 169 | + if (item && item.parentId == GlobalConfig.activeDocId && item.curPageNo == GlobalConfig.activeDocCurPage) { | ||
| 170 | + //loger.log("sendDeleteCurPageAnnotation 删除当前页面上的标注", key); | ||
| 171 | + //this.sendDeleteAnnotaion({"itemIdx": key}); | ||
| 172 | + curPageAnnos[key] = item; | ||
| 173 | + } | ||
| 160 | } | 174 | } |
| 161 | 175 | ||
| 162 | - //删除当前页码的所有标注 | ||
| 163 | - sendDeleteCurPageAnnotation(_param) { | ||
| 164 | - this.insertHistory=[]; | ||
| 165 | - let curPageAnnos={}; | ||
| 166 | - for (let key in this.annoInfos) { | ||
| 167 | - let item = this.annoInfos[key]; | ||
| 168 | - if (item && item.parentId == GlobalConfig.activeDocId && item.curPageNo == GlobalConfig.activeDocCurPage) { | ||
| 169 | - //loger.log("sendDeleteCurPageAnnotation 删除当前页面上的标注", key); | ||
| 170 | - //this.sendDeleteAnnotaion({"itemIdx": key}); | ||
| 171 | - curPageAnnos[key]=item; | ||
| 172 | - } | ||
| 173 | - } | ||
| 174 | - | ||
| 175 | - this.sendDeleteAnnotaion({"itemIdxArr":curPageAnnos}); | 176 | + this.sendDeleteAnnotaion({"itemIdxArr": curPageAnnos}); |
| 177 | + } | ||
| 178 | + | ||
| 179 | + //删除所有标注 | ||
| 180 | + sendDeleteAllAnnotation(_param) { | ||
| 181 | + this.insertHistory = []; | ||
| 182 | + /* for (let key in this.annoInfos) { | ||
| 183 | + this.sendDeleteAnnotaion({"itemIdx": key}); | ||
| 184 | + }*/ | ||
| 185 | + this.sendDeleteAnnotaion({"itemIdxArr": this.annoInfos}); | ||
| 186 | + } | ||
| 187 | + | ||
| 188 | + //删除标注,发送信息 {"itemIdxArr":{}} | ||
| 189 | + sendDeleteAnnotaion(_param) { | ||
| 190 | + if (_param == null || _param.itemIdxArr == null) { | ||
| 191 | + loger.warn("要删除的数据不存在->", _param); | ||
| 192 | + return; | ||
| 176 | } | 193 | } |
| 177 | - | ||
| 178 | - //删除所有标注 | ||
| 179 | - sendDeleteAllAnnotation(_param) { | ||
| 180 | - this.insertHistory=[]; | ||
| 181 | - /* for (let key in this.annoInfos) { | ||
| 182 | - this.sendDeleteAnnotaion({"itemIdx": key}); | ||
| 183 | - }*/ | ||
| 184 | - this.sendDeleteAnnotaion({"itemIdxArr":this.annoInfos}); | 194 | + let adapterPdu = new pdu['RCAdapterPdu']; |
| 195 | + adapterPdu.type = pdu.RCPDU_REG_ADAPTER; | ||
| 196 | + | ||
| 197 | + /*for (let key in _param.itemIdxArr) { | ||
| 198 | + let tableDeleteItemPdu = new pdu['RCRegistryTableDeleteItemPdu']; | ||
| 199 | + tableDeleteItemPdu.type = pdu.RCPDU_REG_TABLE_DELETE_PDU;// | ||
| 200 | + tableDeleteItemPdu.itemIdx = parseInt(key);//这里需要设置要删除的数据的itemIdx,每条数据的这个id都不一样 | ||
| 201 | + | ||
| 202 | + let updateObjPdu = new pdu['RCRegistryUpdateObjPdu']; | ||
| 203 | + updateObjPdu.objId = ApeConsts.WHITEBOARD_OBJ_TABLE_ID; | ||
| 204 | + updateObjPdu.subType = tableDeleteItemPdu.type; | ||
| 205 | + updateObjPdu.userData = tableDeleteItemPdu.toArrayBuffer(); | ||
| 206 | + | ||
| 207 | + //同步 | ||
| 208 | + let adapterItemPdu = new pdu['RCAdapterItemPdu']; | ||
| 209 | + adapterItemPdu.type = pdu.RCPDU_REG_UPDATE_OBJ; | ||
| 210 | + adapterItemPdu.itemData = updateObjPdu.toArrayBuffer(); | ||
| 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都不一样 | ||
| 185 | } | 217 | } |
| 186 | - | ||
| 187 | - //删除标注,发送信息 {"itemIdxArr":{}} | ||
| 188 | - sendDeleteAnnotaion(_param) { | ||
| 189 | - if (_param == null||_param.itemIdxArr==null) { | ||
| 190 | - loger.warn("要删除的数据不存在->",_param); | ||
| 191 | - return; | ||
| 192 | - } | ||
| 193 | - let adapterPdu = new pdu['RCAdapterPdu']; | ||
| 194 | - adapterPdu.type = pdu.RCPDU_REG_ADAPTER; | ||
| 195 | - | ||
| 196 | - for (let key in _param.itemIdxArr) { | ||
| 197 | - let tableDeleteItemPdu = new pdu['RCRegistryTableDeleteItemPdu']; | ||
| 198 | - tableDeleteItemPdu.type = pdu.RCPDU_REG_TABLE_DELETE_PDU;// | ||
| 199 | - tableDeleteItemPdu.itemIdx = parseInt(key);//这里需要设置要删除的数据的itemIdx,每条数据的这个id都不一样 | ||
| 200 | - | ||
| 201 | - let updateObjPdu = new pdu['RCRegistryUpdateObjPdu']; | ||
| 202 | - updateObjPdu.objId = ApeConsts.WHITEBOARD_OBJ_TABLE_ID; | ||
| 203 | - updateObjPdu.subType = tableDeleteItemPdu.type; | ||
| 204 | - updateObjPdu.userData = tableDeleteItemPdu.toArrayBuffer(); | ||
| 205 | - | ||
| 206 | - //同步 | ||
| 207 | - let adapterItemPdu = new pdu['RCAdapterItemPdu']; | ||
| 208 | - adapterItemPdu.type = pdu.RCPDU_REG_UPDATE_OBJ; | ||
| 209 | - adapterItemPdu.itemData = updateObjPdu.toArrayBuffer(); | ||
| 210 | - adapterPdu.item.push(adapterItemPdu); | ||
| 211 | - } | ||
| 212 | - loger.log("发送删除白板标注数据->长度:" + adapterPdu.item.length); | ||
| 213 | - this.sendUniform(adapterPdu, true); | 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); | ||
| 231 | + this.sendUniform(adapterPdu, true); | ||
| 232 | + } | ||
| 233 | + | ||
| 234 | + /*sendDeleteAnnotaion(_param) { | ||
| 235 | + if (_param == null) { | ||
| 236 | + loger.warn("要删除的数据不存在"); | ||
| 237 | + return; | ||
| 238 | + } | ||
| 239 | + //{"itemIdx":itemIdx} | ||
| 240 | + let tableDeleteItemPdu = new pdu['RCRegistryTableDeleteItemPdu']; | ||
| 241 | + //optional RCPduType_E type = 1 [default = RCPDU_REG_TABLE_DELETE_PDU]; | ||
| 242 | + // repeated uint32 item_idx = 2; | ||
| 243 | + tableDeleteItemPdu.type = pdu.RCPDU_REG_TABLE_DELETE_PDU;// | ||
| 244 | + tableDeleteItemPdu.itemIdx = parseInt(_param.itemIdx);//这里需要设置要删除的数据的itemIdx,每条数据的这个id都不一样 | ||
| 245 | + | ||
| 246 | + let updateObjPdu = new pdu['RCRegistryUpdateObjPdu']; | ||
| 247 | + updateObjPdu.objId = ApeConsts.WHITEBOARD_OBJ_TABLE_ID; | ||
| 248 | + updateObjPdu.subType = tableDeleteItemPdu.type; | ||
| 249 | + updateObjPdu.userData = tableDeleteItemPdu.toArrayBuffer(); | ||
| 250 | + | ||
| 251 | + //同步 | ||
| 252 | + let adapterItemPdu = new pdu['RCAdapterItemPdu']; | ||
| 253 | + adapterItemPdu.type = pdu.RCPDU_REG_UPDATE_OBJ; | ||
| 254 | + adapterItemPdu.itemData = updateObjPdu.toArrayBuffer(); | ||
| 255 | + | ||
| 256 | + let adapterPdu = new pdu['RCAdapterPdu']; | ||
| 257 | + adapterPdu.type = pdu.RCPDU_REG_ADAPTER; | ||
| 258 | + adapterPdu.item.push(adapterItemPdu); | ||
| 259 | + | ||
| 260 | + loger.log("白板发送删除数据->" + tableDeleteItemPdu.itemIdx); | ||
| 261 | + this.sendUniform(adapterPdu, true); | ||
| 262 | + }*/ | ||
| 263 | + | ||
| 264 | + | ||
| 265 | + //更新标注 | ||
| 266 | + sendUpdaterAnnotaion(_param) { | ||
| 267 | + if (_param == null || _param.itemIdxArr == null) { | ||
| 268 | + loger.log('更新标注数据->失败->参数错误'); | ||
| 269 | + this._emit(MessageTypes.MCU_ERROR, MessageTypes.ERR_APE_INTERFACE_PARAM_WRONG); | ||
| 270 | + return; | ||
| 214 | } | 271 | } |
| 215 | - /*sendDeleteAnnotaion(_param) { | ||
| 216 | - if (_param == null) { | ||
| 217 | - loger.warn("要删除的数据不存在"); | ||
| 218 | - return; | ||
| 219 | - } | ||
| 220 | - //{"itemIdx":itemIdx} | ||
| 221 | - let tableDeleteItemPdu = new pdu['RCRegistryTableDeleteItemPdu']; | ||
| 222 | - //optional RCPduType_E type = 1 [default = RCPDU_REG_TABLE_DELETE_PDU]; | ||
| 223 | - // repeated uint32 item_idx = 2; | ||
| 224 | - tableDeleteItemPdu.type = pdu.RCPDU_REG_TABLE_DELETE_PDU;// | ||
| 225 | - tableDeleteItemPdu.itemIdx = parseInt(_param.itemIdx);//这里需要设置要删除的数据的itemIdx,每条数据的这个id都不一样 | ||
| 226 | - | ||
| 227 | - let updateObjPdu = new pdu['RCRegistryUpdateObjPdu']; | ||
| 228 | - updateObjPdu.objId = ApeConsts.WHITEBOARD_OBJ_TABLE_ID; | ||
| 229 | - updateObjPdu.subType = tableDeleteItemPdu.type; | ||
| 230 | - updateObjPdu.userData = tableDeleteItemPdu.toArrayBuffer(); | ||
| 231 | - | ||
| 232 | - //同步 | ||
| 233 | - let adapterItemPdu = new pdu['RCAdapterItemPdu']; | ||
| 234 | - adapterItemPdu.type = pdu.RCPDU_REG_UPDATE_OBJ; | ||
| 235 | - adapterItemPdu.itemData = updateObjPdu.toArrayBuffer(); | ||
| 236 | - | ||
| 237 | - let adapterPdu = new pdu['RCAdapterPdu']; | ||
| 238 | - adapterPdu.type = pdu.RCPDU_REG_ADAPTER; | ||
| 239 | - adapterPdu.item.push(adapterItemPdu); | ||
| 240 | - | ||
| 241 | - loger.log("白板发送删除数据->" + tableDeleteItemPdu.itemIdx); | ||
| 242 | - this.sendUniform(adapterPdu, true); | ||
| 243 | - }*/ | ||
| 244 | - | ||
| 245 | - | ||
| 246 | - | ||
| 247 | - | ||
| 248 | - //更新标注 | ||
| 249 | - sendUpdaterAnnotaion(_param) { | ||
| 250 | - if (_param == null ||_param.itemIdxArr==null) { | ||
| 251 | - loger.log('更新标注数据->失败->参数错误'); | ||
| 252 | - this._emit(MessageTypes.MCU_ERROR, MessageTypes.ERR_APE_INTERFACE_PARAM_WRONG); | ||
| 253 | - return; | ||
| 254 | - } | ||
| 255 | - let adapterPdu = new pdu['RCAdapterPdu']; | ||
| 256 | - adapterPdu.type = pdu.RCPDU_REG_ADAPTER; | ||
| 257 | - for (let key in _param.itemIdxArr) { | ||
| 258 | - let itemIdx =parseInt(key); | ||
| 259 | - let item= _param.itemIdxArr[key]; | ||
| 260 | - let whiteBoardModelPdu = this.packPdu(item, itemIdx); | ||
| 261 | - if (whiteBoardModelPdu == null) { | ||
| 262 | - loger.log('更新标注数据->失败->数据无效'); | ||
| 263 | - this._emit(MessageTypes.MCU_ERROR, MessageTypes.ERR_APE_INTERFACE_PARAM_WRONG); | ||
| 264 | - continue; | ||
| 265 | - } | ||
| 266 | - let tableItemPdu = new pdu['RCRegistryTableItemPdu']; | ||
| 267 | - tableItemPdu.itemIdx = itemIdx; | ||
| 268 | - tableItemPdu.owner = 0;//收到flash的是这个值,不清楚先写固定 | ||
| 269 | - tableItemPdu.registerObjId = ApeConsts.WHITEBOARD_OBJ_TABLE_ID; | ||
| 270 | - tableItemPdu.itemData = whiteBoardModelPdu.toArrayBuffer(); | ||
| 271 | - | ||
| 272 | - //updater | ||
| 273 | - let whiteBoardUpdateItem = new pdu['RCRegistryTableUpdateItemPdu']; | ||
| 274 | - whiteBoardUpdateItem.type = pdu.RCPDU_REG_TABLE_UPDATE_PDU;// | ||
| 275 | - whiteBoardUpdateItem.items.push(tableItemPdu); | ||
| 276 | - | ||
| 277 | - let updateObjPdu = new pdu['RCRegistryUpdateObjPdu']; | ||
| 278 | - updateObjPdu.objId = ApeConsts.WHITEBOARD_OBJ_TABLE_ID; | ||
| 279 | - updateObjPdu.subType = whiteBoardUpdateItem.type; | ||
| 280 | - updateObjPdu.userData = whiteBoardUpdateItem.toArrayBuffer(); | ||
| 281 | - | ||
| 282 | - //同步 | ||
| 283 | - let adapterItemPdu = new pdu['RCAdapterItemPdu']; | ||
| 284 | - adapterItemPdu.type = pdu.RCPDU_REG_UPDATE_OBJ; | ||
| 285 | - adapterItemPdu.itemData = updateObjPdu.toArrayBuffer(); | ||
| 286 | - adapterPdu.item.push(adapterItemPdu); | ||
| 287 | - } | ||
| 288 | - let len=adapterPdu.item.length | ||
| 289 | - if(len>0){ | ||
| 290 | - loger.log("更新标注数据->发送数量->",adapterPdu.item.length); | ||
| 291 | - this.sendUniform(adapterPdu, true); | ||
| 292 | - }else { | ||
| 293 | - loger.log("更新标注数据->没有可更新的数据"); | ||
| 294 | - } | 272 | + let adapterPdu = new pdu['RCAdapterPdu']; |
| 273 | + adapterPdu.type = pdu.RCPDU_REG_ADAPTER; | ||
| 274 | + for (let key in _param.itemIdxArr) { | ||
| 275 | + let itemIdx = parseInt(key); | ||
| 276 | + let item = _param.itemIdxArr[key]; | ||
| 277 | + let whiteBoardModelPdu = this.packPdu(item, itemIdx); | ||
| 278 | + if (whiteBoardModelPdu == null) { | ||
| 279 | + loger.log('更新标注数据->失败->数据无效'); | ||
| 280 | + this._emit(MessageTypes.MCU_ERROR, MessageTypes.ERR_APE_INTERFACE_PARAM_WRONG); | ||
| 281 | + continue; | ||
| 282 | + } | ||
| 283 | + let tableItemPdu = new pdu['RCRegistryTableItemPdu']; | ||
| 284 | + tableItemPdu.itemIdx = itemIdx; | ||
| 285 | + tableItemPdu.owner = 0;//收到flash的是这个值,不清楚先写固定 | ||
| 286 | + tableItemPdu.registerObjId = ApeConsts.WHITEBOARD_OBJ_TABLE_ID; | ||
| 287 | + tableItemPdu.itemData = whiteBoardModelPdu.toArrayBuffer(); | ||
| 288 | + | ||
| 289 | + //updater | ||
| 290 | + let whiteBoardUpdateItem = new pdu['RCRegistryTableUpdateItemPdu']; | ||
| 291 | + whiteBoardUpdateItem.type = pdu.RCPDU_REG_TABLE_UPDATE_PDU;// | ||
| 292 | + whiteBoardUpdateItem.items.push(tableItemPdu); | ||
| 293 | + | ||
| 294 | + let updateObjPdu = new pdu['RCRegistryUpdateObjPdu']; | ||
| 295 | + updateObjPdu.objId = ApeConsts.WHITEBOARD_OBJ_TABLE_ID; | ||
| 296 | + updateObjPdu.subType = whiteBoardUpdateItem.type; | ||
| 297 | + updateObjPdu.userData = whiteBoardUpdateItem.toArrayBuffer(); | ||
| 298 | + | ||
| 299 | + //同步 | ||
| 300 | + let adapterItemPdu = new pdu['RCAdapterItemPdu']; | ||
| 301 | + adapterItemPdu.type = pdu.RCPDU_REG_UPDATE_OBJ; | ||
| 302 | + adapterItemPdu.itemData = updateObjPdu.toArrayBuffer(); | ||
| 303 | + adapterPdu.item.push(adapterItemPdu); | ||
| 295 | } | 304 | } |
| 296 | - | ||
| 297 | - /////收到消息处理///////////////////////////////////////////////////////////////////////////////// | ||
| 298 | - tableInsertHandler(owner, itemIdx, itemData) { | ||
| 299 | - let whiteBoardModel = this.unPackPdu(owner, itemIdx, itemData); | ||
| 300 | - loger.log('tableInsertHandler',"activeDocId->",GlobalConfig.activeDocId ,"parentId->", whiteBoardModel.parentId); | ||
| 301 | - //loger.log(whiteBoardModel); | ||
| 302 | - if (whiteBoardModel) { | ||
| 303 | - if (GlobalConfig.activeDocId == whiteBoardModel.parentId && GlobalConfig.activeDocCurPage == whiteBoardModel.curPageNo) { | ||
| 304 | - //loger.log('显示新增的标注->'); | ||
| 305 | - this.insertAandShowAnnotaion(whiteBoardModel); | ||
| 306 | - } | ||
| 307 | - } | 305 | + let len = adapterPdu.item.length |
| 306 | + if (len > 0) { | ||
| 307 | + loger.log("更新标注数据->发送数量->", adapterPdu.item.length); | ||
| 308 | + this.sendUniform(adapterPdu, true); | ||
| 309 | + } else { | ||
| 310 | + loger.log("更新标注数据->没有可更新的数据"); | ||
| 308 | } | 311 | } |
| 309 | - | ||
| 310 | - tableUpdateHandler(owner, itemIdx, itemData) { | ||
| 311 | - //白板标注数据不在这个函数中处理,在tableUpdateApeHandler中处理 | ||
| 312 | - /*let whiteBoardModel = this.unPackPdu(owner, itemIdx, itemData); | ||
| 313 | - loger.log('tableUpdateHandler',"activeDocId->",GlobalConfig.activeDocId ,"parentId->", whiteBoardModel.parentId); | ||
| 314 | - loger.log(whiteBoardModel); | ||
| 315 | - if (whiteBoardModel && whiteBoardModel.parentId == GlobalConfig.activeDocId && whiteBoardModel.curPageNo == GlobalConfig.activeDocCurPage) { | ||
| 316 | - this.updateAandShowAnnotaion(); | ||
| 317 | - }*/ | 312 | + } |
| 313 | + | ||
| 314 | + /////收到消息处理///////////////////////////////////////////////////////////////////////////////// | ||
| 315 | + tableInsertHandler(owner, itemIdx, itemData) { | ||
| 316 | + let whiteBoardModel = this.unPackPdu(owner, itemIdx, itemData); | ||
| 317 | + loger.log('新增标注', "activeDocId->", GlobalConfig.activeDocId, "parentId->", whiteBoardModel.parentId); | ||
| 318 | + //loger.log(whiteBoardModel); | ||
| 319 | + if (whiteBoardModel) { | ||
| 320 | + if (GlobalConfig.activeDocId == whiteBoardModel.parentId && GlobalConfig.activeDocCurPage == whiteBoardModel.curPageNo) { | ||
| 321 | + //loger.log('显示新增的标注->'); | ||
| 322 | + this.insertAandShowAnnotaion(whiteBoardModel); | ||
| 323 | + } | ||
| 318 | } | 324 | } |
| 319 | - | ||
| 320 | - tableUpdateApeHandler(_tableUpdateItems,_seekTime){ | ||
| 321 | - let tableUpdateItemsLen = _tableUpdateItems.length; | ||
| 322 | - loger.log('白板标注更新->',"activeDocId->",GlobalConfig.activeDocId ,"数量->", tableUpdateItemsLen); | ||
| 323 | - for (let i = 0; i < tableUpdateItemsLen; ++i) { | ||
| 324 | - let tableItem = _tableUpdateItems[i]; | ||
| 325 | - let whiteBoardModel = this.unPackPdu(tableItem.owner, tableItem.itemIdx, tableItem.itemData); | ||
| 326 | - } | ||
| 327 | - this.updateAandShowAnnotaion(); | 325 | + } |
| 326 | + | ||
| 327 | + tableUpdateHandler(owner, itemIdx, itemData) { | ||
| 328 | + //白板标注数据不在这个函数中处理,在tableUpdateApeHandler中处理 | ||
| 329 | + /*let whiteBoardModel = this.unPackPdu(owner, itemIdx, itemData); | ||
| 330 | + loger.log('tableUpdateHandler',"activeDocId->",GlobalConfig.activeDocId ,"parentId->", whiteBoardModel.parentId); | ||
| 331 | + loger.log(whiteBoardModel); | ||
| 332 | + if (whiteBoardModel && whiteBoardModel.parentId == GlobalConfig.activeDocId && whiteBoardModel.curPageNo == GlobalConfig.activeDocCurPage) { | ||
| 333 | + this.updateAandShowAnnotaion(); | ||
| 334 | + }*/ | ||
| 335 | + } | ||
| 336 | + | ||
| 337 | + tableUpdateApeHandler(_tableUpdateItems, _seekTime) { | ||
| 338 | + let tableUpdateItemsLen = _tableUpdateItems.length; | ||
| 339 | + loger.log('白板标注更新->', "activeDocId->", GlobalConfig.activeDocId, "数量->", tableUpdateItemsLen); | ||
| 340 | + for (let i = 0; i < tableUpdateItemsLen; ++i) { | ||
| 341 | + let tableItem = _tableUpdateItems[i]; | ||
| 342 | + let whiteBoardModel = this.unPackPdu(tableItem.owner, tableItem.itemIdx, tableItem.itemData); | ||
| 328 | } | 343 | } |
| 329 | - | ||
| 330 | - tableDeleteHandler(object_id, tableDeleteData) { | ||
| 331 | - // console.log("白板收到数据,tableDeleteHandler object_id="+object_id);//((18<< 16) + 1)=1179649 | ||
| 332 | - loger.log('删除白板数据->', object_id, tableDeleteData);//["tableDeleteHandler",1179649,{"type":231,"itemIdx":[1486301768]}] | ||
| 333 | - if (tableDeleteData && tableDeleteData.itemIdx) { | ||
| 334 | - let len = tableDeleteData.itemIdx.length; | ||
| 335 | - let itemIdxs = tableDeleteData.itemIdx; | ||
| 336 | - for (let i = 0; i < len; i++) { | ||
| 337 | - if (this.annoInfos[itemIdxs[i]]) { | ||
| 338 | - loger.log("删除白板数据:", itemIdxs[i]); | ||
| 339 | - delete this.annoInfos[itemIdxs[i]]; | ||
| 340 | - } | ||
| 341 | - } | 344 | + this.updateAandShowAnnotaion(); |
| 345 | + } | ||
| 346 | + | ||
| 347 | + tableDeleteHandler(object_id, tableDeleteData) { | ||
| 348 | + // console.log("白板收到数据,tableDeleteHandler object_id="+object_id);//((18<< 16) + 1)=1179649 | ||
| 349 | + loger.log('删除白板数据->', object_id, tableDeleteData);//["tableDeleteHandler",1179649,{"type":231,"itemIdx":[1486301768]}] | ||
| 350 | + if (tableDeleteData && tableDeleteData.itemIdx) { | ||
| 351 | + let len = tableDeleteData.itemIdx.length; | ||
| 352 | + let itemIdxs = tableDeleteData.itemIdx; | ||
| 353 | + for (let i = 0; i < len; i++) { | ||
| 354 | + if (this.annoInfos[itemIdxs[i]]) { | ||
| 355 | + //loger.log("删除白板数据:", itemIdxs[i]); | ||
| 356 | + delete this.annoInfos[itemIdxs[i]]; | ||
| 342 | } | 357 | } |
| 343 | - this.updateAandShowAnnotaion(); | 358 | + } |
| 344 | } | 359 | } |
| 360 | + this.updateAandShowAnnotaion(); | ||
| 361 | + } | ||
| 345 | 362 | ||
| 346 | - //文档更新,白板也要更新 | ||
| 347 | - docUpdateHandler(_data) { | ||
| 348 | - //loger.log("白板收到文档更新的消息"); | ||
| 349 | - //loger.log(_data); | 363 | + //文档更新,白板也要更新 |
| 364 | + docUpdateHandler(_data) { | ||
| 365 | + //loger.log("白板收到文档更新的消息"); | ||
| 366 | + //loger.log(_data); | ||
| 350 | 367 | ||
| 351 | - //如果切换了文档或翻页,清除之前的添加步骤记录 | ||
| 352 | - if (_data.action == ApeConsts.DOC_ACTION_SWITCH_DOC || _data.action == ApeConsts.DOC_ACTION_SWITCH_PAGE) { | ||
| 353 | - this.insertHistory = []; | ||
| 354 | - } | ||
| 355 | - this.updateAandShowAnnotaion(); | 368 | + //如果切换了文档或翻页,清除之前的添加步骤记录 |
| 369 | + if (_data.action == ApeConsts.DOC_ACTION_SWITCH_DOC || _data.action == ApeConsts.DOC_ACTION_SWITCH_PAGE) { | ||
| 370 | + this.insertHistory = []; | ||
| 356 | } | 371 | } |
| 357 | - | ||
| 358 | - //删除白板数据 | ||
| 359 | - docDeleteHandler(_parentId) { | ||
| 360 | - loger.log("白板收到文档删除的消息->", _parentId); | ||
| 361 | - for (let key in this.annoInfos) { | ||
| 362 | - let item = this.annoInfos[key]; | ||
| 363 | - if (item && item.parentId == _parentId) { | ||
| 364 | - loger.log("文档删除->白板数据也删除,itemIdx:" + key, "_parentId:", _parentId); | ||
| 365 | - this.sendDeleteAnnotaion({"itemIdx": key}); | ||
| 366 | - } | ||
| 367 | - } | ||
| 368 | - | ||
| 369 | - //判断当前是否有文档在显示,如果文档没有显示就显示默认的白板数据 | ||
| 370 | - if(GlobalConfig.activeDocId==0){ | ||
| 371 | - this.insertHistory=[]; | ||
| 372 | - this.updateAandShowAnnotaion(); | ||
| 373 | - } | 372 | + this.updateAandShowAnnotaion(); |
| 373 | + } | ||
| 374 | + | ||
| 375 | + //删除白板数据 | ||
| 376 | + docDeleteHandler(_parentId) { | ||
| 377 | + loger.log("白板收到文档删除的消息->", _parentId); | ||
| 378 | + for (let key in this.annoInfos) { | ||
| 379 | + let item = this.annoInfos[key]; | ||
| 380 | + if (item && item.parentId == _parentId) { | ||
| 381 | + loger.log("文档删除->白板数据也删除,itemIdx:" + key, "_parentId:", _parentId); | ||
| 382 | + this.sendDeleteAnnotaion({"itemIdx": key}); | ||
| 383 | + } | ||
| 374 | } | 384 | } |
| 375 | 385 | ||
| 376 | - //增量添加标注 | ||
| 377 | - insertAandShowAnnotaion(_item) { | ||
| 378 | - let annotaionItems = [_item]; | ||
| 379 | - var updateObj = { | ||
| 380 | - "isFresh": false, | ||
| 381 | - "annotaionItems": annotaionItems | ||
| 382 | - }; | ||
| 383 | - //loger.log("新增一条标注数据->显示到界面"); | ||
| 384 | - this._emit(MessageTypes.WHITEBOARD_ANNOTATION_UPDATE, updateObj); | 386 | + //判断当前是否有文档在显示,如果文档没有显示就显示默认的白板数据 |
| 387 | + if (GlobalConfig.activeDocId == 0) { | ||
| 388 | + this.insertHistory = []; | ||
| 389 | + this.updateAandShowAnnotaion(); | ||
| 385 | } | 390 | } |
| 386 | - | ||
| 387 | - //整体更新并且显示标注 | ||
| 388 | - updateAandShowAnnotaion() { | ||
| 389 | - let annotaionItems = []; | ||
| 390 | - for (let key in this.annoInfos) { | ||
| 391 | - let item = this.annoInfos[key]; | ||
| 392 | - if (item && item.parentId == GlobalConfig.activeDocId && item.curPageNo == GlobalConfig.activeDocCurPage) { | ||
| 393 | - annotaionItems.push(item); | ||
| 394 | - //loger.log("显示和文档对应的白板数据->:", item.itemIdx, "doc->itemIdx:", GlobalConfig.activeDocId, "curPageNo:", GlobalConfig.activeDocCurPage); | ||
| 395 | - } else { | ||
| 396 | - //loger.log("不显示白板数据docUpdateHandler->",item.itemIdx); | ||
| 397 | - } | ||
| 398 | - } | ||
| 399 | - var updateObj = { | ||
| 400 | - "isFresh": true,//清除现有显示的数据 | ||
| 401 | - "annotaionItems": annotaionItems //最新需要显示的数据 | ||
| 402 | - }; | ||
| 403 | - //loger.log("清除当前显示的标注---->重绘标注数量--->", annotaionItems.length,"当前文档信息--->DocId->",GlobalConfig.activeDocId,"curPageNo->",GlobalConfig.activeDocCurPage); | ||
| 404 | - this._emit(MessageTypes.WHITEBOARD_ANNOTATION_UPDATE, updateObj); | 391 | + } |
| 392 | + | ||
| 393 | + //增量添加标注 | ||
| 394 | + insertAandShowAnnotaion(_item) { | ||
| 395 | + let annotaionItems = [_item]; | ||
| 396 | + var updateObj = { | ||
| 397 | + "isFresh": false, | ||
| 398 | + "annotaionItems": annotaionItems | ||
| 399 | + }; | ||
| 400 | + //loger.log("新增一条标注数据->显示到界面"); | ||
| 401 | + this._emit(MessageTypes.WHITEBOARD_ANNOTATION_UPDATE, updateObj); | ||
| 402 | + } | ||
| 403 | + | ||
| 404 | + //整体更新并且显示标注 | ||
| 405 | + updateAandShowAnnotaion() { | ||
| 406 | + let annotaionItems = []; | ||
| 407 | + for (let key in this.annoInfos) { | ||
| 408 | + let item = this.annoInfos[key]; | ||
| 409 | + if (item && item.parentId == GlobalConfig.activeDocId && item.curPageNo == GlobalConfig.activeDocCurPage) { | ||
| 410 | + annotaionItems.push(item); | ||
| 411 | + //loger.log("显示和文档对应的白板数据->:", item.itemIdx, "doc->itemIdx:", GlobalConfig.activeDocId, "curPageNo:", GlobalConfig.activeDocCurPage); | ||
| 412 | + } else { | ||
| 413 | + //loger.log("不显示白板数据docUpdateHandler->",item.itemIdx); | ||
| 414 | + } | ||
| 405 | } | 415 | } |
| 406 | - | ||
| 407 | - ///////白板数据的封包和解包///////////////////////////////////////// | ||
| 408 | - packPdu(_param, _itemIdx) { | ||
| 409 | - //验证坐标点集合数组是否合法 | ||
| 410 | - if (_param.pointGroup == null || _param.pointGroup.length < 1) { | ||
| 411 | - this._emit(MessageTypes.MCU_ERROR, MessageTypes.ERR_APE_INTERFACE_PARAM_WRONG); | ||
| 412 | - return null; | ||
| 413 | - } | ||
| 414 | - //判断type类型,根据type设置不同的参数 | ||
| 415 | - let whiteBoardModelPdu = new pdu['RCWhiteBoardDataModelPdu']; | ||
| 416 | - switch (_param.type) { | ||
| 417 | - case TYPE_BIGHT: | ||
| 418 | - break; | ||
| 419 | - case TYPE_LINE: | ||
| 420 | - break; | ||
| 421 | - case TYPE_RECT: | ||
| 422 | - break; | ||
| 423 | - case TYPE_CIRCLE: | ||
| 424 | - whiteBoardModelPdu.radius = parseInt(_param.radius); | ||
| 425 | - break; | ||
| 426 | - case TYPE_TEXT: | ||
| 427 | - whiteBoardModelPdu.fontSize = parseInt(_param.fontSize); | ||
| 428 | - whiteBoardModelPdu.fontName = _param.fontName || null; | ||
| 429 | - whiteBoardModelPdu.text = _param.text || null; | ||
| 430 | - break; | ||
| 431 | - default: | ||
| 432 | - //其它类型不做处理 | ||
| 433 | - return null; | ||
| 434 | - break; | ||
| 435 | - } | ||
| 436 | - //下面4个是必须的参数 | ||
| 437 | - whiteBoardModelPdu.type = _param.type; | ||
| 438 | - whiteBoardModelPdu.itemIdx = _itemIdx; | ||
| 439 | - whiteBoardModelPdu.initiator = GlobalConfig.nodeId; | ||
| 440 | - | ||
| 441 | - whiteBoardModelPdu.parentId = GlobalConfig.activeDocId;//当前激活的文档id | ||
| 442 | - whiteBoardModelPdu.curPageNo = GlobalConfig.activeDocCurPage;//当前激活的文档页码 | ||
| 443 | - | ||
| 444 | - whiteBoardModelPdu.pointGroup = EngineUtils.arrayToJsonString(_param.pointGroup); | ||
| 445 | - whiteBoardModelPdu.color = _param.color || "#000000"; | ||
| 446 | - whiteBoardModelPdu.thickness = _param.thickness ||1; | ||
| 447 | - | ||
| 448 | - return whiteBoardModelPdu; | 416 | + var updateObj = { |
| 417 | + "isFresh": true,//清除现有显示的数据 | ||
| 418 | + "annotaionItems": annotaionItems //最新需要显示的数据 | ||
| 419 | + }; | ||
| 420 | + //loger.log("清除当前显示的标注---->重绘标注数量--->", annotaionItems.length,"当前文档信息--->DocId->",GlobalConfig.activeDocId,"curPageNo->",GlobalConfig.activeDocCurPage); | ||
| 421 | + this._emit(MessageTypes.WHITEBOARD_ANNOTATION_UPDATE, updateObj); | ||
| 422 | + } | ||
| 423 | + | ||
| 424 | + ///////白板数据的封包和解包///////////////////////////////////////// | ||
| 425 | + packPdu(_param, _itemIdx) { | ||
| 426 | + //验证坐标点集合数组是否合法 | ||
| 427 | + if (_param.pointGroup == null || _param.pointGroup.length < 1) { | ||
| 428 | + this._emit(MessageTypes.MCU_ERROR, MessageTypes.ERR_APE_INTERFACE_PARAM_WRONG); | ||
| 429 | + return null; | ||
| 449 | } | 430 | } |
| 450 | - | ||
| 451 | - unPackPdu(owner, itemIdx, itemData) { | ||
| 452 | - try { | ||
| 453 | - //loger.log("白板标注数据->unPackPdu"); | ||
| 454 | - let whiteBoardModelPdu = pdu['RCWhiteBoardDataModelPdu'].decode(itemData); | ||
| 455 | - let _pointGroup = EngineUtils.arrayFromJsonString(whiteBoardModelPdu.pointGroup); | ||
| 456 | - whiteBoardModelPdu.pointGroup = _pointGroup; | ||
| 457 | - this.annoInfos[itemIdx] = whiteBoardModelPdu; | ||
| 458 | - return whiteBoardModelPdu; | ||
| 459 | - } catch (err) { | ||
| 460 | - loger.log("白板标注数据->unPackPdu->Pdu解析错误,itemIdx=" + itemIdx + " err:" + err.message); | ||
| 461 | - } | 431 | + //判断type类型,根据type设置不同的参数 |
| 432 | + let whiteBoardModelPdu = new pdu['RCWhiteBoardDataModelPdu']; | ||
| 433 | + switch (_param.type) { | ||
| 434 | + case TYPE_BIGHT: | ||
| 435 | + break; | ||
| 436 | + case TYPE_LINE: | ||
| 437 | + break; | ||
| 438 | + case TYPE_RECT: | ||
| 439 | + break; | ||
| 440 | + case TYPE_CIRCLE: | ||
| 441 | + whiteBoardModelPdu.radius = parseInt(_param.radius); | ||
| 442 | + break; | ||
| 443 | + case TYPE_TEXT: | ||
| 444 | + whiteBoardModelPdu.fontSize = parseInt(_param.fontSize); | ||
| 445 | + whiteBoardModelPdu.fontName = _param.fontName || null; | ||
| 446 | + whiteBoardModelPdu.text = _param.text || null; | ||
| 447 | + break; | ||
| 448 | + default: | ||
| 449 | + //其它类型不做处理 | ||
| 462 | return null; | 450 | return null; |
| 451 | + break; | ||
| 452 | + } | ||
| 453 | + //下面4个是必须的参数 | ||
| 454 | + whiteBoardModelPdu.type = _param.type; | ||
| 455 | + whiteBoardModelPdu.itemIdx = _itemIdx; | ||
| 456 | + whiteBoardModelPdu.initiator = GlobalConfig.nodeId; | ||
| 457 | + | ||
| 458 | + whiteBoardModelPdu.parentId = GlobalConfig.activeDocId;//当前激活的文档id | ||
| 459 | + whiteBoardModelPdu.curPageNo = GlobalConfig.activeDocCurPage;//当前激活的文档页码 | ||
| 460 | + | ||
| 461 | + whiteBoardModelPdu.pointGroup = EngineUtils.arrayToJsonString(_param.pointGroup); | ||
| 462 | + whiteBoardModelPdu.color = _param.color || "#000000"; | ||
| 463 | + whiteBoardModelPdu.thickness = _param.thickness || 1; | ||
| 464 | + | ||
| 465 | + return whiteBoardModelPdu; | ||
| 466 | + } | ||
| 467 | + | ||
| 468 | + unPackPdu(owner, itemIdx, itemData) { | ||
| 469 | + try { | ||
| 470 | + //loger.log("白板标注数据->unPackPdu"); | ||
| 471 | + let whiteBoardModelPdu = pdu['RCWhiteBoardDataModelPdu'].decode(itemData); | ||
| 472 | + let _pointGroup = EngineUtils.arrayFromJsonString(whiteBoardModelPdu.pointGroup); | ||
| 473 | + whiteBoardModelPdu.pointGroup = _pointGroup; | ||
| 474 | + this.annoInfos[itemIdx] = whiteBoardModelPdu; | ||
| 475 | + return whiteBoardModelPdu; | ||
| 476 | + } catch (err) { | ||
| 477 | + loger.log("白板标注数据->unPackPdu->Pdu解析错误,itemIdx=" + itemIdx + " err:" + err.message); | ||
| 463 | } | 478 | } |
| 479 | + return null; | ||
| 480 | + } | ||
| 464 | 481 | ||
| 465 | } | 482 | } |
| 466 | 483 |
-
请 注册 或 登录 后发表评论