Commit b7c3fd16e00e45b1d568b36ceaf08378b862bec5

Authored by DMchen
1 parent 4d9375c6

1.SDK应用部分,增加了支持基站SN模式接口。

WSCmdApp Protocol Interface Description_V5.1.3.docx
No preview for this file type
通讯协议-SDK应用部分.md
... ... @@ -8,7 +8,7 @@ WSCmdAppå议接å£è¯´æ˜Ž
8 8  
9 9  
10 10 <div style="text-align: center;font-size: 30px;">
11   -Ver5.1.3
  11 +Ver5.1.5
12 12 </div>
13 13 <br>
14 14 <br>
... ... @@ -46,6 +46,7 @@ Ver5.1.3
46 46 |5.1.1| 2023å¹´10月09æ—¥|陈定æ•|1. åˆå§‹ç‰ˆ|
47 47 |5.1.2| 2023å¹´11月07æ—¥|陈定æ•|1. 增加é…对模å¼è®¾ç½®æŽ¥å£|
48 48 |5.1.3| 2023å¹´11月15æ—¥|陈定æ•|1. 更新语音题接å£å‚æ•°|
  49 +|5.1.5| 2023å¹´12月28æ—¥|陈定æ•|1. 增加Json指令支æŒåŸºç«™id和基站SNä¸¤ç§æ¨¡å¼|
49 50  
50 51 <br>
51 52  
... ... @@ -77,7 +78,8 @@ heartBeatOnOf:å¿ƒè·³åˆ¤å®šå¼€å…³ï¼Œæ­¤å‚æ•°é…åˆå议文档中的“心跳â€
77 78 当傿•°é…置为1: WSCmdApp会é…åˆçš„回å¤å¯¹åº”傿•°ï¼Œè¿›å…¥å¿ƒè·³æ£€æµ‹ç¨‹åºã€‚
78 79 heartbeat: 心跳间隔时长 范围:10-60 å•ä½ç§’
79 80 当heartBeatOnOffé…置为1,并且WebSocketè¿è¡Œæ¨¡å¼ä¸ºå®¢æˆ·ç«¯æ—¶ï¼Œè¿›å…¥å¿ƒè·³æ£€æµ‹ç¨‹åºåŽï¼Œåœ¨å•使—¶é—´æ²¡æœ‰æ”¶åˆ°å¿ƒè·³æŒ‡ä»¤ï¼ŒWebSocket客户端会é‡å¯ï¼Œé‡æ–°è¿žæŽ¥æœåŠ¡å™¨ã€‚
80   -
  81 +language:切æ¢WSCmdApp使用的语言,0:简体中文 1:英文
  82 +jsonBase:切æ¢Json指令中使用基站ID还是基站SN, 0:基站ID生效,基站SN无效,1:基站SN生效,基站ID无效。
81 83  
82 84 # 设计目的
83 85  
... ... @@ -91,12 +93,15 @@ heartbeat: 心跳间隔时长 范围:10-60 å•ä½ç§’
91 93  
92 94 应用程åºå’ŒWSCmdApp之间采用Jsonæ•°æ®é€šä¿¡ï¼Œé€šä¿¡çš„基本格å¼å¦‚下:
93 95  
  96 +关于baseIdå’ŒbaseSnList的使用说明:二者使用切æ¢å¯ä»¥åœ¨config.ini 文件的关键字jsonBase中切æ¢ï¼Œ0:基站ID生效[baseId的值有效],基站SN无效,1:基站SN生效[baseSnList的值有效],基站ID无效,baseSnList是字符串数字类型,å¯ä»¥ä¼ é€’一个基站SN也å¯ä»¥ä¼ é€’多个基站SN。
  97 +
94 98 下å‘ï¼šåº”ç”¨ç¨‹åº -> WSCmdApp
95 99  
96 100 ```json
97 101 {
98 102 fun: "" // 功能定义
99 103 baseId: 1 // 基站id,数字类型
  104 + baseSnList:["2023031402"] //基站SN列表,字符串数组
100 105 params: {} //傿•°å¯¹è±¡/数组
101 106 packetTag: "" //æ•°æ®åŒ…标签字符串
102 107 }
... ... @@ -104,7 +109,8 @@ heartbeat: 心跳间隔时长 范围:10-60 å•ä½ç§’
104 109  
105 110 fun 为功能对应的åç§° 如:"readBaseStationID" 读å–基站的id,"startChoices" //开始选择题, "stopChoices" //åœæ­¢é€‰æ‹©é¢˜.
106 111  
107   -baseId:基站ID,用æ¥åŒºåˆ†åŸºç«™æ ‡å¿—,0代表所有基站,1代表1å·åŸºç«™ã€‚
  112 +baseId:基站ID,用æ¥åŒºåˆ†åŸºç«™æ ‡å¿—,0代表所有基站,1代表1å·åŸºç«™ã€‚[æ­¤å‚æ•°è¯·å’Œconfig.ini 文件的关键字jsonBase的值é…åˆä½¿ç”¨]
  113 +baseSnList:基站SN列表,用æ¥åŒºåˆ†åŸºç«™æ ‡å¿—。[æ­¤å‚æ•°è¯·å’Œconfig.ini 文件的关键字jsonBase的值é…åˆä½¿ç”¨]
108 114 paramsï¼šå‚æ•°ï¼ŒåŠŸèƒ½ç›¸å¯¹äºŽçš„å‚æ•°ï¼Œå¯ä»¥æ˜¯æ•°ç»„或字段。
109 115 packerTag:这个是扩展字段,内容需è¦åº”用程åºç®¡ç†ï¼ŒåŠŸèƒ½ç›¸åº”çš„å馈指令packerTagä½ç½®ä¼šå馈相åŒå­—符串,方便应用程åºè·Ÿè¸ªè®°å½•。
110 116  
... ... @@ -114,6 +120,7 @@ packerTag:这个是扩展字段,内容需è¦åº”用程åºç®¡ç†ï¼ŒåŠŸèƒ½ç›¸åº”ç
114 120 {
115 121 fun: "" //功能定义
116 122 baseId: 1 //基站id,数字类型
  123 + baseSn:"2023031402" //基站SN
117 124 infos: {} //ä¿¡æ¯å¯¹è±¡/数组
118 125 packetTag: "" // æ•°æ®åŒ…标签字符串。
119 126 }
... ... @@ -121,6 +128,7 @@ packerTag:这个是扩展字段,内容需è¦åº”用程åºç®¡ç†ï¼ŒåŠŸèƒ½ç›¸åº”ç
121 128  
122 129 fun: 功能对应的åç§°,如:"BaseStationID"读å–基站id, " answerChoices" //选择题键盘å馈值.
123 130 baseId: 基站ID,用æ¥åŒºåˆ†åŸºç«™æ ‡å¿—ï¼›0特殊代表所有基站,1代表1å·åŸºç«™ã€‚
  131 +baseSn: 基站SN,用æ¥åŒºåˆ†åŸºç«™æ ‡å¿—。
124 132 infos: WSCmdAppå馈给APP层的数æ®ã€‚具体详è§å…·ä½“功能定义。
125 133 packetTag:这个是扩展字段,内容需è¦åº”用程åºç®¡ç†ï¼Œå馈接收到的字符串。
126 134  
... ... @@ -156,12 +164,15 @@ WSCmdApp端被设置为Websocket å®¢æˆ·ç«¯æ¨¡å¼æ—¶ï¼Œ WSCmdApp将自动根æ®å¿
156 164  
157 165 应用程åºå’ŒWSCmdApp之间采用Jsonæ•°æ®é€šä¿¡ï¼Œé€šä¿¡çš„基本格å¼å¦‚下:
158 166  
  167 +
  168 +
159 169 下å‘ï¼šåº”ç”¨ç¨‹åº ->WSCmdApp
160 170  
161 171 ```json
162 172 {
163 173 fun: "" // 功能定义
164 174 baseId: 1 // 基站id,数字类型
  175 + baseSnList:["2023031402"] //基站SN列表,字符串数组
165 176 params: {} //傿•°å¯¹è±¡/数组
166 177 packetTag: "" //æ•°æ®åŒ…标签字符串
167 178 }
... ... @@ -169,7 +180,9 @@ WSCmdApp端被设置为Websocket å®¢æˆ·ç«¯æ¨¡å¼æ—¶ï¼Œ WSCmdApp将自动根æ®å¿
169 180  
170 181 fun:为功能定义,下å‘命令,è¦ä¸‹å‘的命令函数
171 182  
172   -baseId:基站IDï¼Œæ•°å­—ç±»åž‹ï¼Œå¦‚æžœä¸æŒ‡å®šå…·ä½“基站ID,å¯ä»¥ä¼ 0或者ä¸ä¼ è¯¥Keyå€¼ã€‚å¦‚æžœè¦æŒ‡å®šå¤šä¸ªåŸºç«™ID,则需è¦å¤šæ¬¡ä¸‹å‘该命令,切æ¢ä¸åŒçš„基站ID进行å‘é€ã€‚
  183 +baseId:基站IDï¼Œæ•°å­—ç±»åž‹ï¼Œå¦‚æžœä¸æŒ‡å®šå…·ä½“基站ID,å¯ä»¥ä¼ 0或者ä¸ä¼ è¯¥Keyå€¼ã€‚å¦‚æžœè¦æŒ‡å®šå¤šä¸ªåŸºç«™ID,则需è¦å¤šæ¬¡ä¸‹å‘该命令,切æ¢ä¸åŒçš„基站ID进行å‘é€ã€‚[æ­¤å‚æ•°è¯·å’Œconfig.ini 文件的关键字jsonBase的值é…åˆä½¿ç”¨]
  184 +
  185 +baseSnList:基站SN列表,字符串数组。å¯ä»¥ä¼ é€’一个基站SN也å¯ä»¥ä¼ é€’多个基站SN。[æ­¤å‚æ•°è¯·å’Œconfig.ini 文件的关键字jsonBase的值é…åˆä½¿ç”¨]
173 186  
174 187 paramsï¼šå‚æ•°ï¼Œå¯ä»¥ä¸ºå¯¹è±¡æˆ–者数组,用于伴éšå‘½ä»¤ä¸‹å‘的数æ®é™„属包,详è§å…·ä½“功能定义。
175 188  
... ... @@ -182,6 +195,7 @@ packerTag:
182 195 {
183 196 fun: "" //功能定义
184 197 baseId: 1 //基站id,数字类型
  198 + baseSn:"2023031402" //基站SN
185 199 infos: {} //ä¿¡æ¯å¯¹è±¡/数组
186 200 packetTag: "" // æ•°æ®åŒ…æ ‡ç­¾å­—ç¬¦ä¸²ï¼Œç”¨äºŽåŒºåˆ«å½“å‰æŒ‡ä»¤ä¸Žå…¶ä»–指令。WSCmdAppå‘é€ç»™åº”用程åºçš„用自增数字标记。WSCmdApp回å¤åº”用程åºçš„,直接回填WSCmdApp收到的标签。
187 201 }
... ... @@ -189,6 +203,7 @@ packerTag:
189 203  
190 204 fun:åŒä¸‹å‘æè¿°.
191 205 baseId:åŒä¸‹å‘æè¿°.
  206 +baseSn:åŒä¸‹å‘æè¿°.
192 207 infos:WSCmdAppå馈给应用程åºå±‚的数æ®ã€‚具体详è§å…·ä½“功能定义。
193 208 packetTag:æ•°æ®æ ‡ç­¾å­—符串,å馈功能函数的状æ€ä¸ºåº”用程åºé™„带的数æ®åŒ…,如果WSCmdApp主动å‘逿•°æ®ï¼Œæ˜¯ä¸€ç»„自增数æ®ã€‚
194 209  
... ... @@ -241,15 +256,12 @@ packetTag:&quot;1&quot;//æ•°æ®åŒ…标签
241 256 读å–在线基站状æ€
242 257 å‘é€ï¼š
243 258 fun: "readConnectBase" //连接基站
244   -baseId:0 //基站ID
245   -params:{} //为空
246 259 packetTag:"1" //
247 260  
248 261 指令样例:
249 262 ```json
250 263 {
251 264 "fun": "readConnectBase",
252   - "baseId": 0,
253 265 "packetTag": "1"
254 266 }
255 267 ```
... ... @@ -258,6 +270,7 @@ packetTag:&quot;1&quot; //
258 270  
259 271 fun: "connectBase" //连接基站
260 272 baseId:1 //基站ID
  273 +baseSn:"2023031402" //基站SN
