Commit bb7caf40e8134fbae573674ce2f6a80f1044c7a0
1 parent
5f377e7e
1.SDK应用部分临时备份。
Showing
1 changed file
with
587 additions
and
789 deletions
通讯协议-SDK应用部分.md
... | ... | @@ -57,62 +57,43 @@ SunVoteWSTrayapp程序中config.ini配置文件中可设置WebSocket的端口, |
57 | 57 | |
58 | 58 | 下发:应用程序 - \> SunVoteWSTrayapp |
59 | 59 | |
60 | +```json | |
60 | 61 | { |
61 | - | |
62 | - fun:\"\" // 功能定义 | |
63 | - | |
64 | - baseId: 1// 基站id,数字类型 | |
65 | - | |
66 | - params:{} //参数对象/数组 | |
67 | - | |
68 | - packetTag:\"\" //数据包标签字符串 | |
69 | - | |
62 | + fun: "" // 功能定义 | |
63 | + baseId: 1 // 基站id,数字类型 | |
64 | + params: {} //参数对象/数组 | |
65 | + packetTag: "" //数据包标签字符串 | |
70 | 66 | } |
67 | +``` | |
71 | 68 | |
72 | -fun 为功能对应的名称 如:\"readBaseStationID\" 读取基站的id, | |
73 | -\"startChoices\" //开始选择题, \"stopChoices\" //停止选择题 | |
69 | +fun 为功能对应的名称 如:"readBaseStationID" 读取基站的id,"startChoices" //开始选择题, "stopChoices" //停止选择题. | |
74 | 70 | |
75 | 71 | baseId:基站ID,用来区分基站标志,0代表所有基站,1代表1号基站。 |
76 | - | |
77 | 72 | params:参数,功能相对于的参数,可以是数组或字段。 |
78 | - | |
79 | -packerTag: | |
80 | -这个是扩展字段,内容需要应用程序管理,功能相应的反馈指令packerTag位置会反馈相同字符串,方便应用程序跟踪记录。 | |
73 | +packerTag:这个是扩展字段,内容需要应用程序管理,功能相应的反馈指令packerTag位置会反馈相同字符串,方便应用程序跟踪记录。 | |
81 | 74 | |
82 | 75 | 反馈:SunVoteWSTrayapp-\> 应用程序 |
83 | 76 | |
77 | +```json | |
84 | 78 | { |
85 | - | |
86 | -fun:\"\" //功能定义 | |
87 | - | |
88 | -baseId:1 //基站id,数字类型 | |
89 | - | |
90 | -infos: {}//信息对象/数组 | |
91 | - | |
92 | -packetTag:\"\"// 数据包标签字符串。 | |
93 | - | |
79 | + fun: "" //功能定义 | |
80 | + baseId: 1 //基站id,数字类型 | |
81 | + infos: {} //信息对象/数组 | |
82 | + packetTag: "" // 数据包标签字符串。 | |
94 | 83 | } |
84 | +``` | |
95 | 85 | |
96 | -fun: 功能对应的名称,如:\"BaseStationID\"读取基站id, \" answerChoices | |
97 | -\" //选择题键盘反馈值. | |
98 | - | |
86 | +fun: 功能对应的名称,如:"BaseStationID"读取基站id, " answerChoices" //选择题键盘反馈值. | |
99 | 87 | baseId: 基站ID,用来区分基站标志;0特殊代表所有基站,1代表1号基站。 |
100 | - | |
101 | 88 | infos: SunVoteWSTrayapp反馈给APP层的数据。具体详见具体功能定义。 |
102 | - | |
103 | -packetTag: | |
104 | -这个是扩展字段,内容需要应用程序管理,反馈接收到的字符串。 | |
89 | +packetTag:这个是扩展字段,内容需要应用程序管理,反馈接收到的字符串。 | |
105 | 90 | |
106 | 91 | 字段值说明: |
107 | - | |
108 | 92 | 反馈infos中的状态字段state,OK表示成功,FAIL表示失败。 |
109 | - | |
110 | 93 | 反馈infos中的硬件参数字段的值,FAIL表示失败,其他值为成功。 |
111 | - | |
112 | 94 | X\~Y:范围内的值特指整数。 |
113 | 95 | |
114 | 96 | # 通信方式 |
115 | - | |
116 | 97 | 数据交互采取发送\<\--\>应答的方式。应用程序发送数据到SunVoteWSTrayapp,SunVoteWSTrayapp收到后执行完成后回复。 |
117 | 98 | |
118 | 99 | 应用程序没有数据发送给SunVoteWSTrayapp时,需要发送心跳,SunVoteWSTrayapp收到心跳后会回复心跳,用于判断与应用程序的连接状态。(配置文件中,如果启用了心跳检查,应用程序如果未按要求发送心跳,SunVoteWSTrayapp会断开当前连接,重新尝试连接) |
... | ... | @@ -120,7 +101,6 @@ X\~Y:范围内的值特指整数。 |
120 | 101 | # 编程流程说明 |
121 | 102 | |
122 | 103 | 用户使用SunVoteWSTrayapp编程的基本流程如下: |
123 | - | |
124 | 104 | 配置参数:(可配置、详情见配置文件config.ini) |
125 | 105 | |
126 | 106 | 1、sdk-\>role websocket |
... | ... | @@ -145,17 +125,14 @@ X\~Y:范围内的值特指整数。 |
145 | 125 | |
146 | 126 | 下发:应用程序 - \>SunVoteWSTrayapp |
147 | 127 | |
128 | +```json | |
148 | 129 | { |
149 | - | |
150 | -fun:\"\" // 功能定义 | |
151 | - | |
152 | -baseId: 1// 基站id,数字类型 | |
153 | - | |
154 | -params:{} //参数对象/数组 | |
155 | - | |
156 | -packetTag:\"\" //数据包标签字符串 | |
157 | - | |
130 | + fun: "" // 功能定义 | |
131 | + baseId: 1 // 基站id,数字类型 | |
132 | + params: {} //参数对象/数组 | |
133 | + packetTag: "" //数据包标签字符串 | |
158 | 134 | } |
135 | +``` | |
159 | 136 | |
160 | 137 | fun:为功能定义,下发命令,要下发的命令函数 |
161 | 138 | |
... | ... | @@ -168,12 +145,14 @@ packerTag: |
168 | 145 | |
169 | 146 | 反馈:SunVoteWSTrayapp -> 应用程序 |
170 | 147 | |
148 | +```json | |
171 | 149 | { |
172 | -fun:"" //功能定义 | |
173 | -baseId:1 //基站id,数字类型 | |
174 | -infos: {}//信息对象/数组 | |
175 | -packetTag:""//数据包标签字符串,用于区别当前指令与其他指令。SunVoteWSTrayapp发送给应用程序的用自增数字标记。SunVoteWSTrayapp回复应用程序的,直接回填SunVoteWSTrayapp收到的标签。 | |
150 | + fun: "" //功能定义 | |
151 | + baseId: 1 //基站id,数字类型 | |
152 | + infos: {} //信息对象/数组 | |
153 | + packetTag: "" // 数据包标签字符串,用于区别当前指令与其他指令。SunVoteWSTrayapp发送给应用程序的用自增数字标记。SunVoteWSTrayapp回复应用程序的,直接回填SunVoteWSTrayapp收到的标签。 | |
176 | 154 | } |
155 | +``` | |
177 | 156 | |
178 | 157 | fun:同下发描述. |
179 | 158 | baseId:同下发描述. |
... | ... | @@ -296,7 +275,7 @@ packetTag:"1" |
296 | 275 | 指令样例: |
297 | 276 | ```json |
298 | 277 | { |
299 | - "fun": "connectBase", | |
278 | + "fun": "disconnectBase", | |
300 | 279 | "baseId": 1, |
301 | 280 | "infos": { |
302 | 281 | "state": "OK" |
... | ... | @@ -305,32 +284,26 @@ packetTag:"1" |
305 | 284 | } |
306 | 285 | ``` |
307 | 286 | |
308 | -{\ | |
309 | - \"fun\":\"disconnectBase\", | |
310 | - | |
311 | - \"baseId\":1,\ | |
312 | - \"packetTag\":\"1\"\ | |
313 | -} | |
314 | 287 | |
315 | 288 | ### 复位基站 |
316 | 289 | |
317 | 290 | 发送: |
318 | 291 | |
319 | -fun: \"resetBase\" //复位基站 | |
320 | - | |
292 | +fun: "resetBase" //复位基站 | |
321 | 293 | baseId:1, |
322 | - | |
323 | 294 | params:{} //无该值 |
324 | 295 | |
325 | 296 | 指令样例: |
326 | 297 | |
327 | -{\ | |
328 | - \"fun\":\"resetBase\", | |
298 | +```json | |
299 | +{ | |
300 | + "fun": "resetBase", | |
301 | + "baseId": 1, | |
302 | + "packetTag": "1" | |
303 | +} | |
304 | +``` | |
329 | 305 | |
330 | -\"baseId\":1, | |
331 | 306 | |
332 | - \"packetTag\":\"1\"\ | |
333 | -} | |
334 | 307 | |
335 | 308 | 注意:B200支持此命令 |
336 | 309 | |
... | ... | @@ -349,7 +322,7 @@ params:{} //无该值 |
349 | 322 | |**Json字段**|**字段含义**|**赋值及含义**| |
350 | 323 | | --- | --- | --- | |
351 | 324 | |keySnList|指定键盘列表|keySn数组,为空表示所有键盘都参与。| |
352 | -|| | | | |
325 | + | |
353 | 326 | |
354 | 327 | |
355 | 328 | 在停止作答时,各类答题都可指定停止作答键盘,也可以为空。 |
... | ... | @@ -359,7 +332,7 @@ params:{} //无该值 |
359 | 332 | |**Json字段**|**字段含义**|**赋值及含义**| |
360 | 333 | | --- | --- | --- | |
361 | 334 | |keySnList|指定键盘列表|keySn数组,为空表示所有键盘都参与。| |
362 | -|||| | |
335 | + | |
363 | 336 | |
364 | 337 | |
365 | 338 | 如果指定了键盘,则会逐个返回指定键盘的接收状态。收到的infos数组对象如下: |
... | ... | @@ -368,120 +341,114 @@ params:{} //无该值 |
368 | 341 | | --- | --- | --- | |
369 | 342 | |keySn|键盘Sn|| |
370 | 343 | |state|状态|OK表示成功| |
371 | -|||| | |
344 | + | |
372 | 345 | |
373 | 346 | |
374 | 347 | 开始作答 |
375 | 348 | |
376 | 349 | 指令样例: |
377 | 350 | |
378 | -{\ | |
379 | - \"title\":\"输入账号,OK键提交\",\ | |
380 | - \"keySnList\":\[\ | |
381 | - {\ | |
382 | - \"keySn\":\"1837454011\"\ | |
383 | - },\ | |
384 | - {\ | |
385 | - \"keySn\":\"1837454012\"\ | |
386 | - }\ | |
387 | - \]\ | |
351 | +```json | |
352 | +{... | |
353 | + "keySnList": [{ | |
354 | + "keySn": "1837454011" | |
355 | + }, { | |
356 | + "keySn": "1837454012" | |
357 | + }] | |
388 | 358 | } |
359 | +``` | |
389 | 360 | |
390 | -键盘的接收状态返回 | |
391 | 361 | |
392 | -fun: \"startXXKeypad\" //开始XX作答键盘(XX是开始作答对应具体名称) | |
393 | 362 | |
394 | -baseId: 1//接收到指令的基站ID | |
363 | +键盘的接收状态返回 | |
395 | 364 | |
365 | +fun: "startXXKeypad" //开始XX作答键盘(XX是开始作答对应具体名称) | |
366 | +baseId: 1//接收到指令的基站ID | |
396 | 367 | infos:{}//数组对象 |
397 | - | |
398 | 368 | 指令样例: |
399 | 369 | |
400 | -{\ | |
401 | - \"fun\":\"startBindKeypad\",\ | |
402 | - \"baseId\":1,\ | |
403 | - \"infos\":\[\ | |
404 | - {\ | |
405 | - \"keySn\":\"1837454011\",\ | |
406 | - \"state\":\"OK\"\ | |
407 | - }\ | |
408 | - \],\ | |
409 | - \"packetTag\":\"1\"\ | |
370 | +```json | |
371 | +{ | |
372 | + "fun": "startBindKeypad", | |
373 | + "baseId": 1, | |
374 | + "infos": [{ | |
375 | + "keySn": "1837454011", | |
376 | + "state": "OK" | |
377 | + }], | |
378 | + "packetTag": "1" | |
410 | 379 | } |
380 | +``` | |
411 | 381 | |
412 | -回复键盘的接收状态返回 | |
413 | 382 | |
414 | -发送: | |
415 | 383 | |
416 | -fun: \"startXXKeypad\" //开始xx作答键盘 | |
384 | +回复键盘的接收状态返回 | |
417 | 385 | |
418 | -baseId:\"1\"//收到的基站ID | |
386 | +发送: | |
419 | 387 | |
388 | +fun: "startXXKeypad" //开始xx作答键盘 | |
389 | +baseId:"1"//收到的基站ID | |
420 | 390 | params:{} //为空 |
421 | 391 | |
422 | 392 | 指令样例: |
423 | 393 | |
424 | -{\ | |
425 | - \"fun\":\"startBindKeypad\",\ | |
426 | - \"baseId\":1,\ | |
427 | - \"packetTag\":\"1\"\ | |
394 | +```json | |
395 | +{ | |
396 | + "fun": "startBindKeypad", | |
397 | + "baseId": 1, | |
398 | + "packetTag": "1" | |
428 | 399 | } |
400 | +``` | |
429 | 401 | |
430 | 402 | 停止作答 |
431 | 403 | |
432 | 404 | 指令样例: |
433 | 405 | |
434 | -{...\ | |
435 | - \"keySnList\":\[\ | |
436 | - {\ | |
437 | - \"keySn\":\"1837454011\"\ | |
438 | - },\ | |
439 | - {\ | |
440 | - \"keySn\":\"1837454012\"\ | |
441 | - }\ | |
442 | - \]\ | |
406 | +```json | |
407 | +{... | |
408 | + "keySnList": [{ | |
409 | + "keySn": "1837454011" | |
410 | + }, { | |
411 | + "keySn": "1837454012" | |
412 | + }] | |
443 | 413 | } |
414 | +``` | |
444 | 415 | |
445 | 416 | 键盘的接收状态返回 |
446 | 417 | |
447 | -fun: \"stopXXKeypad\" //停止XX作答键盘(XX是停止作答对应具体名称) | |
448 | - | |
418 | +fun: "stopXXKeypad" //停止XX作答键盘(XX是停止作答对应具体名称) | |
449 | 419 | baseId: 1//接收到指令的基站ID |
450 | - | |
451 | 420 | infos:{}//数组对象 |
452 | 421 | |
453 | 422 | 指令样例: |
454 | 423 | |
455 | -{\ | |
456 | - \"fun\":\"stopBindKeypad\",\ | |
457 | - \"baseId\":1,\ | |
458 | - \"infos\":\[\ | |
459 | - {\ | |
460 | - \"keySn\":\"1837454011\",\ | |
461 | - \"state\":\"OK\"\ | |
462 | - }\ | |
463 | - \],\ | |
464 | - \"packetTag\":\"1\"\ | |
424 | +```json | |
425 | +{ | |
426 | + "fun": "stopBindKeypad", | |
427 | + "baseId": 1, | |
428 | + "infos": [{ | |
429 | + "keySn": "1837454011", | |
430 | + "state": "OK" | |
431 | + }], | |
432 | + "packetTag": "1" | |
465 | 433 | } |
434 | +``` | |
466 | 435 | |
467 | 436 | 回复键盘的接收状态返回 |
468 | 437 | |
469 | 438 | 发送: |
470 | 439 | |
471 | -fun: \"stopXXKeypad\" //停止xx作答键盘 | |
472 | - | |
473 | -baseId: \"1\"//收到的基站ID | |
474 | - | |
440 | +fun: "stopXXKeypad" //停止xx作答键盘 | |
441 | +baseId: "1"//收到的基站ID | |
475 | 442 | params:{} //为空 |
476 | 443 | |
477 | 444 | 指令样例: |
478 | -~~~ | |
445 | +```json | |
479 | 446 | { |
480 | - "fun":"stopBindKeypad", | |
481 | - "baseId":1, | |
482 | - "packetTag":"1" | |
447 | + "fun": "stopBindKeypad", | |
448 | + "baseId": 1, | |
449 | + "packetTag": "1" | |
483 | 450 | } |
484 | -~~~ | |
451 | +``` | |
485 | 452 | |
486 | 453 | |
487 | 454 | ### 签到设备 |
... | ... | @@ -490,8 +457,7 @@ params:{} //为空 |
490 | 457 | |
491 | 458 | 发送: |
492 | 459 | |
493 | -fun: \"startBind\" //开始签到 | |
494 | - | |
460 | +fun: "startBind" //开始签到 | |
495 | 461 | params:{} |
496 | 462 | |
497 | 463 | |
... | ... | @@ -503,40 +469,35 @@ params:{} |
503 | 469 | | limitNumber | 指定位数 | 0-不指定位数(默认值) </br> 1-指定位数 | |
504 | 470 | | options | 固定值 | 固定值10| |
505 | 471 | | optionalN | 可选数字 | 1≤N≤10 (指定位数才需要设置, 10为0) | |
506 | -| keyValue | 指定按键键值 | 0. 未指定\[OK键签到\] </br>1 . 1 </br>2 . 2 </br> 3. 3 </br> 4. 4 </br> 5. 5 </br> 6. 6 </br> 7. 7 </br> 8. 8 </br> 9. 9 </br> 10. 0 </br> 11. 上键 </br> 12. 下键 </br> 13. OK </br> 14. ESC </br> 15. Menu | | |
507 | -+----------------+--------------+-------------------------------------+ | |
472 | +| keyValue | 指定按键键值 | 0. 未指定[OK键签到] </br>1 . 1 </br>2 . 2 </br> 3. 3 </br> 4. 4 </br> 5. 5 </br> 6. 6 </br> 7. 7 </br> 8. 8 </br> 9. 9 </br> 10. 0 </br> 11. 上键 </br> 12. 下键 </br> 13. OK </br> 14. ESC </br> 15. Menu | | |
508 | 473 | | tipTitle | 提示标题 | 16个字节 | |
509 | -+----------------+--------------+-------------------------------------+ | |
510 | 474 | |
511 | -指令样例: | |
512 | 475 | |
513 | -~~~ | |
476 | +指令样例: | |
514 | 477 | |
478 | +```json | |
515 | 479 | { |
516 | - "fun":"startBind", | |
517 | - "baseId":0, | |
518 | - "params":{ | |
519 | - "bindMode":"1", | |
520 | - "lessMode":"0", | |
521 | - "modifyMode":"1", | |
522 | - "limitNumber":"1", | |
523 | - "options":"10", | |
524 | - "optionalN":"10", | |
525 | - "keyValue":"0" | |
526 | - }, | |
527 | - "packetTag":"1" | |
480 | + "fun": "startBind", | |
481 | + "baseId": 0, | |
482 | + "params": { | |
483 | + "bindMode": "1", | |
484 | + "lessMode": "0", | |
485 | + "modifyMode": "1", | |
486 | + "limitNumber": "1", | |
487 | + "options": "10", | |
488 | + "optionalN": "10", | |
489 | + "keyValue": "0" | |
490 | + }, | |
491 | + "packetTag": "1" | |
528 | 492 | } |
529 | - | |
530 | -~~~ | |
493 | +``` | |
531 | 494 | |
532 | 495 | #### 接收签到信息 |
533 | 496 | |
534 | 497 | 接收: |
535 | 498 | |
536 | -fun: \"answerBind\" //签到返回 | |
537 | - | |
538 | -baseId: \"1\"//接收到指令的基站ID | |
539 | - | |
499 | +fun: "answerBind" //签到返回 | |
500 | +baseId: "1"//接收到指令的基站ID | |
540 | 501 | infos:{} |
541 | 502 | |
542 | 503 | | Json字段|字段含义|赋值及含义| |
... | ... | @@ -547,57 +508,54 @@ infos:{} |
547 | 508 | |
548 | 509 | 指令样例: |
549 | 510 | |
550 | -~~~ | |
511 | +```json | |
551 | 512 | { |
552 | - "fun":"answerBind", | |
553 | - "baseId":1, | |
554 | - "infos":{ | |
555 | - "time":"2.42", | |
556 | - "keySn":"1479824643", | |
557 | - "keyValue":"1234" | |
558 | - }, | |
559 | - "packetTag":"1" | |
513 | + "fun": "answerBind", | |
514 | + "baseId": 1, | |
515 | + "infos": { | |
516 | + "time": "2.42", | |
517 | + "keySn": "1479824643", | |
518 | + "keyValue": "1234" | |
519 | + }, | |
520 | + "packetTag": "1" | |
560 | 521 | } |
561 | -~~~ | |
522 | +``` | |
562 | 523 | |
563 | 524 | #### 停止签到 |
564 | 525 | |
565 | 526 | 发送: |
566 | 527 | |
567 | -fun: \"stopBind\" //停止签到 | |
568 | - | |
528 | +fun: "stopBind" //停止签到 | |
569 | 529 | params:{} //默认空 |
570 | 530 | |
571 | 531 | 指令样例: |
572 | 532 | |
573 | -~~~ | |
533 | +```json | |
574 | 534 | { |
575 | - "fun":"stopBind", | |
576 | - "baseId":0, | |
577 | - "packetTag":"1" | |
535 | + "fun": "stopBind", | |
536 | + "baseId": 0, | |
537 | + "packetTag": "1" | |
578 | 538 | } |
579 | -~~~ | |
539 | +``` | |
580 | 540 | |
581 | 541 | 接收: |
582 | 542 | |
583 | -fun: \"stopBind\" //停止签到 | |
584 | - | |
585 | -baseId: \"1\"//收到的基站ID | |
586 | - | |
587 | -infos:{\"state\":\"OK\"}//返回状态,成功为OK | |
543 | +fun: "stopBind" //停止签到 | |
544 | +baseId: "1"//收到的基站ID | |
545 | +infos:{"state":"OK"}//返回状态,成功为OK | |
588 | 546 | |
589 | 547 | 指令样例: |
590 | 548 | |
591 | -~~~ | |
549 | +```json | |
592 | 550 | { |
593 | - "fun":"stopBind", | |
594 | - "baseId":1, | |
595 | - "infos":{ | |
596 | - "state":"OK" | |
597 | - }, | |
598 | - "packetTag":"1" | |
551 | + "fun": "stopBind", | |
552 | + "baseId": 1, | |
553 | + "infos": { | |
554 | + "state": "OK" | |
555 | + }, | |
556 | + "packetTag": "1" | |
599 | 557 | } |
600 | -~~~ | |
558 | +``` | |
601 | 559 | |
602 | 560 | #### 支持设备说明 |
603 | 561 | |
... | ... | @@ -606,7 +564,6 @@ infos:{\"state\":\"OK\"}//返回状态,成功为OK |
606 | 564 | |B100-2.4G+S6|支持|| |
607 | 565 | |B200-2.4G+S6|支持|| |
608 | 566 | |B200-5.8G+T2|支持|| |
609 | -|||| | |
610 | 567 | |
611 | 568 | ### 选择题 |
612 | 569 | |
... | ... | @@ -614,8 +571,7 @@ infos:{\"state\":\"OK\"}//返回状态,成功为OK |
614 | 571 | |
615 | 572 | 发送: |
616 | 573 | |
617 | -fun: \"startChoices\" //开始选择题 | |
618 | - | |
574 | +fun: "startChoices" //开始选择题 | |
619 | 575 | params:{} |
620 | 576 | |
621 | 577 | |Json字段|字段含义|赋值及含义| |
... | ... | @@ -628,135 +584,118 @@ params:{} |
628 | 584 | | options | 选项数目 | 1≤M≤10(默认值4) | |
629 | 585 | | optionalN | 可选项数 | 1≤N≤M(默认值1) | |
630 | 586 | | tipTitle | 提示标题 | 16个字节 | |
631 | -|||| | |
587 | + | |
632 | 588 | |
633 | 589 | 指令样例: |
634 | 590 | |
635 | -~~~ | |
591 | +```json | |
636 | 592 | { |
637 | - "fun":"startChoices", | |
638 | - "baseId":0, | |
639 | - "params":{ | |
640 | - "optionsMode":"1", | |
641 | - "secrecyMode":"0", | |
642 | - "modifyMode":"1", | |
643 | - "lessMode":"0", | |
644 | - "options":"4", | |
645 | - "optionalN":"1" | |
646 | - }, | |
647 | - "packetTag":"1" | |
593 | + "fun": "startChoices", | |
594 | + "baseId": 0, | |
595 | + "params": { | |
596 | + "optionsMode": "1", | |
597 | + "secrecyMode": "0", | |
598 | + "modifyMode": "1", | |
599 | + "lessMode": "0", | |
600 | + "options": "4", | |
601 | + "optionalN": "1" | |
602 | + }, | |
603 | + "packetTag": "1" | |
648 | 604 | } |
649 | - | |
650 | -~~~ | |
605 | +``` | |
651 | 606 | |
652 | 607 | 接收: |
653 | 608 | |
654 | -fun: \"startChoices\" //开始选择题 | |
655 | - | |
656 | -baseId: \"1\"//接收到指令的基站ID | |
657 | - | |
658 | -infos:{\"state\":\"OK\"}//返回状态,成功为OK | |
609 | +fun: "startChoices" //开始选择题 | |
610 | +baseId: "1"//接收到指令的基站ID | |
611 | +infos:{"state":"OK"}//返回状态,成功为OK | |
659 | 612 | |
660 | 613 | 指令样例: |
661 | 614 | |
662 | -~~~ | |
615 | +```json | |
663 | 616 | { |
664 | - "fun":"startChoices", | |
665 | - "baseId":1, | |
666 | - "infos":{ | |
667 | - "state":"OK" | |
668 | - }, | |
669 | - "packetTag":"1" | |
617 | + "fun": "startChoices", | |
618 | + "baseId": 1, | |
619 | + "infos": { | |
620 | + "state": "OK" | |
621 | + }, | |
622 | + "packetTag": "1" | |
670 | 623 | } |
671 | -~~~ | |
624 | +``` | |
672 | 625 | |
673 | 626 | |
674 | 627 | #### 接收作答 |
675 | 628 | |
676 | 629 | 接收: |
677 | 630 | |
678 | -fun: \"answerChoices\" //选择题作答返回 | |
679 | - | |
680 | -baseId: \"1\"//接收到指令的基站ID | |
681 | - | |
631 | +fun: "answerChoices" //选择题作答返回 | |
632 | +baseId: "1"//接收到指令的基站ID | |
682 | 633 | infos: {} |
683 | 634 | |
684 | - ----------------- --------------- -------------------------------------- | |
685 | - Json字段 字段含义 赋值及含义 | |
686 | - | |
687 | - time 答题时间 单位秒 | |
688 | - | |
689 | - keySn 键盘Sn | |
635 | +|Json字段|字段含义|赋值及含义| | |
636 | +|---|---|---| | |
637 | +| time|答题时间|单位秒| | |
638 | +|keySn|键盘Sn|| | |
639 | +|keyValue|键值|键盘提交的值| | |
690 | 640 | |
691 | - keyValue 键值 键盘提交的值 | |
692 | - ----------------- --------------- -------------------------------------- | |
693 | 641 | |
694 | 642 | 指令样例: |
695 | -~~~ | |
643 | +```json | |
696 | 644 | { |
697 | - "fun":"answerChoices", | |
698 | - "baseId":1, | |
699 | - "infos":{ | |
700 | - "time":"2.42", | |
701 | - "keySn":"1479824643", | |
702 | - "keyValue":"A" | |
703 | - }, | |
704 | - "packetTag":"1" | |
645 | + "fun": "answerChoices", | |
646 | + "baseId": 1, | |
647 | + "infos": { | |
648 | + "time": "2.42", | |
649 | + "keySn": "1479824643", | |
650 | + "keyValue": "A" | |
651 | + }, | |
652 | + "packetTag": "1" | |
705 | 653 | } |
706 | -~~~ | |
654 | +``` | |
707 | 655 | |
708 | 656 | #### 停止作答 |
709 | 657 | |
710 | 658 | 发送: |
711 | 659 | |
712 | -fun: \"stopChoices\" //停止选择题 | |
713 | - | |
660 | +fun: "stopChoices" //停止选择题 | |
714 | 661 | params:{} //默认空 |
715 | - | |
716 | 662 | 指令样例: |
717 | 663 | |
718 | - | |
719 | -~~~ | |
664 | +```json | |
720 | 665 | { |
721 | - "fun":"stopChoices", | |
722 | - "baseId":0, | |
723 | - "packetTag":"1" | |
666 | + "fun": "stopChoices", | |
667 | + "baseId": 0, | |
668 | + "packetTag": "1" | |
724 | 669 | } |
725 | -~~~ | |
670 | +``` | |
726 | 671 | |
727 | 672 | 接收: |
728 | 673 | |
729 | -fun: \"stopChoices\" //停止选择题 | |
730 | - | |
731 | -baseId: \"1\"//收到的基站ID | |
732 | - | |
733 | -infos:{\"state\":\"OK\"}//返回状态,成功为OK | |
674 | +fun: "stopChoices" //停止选择题 | |
675 | +baseId: "1"//收到的基站ID | |
676 | +infos:{"state":"OK"}//返回状态,成功为OK | |
734 | 677 | |
735 | 678 | 指令样例: |
736 | 679 | |
737 | -~~~ | |
680 | +```json | |
738 | 681 | { |
739 | - "fun":"stopChoices", | |
740 | - "baseId":1, | |
741 | - "infos":{ | |
742 | - "state":"OK" | |
743 | - }, | |
744 | - "packetTag":"1" | |
682 | + "fun": "stopChoices", | |
683 | + "baseId": 1, | |
684 | + "infos": { | |
685 | + "state": "OK" | |
686 | + }, | |
687 | + "packetTag": "1" | |
745 | 688 | } |
746 | -~~~ | |
689 | +``` | |
747 | 690 | |
748 | 691 | |
749 | 692 | #### 支持设备说明 |
693 | +|基站+键盘|支持/不支持|备注| | |
694 | +|---|---|---| | |
695 | +|B100-2.4G+S6|支持|| | |
696 | +|B200-2.4G+S6|支持|| | |
697 | +|B200-5.8G+T2|支持|| | |
750 | 698 | |
751 | - ----------------------- ----------------------- ----------------------- | |
752 | - 基站+键盘 支持/不支持 备注 | |
753 | - | |
754 | - B100-2.4G+S6 支持 | |
755 | - | |
756 | - B200-2.4G+S6 支持 | |
757 | - | |
758 | - B200-5.8G+T2 支持 | |
759 | - ----------------------- ----------------------- ----------------------- | |
760 | 699 | |
761 | 700 | ### 判断题 |
762 | 701 | |
... | ... | @@ -764,8 +703,7 @@ infos:{\"state\":\"OK\"}//返回状态,成功为OK |
764 | 703 | |
765 | 704 | 发送: |
766 | 705 | |
767 | -fun: \"startTrueFalse\" //开始判断题 | |
768 | - | |
706 | +fun: "startTrueFalse" //开始判断题 | |
769 | 707 | params:{} |
770 | 708 | |
771 | 709 | |**Json字段**|**字段含义**|**赋值及含义**| |
... | ... | @@ -774,129 +712,114 @@ params:{} |
774 | 712 | | secrecyMode | 保密模式 | 0-不保密(默认值) </br> 1-保密| |
775 | 713 | | modifyMode | 修改模式 | 0-不可修改</br>1-可以修改(默认值)| |
776 | 714 | | tipTitle | 提示标题 | 16个字节| |
777 | -|||| | |
778 | - | |
779 | -指令样例: | |
780 | 715 | |
781 | -~~~ | |
782 | 716 | |
717 | +指令样例: | |
718 | +```json | |
783 | 719 | { |
784 | - "fun":"startTrueFalse", | |
785 | - "baseId":0, | |
786 | - "params":{ | |
787 | - "optionsMode":"1", | |
788 | - "secrecyMode":"0", | |
789 | - "modifyMode":"1" | |
790 | - }, | |
791 | - "packetTag":"1" | |
792 | -} | |
793 | - | |
794 | -~~~ | |
795 | - | |
796 | -接收: | |
797 | - | |
798 | -fun: \"startTrueFalse\" //开始判断题 | |
720 | + "fun": "startTrueFalse", | |
721 | + "baseId": 0, | |
722 | + "params": { | |
723 | + "optionsMode": "1", | |
724 | + "secrecyMode": "0", | |
725 | + "modifyMode": "1" | |
726 | + }, | |
727 | + "packetTag": "1" | |
728 | +} | |
729 | +``` | |
799 | 730 | |
800 | -baseId: \"1\"//接收到指令的基站ID | |
731 | +接收: | |
801 | 732 | |
802 | -infos:{\"state\":\"OK\"}//返回状态,成功为OK | |
733 | +fun: "startTrueFalse" //开始判断题 | |
734 | +baseId: "1"//接收到指令的基站ID | |
735 | +infos:{"state":"OK"}//返回状态,成功为OK | |
803 | 736 | |
804 | 737 | 指令样例: |
805 | 738 | |
806 | -~~~ | |
807 | - | |
739 | +```json | |
808 | 740 | { |
809 | - "fun":"startTrueFalse", | |
810 | - "baseId":1, | |
811 | - "infos":{ | |
812 | - "state":"OK" | |
813 | - }, | |
814 | - "packetTag":"1" | |
741 | + "fun": "startTrueFalse", | |
742 | + "baseId": 1, | |
743 | + "infos": { | |
744 | + "state": "OK" | |
745 | + }, | |
746 | + "packetTag": "1" | |
815 | 747 | } |
816 | - | |
817 | -~~~ | |
748 | +``` | |
818 | 749 | |
819 | 750 | #### 接收作答 |
820 | 751 | |
821 | 752 | 接收: |
822 | 753 | |
823 | -fun: \"answerTrueFalse\" //判断题作答返回 | |
824 | - | |
825 | -baseId: \"1\"//接收到指令的基站ID | |
826 | - | |
754 | +fun: "answerTrueFalse" //判断题作答返回 | |
755 | +baseId: "1"//接收到指令的基站ID | |
827 | 756 | infos: {} |
828 | 757 | |
829 | - ----------------- --------------- -------------------------------------- | |
830 | - Json字段 字段含义 赋值及含义 | |
831 | - | |
832 | - time 答题时间 单位秒 | |
833 | - | |
834 | - keySn 键盘Sn | |
758 | +|Json字段|字段含义|赋值及含义| | |
759 | +|---|---|---| | |
760 | +| time|答题时间|单位秒| | |
761 | +|keySn|键盘Sn|| | |
762 | +|keyValue|键值|键盘提交的值(1对、2错)| | |
835 | 763 | |
836 | - keyValue 键值 键盘提交的值(1对、2错) | |
837 | - ----------------- --------------- -------------------------------------- | |
838 | 764 | |
839 | 765 | 指令样例: |
840 | 766 | |
841 | -{\ | |
842 | - \"fun\":\"answerTrueFalse\",\ | |
843 | - \"baseId\":1,\ | |
844 | - \"infos\":{\ | |
845 | - \"time\":\"2.42\",\ | |
846 | - \"keySn\":\"1479824643\",\ | |
847 | - \"keyValue\":\"1\"\ | |
848 | - }, | |
849 | - | |
850 | - \"packetTag\":\"1\"\ | |
767 | +```json | |
768 | +{ | |
769 | + "fun": "answerTrueFalse", | |
770 | + "baseId": 1, | |
771 | + "infos": { | |
772 | + "time": "2.42", | |
773 | + "keySn": "1479824643", | |
774 | + "keyValue": "1" | |
775 | + }, | |
776 | + "packetTag": "1" | |
851 | 777 | } |
778 | +``` | |
852 | 779 | |
853 | 780 | #### 停止作答 |
854 | 781 | |
855 | 782 | 发送: |
856 | 783 | |
857 | -fun: \"stopTrueFalse\" //停止判断题 | |
858 | - | |
784 | +fun: "stopTrueFalse" //停止判断题 | |
859 | 785 | params:{} //默认空 |
860 | 786 | |
861 | 787 | 指令样例: |
862 | 788 | |
863 | -{\ | |
864 | - \"fun\":\"stopTrueFalse\", | |
865 | - | |
866 | - \"baseId\":0,\ | |
867 | - \"packetTag\":\"1\"\ | |
789 | +```json | |
790 | +{ | |
791 | + "fun": "stopTrueFalse", | |
792 | + "baseId": 0, | |
793 | + "packetTag": "1" | |
868 | 794 | } |
795 | +``` | |
869 | 796 | |
870 | 797 | 接收: |
871 | 798 | |
872 | -fun: \"stopTrueFalse\" //停止判断题 | |
873 | - | |
874 | -baseId: \"1\"//收到的基站ID | |
875 | - | |
876 | -infos:{\"state\":\"OK\"}//返回状态,成功为OK | |
799 | +fun: "stopTrueFalse" //停止判断题 | |
800 | +baseId: "1"//收到的基站ID | |
801 | +infos:{"state":"OK"}//返回状态,成功为OK | |
877 | 802 | |
878 | 803 | 指令样例: |
879 | 804 | |
880 | -{\ | |
881 | - \"fun\":\"stopTrueFalse\",\ | |
882 | - \"baseId\":1,\ | |
883 | - \"infos\":{\ | |
884 | - \"state\":\"OK\"\ | |
885 | - },\ | |
886 | - \"packetTag\":\"1\"\ | |
805 | +```json | |
806 | +{ | |
807 | + "fun": "stopTrueFalse", | |
808 | + "baseId": 1, | |
809 | + "infos": { | |
810 | + "state": "OK" | |
811 | + }, | |
812 | + "packetTag": "1" | |
887 | 813 | } |
814 | +``` | |
888 | 815 | |
889 | 816 | #### 支持设备说明 |
890 | 817 | |
891 | - ----------------------- ----------------------- ----------------------- | |
892 | - 基站+键盘 支持/不支持 备注 | |
893 | - | |
894 | - B100-2.4G+S6 支持 | |
895 | - | |
896 | - B200-2.4G+S6 支持 | |
897 | - | |
898 | - B200-5.8G+T2 支持 | |
899 | - ----------------------- ----------------------- ----------------------- | |
818 | +|基站+键盘|支持/不支持|备注| | |
819 | +|---|---|---| | |
820 | +|B100-2.4G+S6|支持|| | |
821 | +|B200-2.4G+S6|支持|| | |
822 | +|B200-5.8G+T2|支持|| | |
900 | 823 | |
901 | 824 | ### 多题快答 |
902 | 825 | |
... | ... | @@ -904,153 +827,126 @@ infos:{\"state\":\"OK\"}//返回状态,成功为OK |
904 | 827 | |
905 | 828 | 发送: |
906 | 829 | |
907 | -fun: \"startMulQuestions\" //开始多小题 | |
908 | - | |
830 | +fun: "startMulQuestions" //开始多小题 | |
909 | 831 | params:{} |
910 | 832 | |
911 | -+----------------+--------------+-------------------------------------+ | |
912 | -| Json字段 | 字段含义 | 赋值及含义 | | |
913 | -+----------------+--------------+-------------------------------------+ | |
914 | -| questionType | 题型 | 0-单选题(默认值) | | |
915 | -| | | | | |
916 | -| | | 1-判断题 | | |
917 | -+----------------+--------------+-------------------------------------+ | |
918 | -| secrecyMode | 保密模式 | 0-不保密(默认值) | | |
919 | -| | | | | |
920 | -| | | 1-保密 | | |
921 | -+----------------+--------------+-------------------------------------+ | |
922 | -| modifyMode | 修改模式 | 0-不可修改 | | |
923 | -| | | | | |
924 | -| | | 1-可以修改(默认值) | | |
925 | -+----------------+--------------+-------------------------------------+ | |
926 | -| lessMode | 预留 | 0 | | |
927 | -+----------------+--------------+-------------------------------------+ | |
928 | -| questionNumber | 题目个数 | 1\~10 (默认值10) | | |
929 | -+----------------+--------------+-------------------------------------+ | |
930 | -| options | 选项数目 | 1\~10 (单选题有效, 默认值4) | | |
931 | -+----------------+--------------+-------------------------------------+ | |
932 | -| tipTitle | 提示标题 | 16个字节 | | |
933 | -+----------------+--------------+-------------------------------------+ | |
934 | - | |
935 | -指令样例: | |
936 | 833 | |
937 | -{\ | |
938 | - \"fun\":\"startMulQuestions\", | |
834 | +|Json字段|字段含义|赋值及含义| | |
835 | +|---|---|---| | |
836 | +|questionType|题型|0-单选题(默认值)<br>1-判断题| | |
837 | +|secrecyMode| 保密模式| 0-不保密(默认值)<br>1-保密| | |
838 | +|modifyMode| 修改模式| 0-不可修改<br>1-可以修改(默认值)| | |
839 | +|lessMode| 预留|0| | |
840 | +|questionNumber|题目个数|1\~10 (默认值10)| | |
841 | +|options|选项数目|1~10 (单选题有效, 默认值4)| | |
842 | +|tipTitle|提示标题|16个字节| | |
939 | 843 | |
940 | - \"baseId\":0,\ | |
941 | - \"params\":{\ | |
942 | - \"questionType\":\"0\",\ | |
943 | - \"secrecyMode\":\"0\",\ | |
944 | - \"modifyMode\":\"1\",\ | |
945 | - \"lessMode\":\"0\",\ | |
946 | - \"questionNumber\":\"10\",\ | |
947 | - \"options\":\"4\"\ | |
948 | - },\ | |
949 | - \"packetTag\":\"1\"\ | |
844 | +指令样例: | |
845 | +```json | |
846 | +{ | |
847 | + "fun": "startMulQuestions", | |
848 | + "baseId": 0, | |
849 | + "params": { | |
850 | + "questionType": "0", | |
851 | + "secrecyMode": "0", | |
852 | + "modifyMode": "1", | |
853 | + "lessMode": "0", | |
854 | + "questionNumber": "10", | |
855 | + "options": "4" | |
856 | + }, | |
857 | + "packetTag": "1" | |
950 | 858 | } |
859 | +``` | |
951 | 860 | |
952 | 861 | 接收: |
953 | 862 | |
954 | -fun: \"startMulQuestions\" //开始多小题 | |
955 | - | |
956 | -baseId: \"1\"//接收到指令的基站ID | |
957 | - | |
958 | -infos:{\"state\":\"OK\"}//返回状态,成功为OK | |
863 | +fun: "startMulQuestions" //开始多小题 | |
864 | +baseId: "1"//接收到指令的基站ID | |
865 | +infos:{"state":"OK"}//返回状态,成功为OK | |
959 | 866 | |
960 | 867 | 指令样例: |
961 | 868 | |
962 | -{\ | |
963 | - \"fun\":\"startMulQuestions\", | |
964 | - | |
965 | -\"baseId\":1,\ | |
966 | - \"infos\":{\ | |
967 | - \"state\":\"OK\"\ | |
968 | - }, | |
969 | - | |
970 | -\"packetTag\":\"1\"\ | |
869 | +```json | |
870 | +{ | |
871 | + "fun": "startMulQuestions", | |
872 | + "baseId": 1, | |
873 | + "infos": { | |
874 | + "state": "OK" | |
875 | + }, | |
876 | + "packetTag": "1" | |
971 | 877 | } |
878 | +``` | |
972 | 879 | |
973 | 880 | #### 接收作答 |
974 | 881 | |
975 | 882 | 接收: |
976 | 883 | |
977 | -fun: \"answerMulQuestions\" //多小题作答返回 | |
978 | - | |
979 | -baseId: \"1\"//接收到指令的基站ID | |
980 | - | |
884 | +fun: "answerMulQuestions" //多小题作答返回 | |
885 | +baseId: "1"//接收到指令的基站ID | |
981 | 886 | infos: {} |
982 | 887 | |
983 | - ----------------- --------------- -------------------------------------- | |
984 | - Json字段 字段含义 赋值及含义 | |
985 | - | |
986 | - time 答题时间 单位秒 | |
987 | - | |
988 | - keySn 键盘Sn | |
989 | - | |
990 | - keyValue 键值 对应题型,按位对应题号 | |
991 | - ----------------- --------------- -------------------------------------- | |
888 | +|Json字段|字段含义|赋值及含义| | |
889 | +|---|---|---| | |
890 | +|time|答题时间|单位秒| | |
891 | +|keySn|键盘Sn|| | |
892 | +|keyValue|键值|键盘提交的值| | |
992 | 893 | |
993 | 894 | 指令样例: |
994 | 895 | |
995 | -{\ | |
996 | - \"fun\":\"answerMulQuestions\",\ | |
997 | - \"baseId\":1,\ | |
998 | - \"infos\":{\ | |
999 | - \"time\":\"2.42\",\ | |
1000 | - \"keySn\":\"1479824643\",\ | |
1001 | - \"keyValue\":\"AACDBDADBD\"\ | |
1002 | - }, | |
1003 | - | |
1004 | - \"packetTag\":\"1\"\ | |
896 | +```json | |
897 | +{ | |
898 | + "fun": "answerMulQuestions", | |
899 | + "baseId": 1, | |
900 | + "infos": { | |
901 | + "time": "2.42", | |
902 | + "keySn": "1479824643", | |
903 | + "keyValue": "AACDBDADBD" | |
904 | + }, | |
905 | + "packetTag": "1" | |
1005 | 906 | } |
907 | +``` | |
1006 | 908 | |
1007 | 909 | #### 停止作答 |
1008 | 910 | |
1009 | 911 | 发送: |
1010 | 912 | |
1011 | -fun: \"stopMulQuestions\" //停止多小题 | |
1012 | - | |
913 | +fun: "stopMulQuestions" //停止多小题 | |
1013 | 914 | params:{} //默认空 |
1014 | 915 | |
1015 | 916 | 指令样例: |
1016 | 917 | |
1017 | -{\ | |
1018 | - \"fun\":\"stopMulQuestions\", | |
1019 | - | |
1020 | - \"baseId\":0,\ | |
1021 | - \"packetTag\":\"1\"\ | |
918 | +```json | |
919 | +{ | |
920 | + "fun": "stopMulQuestions", | |
921 | + "baseId": 0, | |
922 | + "packetTag": "1" | |
1022 | 923 | } |
924 | +``` | |
1023 | 925 | |
1024 | 926 | 接收: |
1025 | 927 | |
1026 | -fun:\"stopMulQuestions\" //停止多小题 | |
1027 | - | |
1028 | -baseId: \"1\"//收到的基站ID | |
1029 | - | |
1030 | -infos:{\"state\":\"OK\"}//返回状态,成功为OK | |
928 | +fun:"stopMulQuestions" //停止多小题 | |
929 | +baseId: "1" //收到的基站ID | |
930 | +infos:{"state":"OK"} //返回状态,成功为OK | |
1031 | 931 | |
1032 | 932 | 指令样例: |
1033 | 933 | |
1034 | -{\ | |
1035 | - \"fun\":\"stopMulQuestions\",\ | |
1036 | - \"baseId\":1,\ | |
1037 | - \"infos\":{\ | |
1038 | - \"state\":\"OK\"\ | |
1039 | - },\ | |
1040 | - \"packetTag\":\"1\"\ | |
934 | +```json | |
935 | +{ | |
936 | + "fun": "stopMulQuestions", | |
937 | + "baseId": 1, | |
938 | + "infos": { | |
939 | + "state": "OK" | |
940 | + }, | |
941 | + "packetTag": "1" | |
1041 | 942 | } |
943 | +``` | |
1042 | 944 | |
1043 | 945 | #### 支持设备说明 |
1044 | 946 | |
1045 | - ----------------------- ----------------------- ----------------------- | |
1046 | - 基站+键盘 支持/不支持 备注 | |
1047 | - | |
1048 | - B100-2.4G+S6 不支持 | |
1049 | - | |
1050 | - B200-2.4G+S6 不支持 | |
1051 | - | |
1052 | - B200-5.8G+T2 支持 | |
1053 | - ----------------------- ----------------------- ----------------------- | |
947 | +|基站+键盘|支持/不支持|备注| | |
948 | +|---|---|---| | |
949 | +|B200-5.8G+T2|支持|| | |
1054 | 950 | |
1055 | 951 | ### 语音题 |
1056 | 952 | |
... | ... | @@ -1058,66 +954,54 @@ infos:{\"state\":\"OK\"}//返回状态,成功为OK |
1058 | 954 | |
1059 | 955 | 发送: |
1060 | 956 | |
1061 | -fun: \"startVoice\" //开始语音题 | |
1062 | - | |
957 | +fun: "startVoice" //开始语音题 | |
1063 | 958 | params:{} |
1064 | 959 | |
1065 | -+----------------+--------------+-------------------------------------+ | |
1066 | -| Json字段 | 字段含义 | 赋值及含义 | | |
1067 | -+----------------+--------------+-------------------------------------+ | |
1068 | -| recordingMode | 录音模式 | 0-按键录音(默认值) | | |
1069 | -+----------------+--------------+-------------------------------------+ | |
1070 | -| submitTimes | 提交次数 | 0 (0:不限制, 默认值0) | | |
1071 | -+----------------+--------------+-------------------------------------+ | |
1072 | -| reco | 预留 | 0 | | |
1073 | -| rdingTimeLimit | | | | |
1074 | -+----------------+--------------+-------------------------------------+ | |
1075 | -| r | 预留 | 0-固定传0 | | |
1076 | -| ecordingFormat | | | | |
1077 | -+----------------+--------------+-------------------------------------+ | |
1078 | -| rec | 音频格式 | 0. mp3 | | |
1079 | -| ordAudioFormat | | | | |
1080 | -| | | 1. 实时流 (默认值1) | | |
1081 | -+----------------+--------------+-------------------------------------+ | |
1082 | -| tipTitle | 提示标题 | 16个字节 | | |
1083 | -+----------------+--------------+-------------------------------------+ | |
960 | +|Json字段|字段含义|赋值及含义| | |
961 | +|---|---|---| | |
962 | +|recordingMode|录音模式|0-按键录音(默认值)| | |
963 | +|submitTimes|提交次数|0 (0:不限制, 默认值0)| | |
964 | +|recordingTimeLimit|预留|0| | |
965 | +|recordingFormat|预留|0-固定传0| | |
966 | +|recordAudioFormat|音频格式|0.mp3<br>1.实时流(默认值1)| | |
967 | +|tipTitle|提示标题|16个字节| | |
1084 | 968 | |
1085 | -指令样例: | |
1086 | 969 | |
1087 | -{\ | |
1088 | - \"fun\":\"startVoice\", | |
970 | +指令样例: | |
1089 | 971 | |
1090 | - \"baseId\":0,\ | |
1091 | - \"params\":{\ | |
1092 | - \"recordingMode\":\"0\",\ | |
1093 | - \"submitTimes\":\"0\",\ | |
1094 | - \"recordingTimeLimit\":\"0\",\ | |
1095 | - \"recordingFormat\":\"0\",\ | |
1096 | - \"recordAudioFormat\":\"0\"\ | |
1097 | - },\ | |
1098 | - \"packetTag\":\"1\"\ | |
972 | +```json | |
973 | +{ | |
974 | + "fun": "startVoice", | |
975 | + "baseId": 0, | |
976 | + "params": { | |
977 | + "recordingMode": "0", | |
978 | + "submitTimes": "0", | |
979 | + "recordingTimeLimit": "0", | |
980 | + "recordingFormat": "0", | |
981 | + "recordAudioFormat": "0" | |
982 | + }, | |
983 | + "packetTag": "1" | |
1099 | 984 | } |
985 | +``` | |
1100 | 986 | |
1101 | 987 | 接收: |
1102 | 988 | |
1103 | -fun: \"startVoice\" //开始语音题 | |
1104 | - | |
1105 | -baseId: \"1\"//接收到指令的基站ID | |
1106 | - | |
1107 | -infos:{\"state\":\"OK\"}//返回状态,成功为OK | |
989 | +fun: "startVoice" //开始语音题 | |
990 | +baseId: "1"//接收到指令的基站ID | |
991 | +infos:{"state":"OK"}//返回状态,成功为OK | |
1108 | 992 | |
1109 | 993 | 指令样例: |
1110 | 994 | |
1111 | -{\ | |
1112 | - \"fun\":\"startVoice\", | |
1113 | - | |
1114 | -\"baseId\":1,\ | |
1115 | - \"infos\":{\ | |
1116 | - \"state\":\"OK\"\ | |
1117 | - }, | |
1118 | - | |
1119 | -\"packetTag\":\"1\"\ | |
995 | +```json | |
996 | +{ | |
997 | + "fun": "startVoice", | |
998 | + "baseId": 1, | |
999 | + "infos": { | |
1000 | + "state": "OK" | |
1001 | + }, | |
1002 | + "packetTag": "1" | |
1120 | 1003 | } |
1004 | +``` | |
1121 | 1005 | |
1122 | 1006 | #### 接收作答 |
1123 | 1007 | |
... | ... | @@ -1127,87 +1011,70 @@ infos:{\"state\":\"OK\"}//返回状态,成功为OK |
1127 | 1011 | |
1128 | 1012 | 接收: |
1129 | 1013 | |
1130 | -fun: \"answerVoiceFile\" //录音文件返回 | |
1131 | - | |
1132 | -baseId: \"1\"//接收到指令的基站ID | |
1133 | - | |
1014 | +fun: "answerVoiceFile" //录音文件返回 | |
1015 | +baseId: "1"//接收到指令的基站ID | |
1134 | 1016 | infos: {} |
1135 | 1017 | |
1136 | - ----------------- --------------- -------------------------------------- | |
1137 | - Json字段 字段含义 赋值及含义 | |
1138 | - | |
1139 | - time 答题时间 单位秒(0为答题开始,\>0表示答题结束) | |
1140 | - | |
1141 | - keySn 键盘Sn | |
1142 | - | |
1143 | - filePath 文件路径 录音文件路径 | |
1144 | - ----------------- --------------- -------------------------------------- | |
1018 | +|Json字段|字段含义|赋值及含义| | |
1019 | +|---|---|---| | |
1020 | +|keySn|键盘Sn|| | |
1021 | +|filePath|文件路径|录音文件路径| | |
1145 | 1022 | |
1146 | 1023 | 指令样例: |
1147 | 1024 | |
1148 | -{\ | |
1149 | - \"fun\":\"answerVoiceFile\",\ | |
1150 | - \"baseId\":1,\ | |
1151 | - \"infos\":{\ | |
1152 | - \"keySn\":\"1479824643\", | |
1153 | - | |
1154 | - \"filePath\":\"D:\\voice\\20211102\\voice_1479824643_1635832534000.mp3\"\ | |
1155 | - }, | |
1156 | - | |
1157 | -\"packetTag\":\"1\"\ | |
1025 | +```json | |
1026 | +{ | |
1027 | + "fun": "answerVoiceFile", | |
1028 | + "baseId": 1, | |
1029 | + "infos": { | |
1030 | + "keySn": "1479749926", | |
1031 | + "filePath": "D:\voice\3_1479749926_196_2023-08-21 16-09-02 530.Mp3" | |
1032 | + }, | |
1033 | + "packetTag": "1" | |
1158 | 1034 | } |
1035 | +``` | |
1159 | 1036 | |
1160 | 1037 | 实时流 |
1161 | 1038 | |
1162 | 1039 | 接收: |
1163 | 1040 | |
1164 | -fun: \"answerVoiceStream\" //语音实时流返回 | |
1165 | - | |
1166 | -baseId: \"1\"//接收到指令的基站ID | |
1167 | - | |
1041 | +fun: "answerVoiceStream" //语音实时流返回 | |
1042 | +baseId: "1"//接收到指令的基站ID | |
1168 | 1043 | infos: {} |
1169 | 1044 | |
1170 | - ----------------- --------------- ------------------------------------------------------------------------------------------ | |
1171 | - Json字段 字段含义 赋值及含义 | |
1172 | - | |
1173 | - keySn 键盘Sn | |
1174 | - | |
1175 | - voiceId 回话ID 答题时间内,可重复提交语音,每段语音流加一个回话ID,用于区分作答 | |
1176 | - | |
1177 | - sampleRate 音频采样率 | |
1178 | - | |
1179 | - bits 音频采样精度 | |
1180 | - | |
1181 | - channel 声道数 | |
1182 | - | |
1183 | - dataIndex 数据包号 1开始 | |
1184 | - | |
1185 | - data 数据 将原始数据通过Base64编码后得到json中\"data\"字段。应用可通过Base64解码得到原始语音数据。 | |
1186 | - | |
1187 | - dataLen 数据长度 Base64编码后的字符串长度。应该将\"data\"通过Base64解码后得到原始的数据长度。 | |
1188 | - | |
1189 | - endFlag 结束标志 默认为0,为1表示结束 | |
1190 | - ----------------- --------------- ------------------------------------------------------------------------------------------ | |
1045 | +|Json字段|字段含义|赋值及含义| | |
1046 | +|---|---|---| | |
1047 | +|keySn|键盘Sn|| | |
1048 | +|voiceId|回话ID|答题时间内,可重复提交语音,每段语音流加一个回话ID,用于区分作答| | |
1049 | +|sampleRate|音频采样率|| | |
1050 | +|bits|音频采样精度|| | |
1051 | +|channel|声道数|| | |
1052 | +|dataIndex|数据包号|1开始| | |
1053 | +|data|数据|将原始数据通过Base64编码后得到json中 "data" 字段。应用可通过Base64解码得到原始语音数据。| | |
1054 | +|dataLen|数据长度|Base64编码后的字符串长度。应该将 "data" 通过Base64解码后得到原始的数据长度。| | |
1055 | +|endFlag|结束标志|默认为0,为1表示结束| | |
1191 | 1056 | |
1192 | 1057 | 指令样例: |
1193 | 1058 | |
1194 | -{\ | |
1195 | - \"fun\":\"answerVoiceStream\",\ | |
1196 | - \"baseId\":1,\ | |
1197 | - \"infos\":{\ | |
1198 | - \"keySn\":1479824643,\ | |
1199 | - \"voiceId\":1,\ | |
1200 | - \"sampleRate\":16000,\ | |
1201 | - \"bits\":16,\ | |
1202 | - \"channel\":1,\ | |
1203 | - \"endFlag\":0, | |
1204 | - | |
1205 | -\"dataIndex\":1,\ | |
1206 | - \"dataLen\":856,\ | |
1207 | - \"data\":\"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEQAAAO7/AAARAAAA7v8AACMAAADK/wAA+gARAI8ANQDoAO7/EQDP/mwD6ADSBBkFgPm+/iH6J/ko/HD8F/8L/u7/rQGU/yMA4f5fAin/MgpDBwADvwRk+yn/fP1e/Jr+DAEAA+gAPAXpBnECgwK5BdEEmwFaA7oF4f63/DX9n/rJ+f75q/tA+5n7fP1q/Y79av1B/nb+Qf70AX0AfQNx/6b8EQBY/Ub9awD0AZUCfgahA4MCBgLV/az+L/5k/o79LwEdAYkBvv5q/X0AHf48BYMCgwKmAgYCdwH0/uL+0P6C/7j/sgApAsr/Kf+U/8T9L/ig+rL3HfVZA6AAsgYSBi8BIwMRABf/pvxB/nH/4v6m/7IAgv9f/7j/3P+gAAsB4gH0AS8BawAAANz/Kf8F/8r/RwAAACMA6ADoAKb/xAC4AgYCLwFBBO4FWQMAA7kFTQUYAnECiQRlASn/4v47/0H+uPxH/UH+L/6O/fn9F//Q/h3+rP5f/zv/8/5N/9z/uP+C/9z/RwBHACMAWQCgAH0ANQA1AEcAEQDK/8r/3P+4/5T/lP+m/5T/gv+C/5T/lP+C/5T/pv+m/w==\"\ | |
1208 | - },\ | |
1209 | - \"packetTag\":\"1\"\ | |
1059 | + | |
1060 | +```json | |
1061 | +{ | |
1062 | + "fun": "answerVoiceStream", | |
1063 | + "baseId": 1, | |
1064 | + "infos": { | |
1065 | + "keySn": "1479824643", | |
1066 | + "voiceId": "1", | |
1067 | + "sampleRate": 16000, | |
1068 | + "bits": 16, | |
1069 | + "channel": 1, | |
1070 | + "endFlag": 0, | |
1071 | + "dataIndex": 1, | |
1072 | + "dataLen": 856, | |
1073 | + "data": "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEQAAAO7/AAARAAAA7v8AACMAAADK/wAA+gARAI8ANQDoAO7/EQDP/mwD6ADSBBkFgPm+/iH6J/ko/HD8F/8L/u7/rQGU/yMA4f5fAin/MgpDBwADvwRk+yn/fP1e/Jr+DAEAA+gAPAXpBnECgwK5BdEEmwFaA7oF4f63/DX9n/rJ+f75q/tA+5n7fP1q/Y79av1B/nb+Qf70AX0AfQNx/6b8EQBY/Ub9awD0AZUCfgahA4MCBgLV/az+L/5k/o79LwEdAYkBvv5q/X0AHf48BYMCgwKmAgYCdwH0/uL+0P6C/7j/sgApAsr/Kf+U/8T9L/ig+rL3HfVZA6AAsgYSBi8BIwMRABf/pvxB/nH/4v6m/7IAgv9f/7j/3P+gAAsB4gH0AS8BawAAANz/Kf8F/8r/RwAAACMA6ADoAKb/xAC4AgYCLwFBBO4FWQMAA7kFTQUYAnECiQRlASn/4v47/0H+uPxH/UH+L/6O/fn9F//Q/h3+rP5f/zv/8/5N/9z/uP+C/9z/RwBHACMAWQCgAH0ANQA1AEcAEQDK/8r/3P+4/5T/lP+m/5T/gv+C/5T/lP+C/5T/pv+m/w==" | |
1074 | + }, | |
1075 | + "packetTag": "1" | |
1210 | 1076 | } |
1077 | +``` | |
1211 | 1078 | |
1212 | 1079 | #### 回传分数 |
1213 | 1080 | |
... | ... | @@ -1217,37 +1084,37 @@ infos: {} |
1217 | 1084 | |
1218 | 1085 | 发送: |
1219 | 1086 | |
1220 | -fun: \"stopVoice\" //停止语音题 | |
1221 | - | |
1087 | +fun: "stopVoice" //停止语音题 | |
1222 | 1088 | params:{} //默认空, |
1223 | 1089 | |
1224 | 1090 | 指令样例: |
1225 | 1091 | |
1226 | -{\ | |
1227 | - \"fun\":\"stopVoice\", | |
1228 | - | |
1229 | - \"baseId\":0,\ | |
1230 | - \"packetTag\":\"1\"\ | |
1092 | +```json | |
1093 | +{ | |
1094 | + "fun": "stopVoice", | |
1095 | + "baseId": 0, | |
1096 | + "packetTag": "1" | |
1231 | 1097 | } |
1098 | +``` | |
1232 | 1099 | |
1233 | 1100 | 接收: |
1234 | 1101 | |
1235 | -fun: \"stopVoice\" //停止语音题 | |
1236 | - | |
1237 | -baseId: \"1\"//收到的基站ID | |
1238 | - | |
1239 | -infos:{\"state\":\"OK\"}//返回状态,成功为OK | |
1102 | +fun: "stopVoice" //停止语音题 | |
1103 | +baseId: "1"//收到的基站ID | |
1104 | +infos:{"state":"OK"}//返回状态,成功为OK | |
1240 | 1105 | |
1241 | 1106 | 指令样例: |
1242 | 1107 | |
1243 | -{\ | |
1244 | - \"fun\":\"stopVoice\",\ | |
1245 | - \"baseId\":1,\ | |
1246 | - \"infos\":{\ | |
1247 | - \"state\":\"OK\"\ | |
1248 | - },\ | |
1249 | - \"packetTag\":\"1\"\ | |
1108 | +```json | |
1109 | +{ | |
1110 | + "fun": "stopVoice", | |
1111 | + "baseId": 1, | |
1112 | + "infos": { | |
1113 | + "state": "OK" | |
1114 | + }, | |
1115 | + "packetTag": "1" | |
1250 | 1116 | } |
1117 | +``` | |
1251 | 1118 | |
1252 | 1119 | #### 丢包信息 |
1253 | 1120 | |
... | ... | @@ -1257,191 +1124,162 @@ infos:{\"state\":\"OK\"}//返回状态,成功为OK |
1257 | 1124 | |
1258 | 1125 | 接收: |
1259 | 1126 | |
1260 | -fun: \"voicePacketLossInfo\" //丢包信息 | |
1261 | - | |
1127 | +fun: "voicePacketLossInfo" //丢包信息 | |
1262 | 1128 | baseId:1 //1\~32,连接基站 |
1263 | - | |
1264 | 1129 | infos:{} // |
1265 | 1130 | |
1266 | - --------------------- --------------- ------------------------------------------------------------------ | |
1267 | - Json字段 字段含义 赋值及含义 | |
1268 | - | |
1269 | - keySn 键盘Sn | |
1270 | - | |
1271 | - voiceId 回话ID 答题时间内,可重复提交语音,每段语音流加一个回话ID,用于区分作答 | |
1272 | - | |
1273 | - recordTime 录音延迟时间 | |
1274 | - | |
1275 | - shouldSendPacketNum 应发数据包数 | |
1276 | - | |
1277 | - actualSendPacketNum 实发数据包数 | |
1131 | +|Json字段|字段含义|赋值及含义| | |
1132 | +|---|---|---| | |
1133 | +|keySn|键盘Sn|| | |
1134 | +|voiceId|回话ID|答题时间内,可重复提交语音,每段语音流加一个回话ID,用于区分作答| | |
1135 | +|recordTime|录音延迟时间|| | |
1136 | +|shouldSendPacketNum|应发数据包数|| | |
1137 | +|actualSendPacketNum|实发数据包数|| | |
1138 | +|lossRate|丢包率|百分比| | |
1278 | 1139 | |
1279 | - lossRate 丢包率 百分比 | |
1280 | - --------------------- --------------- ------------------------------------------------------------------ | |
1281 | 1140 | |
1282 | 1141 | 指令样例: |
1283 | 1142 | |
1284 | -{\ | |
1285 | - \"fun\":\"voicePacketLossInfo\",\ | |
1286 | - \"baseId\":1,\ | |
1287 | - \"infos\":{\ | |
1288 | - \"keySn\":\"1837454011\",\ | |
1289 | - \"voiceId\":\"1\",\ | |
1290 | - \"recordTime\":\"42\",\ | |
1291 | - \"shouldSendPacketNum\":\"56\",\ | |
1292 | - \"actualSendPacketNum\":\"56\",\ | |
1293 | - \"lossRate\":\"0\"\ | |
1294 | - },\ | |
1295 | - \"packetTag\":\"1\"\ | |
1143 | +```json | |
1144 | +{ | |
1145 | + "fun": "voicePacketLossInfo", | |
1146 | + "baseId": 1, | |
1147 | + "infos": { | |
1148 | + "keySn": "1837454011", | |
1149 | + "voiceId": "1", | |
1150 | + "recordTime": "42", | |
1151 | + "shouldSendPacketNum": "56", | |
1152 | + "actualSendPacketNum": "56", | |
1153 | + "lossRate": "0" | |
1154 | + }, | |
1155 | + "packetTag": "1" | |
1296 | 1156 | } |
1157 | +``` | |
1297 | 1158 | |
1298 | 1159 | #### 支持设备说明 |
1299 | 1160 | |
1300 | - ----------------------- ----------------------- ----------------------- | |
1301 | - 基站+键盘 支持/不支持 备注 | |
1302 | - | |
1303 | - B100-2.4G+S6 不支持 | |
1304 | - | |
1305 | - B200-2.4G+S6 不支持 | |
1306 | - | |
1307 | - B200-5.8G+T2 支持 单次录音最长180秒 | |
1308 | - ----------------------- ----------------------- ----------------------- | |
1161 | +|基站+键盘|支持/不支持|备注| | |
1162 | +|---|---|---| | |
1163 | +|B200-5.8G+T2|支持|单次录音最长180秒| | |
1309 | 1164 | |
1310 | 1165 | ### 抢答题 |
1311 | - | |
1312 | 1166 | #### 开始作答 |
1313 | 1167 | |
1314 | 1168 | 发送: |
1315 | 1169 | |
1316 | -fun: \"startRushAnswer\" //开始抢答题 | |
1317 | - | |
1170 | +fun: "startRushAnswer" //开始抢答题 | |
1318 | 1171 | params:{} |
1319 | 1172 | |
1320 | -+----------------+--------------+-------------------------------------+ | |
1321 | -| Json字段 | 字段含义 | 赋值及含义 | | |
1322 | -+----------------+--------------+-------------------------------------+ | |
1323 | -| rushAnswerMode | 抢答模式 | 0-普通抢答(默认值) | | |
1324 | -+----------------+--------------+-------------------------------------+ | |
1325 | -| modifyMode | 修改模式 | 0-不可修改 | | |
1326 | -| | | | | |
1327 | -| | | 1-可以修改(默认值) | | |
1328 | -+----------------+--------------+-------------------------------------+ | |
1173 | +|Json字段|字段含义|赋值及含义| | |
1174 | +|---|---|---| | |
1175 | +|rushAnswerMode| 抢答模式|0-普通抢答(默认值)| | |
1176 | +|modifyMode|修改模式|0-不可修改<br>1-可以修改(默认值)| | |
1329 | 1177 | |
1330 | -指令样例: | |
1331 | 1178 | |
1332 | -{\ | |
1333 | - \"fun\":\"startRushAnswer\", | |
1334 | 1179 | |
1335 | - \"baseId\":0,\ | |
1336 | - \"params\":{\ | |
1337 | - \"rushAnswerMode\":\"0\",\ | |
1338 | - \"modifyMode\":\"1\"\ | |
1339 | - },\ | |
1340 | - \"packetTag\":\"1\"\ | |
1180 | +指令样例: | |
1181 | +```json | |
1182 | +{ | |
1183 | + "fun": "startRushAnswer", | |
1184 | + "baseId": 0, | |
1185 | + "params": { | |
1186 | + "rushAnswerMode": "0", | |
1187 | + "modifyMode": "1" | |
1188 | + }, | |
1189 | + "packetTag": "1" | |
1341 | 1190 | } |
1191 | +``` | |
1342 | 1192 | |
1343 | 1193 | 接收: |
1344 | 1194 | |
1345 | -fun: \"startRushAnswer\" //开始抢答题 | |
1346 | - | |
1347 | -baseId: \"1\"//接收到指令的基站ID | |
1348 | - | |
1349 | -infos:{\"state\":\"OK\"}//返回状态,成功为OK | |
1195 | +fun: "startRushAnswer" //开始抢答题 | |
1196 | +baseId: "1"//接收到指令的基站ID | |
1197 | +infos:{"state":"OK"}//返回状态,成功为OK | |
1350 | 1198 | |
1351 | 1199 | 指令样例: |
1352 | 1200 | |
1353 | -{\ | |
1354 | - \"fun\":\"startRushAnswer\", | |
1355 | - | |
1356 | -\"baseId\":1,\ | |
1357 | - \"infos\":{\ | |
1358 | - \"state\":\"OK\"\ | |
1359 | - }, | |
1360 | - | |
1361 | -\"packetTag\":\"1\"\ | |
1201 | +```json | |
1202 | +{ | |
1203 | + "fun": "startRushAnswer", | |
1204 | + "baseId": 1, | |
1205 | + "infos": { | |
1206 | + "state": "OK" | |
1207 | + }, | |
1208 | + "packetTag": "1" | |
1362 | 1209 | } |
1210 | +``` | |
1363 | 1211 | |
1364 | 1212 | #### 接收作答 |
1365 | 1213 | |
1366 | 1214 | 接收: |
1367 | 1215 | |
1368 | -fun: \"answerRushAnswer\" //抢答题作答返回 | |
1369 | - | |
1370 | -baseId: \"1\"//接收到指令的基站ID | |
1371 | - | |
1216 | +fun: "answerRushAnswer" //抢答题作答返回 | |
1217 | +baseId: "1"//接收到指令的基站ID | |
1372 | 1218 | infos: {} |
1373 | 1219 | |
1374 | - ----------------- --------------- -------------------------------------- | |
1375 | - Json字段 字段含义 赋值及含义 | |
1376 | - | |
1377 | - time 答题时间 单位秒 | |
1378 | - | |
1379 | - keySn 键盘Sn | |
1380 | - | |
1381 | - keyValue 键值 | |
1382 | - ----------------- --------------- -------------------------------------- | |
1220 | +|Json字段|字段含义|赋值及含义| | |
1221 | +|---|---|---| | |
1222 | +|time|答题时间|单位秒| | |
1223 | +|keySn|键盘Sn|| | |
1224 | +|keyValue|键值|键盘提交的值| | |
1383 | 1225 | |
1384 | 1226 | 指令样例: |
1385 | 1227 | |
1386 | -{\ | |
1387 | - \"fun\":\"answerRushAnswer\",\ | |
1388 | - \"baseId\":1,\ | |
1389 | - \"infos\":{\ | |
1390 | - \"time\":\"1.42\",\ | |
1391 | - \"keySn\":\"1479824643\",\ | |
1392 | - \"keyValue\":\"A\"\ | |
1393 | - }, | |
1394 | - | |
1395 | - \"packetTag\":\"1\"\ | |
1228 | +```json | |
1229 | +{ | |
1230 | + "fun": "answerRushAnswer", | |
1231 | + "baseId": 1, | |
1232 | + "infos": { | |
1233 | + "time": "1.42", | |
1234 | + "keySn": "1479824643", | |
1235 | + "keyValue": "A" | |
1236 | + }, | |
1237 | + "packetTag": "1" | |
1396 | 1238 | } |
1397 | - | |
1239 | +``` | |
1398 | 1240 | #### 停止作答 |
1399 | 1241 | |
1400 | 1242 | 发送: |
1401 | 1243 | |
1402 | -fun: \"stopRushAnswer\" //停止抢答题 | |
1403 | - | |
1244 | +fun: "stopRushAnswer" //停止抢答题 | |
1404 | 1245 | params:{} //默认空 |
1405 | 1246 | |
1406 | 1247 | 指令样例: |
1407 | 1248 | |
1408 | -{\ | |
1409 | - \"fun\":\"stopRushAnswer\", | |
1410 | - | |
1411 | -\"baseId\":0,\ | |
1412 | - \"packetTag\":\"1\"\ | |
1249 | +```json | |
1250 | +{ | |
1251 | + "fun": "stopRushAnswer", | |
1252 | + "baseId": 0, | |
1253 | + "packetTag": "1" | |
1413 | 1254 | } |
1255 | +``` | |
1414 | 1256 | |
1415 | 1257 | 接收: |
1416 | 1258 | |
1417 | -fun: \"stopRushAnswer\" //停止抢答题 | |
1418 | - | |
1419 | -baseId: \"1\"//收到的基站ID | |
1420 | - | |
1421 | -infos:{\"state\":\"OK\"}//返回状态,成功为OK | |
1259 | +fun: "stopRushAnswer" //停止抢答题 | |
1260 | +baseId: "1"//收到的基站ID | |
1261 | +infos:{"state":"OK"}//返回状态,成功为OK | |
1422 | 1262 | |
1423 | 1263 | 指令样例: |
1424 | 1264 | |
1425 | -{\ | |
1426 | - \"fun\":\"stopRushAnswer\",\ | |
1427 | - \"baseId\":1,\ | |
1428 | - \"infos\":{\ | |
1429 | - \"state\":\"OK\"\ | |
1430 | - },\ | |
1431 | - \"packetTag\":\"1\"\ | |
1265 | +```json | |
1266 | +{ | |
1267 | + "fun": "stopRushAnswer", | |
1268 | + "baseId": 1, | |
1269 | + "infos": { | |
1270 | + "state": "OK" | |
1271 | + }, | |
1272 | + "packetTag": "1" | |
1432 | 1273 | } |
1274 | +``` | |
1433 | 1275 | |
1434 | 1276 | #### 支持设备说明 |
1435 | 1277 | |
1436 | - ----------------------- ----------------------- ----------------------- | |
1437 | - 基站+键盘 支持/不支持 备注 | |
1438 | - | |
1439 | - B100-2.4G+S6 支持 | |
1440 | - | |
1441 | - B200-2.4G+S6 支持 | |
1442 | - | |
1443 | - B200-5.8G+T2 支持 | |
1444 | - ----------------------- ----------------------- ----------------------- | |
1278 | +|基站+键盘|支持/不支持|备注| | |
1279 | +|---|---|---| | |
1280 | +|B100-2.4G+S6|支持|| | |
1281 | +|B200-2.4G+S6|支持|| | |
1282 | +|B200-5.8G+T2|支持|| | |
1445 | 1283 | |
1446 | 1284 | ### 数字题 |
1447 | 1285 | |
... | ... | @@ -1835,8 +1673,7 @@ params:{} |
1835 | 1673 | |
1836 | 1674 | | **Json字段** | **字段含义** | **赋值及含义** | |
1837 | 1675 | | --- | --- | --- | |
1838 | -| questionLevel1Symbol | 一级题号 | 0 | | |
1839 | -| questionLevel2Symbol | 二级题号 | 1-200 | | |
1676 | +| questionLevel2Symbol | 一级题号 | 1-200 | | |
1840 | 1677 | | course | 科目 | 1:语文<br>2:数学<br>3:英语<br>4:政治<br>5:历史<br>6:地理<br>7:生物<br>8:物理<br>9化学 | |
1841 | 1678 | | questionType | 题目类型 | 1:单选<br>2:多选(排序)<br>3:数字<br>4:判断 | |
1842 | 1679 | | option | 选项数目 | 当questionType = 1 有效。<br>当questionType = 2 有效。<br>此项缺省时 默认4;<br>范围:1-10。| |
... | ... | @@ -1848,26 +1685,22 @@ params:{} |
1848 | 1685 | "params": { |
1849 | 1686 | "examNo": 1, |
1850 | 1687 | "questions": [{ |
1851 | - "questionLevel1Symbol": "0", | |
1852 | - "questionLevel2Symbol": "1", | |
1688 | + "questionLevel1Symbol": "1", | |
1853 | 1689 | "course": "1", |
1854 | 1690 | "questionType": "1", |
1855 | 1691 | "option": "4" |
1856 | 1692 | }, { |
1857 | - "questionLevel1Symbol": "0", | |
1858 | - "questionLevel2Symbol": "2", | |
1693 | + "questionLevel1Symbol": "2", | |
1859 | 1694 | "course": "2", |
1860 | 1695 | "questionType": "2", |
1861 | 1696 | "option": "4" |
1862 | 1697 | }, { |
1863 | - "questionLevel1Symbol": "0", | |
1864 | - "questionLevel2Symbol": "3", | |
1698 | + "questionLevel1Symbol": "3", | |
1865 | 1699 | "course": "3", |
1866 | 1700 | "questionType": "3", |
1867 | 1701 | "option": "4" |
1868 | 1702 | }, { |
1869 | - "questionLevel1Symbol": "0", | |
1870 | - "questionLevel2Symbol": "4", | |
1703 | + "questionLevel1Symbol": "4", | |
1871 | 1704 | "course": "4", |
1872 | 1705 | "questionType": "4", |
1873 | 1706 | "option": "4" |
... | ... | @@ -2056,9 +1889,7 @@ params:{} |
2056 | 1889 | |
2057 | 1890 | | **Json字段** | **字段含义** | **赋值及含义** | |
2058 | 1891 | | --- | --- | --- | |
2059 | -| questionLevel1Symbol | 一级题号 | 0 | | |
2060 | -| questionLevel2Symbol | 二级题号 | 0 | | |
2061 | -| questionLevel3Symbol | 三级题号 | 1-99 | | |
1892 | +| questionLevel1Symbol | 一级题号 | 1-200 | | |
2062 | 1893 | | questionType | 题目类型 | 1:单选<br>2:多选(排序)<br>3:数字<br>4:判断 | |
2063 | 1894 | | option | 选项数目 |当questionType = 1 有效。<br>当questionType = 2 有效。<br>此项缺省时 默认4;<br>范围:1-10。| |
2064 | 1895 | |
... | ... | @@ -2069,25 +1900,17 @@ params:{} |
2069 | 1900 | "params": { |
2070 | 1901 | "examNo": 1, |
2071 | 1902 | "questions": [{ |
2072 | - "questionLevel1Symbol": "0", | |
2073 | - "questionLevel2Symbol": "0", | |
2074 | - "questionLevel3Symbol": "1", | |
1903 | + "questionLevel1Symbol": "1", | |
2075 | 1904 | "questionType": "1" |
2076 | 1905 | }, { |
2077 | - "questionLevel1Symbol": "0", | |
2078 | - "questionLevel2Symbol": "0", | |
2079 | - "questionLevel3Symbol": "3", | |
1906 | + "questionLevel1Symbol": "3", | |
2080 | 1907 | "questionType": "2", |
2081 | 1908 | "option": "5" |
2082 | 1909 | }, { |
2083 | - "questionLevel1Symbol": "0", | |
2084 | - "questionLevel2Symbol": "0", | |
2085 | - "questionLevel3Symbol": "4", | |
1910 | + "questionLevel1Symbol": "4", | |
2086 | 1911 | "questionType": "3" |
2087 | 1912 | }, { |
2088 | - "questionLevel1Symbol": "0", | |
2089 | - "questionLevel2Symbol": "0", | |
2090 | - "questionLevel3Symbol": "5", | |
1913 | + "questionLevel1Symbol": "5", | |
2091 | 1914 | "questionType": "4" |
2092 | 1915 | }] |
2093 | 1916 | }, |
... | ... | @@ -2130,9 +1953,8 @@ params:{} |
2130 | 1953 | |
2131 | 1954 | | **Json字段** | **字段含义** | **赋值及含义** | |
2132 | 1955 | | --- | --- | --- | |
2133 | -| questionLevel1Symbol | 一级题号 | 0 | | |
1956 | +| questionLevel1Symbol | 一级题号 | 1-99 | | |
2134 | 1957 | | questionLevel2Symbol | 二级题号 | 1-99 | |
2135 | -| questionLevel3Symbol | 三级题号 | 1-99 | | |
2136 | 1958 | | questionType | 题目类型 | 1:单选<br>2:多选(排序)<br>3:数字<br>4:判断 | |
2137 | 1959 | | option | 选项数目 |当questionType = 1 有效。<br>当questionType = 2 有效。<br>此项缺省时 默认4;<br>范围:1-10。| |
2138 | 1960 | |
... | ... | @@ -2143,25 +1965,21 @@ params:{} |
2143 | 1965 | "params": { |
2144 | 1966 | "examNo": 1, |
2145 | 1967 | "questions": [{ |
2146 | - "questionLevel1Symbol": "0", | |
1968 | + "questionLevel1Symbol": "1", | |
2147 | 1969 | "questionLevel2Symbol": "1", |
2148 | - "questionLevel3Symbol": "1", | |
2149 | 1970 | "questionType": "1" |
2150 | 1971 | }, { |
2151 | - "questionLevel1Symbol": "0", | |
2152 | - "questionLevel2Symbol": "2", | |
2153 | - "questionLevel3Symbol": "3", | |
1972 | + "questionLevel1Symbol": "2", | |
1973 | + "questionLevel2Symbol": "3", | |
2154 | 1974 | "questionType": "2", |
2155 | 1975 | "option": "5" |
2156 | 1976 | }, { |
2157 | - "questionLevel1Symbol": "0", | |
2158 | - "questionLevel2Symbol": "2", | |
2159 | - "questionLevel3Symbol": "4", | |
1977 | + "questionLevel1Symbol": "2", | |
1978 | + "questionLevel2Symbol": "4", | |
2160 | 1979 | "questionType": "3" |
2161 | 1980 | }, { |
2162 | - "questionLevel1Symbol": "0", | |
2163 | - "questionLevel2Symbol": "2", | |
2164 | - "questionLevel3Symbol": "5", | |
1981 | + "questionLevel1Symbol": "2", | |
1982 | + "questionLevel2Symbol": "5", | |
2165 | 1983 | "questionType": "4" |
2166 | 1984 | }] |
2167 | 1985 | }, |
... | ... | @@ -2280,7 +2098,7 @@ params:{} |
2280 | 2098 | | --- | --- | --- | |
2281 | 2099 | | questionLevel1Symbol | 一级题号 | 1-200 | |
2282 | 2100 | | toplimit | 数字上限 | 1-100 | |
2283 | -| decimal | 小数位数 | 0:无效小数<br>1:一位小数<br>2:二位小数 [默认是2]<br>此项缺省时默认是0。| | |
2101 | +| decimal | 小数位数 | 0:无效小数<br>1:一位小数<br>2:二位小数 <br>此项缺省时默认是0。| | |
2284 | 2102 | |
2285 | 2103 | ```json |
2286 | 2104 | { |
... | ... | @@ -2539,7 +2357,6 @@ params:{} |
2539 | 2357 | |
2540 | 2358 | | **Json字段** | **字段含义** | **赋值及含义** | |
2541 | 2359 | | --- | --- | --- | |
2542 | -| questionLevel1Symbol | 一级题号 | 0 | | |
2543 | 2360 | | questionLevel2Symbol | 二级题号 | 1-99 | |
2544 | 2361 | | course | 科目 | 1:语文<br>2:数学<br>3:英语<br>4:政治<br>5:历史<br>6:地理<br>7:生物<br>8:物理<br>9化学 | |
2545 | 2362 | | questionType | 题目类型 | 1:单选<br>2:多选(排序)<br>3:数字<br>4:判断 | |
... | ... | @@ -2552,26 +2369,22 @@ params:{} |
2552 | 2369 | "params": { |
2553 | 2370 | "examNo": 1, |
2554 | 2371 | "questions": [{ |
2555 | - "questionLevel1Symbol": "0", | |
2556 | - "questionLevel2Symbol": "1", | |
2372 | + "questionLevel1Symbol": "1", | |
2557 | 2373 | "course": "1", |
2558 | 2374 | "questionType": "1", |
2559 | 2375 | "option": "4" |
2560 | 2376 | }, { |
2561 | - "questionLevel1Symbol": "0", | |
2562 | - "questionLevel2Symbol": "2", | |
2377 | + "questionLevel1Symbol": "2", | |
2563 | 2378 | "course": "2", |
2564 | 2379 | "questionType": "2", |
2565 | 2380 | "option": "4" |
2566 | 2381 | }, { |
2567 | - "questionLevel1Symbol": "0", | |
2568 | - "questionLevel2Symbol": "3", | |
2382 | + "questionLevel1Symbol": "3", | |
2569 | 2383 | "course": "3", |
2570 | 2384 | "questionType": "3", |
2571 | 2385 | "option": "4" |
2572 | 2386 | }, { |
2573 | - "questionLevel1Symbol": "0", | |
2574 | - "questionLevel2Symbol": "4", | |
2387 | + "questionLevel1Symbol": "4", | |
2575 | 2388 | "course": "4", |
2576 | 2389 | "questionType": "4", |
2577 | 2390 | "option": "4" |
... | ... | @@ -2760,9 +2573,7 @@ params:{} |
2760 | 2573 | |
2761 | 2574 | | **Json字段** | **字段含义** | **赋值及含义** | |
2762 | 2575 | | --- | --- | --- | |
2763 | -| questionLevel1Symbol | 一级题号 | 0 | | |
2764 | -| questionLevel2Symbol | 二级题号 | 0 | | |
2765 | -| questionLevel3Symbol | 三级题号 | 1-99 | | |
2576 | +| questionLevel1Symbol | 三级题号 | 1-200 | | |
2766 | 2577 | | questionType | 题目类型 | 1:单选<br>2:多选(排序)<br>3:数字<br>4:判断 | |
2767 | 2578 | | option | 选项数目 | 当questionType = 1 有效。<br>当questionType = 2 有效。<br>此项缺省时 默认4;<br>范围:1-10。| |
2768 | 2579 | |
... | ... | @@ -2773,25 +2584,17 @@ params:{} |
2773 | 2584 | "params": { |
2774 | 2585 | "examNo": 1, |
2775 | 2586 | "questions": [{ |
2776 | - "questionLevel1Symbol": "0", | |
2777 | - "questionLevel2Symbol": "0", | |
2778 | - "questionLevel3Symbol": "1", | |
2587 | + "questionLevel1Symbol": "1", | |
2779 | 2588 | "questionType": "1" |
2780 | 2589 | }, { |
2781 | - "questionLevel1Symbol": "0", | |
2782 | - "questionLevel2Symbol": "0", | |
2783 | - "questionLevel3Symbol": "3", | |
2590 | + "questionLevel1Symbol": "3", | |
2784 | 2591 | "questionType": "2", |
2785 | 2592 | "option": "5" |
2786 | 2593 | }, { |
2787 | - "questionLevel1Symbol": "0", | |
2788 | - "questionLevel2Symbol": "0", | |
2789 | - "questionLevel3Symbol": "4", | |
2594 | + "questionLevel1Symbol": "4", | |
2790 | 2595 | "questionType": "3" |
2791 | 2596 | }, { |
2792 | - "questionLevel1Symbol": "0", | |
2793 | - "questionLevel2Symbol": "0", | |
2794 | - "questionLevel3Symbol": "5", | |
2597 | + "questionLevel1Symbol": "5", | |
2795 | 2598 | "questionType": "4" |
2796 | 2599 | }] |
2797 | 2600 | }, |
... | ... | @@ -2834,9 +2637,8 @@ params:{} |
2834 | 2637 | |
2835 | 2638 | | **Json字段** | **字段含义** | **赋值及含义** | |
2836 | 2639 | | --- | --- | --- | |
2837 | -| questionLevel1Symbol | 一级题号 | 0 | | |
2838 | -| questionLevel2Symbol | 二级题号 | 1-99 | | |
2839 | -| questionLevel3Symbol | 三级题号 | 1-99 | | |
2640 | +| questionLevel1Symbol | 二级题号 | 1-99 | | |
2641 | +| questionLevel2Symbol | 三级题号 | 1-99 | | |
2840 | 2642 | | questionType | 题目类型 | 1:单选<br>2:多选(排序)<br>3:数字<br>4:判断 | |
2841 | 2643 | | option | 选项数目 | 当questionType = 1 有效。<br>当questionType = 2 有效。<br>此项缺省时 默认4;<br>范围:1-10。| |
2842 | 2644 | |
... | ... | @@ -2847,25 +2649,21 @@ params:{} |
2847 | 2649 | "params": { |
2848 | 2650 | "examNo": 1, |
2849 | 2651 | "questions": [{ |
2850 | - "questionLevel1Symbol": "0", | |
2652 | + "questionLevel1Symbol": "1", | |
2851 | 2653 | "questionLevel2Symbol": "1", |
2852 | - "questionLevel3Symbol": "1", | |
2853 | 2654 | "questionType": "1" |
2854 | 2655 | }, { |
2855 | - "questionLevel1Symbol": "0", | |
2856 | - "questionLevel2Symbol": "2", | |
2857 | - "questionLevel3Symbol": "3", | |
2656 | + "questionLevel1Symbol": "2", | |
2657 | + "questionLevel2Symbol": "3", | |
2858 | 2658 | "questionType": "2", |
2859 | 2659 | "option": "5" |
2860 | 2660 | }, { |
2861 | - "questionLevel1Symbol": "0", | |
2862 | - "questionLevel2Symbol": "2", | |
2863 | - "questionLevel3Symbol": "4", | |
2661 | + "questionLevel1Symbol": "2", | |
2662 | + "questionLevel2Symbol": "4", | |
2864 | 2663 | "questionType": "3" |
2865 | 2664 | }, { |
2866 | - "questionLevel1Symbol": "0", | |
2867 | - "questionLevel2Symbol": "2", | |
2868 | - "questionLevel3Symbol": "5", | |
2665 | + "questionLevel1Symbol": "2", | |
2666 | + "questionLevel2Symbol": "5", | |
2869 | 2667 | "questionType": "4" |
2870 | 2668 | }] |
2871 | 2669 | }, |
... | ... | @@ -2983,7 +2781,7 @@ params:{} |
2983 | 2781 | | --- | --- | --- | |
2984 | 2782 | | questionLevel1Symbol | 一级题号 | 1-200 | |
2985 | 2783 | | toplimit | 数字上限 | 1-100 | |
2986 | -| decimal | 小数位数 | 0:无效小数<br>1:一位小数<br>2:二位小数 [默认是2]<br>此项缺省时默认是0。| | |
2784 | +| decimal | 小数位数 | 0:无效小数<br>1:一位小数<br>2:二位小数 <br>此项缺省时默认是0。| | |
2987 | 2785 | |
2988 | 2786 | ```json |
2989 | 2787 | { | ... | ... |