Commit 4195f9a2ebd66392c92b9906d4d79bcbbb4f6586
1 parent
2162eb1f
修改多基站状态返回主题写错的问题,同步外部版的协议内容
Showing
2 changed files
with
768 additions
and
49 deletions
通讯协议-B200W-MQTT协议[内部].md
... | ... | @@ -473,7 +473,7 @@ |
473 | 473 | 参见基站连接变化系统通知 |
474 | 474 | |
475 | 475 | ##### fEvtBsOnlineState |
476 | -- **主题**: <span class="yellowFill">/basestation/mutilBase/receive</span> | |
476 | +- **主题**: <span class="yellowFill">/basestation/multiBase/receive</span> | |
477 | 477 | - **功能描述**:基站在线返回基站型号和基站SN |
478 | 478 | - **参数说明** |
479 | 479 | ... | ... |
通讯协议-B200W-MQTT协议[外].md
... | ... | @@ -13,10 +13,10 @@ |
13 | 13 | background-color: yellow; |
14 | 14 | } |
15 | 15 | </style> |
16 | -# SunVote B200W MQTT通讯协议 | |
17 | 16 | |
18 | 17 | [TOC] |
19 | 18 | |
19 | +# SunVote B200W MQTT通讯协议 | |
20 | 20 | # 功能说明 |
21 | 21 | |
22 | 22 | ## 主题说明 |
... | ... | @@ -47,8 +47,9 @@ |
47 | 47 | |fEvtXXX|指令事件 |调用对应指令后返回| |
48 | 48 | |
49 | 49 | ## 数据格式约定 |
50 | -- 数据格式统一为**Json**格式,MQTT发送接收消息编码统一为**UTF-8** | |
50 | +- 数据格式统一为**Json**格式,发送接收消息编码统一为**UTF-8** | |
51 | 51 | - Json通用格式如下: |
52 | + | |
52 | 53 | ```json |
53 | 54 | { |
54 | 55 | "fun":"xxx", |
... | ... | @@ -69,6 +70,24 @@ |
69 | 70 | |
70 | 71 | |
71 | 72 | ## 功能速查一览表 |
73 | +### 公共方法 | |
74 | +可以在多种业务中调用的通用方法 | |
75 | +|功能归类|功能|API指令|指令/系统事件| | |
76 | +|---|---|---|---| | |
77 | +|停止投票|可停止通过调用startXXX启动的答题业务|[stopKpVote](#stopkpvote)|[sEvtStateCode](#sevtstatecode)|| | |
78 | + | |
79 | +### 公共事件 | |
80 | +无需调用指令,自动返回的事件 | |
81 | +|功能归类|功能|API指令|指令/系统事件| | |
82 | +|---|---|---|---| | |
83 | +|公共事件|指令接收状态|-|[sEvtStateCode](#sevtstatecode)| | |
84 | +|公共事件|基站连接状态变化|-|[sEvtBsConnectState](#sevtbsconnectstate)| | |
85 | +|公共事件|基站信道冲突|-|[sEvtBsChannelConflict](#sevtbschannelconflict)| | |
86 | +|公共事件|键盘上线通知|-|[sEvtBsKpOnlineMsg](#sevtbskponlinemsg)| | |
87 | +|公共事件|键盘刷卡事件|-|[sEvtBsNfcResults](#sevtbsnfcresults)| | |
88 | +|公共事件|键盘待机实时按键反馈|-|[sEvtKpRtFeedback](#sevtkprtfeedback)| | |
89 | +|公共事件|键盘举手键实时按键反馈|-|[sEvtKpHandUp](#sevtkphandup)| | |
90 | + | |
72 | 91 | ### 基站管理 |
73 | 92 | |功能归类|功能|API指令|指令/系统事件| |
74 | 93 | |---|---|---|---| |
... | ... | @@ -79,6 +98,7 @@ |
79 | 98 | |键盘上线通知|单个键盘上线系统通知|-|[sEvtBsKpOnlineMsg](#sevtbskponlinemsg)|| |
80 | 99 | |识别设置 - 基站型号|读取基站型号|[getBsModel](#getbsmodel)|[fEvtBsModel](#fevtbsmodel)| |
81 | 100 | |识别设置 - 固件版本|获取基站固件版本|[getBsFWVersion](#getbsfwversion)|[fEvtBsFWVersion](#fevtbsfwversion)| |
101 | +|组网设置 - 组网模式|获取基站组网模式|[getBsNetworkMode](#getbsnetworkmode)|[fEvtBsNetworkMode](#fevtbsnetworkmode)| | |
82 | 102 | |组网设置 - 配对码|获取基站配对码|[getBsPairCode](#getbspaircode)|[fEvtBsPairCode](#fevtbspaircode)| |
83 | 103 | |组网设置 - 刷卡配对状态|获取刷卡配对状态|[getBsNfcLogin](#getbsnfclogin)|[fEvtBsNfcLogin](#fevtbsnfclogin)| |
84 | 104 | ||设置刷卡配对状态|[setBsNfcLogin](#setbsnfclogin)|[fEvtBsNfcLogin](#fevtbsnfclogin)|| |
... | ... | @@ -86,8 +106,10 @@ |
86 | 106 | ||设置基站工作信道|[setBsChannel](#setbschannel)|[fEvtBsChannel](#fevtbschannel)|| |
87 | 107 | |登录设置 - 登录名称|获取基站登录名称|[getBsSSID](#getbsssid)|[fEvtBsSSID](#fevtbsssid)| |
88 | 108 | ||设置基站登录名称|[setBsSSID](#setbsssid)|[fEvtBsSSID](#fevtbsssid)|| |
89 | -|键盘统一设置 - 键盘语言|获取键盘语言|[getBsKpLanguage](#getbskplanguage)|[fEvtBsKpLanguage](#fevtbskplanguage)| | |
90 | -||设置键盘语言|[setBsKpLanguage](#setbskplanguage)|[fEvtBsKpLanguage](#fevtbskplanguage)|| | |
109 | +|登录设置 - 登录密码|获取基站登录密码|[getBsLoginPwd](#getbsloginpwd)|[fEvtBsLoginPwd](#fevtbsloginpwd)| | |
110 | +||设置基站登录密码|[setBsLoginPwd](#setbsloginpwd)|[fEvtBsLoginPwd](#fevtbsloginpwd)|| | |
111 | +|登录设置 - 基站登录状态|获取基站登录状态|[getBsLoginState](#getbsloginstate)|[fEvtBsLoginState](#fevtbsloginstate)| | |
112 | +||设置基站登录状态|[setBsLoginState](#setbsloginstate)|[fEvtBsLoginState](#fevtbsloginstate)|| | |
91 | 113 | |配对模式 - 快速配对|启动基站快速配对|[startBsFastPair](#startbsfastpair)|[sEvtStateCode](#sevtstatecode)<br>[sEvtBsKpOnlineMsg](#sevtbskponlinemsg)| |
92 | 114 | ||停止基站快速配对|[stopBsFastPair](#stopbsfastpair)|[sEvtStateCode](#sevtstatecode)| |
93 | 115 | |白名单模式 - 白名单管理|获取白名单|[getBsWhitelist](#getbswhitelist)|[fEvtBsWhitelist](#fevtbswhitelist)| |
... | ... | @@ -95,6 +117,8 @@ |
95 | 117 | ||清空白名单|[clearBsWhitelist](#clearbswhitelist)|[sEvtStateCode](#sevtstatecode)<br>[fEvtBsWhitelist](#fevtbswhitelist)| |
96 | 118 | ||增加白名单|[addBsWhitelist](#addbswhitelist)|[sEvtStateCode](#sevtstatecode)<br>[fEvtAddBsWhitelist](#fevtaddbswhitelist)<br>[fEvtBsWhitelist](#fevtbswhitelist)| |
97 | 119 | ||删除白名单|[delBsWhitelist](#delbswhitelist)|[sEvtStateCode](#sevtstatecode)<br>[fEvtDelBsWhitelist](#fevtdelbswhitelist)<br>[fEvtBsWhitelist](#fevtbswhitelist)| |
120 | +|基站加密 - 软件狗|获取基站软件狗|[getBsSoftwareKey](#getbssoftwarekey)|[fEvtBsSoftwareKey](#fevtbssoftwarekey)| | |
121 | +||设置基站软件狗|[setBsSoftwareKey](#setbssoftwarekey)|[fEvtBsSoftwareKey](#fevtbssoftwarekey)| | |
98 | 122 | |网络设置 - TCP/IP参数|获取TCP/IP参数|[getBsTcpipParams](#getbstcpipparams)|[fEvtBsTcpipParams](#fevtbstcpipparams)| |
99 | 123 | ||设置TCP/IP参数|[setBsTcpipParams](#setbstcpipparams)|[fEvtBsTcpipParams](#fevtbstcpipparams)|| |
100 | 124 | |网络设置 - MQTT参数|获取MQTT参数|[getBsMqttParams](#getbsmqttparams)|[fEvtBsMqttParams](#fevtbsmqttparams)| |
... | ... | @@ -115,7 +139,7 @@ |
115 | 139 | |功能归类|功能|API指令|指令事件| |
116 | 140 | |---|---|---|---| |
117 | 141 | |同步签到|启动同步签到|[startKpSignIn](#startkpsignin)|[sEvtStateCode](#sevtstatecode)<br>[fEvtKpSignIn](#fevtkpsignin)| |
118 | -||停止同步签到|[stopKpSignIn](#stopkpsignin)|[sEvtStateCode](#sevtstatecode)| | |
142 | +||停止同步签到|[stopKpVote](#stopkpvote)|[sEvtStateCode](#sevtstatecode)| | |
119 | 143 | |随时签到|启动随时签到|[rtStartKpSignIn](#rtstartkpsignin)|[sEvtStateCode](#sevtstatecode)<br>[fEvtKpSignIn](#fevtkpsignin)| |
120 | 144 | ||停止随时签到|[rtStopKpSignIn](#rtstopkpsignin)|[sEvtStateCode](#sevtstatecode)| |
121 | 145 | ||实时PIN签到授权|[rtSetKpLoginAllowed](#rtsetkploginallowed)|[sEvtStateCode](#sevtstatecode)<br>[fEvtKpLoginAllowed](#fevtkploginallowed)| |
... | ... | @@ -123,19 +147,44 @@ |
123 | 147 | |功能归类|功能|API指令|指令事件| |
124 | 148 | |---|---|---|---| |
125 | 149 | |判断题|启动判断题答题|[startQATrueFalse](#startqatruefalse)|[sEvtStateCode](#sevtstatecode)<br>[fEvtQATrueFalse](#fevtqatruefalse)| |
126 | -||停止判断题答题|[stopQATrueFalse](#stopqatruefalse)|[sEvtStateCode](#sevtstatecode)| | |
150 | +||停止判断题答题|[stopKpVote](#stopkpvote)|[sEvtStateCode](#sevtstatecode)| | |
127 | 151 | |选择题|启动选择题答题|[startQAChoice](#startqachoice)|[sEvtStateCode](#sevtstatecode)<br>[fEvtQAChoice](#fevtqachoice)| |
128 | -||停止选择题答题|[stopQAChoice](#stopqachoice)|[sEvtStateCode](#sevtstatecode)| | |
152 | +||停止选择题答题|[stopKpVote](#stopkpvote)|[sEvtStateCode](#sevtstatecode)| | |
129 | 153 | |数字题|启动数字题答题|[startQANum](#startqanum)|[sEvtStateCode](#sevtstatecode)<br>[fEvtQANum](#fevtqanum)| |
130 | -||停止数字题答题|[stopQANum](#stopqanum)|[sEvtStateCode](#sevtstatecode)| | |
154 | +||停止数字题答题|[stopKpVote](#stopkpvote)|[sEvtStateCode](#sevtstatecode)| | |
131 | 155 | |抢答题|启动抢答题答题|[startQAQuicker](#startqaquicker)|[sEvtStateCode](#sevtstatecode)<br>[fEvtQAQuicker](#fevtqaquicker)| |
132 | -||停止抢答题答题|[stopQAQuicker](#stopqaquicker)|[sEvtStateCode](#sevtstatecode)| | |
156 | +||停止抢答题答题|[stopKpVote](#stopkpvote)|[sEvtStateCode](#sevtstatecode)| | |
157 | +|待机实时反馈|设置待机实时反馈状态|[setKpStbResponse](#setkpstbresponse)|[fEvtKpStbResponse](#fevtkpstbresponse)<br>[sEvtKpRtFeedback](#sevtkprtfeedback)<br>[sEvtKpHandUp](#sevtkphandup)| | |
158 | +||设置待机实时反馈状态|[getKpStbResponse](#getkpstbresponse)|[fEvtKpStbResponse](#fevtkpstbresponse)| | |
133 | 159 | ### 在线测验 |
134 | 160 | |功能归类|功能|API指令|指令事件| |
135 | 161 | |---|---|---|---| |
136 | 162 | |标准测验|启动标准测验|[startKpExam](#startkpexam)|[sEvtStateCode](#sevtstatecode)<br>[fEvtKpExam](#fevtkpexam)<br>[fEvtFinalSubmit](#fevtfinalsubmit)| |
137 | -||停止标准测验|[stopKpExam](#stopkpexam)|[sEvtStateCode](#sevtstatecode)| | |
163 | +||停止标准测验|[stopKpVote](#stopkpvote)|[sEvtStateCode](#sevtstatecode)| | |
138 | 164 | ||允许键盘提交后退回修改|[rtAllowEdited](#rtkpallowedited)|[sEvtStateCode](#sevtstatecode)<br>[fEvtFinalSubmit](#fevtfinalsubmit)| |
165 | +|多科测验|启动多科测验|[startKpMultiExam](#startkpmultiexam)|[sEvtStateCode](#sevtstatecode)<br>[fEvtKpExam](#fevtkpexam)<br>[fEvtFinalSubmit](#fevtfinalsubmit)| | |
166 | +||停止标准测验|[stopKpVote](#stopkpvote)|[sEvtStateCode](#sevtstatecode)| | |
167 | +|自主录分|启动自主录分|[startKpScoreInput](#startkpscoreinput)|[sEvtStateCode](#sevtstatecode)<br>[fEvtKpScore](#fevtkpscore)<br>[fEvtFinalSubmit](#fevtfinalsubmit)| | |
168 | +||停止自主录分|[stopKpVote](#stopkpvote)|[sEvtStateCode](#sevtstatecode)| | |
169 | + | |
170 | +## 公共方法 | |
171 | +### stopKpVote | |
172 | +- **主题**: /client/\${baseSN}/send | |
173 | +- **功能描述**:通用停止键盘答题方法,可以停止如同步签到、按键反馈、在线测验中调用startXXX方法启动的业务 | |
174 | +- **参数说明** | |
175 | + | |
176 | +|参数名|类型|限制|非空|说明| | |
177 | +|-----|-----|-----|-----|-----| | |
178 | +|fun|string|-|是|事件类型| | |
179 | +|dataTag|string||否|数据包标识,不需要时可传空字符串| | |
180 | + | |
181 | +- **示例代码** | |
182 | +```json | |
183 | +{ | |
184 | + "fun":"stopKpVote", | |
185 | + "dataTag":"1" | |
186 | +} | |
187 | +``` | |
139 | 188 | |
140 | 189 | ## 公共事件 |
141 | 190 | ### sEvtBsConnectState |
... | ... | @@ -146,7 +195,7 @@ |
146 | 195 | |参数名|类型|限制|非空|说明| |
147 | 196 | |-----|-----|-----|-----|-----| |
148 | 197 | |fun|string|-|是|事件类型| |
149 | -|dataTag|string|-|否|数据包标识,不需要时可传空字符串| | |
198 | +|dataTag|string||否|数据包标识,不需要时可传空字符串| | |
150 | 199 | |data|object|-|是|传送参数的对象| |
151 | 200 | |+baseModel|int||否|基站的型号码| |
152 | 201 | |+modelName|string||否|基站的型号名称| |
... | ... | @@ -208,6 +257,7 @@ |
208 | 257 | |dataTag|string|-|否|数据包标识,不需要时可传空字符串| |
209 | 258 | |data|object|-|是|传送参数的对象| |
210 | 259 | |+keySn|string||是|刷卡的键盘SN| |
260 | +|+cardType|int||是|刷卡的键盘类型<br>1-NFC类型<br>2-M1类型| | |
211 | 261 | |+value|int||是|刷卡的状态<br>1-成功<br>2-失败| |
212 | 262 | |
213 | 263 | - **示例代码** |
... | ... | @@ -216,7 +266,8 @@ |
216 | 266 | "fun":"sEvtBsNfcResults", |
217 | 267 | "dataTag":"1", //不需要时可传空字符串 |
218 | 268 | "data":{ |
219 | - "keySn":"1234567890", | |
269 | + "keySn":"1234567890", | |
270 | + "cardType":1, | |
220 | 271 | "value":1 |
221 | 272 | } |
222 | 273 | } |
... | ... | @@ -248,6 +299,56 @@ |
248 | 299 | } |
249 | 300 | } |
250 | 301 | ``` |
302 | +### sEvtKpRtFeedback | |
303 | +- **主题**: /basestation/\${baseSN}/receive | |
304 | +- **功能描述**:开启键盘实时反馈后,键盘按键时上报 | |
305 | +- **参数说明** | |
306 | + | |
307 | +|参数名|类型|限制|非空|说明| | |
308 | +|---|---|---|---|---| | |
309 | +|fun|string|-|是|事件名称| | |
310 | +|dataTag|string|-|否|数据包标识| | |
311 | +|data|array|-|是|传送参数的对象数组| | |
312 | +|++keySn|string||是|键盘SN| | |
313 | +|++keyValue|string||是|键盘提交的按键值| | |
314 | +|++voltage|double||是|键盘电量| | |
315 | +|++retryCount|int||是|键盘提交数据的重发次数| | |
316 | + | |
317 | +- **示例代码** | |
318 | +```json | |
319 | +{ | |
320 | + "fun":"sEvtKpRtFeedback", | |
321 | + "dataTag":"1", | |
322 | + "data":[{ | |
323 | + "keySn":"1234567890", | |
324 | + "keyValue":"A", | |
325 | + "voltage":2.6, | |
326 | + "retryCount":1 | |
327 | + }] | |
328 | +} | |
329 | +``` | |
330 | +### sEvtKpHandUp | |
331 | +- **主题**: /basestation/\${baseSN}/receive | |
332 | +- **功能描述**:开启键盘举手功能后,键盘按举手键时上报 | |
333 | +- **参数说明** | |
334 | + | |
335 | +|参数名|类型|限制|非空|说明| | |
336 | +|---|---|---|---|---| | |
337 | +|fun|string|-|是|事件名称| | |
338 | +|dataTag|string|-|否|数据包标识| | |
339 | +|data|object|-|是|传送参数的对象| | |
340 | +|+keySn|string||是|举手的键盘SN| | |
341 | + | |
342 | +- **示例代码** | |
343 | +```json | |
344 | +{ | |
345 | + "fun":"sEvtKpHandUp", | |
346 | + "dataTag":"1", | |
347 | + "data":{ | |
348 | + "keySn":"1234567890" | |
349 | + } | |
350 | +} | |
351 | +``` | |
251 | 352 | ### sEvtStateCode |
252 | 353 | - **主题**: /basestation/\${baseSN}/receive |
253 | 354 | - **功能描述**:返回基站接收指令状态信息 |
... | ... | @@ -277,6 +378,7 @@ |
277 | 378 | |20008|value参数错误| |
278 | 379 | |30001|基站在答题中| |
279 | 380 | |30002|基站忙(内存不足)| |
381 | +|30003|基站执行失败| | |
280 | 382 | |40001|升级功能只能支持一个基站| |
281 | 383 | |50001|此功能必须指定基站| |
282 | 384 | |60001|此功能必须指定键盘SN| |
... | ... | @@ -334,7 +436,7 @@ |
334 | 436 | 参见基站连接变化系统通知 |
335 | 437 | |
336 | 438 | ##### fEvtBsOnlineState |
337 | -- **主题**: <span class="yellowFill">/basestation/mutilBase/receive</span> | |
439 | +- **主题**: <span class="yellowFill">/basestation/multiBase/receive</span> | |
338 | 440 | - **功能描述**:基站在线返回基站型号和基站SN |
339 | 441 | - **参数说明** |
340 | 442 | |
... | ... | @@ -496,6 +598,23 @@ |
496 | 598 | ``` |
497 | 599 | ### 组网设置 |
498 | 600 | #### 方法 |
601 | +##### getBsNetworkMode | |
602 | +- **主题**:/client/\${baseSN}/send | |
603 | +- **功能描述**:获取基站组网模式 | |
604 | +- **参数说明** | |
605 | + | |
606 | +|参数名|类型|限制|是否必填|说明| | |
607 | +|---|---|---|---|---| | |
608 | +|fun|string|-|是|指令名称| | |
609 | +|dataTag|string|-|否|数据包标识,可为空字符串| | |
610 | + | |
611 | +- **示例代码** | |
612 | +```json | |
613 | +{ | |
614 | + "fun":"getBsNetworkMode", | |
615 | + "dataTag":"1" | |
616 | +} | |
617 | +``` | |
499 | 618 | ##### getBsPairCode |
500 | 619 | - **主题**:/client/\${baseSN}/send |
501 | 620 | - **功能描述**:获取基站配对码 |
... | ... | @@ -592,6 +711,28 @@ |
592 | 711 | } |
593 | 712 | ``` |
594 | 713 | #### 事件 |
714 | +##### fEvtBsNetworkMode | |
715 | +- **主题**: /basestation/\${baseSN}/receive | |
716 | +- **功能描述**:返回基站组网模式 | |
717 | +- **参数说明** | |
718 | + | |
719 | +|参数名|类型|限制|非空|说明| | |
720 | +|---|---|---|---|---| | |
721 | +|fun|string|-|是|事件名称| | |
722 | +|dataTag|string|-|否|数据包标识,可传空字符串| | |
723 | +|data|object|-|是|传送参数的对象| | |
724 | +|+value|string||是|基站的组网模式<br>1-配对模式<br>2-白名单模式| | |
725 | + | |
726 | +- **示例代码** | |
727 | +```json | |
728 | +{ | |
729 | + "fun":"fEvtBsNetworkMode", | |
730 | + "dataTag":"1", | |
731 | + "data":{ | |
732 | + "value":"1" | |
733 | + } | |
734 | +} | |
735 | +``` | |
595 | 736 | ##### fEvtBsPairCode |
596 | 737 | - **主题**: /basestation/\${baseSN}/receive |
597 | 738 | - **功能描述**:返回基站配对码 |
... | ... | @@ -701,6 +842,86 @@ |
701 | 842 | } |
702 | 843 | } |
703 | 844 | ``` |
845 | +##### getBsLoginPwd | |
846 | +- **主题**:/client/\${baseSN}/send | |
847 | +- **功能描述**:获取基站登录密码 | |
848 | +- **参数说明** | |
849 | + | |
850 | +|参数名|类型|限制|是否必填|说明| | |
851 | +|---|---|---|---|---| | |
852 | +|fun|string|-|是|固定指令名称| | |
853 | +|dataTag|string|-|否|数据包标识| | |
854 | + | |
855 | +- **示例代码** | |
856 | +```json | |
857 | +{ | |
858 | + "fun":"getBsLoginPwd", | |
859 | + "dataTag":"1" | |
860 | +} | |
861 | +``` | |
862 | +##### setBsLoginPwd | |
863 | +- **主题**:/client/\${baseSN}/send | |
864 | +- **功能描述**:设置基站登录密码 | |
865 | +- **参数说明** | |
866 | + | |
867 | +|参数名|类型|限制|是否必填|说明| | |
868 | +|---|---|---|---|---| | |
869 | +|fun|string|-|是|指令名称| | |
870 | +|dataTag|string|-|否|数据包标识,可为空字符串| | |
871 | +|data|object|-|是|传送参数的对象| | |
872 | +|+value|string||是|设置的基站登录密码,数字类型,最长4位,为空或设为0代表无需密码登录| | |
873 | + | |
874 | +- **示例代码** | |
875 | +```json | |
876 | +{ | |
877 | + "fun":"setBsLoginPwd", | |
878 | + "dataTag":"1", | |
879 | + "data":{ | |
880 | + "value":"1234" | |
881 | + } | |
882 | +} | |
883 | +``` | |
884 | +##### getBsLoginState | |
885 | +获取基站登录名称 | |
886 | +- **主题**:/client/\${baseSN}/send | |
887 | +- **功能描述**:获取基站登录状态 | |
888 | +- **参数说明** | |
889 | + | |
890 | +|参数名|类型|限制|是否必填|说明| | |
891 | +|---|---|---|---|---| | |
892 | +|fun|string|-|是|固定指令名称| | |
893 | +|dataTag|string|-|否|数据包标识| | |
894 | + | |
895 | +- **示例代码** | |
896 | +```json | |
897 | +{ | |
898 | + "fun":"getBsLoginState", | |
899 | + "dataTag":"1" | |
900 | +} | |
901 | +``` | |
902 | +##### setBsLoginState | |
903 | +- **主题**:/client/\${baseSN}/send | |
904 | +- **功能描述**:设置基站登录状态 | |
905 | +- **参数说明** | |
906 | + | |
907 | +|参数名|类型|限制|是否必填|说明| | |
908 | +|---|---|---|---|---| | |
909 | +|fun|string|-|是|指令名称| | |
910 | +|dataTag|string|-|否|数据包标识,可为空字符串| | |
911 | +|data|object|-|是|传送参数的对象| | |
912 | +|+value|string||是|设置是否允许键盘自主登入<br>0 - 不允许键盘登入<br>1 - 允许键盘登入| | |
913 | + | |
914 | +- **示例代码** | |
915 | +```json | |
916 | +{ | |
917 | + "fun":"setBsLoginState", | |
918 | + "dataTag":"1", | |
919 | + "data":{ | |
920 | + "value":"1" | |
921 | + } | |
922 | +} | |
923 | +``` | |
924 | + | |
704 | 925 | #### 事件 |
705 | 926 | ##### fEvtBsSSID |
706 | 927 | - **主题**: /basestation/\${baseSN}/receive |
... | ... | @@ -724,6 +945,59 @@ |
724 | 945 | } |
725 | 946 | } |
726 | 947 | ``` |
948 | +##### fEvtBsLoginPwd | |
949 | +- **主题**: /basestation/\${baseSN}/receive | |
950 | +- **功能描述**:返回基站登录密码 | |
951 | +- **参数说明** | |
952 | + | |
953 | +|参数名|类型|限制|非空|说明| | |
954 | +|---|---|---|---|---| | |
955 | +|fun|string|-|是|事件名称| | |
956 | +|dataTag|string|-|否|数据包标识,可传空字符串| | |
957 | +|data|object|-|是|传送参数的对象| | |
958 | +|+value|string||是|基站登录密码,返回值为0代表无需密码登录| | |
959 | + | |
960 | +- **示例代码** | |
961 | +```json | |
962 | +{ | |
963 | + "fun":"fEvtBsLoginPwd", | |
964 | + "dataTag":"1", | |
965 | + "data":{ | |
966 | + "value":"1234" | |
967 | + } | |
968 | +} | |
969 | + | |
970 | +//无需密码登录 | |
971 | +{ | |
972 | + "fun":"fEvtBsLoginPwd", | |
973 | + "dataTag":"1", | |
974 | + "data":{ | |
975 | + "value":"0" | |
976 | + } | |
977 | +} | |
978 | +``` | |
979 | +##### fEvtBsLoginState | |
980 | +- **主题**: /basestation/\${baseSN}/receive | |
981 | +- **功能描述**:返回基站登录状态 | |
982 | +- **参数说明** | |
983 | + | |
984 | +|参数名|类型|限制|非空|说明| | |
985 | +|---|---|---|---|---| | |
986 | +|fun|string|-|是|事件名称| | |
987 | +|dataTag|string|-|否|数据包标识,可传空字符串| | |
988 | +|data|object|-|是|传送参数的对象| | |
989 | +|+value|string||是|基站登录状态| | |
990 | + | |
991 | +- **示例代码** | |
992 | +```json | |
993 | +{ | |
994 | + "fun":"fEvtBsLoginState", | |
995 | + "dataTag":"1", | |
996 | + "data":{ | |
997 | + "value":"1" | |
998 | + } | |
999 | +} | |
1000 | +``` | |
727 | 1001 | ### 键盘统一设置 |
728 | 1002 | #### 方法 |
729 | 1003 | ##### getBsKpLanguage |
... | ... | @@ -1122,7 +1396,7 @@ |
1122 | 1396 | |+port|int||是|端口,默认1883| |
1123 | 1397 | |+userName|string||否|连接服务器的用户名,可不设置| |
1124 | 1398 | |+password|string||否|连接服务器的密码,可不设置| |
1125 | -|+interval|int|>=10|否|基站连接服务器失败后重连的间隔时长,单位秒| | |
1399 | +|+interval|int|>=60|否|基站连接服务器失败后重连的间隔时长,单位秒| | |
1126 | 1400 | |
1127 | 1401 | - **示例代码** |
1128 | 1402 | ```json |
... | ... | @@ -1134,7 +1408,7 @@ |
1134 | 1408 | "port":1883, |
1135 | 1409 | "userName":"", |
1136 | 1410 | "password":"", |
1137 | - "interval":30 | |
1411 | + "interval":60 | |
1138 | 1412 | } |
1139 | 1413 | } |
1140 | 1414 | ``` |
... | ... | @@ -1199,7 +1473,70 @@ |
1199 | 1473 | } |
1200 | 1474 | } |
1201 | 1475 | ``` |
1476 | +### 基站加密 | |
1477 | +#### 方法 | |
1478 | +##### getBsSoftwareKey | |
1479 | +- **主题**:/client/\${baseSN}/send | |
1480 | +- **功能描述**:获取基站软件狗密钥 | |
1481 | +- **参数说明** | |
1482 | + | |
1483 | +|参数名|类型|限制|是否必填|说明| | |
1484 | +|---|---|---|---|---| | |
1485 | +|fun|string|-|是|指令名称| | |
1486 | +|dataTag|string|-|否|数据包标识,可为空字符串| | |
1487 | + | |
1488 | +- **示例代码** | |
1489 | +```json | |
1490 | +{ | |
1491 | + "fun":"getBsSoftwareKey", | |
1492 | + "dataTag":"1" | |
1493 | +} | |
1494 | +``` | |
1495 | +##### setBsSoftwareKey | |
1496 | +- **主题**:/client/\${baseSN}/send | |
1497 | +- **功能描述**:设置基站软件狗密钥 | |
1498 | +- **参数说明** | |
1499 | + | |
1500 | +|参数名|类型|限制|是否必填|说明| | |
1501 | +|---|---|---|---|---| | |
1502 | +|fun|string|-|是|指令名称| | |
1503 | +|dataTag|string|-|否|数据包标识,可为空字符串| | |
1504 | +|data|object|-|是|传送参数的对象| | |
1505 | +|+value|string|-|是|基站软件狗密钥,长度不超过32字节| | |
1506 | + | |
1507 | +- **示例代码** | |
1508 | +```json | |
1509 | +{ | |
1510 | + "fun":"setBsSoftwareKey", | |
1511 | + "dataTag":"1", | |
1512 | + "data":{ | |
1513 | + "value":"sunvote123456" | |
1514 | + } | |
1515 | +} | |
1516 | +``` | |
1517 | +#### 事件 | |
1518 | +##### fEvtBsSoftwareKey | |
1519 | +- **主题**:/basestation/\${baseSN}/receive | |
1520 | +- **功能描述**:返回基站的软件狗密钥 | |
1521 | +- **参数说明** | |
1522 | + | |
1523 | +|参数名|类型|限制|非空|说明| | |
1524 | +|---|---|---|---|---| | |
1525 | +|fun|string|-|是|指令名称| | |
1526 | +|dataTag|string|-|否|数据包标识,可为空字符串| | |
1527 | +|data|object|-|是|传送参数的对象| | |
1528 | +|+value|string||是|返回基站的软件狗密钥| | |
1202 | 1529 | |
1530 | +- **示例代码** | |
1531 | +```json | |
1532 | +{ | |
1533 | + "fun":"fEvtBsSoftwareKey", | |
1534 | + "dataTag":"1", | |
1535 | + "data":{ | |
1536 | + "value":"sunvote123456" | |
1537 | + } | |
1538 | +} | |
1539 | +``` | |
1203 | 1540 | ## 键盘管理 |
1204 | 1541 | ### 交互设置 |
1205 | 1542 | #### 方法 |
... | ... | @@ -1546,8 +1883,7 @@ |
1546 | 1883 | } |
1547 | 1884 | } |
1548 | 1885 | ``` |
1549 | - | |
1550 | -##### stopKpSignIn | |
1886 | +<!-- ##### stopKpSignIn | |
1551 | 1887 | - **主题**:/client/\${baseSN}/send |
1552 | 1888 | - **功能描述**:停止同步签到 |
1553 | 1889 | - **参数说明** |
... | ... | @@ -1563,7 +1899,10 @@ |
1563 | 1899 | "fun":"stopKpSignIn", |
1564 | 1900 | "dataTag":"1" |
1565 | 1901 | } |
1566 | -``` | |
1902 | +``` --> | |
1903 | +##### [stopKpVote](#stopkpvote) | |
1904 | +停止同步签到 | |
1905 | + | |
1567 | 1906 | #### 事件 |
1568 | 1907 | ##### [sEvtStateCode](#sevtstatecode) |
1569 | 1908 | 发送指令后返回接收状态 |
... | ... | @@ -1717,6 +2056,7 @@ |
1717 | 2056 | |dataTag|string|-|否|数据包标识,可为空字符串| |
1718 | 2057 | |data|object|-|是|传送参数的对象| |
1719 | 2058 | |+keySns|array||是|指定的键盘SN数组,空数组表示全部在线键盘| |
2059 | +|+count|int||是|题目数量,1-16,>1多题快答| | |
1720 | 2060 | |+mode|int||是|1 - True/False 对/错 <br>2 - Yes/No 是/否<br> 3 - √/×| |
1721 | 2061 | |+allowModify|int||是|0 - 不允许修改<br>1 - 允许修改| |
1722 | 2062 | |+tip|string||否|提示的标题,长度不超过16字符| |
... | ... | @@ -1729,13 +2069,14 @@ |
1729 | 2069 | "dataTag":"1", |
1730 | 2070 | "data":{ |
1731 | 2071 | "keySns":[], |
2072 | + "count":1, | |
1732 | 2073 | "mode":1, |
1733 | 2074 | "allowModify":1, |
1734 | 2075 | "tip":"请判断对错" |
1735 | 2076 | } |
1736 | 2077 | } |
1737 | 2078 | ``` |
1738 | -##### stopQATrueFalse | |
2079 | +<!-- ##### stopQATrueFalse | |
1739 | 2080 | - **主题**:/client/\${baseSN}/send |
1740 | 2081 | - **功能描述**:停止判断题答题 |
1741 | 2082 | - **参数说明** |
... | ... | @@ -1752,7 +2093,11 @@ |
1752 | 2093 | "fun":"stopQATrueFalse", |
1753 | 2094 | "dataTag":"1" |
1754 | 2095 | } |
1755 | -``` | |
2096 | +``` --> | |
2097 | + | |
2098 | +##### [stopKpVote](#stopkpvote) | |
2099 | +停止判断题答题 | |
2100 | + | |
1756 | 2101 | #### 事件 |
1757 | 2102 | ##### [sEvtStateCode](#sevtstatecode) |
1758 | 2103 | 发送指令后返回接收状态 |
... | ... | @@ -1800,6 +2145,7 @@ |
1800 | 2145 | |dataTag|string|-|否|数据包标识,可为空字符串| |
1801 | 2146 | |data|object|-|是|传送参数的对象| |
1802 | 2147 | |+keySns|array||是|指定的键盘SN数组,空数组表示全部在线键盘| |
2148 | +|+count|int||是|题目数量,1-16,>1多题快答<br>optionalN >1时无效| | |
1803 | 2149 | |+mode|int||是|显示模式<br>1:显示字母(默认值) </br>2:显示数字 | |
1804 | 2150 | |+lessMode|int||是|迫选模式<br>0:可缺选(默认值) </br>1:不可缺选</br>2:允许重复输入</br>3:允许重复输入且不可缺选 | |
1805 | 2151 | |+options|int||是|选项数量,1≤M≤10(默认值4)| |
... | ... | @@ -1816,6 +2162,7 @@ |
1816 | 2162 | "data":{ |
1817 | 2163 | "keySns":[], |
1818 | 2164 | "mode": 1, |
2165 | + "count":1, | |
1819 | 2166 | "lessMode": 0, |
1820 | 2167 | "options": 4, |
1821 | 2168 | "optionalN": 1, |
... | ... | @@ -1824,7 +2171,7 @@ |
1824 | 2171 | } |
1825 | 2172 | } |
1826 | 2173 | ``` |
1827 | -##### stopQAChoice | |
2174 | +<!-- ##### stopQAChoice | |
1828 | 2175 | - **主题**:/client/\${baseSN}/send |
1829 | 2176 | - **功能描述**:停止选择题答题 |
1830 | 2177 | - **参数说明** |
... | ... | @@ -1841,7 +2188,10 @@ |
1841 | 2188 | "fun":"stopQAChoice", |
1842 | 2189 | "dataTag":"1" |
1843 | 2190 | } |
1844 | -``` | |
2191 | +``` --> | |
2192 | +##### [stopKpVote](#stopkpvote) | |
2193 | +停止选择题答题 | |
2194 | + | |
1845 | 2195 | #### 事件 |
1846 | 2196 | ##### [sEvtStateCode](#sevtstatecode) |
1847 | 2197 | 发送指令后返回接收状态 |
... | ... | @@ -1889,7 +2239,7 @@ |
1889 | 2239 | |data|object|-|是|传送参数的对象| |
1890 | 2240 | |+keySns|array||是|指定的键盘SN数组,空数组表示全部在线键盘| |
1891 | 2241 | |+mode|int||是|模式<br>0:无规则 (S6最多16位,T2最多14位)<br>1:带小数位上下限(T2不支持)| |
1892 | -|+digits|int||是|小数位数,范围0-2,mode=1时有效 | |
2242 | +|+digits|int||是|小数位数,范围0-2,mode=1时有效 | |
1893 | 2243 | |+numMin|int||是|可输入下限,mode=1有效,范围0-100| |
1894 | 2244 | |+numMax|int||是|可输入上限,mode=1有效,范围0-100| |
1895 | 2245 | |+allowModify|int||是|修改模式<br>0 - 不允许修改<br>1 - 允许修改| |
... | ... | @@ -1912,7 +2262,7 @@ |
1912 | 2262 | } |
1913 | 2263 | } |
1914 | 2264 | ``` |
1915 | -##### stopQANum | |
2265 | +<!-- ##### stopQANum | |
1916 | 2266 | - **主题**:/client/\${baseSN}/send |
1917 | 2267 | - **功能描述**:停止数字题答题 |
1918 | 2268 | - **参数说明** |
... | ... | @@ -1929,7 +2279,10 @@ |
1929 | 2279 | "fun":"stopQANum", |
1930 | 2280 | "dataTag":"1" |
1931 | 2281 | } |
1932 | -``` | |
2282 | +``` --> | |
2283 | +##### [stopKpVote](#stopkpvote) | |
2284 | +停止数字题答题 | |
2285 | + | |
1933 | 2286 | #### 事件 |
1934 | 2287 | ##### [sEvtStateCode](#sevtstatecode) |
1935 | 2288 | 发送指令后返回接收状态 |
... | ... | @@ -1947,7 +2300,7 @@ |
1947 | 2300 | |++keySn|string||是|键盘SN| |
1948 | 2301 | |++keyValue|string||是|键盘提交的按键值| |
1949 | 2302 | |++keyTime|double||是|答题时间,从启动开始计算,单位秒| |
1950 | -|++voltage|double||是|键盘电量</font>| | |
2303 | +|++voltage|double||是|键盘电量| | |
1951 | 2304 | |++retryCount|int||是|键盘提交数据的重发次数| |
1952 | 2305 | |
1953 | 2306 | - **示例代码** |
... | ... | @@ -1994,7 +2347,7 @@ |
1994 | 2347 | } |
1995 | 2348 | } |
1996 | 2349 | ``` |
1997 | -##### stopQAQuicker | |
2350 | +<!-- ##### stopQAQuicker | |
1998 | 2351 | - **主题**:/client/\${baseSN}/send |
1999 | 2352 | - **功能描述**:停止抢答答题 |
2000 | 2353 | - **参数说明** |
... | ... | @@ -2011,7 +2364,11 @@ |
2011 | 2364 | "fun":"stopQAQuicker", |
2012 | 2365 | "dataTag":"1" |
2013 | 2366 | } |
2014 | -``` | |
2367 | +``` --> | |
2368 | + | |
2369 | +##### [stopKpVote](#stopkpvote) | |
2370 | +停止抢答 | |
2371 | + | |
2015 | 2372 | #### 事件 |
2016 | 2373 | ##### [sEvtStateCode](#sevtstatecode) |
2017 | 2374 | 发送指令后返回接收状态 |
... | ... | @@ -2045,6 +2402,114 @@ |
2045 | 2402 | }] |
2046 | 2403 | } |
2047 | 2404 | ``` |
2405 | +### 待机实时反馈 | |
2406 | +#### 方法 | |
2407 | +##### setKpStbResponse | |
2408 | +- **主题**:/client/\${baseSN}/send | |
2409 | +- **功能描述**:启动待机实时反馈 | |
2410 | +- **参数说明** | |
2411 | + | |
2412 | +|参数名|类型|限制|是否必填|说明| | |
2413 | +|---|---|---|---|---| | |
2414 | +|fun|string|-|是|指令名称| | |
2415 | +|dataTag|string|-|否|数据包标识,可为空字符串| | |
2416 | +|data|object|-|是|传送参数的对象| | |
2417 | +|+state|int||是|启用待机实时反馈<br>0-不启用<br>1-启用| | |
2418 | +|+mode|int||是|启动待机反馈类型,state=1时有效<br>0-举手<br>1-指定按键反馈| | |
2419 | +|+keys|int||是|有效按键数量,state=1且mode=1时有效, 范围1-10| | |
2420 | + | |
2421 | +- **示例代码** | |
2422 | +```json | |
2423 | +//启用举手反馈 | |
2424 | +{ | |
2425 | + "fun":"setKpStbResponse", | |
2426 | + "dataTag":"1", | |
2427 | + "data":{ | |
2428 | + "state":1, | |
2429 | + "mode":0 | |
2430 | + } | |
2431 | +} | |
2432 | +//启用待机按键反馈 | |
2433 | +{ | |
2434 | + "fun":"setKpStbResponse", | |
2435 | + "dataTag":"1", | |
2436 | + "data":{ | |
2437 | + "state":1, | |
2438 | + "mode":1, | |
2439 | + "keys":4 | |
2440 | + } | |
2441 | +} | |
2442 | +//关闭待机按键反馈 | |
2443 | +{ | |
2444 | + "fun":"setKpStbResponse", | |
2445 | + "dataTag":"1", | |
2446 | + "data":{ | |
2447 | + "state":0 | |
2448 | + } | |
2449 | +} | |
2450 | +``` | |
2451 | + | |
2452 | +##### getKpStbResponse | |
2453 | +- **主题**:/client/\${baseSN}/send | |
2454 | +- **功能描述**:获取实时反馈是否打开 | |
2455 | +- **参数说明** | |
2456 | + | |
2457 | +|参数名|类型|限制|是否必填|说明| | |
2458 | +|---|---|---|---|---| | |
2459 | +|fun|string|-|是|指令名称| | |
2460 | +|dataTag|string|-|否|数据包标识,可为空字符串| | |
2461 | + | |
2462 | +- **示例代码** | |
2463 | +```json | |
2464 | +//启用举手反馈 | |
2465 | +{ | |
2466 | + "fun":"getKpStbResponse", | |
2467 | + "dataTag":"1" | |
2468 | +} | |
2469 | +``` | |
2470 | + | |
2471 | +#### 事件 | |
2472 | +##### fEvtKpStbResponse | |
2473 | +- **主题**:/basestation/\${baseSN}/receive | |
2474 | +- **功能描述**:返回当前待机按键反馈开启状态 | |
2475 | +- **参数说明** | |
2476 | + | |
2477 | +|参数名|类型|限制|非空|说明| | |
2478 | +|---|---|---|---|---| | |
2479 | +|fun|string|-|是|指令名称| | |
2480 | +|dataTag|string|-|否|数据包标识,可为空字符串| | |
2481 | +|data|array|-|是|传送参数的对象数组| | |
2482 | +|+state|int||是|启用待机实时反馈<br>0-未启用<br>1-启用| | |
2483 | +|+mode|int||是|当前启动待机反馈类型,state=1时返回<br>0-举手<br>1-指定按键反馈| | |
2484 | + | |
2485 | +- **示例代码** | |
2486 | +```json | |
2487 | +//当前启用待机实时反馈,模式为指定按键反馈 | |
2488 | +{ | |
2489 | + "fun":"fEvtKpStbResponse", | |
2490 | + "dataTag":"1", | |
2491 | + "data": { | |
2492 | + "state": 1, | |
2493 | + "mode": 1 | |
2494 | + } | |
2495 | +} | |
2496 | + | |
2497 | +//当前未启用待机反馈 | |
2498 | +{ | |
2499 | + "fun":"fEvtKpStbResponse", | |
2500 | + "dataTag":"1", | |
2501 | + "data": { | |
2502 | + "state": 0 | |
2503 | + } | |
2504 | +} | |
2505 | +``` | |
2506 | + | |
2507 | +##### [sEvtKpRtFeedback](#sevtkprtfeedback) | |
2508 | +返回待机时键盘返回的按键值 | |
2509 | + | |
2510 | +##### [sEvtKpHandup](#sevtkphandup) | |
2511 | +启动待机按键反馈类型为举手提问时返回此事件 | |
2512 | + | |
2048 | 2513 | ## 在线测验 |
2049 | 2514 | ### 标准测验 |
2050 | 2515 | #### 方法 |
... | ... | @@ -2061,11 +2526,12 @@ |
2061 | 2526 | |+examNo|int||是|0-9999<br>=0,新的测验<br>>0时,与上次启动卷号一致继续测验,不一致进入新的测验| |
2062 | 2527 | |+mode|int||是|显示模式<br>0-不显示开头<br>1-显示“Q”开头<br>2-显示“题”开头| |
2063 | 2528 | |+questions|array||是|题目详情| |
2064 | -|++symbol | string||是 | 题号前缀,分级标识为-,可为空,为空表示1级大题<br><font color="red">最多为三级题号,即最多可以设为x-x-</font>| | |
2065 | 2529 | |++quesType | int||是| 题目类型<br>1:单选<br>2:多选(排序)<br>3:数字<br>4:判断 | |
2066 | 2530 | |++option |int||是 |选项数目<br> quesType = 1 有效。<br>quesType = 2 有效。<br>此项缺省时 默认4;<br>范围:1-10。| |
2067 | -|++startNo | int||是| 起始题号 | | |
2068 | -|++count | int||是| 题目数量 | | |
2531 | +|++firstNo | int||否| 一级题号,mode=0 时有效,有效范围1-255,不传此字段或传0表示不生效 | | |
2532 | +|++secondNo | int||否| 二级题号,mode=0 时有效,有效范围1-255,不传此字段或传0表示不生效 | | |
2533 | +|++startNo | int||是| 最后一级题号起始题号<br>mode=0 时有效,范围1-255,mode=1或2时按顺序显示题号<br>说明:<br>firstNo和secondNo都未赋值时,此字段为一级题号<br>firstNo赋值,secondNo未赋值时,此字段为二级题号<br>secondNo赋值时,此字段为三级题号 | | |
2534 | +|++count | int||是| 相同参数的连续题目数量, >0 | | |
2069 | 2535 | |
2070 | 2536 | - **示例代码** |
2071 | 2537 | |
... | ... | @@ -2076,7 +2542,7 @@ |
2076 | 2542 | "dataTag":"1", |
2077 | 2543 | "data":{ |
2078 | 2544 | "mode": 1, |
2079 | - "examNo": 1, | |
2545 | + "examNo": 0, | |
2080 | 2546 | "questions": [{ |
2081 | 2547 | "quesType": 1, //单选题 |
2082 | 2548 | "startNo": 1, //题号从1开始 |
... | ... | @@ -2093,7 +2559,7 @@ |
2093 | 2559 | "dataTag":"1", |
2094 | 2560 | "data":{ |
2095 | 2561 | "mode": 0, |
2096 | - "examNo": 1, | |
2562 | + "examNo": 0, | |
2097 | 2563 | //第1、2题单选题,第3、4题多选题,第5题数字,第6题判断,共6题 |
2098 | 2564 | "questions": [{ |
2099 | 2565 | "quesType": 1, //单选题 |
... | ... | @@ -2124,26 +2590,26 @@ |
2124 | 2590 | "dataTag":"1", |
2125 | 2591 | "data":{ |
2126 | 2592 | "mode": 0, |
2127 | - "examNo": 1, | |
2593 | + "examNo": 0, | |
2128 | 2594 | //第1-1、1-2题单选题,第2-1、2-2题多选题,第3-1题数字,第4-1题判断,共6题 |
2129 | 2595 | "questions": [{ |
2130 | - "symbol": "1-", | |
2596 | + "firstNo": 1, | |
2131 | 2597 | "quesType": 1, //单选题 |
2132 | 2598 | "startNo": 1, //题号从1-1开始 |
2133 | 2599 | "count":2 //连续2题 |
2134 | 2600 | },{ |
2135 | - "symbol": "2-", | |
2601 | + "firstNo": 2, | |
2136 | 2602 | "quesType": 2, //多选题 |
2137 | 2603 | "startNo": 1, //题号从2-1开始 |
2138 | 2604 | "count":2, //连续2题 |
2139 | 2605 | "option":5 |
2140 | 2606 | },{ |
2141 | - "symbol": "3-", | |
2607 | + "firstNo": 3, | |
2142 | 2608 | "quesType": 3, //数字题 |
2143 | 2609 | "startNo": 1, //题号从3-1开始 |
2144 | 2610 | "count":1 //连续1题 |
2145 | 2611 | },{ |
2146 | - "symbol": "4-", | |
2612 | + "firstNo": 4, | |
2147 | 2613 | "quesType": 4, //判断题 |
2148 | 2614 | "startNo": 1, //题号从4-1开始 |
2149 | 2615 | "count":1 //连续1题 |
... | ... | @@ -2159,26 +2625,30 @@ |
2159 | 2625 | "dataTag":"1", |
2160 | 2626 | "data":{ |
2161 | 2627 | "mode": 0, |
2162 | - "examNo": 1, | |
2628 | + "examNo": 0, | |
2163 | 2629 | //第1-1-1、1-1-2题单选题,第1-2-1、1-2-2题多选题,第2-1-1题数字,第3-1-1题判断,共6题 |
2164 | 2630 | "questions": [{ |
2165 | - "symbol": "1-1-", | |
2631 | + "firstNo": 1, | |
2632 | + "secondNo": 1, | |
2166 | 2633 | "quesType": 1, //单选题 |
2167 | 2634 | "startNo": 1, //题号从1-1-1开始 |
2168 | 2635 | "count":2 //连续2题 |
2169 | 2636 | },{ |
2170 | - "symbol": "1-2-", | |
2637 | + "firstNo": 1, | |
2638 | + "secondNo": 2, | |
2171 | 2639 | "quesType": 2, //多选题 |
2172 | 2640 | "startNo": 1, //题号从1-2-1开始 |
2173 | 2641 | "count":2, //连续2题 |
2174 | 2642 | "option":5 |
2175 | 2643 | },{ |
2176 | - "symbol": "2-1-", | |
2644 | + "firstNo": 2, | |
2645 | + "secondNo": 1, | |
2177 | 2646 | "quesType": 3, //数字题 |
2178 | 2647 | "startNo": 1, //题号从2-1-1开始 |
2179 | 2648 | "count":1 //连续1题 |
2180 | 2649 | },{ |
2181 | - "symbol": "3-1-", | |
2650 | + "firstNo": 3, | |
2651 | + "secondNo": 1, | |
2182 | 2652 | "quesType": 4, //判断题 |
2183 | 2653 | "startNo": 1, //题号从3-1-1开始 |
2184 | 2654 | "count":1 //连续1题 |
... | ... | @@ -2194,7 +2664,7 @@ |
2194 | 2664 | "dataTag":"1", |
2195 | 2665 | "data":{ |
2196 | 2666 | "mode": 1, |
2197 | - "examNo": 1, | |
2667 | + "examNo": 0, | |
2198 | 2668 | "questions": [{ |
2199 | 2669 | "quesType": 1, //单选题 |
2200 | 2670 | "startNo": 1, //题号从1开始 |
... | ... | @@ -2224,7 +2694,7 @@ |
2224 | 2694 | "dataTag":"1", |
2225 | 2695 | "data":{ |
2226 | 2696 | "mode": 2, |
2227 | - "examNo": 1, | |
2697 | + "examNo": 0, | |
2228 | 2698 | "questions": [{ |
2229 | 2699 | "quesType": 1, //单选题 |
2230 | 2700 | "startNo": 1, //题号从1开始 |
... | ... | @@ -2246,7 +2716,8 @@ |
2246 | 2716 | } |
2247 | 2717 | } |
2248 | 2718 | ``` |
2249 | -##### stopKpExam | |
2719 | + | |
2720 | +<!-- ##### stopKpExam | |
2250 | 2721 | - **主题**:/client/\${baseSN}/send |
2251 | 2722 | - **功能描述**:停止标准测验 |
2252 | 2723 | - **参数说明** |
... | ... | @@ -2263,7 +2734,10 @@ |
2263 | 2734 | "fun":"stopKpExam", |
2264 | 2735 | "dataTag":"1" |
2265 | 2736 | } |
2266 | -``` | |
2737 | +``` --> | |
2738 | +##### [stopKpVote](#stopkpvote) | |
2739 | +停止在线测验 | |
2740 | + | |
2267 | 2741 | ##### rtKpAllowEdited |
2268 | 2742 | - **主题**:/client/\${baseSN}/send |
2269 | 2743 | - **功能描述**:键盘提交后,允许键盘修改答案 |
... | ... | @@ -2302,8 +2776,10 @@ |
2302 | 2776 | |dataTag|string|-|否|数据包标识,可为空字符串| |
2303 | 2777 | |data|array|-|是|传送参数的对象数组| |
2304 | 2778 | |++keySn|string||是|键盘SN| |
2305 | -|++keyValue|string||是|键盘提交的按键值,1:A;2:B表示第1题提交A,第二题提交B| | |
2779 | +|++keyValue|string||是|键盘提交的按键值,1:A;2:B表示第1题提交A,第二题提交B<br><font color="red">注意:如启动的是多科测验,键盘提交的题目序号对应启动时下发的题目总序号,不按科目区分</font>| | |
2306 | 2780 | |++keyTime|double||是|答题时间,从启动开始计算,单位秒| |
2781 | +|++voltage|double||是|键盘电量| | |
2782 | +|++retryCount|int||是|键盘提交数据的重发次数| | |
2307 | 2783 | |
2308 | 2784 | - **示例代码** |
2309 | 2785 | |
... | ... | @@ -2350,4 +2826,247 @@ |
2350 | 2826 | "keyTime":3.2 |
2351 | 2827 | }] |
2352 | 2828 | } |
2829 | +``` | |
2830 | + | |
2831 | +### 多科测验 | |
2832 | +#### 方法 | |
2833 | +##### startKpMultiExam | |
2834 | +- **主题**:/client/\${baseSN}/send | |
2835 | +- **功能描述**:启动多科测验 | |
2836 | +- **参数说明** | |
2837 | + | |
2838 | +|参数名|类型|限制|是否必填|说明| | |
2839 | +|---|---|---|---|---| | |
2840 | +|fun|string|-|是|指令名称| | |
2841 | +|dataTag|string|-|否|数据包标识,可为空字符串| | |
2842 | +|data|object|-|是|传送参数的对象| | |
2843 | +|+examNo|int||是|0-9999<br>=0,新的测验<br>>0时,与上次启动卷号一致继续测验,不一致进入新的测验| | |
2844 | +|+mode|int||是|显示模式<br>0-不显示开头<br>1-显示“Q”开头<br>2-显示“题”开头| | |
2845 | +|+questions|array||是|题目详情| | |
2846 | +|++subject | int||是 | 科目序号,1-9,对应键盘中内置的科目1-9<br>键盘答题时可选择科目切换答题| | |
2847 | +|++quesType | int||是| 题目类型<br>1:单选<br>2:多选(排序)<br>3:数字<br>4:判断 | | |
2848 | +|++option |int||是 |选项数目<br> quesType = 1 有效。<br>quesType = 2 有效。<br>此项缺省时 默认4;<br>范围:1-10。| | |
2849 | +|++firstNo | int||否| 一级题号,mode=0 时有效,有效范围1-255,不传字段或传0表示不生效 | | |
2850 | +|++startNo | int||是| 起始题号,mode=0 时有效,范围1-255 <br>firstNo未赋值时,此字段表示一级题号<br>firstNo赋值时,此字段表示二级题号| | |
2851 | +|++count | int||是| 相同参数的连续题目数量, >0 | | |
2852 | +|+simParams|object||否|内部模拟测试参数设置对象| | |
2853 | +|++answer|array||是|预设提交的按键值<br>格式为"单选题答案,多选题答案;<br>数字题答案;判断题答案(1对2错)"<br>如["A","ABCD","10","1"]| | |
2854 | + | |
2855 | +- **示例代码** | |
2856 | +```json | |
2857 | +//自定义题号 | |
2858 | +{ | |
2859 | + "fun":"startKpMultiExam", | |
2860 | + "dataTag":"1", | |
2861 | + "data":{ | |
2862 | + "mode": 0, | |
2863 | + "examNo": 0, | |
2864 | + "questions": [{ | |
2865 | + "subject":1, //科目1 | |
2866 | + //题号1-1 到1-10 共10题单选 | |
2867 | + "firstNo": 1, | |
2868 | + "quesType": 1, | |
2869 | + "startNo": 1, | |
2870 | + "count":10 | |
2871 | + }, { | |
2872 | + "subject":2, //科目2 | |
2873 | + //题号2-2和2-3共两题 多选题,5个选项 | |
2874 | + "firstNo": 2, | |
2875 | + "quesType": 2, | |
2876 | + "option": 5, | |
2877 | + "startNo": 2, | |
2878 | + "count":2 | |
2879 | + }, { | |
2880 | + "subject":3, //科目3 | |
2881 | + //题号3-1和3-2共两道数字题 | |
2882 | + "firstNo": 3, | |
2883 | + "quesType": 3, | |
2884 | + "startNo": 1, | |
2885 | + "count":2 | |
2886 | + }, { | |
2887 | + "subject":1, //科目1 | |
2888 | + //题号4和5 ,判断题 | |
2889 | + "quesType": 4, | |
2890 | + "startNo": 4, | |
2891 | + "count":2 | |
2892 | + }], | |
2893 | + "simParams":{ | |
2894 | + "answer":["A","ABCD","10","1"] | |
2895 | + } | |
2896 | + } | |
2897 | +} | |
2898 | + | |
2899 | +//显示Q开头 | |
2900 | +{ | |
2901 | + "fun":"startKpMultiExam", | |
2902 | + "dataTag":"1", | |
2903 | + "data":{ | |
2904 | + "mode": 1, | |
2905 | + "examNo": 0, | |
2906 | + "questions": [{ | |
2907 | + "subject":1, | |
2908 | + //Q1-Q20,单选题 | |
2909 | + "quesType": 1, | |
2910 | + "startNo": 1, | |
2911 | + "count":20 | |
2912 | + }], | |
2913 | + "simParams":{ | |
2914 | + "answer":["A","","",""] | |
2915 | + } | |
2916 | + } | |
2917 | +} | |
2918 | + | |
2919 | +//显示题开头 | |
2920 | +{ | |
2921 | + "fun":"startKpMultiExam", | |
2922 | + "dataTag":"1", | |
2923 | + "data":{ | |
2924 | + "mode": 2, | |
2925 | + "examNo": 0, | |
2926 | + "questions": [{ | |
2927 | + "subject":1, | |
2928 | + //题1-题20,单选题 | |
2929 | + "quesType": 1, | |
2930 | + "startNo": 1, | |
2931 | + "count":20 | |
2932 | + }], | |
2933 | + "simParams":{ | |
2934 | + "answer":["A","","",""] | |
2935 | + } | |
2936 | + } | |
2937 | +} | |
2938 | +``` | |
2939 | + | |
2940 | +<!-- ##### stopKpMultiExam | |
2941 | +- **主题**:/client/\${baseSN}/send | |
2942 | +- **功能描述**:停止多科测验 | |
2943 | +- **参数说明** | |
2944 | + | |
2945 | +|参数名|类型|限制|是否必填|说明| | |
2946 | +|---|---|---|---|---| | |
2947 | +|fun|string|-|是|指令名称| | |
2948 | +|dataTag|string|-|否|数据包标识,可为空字符串| | |
2949 | + | |
2950 | +- **示例代码** | |
2951 | +```json | |
2952 | +{ | |
2953 | + "fun":"stopKpMultiExam", | |
2954 | + "dataTag":"1" | |
2955 | +} | |
2956 | +``` --> | |
2957 | +##### [stopKpVote](#stopkpvote) | |
2958 | +停止多科测验 | |
2959 | + | |
2960 | +#### 事件 | |
2961 | +##### [sEvtStateCode](#sevtstatecode) | |
2962 | +发送指令后返回接收状态 | |
2963 | + | |
2964 | +##### [fEvtKpExam](#fevtkpexam) | |
2965 | +返回测验中键盘提交答题数据 | |
2966 | + | |
2967 | +##### [fEvtFinalSubmit](#fevtfinalsubmit) | |
2968 | +返回键盘手动交卷标识 | |
2969 | + | |
2970 | +### 自主录分 | |
2971 | +#### 方法 | |
2972 | +##### startKpScoreInput | |
2973 | +- **主题**:/client/\${baseSN}/send | |
2974 | +- **功能描述**:启动标准测验 | |
2975 | +- **参数说明** | |
2976 | + | |
2977 | +|参数名|类型|限制|是否必填|说明| | |
2978 | +|---|---|---|---|---| | |
2979 | +|fun|string|-|是|指令名称| | |
2980 | +|dataTag|string|-|否|数据包标识,可为空字符串| | |
2981 | +|data|object|-|是|传送参数的对象| | |
2982 | +|+examNo|int||是|0-9999<br>=0,新的录分<br>>0时,与上次启动卷号一致继续录分,不一致进入新的录分| | |
2983 | +|+mode|int||是|录分模式<br>0-自主录分<br>1-交叉录分,需先输入录分的人员标识| | |
2984 | +|+questions|array||是|题目详情| | |
2985 | +|++max |int||是|可输入的最大值,<=100| | |
2986 | +|++digits|int||是|可输入的小数位数,范围0-2| | |
2987 | +|++startNo | int||是| 起始题号| | |
2988 | +|++count | int||是| 相同参数的题目数量,>0| | |
2989 | + | |
2990 | +- **示例代码** | |
2991 | +```json | |
2992 | +{ | |
2993 | + "fun":"startKpScoreInput", | |
2994 | + "dataTag":"1", | |
2995 | + "data":{ | |
2996 | + "mode": 0, | |
2997 | + "examNo": 0, | |
2998 | + "questions": [{ | |
2999 | + //题号1 到 2 共2题,单题满分10分 | |
3000 | + "max":10, | |
3001 | + "digits":1, | |
3002 | + "startNo": 1, | |
3003 | + "count":2 | |
3004 | + }, { | |
3005 | + //题号3到6 共4道题,单题满分5 | |
3006 | + "max":5, | |
3007 | + "digits":0, | |
3008 | + "startNo": 3, | |
3009 | + "count":4 | |
3010 | + }] | |
3011 | + } | |
3012 | +} | |
3013 | +``` | |
3014 | +<!-- | |
3015 | +##### stopKpScoreInput | |
3016 | +- **主题**:/client/\${baseSN}/send | |
3017 | +- **功能描述**:停止自主录分 | |
3018 | +- **参数说明** | |
3019 | + | |
3020 | +|参数名|类型|限制|是否必填|说明| | |
3021 | +|---|---|---|---|---| | |
3022 | +|fun|string|-|是|指令名称| | |
3023 | +|dataTag|string|-|否|数据包标识,可为空字符串| | |
3024 | + | |
3025 | +- **示例代码** | |
3026 | +```json | |
3027 | +{ | |
3028 | + "fun":"stopKpScoreInput", | |
3029 | + "dataTag":"1" | |
3030 | +} | |
3031 | +``` --> | |
3032 | +##### [stopKpVote](#stopkpvote) | |
3033 | +停止自主录分 | |
3034 | + | |
3035 | +#### 事件 | |
3036 | +##### [sEvtStateCode](#sevtstatecode) | |
3037 | +发送指令后返回接收状态 | |
3038 | + | |
3039 | +##### fEvtKpScore | |
3040 | +- **主题**:/basestation/\${baseSN}/receive | |
3041 | +- **功能描述**:返回键盘提交录分信息 | |
3042 | +- **参数说明** | |
3043 | + | |
3044 | +|参数名|类型|限制|非空|说明| | |
3045 | +|---|---|---|---|---| | |
3046 | +|fun|string|-|是|指令名称| | |
3047 | +|dataTag|string|-|否|数据包标识,可为空字符串| | |
3048 | +|data|array|-|是|传送参数的对象数组| | |
3049 | +|++keySn|string||是|键盘SN| | |
3050 | +|++keyValue|string||是|键盘提交的分值,1:10;2:0表示第1题提交10分,第二题提交0分| | |
3051 | +|++keyTime|double||是|录分时间,从启动录分开始计算,单位秒| | |
3052 | +|++voltage|double||是|键盘电量| | |
3053 | +|++retryCount|int||是|键盘提交数据的重发次数| | |
3054 | + | |
3055 | +- **示例代码** | |
3056 | +```json | |
3057 | +{ | |
3058 | + "fun":"fEvtKpScore", | |
3059 | + "dataTag":"1", | |
3060 | + "data": [{ | |
3061 | + "keySn": "1234567890", | |
3062 | + "keyValue":"1:8;2:7.5;3:2;4:3", | |
3063 | + "keyTime":3.2 | |
3064 | + }, | |
3065 | + { | |
3066 | + "keySn": "1234567891", | |
3067 | + "keyValue":"1:10;2:0", | |
3068 | + "keyTime":3.5 | |
3069 | + } | |
3070 | + ] | |
3071 | +} | |
2353 | 3072 | ``` |
2354 | 3073 | \ No newline at end of file | ... | ... |