261 274 infos: {"state":"OK"} //OK连接æˆåŠŸ
262 275 packetTag:"1" //收到的packetTag
263 276  
... ... @@ -266,6 +279,7 @@ packetTag:&quot;1&quot; //收到的packetTag
266 279 {
267 280 "fun": "connectBase",
268 281 "baseId": 1,
  282 + "baseSn":"2023031402",
269 283 "infos": {
270 284 "state": "OK"
271 285 },
... ... @@ -279,6 +293,7 @@ packetTag:&quot;1&quot; //收到的packetTag
279 293  
280 294 fun: "connectBase" //连接基站
281 295 baseId:1 //基站ID
  296 +baseSn:"2023031402" //基站SN
282 297 infos: {"state":"OK"} //OK连接æˆåŠŸ
283 298 packetTag:"1" //收到的packetTag
284 299  
... ... @@ -287,6 +302,7 @@ packetTag:&quot;1&quot; //收到的packetTag
287 302 {
288 303 "fun": "connectBase",
289 304 "baseId": 1,
  305 + "baseSn":"2023031402",
290 306 "infos": {
291 307 "state": "OK"
292 308 },
... ... @@ -310,6 +326,7 @@ packetTag:&quot;1&quot;
310 326 {
311 327 "fun": "disconnectBase",
312 328 "baseId": 1,
  329 + "baseSn":"2023031402",
313 330 "packetTag": "1"
314 331 }
315 332 ```
... ... @@ -329,6 +346,7 @@ params:{} //无该值
329 346 {
330 347 "fun": "resetBase",
331 348 "baseId": 1,
  349 + "baseSnList":["2023031402"],
332 350 "packetTag": "1"
333 351 }
334 352 ```
... ... @@ -401,6 +419,7 @@ infos:{}//数组对象
401 419 {    
402 420 "fun": "startBindKeypad",
403 421 "baseId": 1,
  422 + "baseSnList":["2023031402"],
404 423 "infos": [{            
405 424 "keySn": "1837454011",
406 425 "state": "OK"        
... ... @@ -425,24 +444,11 @@ params:{} //为空
425 444 {    
426 445 "fun": "startBindKeypad",
427 446 "baseId": 1,
  447 + "baseSnList":["2023031402"],
428 448 "packetTag": "1"
429 449 }
430 450 ```
431 451  
432   -åœæ­¢ä½œç­”
433   -
434   -指令样例:
435   -
436   -```json
437   -{       
438   - "keySnList": [{            
439   - "keySn": "1837454011"        
440   - }, {            
441   - "keySn": "1837454012"        
442   - }]
443   -}
444   -```
445   -
446 452 键盘的接收状æ€è¿”回
447 453  
448 454 fun: "stopXXKeypad" //åœæ­¢XX作答键盘(XXæ˜¯åœæ­¢ä½œç­”对应具体åç§°)
... ... @@ -455,6 +461,7 @@ infos:{}//数组对象
455 461 {
456 462 "fun": "stopBindKeypad",
457 463 "baseId": 1,
  464 + "baseSn":"2023031402",
458 465 "infos": [{
459 466 "keySn": "1837454011",
460 467 "state": "OK"
... ... @@ -476,6 +483,7 @@ params:{} //为空
476 483 {
477 484 "fun": "stopBindKeypad",
478 485 "baseId": 1,
  486 + "baseSnList":["2023031402"],
479 487 "packetTag": "1"
480 488 }
481 489 ```
... ... @@ -508,6 +516,7 @@ params:{}
508 516 {
509 517 "fun": "startBind",
510 518 "baseId": 0,
  519 + "baseSnList":["2023031402"],
511 520 "params": {
512 521 "bindMode": "1",
513 522 "lessMode": "0",
... ... @@ -541,6 +550,7 @@ infos:{}
541 550 {
542 551 "fun": "answerBind",
543 552 "baseId": 1,
  553 + "baseSn":"2023031402",
544 554 "infos": {
545 555 "time": "2.42",
546 556 "keySn": "1479824643",
... ... @@ -563,6 +573,7 @@ params:{} //默认空
563 573 {
564 574 "fun": "stopBind",
565 575 "baseId": 0,
  576 + "baseSnList":["2023031402"],
566 577 "packetTag": "1"
567 578 }
568 579 ```
... ... @@ -620,6 +631,7 @@ params:{}
620 631 {
621 632 "fun": "startChoices",
622 633 "baseId": 0,
  634 + "baseSnList":["2023031402"],
623 635 "params": {
624 636 "optionsMode": "1",
625 637 "secrecyMode": "0",
... ... @@ -644,6 +656,7 @@ infos:{&quot;state&quot;:&quot;OK&quot;}//返回状æ€,æˆåŠŸä¸ºOK
644 656 {
645 657 "fun": "startChoices",
646 658 "baseId": 1,
  659 + "baseSn":"2023031402",
647 660 "infos": {
648 661 "state": "OK"
649 662 },
... ... @@ -662,9 +675,10 @@ infos: {}
662 675  
663 676 |Json字段|字段å«ä¹‰|赋值åŠå«ä¹‰|
664 677 |---|---|---|
665   -| time|答题时间|å•ä½ç§’|
  678 +|time|答题时间|å•ä½ç§’|
666 679 |keySn|键盘Sn||
667 680 |keyValue|键值|键盘æäº¤çš„值|
  681 +|keyBattery|电池状æ€|S6键盘电压值(V)<br>T2键盘电é‡å€¼ï¼ˆ%)|
668 682  
669 683  
670 684 指令样例:
... ... @@ -672,6 +686,7 @@ infos: {}
672 686 {
673 687 "fun": "answerChoices",
674 688 "baseId": 1,
  689 + "baseSn":"2023031402",
675 690 "infos": {
676 691 "time": "2.42",
677 692 "keySn": "1479824643",
... ... @@ -693,6 +708,7 @@ params:{} //默认空
693 708 {
694 709 "fun": "stopChoices",
695 710 "baseId": 0,
  711 + "baseSnList":["2023031402"],
696 712 "packetTag": "1"
697 713 }
698 714 ```
... ... @@ -709,6 +725,7 @@ infos:{&quot;state&quot;:&quot;OK&quot;}//返回状æ€,æˆåŠŸä¸ºOK
709 725 {
710 726 "fun": "stopChoices",
711 727 "baseId": 1,
  728 + "baseSn":"2023031402",
712 729 "infos": {
713 730 "state": "OK"
714 731 },
... ... @@ -747,6 +764,7 @@ params:{}
747 764 {
748 765 "fun": "startTrueFalse",
749 766 "baseId": 0,
  767 + "baseSnList":["2023031402"],
750 768 "params": {
751 769 "optionsMode": "1",
752 770 "secrecyMode": "0",
... ... @@ -768,6 +786,7 @@ infos:{&quot;state&quot;:&quot;OK&quot;}//返回状æ€,æˆåŠŸä¸ºOK
768 786 {
769 787 "fun": "startTrueFalse",
770 788 "baseId": 1,
  789 + "baseSn":"2023031402",
771 790 "infos": {
772 791 "state": "OK"
773 792 },
... ... @@ -796,6 +815,7 @@ infos: {}
796 815 {
797 816 "fun": "answerTrueFalse",
798 817 "baseId": 1,
  818 + "baseSn":"2023031402",
799 819 "infos": {
800 820 "time": "2.42",
801 821 "keySn": "1479824643",
... ... @@ -818,6 +838,7 @@ params:{} //默认空
818 838 {
819 839 "fun": "stopTrueFalse",
820 840 "baseId": 0,
  841 + "baseSnList":["2023031402"],
821 842 "packetTag": "1"
822 843 }
823 844 ```
... ... @@ -834,6 +855,7 @@ infos:{&quot;state&quot;:&quot;OK&quot;}//返回状æ€,æˆåŠŸä¸ºOK
834 855 {
835 856 "fun": "stopTrueFalse",
836 857 "baseId": 1,
  858 + "baseSn":"2023031402",
837 859 "infos": {
838 860 "state": "OK"
839 861 },
... ... @@ -874,6 +896,7 @@ params:{}
874 896 {
875 897 "fun": "startMulQuestions",
876 898 "baseId": 0,
  899 + "baseSnList":["2023031402"],
877 900 "params": {
878 901 "questionType": "0",
879 902 "secrecyMode": "0",
... ... @@ -898,6 +921,7 @@ infos:{&quot;state&quot;:&quot;OK&quot;}//返回状æ€,æˆåŠŸä¸ºOK
898 921 {
899 922 "fun": "startMulQuestions",
900 923 "baseId": 1,
  924 + "baseSn":"2023031402",
901 925 "infos": {
902 926 "state": "OK"
903 927 },
... ... @@ -925,6 +949,7 @@ infos: {}
925 949 {
926 950 "fun": "answerMulQuestions",
927 951 "baseId": 1,
  952 + "baseSn":"2023031402",
928 953 "infos": {
929 954 "time": "2.42",
930 955 "keySn": "1479824643",
... ... @@ -947,6 +972,7 @@ params:{} //默认空
947 972 {
948 973 "fun": "stopMulQuestions",
949 974 "baseId": 0,
  975 + "baseSnList":["2023031402"],
950 976 "packetTag": "1"
951 977 }
952 978 ```
... ... @@ -963,6 +989,7 @@ infos:{&quot;state&quot;:&quot;OK&quot;} //返回状æ€,æˆåŠŸä¸ºOK
963 989 {
964 990 "fun": "stopMulQuestions",
965 991 "baseId": 1,
  992 + "baseSn":"2023031402",
966 993 "infos": {
967 994 "state": "OK"
968 995 },
... ... @@ -1003,6 +1030,7 @@ params:{}
1003 1030 {
1004 1031 "fun": "startVoice",
1005 1032 "baseId": 0,
  1033 + "baseSnList":["2023031402"],
1006 1034 "params": {
1007 1035 "recordingMode": "0",
1008 1036 "submitTimes": "0",
... ... @@ -1027,6 +1055,7 @@ infos:{&quot;state&quot;:&quot;OK&quot;}//返回状æ€,æˆåŠŸä¸ºOK
1027 1055 {
1028 1056 "fun": "startVoice",
1029 1057 "baseId": 1,
  1058 + "baseSn":"2023031402",
1030 1059 "infos": {
1031 1060 "state": "OK"
1032 1061 },
... ... @@ -1057,6 +1086,7 @@ infos: {}
1057 1086 {
1058 1087 "fun": "answerVoiceFile",
1059 1088 "baseId": 1,
  1089 + "baseSn":"2023031402",
1060 1090 "infos": {
1061 1091 "keySn": "1479749926",
1062 1092 "filePath": "D:\voice\3_1479749926_196_2023-08-21 16-09-02 530.Mp3"
... ... @@ -1092,6 +1122,7 @@ infos: {}
1092 1122 {
1093 1123 "fun": "answerVoiceStream",
1094 1124 "baseId": 1,
  1125 + "baseSn":"2023031402",
1095 1126 "infos": {
1096 1127 "keySn": "1479824643",
1097 1128 "voiceId": "1",
... ... @@ -1124,6 +1155,7 @@ params:{} //默认空,
1124 1155 {
1125 1156 "fun": "stopVoice",
1126 1157 "baseId": 0,
  1158 + "baseSnList":["2023031402"],
1127 1159 "packetTag": "1"
1128 1160 }
1129 1161 ```
... ... @@ -1140,6 +1172,7 @@ infos:{&quot;state&quot;:&quot;OK&quot;}//返回状æ€,æˆåŠŸä¸ºOK
1140 1172 {
1141 1173 "fun": "stopVoice",
1142 1174 "baseId": 1,
  1175 + "baseSn":"2023031402",
1143 1176 "infos": {
1144 1177 "state": "OK"
1145 1178 },
... ... @@ -1175,6 +1208,7 @@ infos:{} //
1175 1208 {
1176 1209 "fun": "voicePacketLossInfo",
1177 1210 "baseId": 1,
  1211 + "baseSn":"2023031402",
1178 1212 "infos": {
1179 1213 "keySn": "1837454011",
1180 1214 "voiceId": "1",
... ... @@ -1214,6 +1248,7 @@ params:{}
1214 1248 {
1215 1249 "fun": "startRushAnswer",
1216 1250 "baseId": 0,
  1251 + "baseSnList":["2023031402"],
1217 1252 "params": {
1218 1253 "rushAnswerMode": "0",
1219 1254 "modifyMode": "1"
... ... @@ -1234,6 +1269,7 @@ infos:{&quot;state&quot;:&quot;OK&quot;}//返回状æ€,æˆåŠŸä¸ºOK
1234 1269 {
1235 1270 "fun": "startRushAnswer",
1236 1271 "baseId": 1,
  1272 + "baseSn":"2023031402",
1237 1273 "infos": {
1238 1274 "state": "OK"
1239 1275 },
... ... @@ -1261,6 +1297,7 @@ infos: {}
1261 1297 {
1262 1298 "fun": "answerRushAnswer",
1263 1299 "baseId": 1,
  1300 + "baseSn":"2023031402",
1264 1301 "infos": {
1265 1302 "time": "1.42",
1266 1303 "keySn": "1479824643",
... ... @@ -1282,6 +1319,7 @@ params:{} //默认空
1282 1319 {
1283 1320 "fun": "stopRushAnswer",
1284 1321 "baseId": 0,
  1322 + "baseSnList":["2023031402"],
1285 1323 "packetTag": "1"
1286 1324 }
1287 1325 ```
... ... @@ -1298,6 +1336,7 @@ infos:{&quot;state&quot;:&quot;OK&quot;}//返回状æ€,æˆåŠŸä¸ºOK
1298 1336 {
1299 1337 "fun": "stopRushAnswer",
1300 1338 "baseId": 1,
  1339 + "baseSn":"2023031402",
1301 1340 "infos": {
1302 1341 "state": "OK"
1303 1342 },
... ... @@ -1339,6 +1378,7 @@ params:{}
1339 1378 {
1340 1379 "fun": "startNumber",
1341 1380 "baseId": 0,
  1381 + "baseSnList":["2023031402"],
1342 1382 "params": {
1343 1383 "secrecyMode": "0",
1344 1384 "modifyMode": "1",
... ... @@ -1363,6 +1403,7 @@ infos:{&quot;state&quot;:&quot;OK&quot;}//返回状æ€,æˆåŠŸä¸ºOK
1363 1403 {
1364 1404 "fun": "startNumber",
1365 1405 "baseId": 1,
  1406 + "baseSn":"2023031402",
1366 1407 "infos": {
1367 1408 "state": "OK"
1368 1409 },
... ... @@ -1391,6 +1432,7 @@ infos: {}
1391 1432 {
1392 1433 "fun": "answerNumber",
1393 1434 "baseId": 1,
  1435 + "baseSn":"2023031402",
1394 1436 "infos": {
1395 1437 "time": "2.42",
1396 1438 "keySn": "1479824643",
... ... @@ -1413,6 +1455,7 @@ params:{} //默认空
1413 1455 {
1414 1456 "fun": "stopNumber",
1415 1457 "baseId": 0,
  1458 + "baseSnList":["2023031402"],
1416 1459 "packetTag": "1"
1417 1460 }
1418 1461 ```
... ... @@ -1429,6 +1472,7 @@ infos:{&quot;state&quot;:&quot;OK&quot;}//返回状æ€,æˆåŠŸä¸ºOK
1429 1472 {
1430 1473 "fun": "stopNumber",
1431 1474 "baseId": 1,
  1475 + "baseSn":"2023031402",
1432 1476 "infos": {
1433 1477 "state": "OK"
1434 1478 },
... ... @@ -1477,6 +1521,7 @@ params:{}
1477 1521 {
1478 1522 "fun": "startKeyPadMultipleQuestionsTest",
1479 1523 "baseId": 0,
  1524 + "baseSnList":["2023031402"],
1480 1525 "params": {
1481 1526 "examNo": 1,
1482 1527 "displayMode": 0,
... ... @@ -1505,6 +1550,7 @@ params:{}
1505 1550 {
1506 1551 "fun": "startKeyPadMultipleQuestionsTest",
1507 1552 "baseId": 0,
  1553 + "baseSnList":["2023031402"],
1508 1554 "params": {
1509 1555 "examNo": 1,
1510 1556 "displayMode": 0,
... ... @@ -1537,6 +1583,7 @@ params:{}
1537 1583 {
1538 1584 "fun": "startKeyPadMultipleQuestionsTest",
1539 1585 "baseId": 0,
  1586 + "baseSnList":["2023031402"],
1540 1587 "params": {
1541 1588 "examNo": 1,
1542 1589 "displayMode": 0,
... ... @@ -1573,6 +1620,7 @@ params:{}
1573 1620 {
1574 1621 "fun": "startKeyPadMultipleQuestionsTest",
1575 1622 "baseId": 0,
  1623 + "baseSnList":["2023031402"],
1576 1624 "params": {
1577 1625 "examNo": 1,
1578 1626 "displayMode": 1,
... ... @@ -1600,6 +1648,7 @@ params:{}
1600 1648 {
1601 1649 "fun": "startKeyPadMultipleQuestionsTest",
1602 1650 "baseId": 0,
  1651 + "baseSnList":["2023031402"],
1603 1652 "params": {
1604 1653 "examNo": 1,
1605 1654 "displayMode": 2,
... ... @@ -1633,6 +1682,7 @@ infos:{&quot;state&quot;:&quot;OK&quot;}//返回状æ€,æˆåŠŸä¸ºOK
1633 1682 {
1634 1683 "fun": "keyPadMultipleQuestionsTest",
1635 1684 "baseId": 1,
  1685 + "baseSn":"2023031402",
1636 1686 "infos": {
1637 1687 "state": "OK"
1638 1688 },
... ... @@ -1669,6 +1719,7 @@ params:{}
1669 1719 {
1670 1720 "fun": "startKeyPadMultipleQuestionsCourse",
1671 1721 "baseId": 0,
  1722 + "baseSnList":["2023031402"],
1672 1723 "params": {
1673 1724 "examNo": 1,
1674 1725 "displayMode": 0,
... ... @@ -1715,6 +1766,7 @@ params:{}
1715 1766 {
1716 1767 "fun": "startKeyPadMultipleQuestionsCourse",
1717 1768 "baseId": 0,
  1769 + "baseSnList":["2023031402"],
1718 1770 "params": {
1719 1771 "examNo": 1,
1720 1772 "displayMode": 0,
... ... @@ -1747,6 +1799,7 @@ params:{}
1747 1799 {
1748 1800 "fun": "startKeyPadMultipleQuestionsCourse",
1749 1801 "baseId": 0,
  1802 + "baseSnList":["2023031402"],
1750 1803 "params": {
1751 1804 "examNo": 1,
1752 1805 "displayMode": 1,
... ... @@ -1779,6 +1832,7 @@ params:{}
1779 1832 {
1780 1833 "fun": "startKeyPadMultipleQuestionsCourse",
1781 1834 "baseId": 0,
  1835 + "baseSnList":["2023031402"],
1782 1836 "params": {
1783 1837 "examNo": 1,
1784 1838 "displayMode": 2,
... ... @@ -1817,6 +1871,7 @@ infos:{&quot;state&quot;:&quot;OK&quot;}//返回状æ€,æˆåŠŸä¸ºOK
1817 1871 {
1818 1872 "fun": "keyPadMultipleQuestionsCourse",
1819 1873 "baseId": 1,
  1874 + "baseSn":"2023031402",
1820 1875 "infos": {
1821 1876 "state": "OK"
1822 1877 },
... ... @@ -1847,6 +1902,7 @@ params:{}
1847 1902 {
1848 1903 "fun": "startKeyPadMultipleQuestionsSubjective",
1849 1904 "baseId": 0,
  1905 + "baseSnList":["2023031402"],
1850 1906 "params": {
1851 1907 "examNo": 1,
1852 1908 "questions": [{
... ... @@ -1882,6 +1938,7 @@ infos:{&quot;state&quot;:&quot;OK&quot;}//返回状æ€,æˆåŠŸä¸ºOK
1882 1938 {
1883 1939 "fun": "KeyPadMultipleQuestionsSubjective",
1884 1940 "baseId": 1,
  1941 + "baseSn":"2023031402",
1885 1942 "infos": {
1886 1943 "state": "OK"
1887 1944 },
... ... @@ -1915,6 +1972,7 @@ infos: {}
1915 1972 {
1916 1973 "fun": "answerKeyPadMultipleQuestions",
1917 1974 "baseId": 1,
  1975 + "baseSn":"2023031402",
1918 1976 "infos": {
1919 1977 "time": "5.42",
1920 1978 "keySn": "1479824643",
... ... @@ -1939,8 +1997,8 @@ params:{} //默认空
1939 1997 ```json
1940 1998 {
1941 1999 "fun": "stopKeyPadMultipleQuestions",
1942   -
1943 2000 "baseId": 0,
  2001 + "baseSnList":["2023031402"],
1944 2002 "packetTag": "1"
1945 2003 }
1946 2004 ```
... ... @@ -1959,6 +2017,7 @@ infos:{&quot;state&quot;:&quot;OK&quot;}//返回状æ€,æˆåŠŸä¸ºOK
1959 2017 {
1960 2018 "fun": "stopKeyPadMultipleQuestions",
1961 2019 "baseId": 1,
  2020 + "baseSn":"2023031402",
1962 2021 "infos": {
1963 2022 "state": "OK"
1964 2023 },
... ... @@ -1981,8 +2040,8 @@ params:{} //默认空
1981 2040 ```json
1982 2041 {
1983 2042 "fun": "pauseKeyPadMultipleQuestions",
1984   -
1985 2043 "baseId": 0,
  2044 + "baseSnList":["2023031402"],
1986 2045 "packetTag": "1"
1987 2046 }
1988 2047 ```
... ... @@ -2002,6 +2061,7 @@ infos:{&quot;state&quot;:&quot;OK&quot;}//返回状æ€,æˆåŠŸä¸ºOK
2002 2061 {
2003 2062 "fun": "pauseKeyPadMultipleQuestions",
2004 2063 "baseId": 1,
  2064 + "baseSn":"2023031402",
2005 2065 "infos": {
2006 2066 "state": "OK"
2007 2067 },
... ... @@ -2041,6 +2101,7 @@ params:{}
2041 2101 {
2042 2102 "fun": "continueKeyPadMultipleQuestionsTest",
2043 2103 "baseId": 0,
  2104 + "baseSnList":["2023031402"],
2044 2105 "params": {
2045 2106 "examNo": 1,
2046 2107 "displayMode": 0,
... ... @@ -2068,6 +2129,7 @@ params:{}
2068 2129 {
2069 2130 "fun": "continueKeyPadMultipleQuestionsTest",
2070 2131 "baseId": 0,
  2132 + "baseSnList":["2023031402"],
2071 2133 "params": {
2072 2134 "examNo": 1,
2073 2135 "displayMode": 0,
... ... @@ -2099,6 +2161,7 @@ params:{}
2099 2161 {
2100 2162 "fun": "continueKeyPadMultipleQuestionsTest",
2101 2163 "baseId": 0,
  2164 + "baseSnList":["2023031402"],
2102 2165 "params": {
2103 2166 "examNo": 1,
2104 2167 "displayMode": 0,
... ... @@ -2134,6 +2197,7 @@ params:{}
2134 2197 {
2135 2198 "fun": "continueKeyPadMultipleQuestionsTest",
2136 2199 "baseId": 0,
  2200 + "baseSnList":["2023031402"],
2137 2201 "params": {
2138 2202 "examNo": 1,
2139 2203 "displayMode": 1,
... ... @@ -2161,6 +2225,7 @@ params:{}
2161 2225 {
2162 2226 "fun": "continueKeyPadMultipleQuestionsTest",
2163 2227 "baseId": 0,
  2228 + "baseSnList":["2023031402"],
2164 2229 "params": {
2165 2230 "examNo": 1,
2166 2231 "displayMode": 2,
... ... @@ -2194,6 +2259,7 @@ infos:{&quot;state&quot;:&quot;OK&quot;}//返回状æ€,æˆåŠŸä¸ºOK
2194 2259 {
2195 2260 "fun": "keyPadMultipleQuestionsTest",
2196 2261 "baseId": 1,
  2262 + "baseSn":"2023031402",
2197 2263 "infos": {
2198 2264 "state": "OK"
2199 2265 },
... ... @@ -2230,6 +2296,7 @@ params:{}
2230 2296 {
2231 2297 "fun": "continueKeyPadMultipleQuestionsCourse",
2232 2298 "baseId": 0,
  2299 + "baseSnList":["2023031402"],
2233 2300 "params": {
2234 2301 "examNo": 1,
2235 2302 "displayMode": 0,
... ... @@ -2278,6 +2345,7 @@ params:{}
2278 2345 {
2279 2346 "fun": "continueKeyPadMultipleQuestionsCourse",
2280 2347 "baseId": 0,
  2348 + "baseSnList":["2023031402"],
2281 2349 "params": {
2282 2350 "examNo": 1,
2283 2351 "displayMode": 0,
... ... @@ -2310,6 +2378,7 @@ params:{}
2310 2378 {
2311 2379 "fun": "continueKeyPadMultipleQuestionsCourse",
2312 2380 "baseId": 0,
  2381 + "baseSnList":["2023031402"],
2313 2382 "params": {
2314 2383 "examNo": 1,
2315 2384 "displayMode": 1,
... ... @@ -2342,6 +2411,7 @@ params:{}
2342 2411 {
2343 2412 "fun": "continueKeyPadMultipleQuestionsCourse",
2344 2413 "baseId": 0,
  2414 + "baseSnList":["2023031402"],
2345 2415 "params": {
2346 2416 "examNo": 1,
2347 2417 "displayMode": 2,
... ... @@ -2380,6 +2450,7 @@ infos:{&quot;state&quot;:&quot;OK&quot;}//返回状æ€,æˆåŠŸä¸ºOK
2380 2450 {
2381 2451 "fun": "keyPadMultipleQuestionsCourse",
2382 2452 "baseId": 1,
  2453 + "baseSn":"2023031402",
2383 2454 "infos": {
2384 2455 "state": "OK"
2385 2456 },
... ... @@ -2410,6 +2481,7 @@ params:{}
2410 2481 {
2411 2482 "fun": "continueKeyPadMultipleQuestionsSubjective",
2412 2483 "baseId": 0,
  2484 + "baseSnList":["2023031402"],
2413 2485 "params": {
2414 2486 "examNo": 1,
2415 2487 "questions": [{
... ... @@ -2445,6 +2517,7 @@ infos:{&quot;state&quot;:&quot;OK&quot;}//返回状æ€,æˆåŠŸä¸ºOK
2445 2517 {
2446 2518 "fun": "keyPadMultipleQuestionsSubjective",
2447 2519 "baseId": 1,
  2520 + "baseSn":"2023031402",
2448 2521 "infos": {
2449 2522 "state": "OK"
2450 2523 },
... ... @@ -2475,6 +2548,7 @@ params:{} //
2475 2548 {
2476 2549 "fun": "copyKeyPadMultipleQuestions",
2477 2550 "baseId": 1,
  2551 + "baseSnList":["2023031402"],
2478 2552 "params": {
2479 2553 "keySn": "0007831203",
2480 2554 "questions": [{
... ... @@ -2503,6 +2577,7 @@ infos:{&quot;state&quot;:&quot;OK&quot;}//返回状æ€,æˆåŠŸä¸ºOK
2503 2577 {
2504 2578 "fun": "copyKeyPadMultipleQuestions",
2505 2579 "baseId": 1,
  2580 + "baseSn":"2023031402",
2506 2581 "infos": {
2507 2582 "state": "OK"
2508 2583 },
... ... @@ -2531,6 +2606,7 @@ params:{} //默认空
2531 2606 {
2532 2607 "fun": "okKeyPadMultipleQuestions",
2533 2608 "baseId": 0,
  2609 + "baseSnList":["2023031402"],
2534 2610 "params": [{
2535 2611 "id": "1",
2536 2612 "questionType": "1",
... ... @@ -2556,6 +2632,7 @@ infos:{&quot;state&quot;:&quot;OK&quot;}//返回状æ€,æˆåŠŸä¸ºOK
2556 2632 {
2557 2633 "fun": "okKeyPadMultipleQuestions",
2558 2634 "baseId": 1,
  2635 + "baseSn":"2023031402",
2559 2636 "infos": {
2560 2637 "state": "OK"
2561 2638 },
... ... @@ -2593,6 +2670,7 @@ params:{}
2593 2670 {
2594 2671 "fun": "startTextAnswer",
2595 2672 "baseId": 0,
  2673 + "baseSnList":["2023031402"],
2596 2674 "params": {
2597 2675 "optionsMode": "1",
2598 2676 "modifyMode": "1",
... ... @@ -2614,6 +2692,7 @@ infos:{&quot;state&quot;:&quot;OK&quot;} //返回状æ€,æˆåŠŸä¸ºOK
2614 2692 {
2615 2693 "fun": "startTextAnswer",
2616 2694 "baseId": 1,
  2695 + "baseSn":"2023031402",
2617 2696 "infos": {
2618 2697 "state": "OK"
2619 2698 },
... ... @@ -2641,6 +2720,7 @@ infos: {}
2641 2720 {
2642 2721 "fun": "answerTextAnswer",
2643 2722 "baseId": 1,
  2723 + "baseSn":"2023031402",
2644 2724 "infos": {
2645 2725 "keySn": "1479824643",
2646 2726 "keyValue": "abcdef"
... ... @@ -2660,6 +2740,8 @@ params:{} //默认空
2660 2740 ```json
2661 2741 {
2662 2742 "fun": "stopTextAnswer",
  2743 + "baseId": 0,
  2744 + "baseSnList":["2023031402"],
2663 2745 "packetTag": "1"
2664 2746 }
2665 2747 ```
... ... @@ -2675,6 +2757,7 @@ infos:{&quot;state&quot;:&quot;OK&quot;}//返回状æ€,æˆåŠŸä¸ºOK
2675 2757 {
2676 2758 "fun": "stopTextAnswer",
2677 2759 "baseId": 1,
  2760 + "baseSn":"2023031402",
2678 2761 "infos": {
2679 2762 "state": "OK"
2680 2763 },
... ... @@ -2704,6 +2787,7 @@ params:{}
2704 2787 {
2705 2788 "fun": "startFreeQuestion",
2706 2789 "baseId": 0,
  2790 + "baseSnList":["2023031402"],
2707 2791 "params": {},
2708 2792 "packetTag": "1"
2709 2793 }
... ... @@ -2721,6 +2805,7 @@ infos:{&quot;state&quot;:&quot;OK&quot;} //返回状æ€,æˆåŠŸä¸ºOK
2721 2805 {
2722 2806 "fun": "startFreeQuestion",
2723 2807 "baseId": 1,
  2808 + "baseSn":"2023031402",
2724 2809 "infos": {
2725 2810 "state": "OK"
2726 2811 },
... ... @@ -2751,6 +2836,7 @@ infos: {}
2751 2836 {
2752 2837 "fun": "answerChoices",
2753 2838 "baseId": 1,
  2839 + "baseSn":"2023031402",
2754 2840 "infos": {
2755 2841 "keySn": "1479824643",
2756 2842 "keyValue": "ABC"
... ... @@ -2775,6 +2861,7 @@ infos: {}
2775 2861 {
2776 2862 "fun": "answerTrueFalse",
2777 2863 "baseId": 1,
  2864 + "baseSn":"2023031402",
2778 2865 "infos": {
2779 2866 "keySn": "1479824643",
2780 2867 "keyValue": "1"
... ... @@ -2798,6 +2885,7 @@ infos: {}
2798 2885 {
2799 2886 "fun": "answerNumber",
2800 2887 "baseId": 1,
  2888 + "baseSn":"2023031402",
2801 2889 "infos": {
2802 2890 "keySn": "1479824643",
2803 2891 "keyValue": "99.99"
... ... @@ -2819,6 +2907,8 @@ params:{} //默认空
2819 2907 ```json
2820 2908 {
2821 2909 "fun": "stopFreeQuestion",
  2910 + "baseId": 0,
  2911 + "baseSnList":["2023031402"],
2822 2912 "packetTag": "1"
2823 2913 }
2824 2914 ```
... ... @@ -2834,6 +2924,7 @@ infos:{&quot;state&quot;:&quot;OK&quot;}//返回状æ€,æˆåŠŸä¸ºOK
2834 2924 {
2835 2925 "fun": "stopFreeQuestion",
2836 2926 "baseId": 1,
  2927 + "baseSn":"2023031402",
2837 2928 "infos": {
2838 2929 "state": "OK"
2839 2930 },
... ... @@ -2875,6 +2966,7 @@ params:{}//
2875 2966 {
2876 2967 "fun": "writeNFCInfo",
2877 2968 "baseId": 1,
  2969 + "baseSnList":["2023031402"],
2878 2970 "params": {
2879 2971 "userName": "张三",
2880 2972 "matchCode": "22120007"
... ... @@ -2894,6 +2986,7 @@ infos:{&quot;value&quot;:&quot;OK&quot;}//返回状æ€,æˆåŠŸä¸ºOK
2894 2986 {
2895 2987 "fun": "writeNFCInfo",
2896 2988 "baseId": 1,
  2989 + "baseSn":"2023031402",
2897 2990 "infos": {
2898 2991 "value": "OK"
2899 2992 },
... ... @@ -2926,6 +3019,7 @@ infos:{}
2926 3019 {
2927 3020 "fun": "NFCInfo",
2928 3021 "baseId": 1,
  3022 + "baseSn":"2023031402",
2929 3023 "infos": {
2930 3024 "keySn": "1479824643",
2931 3025 "state": "4",
... ... @@ -2958,6 +3052,7 @@ params:{}//
2958 3052 {
2959 3053 "fun": "writeNFCEmpty",
2960 3054 "baseId": 1,
  3055 + "baseSnList":["2023031402"],
2961 3056 "params": {},
2962 3057 "packetTag": "1"
2963 3058 }
... ... @@ -2973,6 +3068,7 @@ infos:{&quot;value&quot;:&quot;OK&quot;}//返回状æ€,æˆåŠŸä¸ºOK
2973 3068 {
2974 3069 "fun": "writeNFCEmpty",
2975 3070 "baseId": 1,
  3071 + "baseSn":"2023031402",
2976 3072 "infos": {
2977 3073 "value": "OK"
2978 3074 },
... ... @@ -3008,6 +3104,7 @@ params:{}//å¯ä¸å¡«
3008 3104 {
3009 3105 "fun": "readBaseStationID",
3010 3106 "baseId": 2,
  3107 + "baseSnList":["2023031402"],
3011 3108 "packetTag": "1"
3012 3109 }
3013 3110 ```
... ... @@ -3026,6 +3123,7 @@ infos:{&quot;value&quot;:&quot;2&quot;}//返回基站ID
3026 3123 {
3027 3124 "fun": "baseStationID",
3028 3125 "baseId": 2,
  3126 + "baseSn":"2023031402",
3029 3127 "infos": {
3030 3128 "pathAdd": "12345",
3031 3129 "value": "2"
... ... @@ -3057,6 +3155,7 @@ params:{}//å¯ä¸å¡«
3057 3155 {
3058 3156 "fun": "readBaseStationChannel",
3059 3157 "baseId": 0,
  3158 + "baseSnList":["2023031402"],
3060 3159 "packetTag": "1"
3061 3160 }
3062 3161 ```
... ... @@ -3080,6 +3179,7 @@ params:{&quot;value&quot;:&quot;1&quot;}//1~12 (频点)
3080 3179 {
3081 3180 "fun": "writeBaseStationChannel",
3082 3181 "baseId": 1,
  3182 + "baseSnList":["2023031402"],
3083 3183 "params": {
3084 3184 "value": "3",
3085 3185 "values": ["3", "6", "9", "12"]
... ... @@ -3102,6 +3202,7 @@ infos:{&quot;value&quot;:&quot;3&quot;}//返回基站频点值
3102 3202 {
3103 3203 "fun": "baseStationChannel",
3104 3204 "baseId": 1,
  3205 + "baseSn":"2023031402",
3105 3206 "infos": {
3106 3207 "value": "3",
3107 3208 "values": ["3", "6", "9", "12"]
... ... @@ -3134,6 +3235,7 @@ params:{}//å¯ä¸å¡«
3134 3235 {
3135 3236 "fun": "readKeyboardLoginMenu",
3136 3237 "baseId": 0,
  3238 + "baseSnList":["2023031402"],
3137 3239 "packetTag": "1"
3138 3240 }
3139 3241 ```
... ... @@ -3152,6 +3254,7 @@ params:{&quot;value&quot;:&quot;1&quot;}//0~1 (0ä¸å…许登录;1å…许登录)
3152 3254 {
3153 3255 "fun": "writeKeyboardLoginMenu",
3154 3256 "baseId": 1,
  3257 + "baseSnList":["2023031402"],
3155 3258 "params": {
3156 3259 "value": "1"
3157 3260 },
... ... @@ -3174,6 +3277,7 @@ infos:{&quot;value&quot;:&quot;1&quot;}//返回键盘登录èœå•显示值
3174 3277 {
3175 3278 "fun": "baseStationKeyboardLoginMenu",
3176 3279 "baseId": 1,
  3280 + "baseSn":"2023031402",
3177 3281 "infos": {
3178 3282 "value": "1"
3179 3283 },
... ... @@ -3207,6 +3311,7 @@ params:{}//å¯ä¸å¡«
3207 3311 {
3208 3312 "fun": "readBaseStationModel",
3209 3313 "baseId": 0,
  3314 + "baseSnList":["2023031402"],
3210 3315 "packetTag": "1"
3211 3316 }
3212 3317 ```
... ... @@ -3226,6 +3331,7 @@ infos:{&quot;value&quot;:&quot;218&quot;}//返回基站型å·
3226 3331 {
3227 3332 "fun": "baseStationModel",
3228 3333 "baseId": 1,
  3334 + "baseSn":"2023031402",
3229 3335 "infos": {
3230 3336 "value": "218"
3231 3337 },
... ... @@ -3267,6 +3373,7 @@ params:{}//å¯ä¸å¡«
3267 3373 {
3268 3374 "fun": "readBaseStationSVersion",
3269 3375 "baseId": 0,
  3376 + "baseSnList":["2023031402"],
3270 3377 "packetTag": "1"
3271 3378 }
3272 3379 ```
... ... @@ -3286,6 +3393,7 @@ infos:{&quot;value&quot;:&quot;V2.0.2&quot;}//返回基站软件版本
3286 3393 {
3287 3394 "fun": "baseStationSVersion",
3288 3395 "baseId": 1,
  3396 + "baseSn":"2023031402",
3289 3397 "infos": {
3290 3398 "value": "V2.0.2"
3291 3399 },
... ... @@ -3318,6 +3426,7 @@ params:{}//å¯ä¸å¡«
3318 3426 {
3319 3427 "fun": "readBaseStationSN",
3320 3428 "baseId": 0,
  3429 + "baseSnList":["2023031402"],
3321 3430 "packetTag": "1"
3322 3431 }
3323 3432 ```
... ... @@ -3337,6 +3446,7 @@ infos:{&quot;value&quot;:&quot;FFFFFFFFFF&quot;}//返回基站åºåˆ—å·
3337 3446 {
3338 3447 "fun": "baseStationSN",
3339 3448 "baseId": 1,
  3449 + "baseSn":"2023031402",
3340 3450 "infos": {
3341 3451 "value": "FFFFFFFFFF"
3342 3452 },
... ... @@ -3369,6 +3479,7 @@ params:{}//å¯ä¸å¡«
3369 3479 {
3370 3480 "fun": "readBaseStationTitle",
3371 3481 "baseId": 0,
  3482 + "baseSnList":["2023031402"],
3372 3483 "packetTag": "1"
3373 3484 }
3374 3485 ```
... ... @@ -3388,6 +3499,7 @@ params:{&quot;value&quot;:&quot; A2021&quot;}//基站å称,最长12字节
3388 3499 {
3389 3500 "fun": "writeBaseStationTitle",
3390 3501 "baseId": 1,
  3502 + "baseSnList":["2023031402"],
3391 3503 "params": {
3392 3504 "value": "A2021"
3393 3505 },
... ... @@ -3410,6 +3522,7 @@ infos:{&quot;value&quot;:&quot;A2021&quot;}//返回基站åç§°
3410 3522 {
3411 3523 "fun": "baseStationTitle",
3412 3524 "baseId": 1,
  3525 + "baseSn":"2023031402",
3413 3526 "infos": {
3414 3527 "value": "A2021"
3415 3528 },
... ... @@ -3437,6 +3550,7 @@ params:{}//å¯ä¸å¡«
3437 3550 {
3438 3551 "fun": "readBaseStationPairMode",
3439 3552 "baseId": 0,
  3553 + "baseSnList":["2023031402"],
3440 3554 "packetTag": "1"
3441 3555 }
3442 3556 ```
... ... @@ -3460,6 +3574,7 @@ params:{&quot;value&quot;:&quot;1&quot;}//
3460 3574 {
3461 3575 "fun": "writeBaseStationPairMode",
3462 3576 "baseId": 1,
  3577 + "baseSnList":["2023031402"],
3463 3578 "params": {
3464 3579 "value": "1"
3465 3580 },
... ... @@ -3478,6 +3593,7 @@ infos:{&quot;value&quot;:&quot;1&quot;}//返回基站é…对模å¼å€¼
3478 3593 {
3479 3594 "fun": "baseStationPairMode",
3480 3595 "baseId": 1,
  3596 + "baseSn":"2023031402",
3481 3597 "infos": {
3482 3598 "value": "1"
3483 3599 },
... ... @@ -3509,6 +3625,7 @@ params:{}//å¯ä¸å¡«
3509 3625 {
3510 3626 "fun": "readBaseStationMatchCode",
3511 3627 "baseId": 0,
  3628 + "baseSnList":["2023031402"],
3512 3629 "packetTag": "1"
3513 3630 }
3514 3631 ```
... ... @@ -3528,6 +3645,7 @@ infos:{&quot;value&quot;:&quot;21072333&quot;}//返回基站é…对ç 
3528 3645 {
3529 3646 "fun": "baseStationMatchCode",
3530 3647 "baseId": 1,
  3648 + "baseSn":"2023031402",
3531 3649 "infos": {
3532 3650 "value": "21072333"
3533 3651 },
... ... @@ -3560,6 +3678,7 @@ packetTag:&quot;0&quot;//æ•°æ®åŒ…标签
3560 3678 {
3561 3679 "fun": "baseStationChannelInterference",
3562 3680 "baseId": 1,
  3681 + "baseSn":"2023031402",
3563 3682 "infos": {
3564 3683 "value": "5"
3565 3684 },
... ... @@ -3592,6 +3711,7 @@ params:{}//å¯ä¸å¡«
3592 3711 {
3593 3712 "fun": "readBaseStationCapacity",
3594 3713 "baseId": 0,
  3714 + "baseSnList":["2023031402"],
3595 3715 "packetTag": "1"
3596 3716 }
3597 3717 ```
... ... @@ -3608,9 +3728,10 @@ infos:{&quot;keypadNumber&quot;:&quot;60&quot;,&quot;lock&quot;:&quot;1&quot;}//返回基站键盘容é‡å€¼
3608 3728 指令样例:
3609 3729  
3610 3730 ```json
3611   -{
3612   - "baseId": 2,
  3731 +{
3613 3732 "fun": "baseStationCapacity",
  3733 + "baseId": 2,
  3734 + "baseSn":"2023031402",
3614 3735 "infos": {
3615 3736 "keypadNumber": "60",
3616 3737 "lock": "1"
... ... @@ -3642,6 +3763,7 @@ params:{}
3642 3763 {
3643 3764 "fun": "startQuickMatch",
3644 3765 "baseId": 1,
  3766 + "baseSnList":["2023031402"],
3645 3767 "packetTag": "1"
3646 3768 }
3647 3769 ```
... ... @@ -3659,6 +3781,7 @@ infos:{&quot;state&quot;:&quot;OK&quot;}//返回状æ€,æˆåŠŸä¸ºOK
3659 3781 {
3660 3782 "fun": "startQuickMatch",
3661 3783 "baseId": 1,
  3784 + "baseSn":"2023031402",
3662 3785 "infos": {
3663 3786 "state": "OK"
3664 3787 },
... ... @@ -3680,6 +3803,7 @@ params:{} //默认空
3680 3803 {
3681 3804 "fun": "stopQuickMatch",
3682 3805 "baseId": 1,
  3806 + "baseSnList":["2023031402"],
3683 3807 "packetTag": "1"
3684 3808 }
3685 3809 ```
... ... @@ -3697,6 +3821,7 @@ infos:{&quot;state&quot;:&quot;OK&quot;}//返回状æ€,æˆåŠŸä¸ºOK
3697 3821 {
3698 3822 "fun": "stopQuickMatch",
3699 3823 "baseId": 1,
  3824 + "baseSn":"2023031402",
3700 3825 "infos": {
3701 3826 "state": "OK"
3702 3827 },
... ... @@ -3729,6 +3854,7 @@ params:{}//å¯ä¸å¡«
3729 3854 {
3730 3855 "fun": "readKeyboardLoginPW",
3731 3856 "baseId": 0,
  3857 + "baseSnList":["2023031402"],
3732 3858 "packetTag": "1"
3733 3859 }
3734 3860 ```
... ... @@ -3747,6 +3873,7 @@ params:{&quot;value&quot;:&quot;0&quot;}//0~9999 (0ä¸ç”¨æ ¸å¯¹ï¼‰
3747 3873 {
3748 3874 "fun": "writeKeyboardLoginPW",
3749 3875 "baseId": 1,
  3876 + "baseSnList":["2023031402"],
3750 3877 "params": {
3751 3878 "value": "0"
3752 3879 },
... ... @@ -3769,6 +3896,7 @@ infos:{&quot;value&quot;:&quot;1&quot;}//返回键盘登录密ç å€¼
3769 3896 {
3770 3897 "fun": "baseStationKeyboardLoginPW",
3771 3898 "baseId": 1,
  3899 + "baseSn":"2023031402",
3772 3900 "infos": {
3773 3901 "value": "0"
3774 3902 },
... ... @@ -3800,6 +3928,7 @@ params:{}//å¯ä¸å¡«
3800 3928 {
3801 3929 "fun": "readBaseStationNameHidden",
3802 3930 "baseId": 0,
  3931 + "baseSnList":["2023031402"],
3803 3932 "packetTag": "1"
3804 3933 }
3805 3934 ```
... ... @@ -3822,6 +3951,7 @@ params:{&quot;value&quot;:&quot;0&quot;}//0~1 (0éšè—,1ä¸éšè—)
3822 3951 {
3823 3952 "fun": "writeBaseStationNameHidden",
3824 3953 "baseId": 1,
  3954 + "baseSnList":["2023031402"],
3825 3955 "params": {
3826 3956 "value": "0"
3827 3957 },
... ... @@ -3844,6 +3974,7 @@ infos:{&quot;value&quot;:&quot;1&quot;}//返回基站åç§°éšè—值 (0éšè—,1ä¸éšè—)
3844 3974 {
3845 3975 "fun": "baseStationNameHidden",
3846 3976 "baseId": 1,
  3977 + "baseSn":"2023031402",
3847 3978 "infos": {
3848 3979 "value": "0"
3849 3980 },
... ... @@ -3874,6 +4005,7 @@ params:{}//å¯ä¸å¡«
3874 4005 {
3875 4006 "fun": "readBaseStationTcpIp",
3876 4007 "baseId": 0,
  4008 + "baseSnList":["2023031402"],
3877 4009 "packetTag": "1"
3878 4010 }
3879 4011 ```
... ... @@ -3893,6 +4025,7 @@ params:
3893 4025 {
3894 4026 "fun": "writeBaseStationTcpIp",
3895 4027 "baseId": 1,
  4028 + "baseSnList":["2023031402"],
3896 4029 "params": {
3897 4030 "mac": "FF:FF:FF:FF:FF:FF",
3898 4031 "ip": "192.168.10.10",
... ... @@ -3919,6 +4052,7 @@ infos:{&quot;value&quot;:&quot;1&quot;}//返回基站TcpIp
3919 4052 {
3920 4053 "fun": "baseStationTcpIp",
3921 4054 "baseId": 1,
  4055 + "baseSn":"2023031402",
3922 4056 "infos": {
3923 4057 "ip": "192.168.10.10",
3924 4058 "mac": "FF:FF:FF:FF:FF:FF",
... ... @@ -3951,6 +4085,7 @@ baseId: 0//
3951 4085 {
3952 4086 "fun": "readWhiteList",
3953 4087 "baseId": 0,
  4088 + "baseSnList":["2023031402"],
3954 4089 "params": {},
3955 4090 "packetTag": "1"
3956 4091 }
... ... @@ -3973,6 +4108,7 @@ infos:{}//
3973 4108 {
3974 4109 "fun": "whiteList",
3975 4110 "baseId": 1,
  4111 + "baseSn":"2023031402",
3976 4112 "infos": [{
3977 4113 "keySn": "2111120140",
3978 4114 "state": "0"
... ... @@ -4011,6 +4147,7 @@ keySnList:[]//键盘SN数组最多200键盘SN
4011 4147 {
4012 4148 "fun": "writeWhiteList",
4013 4149 "baseId": 0,
  4150 + "baseSnList":["2023031402"],
4014 4151 "keySnList": [{
4015 4152 "keySn": "2111120140"
4016 4153 },
... ... @@ -4044,6 +4181,7 @@ infos:{}//
4044 4181 {
4045 4182 "fun": "whiteList",
4046 4183 "baseId": 1,
  4184 + "baseSn":"2023031402",
4047 4185 "infos": [{
4048 4186 "keySn": "2111120140",
4049 4187 "state": "OK"
... ... @@ -4087,6 +4225,7 @@ params:{} //数组对象,指定键盘需填
4087 4225 {
4088 4226 "fun": "lockKeypad",
4089 4227 "baseId": 1,
  4228 + "baseSnList":["2023031402"],
4090 4229 "keySnList": [{
4091 4230 "keySn": "2111120140"
4092 4231 },
... ... @@ -4107,6 +4246,7 @@ params:{} //数组对象,指定键盘需填
4107 4246 {
4108 4247 "fun": "lockKeypad",
4109 4248 "baseId": 1,
  4249 + "baseSn":"2023031402",
4110 4250 "infos": [{
4111 4251 "keySn": "1837454011",
4112 4252 "state": "OK"
... ... @@ -4144,6 +4284,7 @@ params:{} //数组对象,指定键盘需填
4144 4284 {
4145 4285 "fun": "unlockKeypad",
4146 4286 "baseId": 1,
  4287 + "baseSnList":["2023031402"],
4147 4288 "keySnList": [{
4148 4289 "keySn": "2111120140"
4149 4290 },
... ... @@ -4164,6 +4305,7 @@ params:{} //数组对象,指定键盘需填
4164 4305 {
4165 4306 "fun": "unlockKeypad",
4166 4307 "baseId": 1,
  4308 + "baseSn":"2023031402",
4167 4309 "infos": [{
4168 4310 "keySn": "2111120140",
4169 4311 "state": "OK"
... ... @@ -4198,6 +4340,7 @@ keySnList:[ &quot;keySn&quot;:&quot;2111120140&quot;] //列表ä¸èƒ½ä¸ºç©º
4198 4340 {
4199 4341 "fun": "addWhiteList",
4200 4342 "baseId": 1,
  4343 + "baseSnList":["2023031402"],
4201 4344 "keySnList": [{
4202 4345 "keySn": "2111120140"
4203 4346 }],
... ... @@ -4219,6 +4362,7 @@ infos:{}//
4219 4362 {
4220 4363 "fun": "whiteList",
4221 4364 "baseId": 1,
  4365 + "baseSn":"2023031402",
4222 4366 "infos": {
4223 4367 "keySn": "1837454012",
4224 4368 "state": "OK"
... ... @@ -4246,6 +4390,7 @@ keySnList:[ &quot;keySn&quot;:&quot;2111120140&quot;] //列表ä¸èƒ½ä¸ºç©º
4246 4390 {
4247 4391 "fun": "delWhiteList",
4248 4392 "baseId": 0,
  4393 + "baseSnList":["2023031402"],
4249 4394 "keySnList": [{
4250 4395 "keySn": "2111120140"
4251 4396 }],
... ... @@ -4267,6 +4412,7 @@ infos:{}//
4267 4412 {
4268 4413 "fun": "delWhiteList",
4269 4414 "baseId": 1,
  4415 + "baseSn":"2023031402",
4270 4416 "packetTag": "1",
4271 4417 "infos": {
4272 4418 "keySn": "1837454012",
... ... @@ -4294,6 +4440,7 @@ params:{} //æ— 
4294 4440 {
4295 4441 "fun": "clearWhiteList",
4296 4442 "baseId": 1,
  4443 + "baseSnList":["2023031402"],
4297 4444 "packetTag": "1"
4298 4445 }
4299 4446 ```
... ... @@ -4310,6 +4457,7 @@ infos:{}//
4310 4457 {
4311 4458 "fun": "clearWhiteList",
4312 4459 "baseId": 1,
  4460 + "baseSn":"2023031402",
4313 4461 "packetTag": "1",
4314 4462 "infos": {
4315 4463 "state": "OK"
... ... @@ -4340,6 +4488,7 @@ params:{&quot;value&quot;:0}//
4340 4488 {
4341 4489 "fun": "readKeypadAutoPowerOffLevel",
4342 4490 "baseId": 0,
  4491 + "baseSnList":["2023031402"],
4343 4492 "packetTag": "1"
4344 4493 }
4345 4494 ```
... ... @@ -4356,6 +4505,7 @@ params:{&quot;value&quot;:&quot;0&quot;}//
4356 4505 {
4357 4506 "fun": "writeKeypadAutoPowerOffLevel",
4358 4507 "baseId": 1,
  4508 + "baseSnList":["2023031402"],
4359 4509 "params": {
4360 4510 "value": "0"
4361 4511 },
... ... @@ -4374,6 +4524,7 @@ infos:{&quot;value&quot;:&quot;0&quot;}//返回键盘关机时间等级
4374 4524 {
4375 4525 "fun": "keypadAutoPowerOffLevel",
4376 4526 "baseId": 1,
  4527 + "baseSn":"2023031402",
4377 4528 "infos": {
4378 4529 "value": "0"
4379 4530 },
... ... @@ -4398,6 +4549,7 @@ params:{}//å¯ä¸å¡«
4398 4549 {
4399 4550 "fun": "readBaseStationBaseConfig",
4400 4551 "baseId": 0,
  4552 + "baseSnList":["2023031402"],
4401 4553 "packetTag": "1"
4402 4554 }
4403 4555 ```
... ... @@ -4421,6 +4573,7 @@ params:{}//
4421 4573 {
4422 4574 "fun": "writeBaseStationBaseConfig",
4423 4575 "baseId": 1,
  4576 + "baseSnList":["2023031402"],
4424 4577 "params": {
4425 4578 "bootVibraton": "1",
4426 4579 "voteVibraton": "1",
... ... @@ -4442,6 +4595,7 @@ infos:{ }//返回基站
4442 4595 {
4443 4596 "fun": "baseStationBaseConfig",
4444 4597 "baseId": 1,
  4598 + "baseSn":"2023031402",
4445 4599 "infos": {
4446 4600 "bootVibraton": "1",
4447 4601 "voteVibraton": "1",
... ... @@ -4494,6 +4648,7 @@ params:{} //
4494 4648 {
4495 4649 "fun": "writeKeypadDevice",
4496 4650 "baseId": 1,
  4651 + "baseSnList":["2023031402"],
4497 4652 "params": {
4498 4653 "ledTimes": "3",
4499 4654 "ledOnTime": "1",
... ... @@ -4524,6 +4679,7 @@ infos:{&quot;state&quot;:&quot;OK&quot;}//返回状æ€,æˆåŠŸä¸ºOK
4524 4679 {
4525 4680 "fun": "writeKeypadDevice",
4526 4681 "baseId": 0,
  4682 + "baseSn":"2023031402",
4527 4683 "infos": {
4528 4684 "keySn": "0000000000",
4529 4685 "state": "OK"
... ... @@ -4537,6 +4693,8 @@ infos:{&quot;state&quot;:&quot;OK&quot;}//返回状æ€,æˆåŠŸä¸ºOK
4537 4693 ```json
4538 4694 {
4539 4695 "fun": "writeKeypadDevice",
  4696 + "baseId": 0,
  4697 + "baseSnList":["2023031402"],
4540 4698 "keySnList": [{
4541 4699 "keySn": "0007899478"
4542 4700 }],
... ... @@ -4567,9 +4725,10 @@ infos:{}//数组对象,åŒå‘é€çš„
4567 4725 指令样例:
4568 4726  
4569 4727 ```json
4570   -{
4571   - "baseId": 3,
  4728 +{
4572 4729 "fun": "writeKeypadDevice",
  4730 + "baseId": 3,
  4731 + "baseSn":"2023031402",
4573 4732 "infos": {
4574 4733 "keySn": "0007899478",
4575 4734 "state": "OK"
... ... @@ -4598,6 +4757,7 @@ params:{}//è¯»å–æ—¶ä¸éœ€è¦
4598 4757 {
4599 4758 "fun": "readKeypadFeedbackMode",
4600 4759 "baseId": 0,
  4760 + "baseSnList":["2023031402"],
4601 4761 "packetTag": "1"
4602 4762 }
4603 4763 ```
... ... @@ -4620,6 +4780,7 @@ params:{&quot;mode&quot;:&quot;1&quot;, &quot;value&quot;:&quot;4&quot;}//
4620 4780 {
4621 4781 "fun": "writeKeypadFeedbackMode",
4622 4782 "baseId": 0,
  4783 + "baseSnList":["2023031402"],
4623 4784 "params": {
4624 4785 "mode": "1",
4625 4786 "value": "4"
... ... @@ -4645,6 +4806,7 @@ infos:{ &quot;mode&quot;:&quot;1&quot;, &quot;value&quot;:&quot;4&quot;}//返回键盘å馈模å¼å‚数值
4645 4806 {
4646 4807 "fun": "keypadFeedbackMode",
4647 4808 "baseId": 1,
  4809 + "baseSn":"2023031402",
4648 4810 "infos": {
4649 4811 "mode": "1",
4650 4812 "value": "4"
... ... @@ -4673,8 +4835,9 @@ infos:{ &quot;keySn&quot;:&quot;2307269906&quot;, &quot;keyValue&quot;:&quot;A&quot;}//返回键盘å馈模å¼å‚数值
4673 4835  
4674 4836 ```json
4675 4837 {
4676   - "baseId": 1,
4677 4838 "fun": "immediateFeedback",
  4839 + "baseId": 1,
  4840 + "baseSn":"2023031402",
4678 4841 "infos": {
4679 4842 "keySn": "2307269906",
4680 4843 "keyValue": "A"
... ... @@ -4708,6 +4871,7 @@ infos:{ &quot;keySn&quot;:&quot;1479824643&quot;}//返回键盘å馈模å¼å‚数值
4708 4871 {
4709 4872 "fun": "keyboardOnlineOne",
4710 4873 "baseId": 1,
  4874 + "baseSn":"2023031402",
4711 4875 "infos": {
4712 4876 "keySn": "1479824643"
4713 4877 },
... ... @@ -4740,6 +4904,7 @@ infos:{ &quot;hModel&quot;: &quot;67&quot;,&quot;keySn&quot;:&quot;1479824643&quot;,&quot;keyValue&quot;:&quot;0&quot;,&quot;ver&quot;:&quot;1.0.0&quot;,&quot;volt&quot;:
4740 4904 {
4741 4905 "fun": "KeyboardHeartbeat",
4742 4906 "baseId": 1,
  4907 + "baseSn":"2023031402",
4743 4908 "infos": {
4744 4909 "hModel": "67",
4745 4910 "keySn": "1479824643",
... ... @@ -4772,6 +4937,7 @@ params:{}//
4772 4937 {
4773 4938 "fun": "remoteKeyShutdown",
4774 4939 "baseId": 1,
  4940 + "baseSnList":["2023031402"],
4775 4941 "params": [{
4776 4942 "keySn": "1837454011"
4777 4943 }],
... ... @@ -4790,6 +4956,7 @@ infos:{&quot;keySn&quot;:&quot;1837454011&quot;,&quot;state&quot;:&quot;OK&quot;}//é¥æŽ§é”®ç›˜å…³æœº
4790 4956 {
4791 4957 "fun": "remoteKeyShutdown",
4792 4958 "baseId": 1,
  4959 + "baseSn":"2023031402",
4793 4960 "infos": {
4794 4961 "keySn": "1837454011",
4795 4962 "state": "OK"
... ... @@ -4825,6 +4992,7 @@ params:{} // 数组对象,对象中的默认值为空字符串
4825 4992 {
4826 4993 "fun": "writeKeyMessage",
4827 4994 "baseId": 0,
  4995 + "baseSnList":["2023031402"],
4828 4996 "params": {
4829 4997 "txt": "最新消æ¯"
4830 4998 },
... ... @@ -4843,6 +5011,7 @@ infos:{&quot;state&quot;:&quot;OK&quot;}//返回状æ€,æˆåŠŸä¸ºOK
4843 5011 {
4844 5012 "fun": "writeKeyMessage",
4845 5013 "baseId": 0,
  5014 + "baseSn":"2023031402",
4846 5015 "infos": {
4847 5016 "keySn": "0000000000",
4848 5017 "state": "OK"
... ... @@ -4856,6 +5025,8 @@ infos:{&quot;state&quot;:&quot;OK&quot;}//返回状æ€,æˆåŠŸä¸ºOK
4856 5025 ```json
4857 5026 {
4858 5027 "fun": "writeKeyMessage",
  5028 + "baseId": 0,
  5029 + "baseSnList":["2023031402"],
4859 5030 "keySnList": [{
4860 5031 "keySn": "0007899478"
4861 5032 }],
... ... @@ -4875,9 +5046,10 @@ infos:{}//数组对象,åŒå‘é€çš„
4875 5046 指令样例:
4876 5047  
4877 5048 ```json
4878   -{
4879   - "baseId": 3,
  5049 +{
4880 5050 "fun": "writeKeyMessage",
  5051 + "baseId": 3,
  5052 + "baseSn":"2023031402",
4881 5053 "infos": {
4882 5054 "keySn": "0007899478",
4883 5055 "state": "OK"
... ... @@ -4915,6 +5087,7 @@ params:{}
4915 5087 {
4916 5088 "fun": "writeKeypadFreeTitle",
4917 5089 "baseId": 1,
  5090 + "baseSnList":["2023031402"],
4918 5091 "params": {
4919 5092 "title": "请认真å¬è®²"
4920 5093 },
... ... @@ -4939,6 +5112,7 @@ infos:{}//
4939 5112 {
4940 5113 "fun": "writeKeypadFreeTitle",
4941 5114 "baseId": 0,
  5115 + "baseSn":"2023031402",
4942 5116 "infos": {
4943 5117 "state": "OK"
4944 5118 },
... ... @@ -4960,7 +5134,7 @@ params:{}//数组对象,字段ä¸å¡«åˆ™ä¿ç•™ä¸Šæ¬¡å€¼ã€‚
4960 5134  
4961 5135 | **Json字段** | **字段å«ä¹‰** | **赋值åŠå«ä¹‰** |
4962 5136 | --- | --- | --- |
4963   -| keySn| 键盘Sn| 空则为所有在线键盘,其他数组值无效|
  5137 +| keySn| 键盘Sn| ä¸èƒ½ä¸ºç©º|
4964 5138 | scoreMode| 分数模å¼|1:清除<br>2:字符显示(默认值)<br>3:五角星显示<br>4:爱心显示[S6有效]|
4965 5139 | scoreValue| 分数值|scoreMode == 1,此处无效. <br>scoreMode == 2,8个字符长度. <br>scoreMode == 3,0~6,2个分数表示1个五角星,最多3个. <br> scoreMode == 4,0~6,2个分数表示1个爱心,最多3个 [S6有效]|
4966 5140 |tipText|æç¤ºæ–‡æœ¬| 最多8个汉字(16个字符),键盘第二行显示|
... ... @@ -4973,6 +5147,7 @@ params:{}//数组对象,字段ä¸å¡«åˆ™ä¿ç•™ä¸Šæ¬¡å€¼ã€‚
4973 5147 {
4974 5148 "fun": "writeKeypadCustomInfo",
4975 5149 "baseId": 1,
  5150 + "baseSnList":["2023031402"],
4976 5151 "params": [{
4977 5152 "keySn": "1479824643",
4978 5153 "scoreMode": "2",
... ... @@ -5003,6 +5178,7 @@ infos:{}//数组对象
5003 5178 {
5004 5179 "fun": "writeKeypadCustomInfo",
5005 5180 "baseId": 0,
  5181 + "baseSn":"2023031402",
5006 5182 "infos": [{
5007 5183 "keySn": "1479824643",
5008 5184 "state": "OK"
... ... @@ -5011,25 +5187,6 @@ infos:{}//数组对象
5011 5187 }
5012 5188 ```
5013 5189  
5014   -所有键盘
5015   -
5016   -fun: "writeKeypadCustomInfo" //写键盘的用户信æ¯
5017   -baseId:0 //接收到指令的基站ID
5018   -infos:{"state":"OK"}//返回状æ€,æˆåŠŸä¸ºOK
5019   -
5020   -
5021   -指令样例:
5022   -
5023   -```json
5024   -{
5025   - "fun": "writeKeypadCustomInfo",
5026   - "baseId": 0,
5027   - "infos": {
5028   - "state": "OK"
5029   - },
5030   - "packetTag": "1"
5031   -}
5032   -```
5033 5190  
5034 5191 支æŒè®¾å¤‡è¯´æ˜Ž
5035 5192  
... ... @@ -5050,7 +5207,7 @@ params:{}//数组对象,字段ä¸å¡«åˆ™ä¿ç•™ä¸Šæ¬¡å€¼ã€‚
5050 5207  
5051 5208 | **Json字段** | **字段å«ä¹‰** | **赋值åŠå«ä¹‰** |
5052 5209 | --- | --- | --- |
5053   -|keySn|键盘SN|空则为所有在线键盘,其他数组值无效|
  5210 +|keySn|键盘SN|ä¸èƒ½ä¸ºç©º|
5054 5211 |userName|å§“å|最多24个汉字(48个字符),键盘左上角显示|
5055 5212  
5056 5213 指令样例:
... ... @@ -5059,6 +5216,7 @@ params:{}//数组对象,字段ä¸å¡«åˆ™ä¿ç•™ä¸Šæ¬¡å€¼ã€‚
5059 5216 {
5060 5217 "fun": "writeKeypadUserName",
5061 5218 "baseId": 1,
  5219 + "baseSnList":["2023031402"],
5062 5220 "params": [{
5063 5221 "keySn": "1479824643",
5064 5222 "userName": "张三"
... ... @@ -5086,6 +5244,7 @@ infos:{}//数组对象
5086 5244 {
5087 5245 "fun": "writeKeypadUserName",
5088 5246 "baseId": 0,
  5247 + "baseSn":"2023031402",
5089 5248 "infos": {
5090 5249 "keySn": "1479824643",
5091 5250 "state": "OK"
... ... @@ -5107,6 +5266,7 @@ infos:{&quot;state&quot;:&quot;OK&quot;}//返回状æ€,æˆåŠŸä¸ºOK
5107 5266 {
5108 5267 "fun": "writeKeypadUserName",
5109 5268 "baseId": 0,
  5269 + "baseSn":"2023031402",
5110 5270 "infos": {
5111 5271 "state": "OK"
5112 5272 },
... ... @@ -5140,6 +5300,7 @@ params:{}//数组对象,字段ä¸å¡«åˆ™ä¿ç•™ä¸Šæ¬¡å€¼ã€‚
5140 5300 {
5141 5301 "fun": "writeOneKeypadUserName",
5142 5302 "baseId": 0,
  5303 + "baseSnList":["2023031402"],
5143 5304 "params": [{
5144 5305 "keySn": "1479824643",
5145 5306 "value": "张三"
... ... @@ -5166,6 +5327,7 @@ infos:{}//数组对象
5166 5327 {
5167 5328 "fun": "oneKeypadUserName",
5168 5329 "baseId": 1,
  5330 + "baseSn":"2023031402",
5169 5331 "infos": {
5170 5332 "keySn": "1479824643",
5171 5333 "value": "张三"
... ... @@ -5204,6 +5366,7 @@ infos:{} //数组对象
5204 5366 {
5205 5367 "fun": "keypadOnLine",
5206 5368 "baseId": 0,
  5369 + "baseSn":"2023031402",
5207 5370 "infos": [{
5208 5371 "baseId": "1",
5209 5372 "keySn": "1837454011",
... ... @@ -5228,7 +5391,7 @@ infos:{} //数组对象
5228 5391  
5229 5392 ### 主动获å–在线信æ¯
5230 5393  
5231   -应用程åºåœ¨éœ€è¦æ—¶ï¼Œä¹Ÿå¯ä¸»åŠ¨èŽ·å–æ‰€æœ‰åœ¨çº¿é”®ç›˜ä¿¡æ¯ã€‚
  5394 +应用程åºåœ¨éœ€è¦æ—¶ï¼Œä¹Ÿå¯ä¸»åŠ¨èŽ·å–æ‰€æœ‰åŸºç«™åœ¨çº¿é”®ç›˜ä¿¡æ¯ã€‚
5232 5395  
5233 5396 <font color="#dd0000" size="5">注æ„:请ä¸è¦åœ¨å¼€å¯æŠ•票业务时使用。</font><br />
5234 5397  
... ... @@ -5244,7 +5407,6 @@ params:{
5244 5407 ```json
5245 5408 {
5246 5409 "fun": "getKeypadOnLine",
5247   - "baseId": 0,
5248 5410 "params": {
5249 5411 "times": 2
5250 5412 },
... ...
通讯协议-SDK应用部分[内部].md
... ... @@ -8,7 +8,7 @@ WSCmdAppå议接å£è¯´æ˜Ž
8 8  
9 9  
10 10 <div style="text-align: center;font-size: 30px;">
11   -Ver5.1.3
  11 +Ver5.1.5
12 12 </div>
13 13 <br>
14 14 <br>
... ... @@ -46,6 +46,7 @@ Ver5.1.3
46 46 |5.1.1| 2023å¹´10月09æ—¥|陈定æ•|1. åˆå§‹ç‰ˆ|
47 47 |5.1.2| 2023å¹´11月07æ—¥|陈定æ•|1. 增加é…对模å¼è®¾ç½®æŽ¥å£|
48 48 |5.1.3| 2023å¹´11月15æ—¥|陈定æ•|1. 更新语音题接å£å‚æ•°|
  49 +|5.1.5| 2023å¹´12月28æ—¥|陈定æ•|1. 增加Json指令支æŒåŸºç«™id和基站SNä¸¤ç§æ¨¡å¼|
49 50  
50 51 <br>
51 52  
... ... @@ -77,7 +78,8 @@ heartBeatOnOf:å¿ƒè·³åˆ¤å®šå¼€å…³ï¼Œæ­¤å‚æ•°é…åˆå议文档中的“心跳â€
77 78 当傿•°é…置为1: WSCmdApp会é…åˆçš„回å¤å¯¹åº”傿•°ï¼Œè¿›å…¥å¿ƒè·³æ£€æµ‹ç¨‹åºã€‚
78 79 heartbeat: 心跳间隔时长 范围:10-60 å•ä½ç§’
79 80 当heartBeatOnOffé…置为1,并且WebSocketè¿è¡Œæ¨¡å¼ä¸ºå®¢æˆ·ç«¯æ—¶ï¼Œè¿›å…¥å¿ƒè·³æ£€æµ‹ç¨‹åºåŽï¼Œåœ¨å•使—¶é—´æ²¡æœ‰æ”¶åˆ°å¿ƒè·³æŒ‡ä»¤ï¼ŒWebSocket客户端会é‡å¯ï¼Œé‡æ–°è¿žæŽ¥æœåŠ¡å™¨ã€‚
80   -
  81 +language:切æ¢WSCmdApp使用的语言,0:简体中文 1:英文
  82 +jsonBase:切æ¢Json指令中使用基站ID还是基站SN, 0:基站ID生效,基站SN无效,1:基站SN生效,基站ID无效。
81 83  
82 84 # 设计目的
83 85  
... ... @@ -91,12 +93,15 @@ heartbeat: 心跳间隔时长 范围:10-60 å•ä½ç§’
91 93  
92 94 应用程åºå’ŒWSCmdApp之间采用Jsonæ•°æ®é€šä¿¡ï¼Œé€šä¿¡çš„基本格å¼å¦‚下:
93 95  
  96 +关于baseIdå’ŒbaseSnList的使用说明:二者使用切æ¢å¯ä»¥åœ¨config.ini 文件的关键字jsonBase中切æ¢ï¼Œ0:基站ID生效[baseId的值有效],基站SN无效,1:基站SN生效[baseSnList的值有效],基站ID无效,baseSnList是字符串数字类型,å¯ä»¥ä¼ é€’一个基站SN也å¯ä»¥ä¼ é€’多个基站SN。
  97 +
94 98 下å‘ï¼šåº”ç”¨ç¨‹åº -> WSCmdApp
95 99  
96 100 ```json
97 101 {
98 102 fun: "" // 功能定义
99 103 baseId: 1 // 基站id,数字类型
  104 + baseSnList:["2023031402"] //基站SN列表,字符串数组
100 105 params: {} //傿•°å¯¹è±¡/数组
101 106 packetTag: "" //æ•°æ®åŒ…标签字符串
102 107 }
... ... @@ -104,7 +109,8 @@ heartbeat: 心跳间隔时长 范围:10-60 å•ä½ç§’
104 109  
105 110 fun 为功能对应的åç§° 如:"readBaseStationID" 读å–基站的id,"startChoices" //开始选择题, "stopChoices" //åœæ­¢é€‰æ‹©é¢˜.
106 111  
107   -baseId:基站ID,用æ¥åŒºåˆ†åŸºç«™æ ‡å¿—,0代表所有基站,1代表1å·åŸºç«™ã€‚
  112 +baseId:基站ID,用æ¥åŒºåˆ†åŸºç«™æ ‡å¿—,0代表所有基站,1代表1å·åŸºç«™ã€‚[æ­¤å‚æ•°è¯·å’Œconfig.ini 文件的关键字jsonBase的值é…åˆä½¿ç”¨]
  113 +baseSnList:基站SN列表,用æ¥åŒºåˆ†åŸºç«™æ ‡å¿—。[æ­¤å‚æ•°è¯·å’Œconfig.ini 文件的关键字jsonBase的值é…åˆä½¿ç”¨]
108 114 paramsï¼šå‚æ•°ï¼ŒåŠŸèƒ½ç›¸å¯¹äºŽçš„å‚æ•°ï¼Œå¯ä»¥æ˜¯æ•°ç»„或字段。
109 115 packerTag:这个是扩展字段,内容需è¦åº”用程åºç®¡ç†ï¼ŒåŠŸèƒ½ç›¸åº”çš„å馈指令packerTagä½ç½®ä¼šå馈相åŒå­—符串,方便应用程åºè·Ÿè¸ªè®°å½•。
110 116  
... ... @@ -114,6 +120,7 @@ packerTag:这个是扩展字段,内容需è¦åº”用程åºç®¡ç†ï¼ŒåŠŸèƒ½ç›¸åº”ç
114 120 {
115 121 fun: "" //功能定义
116 122 baseId: 1 //基站id,数字类型
  123 + baseSn:"2023031402" //基站SN
117 124 infos: {} //ä¿¡æ¯å¯¹è±¡/数组
118 125 packetTag: "" // æ•°æ®åŒ…标签字符串。
119 126 }
... ... @@ -121,6 +128,7 @@ packerTag:这个是扩展字段,内容需è¦åº”用程åºç®¡ç†ï¼ŒåŠŸèƒ½ç›¸åº”ç
121 128  
122 129 fun: 功能对应的åç§°,如:"BaseStationID"读å–基站id, " answerChoices" //选择题键盘å馈值.
123 130 baseId: 基站ID,用æ¥åŒºåˆ†åŸºç«™æ ‡å¿—ï¼›0特殊代表所有基站,1代表1å·åŸºç«™ã€‚
  131 +baseSn: 基站SN,用æ¥åŒºåˆ†åŸºç«™æ ‡å¿—。
124 132 infos: WSCmdAppå馈给APP层的数æ®ã€‚具体详è§å…·ä½“功能定义。
125 133 packetTag:这个是扩展字段,内容需è¦åº”用程åºç®¡ç†ï¼Œå馈接收到的字符串。
126 134  
... ... @@ -156,12 +164,15 @@ WSCmdApp端被设置为Websocket å®¢æˆ·ç«¯æ¨¡å¼æ—¶ï¼Œ WSCmdApp将自动根æ®å¿
156 164  
157 165 应用程åºå’ŒWSCmdApp之间采用Jsonæ•°æ®é€šä¿¡ï¼Œé€šä¿¡çš„基本格å¼å¦‚下:
158 166  
  167 +
  168 +
159 169 下å‘ï¼šåº”ç”¨ç¨‹åº ->WSCmdApp
160 170  
161 171 ```json
162 172 {
163 173 fun: "" // 功能定义
164 174 baseId: 1 // 基站id,数字类型
  175 + baseSnList:["2023031402"] //基站SN列表,字符串数组
165 176 params: {} //傿•°å¯¹è±¡/数组
166 177 packetTag: "" //æ•°æ®åŒ…标签字符串
167 178 }
... ... @@ -169,7 +180,9 @@ WSCmdApp端被设置为Websocket å®¢æˆ·ç«¯æ¨¡å¼æ—¶ï¼Œ WSCmdApp将自动根æ®å¿
169 180  
170 181 fun:为功能定义,下å‘命令,è¦ä¸‹å‘的命令函数
171 182  
172   -baseId:基站IDï¼Œæ•°å­—ç±»åž‹ï¼Œå¦‚æžœä¸æŒ‡å®šå…·ä½“基站ID,å¯ä»¥ä¼ 0或者ä¸ä¼ è¯¥Keyå€¼ã€‚å¦‚æžœè¦æŒ‡å®šå¤šä¸ªåŸºç«™ID,则需è¦å¤šæ¬¡ä¸‹å‘该命令,切æ¢ä¸åŒçš„基站ID进行å‘é€ã€‚
  183 +baseId:基站IDï¼Œæ•°å­—ç±»åž‹ï¼Œå¦‚æžœä¸æŒ‡å®šå…·ä½“基站ID,å¯ä»¥ä¼ 0或者ä¸ä¼ è¯¥Keyå€¼ã€‚å¦‚æžœè¦æŒ‡å®šå¤šä¸ªåŸºç«™ID,则需è¦å¤šæ¬¡ä¸‹å‘该命令,切æ¢ä¸åŒçš„基站ID进行å‘é€ã€‚[æ­¤å‚æ•°è¯·å’Œconfig.ini 文件的关键字jsonBase的值é…åˆä½¿ç”¨]
  184 +
  185 +baseSnList:基站SN列表,字符串数组。å¯ä»¥ä¼ é€’一个基站SN也å¯ä»¥ä¼ é€’多个基站SN。[æ­¤å‚æ•°è¯·å’Œconfig.ini 文件的关键字jsonBase的值é…åˆä½¿ç”¨]
173 186  
174 187 paramsï¼šå‚æ•°ï¼Œå¯ä»¥ä¸ºå¯¹è±¡æˆ–者数组,用于伴éšå‘½ä»¤ä¸‹å‘的数æ®é™„属包,详è§å…·ä½“功能定义。
175 188  
... ... @@ -182,6 +195,7 @@ packerTag:
182 195 {
183 196 fun: "" //功能定义
184 197 baseId: 1 //基站id,数字类型
  198 + baseSn:"2023031402" //基站SN
185 199 infos: {} //ä¿¡æ¯å¯¹è±¡/数组
186 200 packetTag: "" // æ•°æ®åŒ…æ ‡ç­¾å­—ç¬¦ä¸²ï¼Œç”¨äºŽåŒºåˆ«å½“å‰æŒ‡ä»¤ä¸Žå…¶ä»–指令。WSCmdAppå‘é€ç»™åº”用程åºçš„用自增数字标记。WSCmdApp回å¤åº”用程åºçš„,直接回填WSCmdApp收到的标签。
187 201 }
... ... @@ -189,6 +203,7 @@ packerTag:
189 203  
190 204 fun:åŒä¸‹å‘æè¿°.
191 205 baseId:åŒä¸‹å‘æè¿°.
  206 +baseSn:åŒä¸‹å‘æè¿°.
192 207 infos:WSCmdAppå馈给应用程åºå±‚的数æ®ã€‚具体详è§å…·ä½“功能定义。
193 208 packetTag:æ•°æ®æ ‡ç­¾å­—符串,å馈功能函数的状æ€ä¸ºåº”用程åºé™„带的数æ®åŒ…,如果WSCmdApp主动å‘逿•°æ®ï¼Œæ˜¯ä¸€ç»„自增数æ®ã€‚
194 209  
... ... @@ -241,15 +256,12 @@ packetTag:&quot;1&quot;//æ•°æ®åŒ…标签
241 256 读å–在线基站状æ€
242 257 å‘é€ï¼š
243 258 fun: "readConnectBase" //连接基站
244   -baseId:0 //基站ID
245   -params:{} //为空
246 259 packetTag:"1" //
247 260  
248 261 指令样例:
249 262 ```json
250 263 {
251 264 "fun": "readConnectBase",
252   - "baseId": 0,
253 265 "packetTag": "1"
254 266 }
255 267 ```
... ... @@ -258,6 +270,7 @@ packetTag:&quot;1&quot; //
258 270  
259 271 fun: "connectBase" //连接基站
260 272 baseId:1 //基站ID
  273 +baseSn:"2023031402" //基站SN
261 274 infos: {"state":"OK"} //OK连接æˆåŠŸ
262 275 packetTag:"1" //收到的packetTag
263 276  
... ... @@ -266,6 +279,7 @@ packetTag:&quot;1&quot; //收到的packetTag
266 279 {
267 280 "fun": "connectBase",
268 281 "baseId": 1,
  282 + "baseSn":"2023031402",
269 283 "infos": {
270 284 "state": "OK"
271 285 },
... ... @@ -279,6 +293,7 @@ packetTag:&quot;1&quot; //收到的packetTag
279 293  
280 294 fun: "connectBase" //连接基站
281 295 baseId:1 //基站ID
  296 +baseSn:"2023031402" //基站SN
282 297 infos: {"state":"OK"} //OK连接æˆåŠŸ
283 298 packetTag:"1" //收到的packetTag
284 299  
... ... @@ -287,6 +302,7 @@ packetTag:&quot;1&quot; //收到的packetTag
287 302 {
288 303 "fun": "connectBase",
289 304 "baseId": 1,
  305 + "baseSn":"2023031402",
290 306 "infos": {
291 307 "state": "OK"
292 308 },
... ... @@ -310,6 +326,7 @@ packetTag:&quot;1&quot;
310 326 {
311 327 "fun": "disconnectBase",
312 328 "baseId": 1,
  329 + "baseSn":"2023031402",
313 330 "packetTag": "1"
314 331 }
315 332 ```
... ... @@ -329,6 +346,7 @@ params:{} //无该值
329 346 {
330 347 "fun": "resetBase",
331 348 "baseId": 1,
  349 + "baseSnList":["2023031402"],
332 350 "packetTag": "1"
333 351 }
334 352 ```
... ... @@ -401,6 +419,7 @@ infos:{}//数组对象
401 419 {    
402 420 "fun": "startBindKeypad",
403 421 "baseId": 1,
  422 + "baseSnList":["2023031402"],
404 423 "infos": [{            
405 424 "keySn": "1837454011",
406 425 "state": "OK"        
... ... @@ -425,24 +444,11 @@ params:{} //为空
425 444 {    
426 445 "fun": "startBindKeypad",
427 446 "baseId": 1,
  447 + "baseSnList":["2023031402"],
428 448 "packetTag": "1"
429 449 }
430 450 ```
431 451  
432   -åœæ­¢ä½œç­”
433   -
434   -指令样例:
435   -
436   -```json
437   -{       
438   - "keySnList": [{            
439   - "keySn": "1837454011"        
440   - }, {            
441   - "keySn": "1837454012"        
442   - }]
443   -}
444   -```
445   -
446 452 键盘的接收状æ€è¿”回
447 453  
448 454 fun: "stopXXKeypad" //åœæ­¢XX作答键盘(XXæ˜¯åœæ­¢ä½œç­”对应具体åç§°)
... ... @@ -455,6 +461,7 @@ infos:{}//数组对象
455 461 {
456 462 "fun": "stopBindKeypad",
457 463 "baseId": 1,
  464 + "baseSn":"2023031402",
458 465 "infos": [{
459 466 "keySn": "1837454011",
460 467 "state": "OK"
... ... @@ -476,6 +483,7 @@ params:{} //为空
476 483 {
477 484 "fun": "stopBindKeypad",
478 485 "baseId": 1,
  486 + "baseSnList":["2023031402"],
479 487 "packetTag": "1"
480 488 }
481 489 ```
... ... @@ -508,6 +516,7 @@ params:{}
508 516 {
509 517 "fun": "startBind",
510 518 "baseId": 0,
  519 + "baseSnList":["2023031402"],
511 520 "params": {
512 521 "bindMode": "1",
513 522 "lessMode": "0",
... ... @@ -541,6 +550,7 @@ infos:{}
541 550 {
542 551 "fun": "answerBind",
543 552 "baseId": 1,
  553 + "baseSn":"2023031402",
544 554 "infos": {
545 555 "time": "2.42",
546 556 "keySn": "1479824643",
... ... @@ -563,6 +573,7 @@ params:{} //默认空
563 573 {
564 574 "fun": "stopBind",
565 575 "baseId": 0,
  576 + "baseSnList":["2023031402"],
566 577 "packetTag": "1"
567 578 }
568 579 ```
... ... @@ -620,6 +631,7 @@ params:{}
620 631 {
621 632 "fun": "startChoices",
622 633 "baseId": 0,
  634 + "baseSnList":["2023031402"],
623 635 "params": {
624 636 "optionsMode": "1",
625 637 "secrecyMode": "0",
... ... @@ -644,6 +656,7 @@ infos:{&quot;state&quot;:&quot;OK&quot;}//返回状æ€,æˆåŠŸä¸ºOK
644 656 {
645 657 "fun": "startChoices",
646 658 "baseId": 1,
  659 + "baseSn":"2023031402",
647 660 "infos": {
648 661 "state": "OK"
649 662 },
... ... @@ -662,9 +675,10 @@ infos: {}
662 675  
663 676 |Json字段|字段å«ä¹‰|赋值åŠå«ä¹‰|
664 677 |---|---|---|
665   -| time|答题时间|å•ä½ç§’|
  678 +|time|答题时间|å•ä½ç§’|
666 679 |keySn|键盘Sn||
667 680 |keyValue|键值|键盘æäº¤çš„值|
  681 +|keyBattery|电池状æ€|S6键盘电压值(V)<br>T2键盘电é‡å€¼ï¼ˆ%)|
668 682  
669 683  
670 684 指令样例:
... ... @@ -672,6 +686,7 @@ infos: {}
672 686 {
673 687 "fun": "answerChoices",
674 688 "baseId": 1,
  689 + "baseSn":"2023031402",
675 690 "infos": {
676 691 "time": "2.42",
677 692 "keySn": "1479824643",
... ... @@ -693,6 +708,7 @@ params:{} //默认空
693 708 {
694 709 "fun": "stopChoices",
695 710 "baseId": 0,
  711 + "baseSnList":["2023031402"],
696 712 "packetTag": "1"
697 713 }
698 714 ```
... ... @@ -709,6 +725,7 @@ infos:{&quot;state&quot;:&quot;OK&quot;}//返回状æ€,æˆåŠŸä¸ºOK
709 725 {
710 726 "fun": "stopChoices",
711 727 "baseId": 1,
  728 + "baseSn":"2023031402",
712 729 "infos": {
713 730 "state": "OK"
714 731 },
... ... @@ -747,6 +764,7 @@ params:{}
747 764 {
748 765 "fun": "startTrueFalse",
749 766 "baseId": 0,
  767 + "baseSnList":["2023031402"],
750 768 "params": {
751 769 "optionsMode": "1",
752 770 "secrecyMode": "0",
... ... @@ -768,6 +786,7 @@ infos:{&quot;state&quot;:&quot;OK&quot;}//返回状æ€,æˆåŠŸä¸ºOK
768 786 {
769 787 "fun": "startTrueFalse",
770 788 "baseId": 1,
  789 + "baseSn":"2023031402",
771 790 "infos": {
772 791 "state": "OK"
773 792 },
... ... @@ -796,6 +815,7 @@ infos: {}
796 815 {
797 816 "fun": "answerTrueFalse",
798 817 "baseId": 1,
  818 + "baseSn":"2023031402",
799 819 "infos": {
800 820 "time": "2.42",
801 821 "keySn": "1479824643",
... ... @@ -818,6 +838,7 @@ params:{} //默认空
818 838 {
819 839 "fun": "stopTrueFalse",
820 840 "baseId": 0,
  841 + "baseSnList":["2023031402"],
821 842 "packetTag": "1"
822 843 }
823 844 ```
... ... @@ -834,6 +855,7 @@ infos:{&quot;state&quot;:&quot;OK&quot;}//返回状æ€,æˆåŠŸä¸ºOK
834 855 {
835 856 "fun": "stopTrueFalse",
836 857 "baseId": 1,
  858 + "baseSn":"2023031402",
837 859 "infos": {
838 860 "state": "OK"
839 861 },
... ... @@ -874,6 +896,7 @@ params:{}
874 896 {
875 897 "fun": "startMulQuestions",
876 898 "baseId": 0,
  899 + "baseSnList":["2023031402"],
877 900 "params": {
878 901 "questionType": "0",
879 902 "secrecyMode": "0",
... ... @@ -898,6 +921,7 @@ infos:{&quot;state&quot;:&quot;OK&quot;}//返回状æ€,æˆåŠŸä¸ºOK
898 921 {
899 922 "fun": "startMulQuestions",
900 923 "baseId": 1,
  924 + "baseSn":"2023031402",
901 925 "infos": {
902 926 "state": "OK"
903 927 },
... ... @@ -925,6 +949,7 @@ infos: {}
925 949 {
926 950 "fun": "answerMulQuestions",
927 951 "baseId": 1,
  952 + "baseSn":"2023031402",
928 953 "infos": {
929 954 "time": "2.42",
930 955 "keySn": "1479824643",
... ... @@ -947,6 +972,7 @@ params:{} //默认空
947 972 {
948 973 "fun": "stopMulQuestions",
949 974 "baseId": 0,
  975 + "baseSnList":["2023031402"],
950 976 "packetTag": "1"
951 977 }
952 978 ```
... ... @@ -963,6 +989,7 @@ infos:{&quot;state&quot;:&quot;OK&quot;} //返回状æ€,æˆåŠŸä¸ºOK
963 989 {
964 990 "fun": "stopMulQuestions",
965 991 "baseId": 1,
  992 + "baseSn":"2023031402",
966 993 "infos": {
967 994 "state": "OK"
968 995 },
... ... @@ -1003,6 +1030,7 @@ params:{}
1003 1030 {
1004 1031 "fun": "startVoice",
1005 1032 "baseId": 0,
  1033 + "baseSnList":["2023031402"],
1006 1034 "params": {
1007 1035 "recordingMode": "0",
1008 1036 "submitTimes": "0",
... ... @@ -1031,6 +1059,7 @@ params:{}
1031 1059 {
1032 1060 "fun": "startVoice",
1033 1061 "baseId": 0,
  1062 + "baseSnList":["2023031402"],
1034 1063 "params": {
1035 1064 "recordingMode": "0",
1036 1065 "submitTimes": "0",
... ... @@ -1056,6 +1085,7 @@ infos:{&quot;state&quot;:&quot;OK&quot;}//返回状æ€,æˆåŠŸä¸ºOK
1056 1085 {
1057 1086 "fun": "startVoice",
1058 1087 "baseId": 1,
  1088 + "baseSn":"2023031402",
1059 1089 "infos": {
1060 1090 "state": "OK"
1061 1091 },
... ... @@ -1086,6 +1116,7 @@ infos: {}
1086 1116 {
1087 1117 "fun": "answerVoiceFile",
1088 1118 "baseId": 1,
  1119 + "baseSn":"2023031402",
1089 1120 "infos": {
1090 1121 "keySn": "1479749926",
1091 1122 "filePath": "D:\voice\3_1479749926_196_2023-08-21 16-09-02 530.Mp3"
... ... @@ -1121,6 +1152,7 @@ infos: {}
1121 1152 {
1122 1153 "fun": "answerVoiceStream",
1123 1154 "baseId": 1,
  1155 + "baseSn":"2023031402",
1124 1156 "infos": {
1125 1157 "keySn": "1479824643",
1126 1158 "voiceId": "1",
... ... @@ -1153,6 +1185,7 @@ params:{} //默认空,
1153 1185 {
1154 1186 "fun": "stopVoice",
1155 1187 "baseId": 0,
  1188 + "baseSnList":["2023031402"],
1156 1189 "packetTag": "1"
1157 1190 }
1158 1191 ```
... ... @@ -1169,6 +1202,7 @@ infos:{&quot;state&quot;:&quot;OK&quot;}//返回状æ€,æˆåŠŸä¸ºOK
1169 1202 {
1170 1203 "fun": "stopVoice",
1171 1204 "baseId": 1,
  1205 + "baseSn":"2023031402",
1172 1206 "infos": {
1173 1207 "state": "OK"
1174 1208 },
... ... @@ -1204,6 +1238,7 @@ infos:{} //
1204 1238 {
1205 1239 "fun": "voicePacketLossInfo",
1206 1240 "baseId": 1,
  1241 + "baseSn":"2023031402",
1207 1242 "infos": {
1208 1243 "keySn": "1837454011",
1209 1244 "voiceId": "1",
... ... @@ -1243,6 +1278,7 @@ params:{}
1243 1278 {
1244 1279 "fun": "startRushAnswer",
1245 1280 "baseId": 0,
  1281 + "baseSnList":["2023031402"],
1246 1282 "params": {
1247 1283 "rushAnswerMode": "0",
1248 1284 "modifyMode": "1"
... ... @@ -1263,6 +1299,7 @@ infos:{&quot;state&quot;:&quot;OK&quot;}//返回状æ€,æˆåŠŸä¸ºOK
1263 1299 {
1264 1300 "fun": "startRushAnswer",
1265 1301 "baseId": 1,
  1302 + "baseSn":"2023031402",
1266 1303 "infos": {
1267 1304 "state": "OK"
1268 1305 },
... ... @@ -1290,6 +1327,7 @@ infos: {}
1290 1327 {
1291 1328 "fun": "answerRushAnswer",
1292 1329 "baseId": 1,
  1330 + "baseSn":"2023031402",
1293 1331 "infos": {
1294 1332 "time": "1.42",
1295 1333 "keySn": "1479824643",
... ... @@ -1311,6 +1349,7 @@ params:{} //默认空
1311 1349 {
1312 1350 "fun": "stopRushAnswer",
1313 1351 "baseId": 0,
  1352 + "baseSnList":["2023031402"],
1314 1353 "packetTag": "1"
1315 1354 }
1316 1355 ```
... ... @@ -1327,6 +1366,7 @@ infos:{&quot;state&quot;:&quot;OK&quot;}//返回状æ€,æˆåŠŸä¸ºOK
1327 1366 {
1328 1367 "fun": "stopRushAnswer",
1329 1368 "baseId": 1,
  1369 + "baseSn":"2023031402",
1330 1370 "infos": {
1331 1371 "state": "OK"
1332 1372 },
... ... @@ -1368,6 +1408,7 @@ params:{}
1368 1408 {
1369 1409 "fun": "startNumber",
1370 1410 "baseId": 0,
  1411 + "baseSnList":["2023031402"],
1371 1412 "params": {
1372 1413 "secrecyMode": "0",
1373 1414 "modifyMode": "1",
... ... @@ -1392,6 +1433,7 @@ infos:{&quot;state&quot;:&quot;OK&quot;}//返回状æ€,æˆåŠŸä¸ºOK
1392 1433 {
1393 1434 "fun": "startNumber",
1394 1435 "baseId": 1,
  1436 + "baseSn":"2023031402",
1395 1437 "infos": {
1396 1438 "state": "OK"
1397 1439 },
... ... @@ -1420,6 +1462,7 @@ infos: {}
1420 1462 {
1421 1463 "fun": "answerNumber",
1422 1464 "baseId": 1,
  1465 + "baseSn":"2023031402",
1423 1466 "infos": {
1424 1467 "time": "2.42",
1425 1468 "keySn": "1479824643",
... ... @@ -1442,6 +1485,7 @@ params:{} //默认空
1442 1485 {
1443 1486 "fun": "stopNumber",
1444 1487 "baseId": 0,
  1488 + "baseSnList":["2023031402"],
1445 1489 "packetTag": "1"
1446 1490 }
1447 1491 ```
... ... @@ -1458,6 +1502,7 @@ infos:{&quot;state&quot;:&quot;OK&quot;}//返回状æ€,æˆåŠŸä¸ºOK
1458 1502 {
1459 1503 "fun": "stopNumber",
1460 1504 "baseId": 1,
  1505 + "baseSn":"2023031402",
1461 1506 "infos": {
1462 1507 "state": "OK"
1463 1508 },
... ... @@ -1496,6 +1541,7 @@ params:{}
1496 1541 {
1497 1542 "fun": "startKeyPadTest",
1498 1543 "baseId": 0,
  1544 + "baseSnList":["2023031402"],
1499 1545 "params": {
1500 1546 "mode": "1",
1501 1547 "keyTime": "0",
... ... @@ -1529,6 +1575,7 @@ infos: {}
1529 1575 {
1530 1576 "fun": "answerKeyPadTest",
1531 1577 "baseId": 1,
  1578 + "baseSn":"2023031402",
1532 1579 "infos": {
1533 1580 "time": "2.42",
1534 1581 "keySn": "1479824643",
... ... @@ -1554,6 +1601,7 @@ params:{} //默认空
1554 1601 {
1555 1602 "fun": "stopKeyPadTest",
1556 1603 "baseId": 0,
  1604 + "baseSnList":["2023031402"],
1557 1605 "packetTag": "1"
1558 1606 }
1559 1607 ```
... ... @@ -1570,6 +1618,7 @@ infos:{&quot;state&quot;:&quot;OK&quot;}//返回状æ€,æˆåŠŸä¸ºOK
1570 1618 {
1571 1619 "fun": "stopKeyPadTest",
1572 1620 "baseId": 1,
  1621 + "baseSn":"2023031402",
1573 1622 "infos": {
1574 1623 "state": "OK"
1575 1624 },
... ... @@ -1619,6 +1668,7 @@ params:{}
1619 1668 {
1620 1669 "fun": "startKeyPadMultipleQuestionsTest",
1621 1670 "baseId": 0,
  1671 + "baseSnList":["2023031402"],
1622 1672 "params": {
1623 1673 "examNo": 1,
1624 1674 "displayMode": 0,
... ... @@ -1647,6 +1697,7 @@ params:{}
1647 1697 {
1648 1698 "fun": "startKeyPadMultipleQuestionsTest",
1649 1699 "baseId": 0,
  1700 + "baseSnList":["2023031402"],
1650 1701 "params": {
1651 1702 "examNo": 1,
1652 1703 "displayMode": 0,
... ... @@ -1679,6 +1730,7 @@ params:{}
1679 1730 {
1680 1731 "fun": "startKeyPadMultipleQuestionsTest",
1681 1732 "baseId": 0,
  1733 + "baseSnList":["2023031402"],
1682 1734 "params": {
1683 1735 "examNo": 1,
1684 1736 "displayMode": 0,
... ... @@ -1715,6 +1767,7 @@ params:{}
1715 1767 {
1716 1768 "fun": "startKeyPadMultipleQuestionsTest",
1717 1769 "baseId": 0,
  1770 + "baseSnList":["2023031402"],
1718 1771 "params": {
1719 1772 "examNo": 1,
1720 1773 "displayMode": 1,
... ... @@ -1742,6 +1795,7 @@ params:{}
1742 1795 {
1743 1796 "fun": "startKeyPadMultipleQuestionsTest",
1744 1797 "baseId": 0,
  1798 + "baseSnList":["2023031402"],
1745 1799 "params": {
1746 1800 "examNo": 1,
1747 1801 "displayMode": 2,
... ... @@ -1775,6 +1829,7 @@ infos:{&quot;state&quot;:&quot;OK&quot;}//返回状æ€,æˆåŠŸä¸ºOK
1775 1829 {
1776 1830 "fun": "keyPadMultipleQuestionsTest",
1777 1831 "baseId": 1,
  1832 + "baseSn":"2023031402",
1778 1833 "infos": {
1779 1834 "state": "OK"
1780 1835 },
... ... @@ -1811,6 +1866,7 @@ params:{}
1811 1866 {
1812 1867 "fun": "startKeyPadMultipleQuestionsCourse",
1813 1868 "baseId": 0,
  1869 + "baseSnList":["2023031402"],
1814 1870 "params": {
1815 1871 "examNo": 1,
1816 1872 "displayMode": 0,
... ... @@ -1857,6 +1913,7 @@ params:{}
1857 1913 {
1858 1914 "fun": "startKeyPadMultipleQuestionsCourse",
1859 1915 "baseId": 0,
  1916 + "baseSnList":["2023031402"],
1860 1917 "params": {
1861 1918 "examNo": 1,
1862 1919 "displayMode": 0,
... ... @@ -1889,6 +1946,7 @@ params:{}
1889 1946 {
1890 1947 "fun": "startKeyPadMultipleQuestionsCourse",
1891 1948 "baseId": 0,
  1949 + "baseSnList":["2023031402"],
1892 1950 "params": {
1893 1951 "examNo": 1,
1894 1952 "displayMode": 1,
... ... @@ -1921,6 +1979,7 @@ params:{}
1921 1979 {
1922 1980 "fun": "startKeyPadMultipleQuestionsCourse",
1923 1981 "baseId": 0,
  1982 + "baseSnList":["2023031402"],
1924 1983 "params": {
1925 1984 "examNo": 1,
1926 1985 "displayMode": 2,
... ... @@ -1959,6 +2018,7 @@ infos:{&quot;state&quot;:&quot;OK&quot;}//返回状æ€,æˆåŠŸä¸ºOK
1959 2018 {
1960 2019 "fun": "keyPadMultipleQuestionsCourse",
1961 2020 "baseId": 1,
  2021 + "baseSn":"2023031402",
1962 2022 "infos": {
1963 2023 "state": "OK"
1964 2024 },
... ... @@ -1989,6 +2049,7 @@ params:{}
1989 2049 {
1990 2050 "fun": "startKeyPadMultipleQuestionsSubjective",
1991 2051 "baseId": 0,
  2052 + "baseSnList":["2023031402"],
1992 2053 "params": {
1993 2054 "examNo": 1,
1994 2055 "questions": [{
... ... @@ -2024,6 +2085,7 @@ infos:{&quot;state&quot;:&quot;OK&quot;}//返回状æ€,æˆåŠŸä¸ºOK
2024 2085 {
2025 2086 "fun": "KeyPadMultipleQuestionsSubjective",
2026 2087 "baseId": 1,
  2088 + "baseSn":"2023031402",
2027 2089 "infos": {
2028 2090 "state": "OK"
2029 2091 },
... ... @@ -2057,6 +2119,7 @@ infos: {}
2057 2119 {
2058 2120 "fun": "answerKeyPadMultipleQuestions",
2059 2121 "baseId": 1,
  2122 + "baseSn":"2023031402",
2060 2123 "infos": {
2061 2124 "time": "5.42",
2062 2125 "keySn": "1479824643",
... ... @@ -2081,8 +2144,8 @@ params:{} //默认空
2081 2144 ```json
2082 2145 {
2083 2146 "fun": "stopKeyPadMultipleQuestions",
2084   -
2085 2147 "baseId": 0,
  2148 + "baseSnList":["2023031402"],
2086 2149 "packetTag": "1"
2087 2150 }
2088 2151 ```
... ... @@ -2101,6 +2164,7 @@ infos:{&quot;state&quot;:&quot;OK&quot;}//返回状æ€,æˆåŠŸä¸ºOK
2101 2164 {
2102 2165 "fun": "stopKeyPadMultipleQuestions",
2103 2166 "baseId": 1,
  2167 + "baseSn":"2023031402",
2104 2168 "infos": {
2105 2169 "state": "OK"
2106 2170 },
... ... @@ -2123,8 +2187,8 @@ params:{} //默认空
2123 2187 ```json
2124 2188 {
2125 2189 "fun": "pauseKeyPadMultipleQuestions",
2126   -
2127 2190 "baseId": 0,
  2191 + "baseSnList":["2023031402"],
2128 2192 "packetTag": "1"
2129 2193 }
2130 2194 ```
... ... @@ -2144,6 +2208,7 @@ infos:{&quot;state&quot;:&quot;OK&quot;}//返回状æ€,æˆåŠŸä¸ºOK
2144 2208 {
2145 2209 "fun": "pauseKeyPadMultipleQuestions",
2146 2210 "baseId": 1,
  2211 + "baseSn":"2023031402",
2147 2212 "infos": {
2148 2213 "state": "OK"
2149 2214 },
... ... @@ -2183,6 +2248,7 @@ params:{}
2183 2248 {
2184 2249 "fun": "continueKeyPadMultipleQuestionsTest",
2185 2250 "baseId": 0,
  2251 + "baseSnList":["2023031402"],
2186 2252 "params": {
2187 2253 "examNo": 1,
2188 2254 "displayMode": 0,
... ... @@ -2210,6 +2276,7 @@ params:{}
2210 2276 {
2211 2277 "fun": "continueKeyPadMultipleQuestionsTest",
2212 2278 "baseId": 0,
  2279 + "baseSnList":["2023031402"],
2213 2280 "params": {
2214 2281 "examNo": 1,
2215 2282 "displayMode": 0,
... ... @@ -2241,6 +2308,7 @@ params:{}
2241 2308 {
2242 2309 "fun": "continueKeyPadMultipleQuestionsTest",
2243 2310 "baseId": 0,
  2311 + "baseSnList":["2023031402"],
2244 2312 "params": {
2245 2313 "examNo": 1,
2246 2314 "displayMode": 0,
... ... @@ -2276,6 +2344,7 @@ params:{}
2276 2344 {
2277 2345 "fun": "continueKeyPadMultipleQuestionsTest",
2278 2346 "baseId": 0,
  2347 + "baseSnList":["2023031402"],
2279 2348 "params": {
2280 2349 "examNo": 1,
2281 2350 "displayMode": 1,
... ... @@ -2303,6 +2372,7 @@ params:{}
2303 2372 {
2304 2373 "fun": "continueKeyPadMultipleQuestionsTest",
2305 2374 "baseId": 0,
  2375 + "baseSnList":["2023031402"],
2306 2376 "params": {
2307 2377 "examNo": 1,
2308 2378 "displayMode": 2,
... ... @@ -2336,6 +2406,7 @@ infos:{&quot;state&quot;:&quot;OK&quot;}//返回状æ€,æˆåŠŸä¸ºOK
2336 2406 {
2337 2407 "fun": "keyPadMultipleQuestionsTest",
2338 2408 "baseId": 1,
  2409 + "baseSn":"2023031402",
2339 2410 "infos": {
2340 2411 "state": "OK"
2341 2412 },
... ... @@ -2372,6 +2443,7 @@ params:{}
2372 2443 {
2373 2444 "fun": "continueKeyPadMultipleQuestionsCourse",
2374 2445 "baseId": 0,
  2446 + "baseSnList":["2023031402"],
2375 2447 "params": {
2376 2448 "examNo": 1,
2377 2449 "displayMode": 0,
... ... @@ -2420,6 +2492,7 @@ params:{}
2420 2492 {
2421 2493 "fun": "continueKeyPadMultipleQuestionsCourse",
2422 2494 "baseId": 0,
  2495 + "baseSnList":["2023031402"],
2423 2496 "params": {
2424 2497 "examNo": 1,
2425 2498 "displayMode": 0,
... ... @@ -2452,6 +2525,7 @@ params:{}
2452 2525 {
2453 2526 "fun": "continueKeyPadMultipleQuestionsCourse",
2454 2527 "baseId": 0,
  2528 + "baseSnList":["2023031402"],
2455 2529 "params": {
2456 2530 "examNo": 1,
2457 2531 "displayMode": 1,
... ... @@ -2484,6 +2558,7 @@ params:{}
2484 2558 {
2485 2559 "fun": "continueKeyPadMultipleQuestionsCourse",
2486 2560 "baseId": 0,
  2561 + "baseSnList":["2023031402"],
2487 2562 "params": {
2488 2563 "examNo": 1,
2489 2564 "displayMode": 2,
... ... @@ -2522,6 +2597,7 @@ infos:{&quot;state&quot;:&quot;OK&quot;}//返回状æ€,æˆåŠŸä¸ºOK
2522 2597 {
2523 2598 "fun": "keyPadMultipleQuestionsCourse",
2524 2599 "baseId": 1,
  2600 + "baseSn":"2023031402",
2525 2601 "infos": {
2526 2602 "state": "OK"
2527 2603 },
... ... @@ -2552,6 +2628,7 @@ params:{}
2552 2628 {
2553 2629 "fun": "continueKeyPadMultipleQuestionsSubjective",
2554 2630 "baseId": 0,
  2631 + "baseSnList":["2023031402"],
2555 2632 "params": {
2556 2633 "examNo": 1,
2557 2634 "questions": [{
... ... @@ -2587,6 +2664,7 @@ infos:{&quot;state&quot;:&quot;OK&quot;}//返回状æ€,æˆåŠŸä¸ºOK
2587 2664 {
2588 2665 "fun": "keyPadMultipleQuestionsSubjective",
2589 2666 "baseId": 1,
  2667 + "baseSn":"2023031402",
2590 2668 "infos": {
2591 2669 "state": "OK"
2592 2670 },
... ... @@ -2617,6 +2695,7 @@ params:{} //
2617 2695 {
2618 2696 "fun": "copyKeyPadMultipleQuestions",
2619 2697 "baseId": 1,
  2698 + "baseSnList":["2023031402"],
2620 2699 "params": {
2621 2700 "keySn": "0007831203",
2622 2701 "questions": [{
... ... @@ -2645,6 +2724,7 @@ infos:{&quot;state&quot;:&quot;OK&quot;}//返回状æ€,æˆåŠŸä¸ºOK
2645 2724 {
2646 2725 "fun": "copyKeyPadMultipleQuestions",
2647 2726 "baseId": 1,
  2727 + "baseSn":"2023031402",
2648 2728 "infos": {
2649 2729 "state": "OK"
2650 2730 },
... ... @@ -2673,6 +2753,7 @@ params:{} //默认空
2673 2753 {
2674 2754 "fun": "okKeyPadMultipleQuestions",
2675 2755 "baseId": 0,
  2756 + "baseSnList":["2023031402"],
2676 2757 "params": [{
2677 2758 "id": "1",
2678 2759 "questionType": "1",
... ... @@ -2698,6 +2779,7 @@ infos:{&quot;state&quot;:&quot;OK&quot;}//返回状æ€,æˆåŠŸä¸ºOK
2698 2779 {
2699 2780 "fun": "okKeyPadMultipleQuestions",
2700 2781 "baseId": 1,
  2782 + "baseSn":"2023031402",
2701 2783 "infos": {
2702 2784 "state": "OK"
2703 2785 },
... ... @@ -2735,6 +2817,7 @@ params:{}
2735 2817 {
2736 2818 "fun": "startTextAnswer",
2737 2819 "baseId": 0,
  2820 + "baseSnList":["2023031402"],
2738 2821 "params": {
2739 2822 "optionsMode": "1",
2740 2823 "modifyMode": "1",
... ... @@ -2756,6 +2839,7 @@ infos:{&quot;state&quot;:&quot;OK&quot;} //返回状æ€,æˆåŠŸä¸ºOK
2756 2839 {
2757 2840 "fun": "startTextAnswer",
2758 2841 "baseId": 1,
  2842 + "baseSn":"2023031402",
2759 2843 "infos": {
2760 2844 "state": "OK"
2761 2845 },
... ... @@ -2783,6 +2867,7 @@ infos: {}
2783 2867 {
2784 2868 "fun": "answerTextAnswer",
2785 2869 "baseId": 1,
  2870 + "baseSn":"2023031402",
2786 2871 "infos": {
2787 2872 "keySn": "1479824643",
2788 2873 "keyValue": "abcdef"
... ... @@ -2802,6 +2887,8 @@ params:{} //默认空
2802 2887 ```json
2803 2888 {
2804 2889 "fun": "stopTextAnswer",
  2890 + "baseId": 0,
  2891 + "baseSnList":["2023031402"],
2805 2892 "packetTag": "1"
2806 2893 }
2807 2894 ```
... ... @@ -2817,6 +2904,7 @@ infos:{&quot;state&quot;:&quot;OK&quot;}//返回状æ€,æˆåŠŸä¸ºOK
2817 2904 {
2818 2905 "fun": "stopTextAnswer",
2819 2906 "baseId": 1,
  2907 + "baseSn":"2023031402",
2820 2908 "infos": {
2821 2909 "state": "OK"
2822 2910 },
... ... @@ -2846,6 +2934,7 @@ params:{}
2846 2934 {
2847 2935 "fun": "startFreeQuestion",
2848 2936 "baseId": 0,
  2937 + "baseSnList":["2023031402"],
2849 2938 "params": {},
2850 2939 "packetTag": "1"
2851 2940 }
... ... @@ -2863,6 +2952,7 @@ infos:{&quot;state&quot;:&quot;OK&quot;} //返回状æ€,æˆåŠŸä¸ºOK
2863 2952 {
2864 2953 "fun": "startFreeQuestion",
2865 2954 "baseId": 1,
  2955 + "baseSn":"2023031402",
2866 2956 "infos": {
2867 2957 "state": "OK"
2868 2958 },
... ... @@ -2893,6 +2983,7 @@ infos: {}
2893 2983 {
2894 2984 "fun": "answerChoices",
2895 2985 "baseId": 1,
  2986 + "baseSn":"2023031402",
2896 2987 "infos": {
2897 2988 "keySn": "1479824643",
2898 2989 "keyValue": "ABC"
... ... @@ -2917,6 +3008,7 @@ infos: {}
2917 3008 {
2918 3009 "fun": "answerTrueFalse",
2919 3010 "baseId": 1,
  3011 + "baseSn":"2023031402",
2920 3012 "infos": {
2921 3013 "keySn": "1479824643",
2922 3014 "keyValue": "1"
... ... @@ -2940,6 +3032,7 @@ infos: {}
2940 3032 {
2941 3033 "fun": "answerNumber",
2942 3034 "baseId": 1,
  3035 + "baseSn":"2023031402",
2943 3036 "infos": {
2944 3037 "keySn": "1479824643",
2945 3038 "keyValue": "99.99"
... ... @@ -2961,6 +3054,8 @@ params:{} //默认空
2961 3054 ```json
2962 3055 {
2963 3056 "fun": "stopFreeQuestion",
  3057 + "baseId": 0,
  3058 + "baseSnList":["2023031402"],
2964 3059 "packetTag": "1"
2965 3060 }
2966 3061 ```
... ... @@ -2976,6 +3071,7 @@ infos:{&quot;state&quot;:&quot;OK&quot;}//返回状æ€,æˆåŠŸä¸ºOK
2976 3071 {
2977 3072 "fun": "stopFreeQuestion",
2978 3073 "baseId": 1,
  3074 + "baseSn":"2023031402",
2979 3075 "infos": {
2980 3076 "state": "OK"
2981 3077 },
... ... @@ -2995,6 +3091,7 @@ infos:{&quot;state&quot;:&quot;OK&quot;}//返回状æ€,æˆåŠŸä¸ºOK
2995 3091 {
2996 3092 "fun": "startKeyPadCustomQuestions",
2997 3093 "baseId": 0,
  3094 + "baseSnList":["2023031402"],
2998 3095 "params": {
2999 3096 "titleTable": ["数字表决1", "数字表决2", "数字表决3"],
3000 3097 "optionTable": [
... ... @@ -3141,6 +3238,7 @@ params:{}
3141 3238 {
3142 3239 "fun": "startKeyPadCustomQuestions",
3143 3240 "baseId": 0,
  3241 + "baseSnList":["2023031402"],
3144 3242 "params": {
3145 3243 "titleTable": ["å•选题", "数字表决"],
3146 3244 "optionTable": [
... ... @@ -3224,8 +3322,9 @@ infos:{&quot;state&quot;:&quot;OK&quot;}//返回状æ€,æˆåŠŸä¸ºOK
3224 3322  
3225 3323 ```json
3226 3324 {
3227   - "baseId": 1,
3228 3325 "fun": "startKeyPadCustomQuestions",
  3326 + "baseId": 1,
  3327 + "baseSn":"2023031402",
3229 3328 "infos": {
3230 3329 "state": "OK"
3231 3330 },
... ... @@ -3256,6 +3355,7 @@ infos: {}
3256 3355 {
3257 3356 "fun": "answerKeyPadCustomQuestions",
3258 3357 "baseId": 1,
  3358 + "baseSn":"2023031402",
3259 3359 "infos": {
3260 3360 "time": "5.42",
3261 3361 "keySn": "1479824643",
... ... @@ -3280,6 +3380,7 @@ params:{} //默认空
3280 3380 {
3281 3381 "fun": "stopKeyPadCustomQuestions",
3282 3382 "baseId": 0,
  3383 + "baseSnList":["2023031402"],
3283 3384 "packetTag": "1"
3284 3385 }
3285 3386 ```
... ... @@ -3296,6 +3397,7 @@ infos:{&quot;state&quot;:&quot;OK&quot;}//返回状æ€,æˆåŠŸä¸ºOK
3296 3397 {
3297 3398 "fun": "stopKeyPadCustomQuestions",
3298 3399 "baseId": 1,
  3400 + "baseSn":"2023031402",
3299 3401 "infos": {
3300 3402 "state": "OK"
3301 3403 },
... ... @@ -3376,6 +3478,7 @@ params:{}
3376 3478 {
3377 3479 "fun": "startKeyPadDigitalElections",
3378 3480 "baseId": 0,
  3481 + "baseSnList":["2023031402"],
3379 3482 "params": {
3380 3483 "titleTable": ["数字选举1", "数字选举2", "数字选举3"],
3381 3484 "optionTable": [
... ... @@ -3439,8 +3542,9 @@ infos:{&quot;state&quot;:&quot;OK&quot;}//返回状æ€,æˆåŠŸä¸ºOK
3439 3542  
3440 3543 ```json
3441 3544 {
3442   - "baseId": 1,
3443 3545 "fun": "startKeyPadCustomQuestions",
  3546 + "baseId": 1,
  3547 + "baseSn":"2023031402",
3444 3548 "infos": {
3445 3549 "state": "OK"
3446 3550 },
... ... @@ -3471,6 +3575,7 @@ infos: {}
3471 3575 {
3472 3576 "fun": "answerKeyPadCustomQuestions",
3473 3577 "baseId": 1,
  3578 + "baseSn":"2023031402",
3474 3579 "infos": {
3475 3580 "time": "5.42",
3476 3581 "keySn": "1479824643",
... ... @@ -3495,6 +3600,7 @@ params:{} //默认空
3495 3600 {
3496 3601 "fun": "stopKeyPadCustomQuestions",
3497 3602 "baseId": 0,
  3603 + "baseSnList":["2023031402"],
3498 3604 "packetTag": "1"
3499 3605 }
3500 3606 ```
... ... @@ -3511,6 +3617,7 @@ infos:{&quot;state&quot;:&quot;OK&quot;}//返回状æ€,æˆåŠŸä¸ºOK
3511 3617 {
3512 3618 "fun": "stopKeyPadCustomQuestions",
3513 3619 "baseId": 1,
  3620 + "baseSn":"2023031402",
3514 3621 "infos": {
3515 3622 "state": "OK"
3516 3623 },
... ... @@ -3555,6 +3662,7 @@ params:{}//
3555 3662 {
3556 3663 "fun": "writeNFCInfo",
3557 3664 "baseId": 1,
  3665 + "baseSnList":["2023031402"],
3558 3666 "params": {
3559 3667 "userName": "张三",
3560 3668 "matchCode": "22120007"
... ... @@ -3574,6 +3682,7 @@ infos:{&quot;value&quot;:&quot;OK&quot;}//返回状æ€,æˆåŠŸä¸ºOK
3574 3682 {
3575 3683 "fun": "writeNFCInfo",
3576 3684 "baseId": 1,
  3685 + "baseSn":"2023031402",
3577 3686 "infos": {
3578 3687 "value": "OK"
3579 3688 },
... ... @@ -3606,6 +3715,7 @@ infos:{}
3606 3715 {
3607 3716 "fun": "NFCInfo",
3608 3717 "baseId": 1,
  3718 + "baseSn":"2023031402",
3609 3719 "infos": {
3610 3720 "keySn": "1479824643",
3611 3721 "state": "4",
... ... @@ -3638,6 +3748,7 @@ params:{}//
3638 3748 {
3639 3749 "fun": "writeNFCEmpty",
3640 3750 "baseId": 1,
  3751 + "baseSnList":["2023031402"],
3641 3752 "params": {},
3642 3753 "packetTag": "1"
3643 3754 }
... ... @@ -3653,6 +3764,7 @@ infos:{&quot;value&quot;:&quot;OK&quot;}//返回状æ€,æˆåŠŸä¸ºOK
3653 3764 {
3654 3765 "fun": "writeNFCEmpty",
3655 3766 "baseId": 1,
  3767 + "baseSn":"2023031402",
3656 3768 "infos": {
3657 3769 "value": "OK"
3658 3770 },
... ... @@ -3688,6 +3800,7 @@ params:{}//å¯ä¸å¡«
3688 3800 {
3689 3801 "fun": "readBaseStationID",
3690 3802 "baseId": 2,
  3803 + "baseSnList":["2023031402"],
3691 3804 "packetTag": "1"
3692 3805 }
3693 3806 ```
... ... @@ -3706,6 +3819,7 @@ infos:{&quot;value&quot;:&quot;2&quot;}//返回基站ID
3706 3819 {
3707 3820 "fun": "baseStationID",
3708 3821 "baseId": 2,
  3822 + "baseSn":"2023031402",
3709 3823 "infos": {
3710 3824 "pathAdd": "12345",
3711 3825 "value": "2"
... ... @@ -3737,6 +3851,7 @@ params:{}//å¯ä¸å¡«
3737 3851 {
3738 3852 "fun": "readBaseStationChannel",
3739 3853 "baseId": 0,
  3854 + "baseSnList":["2023031402"],
3740 3855 "packetTag": "1"
3741 3856 }
3742 3857 ```
... ... @@ -3760,6 +3875,7 @@ params:{&quot;value&quot;:&quot;1&quot;}//1~12 (频点)
3760 3875 {
3761 3876 "fun": "writeBaseStationChannel",
3762 3877 "baseId": 1,
  3878 + "baseSnList":["2023031402"],
3763 3879 "params": {
3764 3880 "value": "3",
3765 3881 "values": ["3", "6", "9", "12"]
... ... @@ -3782,6 +3898,7 @@ infos:{&quot;value&quot;:&quot;3&quot;}//返回基站频点值
3782 3898 {
3783 3899 "fun": "baseStationChannel",
3784 3900 "baseId": 1,
  3901 + "baseSn":"2023031402",
3785 3902 "infos": {
3786 3903 "value": "3",
3787 3904 "values": ["3", "6", "9", "12"]
... ... @@ -3814,6 +3931,7 @@ params:{}//å¯ä¸å¡«
3814 3931 {
3815 3932 "fun": "readKeyboardLoginMenu",
3816 3933 "baseId": 0,
  3934 + "baseSnList":["2023031402"],
3817 3935 "packetTag": "1"
3818 3936 }
3819 3937 ```
... ... @@ -3832,6 +3950,7 @@ params:{&quot;value&quot;:&quot;1&quot;}//0~1 (0ä¸å…许登录;1å…许登录)
3832 3950 {
3833 3951 "fun": "writeKeyboardLoginMenu",
3834 3952 "baseId": 1,
  3953 + "baseSnList":["2023031402"],
3835 3954 "params": {
3836 3955 "value": "1"
3837 3956 },
... ... @@ -3854,6 +3973,7 @@ infos:{&quot;value&quot;:&quot;1&quot;}//返回键盘登录èœå•显示值
3854 3973 {
3855 3974 "fun": "baseStationKeyboardLoginMenu",
3856 3975 "baseId": 1,
  3976 + "baseSn":"2023031402",
3857 3977 "infos": {
3858 3978 "value": "1"
3859 3979 },
... ... @@ -3887,6 +4007,7 @@ params:{}//å¯ä¸å¡«
3887 4007 {
3888 4008 "fun": "readBaseStationModel",
3889 4009 "baseId": 0,
  4010 + "baseSnList":["2023031402"],
3890 4011 "packetTag": "1"
3891 4012 }
3892 4013 ```
... ... @@ -3906,6 +4027,7 @@ infos:{&quot;value&quot;:&quot;218&quot;}//返回基站型å·
3906 4027 {
3907 4028 "fun": "baseStationModel",
3908 4029 "baseId": 1,
  4030 + "baseSn":"2023031402",
3909 4031 "infos": {
3910 4032 "value": "218"
3911 4033 },
... ... @@ -3947,6 +4069,7 @@ params:{}//å¯ä¸å¡«
3947 4069 {
3948 4070 "fun": "readBaseStationSVersion",
3949 4071 "baseId": 0,
  4072 + "baseSnList":["2023031402"],
3950 4073 "packetTag": "1"
3951 4074 }
3952 4075 ```
... ... @@ -3966,6 +4089,7 @@ infos:{&quot;value&quot;:&quot;V2.0.2&quot;}//返回基站软件版本
3966 4089 {
3967 4090 "fun": "baseStationSVersion",
3968 4091 "baseId": 1,
  4092 + "baseSn":"2023031402",
3969 4093 "infos": {
3970 4094 "value": "V2.0.2"
3971 4095 },
... ... @@ -3998,6 +4122,7 @@ params:{}//å¯ä¸å¡«
3998 4122 {
3999 4123 "fun": "readBaseStationSN",
4000 4124 "baseId": 0,
  4125 + "baseSnList":["2023031402"],
4001 4126 "packetTag": "1"
4002 4127 }
4003 4128 ```
... ... @@ -4017,6 +4142,7 @@ infos:{&quot;value&quot;:&quot;FFFFFFFFFF&quot;}//返回基站åºåˆ—å·
4017 4142 {
4018 4143 "fun": "baseStationSN",
4019 4144 "baseId": 1,
  4145 + "baseSn":"2023031402",
4020 4146 "infos": {
4021 4147 "value": "FFFFFFFFFF"
4022 4148 },
... ... @@ -4049,6 +4175,7 @@ params:{}//å¯ä¸å¡«
4049 4175 {
4050 4176 "fun": "readBaseStationTitle",
4051 4177 "baseId": 0,
  4178 + "baseSnList":["2023031402"],
4052 4179 "packetTag": "1"
4053 4180 }
4054 4181 ```
... ... @@ -4068,6 +4195,7 @@ params:{&quot;value&quot;:&quot; A2021&quot;}//基站å称,最长12字节
4068 4195 {
4069 4196 "fun": "writeBaseStationTitle",
4070 4197 "baseId": 1,
  4198 + "baseSnList":["2023031402"],
4071 4199 "params": {
4072 4200 "value": "A2021"
4073 4201 },
... ... @@ -4090,6 +4218,7 @@ infos:{&quot;value&quot;:&quot;A2021&quot;}//返回基站åç§°
4090 4218 {
4091 4219 "fun": "baseStationTitle",
4092 4220 "baseId": 1,
  4221 + "baseSn":"2023031402",
4093 4222 "infos": {
4094 4223 "value": "A2021"
4095 4224 },
... ... @@ -4117,6 +4246,7 @@ params:{}//å¯ä¸å¡«
4117 4246 {
4118 4247 "fun": "readPairMode",
4119 4248 "baseId": 0,
  4249 + "baseSnList":["2023031402"],
4120 4250 "packetTag": "1"
4121 4251 }
4122 4252 ```
... ... @@ -4150,6 +4280,7 @@ params:{&quot;value&quot;:&quot;4&quot;}//1~9
4150 4280 {
4151 4281 "fun": "writePairMode",
4152 4282 "baseId": 1,
  4283 + "baseSnList":["2023031402"],
4153 4284 "params": {
4154 4285 "value": "4"
4155 4286 },
... ... @@ -4168,6 +4299,7 @@ infos:{&quot;value&quot;:&quot;4&quot;}//返回基站é…对模å¼å€¼
4168 4299 {
4169 4300 "fun": "pairMode",
4170 4301 "baseId": 1,
  4302 + "baseSn":"2023031402",
4171 4303 "infos": {
4172 4304 "value": "4"
4173 4305 },
... ... @@ -4209,6 +4341,7 @@ params:{}//å¯ä¸å¡«
4209 4341 {
4210 4342 "fun": "readBaseStationPairMode",
4211 4343 "baseId": 0,
  4344 + "baseSnList":["2023031402"],
4212 4345 "packetTag": "1"
4213 4346 }
4214 4347 ```
... ... @@ -4232,6 +4365,7 @@ params:{&quot;value&quot;:&quot;1&quot;}//
4232 4365 {
4233 4366 "fun": "writeBaseStationPairMode",
4234 4367 "baseId": 1,
  4368 + "baseSnList":["2023031402"],
4235 4369 "params": {
4236 4370 "value": "1"
4237 4371 },
... ... @@ -4250,6 +4384,7 @@ infos:{&quot;value&quot;:&quot;1&quot;}//返回基站é…对模å¼å€¼
4250 4384 {
4251 4385 "fun": "baseStationPairMode",
4252 4386 "baseId": 1,
  4387 + "baseSn":"2023031402",
4253 4388 "infos": {
4254 4389 "value": "1"
4255 4390 },
... ... @@ -4281,6 +4416,7 @@ params:{}//å¯ä¸å¡«
4281 4416 {
4282 4417 "fun": "readBaseStationMatchCode",
4283 4418 "baseId": 0,
  4419 + "baseSnList":["2023031402"],
4284 4420 "packetTag": "1"
4285 4421 }
4286 4422 ```
... ... @@ -4300,6 +4436,7 @@ infos:{&quot;value&quot;:&quot;21072333&quot;}//返回基站é…对ç 
4300 4436 {
4301 4437 "fun": "baseStationMatchCode",
4302 4438 "baseId": 1,
  4439 + "baseSn":"2023031402",
4303 4440 "infos": {
4304 4441 "value": "21072333"
4305 4442 },
... ... @@ -4332,6 +4469,7 @@ packetTag:&quot;0&quot;//æ•°æ®åŒ…标签
4332 4469 {
4333 4470 "fun": "baseStationChannelInterference",
4334 4471 "baseId": 1,
  4472 + "baseSn":"2023031402",
4335 4473 "infos": {
4336 4474 "value": "5"
4337 4475 },
... ... @@ -4364,6 +4502,7 @@ params:{}//å¯ä¸å¡«
4364 4502 {
4365 4503 "fun": "readBaseStationCapacity",
4366 4504 "baseId": 0,
  4505 + "baseSnList":["2023031402"],
4367 4506 "packetTag": "1"
4368 4507 }
4369 4508 ```
... ... @@ -4380,9 +4519,10 @@ infos:{&quot;keypadNumber&quot;:&quot;60&quot;,&quot;lock&quot;:&quot;1&quot;}//返回基站键盘容é‡å€¼
4380 4519 指令样例:
4381 4520  
4382 4521 ```json
4383   -{
4384   - "baseId": 2,
  4522 +{
4385 4523 "fun": "baseStationCapacity",
  4524 + "baseId": 2,
  4525 + "baseSn":"2023031402",
4386 4526 "infos": {
4387 4527 "keypadNumber": "60",
4388 4528 "lock": "1"
... ... @@ -4414,6 +4554,7 @@ params:{}
4414 4554 {
4415 4555 "fun": "startQuickMatch",
4416 4556 "baseId": 1,
  4557 + "baseSnList":["2023031402"],
4417 4558 "packetTag": "1"
4418 4559 }
4419 4560 ```
... ... @@ -4431,6 +4572,7 @@ infos:{&quot;state&quot;:&quot;OK&quot;}//返回状æ€,æˆåŠŸä¸ºOK
4431 4572 {
4432 4573 "fun": "startQuickMatch",
4433 4574 "baseId": 1,
  4575 + "baseSn":"2023031402",
4434 4576 "infos": {
4435 4577 "state": "OK"
4436 4578 },
... ... @@ -4452,6 +4594,7 @@ params:{} //默认空
4452 4594 {
4453 4595 "fun": "stopQuickMatch",
4454 4596 "baseId": 1,
  4597 + "baseSnList":["2023031402"],
4455 4598 "packetTag": "1"
4456 4599 }
4457 4600 ```
... ... @@ -4469,6 +4612,7 @@ infos:{&quot;state&quot;:&quot;OK&quot;}//返回状æ€,æˆåŠŸä¸ºOK
4469 4612 {
4470 4613 "fun": "stopQuickMatch",
4471 4614 "baseId": 1,
  4615 + "baseSn":"2023031402",
4472 4616 "infos": {
4473 4617 "state": "OK"
4474 4618 },
... ... @@ -4501,6 +4645,7 @@ params:{}//å¯ä¸å¡«
4501 4645 {
4502 4646 "fun": "readKeyboardLoginPW",
4503 4647 "baseId": 0,
  4648 + "baseSnList":["2023031402"],
4504 4649 "packetTag": "1"
4505 4650 }
4506 4651 ```
... ... @@ -4519,6 +4664,7 @@ params:{&quot;value&quot;:&quot;0&quot;}//0~9999 (0ä¸ç”¨æ ¸å¯¹ï¼‰
4519 4664 {
4520 4665 "fun": "writeKeyboardLoginPW",
4521 4666 "baseId": 1,
  4667 + "baseSnList":["2023031402"],
4522 4668 "params": {
4523 4669 "value": "0"
4524 4670 },
... ... @@ -4541,6 +4687,7 @@ infos:{&quot;value&quot;:&quot;1&quot;}//返回键盘登录密ç å€¼
4541 4687 {
4542 4688 "fun": "baseStationKeyboardLoginPW",
4543 4689 "baseId": 1,
  4690 + "baseSn":"2023031402",
4544 4691 "infos": {
4545 4692 "value": "0"
4546 4693 },
... ... @@ -4572,6 +4719,7 @@ params:{}//å¯ä¸å¡«
4572 4719 {
4573 4720 "fun": "readBaseStationNameHidden",
4574 4721 "baseId": 0,
  4722 + "baseSnList":["2023031402"],
4575 4723 "packetTag": "1"
4576 4724 }
4577 4725 ```
... ... @@ -4594,6 +4742,7 @@ params:{&quot;value&quot;:&quot;0&quot;}//0~1 (0éšè—,1ä¸éšè—)
4594 4742 {
4595 4743 "fun": "writeBaseStationNameHidden",
4596 4744 "baseId": 1,
  4745 + "baseSnList":["2023031402"],
4597 4746 "params": {
4598 4747 "value": "0"
4599 4748 },
... ... @@ -4616,6 +4765,7 @@ infos:{&quot;value&quot;:&quot;1&quot;}//返回基站åç§°éšè—值 (0éšè—,1ä¸éšè—)
4616 4765 {
4617 4766 "fun": "baseStationNameHidden",
4618 4767 "baseId": 1,
  4768 + "baseSn":"2023031402",
4619 4769 "infos": {
4620 4770 "value": "0"
4621 4771 },
... ... @@ -4646,6 +4796,7 @@ params:{}//å¯ä¸å¡«
4646 4796 {
4647 4797 "fun": "readBaseStationTcpIp",
4648 4798 "baseId": 0,
  4799 + "baseSnList":["2023031402"],
4649 4800 "packetTag": "1"
4650 4801 }
4651 4802 ```
... ... @@ -4665,6 +4816,7 @@ params:
4665 4816 {
4666 4817 "fun": "writeBaseStationTcpIp",
4667 4818 "baseId": 1,
  4819 + "baseSnList":["2023031402"],
4668 4820 "params": {
4669 4821 "mac": "FF:FF:FF:FF:FF:FF",
4670 4822 "ip": "192.168.10.10",
... ... @@ -4691,6 +4843,7 @@ infos:{&quot;value&quot;:&quot;1&quot;}//返回基站TcpIp
4691 4843 {
4692 4844 "fun": "baseStationTcpIp",
4693 4845 "baseId": 1,
  4846 + "baseSn":"2023031402",
4694 4847 "infos": {
4695 4848 "ip": "192.168.10.10",
4696 4849 "mac": "FF:FF:FF:FF:FF:FF",
... ... @@ -4723,6 +4876,7 @@ baseId: 0//
4723 4876 {
4724 4877 "fun": "readWhiteList",
4725 4878 "baseId": 0,
  4879 + "baseSnList":["2023031402"],
4726 4880 "params": {},
4727 4881 "packetTag": "1"
4728 4882 }
... ... @@ -4745,6 +4899,7 @@ infos:{}//
4745 4899 {
4746 4900 "fun": "whiteList",
4747 4901 "baseId": 1,
  4902 + "baseSn":"2023031402",
4748 4903 "infos": [{
4749 4904 "keySn": "2111120140",
4750 4905 "state": "0"
... ... @@ -4783,6 +4938,7 @@ keySnList:[]//键盘SN数组最多200键盘SN
4783 4938 {
4784 4939 "fun": "writeWhiteList",
4785 4940 "baseId": 0,
  4941 + "baseSnList":["2023031402"],
4786 4942 "keySnList": [{
4787 4943 "keySn": "2111120140"
4788 4944 },
... ... @@ -4816,6 +4972,7 @@ infos:{}//
4816 4972 {
4817 4973 "fun": "whiteList",
4818 4974 "baseId": 1,
  4975 + "baseSn":"2023031402",
4819 4976 "infos": [{
4820 4977 "keySn": "2111120140",
4821 4978 "state": "OK"
... ... @@ -4859,6 +5016,7 @@ params:{} //数组对象,指定键盘需填
4859 5016 {
4860 5017 "fun": "lockKeypad",
4861 5018 "baseId": 1,
  5019 + "baseSnList":["2023031402"],
4862 5020 "keySnList": [{
4863 5021 "keySn": "2111120140"
4864 5022 },
... ... @@ -4879,6 +5037,7 @@ params:{} //数组对象,指定键盘需填
4879 5037 {
4880 5038 "fun": "lockKeypad",
4881 5039 "baseId": 1,
  5040 + "baseSn":"2023031402",
4882 5041 "infos": [{
4883 5042 "keySn": "1837454011",
4884 5043 "state": "OK"
... ... @@ -4916,6 +5075,7 @@ params:{} //数组对象,指定键盘需填
4916 5075 {
4917 5076 "fun": "unlockKeypad",
4918 5077 "baseId": 1,
  5078 + "baseSnList":["2023031402"],
4919 5079 "keySnList": [{
4920 5080 "keySn": "2111120140"
4921 5081 },
... ... @@ -4936,6 +5096,7 @@ params:{} //数组对象,指定键盘需填
4936 5096 {
4937 5097 "fun": "unlockKeypad",
4938 5098 "baseId": 1,
  5099 + "baseSn":"2023031402",
4939 5100 "infos": [{
4940 5101 "keySn": "2111120140",
4941 5102 "state": "OK"
... ... @@ -4970,6 +5131,7 @@ keySnList:[ &quot;keySn&quot;:&quot;2111120140&quot;] //列表ä¸èƒ½ä¸ºç©º
4970 5131 {
4971 5132 "fun": "addWhiteList",
4972 5133 "baseId": 1,
  5134 + "baseSnList":["2023031402"],
4973 5135 "keySnList": [{
4974 5136 "keySn": "2111120140"
4975 5137 }],
... ... @@ -4991,6 +5153,7 @@ infos:{}//
4991 5153 {
4992 5154 "fun": "whiteList",
4993 5155 "baseId": 1,
  5156 + "baseSn":"2023031402",
4994 5157 "infos": {
4995 5158 "keySn": "1837454012",
4996 5159 "state": "OK"
... ... @@ -5018,6 +5181,7 @@ keySnList:[ &quot;keySn&quot;:&quot;2111120140&quot;] //列表ä¸èƒ½ä¸ºç©º
5018 5181 {
5019 5182 "fun": "delWhiteList",
5020 5183 "baseId": 0,
  5184 + "baseSnList":["2023031402"],
5021 5185 "keySnList": [{
5022 5186 "keySn": "2111120140"
5023 5187 }],
... ... @@ -5039,6 +5203,7 @@ infos:{}//
5039 5203 {
5040 5204 "fun": "delWhiteList",
5041 5205 "baseId": 1,
  5206 + "baseSn":"2023031402",
5042 5207 "packetTag": "1",
5043 5208 "infos": {
5044 5209 "keySn": "1837454012",
... ... @@ -5066,6 +5231,7 @@ params:{} //æ— 
5066 5231 {
5067 5232 "fun": "clearWhiteList",
5068 5233 "baseId": 1,
  5234 + "baseSnList":["2023031402"],
5069 5235 "packetTag": "1"
5070 5236 }
5071 5237 ```
... ... @@ -5082,6 +5248,7 @@ infos:{}//
5082 5248 {
5083 5249 "fun": "clearWhiteList",
5084 5250 "baseId": 1,
  5251 + "baseSn":"2023031402",
5085 5252 "packetTag": "1",
5086 5253 "infos": {
5087 5254 "state": "OK"
... ... @@ -5112,6 +5279,7 @@ params:{&quot;value&quot;:0}//
5112 5279 {
5113 5280 "fun": "readKeypadAutoPowerOffLevel",
5114 5281 "baseId": 0,
  5282 + "baseSnList":["2023031402"],
5115 5283 "packetTag": "1"
5116 5284 }
5117 5285 ```
... ... @@ -5128,6 +5296,7 @@ params:{&quot;value&quot;:&quot;0&quot;}//
5128 5296 {
5129 5297 "fun": "writeKeypadAutoPowerOffLevel",
5130 5298 "baseId": 1,
  5299 + "baseSnList":["2023031402"],
5131 5300 "params": {
5132 5301 "value": "0"
5133 5302 },
... ... @@ -5146,6 +5315,7 @@ infos:{&quot;value&quot;:&quot;0&quot;}//返回键盘关机时间等级
5146 5315 {
5147 5316 "fun": "keypadAutoPowerOffLevel",
5148 5317 "baseId": 1,
  5318 + "baseSn":"2023031402",
5149 5319 "infos": {
5150 5320 "value": "0"
5151 5321 },
... ... @@ -5170,6 +5340,7 @@ params:{}//å¯ä¸å¡«
5170 5340 {
5171 5341 "fun": "readBaseStationBaseConfig",
5172 5342 "baseId": 0,
  5343 + "baseSnList":["2023031402"],
5173 5344 "packetTag": "1"
5174 5345 }
5175 5346 ```
... ... @@ -5193,6 +5364,7 @@ params:{}//
5193 5364 {
5194 5365 "fun": "writeBaseStationBaseConfig",
5195 5366 "baseId": 1,
  5367 + "baseSnList":["2023031402"],
5196 5368 "params": {
5197 5369 "bootVibraton": "1",
5198 5370 "voteVibraton": "1",
... ... @@ -5214,6 +5386,7 @@ infos:{ }//返回基站
5214 5386 {
5215 5387 "fun": "baseStationBaseConfig",
5216 5388 "baseId": 1,
  5389 + "baseSn":"2023031402",
5217 5390 "infos": {
5218 5391 "bootVibraton": "1",
5219 5392 "voteVibraton": "1",
... ... @@ -5240,6 +5413,7 @@ params:{}//å¯ä¸å¡«
5240 5413 {
5241 5414 "fun":"readBaseStationAES",
5242 5415 "baseId":0,
  5416 + "baseSnList":["2023031402"],
5243 5417 "packetTag":"1"
5244 5418 }
5245 5419 ```
... ... @@ -5260,6 +5434,7 @@ params:{&quot;value&quot;:&quot;0&quot;}//
5260 5434 {
5261 5435 "fun":"writeBaseStationAES",
5262 5436 "baseId":1,
  5437 + "baseSnList":["2023031402"],
5263 5438 "packetTag":"1"
5264 5439 }
5265 5440 ```
... ... @@ -5275,6 +5450,7 @@ infos:{&quot;value&quot;:&quot;1&quot;}//返回基站AES
5275 5450 {
5276 5451 "fun": "baseStationAES",
5277 5452 "baseId": 1,
  5453 + "baseSn":"2023031402",
5278 5454 "infos": {
5279 5455 "value": "0"
5280 5456 },
... ... @@ -5299,6 +5475,7 @@ params:{}//
5299 5475 {
5300 5476 "fun": "copyBaseStationAES",
5301 5477 "baseId": 0,
  5478 + "baseSnList":["2023031402"],
5302 5479 "params": {
5303 5480 "destBaseID": "2",
5304 5481 "sourceBaseID": "1"
... ... @@ -5318,6 +5495,7 @@ infos:{&quot;value&quot;:&quot;OK&quot;}//返回状æ€
5318 5495 {
5319 5496 "fun": "baseStationAES",
5320 5497 "baseId": 1,
  5498 + "baseSn":"2023031402",
5321 5499 "infos": {
5322 5500 "value": "OK"
5323 5501 },
... ... @@ -5370,6 +5548,7 @@ params:{} //
5370 5548 {
5371 5549 "fun": "writeKeypadDevice",
5372 5550 "baseId": 1,
  5551 + "baseSnList":["2023031402"],
5373 5552 "params": {
5374 5553 "ledTimes": "3",
5375 5554 "ledOnTime": "1",
... ... @@ -5400,6 +5579,7 @@ infos:{&quot;state&quot;:&quot;OK&quot;}//返回状æ€,æˆåŠŸä¸ºOK
5400 5579 {
5401 5580 "fun": "writeKeypadDevice",
5402 5581 "baseId": 0,
  5582 + "baseSn":"2023031402",
5403 5583 "infos": {
5404 5584 "keySn": "0000000000",
5405 5585 "state": "OK"
... ... @@ -5413,6 +5593,8 @@ infos:{&quot;state&quot;:&quot;OK&quot;}//返回状æ€,æˆåŠŸä¸ºOK
5413 5593 ```json
5414 5594 {
5415 5595 "fun": "writeKeypadDevice",
  5596 + "baseId": 0,
  5597 + "baseSnList":["2023031402"],
5416 5598 "keySnList": [{
5417 5599 "keySn": "0007899478"
5418 5600 }],
... ... @@ -5443,9 +5625,10 @@ infos:{}//数组对象,åŒå‘é€çš„
5443 5625 指令样例:
5444 5626  
5445 5627 ```json
5446   -{
5447   - "baseId": 3,
  5628 +{
5448 5629 "fun": "writeKeypadDevice",
  5630 + "baseId": 3,
  5631 + "baseSn":"2023031402",
5449 5632 "infos": {
5450 5633 "keySn": "0007899478",
5451 5634 "state": "OK"
... ... @@ -5474,6 +5657,7 @@ params:{}//è¯»å–æ—¶ä¸éœ€è¦
5474 5657 {
5475 5658 "fun": "readKeypadFeedbackMode",
5476 5659 "baseId": 0,
  5660 + "baseSnList":["2023031402"],
5477 5661 "packetTag": "1"
5478 5662 }
5479 5663 ```
... ... @@ -5496,6 +5680,7 @@ params:{&quot;mode&quot;:&quot;1&quot;, &quot;value&quot;:&quot;4&quot;}//
5496 5680 {
5497 5681 "fun": "writeKeypadFeedbackMode",
5498 5682 "baseId": 0,
  5683 + "baseSnList":["2023031402"],
5499 5684 "params": {
5500 5685 "mode": "1",
5501 5686 "value": "4"
... ... @@ -5521,6 +5706,7 @@ infos:{ &quot;mode&quot;:&quot;1&quot;, &quot;value&quot;:&quot;4&quot;}//返回键盘å馈模å¼å‚数值
5521 5706 {
5522 5707 "fun": "keypadFeedbackMode",
5523 5708 "baseId": 1,
  5709 + "baseSn":"2023031402",
5524 5710 "infos": {
5525 5711 "mode": "1",
5526 5712 "value": "4"
... ... @@ -5549,8 +5735,9 @@ infos:{ &quot;keySn&quot;:&quot;2307269906&quot;, &quot;keyValue&quot;:&quot;A&quot;}//返回键盘å馈模å¼å‚数值
5549 5735  
5550 5736 ```json
5551 5737 {
5552   - "baseId": 1,
5553 5738 "fun": "immediateFeedback",
  5739 + "baseId": 1,
  5740 + "baseSn":"2023031402",
5554 5741 "infos": {
5555 5742 "keySn": "2307269906",
5556 5743 "keyValue": "A"
... ... @@ -5584,6 +5771,7 @@ infos:{ &quot;keySn&quot;:&quot;1479824643&quot;}//返回键盘å馈模å¼å‚数值
5584 5771 {
5585 5772 "fun": "keyboardOnlineOne",
5586 5773 "baseId": 1,
  5774 + "baseSn":"2023031402",
5587 5775 "infos": {
5588 5776 "keySn": "1479824643"
5589 5777 },
... ... @@ -5616,6 +5804,7 @@ infos:{ &quot;hModel&quot;: &quot;67&quot;,&quot;keySn&quot;:&quot;1479824643&quot;,&quot;keyValue&quot;:&quot;0&quot;,&quot;ver&quot;:&quot;1.0.0&quot;,&quot;volt&quot;:
5616 5804 {
5617 5805 "fun": "KeyboardHeartbeat",
5618 5806 "baseId": 1,
  5807 + "baseSn":"2023031402",
5619 5808 "infos": {
5620 5809 "hModel": "67",
5621 5810 "keySn": "1479824643",
... ... @@ -5648,6 +5837,7 @@ params:{}//
5648 5837 {
5649 5838 "fun": "remoteKeyShutdown",
5650 5839 "baseId": 1,
  5840 + "baseSnList":["2023031402"],
5651 5841 "params": [{
5652 5842 "keySn": "1837454011"
5653 5843 }],
... ... @@ -5666,6 +5856,7 @@ infos:{&quot;keySn&quot;:&quot;1837454011&quot;,&quot;state&quot;:&quot;OK&quot;}//é¥æŽ§é”®ç›˜å…³æœº
5666 5856 {
5667 5857 "fun": "remoteKeyShutdown",
5668 5858 "baseId": 1,
  5859 + "baseSn":"2023031402",
5669 5860 "infos": {
5670 5861 "keySn": "1837454011",
5671 5862 "state": "OK"
... ... @@ -5701,6 +5892,7 @@ params:{&quot;value&quot;} //
5701 5892 {
5702 5893 "fun": "writeKeyboardPauseSleep",
5703 5894 "baseId": 0,
  5895 + "baseSnList":["2023031402"],
5704 5896 "params": {
5705 5897 "value": "0"
5706 5898 },
... ... @@ -5722,6 +5914,7 @@ infos:{&quot;value&quot;:&quot;0&quot;}//10ç§’
5722 5914 {
5723 5915 "fun": "writeKeyboardPauseSleep",
5724 5916 "baseId": 1,
  5917 + "baseSn":"2023031402",
5725 5918 "infos": {
5726 5919 "value": "0"
5727 5920 },
... ... @@ -5755,6 +5948,7 @@ params:{} // 数组对象,对象中的默认值为空字符串
5755 5948 {
5756 5949 "fun": "writeKeyMessage",
5757 5950 "baseId": 0,
  5951 + "baseSnList":["2023031402"],
5758 5952 "params": {
5759 5953 "txt": "最新消æ¯"
5760 5954 },
... ... @@ -5773,6 +5967,7 @@ infos:{&quot;state&quot;:&quot;OK&quot;}//返回状æ€,æˆåŠŸä¸ºOK
5773 5967 {
5774 5968 "fun": "writeKeyMessage",
5775 5969 "baseId": 0,
  5970 + "baseSn":"2023031402",
5776 5971 "infos": {
5777 5972 "keySn": "0000000000",
5778 5973 "state": "OK"
... ... @@ -5786,6 +5981,8 @@ infos:{&quot;state&quot;:&quot;OK&quot;}//返回状æ€,æˆåŠŸä¸ºOK
5786 5981 ```json
5787 5982 {
5788 5983 "fun": "writeKeyMessage",
  5984 + "baseId": 0,
  5985 + "baseSnList":["2023031402"],
5789 5986 "keySnList": [{
5790 5987 "keySn": "0007899478"
5791 5988 }],
... ... @@ -5805,9 +6002,10 @@ infos:{}//数组对象,åŒå‘é€çš„
5805 6002 指令样例:
5806 6003  
5807 6004 ```json
5808   -{
5809   - "baseId": 3,
  6005 +{
5810 6006 "fun": "writeKeyMessage",
  6007 + "baseId": 3,
  6008 + "baseSn":"2023031402",
5811 6009 "infos": {
5812 6010 "keySn": "0007899478",
5813 6011 "state": "OK"
... ... @@ -5834,8 +6032,9 @@ params:{}//å¯ä¸å¡«
5834 6032 指令样例:
5835 6033 ```json
5836 6034 {
5837   - "fun": "readBaseStationLanguage",
  6035 + "fun": "readBaseStationLanguage",
5838 6036 "baseId": 0,
  6037 + "baseSnList":["2023031402"],
5839 6038 "packetTag": "1"
5840 6039 }
5841 6040 ```
... ... @@ -5859,6 +6058,7 @@ params:{&quot;value&quot;:&quot;0&quot;}//
5859 6058 {
5860 6059 "fun": "writeBaseStationLanguage",
5861 6060 "baseId": 1,
  6061 + "baseSnList":["2023031402"],
5862 6062 "params": {
5863 6063 "value": "0"
5864 6064 },
... ... @@ -5883,6 +6083,7 @@ infos:{&quot;value&quot;:&quot;1&quot;}//返回基站语言值
5883 6083 {
5884 6084 "fun": "baseStationLanguage",
5885 6085 "baseId": 1,
  6086 + "baseSn":"2023031402",
5886 6087 "infos": {
5887 6088 "value": "0"
5888 6089 },
... ... @@ -5912,6 +6113,8 @@ params:{} // 数组对象,对象中的默认值为空字符串
5912 6113 ```json
5913 6114 {
5914 6115 "fun": "writeKeyFSN",
  6116 + "baseId": 3,
  6117 + "baseSnList":["2023031402"],
5915 6118 "params": {
5916 6119 "keySnList": [{
5917 6120 "keySnOld": "0007899478",
... ... @@ -5936,9 +6139,10 @@ infos:{}//数组对象,åŒå‘é€çš„
5936 6139 指令样例:
5937 6140  
5938 6141 ```json
5939   -{
5940   - "baseId": 3,
  6142 +{
5941 6143 "fun": "writeKeyFSN",
  6144 + "baseId": 3,
  6145 + "baseSn":"2023031402",
5942 6146 "infos": {
5943 6147 "keySn": "0007899478",
5944 6148 "state": "OK"
... ... @@ -5974,6 +6178,7 @@ params:{}
5974 6178 {
5975 6179 "fun": "writeKeypadFreeTitle",
5976 6180 "baseId": 1,
  6181 + "baseSnList":["2023031402"],
5977 6182 "params": {
5978 6183 "title": "请认真å¬è®²"
5979 6184 },
... ... @@ -5998,6 +6203,7 @@ infos:{}//
5998 6203 {
5999 6204 "fun": "writeKeypadFreeTitle",
6000 6205 "baseId": 0,
  6206 + "baseSn":"2023031402",
6001 6207 "infos": {
6002 6208 "state": "OK"
6003 6209 },
... ... @@ -6019,7 +6225,7 @@ params:{}//数组对象,字段ä¸å¡«åˆ™ä¿ç•™ä¸Šæ¬¡å€¼ã€‚
6019 6225  
6020 6226 | **Json字段** | **字段å«ä¹‰** | **赋值åŠå«ä¹‰** |
6021 6227 | --- | --- | --- |
6022   -| keySn| 键盘Sn| 空则为所有在线键盘,其他数组值无效|
  6228 +| keySn| 键盘Sn| ä¸èƒ½ä¸ºç©º|
6023 6229 | scoreMode| 分数模å¼|1:清除<br>2:字符显示(默认值)<br>3:五角星显示<br>4:爱心显示[S6有效]|
6024 6230 | scoreValue| 分数值|scoreMode == 1,此处无效. <br>scoreMode == 2,8个字符长度. <br>scoreMode == 3,0~6,2个分数表示1个五角星,最多3个. <br> scoreMode == 4,0~6,2个分数表示1个爱心,最多3个 [S6有效]|
6025 6231 |tipText|æç¤ºæ–‡æœ¬| 最多8个汉字(16个字符),键盘第二行显示|
... ... @@ -6032,6 +6238,7 @@ params:{}//数组对象,字段ä¸å¡«åˆ™ä¿ç•™ä¸Šæ¬¡å€¼ã€‚
6032 6238 {
6033 6239 "fun": "writeKeypadCustomInfo",
6034 6240 "baseId": 1,
  6241 + "baseSnList":["2023031402"],
6035 6242 "params": [{
6036 6243 "keySn": "1479824643",
6037 6244 "scoreMode": "2",
... ... @@ -6062,6 +6269,7 @@ infos:{}//数组对象
6062 6269 {
6063 6270 "fun": "writeKeypadCustomInfo",
6064 6271 "baseId": 0,
  6272 + "baseSn":"2023031402",
6065 6273 "infos": [{
6066 6274 "keySn": "1479824643",
6067 6275 "state": "OK"
... ... @@ -6070,25 +6278,6 @@ infos:{}//数组对象
6070 6278 }
6071 6279 ```
6072 6280  
6073   -所有键盘
6074   -
6075   -fun: "writeKeypadCustomInfo" //写键盘的用户信æ¯
6076   -baseId:0 //接收到指令的基站ID
6077   -infos:{"state":"OK"}//返回状æ€,æˆåŠŸä¸ºOK
6078   -
6079   -
6080   -指令样例:
6081   -
6082   -```json
6083   -{
6084   - "fun": "writeKeypadCustomInfo",
6085   - "baseId": 0,
6086   - "infos": {
6087   - "state": "OK"
6088   - },
6089   - "packetTag": "1"
6090   -}
6091   -```
6092 6281  
6093 6282 支æŒè®¾å¤‡è¯´æ˜Ž
6094 6283  
... ... @@ -6109,7 +6298,7 @@ params:{}//数组对象,字段ä¸å¡«åˆ™ä¿ç•™ä¸Šæ¬¡å€¼ã€‚
6109 6298  
6110 6299 | **Json字段** | **字段å«ä¹‰** | **赋值åŠå«ä¹‰** |
6111 6300 | --- | --- | --- |
6112   -|keySn|键盘SN|空则为所有在线键盘,其他数组值无效|
  6301 +|keySn|键盘SN|ä¸èƒ½ä¸ºç©º|
6113 6302 |userName|å§“å|最多24个汉字(48个字符),键盘左上角显示|
6114 6303  
6115 6304 指令样例:
... ... @@ -6118,6 +6307,7 @@ params:{}//数组对象,字段ä¸å¡«åˆ™ä¿ç•™ä¸Šæ¬¡å€¼ã€‚
6118 6307 {
6119 6308 "fun": "writeKeypadUserName",
6120 6309 "baseId": 1,
  6310 + "baseSnList":["2023031402"],
6121 6311 "params": [{
6122 6312 "keySn": "1479824643",
6123 6313 "userName": "张三"
... ... @@ -6145,6 +6335,7 @@ infos:{}//数组对象
6145 6335 {
6146 6336 "fun": "writeKeypadUserName",
6147 6337 "baseId": 0,
  6338 + "baseSn":"2023031402",
6148 6339 "infos": {
6149 6340 "keySn": "1479824643",
6150 6341 "state": "OK"
... ... @@ -6166,6 +6357,7 @@ infos:{&quot;state&quot;:&quot;OK&quot;}//返回状æ€,æˆåŠŸä¸ºOK
6166 6357 {
6167 6358 "fun": "writeKeypadUserName",
6168 6359 "baseId": 0,
  6360 + "baseSn":"2023031402",
6169 6361 "infos": {
6170 6362 "state": "OK"
6171 6363 },
... ... @@ -6199,6 +6391,7 @@ params:{}//数组对象,字段ä¸å¡«åˆ™ä¿ç•™ä¸Šæ¬¡å€¼ã€‚
6199 6391 {
6200 6392 "fun": "writeOneKeypadUserName",
6201 6393 "baseId": 0,
  6394 + "baseSnList":["2023031402"],
6202 6395 "params": [{
6203 6396 "keySn": "1479824643",
6204 6397 "value": "张三"
... ... @@ -6225,6 +6418,7 @@ infos:{}//数组对象
6225 6418 {
6226 6419 "fun": "oneKeypadUserName",
6227 6420 "baseId": 1,
  6421 + "baseSn":"2023031402",
6228 6422 "infos": {
6229 6423 "keySn": "1479824643",
6230 6424 "value": "张三"
... ... @@ -6259,6 +6453,7 @@ params:{}
6259 6453 {
6260 6454 "fun": "writeKeypadFunPromptPreset",
6261 6455 "baseId": 0,
  6456 + "baseSnList":["2023031402"],
6262 6457 "params": {
6263 6458 "mode": "0",
6264 6459 "type": "3",
... ... @@ -6288,6 +6483,7 @@ infos:{&quot;state&quot;:&quot;OK&quot;}//返回状æ€,æˆåŠŸä¸ºOK
6288 6483 {
6289 6484 "fun": "writeKeypadFunPromptPreset",
6290 6485 "baseId": 1,
  6486 + "baseSn":"2023031402",
6291 6487 "infos": {
6292 6488 "state": "OK"
6293 6489 },
... ... @@ -6326,6 +6522,7 @@ infos:{} //数组对象
6326 6522 {
6327 6523 "fun": "keypadOnLine",
6328 6524 "baseId": 0,
  6525 + "baseSn":"2023031402",
6329 6526 "infos": [{
6330 6527 "baseId": "1",
6331 6528 "keySn": "1837454011",
... ... @@ -6350,7 +6547,7 @@ infos:{} //数组对象
6350 6547  
6351 6548 ### 主动获å–在线信æ¯
6352 6549  
6353   -应用程åºåœ¨éœ€è¦æ—¶ï¼Œä¹Ÿå¯ä¸»åŠ¨èŽ·å–æ‰€æœ‰åœ¨çº¿é”®ç›˜ä¿¡æ¯ã€‚
  6550 +应用程åºåœ¨éœ€è¦æ—¶ï¼Œä¹Ÿå¯ä¸»åŠ¨èŽ·å–æ‰€æœ‰åŸºç«™åœ¨çº¿é”®ç›˜ä¿¡æ¯ã€‚
6354 6551  
6355 6552 <font color="#dd0000" size="5">注æ„:请ä¸è¦åœ¨å¼€å¯æŠ•票业务时使用。</font><br />
6356 6553  
... ... @@ -6366,7 +6563,6 @@ params:{
6366 6563 ```json
6367 6564 {
6368 6565 "fun": "getKeypadOnLine",
6369   - "baseId": 0,
6370 6566 "params": {
6371 6567 "times": 2
6372 6568 },
... ...