李勇

修复host第一次进入课堂,文档数据insert同步的时候会把所有文档的visible设置为true 的问题,文档模块内部自己处理当前所有的文档数据就可以解决这个问题

此 diff 太大无法显示。
@@ -26,7 +26,7 @@ import ArrayBufferUtil from 'libs/ArrayBufferUtil'; @@ -26,7 +26,7 @@ import ArrayBufferUtil from 'libs/ArrayBufferUtil';
26 import UTF8 from 'utf-8'; 26 import UTF8 from 'utf-8';
27 27
28 let loger = Loger.getLoger('MessageEntrance'); 28 let loger = Loger.getLoger('MessageEntrance');
29 -let _sdkInfo = {"version": "v.1.8.10.20170407", "author": "www.3mang.com"}; 29 +let _sdkInfo = {"version": "v.1.8.12.20170409", "author": "www.3mang.com"};
30 30
31 //APE 31 //APE
32 let _sass; 32 let _sass;
@@ -158,6 +158,9 @@ export default class Ape extends Emiter { @@ -158,6 +158,9 @@ export default class Ape extends Emiter {
158 //loger.log("insertItem",insertItem); 158 //loger.log("insertItem",insertItem);
159 this.tableInsertHandler(insertItem.owner, insertItem.itemIdx, insertItem.itemData); 159 this.tableInsertHandler(insertItem.owner, insertItem.itemIdx, insertItem.itemData);
160 } 160 }
  161 +
  162 + //文档数据数组内部自己处理数组
  163 + this.tableInsertApeHandler(tableInsertItems);
161 break; 164 break;
162 case pdu.RCPDU_REG_TABLE_DELETE_PDU: 165 case pdu.RCPDU_REG_TABLE_DELETE_PDU:
163 let tableDeleteData = pdu['RCRegistryTableDeleteItemPdu'].decode(user_data); 166 let tableDeleteData = pdu['RCRegistryTableDeleteItemPdu'].decode(user_data);
@@ -212,6 +215,9 @@ export default class Ape extends Emiter { @@ -212,6 +215,9 @@ export default class Ape extends Emiter {
212 tableUpdateApeHandler(tableUpdateItems,seekTime){ 215 tableUpdateApeHandler(tableUpdateItems,seekTime){
213 216
214 } 217 }
  218 + tableInsertApeHandler(tableInsertItems,seekTime){
  219 +
  220 + }
215 tableDeleteHandler(tableId, record) { 221 tableDeleteHandler(tableId, record) {
216 loger.warn(this._session_name + ' tableDelHandler 应有子类具体覆盖处理.'); 222 loger.warn(this._session_name + ' tableDelHandler 应有子类具体覆盖处理.');
217 } 223 }
@@ -53,11 +53,11 @@ class DocApe extends Ape { @@ -53,11 +53,11 @@ class DocApe extends Ape {
53 //判断文档是否已经存在,每个文档都有唯一的docId,如果已经同步的文档中存在相同的docId就不需要再同步 53 //判断文档是否已经存在,每个文档都有唯一的docId,如果已经同步的文档中存在相同的docId就不需要再同步
54 if (this.checkDocId(paramInfo.docId)) { 54 if (this.checkDocId(paramInfo.docId)) {
55 //文档已经存在相同的docId,不需要同步上传 55 //文档已经存在相同的docId,不需要同步上传
56 - loger.warn('documentUpload 文档的docId不无效或已经存在相同的docId,不需要上传'); 56 + loger.warn('documentUpload->档的docId无效或已经存在相同的docId,不需要上传');
57 return; 57 return;
58 } 58 }
59 59
60 - itemIdx = EngineUtils.creatSoleNumberFromTimestamp(); 60 + itemIdx = EngineUtils.creatSoleNumberFromTimestamp();//
61 let docDataModelPdu = this.packPdu(paramInfo, itemIdx); 61 let docDataModelPdu = this.packPdu(paramInfo, itemIdx);
62 if (docDataModelPdu == null) { 62 if (docDataModelPdu == null) {
63 loger.log('documentUpload失败,参数错误'); 63 loger.log('documentUpload失败,参数错误');
@@ -360,9 +360,7 @@ class DocApe extends Ape { @@ -360,9 +360,7 @@ class DocApe extends Ape {
360 360
361 /////收到消息处理///////////////////////////////////////////////////////////////////////////////// 361 /////收到消息处理/////////////////////////////////////////////////////////////////////////////////
362 tableInsertHandler(owner, itemIdx, itemData) { 362 tableInsertHandler(owner, itemIdx, itemData) {
363 - //this.tableUpdateHandler(owner, tableId, itemData);  
364 - //loger.log('tableInsertHandler---',itemData);  
365 - let itemDataInfo = this.unPackPdu(owner, itemIdx, itemData); 363 + /* let itemDataInfo = this.unPackPdu(owner, itemIdx, itemData);
366 this.docList[itemIdx] = itemDataInfo; 364 this.docList[itemIdx] = itemDataInfo;
367 365
368 if (itemDataInfo.visible == "true" || itemDataInfo.visible == true) { 366 if (itemDataInfo.visible == "true" || itemDataInfo.visible == true) {
@@ -380,9 +378,29 @@ class DocApe extends Ape { @@ -380,9 +378,29 @@ class DocApe extends Ape {
380 "visible": true 378 "visible": true
381 }; 379 };
382 this.documentSwitchDoc(paramInfo); 380 this.documentSwitchDoc(paramInfo);
383 - } 381 + }*/
384 } 382 }
385 383
  384 + tableInsertApeHandler(_tableUpdateItems, _seekTime) {
  385 + let tableInsertItems =_tableUpdateItems;
  386 + let tableInsertItemsLen = tableInsertItems.length;
  387 + for (let i = 0; i < tableInsertItemsLen; ++i) {
  388 + let insertItem = tableInsertItems[i];
  389 + //this.tableInsertHandler(insertItem.owner, insertItem.itemIdx, insertItem.itemData);
  390 + let itemDataInfo = this.unPackPdu(insertItem.owner, insertItem.itemIdx, insertItem.itemData);
  391 + if(itemDataInfo){
  392 + this.docList[itemIdx] = itemDataInfo;
  393 + if (itemDataInfo.visible == "true" || itemDataInfo.visible == true) {
  394 + GlobalConfig.activeDocId = itemDataInfo.itemIdx;//当前激活的文档ID
  395 + GlobalConfig.activeDocCurPage = itemDataInfo.curPageNo;//当前激活的文档的当前页
  396 + loger.log('tableInsertHandler 设置当前激活的文档id');
  397 + }
  398 + this._emit(MessageTypes.DOC_UPDATE, itemDataInfo);//用添加和更新都统一DOC_UPDATE
  399 + }
  400 + }
  401 + //文档数据更新完毕,如果当前没有显示的文档,默认选择一个显示
  402 + this._showDefaultDoc();
  403 + }
386 tableDeleteHandler(object_id, tableDeleteData) { 404 tableDeleteHandler(object_id, tableDeleteData) {
387 loger.log('tableDeleteHandler', object_id, tableDeleteData);//["tableDeleteHandler",1179649,{"type":231,"itemIdx":[1486301768]}] 405 loger.log('tableDeleteHandler', object_id, tableDeleteData);//["tableDeleteHandler",1179649,{"type":231,"itemIdx":[1486301768]}]
388 if (tableDeleteData && tableDeleteData.itemIdx) { 406 if (tableDeleteData && tableDeleteData.itemIdx) {