李勇

1.修改白板pdu结构

2.修改聊天模块的私聊pdu发送接口
... ... @@ -73,7 +73,7 @@ return /******/ (function(modules) { // webpackBootstrap
/******/ }
/******/ var hotApplyOnUpdate = true;
/******/ var hotCurrentHash = "19556e0306a68021271b"; // eslint-disable-line no-unused-vars
/******/ var hotCurrentHash = "a9772cf69e3cdf097b41"; // eslint-disable-line no-unused-vars
/******/ var hotCurrentModuleData = {};
/******/ var hotCurrentParents = []; // eslint-disable-line no-unused-vars
... ... @@ -789,7 +789,7 @@ return /******/ (function(modules) { // webpackBootstrap
return _this._emit(type, data);
});
_doc_ape.on(_MessageTypes2.default.DOC_UPDATE, _this.docUpdateHandler.bind(_this));
_doc_ape.on(_MessageTypes2.default.DOC_DEL, _this.docDeleteHandler.bind(_this));
_doc_ape.on(_MessageTypes2.default.DOC_DELETE, _this.docDeleteHandler.bind(_this));
_whiteboard_ape = new _WhiteBoardApe2.default();
_whiteboard_ape.on('*', function (type, data) {
... ... @@ -1154,7 +1154,7 @@ return /******/ (function(modules) { // webpackBootstrap
key: 'docDeleteHandler',
value: function docDeleteHandler(docItem) {
if (docItem.id == _confer_ape.activeDocId) {
this._emit(_MessageTypes2.default.DOC_DEL, docItem);
this._emit(_MessageTypes2.default.DOC_DELETE, docItem);
}
}
}]);
... ... @@ -1822,9 +1822,11 @@ return /******/ (function(modules) { // webpackBootstrap
//文档模块事件定义
MessageTypes.DOC_SHOW = 'document.show';
MessageTypes.DOC_SWITCH = 'document.switch';
MessageTypes.DOC_UPDATE = 'document.update';
MessageTypes.DOC_DEL = 'document.delete';
MessageTypes.DOC_UPLOAD = 'document.upload'; //上传文档
MessageTypes.DOC_COMMAND = 'document.command'; //操作文档
MessageTypes.DOC_SWITCH = 'document.switch'; //切换文档
MessageTypes.DOC_UPDATE = 'document.update'; //更新文档
MessageTypes.DOC_DELETE = 'document.delete'; //删除文档
MessageTypes.DOC_ANNOTATION = 'document.annotation'; //笔记
//笔记事件定义
... ... @@ -13458,7 +13460,7 @@ return /******/ (function(modules) { // webpackBootstrap
Object.defineProperty(exports, "__esModule", {
value: true
});
var _default = "\n//start\n// pdu_def.proto\n\n// syntax = \"proto3\";\n\noption optimize_for = LITE_RUNTIME;\nenum RCPduPriority_E {\n DP_TOP = 0;\n DP_HIGH = 1;\n DP_MEDIUM = 2;\n DP_LOW = 3;\n}\n\nenum RCPduSegment_E {\n SEG_BEGIN = 0;\n SEG_END = 1;\n SEG_ONCE = 2;\n}\n\nenum RCPduTokenStatus_E {\n TS_NOT_IN_USE = 0;\n TS_SELF_GRABBED = 1;\n TS_OTHER_GRABBED = 2;\n TS_SELF_INHIBITED = 3;\n TS_OTHER_INHIBITED = 4;\n TS_SELF_RECIPIENT = 5;\n TS_SELF_GIVING = 6;\n TS_OTHER_GIVING = 7;\n}\n\nenum RCPduType_E {\n// GCC PDU\n RCPDU_CONNECT_PROVIDER_REQUEST = 0;\n RCPDU_CONNECT_PROVIDER_RESPONSE = 1;\n RCPDU_CONFERENCE_JOIN_REQUEST = 2;\n RCPDU_CONFERENCE_JOIN_RESPONSE = 3;\n RCPDU_CONFERENCE_INVITE_REQUEST = 10;\n RCPDU_CONFERENCE_INVITE_RESPONSE = 11;\n RCPDU_CONFERENCE_LOCK_REQUEST = 20;\n RCPDU_CONFERENCE_LOCK_RESPONSE = 21;\n RCPDU_CONFERENCE_LOCK_INDICATION = 22;\n RCPDU_CONFERENCE_UNLOCK_REQUEST = 30;\n RCPDU_CONFERENCE_UNLOCK_RESPONSE = 31;\n RCPDU_CONFERENCE_UNLOCK_INDICATION = 32;\n RCPDU_CONFERENCE_LEAVE_REQUEST = 39;\n RCPDU_CONFERENCE_TERMINATE_REQUEST = 40;\n RCPDU_CONFERENCE_TERMINATE_RESPONSE = 41;\n RCPDU_CONFERENCE_TERMINATE_INDICATION = 42;\n RCPDU_CONFERENCE_EJECT_USER_REQUEST = 50;\n RCPDU_CONFERENCE_EJECT_USER_RESPONSE = 51;\n RCPDU_CONFERENCE_EJECT_USER_INDICATION = 52;\n RCPDU_ROSTER_UPDATE_INDICATION = 60;\n RCPDU_REGISTRY_UPDATE_REQUEST = 70; // INCLUDE ALL OBJS OPERATION\n RCPDU_REGISTRY_UPDATE_RESPONSE = 71;\n RCPDU_REGISTRY_UPDATE_INDICATION = 72;\n RCPDU_FUNCTION_NOT_SUPPORTED_RESPONSE = 80;\n\n // MCS PDU\n RCPDU_SESSION_JOIN_REQUEST = 90;\n RCPDU_SESSION_JOIN_RESPONSE = 91;\n RCPDU_CHANNEL_GRAB_REQUEST = 100;\n RCPDU_CHANNEL_GRAB_RESPONSE = 101;\n RCPDU_CHANNEL_GRAB_INDICATION = 102;\n RCPDU_CHANNEL_JOIN_REQUEST = 103;\n RCPDU_CHANNEL_JOIN_RESPONSE = 104;\n RCPDU_CHANNEL_LEAVE_REQUEST = 105;\n RCPDU_CHANNEL_RELEASE_REQUEST = 106;\n RCPDU_CHANNEL_RELEASE_INDICATION = 107;\n RCPDU_SEND_DATA_REQUEST = 120;\n RCPDU_SEND_DATA_INDICATION = 121;\n RCPDU_UNIFORM_SEND_DATA_REQUEST = 125;\n RCPDU_UNIFORM_SEND_DATA_INDICATION = 126;\n RCPDU_TOKEN_GRAB_REQUEST = 130;\n RCPDU_TOKEN_GRAB_CONFIRM = 131;\n RCPDU_TOKEN_INHIBIT_REQUEST = 132;\n RCPDU_TOKEN_INHIBIT_CONFIRM = 133;\n RCPDU_TOKEN_GIVE_REQUEST = 134;\n RCPDU_TOKEN_GIVE_INDICATION = 135;\n RCPDU_TOKEN_GIVE_RESPONSE = 136;\n RCPDU_TOKEN_GIVE_CONFIRM = 137;\n RCPDU_TOKEN_PLEASE_REQUEST = 138;\n RCPDU_TOKEN_PLEASE_INDICATION = 139;\n RCPDU_TOKEN_RELEASE_REQUEST = 140;\n RCPDU_TOKEN_RELEASE_CONFIRM = 141;\n RCPDU_TOKEN_TEST_REQUEST = 142;\n RCPDU_TOKEN_TEST_CONFIRM = 143;\n\n // Registry PDU\n RCPDU_REG_REGISTER_KEY = 200;\n RCPDU_REG_UNREGISTER_KEY = 201;\n RCPDU_REG_REGISTER_ROSTER = 202;\n RCPDU_REG_REGISTER_TOKEN = 203;\n RCPDU_REG_REGISTER_PARAMETER = 204;\n RCPDU_REG_REGISTER_COUNTER = 205;\n RCPDU_REG_REGISTER_TABLE = 206;\n RCPDU_REG_REGISTER_CACHE = 207;\n RCPDU_REG_REGISTER_OBJ = 208;\n RCPDU_REG_UNREGISTER_OBJ = 209;\n RCPDU_REG_UPDATE_OBJ = 210;\n RCPDU_REG_ADAPTER = 211;\n RCPDU_REG_CLEANUP_NODE = 212;\n RCPDU_REG_REGISTER_QUEUE = 213;\n\n // Registry Obj update PDU\n RCPDU_REG_TABLE_INSERT_PDU = 230;\n RCPDU_REG_TABLE_DELETE_PDU = 231;\n RCPDU_REG_TABLE_UPDATE_PDU = 232;\n RCPDU_REG_ROSTER_INSERT_PDU = 240;\n RCPDU_REG_ROSTER_DELETE_PDU = 241;\n RCPDU_REG_ROSTER_UPDATE_PDU = 242;\n RCPDU_REG_PARAMETER_UPDATE_PDU = 250;\n RCPDU_REG_QUEUE_INSERT_PDU = 255;\n RCPDU_REG_QUEUE_DELETE_PDU = 256;\n RCPDU_REG_QUEUE_UPDATE_PDU = 257;\n\n // data\n RCPDU_CONFERENCE_SEND_DATA_REQUEST = 259;\n RCPDU_VIDEO_SEND_DATA_REQUEST = 260;\n RCPDU_AUDIO_SEND_DATA_REQUEST = 261;\n RCPDU_GIFT_SEND_DATA_REQUEST = 262;\n RCPDU_CHAT_SEND_DATA_REQUEST = 263;\n RCPDU_VOTING_POLL_RECORD = 265;\n\n // Registry resource request or response PDU\n RCPDU_REG_REQUEST_OBJ = 290;\n RCPDU_REG_RESPONSE_OBJ = 291;\n RCPDU_REG_COUNTER_REQUEST_PDU = 292;\n RCPDU_REG_COUNTER_RESPONSE_PDU = 293;\n\n // Index exchange\n RCPDU_INDEX_ADAPTER = 300;\n RCPDU_INDEX_SERVER_USERS = 301;\n RCPDU_INDEX_CONFERENCE_USER_JOINED = 302;\n RCPDU_INDEX_CONFERENCE_USER_EXITED = 303;\n RCPDU_INDEX_CONFERENCE_USERS = 304;\n}\n\nenum RCPduNodeType_E {\n NT_TERMINAL = 0;\n NT_MULTIPORT_TERMINAL = 1;\n NT_MCU = 2;\n}\n\nenum RCPduReason_E {\n RSN_USERINITIATED = 0;\n RSN_DISCONNECTED = 1;\n RSN_SUPER_LEFT = 2;\n}\n\nenum RCPduResult_E {\n RET_SUCCESS = 0;\n RET_USER_REJECTED = 1;\n RET_INVALID_CONFERENCE = 2;\n RET_INVALID_PASSWORD = 3;\n RET_INVALID_CONVENER_PASSWORD = 4;\n RET_CHALLENGE_RESPONSE_REQUIRED = 5;\n RET_INVALID_CHALLENGE_RESPONSE = 6;\n RET_NO_CONNECTION = 7;\n RET_FULL_CAPACITY = 8;\n}\n\nenum RCPduNodeCategory_E {\n NC_CONVENTIONAL = 0;\n NC_COUNTED = 1;\n NC_ANONYMOUS = 2;\n}\n\nmessage RCConferenceDescriptorPdu {\n required uint32 id = 1;\n required bytes name = 2;\n optional bytes description = 3;\n //optional string net_address = 4;\n optional uint32 mode = 4;\n optional string password = 5;\n optional uint32 capacity = 6;\n optional bytes user_data = 7;\n}\n\nmessage RCNodeRecordPdu {\n required uint32 id = 1;\n optional uint32 superior_node = 2;\n required RCPduNodeType_E type = 3;\n required string name = 4;\n required uint32 capability = 5;\n optional string net_address = 6;\n optional RCPduNodeCategory_E category = 7;\n}\n\nmessage RCApplicationRecordPdu {\n required uint32 id = 1; // session id\n required string name = 2;\n required string tag = 3;\n repeated uint32 channel_ids = 4 [packed = true];\n optional uint32 capability = 5;\n}\n\n//reg.proto\n\noption optimize_for = LITE_RUNTIME;\nmessage RCRegistryRegisterKeyPdu {\n required RCPduType_E type = 1 [default = RCPDU_REG_REGISTER_KEY];\n required uint32 id = 2;\n required string name = 3;\n required string tag = 4;\n optional bytes user_data = 5;\n}\n\nmessage RCRegistryUnregisterKeyPdu {\n optional RCPduType_E type = 1 [default = RCPDU_REG_UNREGISTER_KEY];\n required uint32 key_id = 2;\n}\n\nmessage RCRegistryRegisterObjPdu {\n optional RCPduType_E type = 1;\n required uint32 obj_id = 2;\n required string name = 3;\n required string tag = 4;\n optional uint32 owner = 5;\n optional bytes user_data = 6;\n}\n\nmessage RCRegistryUnregisterObjPdu {\n optional RCPduType_E type = 1 [default = RCPDU_REG_UNREGISTER_OBJ];\n required uint32 obj_id = 2;\n}\n\nmessage RCRegistryUpdateObjPdu {\n optional RCPduType_E type = 1 [default = RCPDU_REG_UPDATE_OBJ];\n required RCPduType_E sub_type = 2;\n required uint32 obj_id = 3;\n required bytes user_data = 4;\n}\n\nmessage RCAdapterItemPdu {\n required RCPduType_E type = 1;\n required bytes item_data = 2;\n}\n\n// adapter pdu that used to package a list of pdu.\nmessage RCAdapterPdu {\n optional RCPduType_E type = 1 [default = RCPDU_REG_ADAPTER];\n repeated RCAdapterItemPdu item = 2;\n}\n\n// table operation pdu\nmessage RCRegistryTableItemPdu {\n required uint32 item_idx = 1;\n required uint32 owner = 2;\n required bytes item_data = 3;\n optional uint32 register_obj_id=4;\n}\n\nmessage RCRegistryTableInsertItemPdu {\n optional RCPduType_E type = 1 [default = RCPDU_REG_TABLE_INSERT_PDU];\n repeated RCRegistryTableItemPdu items = 2;\n}\n\nmessage RCRegistryTableDeleteItemPdu {\n optional RCPduType_E type = 1 [default = RCPDU_REG_TABLE_DELETE_PDU];\n repeated uint32 item_idx = 2;\n}\n\nmessage RCRegistryTableUpdateItemPdu {\n optional RCPduType_E type = 1 [default = RCPDU_REG_TABLE_UPDATE_PDU];\n repeated RCRegistryTableItemPdu items = 2;\n}\n\n// roster operation pdu\nmessage RCRegistryRosterItemPdu {\n required uint32 node_id = 1;\n required bytes node_data = 2;\n}\nmessage RCRegistryWBItemPdu {\n required uint32 node_id = 1;\n required bytes node_data = 2;\n}\nmessage RCRegistryRosterInsertItemPdu {\n optional RCPduType_E type = 1 [default = RCPDU_REG_ROSTER_INSERT_PDU];\n repeated RCRegistryRosterItemPdu items = 2;\n}\n\nmessage RCRegistryRosterDeleteItemPdu {\n optional RCPduType_E type = 1 [default = RCPDU_REG_ROSTER_DELETE_PDU];\n required uint32 node_id = 2;\n}\n\nmessage RCRegistryRosterUpdateItemPdu {\n optional RCPduType_E type = 1 [default = RCPDU_REG_ROSTER_UPDATE_PDU];\n repeated RCRegistryRosterItemPdu items = 2;\n}\n\n//message RCCleanupNodePdu\n//{\n// optional RCPduType_E type = 1 [default = RCPDU_REG_CLEANUP_NODE];\n// required uint32 node_id = 2;\n//}\n\n// parameter operation pdu\nmessage RCRegistryParameterUpdatePdu {\n optional RCPduType_E type = 1 [default = RCPDU_REG_PARAMETER_UPDATE_PDU];\n required uint32 value = 2 [default = 0];\n optional uint32 begin_bit = 3 [default = 31];\n optional uint32 end_bit = 4;\n}\n\n// queue operation pdu\nmessage RCRegistryQueueItemPdu {\n required uint32 owner = 1;\n required uint32 item_id = 2;\n optional bytes item_data = 3;\n optional uint32 item_idx = 4;\n}\n\nmessage RCRegstryQueueInsertItemPdu {\n optional RCPduType_E type = 1 [default = RCPDU_REG_QUEUE_INSERT_PDU];\n repeated RCRegistryQueueItemPdu items = 2;\n}\n\nmessage RCRegistryQueueDeleteItemPdu {\n optional RCPduType_E type = 1 [default = RCPDU_REG_QUEUE_DELETE_PDU];\n required uint32 item_id = 2;\n}\n\nmessage RCRegistryQueueUpdateItemPdu {\n optional RCPduType_E type = 1 [default = RCPDU_REG_QUEUE_UPDATE_PDU];\n repeated RCRegistryQueueItemPdu items = 2;\n}\n\nmessage RCRegistryRequestObjPdu {\n optional RCPduType_E type = 1 [default = RCPDU_REG_REQUEST_OBJ];\n required RCPduType_E sub_type = 2;\n required uint32 obj_id = 3;\n required bytes user_data = 4;\n}\n\nmessage RCRegistryResponseObjPdu {\n optional RCPduType_E type = 1 [default = RCPDU_REG_RESPONSE_OBJ];\n required RCPduType_E sub_type = 2;\n required uint32 obj_id = 3;\n required bytes user_data = 4;\n}\n\nmessage RCRegistryCounterRequestPdu {\n optional RCPduType_E type = 1 [default = RCPDU_REG_COUNTER_REQUEST_PDU];\n required uint32 count = 2;\n}\n\nmessage RCRegistryCounterResponsePdu {\n optional RCPduType_E type = 1 [default = RCPDU_REG_COUNTER_RESPONSE_PDU];\n required uint32 start = 2;\n required uint32 end = 3;\n}\n\n// mcs\noption optimize_for = LITE_RUNTIME;\n\n// Session management\nmessage RCSessionJoinRequestPdu {\n required RCPduType_E type = 1 [default = RCPDU_SESSION_JOIN_REQUEST];\n required uint32 id = 2;\n required string name = 3;\n required string tag = 4;\n optional bytes session_data = 5; //\u805A\u5408\u5728\u4E00\u8D77\u7684registry\u4FE1\u606F\n}\n\nmessage RCSessionJoinResponsePdu {\n optional RCPduType_E type = 1 [default = RCPDU_SESSION_JOIN_RESPONSE];\n required uint32 id = 2;\n optional bytes response_data = 3;\n}\n\n// Channel management\nmessage RCChannelGrabRequestPdu {\n optional RCPduType_E type = 1 [default = RCPDU_CHANNEL_GRAB_REQUEST];\n required uint32 initiator = 2;\n required uint32 channel_id = 3;\n}\n\nmessage RCChannelGrabResponsePdu {\n optional RCPduType_E type = 1 [default = RCPDU_CHANNEL_GRAB_RESPONSE];\n required uint32 initiator = 2;\n required uint32 requested_channel_id = 3;\n required RCPduResult_E result = 4;\n optional uint32 channel_id = 5;\n}\n\nmessage RCChannelGrabIndicationPdu {\n optional RCPduType_E type = 1 [default = RCPDU_CHANNEL_GRAB_INDICATION];\n required uint32 initiator = 2;\n optional uint32 channel_id = 3;\n}\n\nmessage RCChannelJoinRequestPdu {\n required RCPduType_E type = 1 [default = RCPDU_CHANNEL_JOIN_REQUEST];\n required uint32 initiator = 2;\n required uint32 channel_id = 3;\n}\n\nmessage RCChannelJoinResponsePdu {\n optional RCPduType_E type = 1 [default = RCPDU_CHANNEL_JOIN_RESPONSE];\n required uint32 initiator = 2;\n required uint32 requested_channel_id = 3;\n required RCPduResult_E result = 4;\n}\n\nmessage RCChannelLeaveRequestPdu {\n optional RCPduType_E type = 1 [default = RCPDU_CHANNEL_LEAVE_REQUEST];\n required uint32 initiator = 2;\n repeated uint32 channel_ids = 3 [packed = true];\n}\n\nmessage RCChannelReleaseRequestPdu {\n optional RCPduType_E type = 1 [default = RCPDU_CHANNEL_RELEASE_REQUEST];\n required uint32 initiator = 2;\n required uint32 channel_id = 3;\n}\n\nmessage RCChannelReleaseIndicationPdu {\n optional RCPduType_E type = 1\n [default = RCPDU_CHANNEL_RELEASE_INDICATION];\n required uint32 initiator = 2;\n required uint32 channel_id = 3;\n}\n\n// Data transfer\nmessage RCSendDataPdu {\n required RCPduType_E type = 1 [default = RCPDU_SEND_DATA_REQUEST];\n required RCPduType_E sub_type = 2;\n required uint32 initiator = 3;\n required uint32 conf_id = 4;\n required uint32 session_id = 5;\n required uint32 channel_id = 6;\n required bool upward = 7;\n required bool reliability = 8;\n required RCPduPriority_E priority = 9;\n required bytes data = 10;\n optional uint32 peer = 11;\n optional RCPduSegment_E seg = 12;\n optional uint32 total_size = 13;\n optional uint32 site_id = 14;\n optional string user_id = 15;\n optional string user_name = 16;\n optional string user_role = 17;\n optional string device_type = 18;\n optional string site = 19;\n}\n\n// Token management\nmessage RCTokenGrabRequestPdu {\n optional RCPduType_E type = 1 [default = RCPDU_TOKEN_GRAB_REQUEST];\n required uint32 initiator = 2;\n required uint32 token_id = 3;\n}\n\nmessage RCTokenGrabConfirmPdu {\n optional RCPduType_E type = 1 [default = RCPDU_TOKEN_GRAB_CONFIRM];\n required uint32 initiator = 2;\n required uint32 token_id = 3;\n required RCPduResult_E result = 4;\n required RCPduTokenStatus_E status = 5;\n}\n\nmessage RCTokenInhibitRequestPdu {\n optional RCPduType_E type = 1 [default = RCPDU_TOKEN_INHIBIT_REQUEST];\n required uint32 initiator = 2;\n required uint32 token_id = 3;\n}\n\nmessage RCTokenInhibitConfirmPdu {\n optional RCPduType_E type = 1 [default = RCPDU_TOKEN_INHIBIT_CONFIRM];\n required uint32 initiator = 2;\n required uint32 token_id = 3;\n required RCPduResult_E result = 4;\n required RCPduTokenStatus_E status = 5;\n}\n\nmessage RCTokenGiveRequestPdu {\n optional RCPduType_E type = 1 [default = RCPDU_TOKEN_GIVE_REQUEST];\n required uint32 initiator = 2;\n required uint32 token_id = 3;\n required uint64 recipient = 4;\n}\n\nmessage RCTokenGiveIndicationPdu {\n optional RCPduType_E type = 1 [default = RCPDU_TOKEN_GIVE_INDICATION];\n required uint32 initiator = 2;\n required uint32 token_id = 3;\n required uint64 recipient = 4;\n}\n\nmessage RCTokenGiveResponsePdu {\n optional RCPduType_E type = 1 [default = RCPDU_TOKEN_GIVE_RESPONSE];\n required uint32 token_id = 2;\n required uint64 recipient = 3;\n required RCPduResult_E result = 4;\n}\n\nmessage RCTokenGiveConfirmPdu {\n optional RCPduType_E type = 1 [default = RCPDU_TOKEN_GIVE_CONFIRM];\n required uint32 token_id = 2;\n required uint64 recipient = 3;\n required RCPduResult_E result = 4;\n required RCPduTokenStatus_E status = 5;\n}\n\nmessage RCTokenPleaseRequestPdu {\n optional RCPduType_E type = 1 [default = RCPDU_TOKEN_PLEASE_REQUEST];\n required uint32 initiator = 2;\n required uint32 token_id = 3;\n}\n\nmessage RCTokenPleaseIndicationPdu {\n optional RCPduType_E type = 1 [default = RCPDU_TOKEN_PLEASE_INDICATION];\n required uint32 initiator = 2;\n required uint32 token_id = 3;\n}\n\nmessage RCTokenReleaseRequestPdu {\n optional RCPduType_E type = 1 [default = RCPDU_TOKEN_RELEASE_REQUEST];\n required uint32 initiator = 2;\n required uint32 token_id = 3;\n}\n\nmessage RCTokenReleaseConfirmPdu {\n optional RCPduType_E type = 1 [default = RCPDU_TOKEN_TEST_REQUEST];\n required uint32 initiator = 2;\n required uint32 token_id = 3;\n required RCPduResult_E result = 4;\n required RCPduTokenStatus_E status = 5;\n}\n\nmessage RCTokenTestRequestPdu {\n optional RCPduType_E type = 1 [default = RCPDU_TOKEN_TEST_REQUEST];\n required uint32 initiator = 2;\n required uint32 token_id = 3;\n}\n\nmessage RCTokenTestConfirmPdu {\n optional RCPduType_E type = 1 [default = RCPDU_TOKEN_TEST_CONFIRM];\n required uint32 initiator = 2;\n required uint32 token_id = 3;\n required RCPduTokenStatus_E status = 4;\n}\n\n//gcc.proto\n\noption optimize_for = LITE_RUNTIME;\nmessage RCConferenceJoinRequestPdu {\n required RCPduType_E type = 1 [default = RCPDU_CONFERENCE_JOIN_REQUEST];\n required uint32 initiator = 2;\n required RCPduNodeType_E node_type = 3;\n required RCConferenceDescriptorPdu conf_desc = 4;\n}\n\nmessage RCConferenceJoinResponsePdu {\n optional RCPduType_E type = 1 [default = RCPDU_CONFERENCE_JOIN_RESPONSE];\n required uint32 conf_id = 2;\n required RCPduResult_E result = 3;\n optional RCConferenceDescriptorPdu conf_desc = 4;\n}\n\nmessage RCConferenceInviteRequestPdu {\n optional RCPduType_E type = 1 [default = RCPDU_CONFERENCE_INVITE_REQUEST];\n required uint32 initiator = 2;\n required RCConferenceDescriptorPdu conf_desc = 3;\n}\n\nmessage RCConferenceInviteResponsePdu {\n optional RCPduType_E type = 1\n [default = RCPDU_CONFERENCE_INVITE_RESPONSE];\n required RCPduResult_E result = 2;\n optional bytes user_data = 3;\n}\n\nmessage RCConferenceLockRequestPdu {\n optional RCPduType_E type = 1 [default = RCPDU_CONFERENCE_LOCK_REQUEST];\n}\n\nmessage RCConferenceLockResponsePdu {\n optional RCPduType_E type = 1 [default = RCPDU_CONFERENCE_LOCK_RESPONSE];\n required RCPduResult_E result = 2;\n}\n\nmessage RCConferenceLockIndicationPdu {\n optional RCPduType_E type = 1\n [default = RCPDU_CONFERENCE_LOCK_INDICATION];\n}\n\nmessage RCConferenceUnlockRequestPdu {\n optional RCPduType_E type = 1 [default = RCPDU_CONFERENCE_UNLOCK_REQUEST];\n}\n\nmessage RCConferenceUnlockResponsePdu {\n optional RCPduType_E type = 1\n [default = RCPDU_CONFERENCE_UNLOCK_RESPONSE];\n required RCPduResult_E result = 2;\n}\n\nmessage RCConferenceUnlockIndicationPdu {\n optional RCPduType_E type = 1\n [default = RCPDU_CONFERENCE_UNLOCK_INDICATION];\n}\n\nmessage RCConferenceLeaveRequestPdu {\n optional RCPduType_E type = 1 [default = RCPDU_CONFERENCE_LEAVE_REQUEST];\n required RCPduReason_E reason = 2;\n}\n\nmessage RCConferenceTerminateRequestPdu {\n optional RCPduType_E type = 1\n [default = RCPDU_CONFERENCE_TERMINATE_REQUEST];\n required RCPduReason_E reason = 2;\n}\n\nmessage RCConferenceTerminateResponsePdu {\n optional RCPduType_E type = 1\n [default = RCPDU_CONFERENCE_TERMINATE_RESPONSE];\n required RCPduResult_E result = 2;\n}\n\nmessage RCConferenceTerminateIndicationPdu { // MCS_Uniform_Send_Data on GCC_Broadcast_Channel\n optional RCPduType_E type = 1\n [default = RCPDU_CONFERENCE_TERMINATE_INDICATION];\n required RCPduReason_E reason = 2;\n}\n\nmessage RCConferenceEjectUserRequestPdu { // MCS_Send_Data on Node ID Channel of Top GCC\n optional RCPduType_E type = 1\n [default = RCPDU_CONFERENCE_EJECT_USER_REQUEST];\n required uint32 ejected_node_id = 2;\n required RCPduReason_E reason = 3;\n}\n\nmessage RCConferenceEjectUserResponsePdu { // MCS_Send_Data on Node ID Channel of requester\n optional RCPduType_E type = 1\n [default = RCPDU_CONFERENCE_EJECT_USER_RESPONSE];\n required uint32 ejected_node_id = 2;\n required RCPduResult_E result = 3;\n}\n\nmessage RCConferenceEjectUserIndicationPdu { // MCS_Uniform_Send_Data on GCC_Broadcast_Channel\n optional RCPduType_E type = 1\n [default = RCPDU_CONFERENCE_EJECT_USER_INDICATION];\n required uint32 ejected_node_id = 2;\n required RCPduReason_E reason = 3;\n}\n\nmessage RCRosterUpdateIndicationPdu { // MCS_Send_Data on Node ID Channel or\n// MCS_Uniform_Send_Data on GCC_Broadcast_Channel\n optional RCPduType_E type = 1 [default = RCPDU_ROSTER_UPDATE_INDICATION];\n required bool full_refresh = 2; // Conference Roster and all\n repeated RCNodeRecordPdu node_record = 3;\n repeated RCApplicationRecordPdu app_record = 4;\n}\n\nmessage RCRegistryUpdateRequestPdu { // MCS_Send_Data on Node ID Channel of Top GCC\n optional RCPduType_E type = 1 [default = RCPDU_REGISTRY_UPDATE_REQUEST];\n required uint32 key_id = 2;\n required uint32 obj_id = 3;\n required bytes user_data = 4;\n}\n\nmessage RCRegistryUpdateIndicationPdu { // MCS_Send_Data on Node ID Channel of Top GCC\n optional RCPduType_E type = 1 [default = RCPDU_REGISTRY_UPDATE_RESPONSE];\n required uint32 key_id = 2;\n required uint32 obj_id = 3;\n required bytes user_data = 4;\n}\n\nmessage RCRegistryUpdateResponsePdu { // MCS_Send_Data on Node ID Channel of requester\n optional RCPduType_E type = 1 [default = RCPDU_REGISTRY_UPDATE_INDICATION];\n required uint32 key_id = 2;\n required uint32 obj_id = 3;\n required RCPduResult_E result = 4;\n}\n\nmessage RCFunctionNotSupportedResponsePdu {\n optional RCPduType_E type = 1\n [default = RCPDU_FUNCTION_NOT_SUPPORTED_RESPONSE];\n required uint32 request_pdu_id = 2;\n}\n\n//ape.proto\n\noption optimize_for = LITE_RUNTIME;\nmessage RCConferenceSendDataRequestPdu {\n optional uint32 initiator = 1;\n optional uint32 peer = 2;\n required bool is_public = 3;\n required bytes user_data = 4;\n}\n\nmessage RCChatSendDataRequestPdu {\n optional uint32 initiator = 1;\n optional uint32 peer = 2;\n required bool is_public = 3;\n required bytes user_data = 4;\n required uint32 from_role = 5;\n required bytes from_name = 6;\n}\n\nmessage RCDocSendDataRequestPdu {\n required int32 id = 1;\n required string doc_type = 2;\n required string uri = 3;\n optional int32 owner = 4;\n optional int32 from = 5;\n optional string name = 6;\n optional int32 cur_page_no = 7;\n optional int32 cur_H = 8;\n optional int32 cur_V = 9;\n optional int32 scale = 10;\n optional int32 page_num = 11;\n}\n\nmessage RCGiftSendDataRequestPdu {\n optional uint32 initiator = 1;\n required uint32 peer = 2;\n required uint32 index = 3;\n required uint32 num = 4;\n optional bytes user_data = 5;\n}\n\nmessage RCAudioSendDataRequestPdu {\n optional uint32 initiator = 1;\n required bytes user_data = 2;\n}\n\nmessage RCVideoSendDataRequestPdu {\n optional uint32 initiator = 1;\n required bool key_frame = 2;\n required uint32 sequence_id = 3;\n required uint32 slice_id = 4;\n required bytes user_data = 5;\n}\n\nmessage RCAudioChannelInfoRecordPdu {\n required uint32 status = 1;\n required uint32 device_id = 2;\n required uint32 framerate = 3;\n required uint32 bitrate = 4;\n required uint32 codec = 5;\n}\n\nmessage RCVideoChannelInfoRecordPdu {\n optional uint32 status = 1;\n optional uint32 device_id = 2;\n optional uint32 width = 3;\n optional uint32 height = 4;\n optional uint32 framerate = 5;\n optional uint32 bitrate = 6;\n optional uint32 codec = 7;\n optional string peer_id = 8;\n optional string url = 9;\n optional uint32 type = 10;\n optional string shamlive = 11;\n optional uint32 livetype = 12;\n optional uint32 releaseGrab = 13;\n optional string curTime = 14;\n}\n\nmessage RCAudioDeviceInfoRecordPdu {\n required uint32 device_id = 1;\n required string device_name = 2;\n}\n\nmessage RCVideoDeviceInfoRecordPdu {\n required uint32 device_id = 1;\n required string device_name = 2;\n}\n\nmessage RCNodeInfoRecordPdu {\n required uint32 node_id = 1;\n required string name = 2;\n required uint32 role = 3;\n required uint32 level = 4;\n repeated RCAudioDeviceInfoRecordPdu audio_records = 5;\n repeated RCVideoDeviceInfoRecordPdu video_records = 6;\n optional uint32 status = 7;\n optional bytes user_data = 8;\n optional string user_id = 9;\n optional uint32 handUpTime = 10;\n optional uint32 deviceType = 11;\n optional uint32 mobileDirection = 12;\n}\n\nmessage RCVotingPollSettingsPdu {\n required bool timer = 1;\n optional uint32 time_limit = 2;\n optional uint32 total_score = 3;\n}\n\nmessage RCVotingPollResultPdu {\n required string title = 1;\n required string content = 2;\n optional uint32 score = 3;\n}\n\nmessage RCVotingPollQuestionPdu {\n required uint32 index = 1;\n required uint32 type = 2;\n required string title = 3;\n repeated string options = 4;\n optional uint32 score = 5;\n optional uint32 time_limit = 6;\n optional string restrict_input = 7;\n optional uint32 char_limit = 8;\n optional string answer = 9;\n repeated uint32 selections = 10;\n repeated string responses = 11;\n}\n\nmessage RCVotingPollRecordPdu {\n required RCVotingPollSettingsPdu settings = 1;\n required string title = 2;\n repeated RCVotingPollResultPdu results = 3;\n repeated RCVotingPollQuestionPdu questions = 4;\n}\n\nmessage RCNodeInfoUserDataPdu {\n optional string qq = 1;\n optional string skype = 2;\n optional string mobile = 3;\n}\nmessage RCTabUpdateDataRequestPdu {\n optional uint32 id = 1;\n optional bytes action = 2;\n optional uint32 uncomprLen =3;\n}\n\nmessage RCWhiteBoardDataModel {\n required uint32 type= 1;//\u767D\u677F\u7C7B\u578B\n required uint32 itemIdx= 2;//itemIdx \u6BCF\u4E00\u6B21\u7ED8\u5236\u7684\u552F\u4E00\u6807\u8BC6\n required uint32 initiator=3; //\u7ED8\u5236\u6765\u81EA\u8C01\n required uint32 parentId=4; //\u7236\u7EA7\u7684id\n optional string pointGroup=5; //\u5750\u6807\u70B9\u96C6\u6570\u7EC4\u7684JSON\u5B57\u7B26\u4E32\n optional string color=6 [default = \"#000000\"]; //\u989C\u8272\n optional uint32 thickness= 7 ;//\u7EBF\u6761\u7C97\u7EC6\n optional uint32 radius= 8;//\u56ED\u7684\u534A\u5F84\n optional uint32 fontSize= 9;//\u5B57\u4F53\u5927\u5C0F\n optional string fontName= 10;//\u5B57\u4F53\u540D\u79F0\n optional string text= 11;//\u6587\u672C\u5185\u5BB9\n}\n\n\n//end\n";
var _default = "\n//start\n// pdu_def.proto\n\n// syntax = \"proto3\";\n\noption optimize_for = LITE_RUNTIME;\nenum RCPduPriority_E {\n DP_TOP = 0;\n DP_HIGH = 1;\n DP_MEDIUM = 2;\n DP_LOW = 3;\n}\n\nenum RCPduSegment_E {\n SEG_BEGIN = 0;\n SEG_END = 1;\n SEG_ONCE = 2;\n}\n\nenum RCPduTokenStatus_E {\n TS_NOT_IN_USE = 0;\n TS_SELF_GRABBED = 1;\n TS_OTHER_GRABBED = 2;\n TS_SELF_INHIBITED = 3;\n TS_OTHER_INHIBITED = 4;\n TS_SELF_RECIPIENT = 5;\n TS_SELF_GIVING = 6;\n TS_OTHER_GIVING = 7;\n}\n\nenum RCPduType_E {\n// GCC PDU\n RCPDU_CONNECT_PROVIDER_REQUEST = 0;\n RCPDU_CONNECT_PROVIDER_RESPONSE = 1;\n RCPDU_CONFERENCE_JOIN_REQUEST = 2;\n RCPDU_CONFERENCE_JOIN_RESPONSE = 3;\n RCPDU_CONFERENCE_INVITE_REQUEST = 10;\n RCPDU_CONFERENCE_INVITE_RESPONSE = 11;\n RCPDU_CONFERENCE_LOCK_REQUEST = 20;\n RCPDU_CONFERENCE_LOCK_RESPONSE = 21;\n RCPDU_CONFERENCE_LOCK_INDICATION = 22;\n RCPDU_CONFERENCE_UNLOCK_REQUEST = 30;\n RCPDU_CONFERENCE_UNLOCK_RESPONSE = 31;\n RCPDU_CONFERENCE_UNLOCK_INDICATION = 32;\n RCPDU_CONFERENCE_LEAVE_REQUEST = 39;\n RCPDU_CONFERENCE_TERMINATE_REQUEST = 40;\n RCPDU_CONFERENCE_TERMINATE_RESPONSE = 41;\n RCPDU_CONFERENCE_TERMINATE_INDICATION = 42;\n RCPDU_CONFERENCE_EJECT_USER_REQUEST = 50;\n RCPDU_CONFERENCE_EJECT_USER_RESPONSE = 51;\n RCPDU_CONFERENCE_EJECT_USER_INDICATION = 52;\n RCPDU_ROSTER_UPDATE_INDICATION = 60;\n RCPDU_REGISTRY_UPDATE_REQUEST = 70; // INCLUDE ALL OBJS OPERATION\n RCPDU_REGISTRY_UPDATE_RESPONSE = 71;\n RCPDU_REGISTRY_UPDATE_INDICATION = 72;\n RCPDU_FUNCTION_NOT_SUPPORTED_RESPONSE = 80;\n\n // MCS PDU\n RCPDU_SESSION_JOIN_REQUEST = 90;\n RCPDU_SESSION_JOIN_RESPONSE = 91;\n RCPDU_CHANNEL_GRAB_REQUEST = 100;\n RCPDU_CHANNEL_GRAB_RESPONSE = 101;\n RCPDU_CHANNEL_GRAB_INDICATION = 102;\n RCPDU_CHANNEL_JOIN_REQUEST = 103;\n RCPDU_CHANNEL_JOIN_RESPONSE = 104;\n RCPDU_CHANNEL_LEAVE_REQUEST = 105;\n RCPDU_CHANNEL_RELEASE_REQUEST = 106;\n RCPDU_CHANNEL_RELEASE_INDICATION = 107;\n RCPDU_SEND_DATA_REQUEST = 120;\n RCPDU_SEND_DATA_INDICATION = 121;\n RCPDU_UNIFORM_SEND_DATA_REQUEST = 125;\n RCPDU_UNIFORM_SEND_DATA_INDICATION = 126;\n RCPDU_TOKEN_GRAB_REQUEST = 130;\n RCPDU_TOKEN_GRAB_CONFIRM = 131;\n RCPDU_TOKEN_INHIBIT_REQUEST = 132;\n RCPDU_TOKEN_INHIBIT_CONFIRM = 133;\n RCPDU_TOKEN_GIVE_REQUEST = 134;\n RCPDU_TOKEN_GIVE_INDICATION = 135;\n RCPDU_TOKEN_GIVE_RESPONSE = 136;\n RCPDU_TOKEN_GIVE_CONFIRM = 137;\n RCPDU_TOKEN_PLEASE_REQUEST = 138;\n RCPDU_TOKEN_PLEASE_INDICATION = 139;\n RCPDU_TOKEN_RELEASE_REQUEST = 140;\n RCPDU_TOKEN_RELEASE_CONFIRM = 141;\n RCPDU_TOKEN_TEST_REQUEST = 142;\n RCPDU_TOKEN_TEST_CONFIRM = 143;\n\n // Registry PDU\n RCPDU_REG_REGISTER_KEY = 200;\n RCPDU_REG_UNREGISTER_KEY = 201;\n RCPDU_REG_REGISTER_ROSTER = 202;\n RCPDU_REG_REGISTER_TOKEN = 203;\n RCPDU_REG_REGISTER_PARAMETER = 204;\n RCPDU_REG_REGISTER_COUNTER = 205;\n RCPDU_REG_REGISTER_TABLE = 206;\n RCPDU_REG_REGISTER_CACHE = 207;\n RCPDU_REG_REGISTER_OBJ = 208;\n RCPDU_REG_UNREGISTER_OBJ = 209;\n RCPDU_REG_UPDATE_OBJ = 210;\n RCPDU_REG_ADAPTER = 211;\n RCPDU_REG_CLEANUP_NODE = 212;\n RCPDU_REG_REGISTER_QUEUE = 213;\n\n // Registry Obj update PDU\n RCPDU_REG_TABLE_INSERT_PDU = 230;\n RCPDU_REG_TABLE_DELETE_PDU = 231;\n RCPDU_REG_TABLE_UPDATE_PDU = 232;\n RCPDU_REG_ROSTER_INSERT_PDU = 240;\n RCPDU_REG_ROSTER_DELETE_PDU = 241;\n RCPDU_REG_ROSTER_UPDATE_PDU = 242;\n RCPDU_REG_PARAMETER_UPDATE_PDU = 250;\n RCPDU_REG_QUEUE_INSERT_PDU = 255;\n RCPDU_REG_QUEUE_DELETE_PDU = 256;\n RCPDU_REG_QUEUE_UPDATE_PDU = 257;\n\n // data\n RCPDU_CONFERENCE_SEND_DATA_REQUEST = 259;\n RCPDU_VIDEO_SEND_DATA_REQUEST = 260;\n RCPDU_AUDIO_SEND_DATA_REQUEST = 261;\n RCPDU_GIFT_SEND_DATA_REQUEST = 262;\n RCPDU_CHAT_SEND_DATA_REQUEST = 263;\n RCPDU_VOTING_POLL_RECORD = 265;\n\n // Registry resource request or response PDU\n RCPDU_REG_REQUEST_OBJ = 290;\n RCPDU_REG_RESPONSE_OBJ = 291;\n RCPDU_REG_COUNTER_REQUEST_PDU = 292;\n RCPDU_REG_COUNTER_RESPONSE_PDU = 293;\n\n // Index exchange\n RCPDU_INDEX_ADAPTER = 300;\n RCPDU_INDEX_SERVER_USERS = 301;\n RCPDU_INDEX_CONFERENCE_USER_JOINED = 302;\n RCPDU_INDEX_CONFERENCE_USER_EXITED = 303;\n RCPDU_INDEX_CONFERENCE_USERS = 304;\n}\n\nenum RCPduNodeType_E {\n NT_TERMINAL = 0;\n NT_MULTIPORT_TERMINAL = 1;\n NT_MCU = 2;\n}\n\nenum RCPduReason_E {\n RSN_USERINITIATED = 0;\n RSN_DISCONNECTED = 1;\n RSN_SUPER_LEFT = 2;\n}\n\nenum RCPduResult_E {\n RET_SUCCESS = 0;\n RET_USER_REJECTED = 1;\n RET_INVALID_CONFERENCE = 2;\n RET_INVALID_PASSWORD = 3;\n RET_INVALID_CONVENER_PASSWORD = 4;\n RET_CHALLENGE_RESPONSE_REQUIRED = 5;\n RET_INVALID_CHALLENGE_RESPONSE = 6;\n RET_NO_CONNECTION = 7;\n RET_FULL_CAPACITY = 8;\n}\n\nenum RCPduNodeCategory_E {\n NC_CONVENTIONAL = 0;\n NC_COUNTED = 1;\n NC_ANONYMOUS = 2;\n}\n\nmessage RCConferenceDescriptorPdu {\n required uint32 id = 1;\n required bytes name = 2;\n optional bytes description = 3;\n //optional string net_address = 4;\n optional uint32 mode = 4;\n optional string password = 5;\n optional uint32 capacity = 6;\n optional bytes user_data = 7;\n}\n\nmessage RCNodeRecordPdu {\n required uint32 id = 1;\n optional uint32 superior_node = 2;\n required RCPduNodeType_E type = 3;\n required string name = 4;\n required uint32 capability = 5;\n optional string net_address = 6;\n optional RCPduNodeCategory_E category = 7;\n}\n\nmessage RCApplicationRecordPdu {\n required uint32 id = 1; // session id\n required string name = 2;\n required string tag = 3;\n repeated uint32 channel_ids = 4 [packed = true];\n optional uint32 capability = 5;\n}\n\n//reg.proto\n\noption optimize_for = LITE_RUNTIME;\nmessage RCRegistryRegisterKeyPdu {\n required RCPduType_E type = 1 [default = RCPDU_REG_REGISTER_KEY];\n required uint32 id = 2;\n required string name = 3;\n required string tag = 4;\n optional bytes user_data = 5;\n}\n\nmessage RCRegistryUnregisterKeyPdu {\n optional RCPduType_E type = 1 [default = RCPDU_REG_UNREGISTER_KEY];\n required uint32 key_id = 2;\n}\n\nmessage RCRegistryRegisterObjPdu {\n optional RCPduType_E type = 1;\n required uint32 obj_id = 2;\n required string name = 3;\n required string tag = 4;\n optional uint32 owner = 5;\n optional bytes user_data = 6;\n}\n\nmessage RCRegistryUnregisterObjPdu {\n optional RCPduType_E type = 1 [default = RCPDU_REG_UNREGISTER_OBJ];\n required uint32 obj_id = 2;\n}\n\nmessage RCRegistryUpdateObjPdu {\n optional RCPduType_E type = 1 [default = RCPDU_REG_UPDATE_OBJ];\n required RCPduType_E sub_type = 2;\n required uint32 obj_id = 3;\n required bytes user_data = 4;\n}\n\nmessage RCAdapterItemPdu {\n required RCPduType_E type = 1;\n required bytes item_data = 2;\n}\n\n// adapter pdu that used to package a list of pdu.\nmessage RCAdapterPdu {\n optional RCPduType_E type = 1 [default = RCPDU_REG_ADAPTER];\n repeated RCAdapterItemPdu item = 2;\n}\n\n// table operation pdu\nmessage RCRegistryTableItemPdu {\n required uint32 item_idx = 1;\n required uint32 owner = 2;\n required bytes item_data = 3;\n optional uint32 register_obj_id=4;\n}\n\nmessage RCRegistryTableInsertItemPdu {\n optional RCPduType_E type = 1 [default = RCPDU_REG_TABLE_INSERT_PDU];\n repeated RCRegistryTableItemPdu items = 2;\n}\n\nmessage RCRegistryTableDeleteItemPdu {\n optional RCPduType_E type = 1 [default = RCPDU_REG_TABLE_DELETE_PDU];\n repeated uint32 item_idx = 2;\n}\n\nmessage RCRegistryTableUpdateItemPdu {\n optional RCPduType_E type = 1 [default = RCPDU_REG_TABLE_UPDATE_PDU];\n repeated RCRegistryTableItemPdu items = 2;\n}\n\n// roster operation pdu\nmessage RCRegistryRosterItemPdu {\n required uint32 node_id = 1;\n required bytes node_data = 2;\n}\nmessage RCRegistryWBItemPdu {\n required uint32 node_id = 1;\n required bytes node_data = 2;\n}\nmessage RCRegistryRosterInsertItemPdu {\n optional RCPduType_E type = 1 [default = RCPDU_REG_ROSTER_INSERT_PDU];\n repeated RCRegistryRosterItemPdu items = 2;\n}\n\nmessage RCRegistryRosterDeleteItemPdu {\n optional RCPduType_E type = 1 [default = RCPDU_REG_ROSTER_DELETE_PDU];\n required uint32 node_id = 2;\n}\n\nmessage RCRegistryRosterUpdateItemPdu {\n optional RCPduType_E type = 1 [default = RCPDU_REG_ROSTER_UPDATE_PDU];\n repeated RCRegistryRosterItemPdu items = 2;\n}\n\n//message RCCleanupNodePdu\n//{\n// optional RCPduType_E type = 1 [default = RCPDU_REG_CLEANUP_NODE];\n// required uint32 node_id = 2;\n//}\n\n// parameter operation pdu\nmessage RCRegistryParameterUpdatePdu {\n optional RCPduType_E type = 1 [default = RCPDU_REG_PARAMETER_UPDATE_PDU];\n required uint32 value = 2 [default = 0];\n optional uint32 begin_bit = 3 [default = 31];\n optional uint32 end_bit = 4;\n}\n\n// queue operation pdu\nmessage RCRegistryQueueItemPdu {\n required uint32 owner = 1;\n required uint32 item_id = 2;\n optional bytes item_data = 3;\n optional uint32 item_idx = 4;\n}\n\nmessage RCRegstryQueueInsertItemPdu {\n optional RCPduType_E type = 1 [default = RCPDU_REG_QUEUE_INSERT_PDU];\n repeated RCRegistryQueueItemPdu items = 2;\n}\n\nmessage RCRegistryQueueDeleteItemPdu {\n optional RCPduType_E type = 1 [default = RCPDU_REG_QUEUE_DELETE_PDU];\n required uint32 item_id = 2;\n}\n\nmessage RCRegistryQueueUpdateItemPdu {\n optional RCPduType_E type = 1 [default = RCPDU_REG_QUEUE_UPDATE_PDU];\n repeated RCRegistryQueueItemPdu items = 2;\n}\n\nmessage RCRegistryRequestObjPdu {\n optional RCPduType_E type = 1 [default = RCPDU_REG_REQUEST_OBJ];\n required RCPduType_E sub_type = 2;\n required uint32 obj_id = 3;\n required bytes user_data = 4;\n}\n\nmessage RCRegistryResponseObjPdu {\n optional RCPduType_E type = 1 [default = RCPDU_REG_RESPONSE_OBJ];\n required RCPduType_E sub_type = 2;\n required uint32 obj_id = 3;\n required bytes user_data = 4;\n}\n\nmessage RCRegistryCounterRequestPdu {\n optional RCPduType_E type = 1 [default = RCPDU_REG_COUNTER_REQUEST_PDU];\n required uint32 count = 2;\n}\n\nmessage RCRegistryCounterResponsePdu {\n optional RCPduType_E type = 1 [default = RCPDU_REG_COUNTER_RESPONSE_PDU];\n required uint32 start = 2;\n required uint32 end = 3;\n}\n\n// mcs\noption optimize_for = LITE_RUNTIME;\n\n// Session management\nmessage RCSessionJoinRequestPdu {\n required RCPduType_E type = 1 [default = RCPDU_SESSION_JOIN_REQUEST];\n required uint32 id = 2;\n required string name = 3;\n required string tag = 4;\n optional bytes session_data = 5; //\u805A\u5408\u5728\u4E00\u8D77\u7684registry\u4FE1\u606F\n}\n\nmessage RCSessionJoinResponsePdu {\n optional RCPduType_E type = 1 [default = RCPDU_SESSION_JOIN_RESPONSE];\n required uint32 id = 2;\n optional bytes response_data = 3;\n}\n\n// Channel management\nmessage RCChannelGrabRequestPdu {\n optional RCPduType_E type = 1 [default = RCPDU_CHANNEL_GRAB_REQUEST];\n required uint32 initiator = 2;\n required uint32 channel_id = 3;\n}\n\nmessage RCChannelGrabResponsePdu {\n optional RCPduType_E type = 1 [default = RCPDU_CHANNEL_GRAB_RESPONSE];\n required uint32 initiator = 2;\n required uint32 requested_channel_id = 3;\n required RCPduResult_E result = 4;\n optional uint32 channel_id = 5;\n}\n\nmessage RCChannelGrabIndicationPdu {\n optional RCPduType_E type = 1 [default = RCPDU_CHANNEL_GRAB_INDICATION];\n required uint32 initiator = 2;\n optional uint32 channel_id = 3;\n}\n\nmessage RCChannelJoinRequestPdu {\n required RCPduType_E type = 1 [default = RCPDU_CHANNEL_JOIN_REQUEST];\n required uint32 initiator = 2;\n required uint32 channel_id = 3;\n}\n\nmessage RCChannelJoinResponsePdu {\n optional RCPduType_E type = 1 [default = RCPDU_CHANNEL_JOIN_RESPONSE];\n required uint32 initiator = 2;\n required uint32 requested_channel_id = 3;\n required RCPduResult_E result = 4;\n}\n\nmessage RCChannelLeaveRequestPdu {\n optional RCPduType_E type = 1 [default = RCPDU_CHANNEL_LEAVE_REQUEST];\n required uint32 initiator = 2;\n repeated uint32 channel_ids = 3 [packed = true];\n}\n\nmessage RCChannelReleaseRequestPdu {\n optional RCPduType_E type = 1 [default = RCPDU_CHANNEL_RELEASE_REQUEST];\n required uint32 initiator = 2;\n required uint32 channel_id = 3;\n}\n\nmessage RCChannelReleaseIndicationPdu {\n optional RCPduType_E type = 1\n [default = RCPDU_CHANNEL_RELEASE_INDICATION];\n required uint32 initiator = 2;\n required uint32 channel_id = 3;\n}\n\n// Data transfer\nmessage RCSendDataPdu {\n required RCPduType_E type = 1 [default = RCPDU_SEND_DATA_REQUEST];\n required RCPduType_E sub_type = 2;\n required uint32 initiator = 3;\n required uint32 conf_id = 4;\n required uint32 session_id = 5;\n required uint32 channel_id = 6;\n required bool upward = 7;\n required bool reliability = 8;\n required RCPduPriority_E priority = 9;\n required bytes data = 10;\n optional uint32 peer = 11;\n optional RCPduSegment_E seg = 12;\n optional uint32 total_size = 13;\n optional uint32 site_id = 14;\n optional string user_id = 15;\n optional string user_name = 16;\n optional string user_role = 17;\n optional string device_type = 18;\n optional string site = 19;\n}\n\n// Token management\nmessage RCTokenGrabRequestPdu {\n optional RCPduType_E type = 1 [default = RCPDU_TOKEN_GRAB_REQUEST];\n required uint32 initiator = 2;\n required uint32 token_id = 3;\n}\n\nmessage RCTokenGrabConfirmPdu {\n optional RCPduType_E type = 1 [default = RCPDU_TOKEN_GRAB_CONFIRM];\n required uint32 initiator = 2;\n required uint32 token_id = 3;\n required RCPduResult_E result = 4;\n required RCPduTokenStatus_E status = 5;\n}\n\nmessage RCTokenInhibitRequestPdu {\n optional RCPduType_E type = 1 [default = RCPDU_TOKEN_INHIBIT_REQUEST];\n required uint32 initiator = 2;\n required uint32 token_id = 3;\n}\n\nmessage RCTokenInhibitConfirmPdu {\n optional RCPduType_E type = 1 [default = RCPDU_TOKEN_INHIBIT_CONFIRM];\n required uint32 initiator = 2;\n required uint32 token_id = 3;\n required RCPduResult_E result = 4;\n required RCPduTokenStatus_E status = 5;\n}\n\nmessage RCTokenGiveRequestPdu {\n optional RCPduType_E type = 1 [default = RCPDU_TOKEN_GIVE_REQUEST];\n required uint32 initiator = 2;\n required uint32 token_id = 3;\n required uint64 recipient = 4;\n}\n\nmessage RCTokenGiveIndicationPdu {\n optional RCPduType_E type = 1 [default = RCPDU_TOKEN_GIVE_INDICATION];\n required uint32 initiator = 2;\n required uint32 token_id = 3;\n required uint64 recipient = 4;\n}\n\nmessage RCTokenGiveResponsePdu {\n optional RCPduType_E type = 1 [default = RCPDU_TOKEN_GIVE_RESPONSE];\n required uint32 token_id = 2;\n required uint64 recipient = 3;\n required RCPduResult_E result = 4;\n}\n\nmessage RCTokenGiveConfirmPdu {\n optional RCPduType_E type = 1 [default = RCPDU_TOKEN_GIVE_CONFIRM];\n required uint32 token_id = 2;\n required uint64 recipient = 3;\n required RCPduResult_E result = 4;\n required RCPduTokenStatus_E status = 5;\n}\n\nmessage RCTokenPleaseRequestPdu {\n optional RCPduType_E type = 1 [default = RCPDU_TOKEN_PLEASE_REQUEST];\n required uint32 initiator = 2;\n required uint32 token_id = 3;\n}\n\nmessage RCTokenPleaseIndicationPdu {\n optional RCPduType_E type = 1 [default = RCPDU_TOKEN_PLEASE_INDICATION];\n required uint32 initiator = 2;\n required uint32 token_id = 3;\n}\n\nmessage RCTokenReleaseRequestPdu {\n optional RCPduType_E type = 1 [default = RCPDU_TOKEN_RELEASE_REQUEST];\n required uint32 initiator = 2;\n required uint32 token_id = 3;\n}\n\nmessage RCTokenReleaseConfirmPdu {\n optional RCPduType_E type = 1 [default = RCPDU_TOKEN_TEST_REQUEST];\n required uint32 initiator = 2;\n required uint32 token_id = 3;\n required RCPduResult_E result = 4;\n required RCPduTokenStatus_E status = 5;\n}\n\nmessage RCTokenTestRequestPdu {\n optional RCPduType_E type = 1 [default = RCPDU_TOKEN_TEST_REQUEST];\n required uint32 initiator = 2;\n required uint32 token_id = 3;\n}\n\nmessage RCTokenTestConfirmPdu {\n optional RCPduType_E type = 1 [default = RCPDU_TOKEN_TEST_CONFIRM];\n required uint32 initiator = 2;\n required uint32 token_id = 3;\n required RCPduTokenStatus_E status = 4;\n}\n\n//gcc.proto\n\noption optimize_for = LITE_RUNTIME;\nmessage RCConferenceJoinRequestPdu {\n required RCPduType_E type = 1 [default = RCPDU_CONFERENCE_JOIN_REQUEST];\n required uint32 initiator = 2;\n required RCPduNodeType_E node_type = 3;\n required RCConferenceDescriptorPdu conf_desc = 4;\n}\n\nmessage RCConferenceJoinResponsePdu {\n optional RCPduType_E type = 1 [default = RCPDU_CONFERENCE_JOIN_RESPONSE];\n required uint32 conf_id = 2;\n required RCPduResult_E result = 3;\n optional RCConferenceDescriptorPdu conf_desc = 4;\n}\n\nmessage RCConferenceInviteRequestPdu {\n optional RCPduType_E type = 1 [default = RCPDU_CONFERENCE_INVITE_REQUEST];\n required uint32 initiator = 2;\n required RCConferenceDescriptorPdu conf_desc = 3;\n}\n\nmessage RCConferenceInviteResponsePdu {\n optional RCPduType_E type = 1\n [default = RCPDU_CONFERENCE_INVITE_RESPONSE];\n required RCPduResult_E result = 2;\n optional bytes user_data = 3;\n}\n\nmessage RCConferenceLockRequestPdu {\n optional RCPduType_E type = 1 [default = RCPDU_CONFERENCE_LOCK_REQUEST];\n}\n\nmessage RCConferenceLockResponsePdu {\n optional RCPduType_E type = 1 [default = RCPDU_CONFERENCE_LOCK_RESPONSE];\n required RCPduResult_E result = 2;\n}\n\nmessage RCConferenceLockIndicationPdu {\n optional RCPduType_E type = 1\n [default = RCPDU_CONFERENCE_LOCK_INDICATION];\n}\n\nmessage RCConferenceUnlockRequestPdu {\n optional RCPduType_E type = 1 [default = RCPDU_CONFERENCE_UNLOCK_REQUEST];\n}\n\nmessage RCConferenceUnlockResponsePdu {\n optional RCPduType_E type = 1\n [default = RCPDU_CONFERENCE_UNLOCK_RESPONSE];\n required RCPduResult_E result = 2;\n}\n\nmessage RCConferenceUnlockIndicationPdu {\n optional RCPduType_E type = 1\n [default = RCPDU_CONFERENCE_UNLOCK_INDICATION];\n}\n\nmessage RCConferenceLeaveRequestPdu {\n optional RCPduType_E type = 1 [default = RCPDU_CONFERENCE_LEAVE_REQUEST];\n required RCPduReason_E reason = 2;\n}\n\nmessage RCConferenceTerminateRequestPdu {\n optional RCPduType_E type = 1\n [default = RCPDU_CONFERENCE_TERMINATE_REQUEST];\n required RCPduReason_E reason = 2;\n}\n\nmessage RCConferenceTerminateResponsePdu {\n optional RCPduType_E type = 1\n [default = RCPDU_CONFERENCE_TERMINATE_RESPONSE];\n required RCPduResult_E result = 2;\n}\n\nmessage RCConferenceTerminateIndicationPdu { // MCS_Uniform_Send_Data on GCC_Broadcast_Channel\n optional RCPduType_E type = 1\n [default = RCPDU_CONFERENCE_TERMINATE_INDICATION];\n required RCPduReason_E reason = 2;\n}\n\nmessage RCConferenceEjectUserRequestPdu { // MCS_Send_Data on Node ID Channel of Top GCC\n optional RCPduType_E type = 1\n [default = RCPDU_CONFERENCE_EJECT_USER_REQUEST];\n required uint32 ejected_node_id = 2;\n required RCPduReason_E reason = 3;\n}\n\nmessage RCConferenceEjectUserResponsePdu { // MCS_Send_Data on Node ID Channel of requester\n optional RCPduType_E type = 1\n [default = RCPDU_CONFERENCE_EJECT_USER_RESPONSE];\n required uint32 ejected_node_id = 2;\n required RCPduResult_E result = 3;\n}\n\nmessage RCConferenceEjectUserIndicationPdu { // MCS_Uniform_Send_Data on GCC_Broadcast_Channel\n optional RCPduType_E type = 1\n [default = RCPDU_CONFERENCE_EJECT_USER_INDICATION];\n required uint32 ejected_node_id = 2;\n required RCPduReason_E reason = 3;\n}\n\nmessage RCRosterUpdateIndicationPdu { // MCS_Send_Data on Node ID Channel or\n// MCS_Uniform_Send_Data on GCC_Broadcast_Channel\n optional RCPduType_E type = 1 [default = RCPDU_ROSTER_UPDATE_INDICATION];\n required bool full_refresh = 2; // Conference Roster and all\n repeated RCNodeRecordPdu node_record = 3;\n repeated RCApplicationRecordPdu app_record = 4;\n}\n\nmessage RCRegistryUpdateRequestPdu { // MCS_Send_Data on Node ID Channel of Top GCC\n optional RCPduType_E type = 1 [default = RCPDU_REGISTRY_UPDATE_REQUEST];\n required uint32 key_id = 2;\n required uint32 obj_id = 3;\n required bytes user_data = 4;\n}\n\nmessage RCRegistryUpdateIndicationPdu { // MCS_Send_Data on Node ID Channel of Top GCC\n optional RCPduType_E type = 1 [default = RCPDU_REGISTRY_UPDATE_RESPONSE];\n required uint32 key_id = 2;\n required uint32 obj_id = 3;\n required bytes user_data = 4;\n}\n\nmessage RCRegistryUpdateResponsePdu { // MCS_Send_Data on Node ID Channel of requester\n optional RCPduType_E type = 1 [default = RCPDU_REGISTRY_UPDATE_INDICATION];\n required uint32 key_id = 2;\n required uint32 obj_id = 3;\n required RCPduResult_E result = 4;\n}\n\nmessage RCFunctionNotSupportedResponsePdu {\n optional RCPduType_E type = 1\n [default = RCPDU_FUNCTION_NOT_SUPPORTED_RESPONSE];\n required uint32 request_pdu_id = 2;\n}\n\n//ape.proto\n\noption optimize_for = LITE_RUNTIME;\nmessage RCConferenceSendDataRequestPdu {\n optional uint32 initiator = 1;\n optional uint32 peer = 2;\n required bool is_public = 3;\n required bytes user_data = 4;\n}\n\nmessage RCChatSendDataRequestPdu {\n optional uint32 initiator = 1;\n optional uint32 peer = 2;\n required bool is_public = 3;\n required bytes user_data = 4;\n required uint32 from_role = 5;\n required bytes from_name = 6;\n}\n\nmessage RCDocSendDataRequestPdu {\n required int32 id = 1;\n required string doc_type = 2;\n required string uri = 3;\n optional int32 owner = 4;\n optional int32 from = 5;\n optional string name = 6;\n optional int32 cur_page_no = 7;\n optional int32 cur_H = 8;\n optional int32 cur_V = 9;\n optional int32 scale = 10;\n optional int32 page_num = 11;\n}\n\nmessage RCGiftSendDataRequestPdu {\n optional uint32 initiator = 1;\n required uint32 peer = 2;\n required uint32 index = 3;\n required uint32 num = 4;\n optional bytes user_data = 5;\n}\n\nmessage RCAudioSendDataRequestPdu {\n optional uint32 initiator = 1;\n required bytes user_data = 2;\n}\n\nmessage RCVideoSendDataRequestPdu {\n optional uint32 initiator = 1;\n required bool key_frame = 2;\n required uint32 sequence_id = 3;\n required uint32 slice_id = 4;\n required bytes user_data = 5;\n}\n\nmessage RCAudioChannelInfoRecordPdu {\n required uint32 status = 1;\n required uint32 device_id = 2;\n required uint32 framerate = 3;\n required uint32 bitrate = 4;\n required uint32 codec = 5;\n}\n\nmessage RCVideoChannelInfoRecordPdu {\n optional uint32 status = 1;\n optional uint32 device_id = 2;\n optional uint32 width = 3;\n optional uint32 height = 4;\n optional uint32 framerate = 5;\n optional uint32 bitrate = 6;\n optional uint32 codec = 7;\n optional string peer_id = 8;\n optional string url = 9;\n optional uint32 type = 10;\n optional string shamlive = 11;\n optional uint32 livetype = 12;\n optional uint32 releaseGrab = 13;\n optional string curTime = 14;\n}\n\nmessage RCAudioDeviceInfoRecordPdu {\n required uint32 device_id = 1;\n required string device_name = 2;\n}\n\nmessage RCVideoDeviceInfoRecordPdu {\n required uint32 device_id = 1;\n required string device_name = 2;\n}\n\nmessage RCNodeInfoRecordPdu {\n required uint32 node_id = 1;\n required string name = 2;\n required uint32 role = 3;\n required uint32 level = 4;\n repeated RCAudioDeviceInfoRecordPdu audio_records = 5;\n repeated RCVideoDeviceInfoRecordPdu video_records = 6;\n optional uint32 status = 7;\n optional bytes user_data = 8;\n optional string user_id = 9;\n optional uint32 handUpTime = 10;\n optional uint32 deviceType = 11;\n optional uint32 mobileDirection = 12;\n}\n\nmessage RCVotingPollSettingsPdu {\n required bool timer = 1;\n optional uint32 time_limit = 2;\n optional uint32 total_score = 3;\n}\n\nmessage RCVotingPollResultPdu {\n required string title = 1;\n required string content = 2;\n optional uint32 score = 3;\n}\n\nmessage RCVotingPollQuestionPdu {\n required uint32 index = 1;\n required uint32 type = 2;\n required string title = 3;\n repeated string options = 4;\n optional uint32 score = 5;\n optional uint32 time_limit = 6;\n optional string restrict_input = 7;\n optional uint32 char_limit = 8;\n optional string answer = 9;\n repeated uint32 selections = 10;\n repeated string responses = 11;\n}\n\nmessage RCVotingPollRecordPdu {\n required RCVotingPollSettingsPdu settings = 1;\n required string title = 2;\n repeated RCVotingPollResultPdu results = 3;\n repeated RCVotingPollQuestionPdu questions = 4;\n}\n\nmessage RCNodeInfoUserDataPdu {\n optional string qq = 1;\n optional string skype = 2;\n optional string mobile = 3;\n}\nmessage RCTabUpdateDataRequestPdu {\n optional uint32 id = 1;\n optional bytes action = 2;\n optional uint32 uncomprLen =3;\n}\n\nmessage RCWhiteBoardDataModel {\n required uint32 type= 1;//\u767D\u677F\u7C7B\u578B\n required uint32 itemIdx= 2;//itemIdx \u6BCF\u4E00\u6B21\u7ED8\u5236\u7684\u552F\u4E00\u6807\u8BC6\n required uint32 initiator=3; //\u7ED8\u5236\u6765\u81EA\u8C01\n required uint32 parentId=4; //\u7236\u7EA7\u7684id\n required uint32 pageNum= 5;//\u9875\u7801\n optional string pointGroup=6; //\u5750\u6807\u70B9\u96C6\u6570\u7EC4\u7684JSON\u5B57\u7B26\u4E32\n optional string color=7 [default = \"#000000\"]; //\u989C\u8272\n optional uint32 thickness= 8 ;//\u7EBF\u6761\u7C97\u7EC6\n optional uint32 radius= 9;//\u56ED\u7684\u534A\u5F84\n optional uint32 fontSize= 10;//\u5B57\u4F53\u5927\u5C0F\n optional string fontName= 11;//\u5B57\u4F53\u540D\u79F0\n optional string text= 12;//\u6587\u672C\u5185\u5BB9\n optional bytes data = 13;//\u6682\u65F6\u9884\u7559\u7684\u53C2\u6570\n}\n\n\n//end\n";
exports.default = _default;
;
... ... @@ -13665,8 +13667,8 @@ return /******/ (function(modules) { // webpackBootstrap
//角色身份
ApeConsts.NR_GUEST = 0; // 客人
ApeConsts.NR_NORMAL = 1;// 普通与会者
ApeConsts.NR_ADMIN = 2;// 管理员
ApeConsts.NR_NORMAL = 1; // 普通与会者
ApeConsts.NR_ADMIN = 2; // 管理员
ApeConsts.NR_MASTER = 4; // 主持人
ApeConsts.NR_SLAVE = 8; // 主讲人
ApeConsts.NR_ASSISTANT = 16; // 助教
... ... @@ -13680,9 +13682,9 @@ return /******/ (function(modules) { // webpackBootstrap
ApeConsts.DOCUMENT_DEL = 1;
// RCChannelGrabStatus
ApeConsts.CGS_RELEASED = 0;///< 无人占用状态
ApeConsts.CGS_PENDING = 1;///< 占用成功,等待打开
ApeConsts.CGS_OPENNED = 2;///< 打开成功
ApeConsts.CGS_RELEASED = 0; ///< 无人占用状态
ApeConsts.CGS_PENDING = 1; ///< 占用成功,等待打开
ApeConsts.CGS_OPENNED = 2; ///< 打开成功
ApeConsts.CGS_GRABBING = 3; ///< 准备占用中, 属于本地状态机需要用的状态,在多点数据库中不存在。
// defs for common session id
... ... @@ -14319,7 +14321,7 @@ return /******/ (function(modules) { // webpackBootstrap
break;
case _pdus2.default.RCPDU_REG_TABLE_DELETE_PDU:
var tableDeleteData = _pdus2.default['RCRegistryTableDeleteItemPdu'].decode(user_data);
console.log("tableDeleteData", object_id, tableDeleteData);
//console.log("tableDeleteData",object_id,tableDeleteData);
this.tableDeleteHandler(object_id, tableDeleteData);
break;
case _pdus2.default.RCPDU_REG_TABLE_UPDATE_PDU:
... ... @@ -14500,6 +14502,22 @@ return /******/ (function(modules) { // webpackBootstrap
// Mcu发送
this.mcu.send(uniformPdu);
}
}, {
key: 'sendChatUniform',
value: function sendChatUniform(appPdu, top) {
loger.log('Ape发送数据UNIFORM PDU', appPdu);
loger.log('当前的状态============', _GlobalConfig2.default.getCurrentStatus().code);
if (_GlobalConfig2.default.getCurrentStatus().code == 0 || _GlobalConfig2.default.getCurrentStatus().code == 1) {
this._emit(_MessageTypes2.default.MCU_ERROR, _MessageTypes2.default.ERR_APE_SEND_FAILED_NO_JOIN);
return;
}
var uniformPdu = _pdus2.default.create_uniform_pdu(appPdu.type, this._confInfo.nodeId, this._confInfo.confId, this._session_id, top ? _ApeConsts2.default.BROADCAST_CHANNEL_ID : this._channel_id, true, _PduConsts2.default.DP_TOP, 0, //flash中这个值设置为0
_PduConsts2.default.SEG_ONCE);
uniformPdu.data = appPdu.toArrayBuffer();
// Mcu发送
this.mcu.send(uniformPdu);
}
}]);
return Ape;
... ... @@ -15194,17 +15212,21 @@ return /******/ (function(modules) { // webpackBootstrap
chatSendPdu.type = _pdus2.default.RCPDU_CHAT_SEND_DATA_REQUEST;
chatSendPdu.initiator = this._confInfo.nodeId; //发起人
chatSendPdu.peer = parseInt(_messageInfo.to); //发送给谁,公聊的时候是0,私聊的时候是指定的用户id
chatSendPdu.isPublic = true;
chatSendPdu.userData = this._rCArrayBufferUtil.strToUint8Array("h5" + _messageInfo.message);
chatSendPdu.fromName = this._rCArrayBufferUtil.strToUint8Array("h5" + this._confInfo.userName);
chatSendPdu.fromRole = this._confInfo.classRole;
if (!(chatSendPdu.isPublic || 0 === chatSendPdu.peer)) {
chatSendPdu.isPublic = true;
// if (!(chatSendPdu.isPublic || 0 === chatSendPdu.peer)) {
if (!chatSendPdu && 0 != chatSendPdu.peer) {
//发送给制定的人
loger.log('发送私聊消息.');
this.send(chatSendPdu);
} else {
//发送给所有人
this.sendUniform(chatSendPdu);
loger.log('发送公聊消息.');
//this.sendUniform(chatSendPdu);
this.sendChatUniform(chatSendPdu);
}
}
}, {
... ... @@ -15399,15 +15421,15 @@ return /******/ (function(modules) { // webpackBootstrap
_createClass(VideoChat, [{
key: 'playVideoPath',
value: function playVideoPath(_param) {
key: 'getPlayVideoPath',
value: function getPlayVideoPath(_param) {
return { "code": 0, "data": "播放流地址XXXXXXXXXXXXXXXXXXXXX" };
}
//获取推流地址
}, {
key: 'publishVideoPath',
value: function publishVideoPath(_param) {
key: 'getPublishVideoPath',
value: function getPublishVideoPath(_param) {
return { "code": 0, "data": "推流地址XXXXXXXXXXXXXXXXXXXXXXX" };
}
... ... @@ -15582,7 +15604,7 @@ return /******/ (function(modules) { // webpackBootstrap
value: function tableDeleteHandler(itemIdx, itemData) {
/*const re={};
re.type=ApeConsts.DOCUMENT_DEL;
this._emit(MessageTypes.DOC_DEL, re);*/
this._emit(MessageTypes.DOC_DELETE, re);*/
}
}, {
... ... @@ -15640,7 +15662,7 @@ return /******/ (function(modules) { // webpackBootstrap
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
value: true
});
var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
... ... @@ -15710,338 +15732,346 @@ return /******/ (function(modules) { // webpackBootstrap
var TYPE_TEXT = 4; //文本
var WhiteBoardApe = function (_Ape) {
_inherits(WhiteBoardApe, _Ape);
function WhiteBoardApe() {
_classCallCheck(this, WhiteBoardApe);
// properties
var _this = _possibleConstructorReturn(this, (WhiteBoardApe.__proto__ || Object.getPrototypeOf(WhiteBoardApe)).call(this, _ApeConsts2.default.WHITEBOARD_SESSION_ID, _ApeConsts2.default.WHITEBOARD_SESSION_NAME, _ApeConsts2.default.WHITEBOARD_SESSION_TAG));
_this.annoInfos = {};
//Ape Models
_this.registerKey(_this._session_id, _this._session_name, _this._session_tag, new ArrayBuffer());
_this.registerObj(_pdus2.default.RCPDU_REG_REGISTER_TABLE, _ApeConsts2.default.WHITEBOARD_OBJ_TABLE_ID, _ApeConsts2.default.WHITEBOARD_OBJ_TABLE_NAME, _ApeConsts2.default.WHITEBOARD_OBJ_TABLE_TAG, 0, new ArrayBuffer());
// ape listeners
_this.on(_pdus2.default.RCPDU_CONFERENCE_SEND_DATA_REQUEST, _this.whiteboardMsgComingHandler.bind(_this));
_this.on(_pdus2.default.RCPDU_SESSION_JOIN_RESPONSE, _this._joinSessionHandler.bind(_this));
// 白板延迟
_this._apeDelayed = true;
return _this;
}
_createClass(WhiteBoardApe, [{
key: '_joinSessionHandler',
value: function _joinSessionHandler(confInfo) {
loger.log("RCPDU_SESSION_JOIN_RESPONSE");
}
/////////////发送数据操作//////////////////////////////////////////////////////
// 添加标注,发送信息
}, {
key: 'sendInsetAnnotaion',
value: function sendInsetAnnotaion(_param) {
/* itemIdx=parseInt(Date.now()/1000);
let whiteBoardModelPdu =new pdu['RCWhiteBoardDataModel'];
whiteBoardModelPdu.id =itemIdx;
whiteBoardModelPdu.initiator =GlobalConfig.nodeId;
whiteBoardModelPdu.pointGroup =EngineUtils.arrayToJsonString([{"w":10,"h":20},{"w":10,"h":20},{"w":10,"h":20},{"w":10,"h":20}]);
whiteBoardModelPdu.type = 3;
*/
/* let whiteBoardModelPdu =new pdu['RCWhiteBoardDataModel'];
whiteBoardModelPdu.id =ApeConsts.WHITEBOARD_OBJ_TABLE_ID;
whiteBoardModelPdu.initiator =GlobalConfig.nodeId;
whiteBoardModelPdu.pointGroup =EngineUtils.arrayToJsonString([{"w":133,"h":20},{"w":1313,"h":20},{"w":313,"h":20},{"w":10,"h":20}]);
whiteBoardModelPdu.type = 3;
*/
if (_param == null || _EngineUtils2.default.isEmptyObject(_param)) {
loger.log('sendInsetAnnotaion失败,参数错误');
this._emit(_MessageTypes2.default.MCU_ERROR, _MessageTypes2.default.ERR_APE_INTERFACE_PARAM_WRONG);
return;
}
itemIdx = parseInt(Date.now() / 1000);
var whiteBoardModelPdu = this.packPdu(_param, itemIdx);
if (whiteBoardModelPdu == null) {
loger.log('sendInsetAnnotaion失败,参数错误');
this._emit(_MessageTypes2.default.MCU_ERROR, _MessageTypes2.default.ERR_APE_INTERFACE_PARAM_WRONG);
return;
}
console.log(whiteBoardModelPdu);
var tableItemPdu = new _pdus2.default['RCRegistryTableItemPdu']();
tableItemPdu.itemIdx = itemIdx; //直接用时间戳作为id
tableItemPdu.registerObjId = _ApeConsts2.default.WHITEBOARD_OBJ_TABLE_ID;
tableItemPdu.owner = 0; //收到flash的是这个值,不清楚先写固定
tableItemPdu.itemData = whiteBoardModelPdu.toArrayBuffer();
_inherits(WhiteBoardApe, _Ape);
//insert
var tableInsertItemPdu = new _pdus2.default['RCRegistryTableInsertItemPdu']();
//optional RCPduType_E type = 1 [default = RCPDU_REG_TABLE_UPDATE_PDU];
//repeated RCRegistryTableItemPdu items = 2;
tableInsertItemPdu.type = _pdus2.default.RCPDU_REG_TABLE_INSERT_PDU; //
tableInsertItemPdu.items.push(tableItemPdu);
function WhiteBoardApe() {
_classCallCheck(this, WhiteBoardApe);
var updateObjPdu = new _pdus2.default['RCRegistryUpdateObjPdu']();
updateObjPdu.objId = _ApeConsts2.default.WHITEBOARD_OBJ_TABLE_ID;
updateObjPdu.subType = tableInsertItemPdu.type;
updateObjPdu.userData = tableInsertItemPdu.toArrayBuffer();
//同步
var adapterItemPdu = new _pdus2.default['RCAdapterItemPdu']();
adapterItemPdu.type = _pdus2.default.RCPDU_REG_UPDATE_OBJ;
adapterItemPdu.itemData = updateObjPdu.toArrayBuffer();
var adapterPdu = new _pdus2.default['RCAdapterPdu']();
adapterPdu.type = _pdus2.default.RCPDU_REG_ADAPTER;
adapterPdu.item.push(adapterItemPdu);
console.log("白板insert数据======111111111111=tableItemPdu.itemIdx=" + tableItemPdu.itemIdx);
this.sendUniform(adapterPdu, true);
}
//删除所有标注
}, {
key: 'sendDeleteAllAnnotation',
value: function sendDeleteAllAnnotation(_param) {
var len = 0;
for (var key in this.annoInfos) {
console.log("key:" + key);
console.log("删除白板数据,itemIdx:" + this.annoInfos[key]);
this.sendDeleteAnnotaion({ "itemIdx": key });
}
}
//删除标注,发送信息
}, {
key: 'sendDeleteAnnotaion',
value: function sendDeleteAnnotaion(_param) {
//{"itemIdx":itemIdx}
var tableDeleteItemPdu = new _pdus2.default['RCRegistryTableDeleteItemPdu']();
//optional RCPduType_E type = 1 [default = RCPDU_REG_TABLE_DELETE_PDU];
// repeated uint32 item_idx = 2;
tableDeleteItemPdu.type = _pdus2.default.RCPDU_REG_TABLE_DELETE_PDU; //
tableDeleteItemPdu.itemIdx = parseInt(_param.itemIdx); //这里需要设置要删除的数据的itemIdx,每条数据的这个id都不一样
var updateObjPdu = new _pdus2.default['RCRegistryUpdateObjPdu']();
updateObjPdu.objId = _ApeConsts2.default.WHITEBOARD_OBJ_TABLE_ID;
updateObjPdu.subType = tableDeleteItemPdu.type;
updateObjPdu.userData = tableDeleteItemPdu.toArrayBuffer();
// properties
var _this = _possibleConstructorReturn(this, (WhiteBoardApe.__proto__ || Object.getPrototypeOf(WhiteBoardApe)).call(this, _ApeConsts2.default.WHITEBOARD_SESSION_ID, _ApeConsts2.default.WHITEBOARD_SESSION_NAME, _ApeConsts2.default.WHITEBOARD_SESSION_TAG));
//同步
var adapterItemPdu = new _pdus2.default['RCAdapterItemPdu']();
adapterItemPdu.type = _pdus2.default.RCPDU_REG_UPDATE_OBJ;
adapterItemPdu.itemData = updateObjPdu.toArrayBuffer();
_this.annoInfos = {};
var adapterPdu = new _pdus2.default['RCAdapterPdu']();
adapterPdu.type = _pdus2.default.RCPDU_REG_ADAPTER;
adapterPdu.item.push(adapterItemPdu);
//Ape Models
_this.registerKey(_this._session_id, _this._session_name, _this._session_tag, new ArrayBuffer());
_this.registerObj(_pdus2.default.RCPDU_REG_REGISTER_TABLE, _ApeConsts2.default.WHITEBOARD_OBJ_TABLE_ID, _ApeConsts2.default.WHITEBOARD_OBJ_TABLE_NAME, _ApeConsts2.default.WHITEBOARD_OBJ_TABLE_TAG, 0, new ArrayBuffer());
console.log("白板发送删除数据=============" + tableDeleteItemPdu.itemIdx);
this.sendUniform(adapterPdu, true);
// ape listeners
_this.on(_pdus2.default.RCPDU_CONFERENCE_SEND_DATA_REQUEST, _this.whiteboardMsgComingHandler.bind(_this));
_this.on(_pdus2.default.RCPDU_SESSION_JOIN_RESPONSE, _this._joinSessionHandler.bind(_this));
// 白板延迟
_this._apeDelayed = true;
return _this;
}
//更新标注
}, {
key: 'sendUpdaterAnnotaion',
value: function sendUpdaterAnnotaion(_param) {
if (_param == null || _EngineUtils2.default.isEmptyObject(_param)) {
loger.log('sendUpdaterAnnotaion失败,参数错误');
this._emit(_MessageTypes2.default.MCU_ERROR, _MessageTypes2.default.ERR_APE_INTERFACE_PARAM_WRONG);
return;
}
/* let whiteBoardModelPdu =new pdu['RCWhiteBoardDataModel'];
whiteBoardModelPdu.id =ApeConsts.WHITEBOARD_OBJ_TABLE_ID;
whiteBoardModelPdu.initiator =GlobalConfig.nodeId;
whiteBoardModelPdu.pointGroup =EngineUtils.arrayToJsonString([{"w":133,"h":20},{"w":1313,"h":20},{"w":313,"h":20},{"w":10,"h":20}]);
whiteBoardModelPdu.type = 3;
*/
itemIdx = _param.itemIdx;
var whiteBoardModelPdu = this.packPdu(_param, itemIdx);
console.log(whiteBoardModelPdu);
_createClass(WhiteBoardApe, [{
key: '_joinSessionHandler',
value: function _joinSessionHandler(confInfo) {
loger.log("RCPDU_SESSION_JOIN_RESPONSE");
}
if (whiteBoardModelPdu == null) {
loger.log('sendInsetAnnotaion失败,参数错误');
this._emit(_MessageTypes2.default.MCU_ERROR, _MessageTypes2.default.ERR_APE_INTERFACE_PARAM_WRONG);
return;
}
/////////////发送数据操作//////////////////////////////////////////////////////
// 添加标注,发送信息
var tableItemPdu = new _pdus2.default['RCRegistryTableItemPdu']();
tableItemPdu.itemIdx = itemIdx;
tableItemPdu.owner = 0; //收到flash的是这个值,不清楚先写固定
tableItemPdu.registerObjId = _ApeConsts2.default.WHITEBOARD_OBJ_TABLE_ID;
tableItemPdu.itemData = whiteBoardModelPdu.toArrayBuffer();
}, {
key: 'sendInsetAnnotaion',
value: function sendInsetAnnotaion(_param) {
/* itemIdx=parseInt(Date.now()/1000);
let whiteBoardModelPdu =new pdu['RCWhiteBoardDataModel'];
whiteBoardModelPdu.id =itemIdx;
whiteBoardModelPdu.initiator =GlobalConfig.nodeId;
whiteBoardModelPdu.pointGroup =EngineUtils.arrayToJsonString([{"w":10,"h":20},{"w":10,"h":20},{"w":10,"h":20},{"w":10,"h":20}]);
whiteBoardModelPdu.type = 3;
*/
/* let whiteBoardModelPdu =new pdu['RCWhiteBoardDataModel'];
whiteBoardModelPdu.id =ApeConsts.WHITEBOARD_OBJ_TABLE_ID;
whiteBoardModelPdu.initiator =GlobalConfig.nodeId;
whiteBoardModelPdu.pointGroup =EngineUtils.arrayToJsonString([{"w":133,"h":20},{"w":1313,"h":20},{"w":313,"h":20},{"w":10,"h":20}]);
whiteBoardModelPdu.type = 3;
*/
if (_param == null || _EngineUtils2.default.isEmptyObject(_param)) {
loger.log('sendInsetAnnotaion失败,参数错误');
this._emit(_MessageTypes2.default.MCU_ERROR, _MessageTypes2.default.ERR_APE_INTERFACE_PARAM_WRONG);
return;
}
//updater
var whiteBoardUpdateItem = new _pdus2.default['RCRegistryTableUpdateItemPdu']();
//optional RCPduType_E type = 1 [default = RCPDU_REG_TABLE_UPDATE_PDU];
//repeated RCRegistryTableItemPdu items = 2;
whiteBoardUpdateItem.type = _pdus2.default.RCPDU_REG_TABLE_UPDATE_PDU; //
whiteBoardUpdateItem.items.push(tableItemPdu);
itemIdx = parseInt(Date.now() / 1000);
var whiteBoardModelPdu = this.packPdu(_param, itemIdx);
if (whiteBoardModelPdu == null) {
loger.log('sendInsetAnnotaion失败,参数错误');
this._emit(_MessageTypes2.default.MCU_ERROR, _MessageTypes2.default.ERR_APE_INTERFACE_PARAM_WRONG);
return;
}
console.log(whiteBoardModelPdu);
var tableItemPdu = new _pdus2.default['RCRegistryTableItemPdu']();
tableItemPdu.itemIdx = itemIdx; //直接用时间戳作为id
tableItemPdu.registerObjId = _ApeConsts2.default.WHITEBOARD_OBJ_TABLE_ID;
tableItemPdu.owner = 0; //收到flash的是这个值,不清楚先写固定
tableItemPdu.itemData = whiteBoardModelPdu.toArrayBuffer();
//insert
var tableInsertItemPdu = new _pdus2.default['RCRegistryTableInsertItemPdu']();
//optional RCPduType_E type = 1 [default = RCPDU_REG_TABLE_UPDATE_PDU];
//repeated RCRegistryTableItemPdu items = 2;
tableInsertItemPdu.type = _pdus2.default.RCPDU_REG_TABLE_INSERT_PDU; //
tableInsertItemPdu.items.push(tableItemPdu);
var updateObjPdu = new _pdus2.default['RCRegistryUpdateObjPdu']();
updateObjPdu.objId = _ApeConsts2.default.WHITEBOARD_OBJ_TABLE_ID;
updateObjPdu.subType = tableInsertItemPdu.type;
updateObjPdu.userData = tableInsertItemPdu.toArrayBuffer();
//同步
var adapterItemPdu = new _pdus2.default['RCAdapterItemPdu']();
adapterItemPdu.type = _pdus2.default.RCPDU_REG_UPDATE_OBJ;
adapterItemPdu.itemData = updateObjPdu.toArrayBuffer();
var adapterPdu = new _pdus2.default['RCAdapterPdu']();
adapterPdu.type = _pdus2.default.RCPDU_REG_ADAPTER;
adapterPdu.item.push(adapterItemPdu);
console.log("白板insert数据======111111111111=tableItemPdu.itemIdx=" + tableItemPdu.itemIdx);
this.sendUniform(adapterPdu, true);
}
//删除所有标注
var updateObjPdu = new _pdus2.default['RCRegistryUpdateObjPdu']();
updateObjPdu.objId = _ApeConsts2.default.WHITEBOARD_OBJ_TABLE_ID;
updateObjPdu.subType = whiteBoardUpdateItem.type;
updateObjPdu.userData = whiteBoardUpdateItem.toArrayBuffer();
}, {
key: 'sendDeleteAllAnnotation',
value: function sendDeleteAllAnnotation(_param) {
var len = 0;
for (var key in this.annoInfos) {
console.log("key:" + key);
console.log("删除白板数据,itemIdx:" + this.annoInfos[key]);
this.sendDeleteAnnotaion({ "itemIdx": key });
}
}
//删除标注,发送信息
//同步
var adapterItemPdu = new _pdus2.default['RCAdapterItemPdu']();
adapterItemPdu.type = _pdus2.default.RCPDU_REG_UPDATE_OBJ;
adapterItemPdu.itemData = updateObjPdu.toArrayBuffer();
}, {
key: 'sendDeleteAnnotaion',
value: function sendDeleteAnnotaion(_param) {
//{"itemIdx":itemIdx}
var tableDeleteItemPdu = new _pdus2.default['RCRegistryTableDeleteItemPdu']();
//optional RCPduType_E type = 1 [default = RCPDU_REG_TABLE_DELETE_PDU];
// repeated uint32 item_idx = 2;
tableDeleteItemPdu.type = _pdus2.default.RCPDU_REG_TABLE_DELETE_PDU; //
tableDeleteItemPdu.itemIdx = parseInt(_param.itemIdx); //这里需要设置要删除的数据的itemIdx,每条数据的这个id都不一样
var updateObjPdu = new _pdus2.default['RCRegistryUpdateObjPdu']();
updateObjPdu.objId = _ApeConsts2.default.WHITEBOARD_OBJ_TABLE_ID;
updateObjPdu.subType = tableDeleteItemPdu.type;
updateObjPdu.userData = tableDeleteItemPdu.toArrayBuffer();
//同步
var adapterItemPdu = new _pdus2.default['RCAdapterItemPdu']();
adapterItemPdu.type = _pdus2.default.RCPDU_REG_UPDATE_OBJ;
adapterItemPdu.itemData = updateObjPdu.toArrayBuffer();
var adapterPdu = new _pdus2.default['RCAdapterPdu']();
adapterPdu.type = _pdus2.default.RCPDU_REG_ADAPTER;
adapterPdu.item.push(adapterItemPdu);
console.log("白板发送删除数据=============" + tableDeleteItemPdu.itemIdx);
this.sendUniform(adapterPdu, true);
}
var adapterPdu = new _pdus2.default['RCAdapterPdu']();
adapterPdu.type = _pdus2.default.RCPDU_REG_ADAPTER;
adapterPdu.item.push(adapterItemPdu);
//更新标注
console.log("白板发送更新数据===============22");
this.sendUniform(adapterPdu, true);
}
}, {
key: 'sendUpdaterAnnotaion',
value: function sendUpdaterAnnotaion(_param) {
if (_param == null || _EngineUtils2.default.isEmptyObject(_param)) {
loger.log('sendUpdaterAnnotaion失败,参数错误');
this._emit(_MessageTypes2.default.MCU_ERROR, _MessageTypes2.default.ERR_APE_INTERFACE_PARAM_WRONG);
return;
}
///////白板数据的封包和解包/////////////////////////////////////////
/* let whiteBoardModelPdu =new pdu['RCWhiteBoardDataModel'];
whiteBoardModelPdu.id =ApeConsts.WHITEBOARD_OBJ_TABLE_ID;
whiteBoardModelPdu.initiator =GlobalConfig.nodeId;
whiteBoardModelPdu.pointGroup =EngineUtils.arrayToJsonString([{"w":133,"h":20},{"w":1313,"h":20},{"w":313,"h":20},{"w":10,"h":20}]);
whiteBoardModelPdu.type = 3;
*/
itemIdx = _param.itemIdx;
var whiteBoardModelPdu = this.packPdu(_param, itemIdx);
console.log(whiteBoardModelPdu);
if (whiteBoardModelPdu == null) {
loger.log('sendInsetAnnotaion失败,参数错误');
this._emit(_MessageTypes2.default.MCU_ERROR, _MessageTypes2.default.ERR_APE_INTERFACE_PARAM_WRONG);
return;
}
}, {
key: 'packPdu',
value: function packPdu(_param, _itemIdx) {
/* required uint32 type= 1;//白板类型
required uint32 id= 2;//id 每一次绘制的唯一标识
required uint32 initiator=3; //绘制来自谁
optional string pointGroup=4; //坐标点集数组的JSON字符串
optional string color= 5 [default = "#000000"]; //颜色
optional uint32 thickness= 6 ;//线条粗细
optional uint32 radius= 7;//园的半径
optional uint32 fontSize= 8;//字体大小
optional uint32 fontName= 9;//字体名称
optional uint32 text= 10;//文本内容*/
//验证坐标点集合数组是否合法
if (_param.pointGroup == null || _param.pointGroup.length < 1) {
this._emit(_MessageTypes2.default.MCU_ERROR, _MessageTypes2.default.ERR_APE_INTERFACE_PARAM_WRONG);
return null;
}
//判断type类型,根据type设置不同的参数
var whiteBoardModelPdu = new _pdus2.default['RCWhiteBoardDataModel']();
switch (_param.type) {
case TYPE_BIGHT:
break;
case TYPE_LINE:
break;
case TYPE_RECT:
break;
case TYPE_CIRCLE:
whiteBoardModelPdu.radius = parseInt(_param.radius);
break;
case TYPE_TEXT:
whiteBoardModelPdu.fontSize = parseInt(_param.fontSize);
whiteBoardModelPdu.fontName = _param.fontName || null;
whiteBoardModelPdu.text = _param.text || null;
break;
default:
//其它类型不做处理
return null;
break;
}
//下面4个是必须的参数
whiteBoardModelPdu.type = _param.type;
whiteBoardModelPdu.itemIdx = _itemIdx;
whiteBoardModelPdu.initiator = _GlobalConfig2.default.nodeId;
whiteBoardModelPdu.parentId = _ApeConsts2.default.WHITEBOARD_OBJ_TABLE_ID;
var tableItemPdu = new _pdus2.default['RCRegistryTableItemPdu']();
tableItemPdu.itemIdx = itemIdx;
tableItemPdu.owner = 0; //收到flash的是这个值,不清楚先写固定
tableItemPdu.registerObjId = _ApeConsts2.default.WHITEBOARD_OBJ_TABLE_ID;
tableItemPdu.itemData = whiteBoardModelPdu.toArrayBuffer();
//updater
var whiteBoardUpdateItem = new _pdus2.default['RCRegistryTableUpdateItemPdu']();
//optional RCPduType_E type = 1 [default = RCPDU_REG_TABLE_UPDATE_PDU];
//repeated RCRegistryTableItemPdu items = 2;
whiteBoardUpdateItem.type = _pdus2.default.RCPDU_REG_TABLE_UPDATE_PDU; //
whiteBoardUpdateItem.items.push(tableItemPdu);
var updateObjPdu = new _pdus2.default['RCRegistryUpdateObjPdu']();
updateObjPdu.objId = _ApeConsts2.default.WHITEBOARD_OBJ_TABLE_ID;
updateObjPdu.subType = whiteBoardUpdateItem.type;
updateObjPdu.userData = whiteBoardUpdateItem.toArrayBuffer();
//同步
var adapterItemPdu = new _pdus2.default['RCAdapterItemPdu']();
adapterItemPdu.type = _pdus2.default.RCPDU_REG_UPDATE_OBJ;
adapterItemPdu.itemData = updateObjPdu.toArrayBuffer();
var adapterPdu = new _pdus2.default['RCAdapterPdu']();
adapterPdu.type = _pdus2.default.RCPDU_REG_ADAPTER;
adapterPdu.item.push(adapterItemPdu);
console.log("白板发送更新数据===============22");
this.sendUniform(adapterPdu, true);
}
whiteBoardModelPdu.pointGroup = _EngineUtils2.default.arrayToJsonString(_param.pointGroup);
whiteBoardModelPdu.color = _param.color || "#000000";
///////白板数据的封包和解包/////////////////////////////////////////
return whiteBoardModelPdu;
}
}, {
key: 'unPackPdu',
value: function unPackPdu(owner, itemIdx, itemData) {
this.annoInfos[itemIdx] = itemData;
try {
console.log("白板收到数据===tableUpdateHandler ");
var whiteBoardModelPdu = _pdus2.default['RCWhiteBoardDataModel'].decode(itemData);
console.log(whiteBoardModelPdu);
loger.log(whiteBoardModelPdu);
return whiteBoardModelPdu;
} catch (err) {
console.log("tableUpdateHandler Pdu解析错误,itemIdx=" + itemIdx + " err:" + err.message);
}
return null;
}
}, {
key: 'packPdu',
value: function packPdu(_param, _itemIdx) {
/* required uint32 type= 1;//白板类型
required uint32 id= 2;//id 每一次绘制的唯一标识
required uint32 initiator=3; //绘制来自谁
optional string pointGroup=4; //坐标点集数组的JSON字符串
optional string color= 5 [default = "#000000"]; //颜色
optional uint32 thickness= 6 ;//线条粗细
optional uint32 radius= 7;//园的半径
optional uint32 fontSize= 8;//字体大小
optional uint32 fontName= 9;//字体名称
optional uint32 text= 10;//文本内容*/
//验证坐标点集合数组是否合法
if (_param.pointGroup == null || _param.pointGroup.length < 1) {
this._emit(_MessageTypes2.default.MCU_ERROR, _MessageTypes2.default.ERR_APE_INTERFACE_PARAM_WRONG);
return null;
}
//判断type类型,根据type设置不同的参数
var whiteBoardModelPdu = new _pdus2.default['RCWhiteBoardDataModel']();
switch (_param.type) {
case TYPE_BIGHT:
break;
case TYPE_LINE:
break;
case TYPE_RECT:
break;
case TYPE_CIRCLE:
whiteBoardModelPdu.radius = parseInt(_param.radius);
break;
case TYPE_TEXT:
whiteBoardModelPdu.fontSize = parseInt(_param.fontSize);
whiteBoardModelPdu.fontName = _param.fontName || null;
whiteBoardModelPdu.text = _param.text || null;
break;
default:
//其它类型不做处理
return null;
break;
}
//下面4个是必须的参数
whiteBoardModelPdu.type = _param.type;
whiteBoardModelPdu.itemIdx = _itemIdx;
whiteBoardModelPdu.initiator = _GlobalConfig2.default.nodeId;
whiteBoardModelPdu.parentId = _ApeConsts2.default.WHITEBOARD_OBJ_TABLE_ID;
whiteBoardModelPdu.pageNum = _param.pageNum || 1;
whiteBoardModelPdu.pointGroup = _EngineUtils2.default.arrayToJsonString(_param.pointGroup);
whiteBoardModelPdu.color = _param.color || "#000000";
return whiteBoardModelPdu;
}
}, {
key: 'unPackPdu',
value: function unPackPdu(owner, itemIdx, itemData) {
this.annoInfos[itemIdx] = itemData;
try {
console.log("白板收到数据===unPackPdu ");
var whiteBoardModelPdu = _pdus2.default['RCWhiteBoardDataModel'].decode(itemData);
//console.log(whiteBoardModelPdu);
loger.log(whiteBoardModelPdu);
return whiteBoardModelPdu;
} catch (err) {
console.log("unPackPdu Pdu解析错误,itemIdx=" + itemIdx + " err:" + err.message);
}
return null;
}
/////收到消息处理/////////////////////////////////////////////////////////////////////////////////
/////收到消息处理/////////////////////////////////////////////////////////////////////////////////
}, {
key: 'whiteboardMsgComingHandler',
value: function whiteboardMsgComingHandler(pdu) {
loger.warn('whiteboardMsgComingHandler needs to be handled.');
var recordInfo = pdu['RCWhiteboardDataRequestPdu'].decode(pdu);
console.log("whiteboardMsgComingHandler");
loger.log(recordInfo);
}
}, {
key: 'tableInsertHandler',
value: function tableInsertHandler(owner, itemIdx, itemData) {
/* try{
console.log("白板收到数据===tableInsertHandler ");
let whiteBoardModelPdu= pdu['RCWhiteBoardDataModel'].decode(itemData);
this.annoInfos[itemIdx] = itemData;
console.log(whiteBoardModelPdu);
}catch (err){
console.log("tableInsertHandler Pdu解析错误,itemIdx="+itemIdx+" err:"+err.message);
}*/
var whiteBoardModel = this.unPackPdu(owner, itemIdx, itemData);
}
}, {
key: 'tableUpdateHandler',
value: function tableUpdateHandler(owner, itemIdx, itemData) {
var whiteBoardModel = this.unPackPdu(owner, itemIdx, itemData);
/* try{
console.log("白板收到数据===tableUpdateHandler ");
let whiteBoardModelPdu= pdu['RCWhiteBoardDataModel'].decode(itemData);
this.annoInfos[itemIdx] = itemData;
console.log(whiteBoardModelPdu);
loger.log(whiteBoardModelPdu)
}catch (err){
console.log("tableUpdateHandler Pdu解析错误,itemIdx="+itemIdx+" err:"+err.message);
}*/
/*const recordInfo = pdu['RCWhiteboardDataRequestPdu'].decode(recordData);
console.log("recordInfo");
loger.log(recordInfo);
// 目前只处理 文档标注
if (recordInfo.type == ApeConsts.WBA_DOC_ANNOTATION) {
const uncompressedBytes = new Zlib.Inflate(recordInfo.action.compact().view).decompress();
const annoInfo = {
id: recordId,
svg: UTF8.getStringFromBytes(uncompressedBytes)
};
loger.log(annoInfo);
this.annoInfos[recordId] = annoInfo;
this._emit(MessageTypes.WHITEBOARD_ANNOTATION_UPDATE, annoInfo);
} else {
loger.log('白板动作忽略,类型:', ApeConsts(recordInfo.type));
}*/
}
}, {
key: 'tableDeleteHandler',
value: function tableDeleteHandler(object_id, tableDeleteData) {
console.log("白板收到数据,tableDeleteHandler object_id=" + object_id);
if (this.annoInfos[object_id]) {
delete this.annoInfos[object_id];
console.log("当前白板的数据:" + this.annoInfos);
}
}
}]);
}, {
key: 'whiteboardMsgComingHandler',
value: function whiteboardMsgComingHandler(pdu) {
loger.warn('whiteboardMsgComingHandler needs to be handled.');
var recordInfo = pdu['RCWhiteboardDataRequestPdu'].decode(pdu);
loger.log("whiteboardMsgComingHandler", recordInfo);
}
}, {
key: 'tableInsertHandler',
value: function tableInsertHandler(owner, itemIdx, itemData) {
/* try{
console.log("白板收到数据===tableInsertHandler ");
let whiteBoardModelPdu= pdu['RCWhiteBoardDataModel'].decode(itemData);
this.annoInfos[itemIdx] = itemData;
console.log(whiteBoardModelPdu);
}catch (err){
console.log("tableInsertHandler Pdu解析错误,itemIdx="+itemIdx+" err:"+err.message);
}*/
var whiteBoardModel = this.unPackPdu(owner, itemIdx, itemData);
loger.log('tableInsertHandler', whiteBoardModel);
}
}, {
key: 'tableUpdateHandler',
value: function tableUpdateHandler(owner, itemIdx, itemData) {
var whiteBoardModel = this.unPackPdu(owner, itemIdx, itemData);
loger.log('tableUpdateHandler', whiteBoardModel);
/* try{
console.log("白板收到数据===tableUpdateHandler ");
let whiteBoardModelPdu= pdu['RCWhiteBoardDataModel'].decode(itemData);
this.annoInfos[itemIdx] = itemData;
console.log(whiteBoardModelPdu);
loger.log(whiteBoardModelPdu)
}catch (err){
console.log("tableUpdateHandler Pdu解析错误,itemIdx="+itemIdx+" err:"+err.message);
}*/
/*const recordInfo = pdu['RCWhiteboardDataRequestPdu'].decode(recordData);
console.log("recordInfo");
loger.log(recordInfo);
// 目前只处理 文档标注
if (recordInfo.type == ApeConsts.WBA_DOC_ANNOTATION) {
const uncompressedBytes = new Zlib.Inflate(recordInfo.action.compact().view).decompress();
const annoInfo = {
id: recordId,
svg: UTF8.getStringFromBytes(uncompressedBytes)
};
loger.log(annoInfo);
this.annoInfos[recordId] = annoInfo;
this._emit(MessageTypes.WHITEBOARD_ANNOTATION_UPDATE, annoInfo);
} else {
loger.log('白板动作忽略,类型:', ApeConsts(recordInfo.type));
}*/
}
}, {
key: 'tableDeleteHandler',
value: function tableDeleteHandler(object_id, tableDeleteData) {
// console.log("白板收到数据,tableDeleteHandler object_id="+object_id);//((18<< 16) + 1)=1179649
loger.log('tableDeleteHandler', object_id, tableDeleteData); //["tableDeleteHandler",1179649,{"type":231,"itemIdx":[1486301768]}]
if (tableDeleteData && tableDeleteData.itemIdx) {
var len = tableDeleteData.itemIdx.length;
var itemIdxs = tableDeleteData.itemIdx;
for (var i = 0; i < len; i++) {
if (this.annoInfos[itemIdxs[i]]) {
delete this.annoInfos[itemIdxs[i]];
loger.log("删除白板数据:", itemIdxs[i], "当前剩余的白板数据", this.annoInfos);
}
}
}
}
}]);
return WhiteBoardApe;
return WhiteBoardApe;
}(_Ape3.default);
var _default = WhiteBoardApe;
... ... @@ -16049,27 +16079,27 @@ return /******/ (function(modules) { // webpackBootstrap
;
var _temp = function () {
if (typeof __REACT_HOT_LOADER__ === 'undefined') {
return;
}
if (typeof __REACT_HOT_LOADER__ === 'undefined') {
return;
}
__REACT_HOT_LOADER__.register(loger, 'loger', 'D:/work/McuClient/src/apes/WhiteBoardApe.js');
__REACT_HOT_LOADER__.register(loger, 'loger', 'D:/work/McuClient/src/apes/WhiteBoardApe.js');
__REACT_HOT_LOADER__.register(itemIdx, 'itemIdx', 'D:/work/McuClient/src/apes/WhiteBoardApe.js');
__REACT_HOT_LOADER__.register(itemIdx, 'itemIdx', 'D:/work/McuClient/src/apes/WhiteBoardApe.js');
__REACT_HOT_LOADER__.register(TYPE_BIGHT, 'TYPE_BIGHT', 'D:/work/McuClient/src/apes/WhiteBoardApe.js');
__REACT_HOT_LOADER__.register(TYPE_BIGHT, 'TYPE_BIGHT', 'D:/work/McuClient/src/apes/WhiteBoardApe.js');
__REACT_HOT_LOADER__.register(TYPE_LINE, 'TYPE_LINE', 'D:/work/McuClient/src/apes/WhiteBoardApe.js');
__REACT_HOT_LOADER__.register(TYPE_LINE, 'TYPE_LINE', 'D:/work/McuClient/src/apes/WhiteBoardApe.js');
__REACT_HOT_LOADER__.register(TYPE_RECT, 'TYPE_RECT', 'D:/work/McuClient/src/apes/WhiteBoardApe.js');
__REACT_HOT_LOADER__.register(TYPE_RECT, 'TYPE_RECT', 'D:/work/McuClient/src/apes/WhiteBoardApe.js');
__REACT_HOT_LOADER__.register(TYPE_CIRCLE, 'TYPE_CIRCLE', 'D:/work/McuClient/src/apes/WhiteBoardApe.js');
__REACT_HOT_LOADER__.register(TYPE_CIRCLE, 'TYPE_CIRCLE', 'D:/work/McuClient/src/apes/WhiteBoardApe.js');
__REACT_HOT_LOADER__.register(TYPE_TEXT, 'TYPE_TEXT', 'D:/work/McuClient/src/apes/WhiteBoardApe.js');
__REACT_HOT_LOADER__.register(TYPE_TEXT, 'TYPE_TEXT', 'D:/work/McuClient/src/apes/WhiteBoardApe.js');
__REACT_HOT_LOADER__.register(WhiteBoardApe, 'WhiteBoardApe', 'D:/work/McuClient/src/apes/WhiteBoardApe.js');
__REACT_HOT_LOADER__.register(WhiteBoardApe, 'WhiteBoardApe', 'D:/work/McuClient/src/apes/WhiteBoardApe.js');
__REACT_HOT_LOADER__.register(_default, 'default', 'D:/work/McuClient/src/apes/WhiteBoardApe.js');
__REACT_HOT_LOADER__.register(_default, 'default', 'D:/work/McuClient/src/apes/WhiteBoardApe.js');
}();
;
... ...
... ... @@ -707,7 +707,7 @@ client.sendChatMsg(paramInfo);
<p>示例代码</p>
<pre><code> client.on(MessageTypes.DOC_DEL,function(callbackData){
<pre><code> client.on(MessageTypes.DOC_DELETE,function(callbackData){
//.....
});
</code></pre>
... ...
... ... @@ -375,7 +375,7 @@ client初始化成功之后,加入会议。
### 删除文档 事件回调 ###
示例代码
client.on(MessageTypes.DOC_DEL,function(callbackData){
client.on(MessageTypes.DOC_DELETE,function(callbackData){
//.....
});
... ...
... ... @@ -765,7 +765,7 @@ client.sendChatMsg(paramInfo);
<p>示例代码</p>
<pre><code> client.on(MessageTypes.DOC_DEL,function(callbackData){
<pre><code> client.on(MessageTypes.DOC_DELETE,function(callbackData){
//.....
});
</code></pre>
... ...
... ... @@ -432,7 +432,7 @@ client初始化成功之后,加入会议。
### 删除文档 事件回调 ###
示例代码
client.on(MessageTypes.DOC_DEL,function(callbackData){
client.on(MessageTypes.DOC_DELETE,function(callbackData){
//.....
});
... ...
... ... @@ -81,7 +81,7 @@ export default class MessageEntrance extends Emiter {
_doc_ape = new DocApe();
_doc_ape.on('*', (type, data) => this._emit(type, data));
_doc_ape.on(MessageTypes.DOC_UPDATE, this.docUpdateHandler.bind(this));
_doc_ape.on(MessageTypes.DOC_DEL, this.docDeleteHandler.bind(this));
_doc_ape.on(MessageTypes.DOC_DELETE, this.docDeleteHandler.bind(this));
_whiteboard_ape = new WhiteBoardApe();
... ... @@ -308,6 +308,7 @@ export default class MessageEntrance extends Emiter {
}
}
//WhiteBoardApe
// 添加标注,发送信息
_sendInsertAnnotaion(_param){
... ... @@ -376,7 +377,7 @@ export default class MessageEntrance extends Emiter {
//文档删除
docDeleteHandler(docItem){
if (docItem.id == _confer_ape.activeDocId) {
this._emit(MessageTypes.DOC_DEL, docItem);
this._emit(MessageTypes.DOC_DELETE, docItem);
}
}
}
... ...
... ... @@ -39,9 +39,11 @@ MessageTypes.VIDEO_RECEIVE = 'video.receive';
//文档模块事件定义
MessageTypes.DOC_SHOW = 'document.show';
MessageTypes.DOC_SWITCH = 'document.switch';
MessageTypes.DOC_UPDATE = 'document.update';
MessageTypes.DOC_DEL='document.delete';
MessageTypes.DOC_UPLOAD='document.upload';//上传文档
MessageTypes.DOC_COMMAND='document.command';//操作文档
MessageTypes.DOC_SWITCH = 'document.switch';//切换文档
MessageTypes.DOC_UPDATE = 'document.update';//更新文档
MessageTypes.DOC_DELETE='document.delete';//删除文档
MessageTypes.DOC_ANNOTATION = 'document.annotation';//笔记
//笔记事件定义
... ...
... ... @@ -164,7 +164,7 @@ export default class Ape extends Emiter {
break;
case pdu.RCPDU_REG_TABLE_DELETE_PDU:
let tableDeleteData = pdu['RCRegistryTableDeleteItemPdu'].decode(user_data);
console.log("tableDeleteData",object_id,tableDeleteData);
//console.log("tableDeleteData",object_id,tableDeleteData);
this.tableDeleteHandler(object_id, tableDeleteData);
break;
case pdu.RCPDU_REG_TABLE_UPDATE_PDU:
... ... @@ -342,5 +342,29 @@ export default class Ape extends Emiter {
// Mcu发送
this.mcu.send(uniformPdu);
}
sendChatUniform(appPdu, top) {
loger.log('Ape发送数据UNIFORM PDU', appPdu);
loger.log('当前的状态============',GlobalConfig.getCurrentStatus().code);
if(GlobalConfig.getCurrentStatus().code==0||GlobalConfig.getCurrentStatus().code==1){
this._emit(MessageTypes.MCU_ERROR,MessageTypes.ERR_APE_SEND_FAILED_NO_JOIN);
return;
}
let uniformPdu = pdu.create_uniform_pdu(
appPdu.type,
this._confInfo.nodeId,
this._confInfo.confId,
this._session_id,
top ? ApeConsts.BROADCAST_CHANNEL_ID : this._channel_id,
true,
PduConsts.DP_TOP,
0,//flash中这个值设置为0
PduConsts.SEG_ONCE
);
uniformPdu.data = appPdu.toArrayBuffer();
// Mcu发送
this.mcu.send(uniformPdu);
}
}
... ...
... ... @@ -55,17 +55,21 @@ class ChatApe extends Ape {
chatSendPdu.type = pdu.RCPDU_CHAT_SEND_DATA_REQUEST;
chatSendPdu.initiator = this._confInfo.nodeId;//发起人
chatSendPdu.peer = parseInt(_messageInfo.to);//发送给谁,公聊的时候是0,私聊的时候是指定的用户id
chatSendPdu.isPublic = true;
chatSendPdu.userData = this._rCArrayBufferUtil.strToUint8Array("h5" + _messageInfo.message);
chatSendPdu.fromName = this._rCArrayBufferUtil.strToUint8Array("h5" + this._confInfo.userName);
chatSendPdu.fromRole = this._confInfo.classRole;
if (!(chatSendPdu.isPublic || 0 === chatSendPdu.peer)) {
chatSendPdu.isPublic = true;
// if (!(chatSendPdu.isPublic || 0 === chatSendPdu.peer)) {
if (!chatSendPdu && 0!=chatSendPdu.peer) {
//发送给制定的人
loger.log('发送私聊消息.');
this.send(chatSendPdu);
} else {
//发送给所有人
this.sendUniform(chatSendPdu);
loger.log('发送公聊消息.');
//this.sendUniform(chatSendPdu);
this.sendChatUniform(chatSendPdu);
}
}
... ...
... ... @@ -48,7 +48,7 @@ class DocApe extends Ape {
tableDeleteHandler(itemIdx, itemData){
/*const re={};
re.type=ApeConsts.DOCUMENT_DEL;
this._emit(MessageTypes.DOC_DEL, re);*/
this._emit(MessageTypes.DOC_DELETE, re);*/
}
tableUpdateHandler(owner, itemIdx, itemData) {
... ...
... ... @@ -47,11 +47,11 @@ class VideoChat extends Ape {
}
//获取播流地址
playVideoPath(_param){
getPlayVideoPath(_param){
return {"code":0,"data":"播放流地址XXXXXXXXXXXXXXXXXXXXX"};
}
//获取推流地址
publishVideoPath(_param){
getPublishVideoPath(_param){
return {"code":0,"data":"推流地址XXXXXXXXXXXXXXXXXXXXXXX"};
}
... ...
... ... @@ -262,7 +262,7 @@ class WhiteBoardApe extends Ape {
whiteBoardModelPdu.itemIdx =_itemIdx;
whiteBoardModelPdu.initiator =GlobalConfig.nodeId;
whiteBoardModelPdu.parentId=ApeConsts.WHITEBOARD_OBJ_TABLE_ID;
whiteBoardModelPdu.pageNum=_param.pageNum||1;
whiteBoardModelPdu.pointGroup =EngineUtils.arrayToJsonString(_param.pointGroup);
whiteBoardModelPdu.color=_param.color||"#000000";
... ... @@ -271,13 +271,13 @@ class WhiteBoardApe extends Ape {
unPackPdu(owner, itemIdx,itemData){
this.annoInfos[itemIdx] = itemData;
try{
console.log("白板收到数据===tableUpdateHandler ");
console.log("白板收到数据===unPackPdu ");
let whiteBoardModelPdu= pdu['RCWhiteBoardDataModel'].decode(itemData);
console.log(whiteBoardModelPdu);
//console.log(whiteBoardModelPdu);
loger.log(whiteBoardModelPdu);
return whiteBoardModelPdu;
}catch (err){
console.log("tableUpdateHandler Pdu解析错误,itemIdx="+itemIdx+" err:"+err.message);
console.log("unPackPdu Pdu解析错误,itemIdx="+itemIdx+" err:"+err.message);
}
return null;
}
... ... @@ -286,8 +286,7 @@ class WhiteBoardApe extends Ape {
whiteboardMsgComingHandler(pdu) {
loger.warn('whiteboardMsgComingHandler needs to be handled.');
const recordInfo = pdu['RCWhiteboardDataRequestPdu'].decode(pdu);
console.log("whiteboardMsgComingHandler");
loger.log(recordInfo);
loger.log("whiteboardMsgComingHandler",recordInfo);
}
tableInsertHandler(owner, itemIdx,itemData) {
... ... @@ -300,10 +299,12 @@ class WhiteBoardApe extends Ape {
console.log("tableInsertHandler Pdu解析错误,itemIdx="+itemIdx+" err:"+err.message);
}*/
let whiteBoardModel=this.unPackPdu(owner, itemIdx,itemData);
loger.log('tableInsertHandler',whiteBoardModel);
}
tableUpdateHandler(owner, itemIdx, itemData) {
let whiteBoardModel=this.unPackPdu(owner, itemIdx,itemData);
loger.log('tableUpdateHandler',whiteBoardModel);
/* try{
console.log("白板收到数据===tableUpdateHandler ");
let whiteBoardModelPdu= pdu['RCWhiteBoardDataModel'].decode(itemData);
... ... @@ -333,10 +334,17 @@ class WhiteBoardApe extends Ape {
}*/
}
tableDeleteHandler(object_id, tableDeleteData){
console.log("白板收到数据,tableDeleteHandler object_id="+object_id);
if(this.annoInfos[object_id]){
delete this.annoInfos[object_id];
console.log("当前白板的数据:"+this.annoInfos);
// console.log("白板收到数据,tableDeleteHandler object_id="+object_id);//((18<< 16) + 1)=1179649
loger.log('tableDeleteHandler',object_id,tableDeleteData);//["tableDeleteHandler",1179649,{"type":231,"itemIdx":[1486301768]}]
if(tableDeleteData&&tableDeleteData.itemIdx){
let len=tableDeleteData.itemIdx.length;
let itemIdxs=tableDeleteData.itemIdx;
for (let i=0;i<len;i++){
if(this.annoInfos[itemIdxs[i]]){
delete this.annoInfos[itemIdxs[i]];
loger.log("删除白板数据:",itemIdxs[i],"当前剩余的白板数据",this.annoInfos);
}
}
}
}
}
... ...
... ... @@ -834,13 +834,15 @@ message RCWhiteBoardDataModel {
required uint32 itemIdx= 2;//itemIdx 每一次绘制的唯一标识
required uint32 initiator=3; //绘制来自谁
required uint32 parentId=4; //父级的id
optional string pointGroup=5; //坐标点集数组的JSON字符串
optional string color=6 [default = "#000000"]; //颜色
optional uint32 thickness= 7 ;//线条粗细
optional uint32 radius= 8;//园的半径
optional uint32 fontSize= 9;//字体大小
optional string fontName= 10;//字体名称
optional string text= 11;//文本内容
required uint32 pageNum= 5;//页码
optional string pointGroup=6; //坐标点集数组的JSON字符串
optional string color=7 [default = "#000000"]; //颜色
optional uint32 thickness= 8 ;//线条粗细
optional uint32 radius= 9;//园的半径
optional uint32 fontSize= 10;//字体大小
optional string fontName= 11;//字体名称
optional string text= 12;//文本内容
optional bytes data = 13;//暂时预留的参数
}
... ...