李勇

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

此 diff 太大无法显示。
... ... @@ -26,7 +26,7 @@ import ArrayBufferUtil from 'libs/ArrayBufferUtil';
import UTF8 from 'utf-8';
let loger = Loger.getLoger('MessageEntrance');
let _sdkInfo = {"version": "v.1.8.10.20170407", "author": "www.3mang.com"};
let _sdkInfo = {"version": "v.1.8.12.20170409", "author": "www.3mang.com"};
//APE
let _sass;
... ...
... ... @@ -158,6 +158,9 @@ export default class Ape extends Emiter {
//loger.log("insertItem",insertItem);
this.tableInsertHandler(insertItem.owner, insertItem.itemIdx, insertItem.itemData);
}
//文档数据数组内部自己处理数组
this.tableInsertApeHandler(tableInsertItems);
break;
case pdu.RCPDU_REG_TABLE_DELETE_PDU:
let tableDeleteData = pdu['RCRegistryTableDeleteItemPdu'].decode(user_data);
... ... @@ -212,6 +215,9 @@ export default class Ape extends Emiter {
tableUpdateApeHandler(tableUpdateItems,seekTime){
}
tableInsertApeHandler(tableInsertItems,seekTime){
}
tableDeleteHandler(tableId, record) {
loger.warn(this._session_name + ' tableDelHandler 应有子类具体覆盖处理.');
}
... ...
... ... @@ -53,11 +53,11 @@ class DocApe extends Ape {
//判断文档是否已经存在,每个文档都有唯一的docId,如果已经同步的文档中存在相同的docId就不需要再同步
if (this.checkDocId(paramInfo.docId)) {
//文档已经存在相同的docId,不需要同步上传
loger.warn('documentUpload 文档的docId不无效或已经存在相同的docId,不需要上传');
loger.warn('documentUpload->档的docId无效或已经存在相同的docId,不需要上传');
return;
}
itemIdx = EngineUtils.creatSoleNumberFromTimestamp();
itemIdx = EngineUtils.creatSoleNumberFromTimestamp();//
let docDataModelPdu = this.packPdu(paramInfo, itemIdx);
if (docDataModelPdu == null) {
loger.log('documentUpload失败,参数错误');
... ... @@ -360,9 +360,7 @@ class DocApe extends Ape {
/////收到消息处理/////////////////////////////////////////////////////////////////////////////////
tableInsertHandler(owner, itemIdx, itemData) {
//this.tableUpdateHandler(owner, tableId, itemData);
//loger.log('tableInsertHandler---',itemData);
let itemDataInfo = this.unPackPdu(owner, itemIdx, itemData);
/* let itemDataInfo = this.unPackPdu(owner, itemIdx, itemData);
this.docList[itemIdx] = itemDataInfo;
if (itemDataInfo.visible == "true" || itemDataInfo.visible == true) {
... ... @@ -380,9 +378,29 @@ class DocApe extends Ape {
"visible": true
};
this.documentSwitchDoc(paramInfo);
}
}*/
}
tableInsertApeHandler(_tableUpdateItems, _seekTime) {
let tableInsertItems =_tableUpdateItems;
let tableInsertItemsLen = tableInsertItems.length;
for (let i = 0; i < tableInsertItemsLen; ++i) {
let insertItem = tableInsertItems[i];
//this.tableInsertHandler(insertItem.owner, insertItem.itemIdx, insertItem.itemData);
let itemDataInfo = this.unPackPdu(insertItem.owner, insertItem.itemIdx, insertItem.itemData);
if(itemDataInfo){
this.docList[itemIdx] = itemDataInfo;
if (itemDataInfo.visible == "true" || itemDataInfo.visible == true) {
GlobalConfig.activeDocId = itemDataInfo.itemIdx;//当前激活的文档ID
GlobalConfig.activeDocCurPage = itemDataInfo.curPageNo;//当前激活的文档的当前页
loger.log('tableInsertHandler 设置当前激活的文档id');
}
this._emit(MessageTypes.DOC_UPDATE, itemDataInfo);//用添加和更新都统一DOC_UPDATE
}
}
//文档数据更新完毕,如果当前没有显示的文档,默认选择一个显示
this._showDefaultDoc();
}
tableDeleteHandler(object_id, tableDeleteData) {
loger.log('tableDeleteHandler', object_id, tableDeleteData);//["tableDeleteHandler",1179649,{"type":231,"itemIdx":[1486301768]}]
if (tableDeleteData && tableDeleteData.itemIdx) {
... ...