正在显示
7 个修改的文件
包含
233 行增加
和
84 行删除
| @@ -73,7 +73,7 @@ return /******/ (function(modules) { // webpackBootstrap | @@ -73,7 +73,7 @@ return /******/ (function(modules) { // webpackBootstrap | ||
| 73 | /******/ } | 73 | /******/ } |
| 74 | 74 | ||
| 75 | /******/ var hotApplyOnUpdate = true; | 75 | /******/ var hotApplyOnUpdate = true; |
| 76 | -/******/ var hotCurrentHash = "5a5a372231e8c0f8aab9"; // eslint-disable-line no-unused-vars | 76 | +/******/ var hotCurrentHash = "3960713dc1161612a7cd"; // eslint-disable-line no-unused-vars |
| 77 | /******/ var hotCurrentModuleData = {}; | 77 | /******/ var hotCurrentModuleData = {}; |
| 78 | /******/ var hotCurrentParents = []; // eslint-disable-line no-unused-vars | 78 | /******/ var hotCurrentParents = []; // eslint-disable-line no-unused-vars |
| 79 | 79 | ||
| @@ -752,7 +752,8 @@ return /******/ (function(modules) { // webpackBootstrap | @@ -752,7 +752,8 @@ return /******/ (function(modules) { // webpackBootstrap | ||
| 752 | _GlobalConfig2.default.setCurrentStatus(_GlobalConfig2.default.statusCode_0); | 752 | _GlobalConfig2.default.setCurrentStatus(_GlobalConfig2.default.statusCode_0); |
| 753 | 753 | ||
| 754 | _this.on(_MessageTypes2.default.MCU_ERROR, _this._mcuErrorHandler.bind(_this)); | 754 | _this.on(_MessageTypes2.default.MCU_ERROR, _this._mcuErrorHandler.bind(_this)); |
| 755 | - _this.on(_MessageTypes2.default.DOC_SHOW, _this.docShowHandler.bind(_this)); | 755 | + |
| 756 | + //this.on(MessageTypes.DOC_SHOW, this.docShowHandler.bind(this)); | ||
| 756 | 757 | ||
| 757 | // Sass平台层 | 758 | // Sass平台层 |
| 758 | _sass = _Sass2.default; | 759 | _sass = _Sass2.default; |
| @@ -776,7 +777,7 @@ return /******/ (function(modules) { // webpackBootstrap | @@ -776,7 +777,7 @@ return /******/ (function(modules) { // webpackBootstrap | ||
| 776 | _confer_ape.on('*', function (type, data) { | 777 | _confer_ape.on('*', function (type, data) { |
| 777 | return _this._emit(type, data); | 778 | return _this._emit(type, data); |
| 778 | }); | 779 | }); |
| 779 | - _confer_ape.on(_MessageTypes2.default.DOC_SWITCH, _this.docSwitchHandler.bind(_this)); | 780 | + //_confer_ape.on(MessageTypes.DOC_SWITCH, this.docSwitchHandler.bind(this)); |
| 780 | 781 | ||
| 781 | _chat_ape = new _ChatApe2.default(); | 782 | _chat_ape = new _ChatApe2.default(); |
| 782 | _chat_ape.on('*', function (type, data) { | 783 | _chat_ape.on('*', function (type, data) { |
| @@ -800,7 +801,8 @@ return /******/ (function(modules) { // webpackBootstrap | @@ -800,7 +801,8 @@ return /******/ (function(modules) { // webpackBootstrap | ||
| 800 | _whiteboard_ape.on('*', function (type, data) { | 801 | _whiteboard_ape.on('*', function (type, data) { |
| 801 | return _this._emit(type, data); | 802 | return _this._emit(type, data); |
| 802 | }); | 803 | }); |
| 803 | - _whiteboard_ape.on(_MessageTypes2.default.WHITEBOARD_ANNOTATION_UPDATE, _this.annoUpdateHandler.bind(_this)); | 804 | + //_whiteboard_ape.on(MessageTypes.WHITEBOARD_ANNOTATION_UPDATE, this.annoUpdateHandler.bind(this)); |
| 805 | + | ||
| 804 | 806 | ||
| 805 | //公开外部调用的方法 | 807 | //公开外部调用的方法 |
| 806 | //class | 808 | //class |
| @@ -833,7 +835,6 @@ return /******/ (function(modules) { // webpackBootstrap | @@ -833,7 +835,6 @@ return /******/ (function(modules) { // webpackBootstrap | ||
| 833 | _this.sendDocumentDelete = _this._sendDocumentDelete; //删除文档 | 835 | _this.sendDocumentDelete = _this._sendDocumentDelete; //删除文档 |
| 834 | _this.sendDocumentDeleteAll = _this._documentDeleteAll; //删除所有文档 | 836 | _this.sendDocumentDeleteAll = _this._documentDeleteAll; //删除所有文档 |
| 835 | _this.sendDocumentCommand = _this._sendDocumentCommand; //操作文档(翻页、缩放、滚动...) | 837 | _this.sendDocumentCommand = _this._sendDocumentCommand; //操作文档(翻页、缩放、滚动...) |
| 836 | - | ||
| 837 | return _this; | 838 | return _this; |
| 838 | } | 839 | } |
| 839 | 840 | ||
| @@ -1381,26 +1382,27 @@ return /******/ (function(modules) { // webpackBootstrap | @@ -1381,26 +1382,27 @@ return /******/ (function(modules) { // webpackBootstrap | ||
| 1381 | } | 1382 | } |
| 1382 | } | 1383 | } |
| 1383 | 1384 | ||
| 1384 | - // 文档变更 | 1385 | + //// 文档变更,白板也需要做处理 |
| 1385 | 1386 | ||
| 1386 | }, { | 1387 | }, { |
| 1387 | key: 'docUpdateHandler', | 1388 | key: 'docUpdateHandler', |
| 1388 | - value: function docUpdateHandler(docItem) { | ||
| 1389 | - loger.log('Doc UpdateId ->' + docItem.id + '| activeDocId ->' + _confer_ape.activeDocId); | ||
| 1390 | - if (docItem.id == _confer_ape.activeDocId) { | ||
| 1391 | - this._emit(_MessageTypes2.default.DOC_SHOW, docItem); | 1389 | + value: function docUpdateHandler(_data) { |
| 1390 | + loger.log('Doc UpdateId ->', _data); | ||
| 1391 | + if (_whiteboard_ape) { | ||
| 1392 | + _whiteboard_ape.docUpdateHandler(_data); | ||
| 1392 | } | 1393 | } |
| 1393 | } | 1394 | } |
| 1394 | 1395 | ||
| 1395 | - //文档删除 | 1396 | + //文档删除,白板也需要做处理 |
| 1396 | 1397 | ||
| 1397 | }, { | 1398 | }, { |
| 1398 | key: 'docDeleteHandler', | 1399 | key: 'docDeleteHandler', |
| 1399 | - value: function docDeleteHandler(docItem) { | ||
| 1400 | - if (docItem.id == _confer_ape.activeDocId) { | ||
| 1401 | - this._emit(_MessageTypes2.default.DOC_DELETE, docItem); | 1400 | + value: function docDeleteHandler(_data) { |
| 1401 | + if (_whiteboard_ape) { | ||
| 1402 | + _whiteboard_ape.docDeleteHandler(_data); | ||
| 1402 | } | 1403 | } |
| 1403 | } | 1404 | } |
| 1405 | + | ||
| 1404 | //文档加入频道成功,同步到MCU服务器上的数据 | 1406 | //文档加入频道成功,同步到MCU服务器上的数据 |
| 1405 | 1407 | ||
| 1406 | }, { | 1408 | }, { |
| @@ -1444,7 +1446,7 @@ return /******/ (function(modules) { // webpackBootstrap | @@ -1444,7 +1446,7 @@ return /******/ (function(modules) { // webpackBootstrap | ||
| 1444 | // "uploadEndTime": "2017-02-03 11:54:27", | 1446 | // "uploadEndTime": "2017-02-03 11:54:27", |
| 1445 | // "uploadStartTime": "2017-02-03 11:54:27" | 1447 | // "uploadStartTime": "2017-02-03 11:54:27" |
| 1446 | //} | 1448 | //} |
| 1447 | - loger.log("上传文档到mcu", value); | 1449 | + loger.log("判断是否需要把提前上传的文档上传到mcu", value); |
| 1448 | var paramInfo = { | 1450 | var paramInfo = { |
| 1449 | "pageNum": value.pdfSize, | 1451 | "pageNum": value.pdfSize, |
| 1450 | "fileName": value.name, | 1452 | "fileName": value.name, |
| @@ -3575,7 +3577,7 @@ return /******/ (function(modules) { // webpackBootstrap | @@ -3575,7 +3577,7 @@ return /******/ (function(modules) { // webpackBootstrap | ||
| 3575 | // 会议发送消息 -- 消息同意序列号 | 3577 | // 会议发送消息 -- 消息同意序列号 |
| 3576 | value: function send(msg) { | 3578 | value: function send(msg) { |
| 3577 | if (this.connected) { | 3579 | if (this.connected) { |
| 3578 | - loger.log('MCU-发送会议数据....', msg); | 3580 | + loger.log('MCU-发送会议数据....'); |
| 3579 | this._everSocket.send(msg.toArrayBuffer()); | 3581 | this._everSocket.send(msg.toArrayBuffer()); |
| 3580 | } else { | 3582 | } else { |
| 3581 | loger.log('MCU-发送会议数据失败,MCU底层通道不可用'); | 3583 | loger.log('MCU-发送会议数据失败,MCU底层通道不可用'); |
| @@ -14442,7 +14444,7 @@ return /******/ (function(modules) { // webpackBootstrap | @@ -14442,7 +14444,7 @@ return /******/ (function(modules) { // webpackBootstrap | ||
| 14442 | Object.defineProperty(exports, "__esModule", { | 14444 | Object.defineProperty(exports, "__esModule", { |
| 14443 | value: true | 14445 | value: true |
| 14444 | }); | 14446 | }); |
| 14445 | - 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 string name = 2;\n optional bytes description = 3;\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 class_description = 4;//conf_desc\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 class_description = 4;\n}\n\nmessage RCConferenceInviteRequestPdu {\n optional RCPduType_E type = 1 [default = RCPDU_CONFERENCE_INVITE_REQUEST];\n required uint32 initiator = 2;\n required RCConferenceDescriptorPdu class_description = 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 string from_role = 5;\n required bytes from_name = 6;\n}\n\nmessage RCDocSendDataRequestPdu {\n required uint32 id = 1;\n required string doc_type = 2;\n required string uri = 3;\n optional uint32 owner = 4;\n optional uint32 from = 5;\n optional string name = 6;\n optional uint32 cur_page_no = 7;\n optional uint32 cur_H = 8;\n optional uint32 cur_V = 9;\n optional uint32 scale = 10;\n optional uint32 page_num = 11;\n}\nmessage RCDocSendDataModelPdu {\n required uint32 item_idx=1;//\u552F\u4E00\u6807\u8BC6\n required uint32 owner=2;\n optional uint32 from=3;\n optional uint32 cur_page_no=4;\n optional uint32 page_num =5;\n optional string file_type=6;\n optional string creat_user_id=7;//\u521B\u5EFA\u6587\u6863userid\n optional string relative_url=8;//\u6587\u6863\u76F8\u5BF9\u5730\u5740\n optional string url =9;//\u6587\u6863\u5730\u5740\n optional uint32 cur_V=10;\n optional uint32 cur_H=11;\n optional uint32 scale=12;\n optional bool visible=13;\n optional uint32 action=14;//0\uFF0C\u65E0\u64CD\u4F5C\uFF0C 1\u7FFB\u9875\u30012.\u663E\u793A/\u9690\u85CF\n optional string doc_id=15;//\u6587\u6863\u5728\u670D\u52A1\u5668\u6570\u636E\u5E93\u4E2D\u7684\u552F\u4E00id\n optional string file_name=16;//\u6587\u6863\u7684\u540D\u5B57\n optional string dynamic_TS=17;//\"dynamicTransferStatic\": \"0\"\n optional string md5=18;//md5\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 curPage= 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}\nmessage RCClassSendDataModelPdu {\n optional uint32 item_idx=1;\n optional uint32 from=2;\n optional uint32 owner=3;\n optional uint32 action_type=4;//\u72B6\u6001\u6539\u53D8\u7684\u7C7B\u578B\n optional RCClassStatusInfoPdu class_status_info=5;//\u5F53\u524D\u8BFE\u5802\u72B6\u6001\u7684\u4FE1\u606F\n}\nmessage RCClassStatusInfoPdu {\n optional uint32 node_id=1;//mcu\u4E2D\u7684\u552F\u4E00ID\n optional string user_id=2;\n optional string user_name=3;\n optional string site_id=4;//\u7AD9\u70B9\u53F7\n optional uint32 class_id=5;\n optional string class_name=6;\n required uint32 class_type=7;//\u8BFE\u5802\u7C7B\u578B\n required uint32 class_status=9;//\u8BFE\u5802\u7684\u72B6\u6001\n optional string class_startTime=10;//\u8BFE\u5802\u70B9\u51FB\u5F00\u59CB\u65F6\u95F4\n optional string class_stopTime=11;//\u6700\u540E\u4E00\u6B21\u505C\u6B62\u7684\u65F6\u95F4(\u70B9\u6682\u505C\u6216\u7ED3\u675F)\uFF0C\u6BCF\u6B21\u53D1\u9001\u6570\u636E\u90FD\u83B7\u53D6\u5F53\u524D\u65F6\u95F4\u6233\n optional uint32 class_timestamp=12;//\u76F8\u5BF9\u4E8E\u70B9\u5F00\u59CB\u8BFE\u5802\u7684\u65F6\u95F4\u6233\n optional string class_beginTime=13;//\u8BFE\u5802\u521B\u5EFA\u7684\u65F6\u95F4,\u8FD9\u4E2A\u662FSass\u8FD4\u56DE\u7684\n optional string class_endTime=14;//\u8BFE\u5802\u7ED3\u675F\u7684\u65F6\u95F4\uFF0C\u8FD9\u4E2A\u662FSass\u8FD4\u56DE\u7684\n optional bool record_status=15;//\u5F53\u524D\u5F55\u5236\u72B6\u6001\n optional uint32 record_timestamp=16;//\u76F8\u5BF9\u4E8E\u9996\u6B21\u5F00\u59CB\u5F55\u5236\u7684\u65F6\u95F4\u6233\n optional string record_fileName=17;//\u5F55\u5236\u7684\u6587\u4EF6\u540D\n optional string record_downloadUrl=18;//\u4E0B\u8F7D\u5730\u5740\n optional uint32 server_timestamp=19;//\u5F53\u524D\u7684\u7CFB\u7EDF\u65F6\u95F4\u6233\n optional uint32 active_doc_id=20;//\u5F53\u524D\u6FC0\u6D3B\u7684\u6587\u6863id\n optional uint32 active_doc_cur_page=21;//\u5F53\u524D\u6FC0\u6D3B\u7684\u6587\u6863\u7684\u5F53\u524D\u9875\n}\n\n//end\n"; | 14447 | + 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 string name = 2;\n optional bytes description = 3;\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 class_description = 4;//conf_desc\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 class_description = 4;\n}\n\nmessage RCConferenceInviteRequestPdu {\n optional RCPduType_E type = 1 [default = RCPDU_CONFERENCE_INVITE_REQUEST];\n required uint32 initiator = 2;\n required RCConferenceDescriptorPdu class_description = 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 string from_role = 5;\n required bytes from_name = 6;\n}\n\nmessage RCDocSendDataRequestPdu {\n required uint32 id = 1;\n required string doc_type = 2;\n required string uri = 3;\n optional uint32 owner = 4;\n optional uint32 from = 5;\n optional string name = 6;\n optional uint32 cur_page_no = 7;\n optional uint32 cur_H = 8;\n optional uint32 cur_V = 9;\n optional uint32 scale = 10;\n optional uint32 page_num = 11;\n}\nmessage RCDocSendDataModelPdu {\n required uint32 item_idx=1;//\u552F\u4E00\u6807\u8BC6\n required uint32 owner=2;\n optional uint32 from=3;\n optional uint32 cur_page_no=4;\n optional uint32 page_num =5;\n optional string file_type=6;\n optional string creat_user_id=7;//\u521B\u5EFA\u6587\u6863userid\n optional string relative_url=8;//\u6587\u6863\u76F8\u5BF9\u5730\u5740\n optional string url =9;//\u6587\u6863\u5730\u5740\n optional uint32 cur_V=10;\n optional uint32 cur_H=11;\n optional uint32 scale=12;\n optional bool visible=13;\n optional uint32 action=14;//0\uFF0C\u65E0\u64CD\u4F5C\uFF0C 1\u7FFB\u9875\u30012.\u663E\u793A/\u9690\u85CF\n optional string doc_id=15;//\u6587\u6863\u5728\u670D\u52A1\u5668\u6570\u636E\u5E93\u4E2D\u7684\u552F\u4E00id\n optional string file_name=16;//\u6587\u6863\u7684\u540D\u5B57\n optional string dynamic_TS=17;//\"dynamicTransferStatic\": \"0\"\n optional string md5=18;//md5\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 RCWhiteBoardDataModelPdu {\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 cur_page_no= 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}\nmessage RCClassSendDataModelPdu {\n optional uint32 item_idx=1;\n optional uint32 from=2;\n optional uint32 owner=3;\n optional uint32 action_type=4;//\u72B6\u6001\u6539\u53D8\u7684\u7C7B\u578B\n optional RCClassStatusInfoPdu class_status_info=5;//\u5F53\u524D\u8BFE\u5802\u72B6\u6001\u7684\u4FE1\u606F\n}\nmessage RCClassStatusInfoPdu {\n optional uint32 node_id=1;//mcu\u4E2D\u7684\u552F\u4E00ID\n optional string user_id=2;\n optional string user_name=3;\n optional string site_id=4;//\u7AD9\u70B9\u53F7\n optional uint32 class_id=5;\n optional string class_name=6;\n required uint32 class_type=7;//\u8BFE\u5802\u7C7B\u578B\n required uint32 class_status=9;//\u8BFE\u5802\u7684\u72B6\u6001\n optional string class_startTime=10;//\u8BFE\u5802\u70B9\u51FB\u5F00\u59CB\u65F6\u95F4\n optional string class_stopTime=11;//\u6700\u540E\u4E00\u6B21\u505C\u6B62\u7684\u65F6\u95F4(\u70B9\u6682\u505C\u6216\u7ED3\u675F)\uFF0C\u6BCF\u6B21\u53D1\u9001\u6570\u636E\u90FD\u83B7\u53D6\u5F53\u524D\u65F6\u95F4\u6233\n optional uint32 class_timestamp=12;//\u76F8\u5BF9\u4E8E\u70B9\u5F00\u59CB\u8BFE\u5802\u7684\u65F6\u95F4\u6233\n optional string class_beginTime=13;//\u8BFE\u5802\u521B\u5EFA\u7684\u65F6\u95F4,\u8FD9\u4E2A\u662FSass\u8FD4\u56DE\u7684\n optional string class_endTime=14;//\u8BFE\u5802\u7ED3\u675F\u7684\u65F6\u95F4\uFF0C\u8FD9\u4E2A\u662FSass\u8FD4\u56DE\u7684\n optional bool record_status=15;//\u5F53\u524D\u5F55\u5236\u72B6\u6001\n optional uint32 record_timestamp=16;//\u76F8\u5BF9\u4E8E\u9996\u6B21\u5F00\u59CB\u5F55\u5236\u7684\u65F6\u95F4\u6233\n optional string record_fileName=17;//\u5F55\u5236\u7684\u6587\u4EF6\u540D\n optional string record_downloadUrl=18;//\u4E0B\u8F7D\u5730\u5740\n optional uint32 server_timestamp=19;//\u5F53\u524D\u7684\u7CFB\u7EDF\u65F6\u95F4\u6233\n optional uint32 active_doc_id=20;//\u5F53\u524D\u6FC0\u6D3B\u7684\u6587\u6863id\n optional uint32 active_doc_cur_page=21;//\u5F53\u524D\u6FC0\u6D3B\u7684\u6587\u6863\u7684\u5F53\u524D\u9875\n}\n\n//end\n"; |
| 14446 | exports.default = _default; | 14448 | exports.default = _default; |
| 14447 | ; | 14449 | ; |
| 14448 | 14450 | ||
| @@ -16622,6 +16624,9 @@ return /******/ (function(modules) { // webpackBootstrap | @@ -16622,6 +16624,9 @@ return /******/ (function(modules) { // webpackBootstrap | ||
| 16622 | 16624 | ||
| 16623 | var loger = _Loger2.default.getLoger('DocApe'); | 16625 | var loger = _Loger2.default.getLoger('DocApe'); |
| 16624 | var itemIdx = 0; //table插入新数据的计数id,目前用时间戳 | 16626 | var itemIdx = 0; //table插入新数据的计数id,目前用时间戳 |
| 16627 | + var DOC_ACTION_NORMAL = 0; //无操作 | ||
| 16628 | + var DOC_ACTION_SWITCH = 1; //切换文档 | ||
| 16629 | + var DOC_ACTION_COMMAND = 2; //文档操作:翻页、滚动、缩放 | ||
| 16625 | 16630 | ||
| 16626 | var DocApe = function (_Ape) { | 16631 | var DocApe = function (_Ape) { |
| 16627 | _inherits(DocApe, _Ape); | 16632 | _inherits(DocApe, _Ape); |
| @@ -16749,7 +16754,7 @@ return /******/ (function(modules) { // webpackBootstrap | @@ -16749,7 +16754,7 @@ return /******/ (function(modules) { // webpackBootstrap | ||
| 16749 | }, { | 16754 | }, { |
| 16750 | key: 'documentSwitch', | 16755 | key: 'documentSwitch', |
| 16751 | value: function documentSwitch(paramInfo) { | 16756 | value: function documentSwitch(paramInfo) { |
| 16752 | - console.log(this.docList); | 16757 | + //console.log(this.docList); |
| 16753 | //获取已经存在的数据 | 16758 | //获取已经存在的数据 |
| 16754 | var docDataModel = this.docList[paramInfo.itemIdx]; | 16759 | var docDataModel = this.docList[paramInfo.itemIdx]; |
| 16755 | if (docDataModel == null) { | 16760 | if (docDataModel == null) { |
| @@ -16758,11 +16763,12 @@ return /******/ (function(modules) { // webpackBootstrap | @@ -16758,11 +16763,12 @@ return /******/ (function(modules) { // webpackBootstrap | ||
| 16758 | return; | 16763 | return; |
| 16759 | } | 16764 | } |
| 16760 | //更新数据的字段 | 16765 | //更新数据的字段 |
| 16766 | + docDataModel.action = DOC_ACTION_SWITCH; | ||
| 16761 | docDataModel.visible = !docDataModel.visible; | 16767 | docDataModel.visible = !docDataModel.visible; |
| 16762 | this.updaterDoc(docDataModel, docDataModel.itemIdx); | 16768 | this.updaterDoc(docDataModel, docDataModel.itemIdx); |
| 16763 | } | 16769 | } |
| 16764 | 16770 | ||
| 16765 | - //操作文档(翻页、缩放、滚动...) | 16771 | + //操作文档(翻页、缩放、滚动...)//0,无操作, 1翻页、缩放/滚动,2.显示/隐藏 |
| 16766 | 16772 | ||
| 16767 | }, { | 16773 | }, { |
| 16768 | key: 'documentCommand', | 16774 | key: 'documentCommand', |
| @@ -16778,6 +16784,7 @@ return /******/ (function(modules) { // webpackBootstrap | @@ -16778,6 +16784,7 @@ return /******/ (function(modules) { // webpackBootstrap | ||
| 16778 | return; | 16784 | return; |
| 16779 | } | 16785 | } |
| 16780 | //更新数据的字段 | 16786 | //更新数据的字段 |
| 16787 | + docDataModel.action = DOC_ACTION_COMMAND; | ||
| 16781 | docDataModel.curPageNo = docDataModel.curPageNo + 1; | 16788 | docDataModel.curPageNo = docDataModel.curPageNo + 1; |
| 16782 | this.updaterDoc(docDataModel, docDataModel.itemIdx); | 16789 | this.updaterDoc(docDataModel, docDataModel.itemIdx); |
| 16783 | } | 16790 | } |
| @@ -16850,7 +16857,7 @@ return /******/ (function(modules) { // webpackBootstrap | @@ -16850,7 +16857,7 @@ return /******/ (function(modules) { // webpackBootstrap | ||
| 16850 | optional uint32 cur_H=11; | 16857 | optional uint32 cur_H=11; |
| 16851 | optional uint32 scale=12; | 16858 | optional uint32 scale=12; |
| 16852 | optional bool visible=13; | 16859 | optional bool visible=13; |
| 16853 | - optional uint32 action=14;//0,无操作, 1翻页、2.显示/隐藏 | 16860 | + optional uint32 action=14;//0,无操作, 1翻页 /缩放/滚动、2.显示/隐藏 |
| 16854 | optional string doc_id=15;//文档在服务器数据库中的唯一id | 16861 | optional string doc_id=15;//文档在服务器数据库中的唯一id |
| 16855 | optional string file_name=16;//文档的名字 | 16862 | optional string file_name=16;//文档的名字 |
| 16856 | optional string dynamic_TS=17;//"dynamicTransferStatic": "0" | 16863 | optional string dynamic_TS=17;//"dynamicTransferStatic": "0" |
| @@ -16872,7 +16879,7 @@ return /******/ (function(modules) { // webpackBootstrap | @@ -16872,7 +16879,7 @@ return /******/ (function(modules) { // webpackBootstrap | ||
| 16872 | docModelPdu.curH = _param.curH || 0; | 16879 | docModelPdu.curH = _param.curH || 0; |
| 16873 | docModelPdu.scale = _param.scale || 1; | 16880 | docModelPdu.scale = _param.scale || 1; |
| 16874 | docModelPdu.visible = _param.visible || false; | 16881 | docModelPdu.visible = _param.visible || false; |
| 16875 | - docModelPdu.action = _param.action || 0; //0,无操作, 1翻页、2.显示/隐藏 | 16882 | + docModelPdu.action = _param.action || DOC_ACTION_NORMAL; //0,无操作, 1翻页、2.显示/隐藏, 3缩放/滚动 |
| 16876 | docModelPdu.docId = _param.docId || ""; //文档在服务器数据库中的唯一id,必须有 | 16883 | docModelPdu.docId = _param.docId || ""; //文档在服务器数据库中的唯一id,必须有 |
| 16877 | docModelPdu.md5 = _param.md5 || ""; //MD5 | 16884 | docModelPdu.md5 = _param.md5 || ""; //MD5 |
| 16878 | docModelPdu.fileName = _param.fileName || "doc_" + _itemIdx; //文档的名字 | 16885 | docModelPdu.fileName = _param.fileName || "doc_" + _itemIdx; //文档的名字 |
| @@ -16940,6 +16947,23 @@ return /******/ (function(modules) { // webpackBootstrap | @@ -16940,6 +16947,23 @@ return /******/ (function(modules) { // webpackBootstrap | ||
| 16940 | if (itemDataInfo != null) { | 16947 | if (itemDataInfo != null) { |
| 16941 | this.docList[itemIdx] = itemDataInfo; | 16948 | this.docList[itemIdx] = itemDataInfo; |
| 16942 | loger.log('tableUpdateHandler', itemDataInfo); | 16949 | loger.log('tableUpdateHandler', itemDataInfo); |
| 16950 | + /* switch (itemDataInfo.action){ | ||
| 16951 | + case DOC_ACTION_SWITCH: | ||
| 16952 | + break; | ||
| 16953 | + case DOC_ACTION_COMMAND: | ||
| 16954 | + break; | ||
| 16955 | + case DOC_ACTION_NORMAL: | ||
| 16956 | + break; | ||
| 16957 | + default : | ||
| 16958 | + break; | ||
| 16959 | + }*/ | ||
| 16960 | + _GlobalConfig2.default.activeDocId = 0; //默认id | ||
| 16961 | + _GlobalConfig2.default.activeDocCurPage = 1; //默认页数 | ||
| 16962 | + | ||
| 16963 | + if (itemDataInfo.visible == "true" || itemDataInfo.visible == true) { | ||
| 16964 | + _GlobalConfig2.default.activeDocId = itemDataInfo.itemIdx; //当前激活的文档ID | ||
| 16965 | + _GlobalConfig2.default.activeDocCurPage = itemDataInfo.curPageNo; //当前激活的文档的当前页 | ||
| 16966 | + } | ||
| 16943 | this._emit(_MessageTypes2.default.DOC_UPDATE, itemDataInfo); | 16967 | this._emit(_MessageTypes2.default.DOC_UPDATE, itemDataInfo); |
| 16944 | } else { | 16968 | } else { |
| 16945 | loger.log('tableUpdateHandler 数据无效--> itemIdx', itemIdx); | 16969 | loger.log('tableUpdateHandler 数据无效--> itemIdx', itemIdx); |
| @@ -17022,6 +17046,12 @@ return /******/ (function(modules) { // webpackBootstrap | @@ -17022,6 +17046,12 @@ return /******/ (function(modules) { // webpackBootstrap | ||
| 17022 | 17046 | ||
| 17023 | __REACT_HOT_LOADER__.register(itemIdx, 'itemIdx', 'D:/work/McuClient/src/apes/DocApe.js'); | 17047 | __REACT_HOT_LOADER__.register(itemIdx, 'itemIdx', 'D:/work/McuClient/src/apes/DocApe.js'); |
| 17024 | 17048 | ||
| 17049 | + __REACT_HOT_LOADER__.register(DOC_ACTION_NORMAL, 'DOC_ACTION_NORMAL', 'D:/work/McuClient/src/apes/DocApe.js'); | ||
| 17050 | + | ||
| 17051 | + __REACT_HOT_LOADER__.register(DOC_ACTION_SWITCH, 'DOC_ACTION_SWITCH', 'D:/work/McuClient/src/apes/DocApe.js'); | ||
| 17052 | + | ||
| 17053 | + __REACT_HOT_LOADER__.register(DOC_ACTION_COMMAND, 'DOC_ACTION_COMMAND', 'D:/work/McuClient/src/apes/DocApe.js'); | ||
| 17054 | + | ||
| 17025 | __REACT_HOT_LOADER__.register(DocApe, 'DocApe', 'D:/work/McuClient/src/apes/DocApe.js'); | 17055 | __REACT_HOT_LOADER__.register(DocApe, 'DocApe', 'D:/work/McuClient/src/apes/DocApe.js'); |
| 17026 | 17056 | ||
| 17027 | __REACT_HOT_LOADER__.register(_default, 'default', 'D:/work/McuClient/src/apes/DocApe.js'); | 17057 | __REACT_HOT_LOADER__.register(_default, 'default', 'D:/work/McuClient/src/apes/DocApe.js'); |
| @@ -17115,6 +17145,8 @@ return /******/ (function(modules) { // webpackBootstrap | @@ -17115,6 +17145,8 @@ return /******/ (function(modules) { // webpackBootstrap | ||
| 17115 | 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)); | 17145 | 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)); |
| 17116 | 17146 | ||
| 17117 | _this.annoInfos = {}; | 17147 | _this.annoInfos = {}; |
| 17148 | + // 白板延迟 | ||
| 17149 | + // this._apeDelayed = true; | ||
| 17118 | 17150 | ||
| 17119 | //Ape Models | 17151 | //Ape Models |
| 17120 | _this.registerKey(_this._session_id, _this._session_name, _this._session_tag, new ArrayBuffer()); | 17152 | _this.registerKey(_this._session_id, _this._session_name, _this._session_tag, new ArrayBuffer()); |
| @@ -17122,11 +17154,7 @@ return /******/ (function(modules) { // webpackBootstrap | @@ -17122,11 +17154,7 @@ return /******/ (function(modules) { // webpackBootstrap | ||
| 17122 | 17154 | ||
| 17123 | // ape listeners | 17155 | // ape listeners |
| 17124 | _this.on(_pdus2.default.RCPDU_SESSION_JOIN_RESPONSE, _this._joinSessionHandler.bind(_this)); | 17156 | _this.on(_pdus2.default.RCPDU_SESSION_JOIN_RESPONSE, _this._joinSessionHandler.bind(_this)); |
| 17125 | - | ||
| 17126 | //this.on(pdu.RCPDU_CONFERENCE_SEND_DATA_REQUEST, this.whiteboardMsgComingHandler.bind(this));//这个是会议消息类型,flash里在使用这里不再使用,各个模块的消息由模块自己来处理 | 17157 | //this.on(pdu.RCPDU_CONFERENCE_SEND_DATA_REQUEST, this.whiteboardMsgComingHandler.bind(this));//这个是会议消息类型,flash里在使用这里不再使用,各个模块的消息由模块自己来处理 |
| 17127 | - | ||
| 17128 | - // 白板延迟 | ||
| 17129 | - //this._apeDelayed = true; | ||
| 17130 | return _this; | 17158 | return _this; |
| 17131 | } | 17159 | } |
| 17132 | 17160 | ||
| @@ -17208,7 +17236,6 @@ return /******/ (function(modules) { // webpackBootstrap | @@ -17208,7 +17236,6 @@ return /******/ (function(modules) { // webpackBootstrap | ||
| 17208 | }, { | 17236 | }, { |
| 17209 | key: 'sendDeleteAllAnnotation', | 17237 | key: 'sendDeleteAllAnnotation', |
| 17210 | value: function sendDeleteAllAnnotation(_param) { | 17238 | value: function sendDeleteAllAnnotation(_param) { |
| 17211 | - var len = 0; | ||
| 17212 | for (var key in this.annoInfos) { | 17239 | for (var key in this.annoInfos) { |
| 17213 | //console.log("key:"+key); | 17240 | //console.log("key:"+key); |
| 17214 | console.log("删除白板数据,itemIdx:" + key); | 17241 | console.log("删除白板数据,itemIdx:" + key); |
| @@ -17265,7 +17292,7 @@ return /******/ (function(modules) { // webpackBootstrap | @@ -17265,7 +17292,7 @@ return /******/ (function(modules) { // webpackBootstrap | ||
| 17265 | 17292 | ||
| 17266 | itemIdx = _param.itemIdx; | 17293 | itemIdx = _param.itemIdx; |
| 17267 | var whiteBoardModelPdu = this.packPdu(_param, itemIdx); | 17294 | var whiteBoardModelPdu = this.packPdu(_param, itemIdx); |
| 17268 | - console.log(whiteBoardModelPdu); | 17295 | + //console.log(whiteBoardModelPdu); |
| 17269 | 17296 | ||
| 17270 | if (whiteBoardModelPdu == null) { | 17297 | if (whiteBoardModelPdu == null) { |
| 17271 | loger.log('sendInsetAnnotaion失败,参数错误'); | 17298 | loger.log('sendInsetAnnotaion失败,参数错误'); |
| @@ -17326,7 +17353,7 @@ return /******/ (function(modules) { // webpackBootstrap | @@ -17326,7 +17353,7 @@ return /******/ (function(modules) { // webpackBootstrap | ||
| 17326 | return null; | 17353 | return null; |
| 17327 | } | 17354 | } |
| 17328 | //判断type类型,根据type设置不同的参数 | 17355 | //判断type类型,根据type设置不同的参数 |
| 17329 | - var whiteBoardModelPdu = new _pdus2.default['RCWhiteBoardDataModel'](); | 17356 | + var whiteBoardModelPdu = new _pdus2.default['RCWhiteBoardDataModelPdu'](); |
| 17330 | switch (_param.type) { | 17357 | switch (_param.type) { |
| 17331 | case TYPE_BIGHT: | 17358 | case TYPE_BIGHT: |
| 17332 | break; | 17359 | break; |
| @@ -17351,8 +17378,13 @@ return /******/ (function(modules) { // webpackBootstrap | @@ -17351,8 +17378,13 @@ return /******/ (function(modules) { // webpackBootstrap | ||
| 17351 | whiteBoardModelPdu.type = _param.type; | 17378 | whiteBoardModelPdu.type = _param.type; |
| 17352 | whiteBoardModelPdu.itemIdx = _itemIdx; | 17379 | whiteBoardModelPdu.itemIdx = _itemIdx; |
| 17353 | whiteBoardModelPdu.initiator = _GlobalConfig2.default.nodeId; | 17380 | whiteBoardModelPdu.initiator = _GlobalConfig2.default.nodeId; |
| 17354 | - whiteBoardModelPdu.parentId = _param.parentId || 0; | ||
| 17355 | - whiteBoardModelPdu.curPage = _param.curPage || 1; | 17381 | + |
| 17382 | + /* whiteBoardModelPdu.parentId=_param.parentId||0; | ||
| 17383 | + whiteBoardModelPdu.curPage=_param.curPage||1;*/ | ||
| 17384 | + | ||
| 17385 | + whiteBoardModelPdu.parentId = _GlobalConfig2.default.activeDocId; //当前激活的文档id | ||
| 17386 | + whiteBoardModelPdu.curPageNo = _GlobalConfig2.default.activeDocCurPage; //当前激活的文档页码 | ||
| 17387 | + | ||
| 17356 | whiteBoardModelPdu.pointGroup = _EngineUtils2.default.arrayToJsonString(_param.pointGroup); | 17388 | whiteBoardModelPdu.pointGroup = _EngineUtils2.default.arrayToJsonString(_param.pointGroup); |
| 17357 | whiteBoardModelPdu.color = _param.color || "#000000"; | 17389 | whiteBoardModelPdu.color = _param.color || "#000000"; |
| 17358 | 17390 | ||
| @@ -17361,14 +17393,14 @@ return /******/ (function(modules) { // webpackBootstrap | @@ -17361,14 +17393,14 @@ return /******/ (function(modules) { // webpackBootstrap | ||
| 17361 | }, { | 17393 | }, { |
| 17362 | key: 'unPackPdu', | 17394 | key: 'unPackPdu', |
| 17363 | value: function unPackPdu(owner, itemIdx, itemData) { | 17395 | value: function unPackPdu(owner, itemIdx, itemData) { |
| 17364 | - this.annoInfos[itemIdx] = itemData; | ||
| 17365 | try { | 17396 | try { |
| 17366 | console.log("白板收到数据===unPackPdu "); | 17397 | console.log("白板收到数据===unPackPdu "); |
| 17367 | - var whiteBoardModelPdu = _pdus2.default['RCWhiteBoardDataModel'].decode(itemData); | 17398 | + var whiteBoardModelPdu = _pdus2.default['RCWhiteBoardDataModelPdu'].decode(itemData); |
| 17368 | //console.log(whiteBoardModelPdu); | 17399 | //console.log(whiteBoardModelPdu); |
| 17369 | //loger.log(whiteBoardModelPdu); | 17400 | //loger.log(whiteBoardModelPdu); |
| 17370 | var _pointGroup = _EngineUtils2.default.arrayFromJsonString(whiteBoardModelPdu.pointGroup); | 17401 | var _pointGroup = _EngineUtils2.default.arrayFromJsonString(whiteBoardModelPdu.pointGroup); |
| 17371 | whiteBoardModelPdu.pointGroup = _pointGroup; | 17402 | whiteBoardModelPdu.pointGroup = _pointGroup; |
| 17403 | + this.annoInfos[itemIdx] = whiteBoardModelPdu; | ||
| 17372 | return whiteBoardModelPdu; | 17404 | return whiteBoardModelPdu; |
| 17373 | } catch (err) { | 17405 | } catch (err) { |
| 17374 | console.log("unPackPdu Pdu解析错误,itemIdx=" + itemIdx + " err:" + err.message); | 17406 | console.log("unPackPdu Pdu解析错误,itemIdx=" + itemIdx + " err:" + err.message); |
| @@ -17377,19 +17409,17 @@ return /******/ (function(modules) { // webpackBootstrap | @@ -17377,19 +17409,17 @@ return /******/ (function(modules) { // webpackBootstrap | ||
| 17377 | } | 17409 | } |
| 17378 | 17410 | ||
| 17379 | /////收到消息处理///////////////////////////////////////////////////////////////////////////////// | 17411 | /////收到消息处理///////////////////////////////////////////////////////////////////////////////// |
| 17412 | + /* whiteboardMsgComingHandler(_data) { | ||
| 17413 | + //flash RCConferenceSendDataRequestPdu | ||
| 17414 | + //loger.warn('whiteboardMsgComingHandler needs to be handled.'); | ||
| 17415 | + //const recordInfo = pdu['RCWhiteboardDataRequestPdu'].decode(pdu); | ||
| 17416 | + //loger.log("whiteboardMsgComingHandler",recordInfo); | ||
| 17417 | + | ||
| 17418 | + let receiveInfo = pdu['RCConferenceSendDataRequestPdu'].decode(_data); | ||
| 17419 | + loger.log("whiteboardMsgComingHandler",receiveInfo); | ||
| 17420 | + }*/ | ||
| 17380 | 17421 | ||
| 17381 | }, { | 17422 | }, { |
| 17382 | - key: 'whiteboardMsgComingHandler', | ||
| 17383 | - value: function whiteboardMsgComingHandler(_data) { | ||
| 17384 | - //flash RCConferenceSendDataRequestPdu | ||
| 17385 | - //loger.warn('whiteboardMsgComingHandler needs to be handled.'); | ||
| 17386 | - //const recordInfo = pdu['RCWhiteboardDataRequestPdu'].decode(pdu); | ||
| 17387 | - //loger.log("whiteboardMsgComingHandler",recordInfo); | ||
| 17388 | - | ||
| 17389 | - var receiveInfo = _pdus2.default['RCConferenceSendDataRequestPdu'].decode(_data); | ||
| 17390 | - loger.log("whiteboardMsgComingHandler", receiveInfo); | ||
| 17391 | - } | ||
| 17392 | - }, { | ||
| 17393 | key: 'tableInsertHandler', | 17423 | key: 'tableInsertHandler', |
| 17394 | value: function tableInsertHandler(owner, itemIdx, itemData) { | 17424 | value: function tableInsertHandler(owner, itemIdx, itemData) { |
| 17395 | /* try{ | 17425 | /* try{ |
| @@ -17402,13 +17432,25 @@ return /******/ (function(modules) { // webpackBootstrap | @@ -17402,13 +17432,25 @@ return /******/ (function(modules) { // webpackBootstrap | ||
| 17402 | }*/ | 17432 | }*/ |
| 17403 | var whiteBoardModel = this.unPackPdu(owner, itemIdx, itemData); | 17433 | var whiteBoardModel = this.unPackPdu(owner, itemIdx, itemData); |
| 17404 | loger.log('tableInsertHandler', whiteBoardModel); | 17434 | loger.log('tableInsertHandler', whiteBoardModel); |
| 17405 | - this._emit(_MessageTypes2.default.WHITEBOARD_ANNOTAION_INSERT, whiteBoardModel); | 17435 | + if (whiteBoardModel) { |
| 17436 | + if (_GlobalConfig2.default.activeDocId == whiteBoardModel.parentId && _GlobalConfig2.default.activeDocCurPage == whiteBoardModel.curPageNo) { | ||
| 17437 | + loger.log('WHITEBOARD_ANNOTAION_INSERT 显示到界面上', whiteBoardModel); | ||
| 17438 | + this._emit(_MessageTypes2.default.WHITEBOARD_ANNOTAION_INSERT, whiteBoardModel); | ||
| 17439 | + } | ||
| 17440 | + } | ||
| 17406 | } | 17441 | } |
| 17407 | }, { | 17442 | }, { |
| 17408 | key: 'tableUpdateHandler', | 17443 | key: 'tableUpdateHandler', |
| 17409 | value: function tableUpdateHandler(owner, itemIdx, itemData) { | 17444 | value: function tableUpdateHandler(owner, itemIdx, itemData) { |
| 17410 | var whiteBoardModel = this.unPackPdu(owner, itemIdx, itemData); | 17445 | var whiteBoardModel = this.unPackPdu(owner, itemIdx, itemData); |
| 17411 | loger.log('tableUpdateHandler', whiteBoardModel); | 17446 | loger.log('tableUpdateHandler', whiteBoardModel); |
| 17447 | + if (whiteBoardModel) { | ||
| 17448 | + if (_GlobalConfig2.default.activeDocId == whiteBoardModel.parentId && _GlobalConfig2.default.activeDocCurPage == whiteBoardModel.curPageNo) { | ||
| 17449 | + loger.log('WHITEBOARD_ANNOTATION_UPDATE 显示到界面上', whiteBoardModel); | ||
| 17450 | + this._emit(_MessageTypes2.default.WHITEBOARD_ANNOTATION_UPDATE, whiteBoardModel); | ||
| 17451 | + } | ||
| 17452 | + } | ||
| 17453 | + | ||
| 17412 | /* try{ | 17454 | /* try{ |
| 17413 | console.log("白板收到数据===tableUpdateHandler "); | 17455 | console.log("白板收到数据===tableUpdateHandler "); |
| 17414 | let whiteBoardModelPdu= pdu['RCWhiteBoardDataModel'].decode(itemData); | 17456 | let whiteBoardModelPdu= pdu['RCWhiteBoardDataModel'].decode(itemData); |
| @@ -17435,8 +17477,6 @@ return /******/ (function(modules) { // webpackBootstrap | @@ -17435,8 +17477,6 @@ return /******/ (function(modules) { // webpackBootstrap | ||
| 17435 | } else { | 17477 | } else { |
| 17436 | loger.log('白板动作忽略,类型:', ApeConsts(recordInfo.type)); | 17478 | loger.log('白板动作忽略,类型:', ApeConsts(recordInfo.type)); |
| 17437 | }*/ | 17479 | }*/ |
| 17438 | - | ||
| 17439 | - this._emit(_MessageTypes2.default.WHITEBOARD_ANNOTATION_UPDATE, whiteBoardModel); | ||
| 17440 | } | 17480 | } |
| 17441 | }, { | 17481 | }, { |
| 17442 | key: 'tableDeleteHandler', | 17482 | key: 'tableDeleteHandler', |
| @@ -17456,6 +17496,45 @@ return /******/ (function(modules) { // webpackBootstrap | @@ -17456,6 +17496,45 @@ return /******/ (function(modules) { // webpackBootstrap | ||
| 17456 | } | 17496 | } |
| 17457 | } | 17497 | } |
| 17458 | } | 17498 | } |
| 17499 | + //文档更新,白板也要更新 | ||
| 17500 | + | ||
| 17501 | + }, { | ||
| 17502 | + key: 'docUpdateHandler', | ||
| 17503 | + value: function docUpdateHandler(_data) { | ||
| 17504 | + loger.log("白板收到文档更新的消息docUpdateHandler", _data); | ||
| 17505 | + for (var key in this.annoInfos) { | ||
| 17506 | + var item = this.annoInfos[key]; | ||
| 17507 | + if (item && item.parentId == _GlobalConfig2.default.activeDocId && item.curPageNo == _GlobalConfig2.default.activeDocCurPage) { | ||
| 17508 | + loger.log("显示和文档对应的白板数据docUpdateHandler", item); | ||
| 17509 | + } else { | ||
| 17510 | + loger.log("不显示白板数据docUpdateHandler", item); | ||
| 17511 | + } | ||
| 17512 | + } | ||
| 17513 | + | ||
| 17514 | + /* let docItem=_data; | ||
| 17515 | + for (let key in this.annoInfos){ | ||
| 17516 | + let item=this.annoInfos[key]; | ||
| 17517 | + if(item&&docItem.visible==true&&item.parentId==docItem.itemIdx&&item.curPageNo==docItem.curPageNo){ | ||
| 17518 | + loger.log("显示和文档对应的白板数据docUpdateHandler",item); | ||
| 17519 | + }else{ | ||
| 17520 | + loger.log("不显示白板数据docUpdateHandler",item); | ||
| 17521 | + } | ||
| 17522 | + }*/ | ||
| 17523 | + } | ||
| 17524 | + //删除白板数据 | ||
| 17525 | + | ||
| 17526 | + }, { | ||
| 17527 | + key: 'docDeleteHandler', | ||
| 17528 | + value: function docDeleteHandler(_parentId) { | ||
| 17529 | + loger.log("白板收到文档删除的消息docDeleteHandler", _parentId); | ||
| 17530 | + for (var key in this.annoInfos) { | ||
| 17531 | + var item = this.annoInfos[key]; | ||
| 17532 | + if (item && item.parentId == _parentId) { | ||
| 17533 | + loger.log("文档删除,白板数据也删除,itemIdx:" + key, "_parentId:", _parentId); | ||
| 17534 | + this.sendDeleteAnnotaion({ "itemIdx": key }); | ||
| 17535 | + } | ||
| 17536 | + } | ||
| 17537 | + } | ||
| 17459 | }]); | 17538 | }]); |
| 17460 | 17539 | ||
| 17461 | return WhiteBoardApe; | 17540 | return WhiteBoardApe; |
| @@ -51,7 +51,8 @@ export default class MessageEntrance extends Emiter { | @@ -51,7 +51,8 @@ export default class MessageEntrance extends Emiter { | ||
| 51 | GlobalConfig.setCurrentStatus(GlobalConfig.statusCode_0); | 51 | GlobalConfig.setCurrentStatus(GlobalConfig.statusCode_0); |
| 52 | 52 | ||
| 53 | this.on(MessageTypes.MCU_ERROR,this._mcuErrorHandler.bind(this)); | 53 | this.on(MessageTypes.MCU_ERROR,this._mcuErrorHandler.bind(this)); |
| 54 | - this.on(MessageTypes.DOC_SHOW, this.docShowHandler.bind(this)); | 54 | + |
| 55 | + //this.on(MessageTypes.DOC_SHOW, this.docShowHandler.bind(this)); | ||
| 55 | 56 | ||
| 56 | // Sass平台层 | 57 | // Sass平台层 |
| 57 | _sass = Sass; | 58 | _sass = Sass; |
| @@ -70,7 +71,7 @@ export default class MessageEntrance extends Emiter { | @@ -70,7 +71,7 @@ export default class MessageEntrance extends Emiter { | ||
| 70 | // 注册所有应用Ape | 71 | // 注册所有应用Ape |
| 71 | _confer_ape = new ConferApe(); | 72 | _confer_ape = new ConferApe(); |
| 72 | _confer_ape.on('*', (type, data) => this._emit(type, data)); | 73 | _confer_ape.on('*', (type, data) => this._emit(type, data)); |
| 73 | - _confer_ape.on(MessageTypes.DOC_SWITCH, this.docSwitchHandler.bind(this)); | 74 | + //_confer_ape.on(MessageTypes.DOC_SWITCH, this.docSwitchHandler.bind(this)); |
| 74 | 75 | ||
| 75 | _chat_ape = new ChatApe(); | 76 | _chat_ape = new ChatApe(); |
| 76 | _chat_ape.on('*', (type, data) => this._emit(type, data)); | 77 | _chat_ape.on('*', (type, data) => this._emit(type, data)); |
| @@ -87,7 +88,7 @@ export default class MessageEntrance extends Emiter { | @@ -87,7 +88,7 @@ export default class MessageEntrance extends Emiter { | ||
| 87 | 88 | ||
| 88 | _whiteboard_ape = new WhiteBoardApe(); | 89 | _whiteboard_ape = new WhiteBoardApe(); |
| 89 | _whiteboard_ape.on('*', (type, data) => this._emit(type, data)); | 90 | _whiteboard_ape.on('*', (type, data) => this._emit(type, data)); |
| 90 | - _whiteboard_ape.on(MessageTypes.WHITEBOARD_ANNOTATION_UPDATE, this.annoUpdateHandler.bind(this)); | 91 | + //_whiteboard_ape.on(MessageTypes.WHITEBOARD_ANNOTATION_UPDATE, this.annoUpdateHandler.bind(this)); |
| 91 | 92 | ||
| 92 | 93 | ||
| 93 | //公开外部调用的方法 | 94 | //公开外部调用的方法 |
| @@ -122,7 +123,6 @@ export default class MessageEntrance extends Emiter { | @@ -122,7 +123,6 @@ export default class MessageEntrance extends Emiter { | ||
| 122 | this.sendDocumentDelete= this. _sendDocumentDelete;//删除文档 | 123 | this.sendDocumentDelete= this. _sendDocumentDelete;//删除文档 |
| 123 | this.sendDocumentDeleteAll= this._documentDeleteAll;//删除所有文档 | 124 | this.sendDocumentDeleteAll= this._documentDeleteAll;//删除所有文档 |
| 124 | this.sendDocumentCommand= this._sendDocumentCommand;//操作文档(翻页、缩放、滚动...) | 125 | this.sendDocumentCommand= this._sendDocumentCommand;//操作文档(翻页、缩放、滚动...) |
| 125 | - | ||
| 126 | } | 126 | } |
| 127 | 127 | ||
| 128 | 128 | ||
| @@ -581,20 +581,22 @@ export default class MessageEntrance extends Emiter { | @@ -581,20 +581,22 @@ export default class MessageEntrance extends Emiter { | ||
| 581 | } | 581 | } |
| 582 | } | 582 | } |
| 583 | 583 | ||
| 584 | - // 文档变更 | ||
| 585 | - docUpdateHandler(docItem) { | ||
| 586 | - loger.log('Doc UpdateId ->' + docItem.id + '| activeDocId ->' + _confer_ape.activeDocId); | ||
| 587 | - if (docItem.id == _confer_ape.activeDocId) { | ||
| 588 | - this._emit(MessageTypes.DOC_SHOW, docItem); | 584 | + //// 文档变更,白板也需要做处理 |
| 585 | + docUpdateHandler(_data) { | ||
| 586 | + loger.log('Doc UpdateId ->',_data); | ||
| 587 | + if(_whiteboard_ape){ | ||
| 588 | + _whiteboard_ape.docUpdateHandler(_data); | ||
| 589 | } | 589 | } |
| 590 | } | 590 | } |
| 591 | 591 | ||
| 592 | - //文档删除 | ||
| 593 | - docDeleteHandler(docItem){ | ||
| 594 | - if (docItem.id == _confer_ape.activeDocId) { | ||
| 595 | - this._emit(MessageTypes.DOC_DELETE, docItem); | ||
| 596 | - } | 592 | + //文档删除,白板也需要做处理 |
| 593 | + docDeleteHandler(_data){ | ||
| 594 | + if(_whiteboard_ape){ | ||
| 595 | + _whiteboard_ape.docDeleteHandler(_data); | ||
| 596 | + } | ||
| 597 | } | 597 | } |
| 598 | + | ||
| 599 | + | ||
| 598 | //文档加入频道成功,同步到MCU服务器上的数据 | 600 | //文档加入频道成功,同步到MCU服务器上的数据 |
| 599 | docJoinChannelSuccess(){ | 601 | docJoinChannelSuccess(){ |
| 600 | loger.log("docJoinChannelSuccess isHost=",GlobalConfig.isHost); | 602 | loger.log("docJoinChannelSuccess isHost=",GlobalConfig.isHost); |
| @@ -628,7 +630,7 @@ export default class MessageEntrance extends Emiter { | @@ -628,7 +630,7 @@ export default class MessageEntrance extends Emiter { | ||
| 628 | // "uploadEndTime": "2017-02-03 11:54:27", | 630 | // "uploadEndTime": "2017-02-03 11:54:27", |
| 629 | // "uploadStartTime": "2017-02-03 11:54:27" | 631 | // "uploadStartTime": "2017-02-03 11:54:27" |
| 630 | //} | 632 | //} |
| 631 | - loger.log("上传文档到mcu",value); | 633 | + loger.log("判断是否需要把提前上传的文档上传到mcu",value); |
| 632 | let paramInfo={ | 634 | let paramInfo={ |
| 633 | "pageNum": value.pdfSize, | 635 | "pageNum": value.pdfSize, |
| 634 | "fileName": value.name, | 636 | "fileName": value.name, |
| @@ -10,7 +10,7 @@ export default function ApeConsts(id) { | @@ -10,7 +10,7 @@ export default function ApeConsts(id) { | ||
| 10 | ApeConsts.CLASS_STATUS_WAIT= 0;//课堂还未开始 | 10 | ApeConsts.CLASS_STATUS_WAIT= 0;//课堂还未开始 |
| 11 | ApeConsts.CLASS_STATUS_STARTED= 1;//直播中 | 11 | ApeConsts.CLASS_STATUS_STARTED= 1;//直播中 |
| 12 | ApeConsts.CLASS_STATUS_PAUSE= 2;//暂停 | 12 | ApeConsts.CLASS_STATUS_PAUSE= 2;//暂停 |
| 13 | -ApeConsts.CLASS_STATUS_CLOSE= 3;//结束 | 13 | +ApeConsts.CLASS_STATUS_CLOSE= 3;//结束//这个是点击结束会议,把所有人踢出课堂,然后把状态值还原为0************* |
| 14 | ApeConsts.CLASS_STATUS_UPTATE= 4;//更新课堂状态信息 | 14 | ApeConsts.CLASS_STATUS_UPTATE= 4;//更新课堂状态信息 |
| 15 | 15 | ||
| 16 | ApeConsts.CLASS_WAIT_START = "class.wait.start";//课堂还未开始 | 16 | ApeConsts.CLASS_WAIT_START = "class.wait.start";//课堂还未开始 |
| @@ -23,6 +23,9 @@ import EngineUtils from 'EngineUtils'; | @@ -23,6 +23,9 @@ import EngineUtils from 'EngineUtils'; | ||
| 23 | 23 | ||
| 24 | let loger = Loger.getLoger('DocApe'); | 24 | let loger = Loger.getLoger('DocApe'); |
| 25 | let itemIdx=0;//table插入新数据的计数id,目前用时间戳 | 25 | let itemIdx=0;//table插入新数据的计数id,目前用时间戳 |
| 26 | +const DOC_ACTION_NORMAL=0;//无操作 | ||
| 27 | +const DOC_ACTION_SWITCH=1;//切换文档 | ||
| 28 | +const DOC_ACTION_COMMAND=2;//文档操作:翻页、滚动、缩放 | ||
| 26 | 29 | ||
| 27 | class DocApe extends Ape { | 30 | class DocApe extends Ape { |
| 28 | constructor() { | 31 | constructor() { |
| @@ -139,7 +142,7 @@ class DocApe extends Ape { | @@ -139,7 +142,7 @@ class DocApe extends Ape { | ||
| 139 | } | 142 | } |
| 140 | //切换文档 | 143 | //切换文档 |
| 141 | documentSwitch(paramInfo){ | 144 | documentSwitch(paramInfo){ |
| 142 | - console.log(this.docList); | 145 | + //console.log(this.docList); |
| 143 | //获取已经存在的数据 | 146 | //获取已经存在的数据 |
| 144 | let docDataModel= this.docList[paramInfo.itemIdx]; | 147 | let docDataModel= this.docList[paramInfo.itemIdx]; |
| 145 | if(docDataModel==null){ | 148 | if(docDataModel==null){ |
| @@ -148,11 +151,12 @@ class DocApe extends Ape { | @@ -148,11 +151,12 @@ class DocApe extends Ape { | ||
| 148 | return; | 151 | return; |
| 149 | } | 152 | } |
| 150 | //更新数据的字段 | 153 | //更新数据的字段 |
| 154 | + docDataModel.action=DOC_ACTION_SWITCH; | ||
| 151 | docDataModel.visible=!docDataModel.visible; | 155 | docDataModel.visible=!docDataModel.visible; |
| 152 | this.updaterDoc(docDataModel,docDataModel.itemIdx); | 156 | this.updaterDoc(docDataModel,docDataModel.itemIdx); |
| 153 | } | 157 | } |
| 154 | 158 | ||
| 155 | - //操作文档(翻页、缩放、滚动...) | 159 | + //操作文档(翻页、缩放、滚动...)//0,无操作, 1翻页、缩放/滚动,2.显示/隐藏 |
| 156 | documentCommand(paramInfo){ | 160 | documentCommand(paramInfo){ |
| 157 | console.log(this.docList); | 161 | console.log(this.docList); |
| 158 | //获取已经存在的数据 | 162 | //获取已经存在的数据 |
| @@ -165,6 +169,7 @@ class DocApe extends Ape { | @@ -165,6 +169,7 @@ class DocApe extends Ape { | ||
| 165 | return; | 169 | return; |
| 166 | } | 170 | } |
| 167 | //更新数据的字段 | 171 | //更新数据的字段 |
| 172 | + docDataModel.action=DOC_ACTION_COMMAND; | ||
| 168 | docDataModel.curPageNo=docDataModel.curPageNo+1; | 173 | docDataModel.curPageNo=docDataModel.curPageNo+1; |
| 169 | this.updaterDoc(docDataModel,docDataModel.itemIdx); | 174 | this.updaterDoc(docDataModel,docDataModel.itemIdx); |
| 170 | } | 175 | } |
| @@ -228,7 +233,7 @@ class DocApe extends Ape { | @@ -228,7 +233,7 @@ class DocApe extends Ape { | ||
| 228 | optional uint32 cur_H=11; | 233 | optional uint32 cur_H=11; |
| 229 | optional uint32 scale=12; | 234 | optional uint32 scale=12; |
| 230 | optional bool visible=13; | 235 | optional bool visible=13; |
| 231 | - optional uint32 action=14;//0,无操作, 1翻页、2.显示/隐藏 | 236 | + optional uint32 action=14;//0,无操作, 1翻页 /缩放/滚动、2.显示/隐藏 |
| 232 | optional string doc_id=15;//文档在服务器数据库中的唯一id | 237 | optional string doc_id=15;//文档在服务器数据库中的唯一id |
| 233 | optional string file_name=16;//文档的名字 | 238 | optional string file_name=16;//文档的名字 |
| 234 | optional string dynamic_TS=17;//"dynamicTransferStatic": "0" | 239 | optional string dynamic_TS=17;//"dynamicTransferStatic": "0" |
| @@ -250,7 +255,7 @@ class DocApe extends Ape { | @@ -250,7 +255,7 @@ class DocApe extends Ape { | ||
| 250 | docModelPdu.curH=_param.curH||0; | 255 | docModelPdu.curH=_param.curH||0; |
| 251 | docModelPdu.scale=_param.scale||1; | 256 | docModelPdu.scale=_param.scale||1; |
| 252 | docModelPdu.visible= _param.visible||false; | 257 | docModelPdu.visible= _param.visible||false; |
| 253 | - docModelPdu.action=_param.action||0;//0,无操作, 1翻页、2.显示/隐藏 | 258 | + docModelPdu.action=_param.action||DOC_ACTION_NORMAL;//0,无操作, 1翻页、2.显示/隐藏, 3缩放/滚动 |
| 254 | docModelPdu.docId=_param.docId||"";//文档在服务器数据库中的唯一id,必须有 | 259 | docModelPdu.docId=_param.docId||"";//文档在服务器数据库中的唯一id,必须有 |
| 255 | docModelPdu.md5=_param.md5||"";//MD5 | 260 | docModelPdu.md5=_param.md5||"";//MD5 |
| 256 | docModelPdu.fileName=_param.fileName||"doc_"+_itemIdx;//文档的名字 | 261 | docModelPdu.fileName=_param.fileName||"doc_"+_itemIdx;//文档的名字 |
| @@ -311,6 +316,23 @@ class DocApe extends Ape { | @@ -311,6 +316,23 @@ class DocApe extends Ape { | ||
| 311 | if(itemDataInfo!=null){ | 316 | if(itemDataInfo!=null){ |
| 312 | this.docList[itemIdx] = itemDataInfo; | 317 | this.docList[itemIdx] = itemDataInfo; |
| 313 | loger.log('tableUpdateHandler',itemDataInfo); | 318 | loger.log('tableUpdateHandler',itemDataInfo); |
| 319 | +/* switch (itemDataInfo.action){ | ||
| 320 | + case DOC_ACTION_SWITCH: | ||
| 321 | + break; | ||
| 322 | + case DOC_ACTION_COMMAND: | ||
| 323 | + break; | ||
| 324 | + case DOC_ACTION_NORMAL: | ||
| 325 | + break; | ||
| 326 | + default : | ||
| 327 | + break; | ||
| 328 | + }*/ | ||
| 329 | + GlobalConfig.activeDocId=0;//默认id | ||
| 330 | + GlobalConfig.activeDocCurPage=1;//默认页数 | ||
| 331 | + | ||
| 332 | + if(itemDataInfo.visible=="true"||itemDataInfo.visible==true){ | ||
| 333 | + GlobalConfig.activeDocId=itemDataInfo.itemIdx;//当前激活的文档ID | ||
| 334 | + GlobalConfig.activeDocCurPage=itemDataInfo.curPageNo;//当前激活的文档的当前页 | ||
| 335 | + } | ||
| 314 | this._emit(MessageTypes.DOC_UPDATE,itemDataInfo); | 336 | this._emit(MessageTypes.DOC_UPDATE,itemDataInfo); |
| 315 | }else { | 337 | }else { |
| 316 | loger.log('tableUpdateHandler 数据无效--> itemIdx',itemIdx); | 338 | loger.log('tableUpdateHandler 数据无效--> itemIdx',itemIdx); |
| @@ -41,6 +41,8 @@ class WhiteBoardApe extends Ape { | @@ -41,6 +41,8 @@ class WhiteBoardApe extends Ape { | ||
| 41 | ); | 41 | ); |
| 42 | // properties | 42 | // properties |
| 43 | this.annoInfos = {}; | 43 | this.annoInfos = {}; |
| 44 | + // 白板延迟 | ||
| 45 | + // this._apeDelayed = true; | ||
| 44 | 46 | ||
| 45 | //Ape Models | 47 | //Ape Models |
| 46 | this.registerKey(this._session_id, this._session_name, this._session_tag, new ArrayBuffer); | 48 | this.registerKey(this._session_id, this._session_name, this._session_tag, new ArrayBuffer); |
| @@ -49,11 +51,7 @@ class WhiteBoardApe extends Ape { | @@ -49,11 +51,7 @@ class WhiteBoardApe extends Ape { | ||
| 49 | 51 | ||
| 50 | // ape listeners | 52 | // ape listeners |
| 51 | this.on(pdu.RCPDU_SESSION_JOIN_RESPONSE, this._joinSessionHandler.bind(this)); | 53 | this.on(pdu.RCPDU_SESSION_JOIN_RESPONSE, this._joinSessionHandler.bind(this)); |
| 52 | - | ||
| 53 | //this.on(pdu.RCPDU_CONFERENCE_SEND_DATA_REQUEST, this.whiteboardMsgComingHandler.bind(this));//这个是会议消息类型,flash里在使用这里不再使用,各个模块的消息由模块自己来处理 | 54 | //this.on(pdu.RCPDU_CONFERENCE_SEND_DATA_REQUEST, this.whiteboardMsgComingHandler.bind(this));//这个是会议消息类型,flash里在使用这里不再使用,各个模块的消息由模块自己来处理 |
| 54 | - | ||
| 55 | - // 白板延迟 | ||
| 56 | - //this._apeDelayed = true; | ||
| 57 | } | 55 | } |
| 58 | 56 | ||
| 59 | _joinSessionHandler(_data) { | 57 | _joinSessionHandler(_data) { |
| @@ -126,7 +124,6 @@ class WhiteBoardApe extends Ape { | @@ -126,7 +124,6 @@ class WhiteBoardApe extends Ape { | ||
| 126 | } | 124 | } |
| 127 | //删除所有标注 | 125 | //删除所有标注 |
| 128 | sendDeleteAllAnnotation(_param){ | 126 | sendDeleteAllAnnotation(_param){ |
| 129 | - let len=0; | ||
| 130 | for (let key in this.annoInfos){ | 127 | for (let key in this.annoInfos){ |
| 131 | //console.log("key:"+key); | 128 | //console.log("key:"+key); |
| 132 | console.log("删除白板数据,itemIdx:"+key); | 129 | console.log("删除白板数据,itemIdx:"+key); |
| @@ -178,7 +175,7 @@ class WhiteBoardApe extends Ape { | @@ -178,7 +175,7 @@ class WhiteBoardApe extends Ape { | ||
| 178 | 175 | ||
| 179 | itemIdx=_param.itemIdx; | 176 | itemIdx=_param.itemIdx; |
| 180 | let whiteBoardModelPdu = this.packPdu(_param,itemIdx); | 177 | let whiteBoardModelPdu = this.packPdu(_param,itemIdx); |
| 181 | - console.log(whiteBoardModelPdu); | 178 | + //console.log(whiteBoardModelPdu); |
| 182 | 179 | ||
| 183 | if(whiteBoardModelPdu==null){ | 180 | if(whiteBoardModelPdu==null){ |
| 184 | loger.log('sendInsetAnnotaion失败,参数错误'); | 181 | loger.log('sendInsetAnnotaion失败,参数错误'); |
| @@ -238,7 +235,7 @@ class WhiteBoardApe extends Ape { | @@ -238,7 +235,7 @@ class WhiteBoardApe extends Ape { | ||
| 238 | return null; | 235 | return null; |
| 239 | } | 236 | } |
| 240 | //判断type类型,根据type设置不同的参数 | 237 | //判断type类型,根据type设置不同的参数 |
| 241 | - let whiteBoardModelPdu =new pdu['RCWhiteBoardDataModel']; | 238 | + let whiteBoardModelPdu =new pdu['RCWhiteBoardDataModelPdu']; |
| 242 | switch (_param.type){ | 239 | switch (_param.type){ |
| 243 | case TYPE_BIGHT: | 240 | case TYPE_BIGHT: |
| 244 | break; | 241 | break; |
| @@ -263,22 +260,27 @@ class WhiteBoardApe extends Ape { | @@ -263,22 +260,27 @@ class WhiteBoardApe extends Ape { | ||
| 263 | whiteBoardModelPdu.type =_param.type; | 260 | whiteBoardModelPdu.type =_param.type; |
| 264 | whiteBoardModelPdu.itemIdx =_itemIdx; | 261 | whiteBoardModelPdu.itemIdx =_itemIdx; |
| 265 | whiteBoardModelPdu.initiator =GlobalConfig.nodeId; | 262 | whiteBoardModelPdu.initiator =GlobalConfig.nodeId; |
| 266 | - whiteBoardModelPdu.parentId=_param.parentId||0; | ||
| 267 | - whiteBoardModelPdu.curPage=_param.curPage||1; | 263 | + |
| 264 | + /* whiteBoardModelPdu.parentId=_param.parentId||0; | ||
| 265 | + whiteBoardModelPdu.curPage=_param.curPage||1;*/ | ||
| 266 | + | ||
| 267 | + whiteBoardModelPdu.parentId=GlobalConfig.activeDocId;//当前激活的文档id | ||
| 268 | + whiteBoardModelPdu.curPageNo=GlobalConfig.activeDocCurPage;//当前激活的文档页码 | ||
| 269 | + | ||
| 268 | whiteBoardModelPdu.pointGroup =EngineUtils.arrayToJsonString(_param.pointGroup); | 270 | whiteBoardModelPdu.pointGroup =EngineUtils.arrayToJsonString(_param.pointGroup); |
| 269 | whiteBoardModelPdu.color=_param.color||"#000000"; | 271 | whiteBoardModelPdu.color=_param.color||"#000000"; |
| 270 | 272 | ||
| 271 | return whiteBoardModelPdu; | 273 | return whiteBoardModelPdu; |
| 272 | } | 274 | } |
| 273 | unPackPdu(owner, itemIdx,itemData){ | 275 | unPackPdu(owner, itemIdx,itemData){ |
| 274 | - this.annoInfos[itemIdx] = itemData; | ||
| 275 | try{ | 276 | try{ |
| 276 | console.log("白板收到数据===unPackPdu "); | 277 | console.log("白板收到数据===unPackPdu "); |
| 277 | - let whiteBoardModelPdu= pdu['RCWhiteBoardDataModel'].decode(itemData); | 278 | + let whiteBoardModelPdu= pdu['RCWhiteBoardDataModelPdu'].decode(itemData); |
| 278 | //console.log(whiteBoardModelPdu); | 279 | //console.log(whiteBoardModelPdu); |
| 279 | //loger.log(whiteBoardModelPdu); | 280 | //loger.log(whiteBoardModelPdu); |
| 280 | let _pointGroup= EngineUtils.arrayFromJsonString(whiteBoardModelPdu.pointGroup); | 281 | let _pointGroup= EngineUtils.arrayFromJsonString(whiteBoardModelPdu.pointGroup); |
| 281 | whiteBoardModelPdu.pointGroup=_pointGroup; | 282 | whiteBoardModelPdu.pointGroup=_pointGroup; |
| 283 | + this.annoInfos[itemIdx] = whiteBoardModelPdu; | ||
| 282 | return whiteBoardModelPdu; | 284 | return whiteBoardModelPdu; |
| 283 | }catch (err){ | 285 | }catch (err){ |
| 284 | console.log("unPackPdu Pdu解析错误,itemIdx="+itemIdx+" err:"+err.message); | 286 | console.log("unPackPdu Pdu解析错误,itemIdx="+itemIdx+" err:"+err.message); |
| @@ -287,7 +289,7 @@ class WhiteBoardApe extends Ape { | @@ -287,7 +289,7 @@ class WhiteBoardApe extends Ape { | ||
| 287 | } | 289 | } |
| 288 | 290 | ||
| 289 | /////收到消息处理///////////////////////////////////////////////////////////////////////////////// | 291 | /////收到消息处理///////////////////////////////////////////////////////////////////////////////// |
| 290 | - whiteboardMsgComingHandler(_data) { | 292 | +/* whiteboardMsgComingHandler(_data) { |
| 291 | //flash RCConferenceSendDataRequestPdu | 293 | //flash RCConferenceSendDataRequestPdu |
| 292 | //loger.warn('whiteboardMsgComingHandler needs to be handled.'); | 294 | //loger.warn('whiteboardMsgComingHandler needs to be handled.'); |
| 293 | //const recordInfo = pdu['RCWhiteboardDataRequestPdu'].decode(pdu); | 295 | //const recordInfo = pdu['RCWhiteboardDataRequestPdu'].decode(pdu); |
| @@ -295,7 +297,7 @@ class WhiteBoardApe extends Ape { | @@ -295,7 +297,7 @@ class WhiteBoardApe extends Ape { | ||
| 295 | 297 | ||
| 296 | let receiveInfo = pdu['RCConferenceSendDataRequestPdu'].decode(_data); | 298 | let receiveInfo = pdu['RCConferenceSendDataRequestPdu'].decode(_data); |
| 297 | loger.log("whiteboardMsgComingHandler",receiveInfo); | 299 | loger.log("whiteboardMsgComingHandler",receiveInfo); |
| 298 | - } | 300 | + }*/ |
| 299 | 301 | ||
| 300 | tableInsertHandler(owner, itemIdx,itemData) { | 302 | tableInsertHandler(owner, itemIdx,itemData) { |
| 301 | /* try{ | 303 | /* try{ |
| @@ -308,12 +310,24 @@ class WhiteBoardApe extends Ape { | @@ -308,12 +310,24 @@ class WhiteBoardApe extends Ape { | ||
| 308 | }*/ | 310 | }*/ |
| 309 | let whiteBoardModel=this.unPackPdu(owner, itemIdx,itemData); | 311 | let whiteBoardModel=this.unPackPdu(owner, itemIdx,itemData); |
| 310 | loger.log('tableInsertHandler',whiteBoardModel); | 312 | loger.log('tableInsertHandler',whiteBoardModel); |
| 311 | - this._emit(MessageTypes.WHITEBOARD_ANNOTAION_INSERT,whiteBoardModel); | 313 | + if(whiteBoardModel){ |
| 314 | + if(GlobalConfig.activeDocId==whiteBoardModel.parentId&&GlobalConfig.activeDocCurPage==whiteBoardModel.curPageNo){ | ||
| 315 | + loger.log('WHITEBOARD_ANNOTAION_INSERT 显示到界面上',whiteBoardModel); | ||
| 316 | + this._emit(MessageTypes.WHITEBOARD_ANNOTAION_INSERT,whiteBoardModel); | ||
| 317 | + } | ||
| 318 | + } | ||
| 312 | } | 319 | } |
| 313 | 320 | ||
| 314 | tableUpdateHandler(owner, itemIdx, itemData) { | 321 | tableUpdateHandler(owner, itemIdx, itemData) { |
| 315 | let whiteBoardModel=this.unPackPdu(owner, itemIdx,itemData); | 322 | let whiteBoardModel=this.unPackPdu(owner, itemIdx,itemData); |
| 316 | loger.log('tableUpdateHandler',whiteBoardModel); | 323 | loger.log('tableUpdateHandler',whiteBoardModel); |
| 324 | + if(whiteBoardModel){ | ||
| 325 | + if(GlobalConfig.activeDocId==whiteBoardModel.parentId&&GlobalConfig.activeDocCurPage==whiteBoardModel.curPageNo){ | ||
| 326 | + loger.log('WHITEBOARD_ANNOTATION_UPDATE 显示到界面上',whiteBoardModel); | ||
| 327 | + this._emit(MessageTypes.WHITEBOARD_ANNOTATION_UPDATE,whiteBoardModel); | ||
| 328 | + } | ||
| 329 | + } | ||
| 330 | + | ||
| 317 | /* try{ | 331 | /* try{ |
| 318 | console.log("白板收到数据===tableUpdateHandler "); | 332 | console.log("白板收到数据===tableUpdateHandler "); |
| 319 | let whiteBoardModelPdu= pdu['RCWhiteBoardDataModel'].decode(itemData); | 333 | let whiteBoardModelPdu= pdu['RCWhiteBoardDataModel'].decode(itemData); |
| @@ -342,7 +356,6 @@ class WhiteBoardApe extends Ape { | @@ -342,7 +356,6 @@ class WhiteBoardApe extends Ape { | ||
| 342 | loger.log('白板动作忽略,类型:', ApeConsts(recordInfo.type)); | 356 | loger.log('白板动作忽略,类型:', ApeConsts(recordInfo.type)); |
| 343 | }*/ | 357 | }*/ |
| 344 | 358 | ||
| 345 | - this._emit(MessageTypes.WHITEBOARD_ANNOTATION_UPDATE,whiteBoardModel); | ||
| 346 | } | 359 | } |
| 347 | tableDeleteHandler(object_id, tableDeleteData){ | 360 | tableDeleteHandler(object_id, tableDeleteData){ |
| 348 | // console.log("白板收到数据,tableDeleteHandler object_id="+object_id);//((18<< 16) + 1)=1179649 | 361 | // console.log("白板收到数据,tableDeleteHandler object_id="+object_id);//((18<< 16) + 1)=1179649 |
| @@ -360,6 +373,39 @@ class WhiteBoardApe extends Ape { | @@ -360,6 +373,39 @@ class WhiteBoardApe extends Ape { | ||
| 360 | } | 373 | } |
| 361 | } | 374 | } |
| 362 | } | 375 | } |
| 376 | + //文档更新,白板也要更新 | ||
| 377 | + docUpdateHandler(_data){ | ||
| 378 | + loger.log("白板收到文档更新的消息docUpdateHandler",_data); | ||
| 379 | + for (let key in this.annoInfos){ | ||
| 380 | + let item=this.annoInfos[key]; | ||
| 381 | + if(item&&item.parentId==GlobalConfig.activeDocId&&item.curPageNo==GlobalConfig.activeDocCurPage){ | ||
| 382 | + loger.log("显示和文档对应的白板数据docUpdateHandler",item); | ||
| 383 | + }else{ | ||
| 384 | + loger.log("不显示白板数据docUpdateHandler",item); | ||
| 385 | + } | ||
| 386 | + } | ||
| 387 | + | ||
| 388 | + /* let docItem=_data; | ||
| 389 | + for (let key in this.annoInfos){ | ||
| 390 | + let item=this.annoInfos[key]; | ||
| 391 | + if(item&&docItem.visible==true&&item.parentId==docItem.itemIdx&&item.curPageNo==docItem.curPageNo){ | ||
| 392 | + loger.log("显示和文档对应的白板数据docUpdateHandler",item); | ||
| 393 | + }else{ | ||
| 394 | + loger.log("不显示白板数据docUpdateHandler",item); | ||
| 395 | + } | ||
| 396 | + }*/ | ||
| 397 | + } | ||
| 398 | + //删除白板数据 | ||
| 399 | + docDeleteHandler(_parentId){ | ||
| 400 | + loger.log("白板收到文档删除的消息docDeleteHandler",_parentId); | ||
| 401 | + for (let key in this.annoInfos){ | ||
| 402 | + let item=this.annoInfos[key]; | ||
| 403 | + if(item&&item.parentId==_parentId){ | ||
| 404 | + loger.log("文档删除,白板数据也删除,itemIdx:"+key,"_parentId:",_parentId); | ||
| 405 | + this.sendDeleteAnnotaion({"itemIdx":key}); | ||
| 406 | + } | ||
| 407 | + } | ||
| 408 | + } | ||
| 363 | } | 409 | } |
| 364 | 410 | ||
| 365 | export default WhiteBoardApe; | 411 | export default WhiteBoardApe; |
| @@ -142,7 +142,7 @@ class MCU extends Emiter { | @@ -142,7 +142,7 @@ class MCU extends Emiter { | ||
| 142 | // 会议发送消息 -- 消息同意序列号 | 142 | // 会议发送消息 -- 消息同意序列号 |
| 143 | send(msg) { | 143 | send(msg) { |
| 144 | if (this.connected) { | 144 | if (this.connected) { |
| 145 | - loger.log('MCU-发送会议数据....', msg); | 145 | + loger.log('MCU-发送会议数据....'); |
| 146 | this._everSocket.send(msg.toArrayBuffer()); | 146 | this._everSocket.send(msg.toArrayBuffer()); |
| 147 | } else { | 147 | } else { |
| 148 | loger.log('MCU-发送会议数据失败,MCU底层通道不可用'); | 148 | loger.log('MCU-发送会议数据失败,MCU底层通道不可用'); |
| @@ -848,12 +848,12 @@ message RCTabUpdateDataRequestPdu { | @@ -848,12 +848,12 @@ message RCTabUpdateDataRequestPdu { | ||
| 848 | optional uint32 uncomprLen =3; | 848 | optional uint32 uncomprLen =3; |
| 849 | } | 849 | } |
| 850 | 850 | ||
| 851 | -message RCWhiteBoardDataModel { | 851 | +message RCWhiteBoardDataModelPdu { |
| 852 | required uint32 type= 1;//白板类型 | 852 | required uint32 type= 1;//白板类型 |
| 853 | required uint32 itemIdx= 2;//itemIdx 每一次绘制的唯一标识 | 853 | required uint32 itemIdx= 2;//itemIdx 每一次绘制的唯一标识 |
| 854 | required uint32 initiator=3; //绘制来自谁 | 854 | required uint32 initiator=3; //绘制来自谁 |
| 855 | required uint32 parentId=4; //父级的id | 855 | required uint32 parentId=4; //父级的id |
| 856 | - required uint32 curPage= 5;//页码 | 856 | + required uint32 cur_page_no= 5;//页码 |
| 857 | optional string pointGroup=6; //坐标点集数组的JSON字符串 | 857 | optional string pointGroup=6; //坐标点集数组的JSON字符串 |
| 858 | optional string color=7 [default = "#000000"]; //颜色 | 858 | optional string color=7 [default = "#000000"]; //颜色 |
| 859 | optional uint32 thickness= 8 ;//线条粗细 | 859 | optional uint32 thickness= 8 ;//线条粗细 |
-
请 注册 或 登录 后发表评论