Toggle navigation
Toggle navigation
此项目
正在载入...
Sign in
李勇
/
McuClient
转到一个项目
Toggle navigation
项目
群组
代码片段
帮助
Toggle navigation pinning
Project
Activity
Repository
Pipelines
Graphs
Issues
0
Merge Requests
0
Wiki
Network
Create a new issue
Builds
Commits
Authored by
李勇
2017-04-11 10:35:24 +0800
Browse Files
Options
Browse Files
Download
Email Patches
Plain Diff
Commit
e652f376056b8714935073dc8dc9d2974e014381
e652f376
1 parent
ea138f42
1.开启录制的时候,增加对当前显示的文档数据记录,解决录制文件中内容缺少的问题
2.录制回放时在seek的时候,增加对SDK中当前文档和白板标注模块数据的清除
隐藏空白字符变更
内嵌
并排对比
正在显示
8 个修改的文件
包含
100 行增加
和
58 行删除
dist/McuClient.js
src/EngineEntrance.js
src/MessageTypes.js
src/RecordPlayBackParse.js
src/apes/Ape.js
src/apes/ConferApe.js
src/apes/DocApe.js
src/apes/WhiteBoardApe.js
dist/McuClient.js
查看文件 @
e652f37
此 diff 太大无法显示。
src/EngineEntrance.js
查看文件 @
e652f37
...
...
@@ -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.1
6.20170410
"
,
"author"
:
"www.3mang.com"
};
let
_sdkInfo
=
{
"version"
:
"v.1.8.1
9.20170411
"
,
"author"
:
"www.3mang.com"
};
//APE
let
_sass
;
...
...
@@ -38,7 +38,7 @@ let _video_ape;
let
_audio_ape
;
let
_doc_ape
;
let
_whiteboard_ape
;
let
_
parseBuf
;
let
_
recordPlayback
;
//MCUClient 外部实例化主类
export
default
class
MessageEntrance
extends
Emiter
{
...
...
@@ -77,9 +77,10 @@ export default class MessageEntrance extends Emiter {
_mcu
.
on
(
MessageTypes
.
CLASS_JOIN_MCU_SUCCESS
,
this
.
_mcuJoinMCUClassSuccessHandler
.
bind
(
this
));
//加入MCU课堂完成
//录制回放
_parseBuf
=
RecordPlayBackParse
;
_parseBuf
.
on
(
'*'
,
(
type
,
data
)
=>
this
.
_emit
(
type
,
data
));
_parseBuf
.
on
(
RecordPlayBackParse
.
CLASS_JOIN_RECORD_PLAYBACK_SUCCESS
,
this
.
_joinRecordPlaybackSuccessHandler
.
bind
(
this
));
//加入录制回放完成
_recordPlayback
=
RecordPlayBackParse
;
_recordPlayback
.
on
(
'*'
,
(
type
,
data
)
=>
this
.
_emit
(
type
,
data
));
_recordPlayback
.
on
(
RecordPlayBackParse
.
CLASS_JOIN_RECORD_PLAYBACK_SUCCESS
,
this
.
_joinRecordPlaybackSuccessHandler
.
bind
(
this
));
//加入录制回放完成
_recordPlayback
.
on
(
RecordPlayBackParse
.
RECORD_PLAYBACK_CLEAR_DATA
,
this
.
_recordPlaybackClearDataHandler
.
bind
(
this
));
//录制回放状态更新
// 注册所有应用Ape
...
...
@@ -90,7 +91,7 @@ export default class MessageEntrance extends Emiter {
_confer_ape
.
on
(
MessageTypes
.
CLASS_DELETE_ROSTER
,
this
.
_onClassDeleteRoster
.
bind
(
this
));
//当前课堂人员离开
_confer_ape
.
on
(
MessageTypes
.
CLASS_NONENTITY_ROSTER
,
this
.
_onClassNonentityRoster
.
bind
(
this
));
//当前课堂中视频或音频占用channel的nodeId ,在人员列表中不存在
_confer_ape
.
on
(
MessageTypes
.
CLASS_RECORD_START
,
this
.
_onClassRecordStart
.
bind
(
this
));
//课堂开始录制
_confer_ape
.
on
(
MessageTypes
.
CLASS_RECORD_SUCCESS
,
this
.
_onClassRecordSuccess
.
bind
(
this
));
//课堂开启录制成功
_chat_ape
=
new
ChatApe
();
_chat_ape
.
on
(
'*'
,
(
type
,
data
)
=>
this
.
_emit
(
type
,
data
));
...
...
@@ -245,7 +246,12 @@ export default class MessageEntrance extends Emiter {
_sass
.
saveClassRecordContrlInfo
(
_param
);
}
}
//开启录制成功
_onClassRecordSuccess
(
_param
){
if
(
_doc_ape
){
_doc_ape
.
updaterRecordStatus
();
}
}
//有人员离开
_onClassDeleteRoster
(
_data
)
{
...
...
@@ -513,10 +519,10 @@ export default class MessageEntrance extends Emiter {
//录制回放不需要选点
if
(
GlobalConfig
.
isRecordPlayBack
){
if
(
_
parseBuf
)
{
if
(
_
recordPlayback
)
{
//开启录制回放流程
loger
.
log
(
"开启录制回放流程"
);
_
parseBuf
.
readyRecordPlay
();
_
recordPlayback
.
readyRecordPlay
();
}
else
{
loger
.
warn
(
"开启录制回放流程失败,还未创建模块"
);
}
...
...
@@ -1082,29 +1088,39 @@ export default class MessageEntrance extends Emiter {
//开始录制回放
_startRecordPlayback
(
_param
)
{
if
(
_parseBuf
)
{
_parseBuf
.
startRecordPlayback
(
_param
);
if
(
_recordPlayback
)
{
_recordPlayback
.
startRecordPlayback
(
_param
);
}
}
//停止录制回放
_stopRecordPlayback
(
_param
)
{
if
(
_parseBuf
)
{
_parseBuf
.
stopRecordPlayback
(
_param
);
if
(
_recordPlayback
)
{
_recordPlayback
.
stopRecordPlayback
(
_param
);
}
}
//暂停录制回放
_pauseRecordPlayback
(
_param
)
{
if
(
_parseBuf
)
{
_parseBuf
.
pauseRecordPlayback
(
_param
);
if
(
_recordPlayback
)
{
_recordPlayback
.
pauseRecordPlayback
(
_param
);
}
}
//seek录制回放
_seekRecordPlayback
(
_param
)
{
if
(
_parseBuf
)
{
_parseBuf
.
seekRecordPlayback
(
_param
);
if
(
_recordPlayback
)
{
_recordPlayback
.
seekRecordPlayback
(
_param
);
}
}
//录制回放状态更新
_recordPlaybackClearDataHandler
(
_param
){
loger
.
log
(
"_recordPlaybackClearDataHandler->"
)
if
(
_doc_ape
){
_doc_ape
.
clearData
();
}
if
(
_whiteboard_ape
){
_whiteboard_ape
.
clearData
();
}
}
//录制回放加入 课堂成功
_joinRecordPlaybackSuccessHandler
(
_data
)
{
loger
.
log
(
'加入录制回放成功.'
);
...
...
src/MessageTypes.js
查看文件 @
e652f37
...
...
@@ -27,8 +27,8 @@ MessageTypes.CLASS_STATUS_INFO_CHANGE="class_status_info_change";// 'class.statu
MessageTypes
.
CLASS_UPDATE_TIMER
=
"class_update_timer"
;
//'class.update.timer';//更新当前上课的时间
MessageTypes
.
CLASS_RECORD_START
=
"class_record_start"
;
//'class.record.start';//开始录制
MessageTypes
.
CLASS_RECORD_START
=
"class_record_start"
;
//;//开始录制
MessageTypes
.
CLASS_RECORD_SUCCESS
=
"class_record_success"
;
////开启录制成功
//聊天模块事件定义
...
...
src/RecordPlayBackParse.js
查看文件 @
e652f37
...
...
@@ -357,6 +357,7 @@ class RecordPlayBackParse extends Emiter {
//把记录的文档信息也要清除
GlobalConfig
.
activeDocId
=
0
;
GlobalConfig
.
activeDocCurPage
=
1
;
this
.
_emit
(
RecordPlayBackParse
.
RECORD_PLAYBACK_CLEAR_DATA
);
this
.
_emit
(
MessageTypes
.
RECORD_PLAYBACK_UPDATE
,
{
"status"
:
STOP
});
}
...
...
@@ -380,7 +381,7 @@ class RecordPlayBackParse extends Emiter {
//把记录的文档信息也要清除
GlobalConfig
.
activeDocId
=
0
;
GlobalConfig
.
activeDocCurPage
=
1
;
this
.
_emit
(
RecordPlayBackParse
.
RECORD_PLAYBACK_CLEAR_DATA
);
//各个ape模块查找关键帧数据
this
.
_searchKeyfram
();
}
...
...
@@ -479,6 +480,7 @@ class RecordPlayBackParse extends Emiter {
}
RecordPlayBackParse
.
prototype
.
CLASS_JOIN_RECORD_PLAYBACK_SUCCESS
=
RecordPlayBackParse
.
CLASS_JOIN_RECORD_PLAYBACK_SUCCESS
=
'class_join_recordPlayback_success'
;
//加入录制回放成功
RecordPlayBackParse
.
prototype
.
RECORD_PLAYBACK_CLEAR_DATA
=
RecordPlayBackParse
.
RECORD_PLAYBACK_CLEAR_DATA
=
'record_playback_clear_data'
;
//清除录制回放数据
export
default
new
RecordPlayBackParse
;
...
...
src/apes/Ape.js
查看文件 @
e652f37
...
...
@@ -194,23 +194,23 @@ export default class Ape extends Emiter {
}
rosterInsertHandler
(
recordId
,
recordData
)
{
loger
.
warn
(
this
.
_session_name
+
' rosterInsertHandler 应有子类具体覆盖处理.'
);
//
loger.warn(this._session_name + ' rosterInsertHandler 应有子类具体覆盖处理.');
}
rosterUpdateHandler
(
nodeId
,
nodeData
)
{
loger
.
warn
(
this
.
_session_name
+
' rosterUpdateHandler 应有子类具体覆盖处理.'
);
//
loger.warn(this._session_name + ' rosterUpdateHandler 应有子类具体覆盖处理.');
}
rosterDelHandler
(
recordData
)
{
loger
.
warn
(
this
.
_session_name
+
' rosterDelHandler 应有子类具体覆盖处理.'
);
//
loger.warn(this._session_name + ' rosterDelHandler 应有子类具体覆盖处理.');
}
tableInsertHandler
(
tableId
,
record
)
{
loger
.
warn
(
this
.
_session_name
+
' tableInsertHandler 应有子类具体覆盖处理.'
);
//
loger.warn(this._session_name + ' tableInsertHandler 应有子类具体覆盖处理.');
}
tableUpdateHandler
(
ownerId
,
recordId
,
recordData
,
seekTime
)
{
loger
.
warn
(
this
.
_session_name
+
' tableUpdateHandler 应有子类具体覆盖处理.'
);
//
loger.warn(this._session_name + ' tableUpdateHandler 应有子类具体覆盖处理.');
}
tableUpdateApeHandler
(
tableUpdateItems
,
seekTime
){
...
...
@@ -219,20 +219,20 @@ export default class Ape extends Emiter {
}
tableDeleteHandler
(
tableId
,
record
)
{
loger
.
warn
(
this
.
_session_name
+
' tableDelHandler 应有子类具体覆盖处理.'
);
//
loger.warn(this._session_name + ' tableDelHandler 应有子类具体覆盖处理.');
}
onJoinChannelHandlerSuccess
()
{
loger
.
warn
(
this
.
_session_name
+
' onJoinChannelHandlerSuccess 应有子类具体覆盖处理.'
);
//
loger.warn(this._session_name + ' onJoinChannelHandlerSuccess 应有子类具体覆盖处理.');
}
onJoinSessionHandlerSuccess
()
{
loger
.
warn
(
this
.
_session_name
+
' onJoinSessionHandlerSuccess 应有子类具体覆盖处理.'
);
//
loger.warn(this._session_name + ' onJoinSessionHandlerSuccess 应有子类具体覆盖处理.');
}
// 加入Session处理
_joinSessionHandler
(
data
)
{
loger
.
log
(
this
.
_session_name
,
' -> 加入Session'
);
//
loger.log(this._session_name, ' -> 加入Session');
this
.
onJoinSessionHandlerSuccess
();
}
...
...
src/apes/ConferApe.js
查看文件 @
e652f37
...
...
@@ -500,10 +500,14 @@ class ConferApe extends Ape {
}
onSendConferRecordRequestHandler
(
_data
)
{
loger
.
log
(
"onSendConferRecordRequestHandler"
);
try
{
let
conferRecordSendPdu
=
pdu
[
'RCConferenceRecordRequestPdu'
].
decode
(
_data
);
loger
.
log
(
conferRecordSendPdu
);
// {"initiator":820461225,"record":false,"classTime":3213,"filename":"h5dev/20170410/1437784290_20170410.rec"}
loger
.
log
(
"onSendConferRecordRequestHandler->"
,
conferRecordSendPdu
);
if
(
conferRecordSendPdu
&&
conferRecordSendPdu
.
record
==
true
||
conferRecordSendPdu
.
record
==
"true"
){
//每次开启录制的时候,需要把当前显示的文档数据更新一次,否则无法录制已经显示的文件
this
.
_emit
(
MessageTypes
.
CLASS_RECORD_SUCCESS
);
}
}
catch
(
err
)
{
loger
.
warn
(
"onSendConferRecordRequestHandler err"
,
err
.
message
);
}
...
...
src/apes/DocApe.js
查看文件 @
e652f37
...
...
@@ -210,9 +210,19 @@ class DocApe extends Ape {
return
path
;
}
//更新文档模块的录制信息,每次开启录制的时候需要把当前文档的信息更新一次
updaterRecordStatus
(
_param
){
if
(
GlobalConfig
.
isHost
&&!
GlobalConfig
.
isRecordPlayBack
&&
GlobalConfig
.
activeDocId
>
0
){
loger
.
log
(
"开启录制成功->更新当前的文档数据->docId:"
,
GlobalConfig
.
activeDocId
,
'page:'
,
GlobalConfig
.
activeDocCurPage
);
this
.
documentSwitchPage
({
"itemIdx"
:
GlobalConfig
.
activeDocId
,
"curPageNo"
:
GlobalConfig
.
activeDocCurPage
});
}
}
//切换文档
documentSwitchDoc
(
paramInfo
)
{
loger
.
log
(
'切换文档
,documentSwitchDoc
->'
,
paramInfo
);
loger
.
log
(
'切换文档->'
,
paramInfo
);
if
(
GlobalConfig
.
isRecordPlayBack
)
{
loger
.
warn
(
'录制回放状态不允许切换文档'
);
...
...
@@ -220,7 +230,7 @@ class DocApe extends Ape {
}
if
(
paramInfo
==
null
||
paramInfo
.
itemIdx
==
null
)
{
loger
.
warn
(
'
documentSwitch
失败,参数错误'
,
paramInfo
);
loger
.
warn
(
'
切换文档
失败,参数错误'
,
paramInfo
);
this
.
_emit
(
MessageTypes
.
MCU_ERROR
,
MessageTypes
.
ERR_APE_INTERFACE_PARAM_WRONG
);
return
;
}
...
...
@@ -243,7 +253,7 @@ class DocApe extends Ape {
//获取已经存在的数据
let
docDataModel
=
this
.
docList
[
paramInfo
.
itemIdx
];
if
(
docDataModel
==
null
)
{
loger
.
warn
(
'
documentSwitch
失败,文档不存在'
,
paramInfo
);
loger
.
warn
(
'
切换文档
失败,文档不存在'
,
paramInfo
);
this
.
_emit
(
MessageTypes
.
MCU_ERROR
,
MessageTypes
.
ERR_APE_INTERFACE_PARAM_WRONG
);
return
;
}
...
...
@@ -266,15 +276,13 @@ class DocApe extends Ape {
//文档翻页
documentSwitchPage
(
paramInfo
)
{
loger
.
log
(
'文档翻页,documentSwitchPage'
);
loger
.
log
(
paramInfo
);
//console.log(this.docList);
loger
.
log
(
'文档翻页->'
,
paramInfo
);
//获取已经存在的数据
let
docDataModel
=
this
.
docList
[
paramInfo
.
itemIdx
];
//console.log(docDataModelPdu);
//console.log(docDataModel);
if
(
docDataModel
==
null
)
{
loger
.
log
(
'
documentSwitchPage
->,文档不存在'
,
paramInfo
);
loger
.
log
(
'
文档翻页
->,文档不存在'
,
paramInfo
);
this
.
_emit
(
MessageTypes
.
MCU_ERROR
,
MessageTypes
.
ERR_APE_INTERFACE_PARAM_WRONG
);
return
;
}
...
...
@@ -289,12 +297,12 @@ class DocApe extends Ape {
//文档切换显示模式
documentSwitchShowModel
(
paramInfo
)
{
loger
.
log
(
'
documentSwitchShowModel
'
,
paramInfo
);
loger
.
log
(
'
文档切换显示模式
'
,
paramInfo
);
//获取已经存在的数据
let
docDataModel
=
this
.
docList
[
paramInfo
.
itemIdx
];
if
(
docDataModel
==
null
)
{
loger
.
log
(
'
documentSwitchShowModel
->文档不存在'
,
paramInfo
);
loger
.
log
(
'
文档切换显示模式
->文档不存在'
,
paramInfo
);
this
.
_emit
(
MessageTypes
.
MCU_ERROR
,
MessageTypes
.
ERR_APE_INTERFACE_PARAM_WRONG
);
return
;
}
...
...
@@ -326,7 +334,7 @@ class DocApe extends Ape {
documentDeleteAll
(
_param
)
{
for
(
let
key
in
this
.
docList
)
{
//console.log("key:"+key);
loger
.
log
(
"删除文档数据
,
itemIdx:"
+
key
);
loger
.
log
(
"删除文档数据
->
itemIdx:"
+
key
);
this
.
documentDelete
({
"itemIdx"
:
key
});
}
}
...
...
@@ -354,10 +362,18 @@ class DocApe extends Ape {
adapterPdu
.
type
=
pdu
.
RCPDU_REG_ADAPTER
;
adapterPdu
.
item
.
push
(
adapterItemPdu
);
loger
.
log
(
"文档发送删除数据============="
+
tableDeleteItemPdu
.
itemIdx
);
loger
.
log
(
"文档发送删除数据=============
>
"
+
tableDeleteItemPdu
.
itemIdx
);
this
.
sendUniform
(
adapterPdu
,
true
);
}
//清除当前文档模块的数据
clearData
(){
loger
.
log
(
"clearData->"
)
this
.
docList
=
{};
GlobalConfig
.
activeDocId
=
0
;
GlobalConfig
.
activeDocCurPage
=
1
;
}
/////收到消息处理/////////////////////////////////////////////////////////////////////////////////
tableInsertHandler
(
owner
,
itemIdx
,
itemData
)
{
/* let itemDataInfo = this.unPackPdu(owner, itemIdx, itemData);
...
...
@@ -380,11 +396,11 @@ class DocApe extends Ape {
this.documentSwitchDoc(paramInfo);
}*/
}
//添加文档
tableInsertApeHandler
(
_tableUpdateItems
,
_seekTime
)
{
let
tableInsertItems
=
_tableUpdateItems
;
let
tableInsertItemsLen
=
tableInsertItems
.
length
;
loger
.
log
(
'
tableInsertApeHandler
'
,
"activeDocId->"
,
GlobalConfig
.
activeDocId
,
"tableUpdateItemsLen->"
,
tableInsertItemsLen
);
loger
.
log
(
'
添加文档->
'
,
"activeDocId->"
,
GlobalConfig
.
activeDocId
,
"tableUpdateItemsLen->"
,
tableInsertItemsLen
);
for
(
let
i
=
0
;
i
<
tableInsertItemsLen
;
++
i
)
{
let
insertItem
=
tableInsertItems
[
i
];
//this.tableInsertHandler(insertItem.owner, insertItem.itemIdx, insertItem.itemData);
...
...
@@ -394,7 +410,7 @@ class DocApe extends Ape {
if
(
itemDataInfo
.
visible
==
"true"
||
itemDataInfo
.
visible
==
true
)
{
GlobalConfig
.
activeDocId
=
itemDataInfo
.
itemIdx
;
//当前激活的文档ID
GlobalConfig
.
activeDocCurPage
=
itemDataInfo
.
curPageNo
;
//当前激活的文档的当前页
loger
.
log
(
'
tableInsertHandler
设置当前激活的文档id'
);
loger
.
log
(
'
添加文档->
设置当前激活的文档id'
);
}
this
.
_emit
(
MessageTypes
.
DOC_UPDATE
,
itemDataInfo
);
//用添加和更新都统一DOC_UPDATE
}
...
...
@@ -403,7 +419,7 @@ class DocApe extends Ape {
this
.
_showDefaultDoc
();
}
tableDeleteHandler
(
object_id
,
tableDeleteData
)
{
loger
.
log
(
'
tableDeleteHandler
'
,
object_id
,
tableDeleteData
);
//["tableDeleteHandler",1179649,{"type":231,"itemIdx":[1486301768]}]
loger
.
log
(
'
删除文档数据->
'
,
object_id
,
tableDeleteData
);
//["tableDeleteHandler",1179649,{"type":231,"itemIdx":[1486301768]}]
if
(
tableDeleteData
&&
tableDeleteData
.
itemIdx
)
{
let
len
=
tableDeleteData
.
itemIdx
.
length
;
let
itemIdxs
=
tableDeleteData
.
itemIdx
;
...
...
@@ -415,7 +431,7 @@ class DocApe extends Ape {
if
(
itemDataInfo
&&
(
itemDataInfo
.
visible
==
"true"
||
itemDataInfo
.
visible
==
true
))
{
GlobalConfig
.
activeDocId
=
0
;
//当前激活的文档ID
GlobalConfig
.
activeDocCurPage
=
1
;
//当前激活的文档的当前页
loger
.
log
(
'
tableDeleteHandler->
当前显示的文档'
);
loger
.
log
(
'
删除文档数据->清除
当前显示的文档'
);
}
this
.
_emit
(
MessageTypes
.
DOC_DELETE
,
{
"itemIdx"
:
itemIdxs
[
i
]});
delete
this
.
docList
[
itemIdxs
[
i
]];
...
...
@@ -445,7 +461,7 @@ class DocApe extends Ape {
tableUpdateApeHandler
(
_tableUpdateItems
,
_seekTime
)
{
let
tableUpdateItemsLen
=
_tableUpdateItems
.
length
;
loger
.
log
(
'
tableUpdateApeHandler'
,
"activeDocId->"
,
GlobalConfig
.
activeDocId
,
"tableUpdateItemsLen
->"
,
tableUpdateItemsLen
);
loger
.
log
(
'
更新文档->'
,
"activeDocId->"
,
GlobalConfig
.
activeDocId
,
"更新的数量
->"
,
tableUpdateItemsLen
);
for
(
let
i
=
0
;
i
<
tableUpdateItemsLen
;
++
i
)
{
let
tableItem
=
_tableUpdateItems
[
i
];
let
itemDataInfo
=
this
.
unPackPdu
(
tableItem
.
owner
,
tableItem
.
itemIdx
,
tableItem
.
itemData
);
...
...
@@ -454,12 +470,12 @@ class DocApe extends Ape {
if
(
itemDataInfo
&&
(
itemDataInfo
.
visible
==
"true"
||
itemDataInfo
.
visible
==
true
))
{
GlobalConfig
.
activeDocId
=
itemDataInfo
.
itemIdx
;
//当前激活的文档ID
GlobalConfig
.
activeDocCurPage
=
itemDataInfo
.
curPageNo
;
//当前激活的文档的当前页
loger
.
log
(
'
tableUpdateHandler
设置当前激活的文档id->'
,
GlobalConfig
.
activeDocId
,
"curPageNum->"
,
GlobalConfig
.
activeDocCurPage
);
loger
.
log
(
'
更新文档->
设置当前激活的文档id->'
,
GlobalConfig
.
activeDocId
,
"curPageNum->"
,
GlobalConfig
.
activeDocCurPage
);
}
loger
.
log
(
'doc->'
,
itemDataInfo
);
this
.
_emit
(
MessageTypes
.
DOC_UPDATE
,
itemDataInfo
);
}
else
{
loger
.
log
(
'
tableUpdateHandler
数据无效--> itemIdx'
,
itemIdx
);
loger
.
log
(
'
更新文档->
数据无效--> itemIdx'
,
itemIdx
);
}
}
this
.
_showDefaultDoc
();
...
...
@@ -506,25 +522,25 @@ class DocApe extends Ape {
//检查文档是否已经存在,如果存在 返回true,否则返回false
checkDocId
(
_docId
)
{
if
(
_docId
==
null
)
{
loger
.
warn
(
'
checkDocId _docId
参数为null'
);
loger
.
warn
(
'
查找文档->失败->
参数为null'
);
return
true
;
}
//遍历查找
for
(
let
key
in
this
.
docList
)
{
let
item
=
this
.
docList
[
key
];
loger
.
log
(
'item.docId==============_docId'
,
item
.
docId
,
_docId
);
if
(
item
&&
item
.
docId
==
_docId
)
{
loger
.
log
(
'查找文档->已经存在->'
,
_docId
);
return
true
;
}
}
loger
.
log
(
'查找文档->没有查找到文档->'
,
_docId
);
//储存的数据中没有查找到
return
false
;
}
///////数据的封包和解包/////////////////////////////////////////
packPdu
(
_param
,
_itemIdx
)
{
loger
.
log
(
"文档===packPdu "
);
loger
.
log
(
"文档===
>
packPdu "
);
//验证坐标点集合数组是否合法
if
(
_param
==
null
||
_itemIdx
==
null
)
{
this
.
_emit
(
MessageTypes
.
MCU_ERROR
,
MessageTypes
.
ERR_APE_INTERFACE_PARAM_WRONG
);
...
...
@@ -579,18 +595,16 @@ class DocApe extends Ape {
}
unPackPdu
(
owner
,
itemIdx
,
itemData
)
{
loger
.
log
(
"文档===unPackPdu "
);
if
(
owner
==
null
||
itemIdx
==
null
||
itemData
==
null
)
{
this
.
_emit
(
MessageTypes
.
MCU_ERROR
,
MessageTypes
.
ERR_APE_INTERFACE_PARAM_WRONG
);
return
null
;
}
try
{
let
docModelPdu
=
pdu
[
'RCDocSendDataModelPdu'
].
decode
(
itemData
);
//loger.log(docModelPdu
);
loger
.
log
(
"文档===>unPackPdu"
);
return
docModelPdu
;
}
catch
(
err
)
{
loger
.
log
(
"文档
收到数据 unPackPdu Pdu解析错误,itemIdx="
+
itemIdx
+
"
err:"
+
err
.
message
);
loger
.
log
(
"文档
===>unPackPdu->Pdu解析错误->itemIdx="
+
itemIdx
+
"->
err:"
+
err
.
message
);
}
return
null
;
}
...
...
src/apes/WhiteBoardApe.js
查看文件 @
e652f37
...
...
@@ -58,6 +58,12 @@ class WhiteBoardApe extends Ape {
this
.
insertHistory
=
[];
}
//清除当前模块的数据
clearData
(){
loger
.
log
(
"clearData->"
)
this
.
annoInfos
=
{};
//储存所有的标注数据
this
.
insertHistory
=
[];
//添加的白板记录,用于撤回操作
}
/////////////发送数据操作//////////////////////////////////////////////////////
// 添加标注,发送信息
sendInsetAnnotaion
(
_param
)
{
...
...
请
注册
或
登录
后发表评论