diff --git a/通讯协议-SDK应用部分.md b/通讯协议-SDK应用部分.md index 3f06ab9..ee92cfc 100644 --- a/通讯协议-SDK应用部分.md +++ b/通讯协议-SDK应用部分.md @@ -307,7 +307,7 @@ params:{} //无该值 注意:B200支持此命令 -## 7.3答题 +## 答题 答题流程: @@ -1528,18 +1528,17 @@ infos:{"state":"OK"}//返回状态,成功为OK ### 多题题型 #### 开始测试 - -##### 一级题型接口[有科目 + 题/Q开头] +##### 在线测验题型接口 发送: -fun: "startKeyPadMultipleQuestionsLevel1Course" //开始多题题型 +fun: "startKeyPadMultipleQuestionsTest" //开始在线测验题型 params:{} | **Json字段** | **字段含义** | **赋值及含义** | | --- | --- | --- | -| examNo | 测验编号 | 1-9999 | -| displayMode | 题号显示模式 | 1: 显示“Q”开头
2: 显示“题”开头| +| examNo | 测验编号 | 1-9999
注意:1=新的题开始| +| displayMode | 题号显示模式 | 0:不显示开头
1:显示“Q”开头
2:显示“题”开头| | questions | 题目详情 | 数组[最大200个单元] | 题目详情数组参数说明 @@ -1547,34 +1546,33 @@ params:{} | **Json字段** | **字段含义** | **赋值及含义** | | --- | --- | --- | | questionLevel1Symbol | 一级题号 | 1-200 | -| course | 科目 | 1:语文
2:数学
3:英语
4:政治
5:历史
6:地理
7:生物
8:物理
9:化学 | +| questionLevel2Symbol | 二级题号 | 1-99 [displayMode=0时有效] | +| questionLevel3Symbol | 三级题号 | 1-99 [displayMode=0时有效] | | questionType | 题目类型 | 1:单选
2:多选(排序)
3:数字
4:判断 | -| option | 选项数目 | 当questionType = 1 有效。
当questionType = 2 有效。
此项缺省时 默认4;
范围:1-10。| +| option | 选项数目 | 当questionType = 1 有效。
当questionType = 2 有效。
此项缺省时 默认4;
范围:1-10。| -指令样例: + +指令样例:一级题型 + 不显示开头 +样例目的:一级题型不显示开头,总题数4题 ```json { - "fun": "startKeyPadMultipleQuestionsLevel1Course", + "fun": "startKeyPadMultipleQuestionsTest", "baseId": 0, "params": { "examNo": 1, - "displayMode": 1, + "displayMode": 0, "questions": [{ "questionLevel1Symbol": "1", - "course": "1", "questionType": "1" }, { "questionLevel1Symbol": "2", - "course": "1", "questionType": "2", "option": "5" }, { "questionLevel1Symbol": "3", - "course": "1", "questionType": "3" }, { "questionLevel1Symbol": "4", - "course": "1", "questionType": "4" }] }, @@ -1582,81 +1580,131 @@ params:{} } ``` -接收: - -fun: "KeyPadMultipleQuestionsLevel1Course" // -baseId: "1"//收到的基站ID -infos:{"state":"OK"}//返回状态,成功为OK - -指令样例: - +指令样例:二级题型 + 不显示开头 +样例目的:二级题型不显示开头,总题数4题 ```json { - "fun": "KeyPadMultipleQuestionsLevel1Course", - "baseId": 1, - "infos": { - "state": "OK" + "fun": "startKeyPadMultipleQuestionsTest", + "baseId": 0, + "params": { + "examNo": 1, + "displayMode": 0, + "questions": [{ + "questionLevel1Symbol": "1", + "questionLevel2Symbol": "1", + "questionType": "1" + }, { + "questionLevel1Symbol": "1", + "questionLevel2Symbol": "2", + "questionType": "2", + "option": "5" + }, { + "questionLevel1Symbol": "2", + "questionLevel2Symbol": "1", + "questionType": "3" + }, { + "questionLevel1Symbol": "2", + "questionLevel2Symbol": "1", + "questionType": "4" + }] }, "packetTag": "59" } ``` -##### 一级题型接口[有科目] - -发送: - -fun: "startKeyPadMultipleQuestionsLevel2Course" //开始多题题型 -params:{} - -| **Json字段** | **字段含义** | **赋值及含义** | -| --- | --- | --- | -| examNo | 测验编号 | 1-9999 | -| questions | 题目详情 | 数组[最大200个单元] | - -题目详情数组参数说明 - -| **Json字段** | **字段含义** | **赋值及含义** | -| --- | --- | --- | -| questionLevel2Symbol | 一级题号 | 1-200 | -| course | 科目 | 1:语文
2:数学
3:英语
4:政治
5:历史
6:地理
7:生物
8:物理
9化学 | -| questionType | 题目类型 | 1:单选
2:多选(排序)
3:数字
4:判断 | -| option | 选项数目 | 当questionType = 1 有效。
当questionType = 2 有效。
此项缺省时 默认4;
范围:1-10。| +指令样例:三级题型 + 不显示开头 +样例目的:三级题型不显示开头,总题数4题 +```json +{ + "fun": "startKeyPadMultipleQuestionsTest", + "baseId": 0, + "params": { + "examNo": 1, + "displayMode": 0, + "questions": [{ + "questionLevel1Symbol": "1", + "questionLevel2Symbol": "1", + "questionLevel3Symbol": "1", + "questionType": "1" + }, { + "questionLevel1Symbol": "1", + "questionLevel2Symbol": "1", + "questionLevel3Symbol": "2", + "questionType": "2", + "option": "5" + }, { + "questionLevel1Symbol": "1", + "questionLevel2Symbol": "1", + "questionLevel3Symbol": "3", + "questionType": "3" + }, { + "questionLevel1Symbol": "1", + "questionLevel2Symbol": "1", + "questionLevel3Symbol": "4", + "questionType": "4" + }] + }, + "packetTag": "59" +} +``` +指令样例:一级题型 + 显示“Q”开头 +样例目的:一级题型显示“Q”开头,总题数4题 ```json { - "fun": "startKeyPadMultipleQuestionsLevel2Course", + "fun": "startKeyPadMultipleQuestionsTest", "baseId": 0, "params": { "examNo": 1, + "displayMode": 1, "questions": [{ "questionLevel1Symbol": "1", - "course": "1", - "questionType": "1", - "option": "4" + "questionType": "1" }, { "questionLevel1Symbol": "2", - "course": "2", "questionType": "2", - "option": "4" + "option": "5" }, { "questionLevel1Symbol": "3", - "course": "3", - "questionType": "3", - "option": "4" + "questionType": "3" }, { "questionLevel1Symbol": "4", - "course": "4", - "questionType": "4", - "option": "4" + "questionType": "4" + }] + }, + "packetTag": "59" +} +``` +指令样例:一级题型 + 显示“题”开头 +样例目的:一级题型显示“题”开头,总题数4题 +```json +{ + "fun": "startKeyPadMultipleQuestionsTest", + "baseId": 0, + "params": { + "examNo": 1, + "displayMode": 2, + "questions": [{ + "questionLevel1Symbol": "1", + "questionType": "1" + }, { + "questionLevel1Symbol": "2", + "questionType": "2", + "option": "5" + }, { + "questionLevel1Symbol": "3", + "questionType": "3" + }, { + "questionLevel1Symbol": "4", + "questionType": "4" }] }, "packetTag": "59" } ``` - 接收: -fun: "KeyPadMultipleQuestionsLevel2Course" // +fun: "keyPadMultipleQuestionsTest" // baseId: "1"//收到的基站ID infos:{"state":"OK"}//返回状态,成功为OK @@ -1664,7 +1712,7 @@ infos:{"state":"OK"}//返回状态,成功为OK ```json { - "fun": "KeyPadMultipleQuestionsLevel2Course", + "fun": "keyPadMultipleQuestionsTest", "baseId": 1, "infos": { "state": "OK" @@ -1673,124 +1721,164 @@ infos:{"state":"OK"}//返回状态,成功为OK } ``` -##### 二级题型接口[有科目] +##### 多科作业题型接口 发送: -fun: "startKeyPadMultipleQuestionsLevel2Course" //开始多题题型 +fun: "startKeyPadMultipleQuestionsCourse" //开始多科作业题型 params:{} | **Json字段** | **字段含义** | **赋值及含义** | | --- | --- | --- | -| examNo | 测验编号 | 1-9999 | +| examNo | 测验编号 | 1-9999
注意:1=新的题开始| +| displayMode | 题号显示模式 | 0:不显示开头
1:显示“Q”开头
2:显示“题”开头| | questions | 题目详情 | 数组[最大200个单元] | 题目详情数组参数说明 | **Json字段** | **字段含义** | **赋值及含义** | | --- | --- | --- | -| questionLevel1Symbol | 一级题号 | 1-99 | -| questionLevel2Symbol | 二级题号 | 1-99 | -| course | 科目 | 1:语文
2:数学
3:英语
4:政治
5:历史
6:地理
7:生物
8:物理
9化学 | +| questionLevel1Symbol | 一级题号 | 1-200 | +| questionLevel2Symbol | 二级题号 | 1-99 [displayMode=0时有效] | +| course | 科目 | 1:语文
2:数学
3:英语
4:政治
5:历史
6:地理
7:生物
8:物理
9:化学 | | questionType | 题目类型 | 1:单选
2:多选(排序)
3:数字
4:判断 | -| option | 选项数目 | 当questionType = 1 有效。
当questionType = 2 有效。
此项缺省时 默认4;
范围:1-10。| +| option | 选项数目 | 当questionType = 1 有效。
当questionType = 2 有效。
此项缺省时 默认4;
范围:1-10。| +指令样例:带科目 + 二级题型 + 不显示开头 +样例目的:语文2题+数学2题+英语2题 ```json { - "fun": "startKeyPadMultipleQuestionsLevel2Course", + "fun": "startKeyPadMultipleQuestionsCourse", "baseId": 0, "params": { "examNo": 1, + "displayMode": 0, "questions": [{ "questionLevel1Symbol": "1", "questionLevel2Symbol": "1", "course": "1", - "questionType": "1", - "option": "4" + "questionType": "1" }, { "questionLevel1Symbol": "1", "questionLevel2Symbol": "2", - "course": "2", + "course": "1", "questionType": "2", - "option": "4" + "option": "5" }, { "questionLevel1Symbol": "1", - "questionLevel2Symbol": "3", + "questionLevel2Symbol": "1", + "course": "2", + "questionType": "3" + }, { + "questionLevel1Symbol": "1", + "questionLevel2Symbol": "2", + "course": "2", + "questionType": "4" + }, { + "questionLevel1Symbol": "1", + "questionLevel2Symbol": "1", "course": "3", - "questionType": "3", - "option": "4" + "questionType": "3" }, { "questionLevel1Symbol": "1", - "questionLevel2Symbol": "4", - "course": "4", - "questionType": "4", - "option": "4" + "questionLevel2Symbol": "2", + "course": "3", + "questionType": "4" }] }, "packetTag": "59" } ``` -接收: - -fun: "KeyPadMultipleQuestionsLevel2Course" // -baseId: "1"//收到的基站ID -infos:{"state":"OK"}//返回状态,成功为OK - -指令样例: - +指令样例:带科目 + 一级题型 + 不显示开头 +样例目的:语文4题 ```json { - "fun": "KeyPadMultipleQuestionsLevel2Course", - "baseId": 1, - "infos": { - "state": "OK" + "fun": "startKeyPadMultipleQuestionsCourse", + "baseId": 0, + "params": { + "examNo": 1, + "displayMode": 0, + "questions": [{ + "questionLevel1Symbol": "1", + "course": "1", + "questionType": "1" + }, { + "questionLevel1Symbol": "2", + "course": "1", + "questionType": "2", + "option": "5" + }, { + "questionLevel1Symbol": "3", + "course": "1", + "questionType": "3" + }, { + "questionLevel1Symbol": "4", + "course": "1", + "questionType": "4" + }] }, "packetTag": "59" } ``` -##### 一级题型接口[无科目 + 题/Q开头] - -发送: - -fun: "startKeyPadMultipleQuestionsLevel1" //开始多题题型 -params:{} - -| **Json字段** | **字段含义** | **赋值及含义** | -| --- | --- | --- | -| examNo | 测验编号 | 1-9999 | -| displayMode | 题号显示模式 | 1: 显示“Q”开头
2: 显示“题”开头| -| questions | 题目详情 | 数组[最大200个单元] | - -题目详情数组参数说明 - -| **Json字段** | **字段含义** | **赋值及含义** | -| --- | --- | --- | -| questionLevel1Symbol | 一级题号 | 1-200 | -| questionType | 题目类型 | 1:单选
2:多选(排序)
3:数字
4:判断 | -| option | 选项数目 | 当questionType = 1 有效。
当questionType = 2 有效。
此项缺省时 默认4;
范围:1-10。| - -指令样例: +指令样例:带科目 + 一级题型 + 显示“Q”开头 +样例目的:语文4题 ```json { - "fun": "startKeyPadMultipleQuestionsLevel1", + "fun": "startKeyPadMultipleQuestionsCourse", "baseId": 0, "params": { "examNo": 1, "displayMode": 1, "questions": [{ "questionLevel1Symbol": "1", + "course": "1", + "questionType": "1" + }, { + "questionLevel1Symbol": "2", + "course": "1", + "questionType": "2", + "option": "5" + }, { + "questionLevel1Symbol": "3", + "course": "1", + "questionType": "3" + }, { + "questionLevel1Symbol": "4", + "course": "1", + "questionType": "4" + }] + }, + "packetTag": "59" +} +``` + +指令样例:带科目 + 一级题型 + 显示“题”开头 +样例目的:语文4题 +```json +{ + "fun": "startKeyPadMultipleQuestionsCourse", + "baseId": 0, + "params": { + "examNo": 1, + "displayMode": 2, + "questions": [{ + "questionLevel1Symbol": "1", + "course": "1", "questionType": "1" }, { "questionLevel1Symbol": "2", + "course": "1", "questionType": "2", "option": "5" }, { "questionLevel1Symbol": "3", + "course": "1", "questionType": "3" }, { "questionLevel1Symbol": "4", + "course": "1", "questionType": "4" }] }, @@ -1800,7 +1888,7 @@ params:{} 接收: -fun: "KeyPadMultipleQuestionsLevel1" // +fun: "keyPadMultipleQuestionsCourse" // baseId: "1"//收到的基站ID infos:{"state":"OK"}//返回状态,成功为OK @@ -1808,7 +1896,7 @@ infos:{"state":"OK"}//返回状态,成功为OK ```json { - "fun": "KeyPadMultipleQuestionsLevel1", + "fun": "keyPadMultipleQuestionsCourse", "baseId": 1, "infos": { "state": "OK" @@ -1817,16 +1905,15 @@ infos:{"state":"OK"}//返回状态,成功为OK } ``` -##### 一级题型接口[无科目] - +##### 主观题分数输入接口 发送: -fun: "startKeyPadMultipleQuestionsLevel3" //开始多题题型 +fun: "startKeyPadMultipleQuestionsSubjective" //开始主观题分数输入 params:{} | **Json字段** | **字段含义** | **赋值及含义** | | --- | --- | --- | -| examNo | 测验编号 | 1-9999 | +| examNo | 测验编号 | 1-9999
注意:1=新的题开始 | | questions | 题目详情 | 数组[最大200个单元] | 题目详情数组参数说明 @@ -1834,28 +1921,30 @@ params:{} | **Json字段** | **字段含义** | **赋值及含义** | | --- | --- | --- | | questionLevel1Symbol | 一级题号 | 1-200 | -| questionType | 题目类型 | 1:单选
2:多选(排序)
3:数字
4:判断 | -| option | 选项数目 |当questionType = 1 有效。
当questionType = 2 有效。
此项缺省时 默认4;
范围:1-10。| +| toplimit | 数字上限 | 1-600 | +| decimal | 小数位数 | 0:无效小数
1:一位小数
2:二位小数
此项缺省时默认是0。| ```json { - "fun": "startKeyPadMultipleQuestionsLevel3", + "fun": "startKeyPadMultipleQuestionsSubjective", "baseId": 0, "params": { "examNo": 1, "questions": [{ "questionLevel1Symbol": "1", - "questionType": "1" + "toplimit": "100", + "decimal": "0" + }, { + "questionLevel1Symbol": "2", + "toplimit": "100", + "decimal": "1" }, { "questionLevel1Symbol": "3", - "questionType": "2", - "option": "5" + "toplimit": "100", + "decimal": "2" }, { "questionLevel1Symbol": "4", - "questionType": "3" - }, { - "questionLevel1Symbol": "5", - "questionType": "4" + "toplimit": "100" }] }, "packetTag": "59" @@ -1864,7 +1953,7 @@ params:{} 接收: -fun: "KeyPadMultipleQuestionsLevel3" // +fun: "KeyPadMultipleQuestionsSubjective" // baseId: "1"//收到的基站ID infos:{"state":"OK"}//返回状态,成功为OK @@ -1872,7 +1961,7 @@ infos:{"state":"OK"}//返回状态,成功为OK ```json { - "fun": "KeyPadMultipleQuestionsLevel3", + "fun": "KeyPadMultipleQuestionsSubjective", "baseId": 1, "infos": { "state": "OK" @@ -1881,218 +1970,9 @@ infos:{"state":"OK"}//返回状态,成功为OK } ``` -##### 二级题型接口[无科目] -发送: -fun: "startKeyPadMultipleQuestionsLevel3" //开始多题题型 -params:{} - -| **Json字段** | **字段含义** | **赋值及含义** | -| --- | --- | --- | -| examNo | 测验编号 | 1-9999 | -| questions | 题目详情 | 数组[最大200个单元] | - -题目详情数组参数说明 - -| **Json字段** | **字段含义** | **赋值及含义** | -| --- | --- | --- | -| questionLevel1Symbol | 一级题号 | 1-99 | -| questionLevel2Symbol | 二级题号 | 1-99 | -| questionType | 题目类型 | 1:单选
2:多选(排序)
3:数字
4:判断 | -| option | 选项数目 |当questionType = 1 有效。
当questionType = 2 有效。
此项缺省时 默认4;
范围:1-10。| - -```json -{ - "fun": "startKeyPadMultipleQuestionsLevel3", - "baseId": 0, - "params": { - "examNo": 1, - "questions": [{ - "questionLevel1Symbol": "1", - "questionLevel2Symbol": "1", - "questionType": "1" - }, { - "questionLevel1Symbol": "2", - "questionLevel2Symbol": "3", - "questionType": "2", - "option": "5" - }, { - "questionLevel1Symbol": "2", - "questionLevel2Symbol": "4", - "questionType": "3" - }, { - "questionLevel1Symbol": "2", - "questionLevel2Symbol": "5", - "questionType": "4" - }] - }, - "packetTag": "59" -} -``` - -接收: - -fun: "KeyPadMultipleQuestionsLevel3" // -baseId: "1"//收到的基站ID -infos:{"state":"OK"}//返回状态,成功为OK - -指令样例: - -```json -{ - "fun": "KeyPadMultipleQuestionsLevel3", - "baseId": 1, - "infos": { - "state": "OK" - }, - "packetTag": "59" -} -``` - -##### 三级题型接口[无科目] - -发送: - -fun: "startKeyPadMultipleQuestionsLevel3" //开始多题题型 -params:{} - -| **Json字段** | **字段含义** | **赋值及含义** | -| --- | --- | --- | -| examNo | 测验编号 | 1-9999 | -| questions | 题目详情 | 数组[最大200个单元] | - -题目详情数组参数说明 - -| **Json字段** | **字段含义** | **赋值及含义** | -| --- | --- | --- | -| questionLevel1Symbol | 一级题号 | 1-99 | -| questionLevel2Symbol | 二级题号 | 1-99 | -| questionLevel3Symbol | 三级题号 | 1-99 | -| questionType | 题目类型 | 1:单选
2:多选(排序)
3:数字
4:判断 | -| option | 选项数目 |当questionType = 1 有效。
当questionType = 2 有效。
此项缺省时 默认4;
范围:1-10。| - -```json -{ - "fun": "startKeyPadMultipleQuestionsLevel3", - "baseId": 0, - "params": { - "examNo": 1, - "questions": [{ - "questionLevel1Symbol": "1", - "questionLevel2Symbol": "1", - "questionLevel3Symbol": "1", - "questionType": "1" - }, { - "questionLevel1Symbol": "1", - "questionLevel2Symbol": "2", - "questionLevel3Symbol": "3", - "questionType": "2", - "option": "5" - }, { - "questionLevel1Symbol": "1", - "questionLevel2Symbol": "2", - "questionLevel3Symbol": "4", - "questionType": "3" - }, { - "questionLevel1Symbol": "1", - "questionLevel2Symbol": "2", - "questionLevel3Symbol": "5", - "questionType": "4" - }] - }, - "packetTag": "59" -} -``` - -接收: - -fun: "KeyPadMultipleQuestionsLevel3" // -baseId: "1"//收到的基站ID -infos:{"state":"OK"}//返回状态,成功为OK - -指令样例: - -```json -{ - "fun": "KeyPadMultipleQuestionsLevel3", - "baseId": 1, - "infos": { - "state": "OK" - }, - "packetTag": "59" -} -``` - - -##### 主观题接口 -发送: - -fun: "startKeyPadMultipleQuestionsSubjective" //开始多题题型 -params:{} - -| **Json字段** | **字段含义** | **赋值及含义** | -| --- | --- | --- | -| examNo | 测验编号 | 1-9999 | -| questions | 题目详情 | 数组[最大200个单元] | - -题目详情数组参数说明 - -| **Json字段** | **字段含义** | **赋值及含义** | -| --- | --- | --- | -| questionLevel1Symbol | 一级题号 | 1-200 | -| toplimit | 数字上限 | 1-100 | -| decimal | 小数位数 | 0:无效小数
1:一位小数
2:二位小数
此项缺省时默认是0。| - -```json -{ - "fun": "startKeyPadMultipleQuestionsSubjective", - "baseId": 0, - "params": { - "examNo": 1, - "questions": [{ - "questionLevel1Symbol": "1", - "toplimit": "100", - "decimal": "0" - }, { - "questionLevel1Symbol": "2", - "toplimit": "100", - "decimal": "1" - }, { - "questionLevel1Symbol": "3", - "toplimit": "100", - "decimal": "2" - }, { - "questionLevel1Symbol": "4", - "toplimit": "100" - }] - }, - "packetTag": "59" -} -``` - -接收: - -fun: "KeyPadMultipleQuestionsSubjective" // -baseId: "1"//收到的基站ID -infos:{"state":"OK"}//返回状态,成功为OK - -指令样例: - -```json -{ - "fun": "KeyPadMultipleQuestionsSubjective", - "baseId": 1, - "infos": { - "state": "OK" - }, - "packetTag": "59" -} -``` - - - -#### 接收作答 +#### 接收作答 接收: @@ -2104,7 +1984,7 @@ infos: {} | **Json字段** | **字段含义** | **赋值及含义** | | --- | --- | --- | -| Time | 答题时间 | [time/5=实际时间] 单位秒,20分钟内有效 | +| Time | 答题时间 | 单位秒,20分钟内有效 | | keySn | 键盘Sn | | | Seq | 题序号 | | | keyValue | 键值 |键盘提交的值 | @@ -2171,7 +2051,7 @@ infos:{"state":"OK"}//返回状态,成功为OK 发送: -fun: "pauseKeyPadMultipleQuestions" //暂停多提题性 +fun: "pauseKeyPadMultipleQuestions" //暂停多提题型 baseId: "1"//收到的基站ID @@ -2213,17 +2093,17 @@ infos:{"state":"OK"}//返回状态,成功为OK #### 继续测试 -##### 一级题型接口[有科目 + 题/Q开头] +##### 在线测验题型接口 发送: -fun: "continueKeyPadMultipleQuestionsLevel1Course" //开始多题题型 +fun: "continueKeyPadMultipleQuestionsTest" //继续在线测验题型 params:{} | **Json字段** | **字段含义** | **赋值及含义** | | --- | --- | --- | | examNo | 测验编号 | 1-9999 | -| displayMode | 题号显示模式 | 1: 显示“Q”开头
2: 显示“题”开头| +| displayMode | 题号显示模式 | 0:不显示开头
1:显示“Q”开头
2:显示“题”开头| | questions | 题目详情 | 数组[最大200个单元] | 题目详情数组参数说明 @@ -2231,34 +2111,32 @@ params:{} | **Json字段** | **字段含义** | **赋值及含义** | | --- | --- | --- | | questionLevel1Symbol | 一级题号 | 1-200 | -| course | 科目 | 1:语文
2:数学
3:英语
4:政治
5:历史
6:地理
7:生物
8:物理
9化学 | +| questionLevel2Symbol | 二级题号 | 1-99 [displayMode=0时有效] | +| questionLevel3Symbol | 三级题号 | 1-99 [displayMode=0时有效] | | questionType | 题目类型 | 1:单选
2:多选(排序)
3:数字
4:判断 | -| option | 选项数目 | 当questionType = 1 有效。
当questionType = 2 有效。
此项缺省时 默认4;
范围:1-10。| +| option | 选项数目 | 当questionType = 1 有效。
当questionType = 2 有效。
此项缺省时 默认4;
范围:1-10。| -指令样例: + +指令样例:一级题型 + 不显示开头 ```json { - "fun": "continueKeyPadMultipleQuestionsLevel1Course", + "fun": "continueKeyPadMultipleQuestionsTest", "baseId": 0, "params": { "examNo": 1, - "displayMode": 1, + "displayMode": 0, "questions": [{ "questionLevel1Symbol": "1", - "course": "1", "questionType": "1" }, { "questionLevel1Symbol": "2", - "course": "1", "questionType": "2", "option": "5" }, { "questionLevel1Symbol": "3", - "course": "1", "questionType": "3" }, { "questionLevel1Symbol": "4", - "course": "1", "questionType": "4" }] }, @@ -2266,203 +2144,107 @@ params:{} } ``` -接收: - -fun: "KeyPadMultipleQuestionsLevel1Course" // -baseId: "1"//收到的基站ID -infos:{"state":"OK"}//返回状态,成功为OK - -指令样例: - -```json -{ - "fun": "KeyPadMultipleQuestionsLevel1Course", - "baseId": 1, - "infos": { - "state": "OK" - }, - "packetTag": "59" -} -``` - -##### 一级题型接口[有科目] - -发送: - -fun: "continueKeyPadMultipleQuestionsLevel2Course" //开始多题题型 -params:{} - -| **Json字段** | **字段含义** | **赋值及含义** | -| --- | --- | --- | -| examNo | 测验编号 | 1-9999 | -| questions | 题目详情 | 数组[最大200个单元] | - -题目详情数组参数说明 - -| **Json字段** | **字段含义** | **赋值及含义** | -| --- | --- | --- | -| questionLevel2Symbol | 二级题号 | 1-99 | -| course | 科目 | 1:语文
2:数学
3:英语
4:政治
5:历史
6:地理
7:生物
8:物理
9化学 | -| questionType | 题目类型 | 1:单选
2:多选(排序)
3:数字
4:判断 | -| option | 选项数目 | 当questionType = 1 有效。
当questionType = 2 有效。
此项缺省时 默认4;
范围:1-10。| - +指令样例:二级题型 + 不显示开头 ```json { - "fun": "continueKeyPadMultipleQuestionsLevel2Course", + "fun": "continueKeyPadMultipleQuestionsTest", "baseId": 0, "params": { "examNo": 1, + "displayMode": 0, "questions": [{ "questionLevel1Symbol": "1", - "course": "1", - "questionType": "1", - "option": "4" + "questionLevel2Symbol": "1", + "questionType": "1" }, { - "questionLevel1Symbol": "2", - "course": "2", + "questionLevel1Symbol": "1", + "questionLevel2Symbol": "2", "questionType": "2", - "option": "4" + "option": "5" }, { - "questionLevel1Symbol": "3", - "course": "3", - "questionType": "3", - "option": "4" + "questionLevel1Symbol": "1", + "questionLevel2Symbol": "3", + "questionType": "3" }, { - "questionLevel1Symbol": "4", - "course": "4", - "questionType": "4", - "option": "4" + "questionLevel1Symbol": "1", + "questionLevel2Symbol": "4", + "questionType": "4" }] }, "packetTag": "59" } ``` -接收: - -fun: "KeyPadMultipleQuestionsLevel2Course" // -baseId: "1"//收到的基站ID -infos:{"state":"OK"}//返回状态,成功为OK - -指令样例: - +指令样例:三级题型 + 不显示开头 ```json { - "fun": "KeyPadMultipleQuestionsLevel2Course", - "baseId": 1, - "infos": { - "state": "OK" - }, - "packetTag": "59" -} -``` - -##### 二级题型接口[有科目] - -发送: - -fun: "continueKeyPadMultipleQuestionsLevel2Course" //开始多题题型 -params:{} - -| **Json字段** | **字段含义** | **赋值及含义** | -| --- | --- | --- | -| examNo | 测验编号 | 1-9999 | -| questions | 题目详情 | 数组[最大200个单元] | - -题目详情数组参数说明 - -| **Json字段** | **字段含义** | **赋值及含义** | -| --- | --- | --- | -| questionLevel1Symbol | 一级题号 | 1-99 | -| questionLevel2Symbol | 二级题号 | 1-99 | -| course | 科目 | 1:语文
2:数学
3:英语
4:政治
5:历史
6:地理
7:生物
8:物理
9化学 | -| questionType | 题目类型 | 1:单选
2:多选(排序)
3:数字
4:判断 | -| option | 选项数目 | 当questionType = 1 有效。
当questionType = 2 有效。
此项缺省时 默认4;
范围:1-10。| - -```json -{ - "fun": "continueKeyPadMultipleQuestionsLevel2Course", + "fun": "continueKeyPadMultipleQuestionsTest", "baseId": 0, "params": { "examNo": 1, + "displayMode": 0, "questions": [{ "questionLevel1Symbol": "1", "questionLevel2Symbol": "1", - "course": "1", - "questionType": "1", - "option": "4" + "questionLevel3Symbol": "1", + "questionType": "1" }, { "questionLevel1Symbol": "1", - "questionLevel2Symbol": "2", - "course": "2", + "questionLevel2Symbol": "1", + "questionLevel3Symbol": "2", "questionType": "2", - "option": "4" + "option": "5" }, { "questionLevel1Symbol": "1", - "questionLevel2Symbol": "3", - "course": "3", - "questionType": "3", - "option": "4" + "questionLevel2Symbol": "1", + "questionLevel3Symbol": "3", + "questionType": "3" }, { "questionLevel1Symbol": "1", - "questionLevel2Symbol": "4", - "course": "4", - "questionType": "4", - "option": "4" + "questionLevel2Symbol": "1", + "questionLevel3Symbol": "4", + "questionType": "4" }] }, "packetTag": "59" } ``` -接收: - -fun: "KeyPadMultipleQuestionsLevel2Course" // -baseId: "1"//收到的基站ID -infos:{"state":"OK"}//返回状态,成功为OK - -指令样例: - +指令样例:一级题型 + 显示“Q”开头 ```json { - "fun": "KeyPadMultipleQuestionsLevel2Course", - "baseId": 1, - "infos": { - "state": "OK" + "fun": "continueKeyPadMultipleQuestionsTest", + "baseId": 0, + "params": { + "examNo": 1, + "displayMode": 1, + "questions": [{ + "questionLevel1Symbol": "1", + "questionType": "1" + }, { + "questionLevel1Symbol": "2", + "questionType": "2", + "option": "5" + }, { + "questionLevel1Symbol": "3", + "questionType": "3" + }, { + "questionLevel1Symbol": "4", + "questionType": "4" + }] }, "packetTag": "59" } ``` -##### 一级题型接口[无科目 + 题/Q开头] - -发送: - -fun: "continueKeyPadMultipleQuestionsLevel1" //开始多题题型 -params:{} - -| **Json字段** | **字段含义** | **赋值及含义** | -| --- | --- | --- | -| examNo | 测验编号 | 1-9999 | -| displayMode | 题号显示模式 | 1: 显示“Q”开头
2: 显示“题”开头| -| questions | 题目详情 | 数组[最大200个单元] | - -题目详情数组参数说明 - -| **Json字段** | **字段含义** | **赋值及含义** | -| --- | --- | --- | -| questionLevel1Symbol | 一级题号 | 1-200 | -| questionType | 题目类型 | 1:单选
2:多选(排序)
3:数字
4:判断 | -| option | 选项数目 | 当questionType = 1 有效。
当questionType = 2 有效。
此项缺省时 默认4;
范围:1-10。| - -指令样例: +指令样例:一级题型 + 显示“题”开头 ```json { - "fun": "continueKeyPadMultipleQuestionsLevel1", + "fun": "continueKeyPadMultipleQuestionsTest", "baseId": 0, "params": { "examNo": 1, - "displayMode": 1, + "displayMode": 2, "questions": [{ "questionLevel1Symbol": "1", "questionType": "1" @@ -2481,10 +2263,9 @@ params:{} "packetTag": "59" } ``` - 接收: -fun: "KeyPadMultipleQuestionsLevel1" // +fun: "keyPadMultipleQuestionsTest" // baseId: "1"//收到的基站ID infos:{"state":"OK"}//返回状态,成功为OK @@ -2492,7 +2273,7 @@ infos:{"state":"OK"}//返回状态,成功为OK ```json { - "fun": "KeyPadMultipleQuestionsLevel1", + "fun": "keyPadMultipleQuestionsTest", "baseId": 1, "infos": { "state": "OK" @@ -2501,44 +2282,68 @@ infos:{"state":"OK"}//返回状态,成功为OK } ``` -##### 一级题型接口[无科目] +##### 多科作业题型接口 发送: -fun: "continueKeyPadMultipleQuestionsLevel3" //开始多题题型 +fun: "continueKeyPadMultipleQuestionsCourse" //继续多科作业题型 params:{} | **Json字段** | **字段含义** | **赋值及含义** | | --- | --- | --- | | examNo | 测验编号 | 1-9999 | +| displayMode | 题号显示模式 | 0:不显示开头
1:显示“Q”开头
2:显示“题”开头| | questions | 题目详情 | 数组[最大200个单元] | 题目详情数组参数说明 | **Json字段** | **字段含义** | **赋值及含义** | | --- | --- | --- | -| questionLevel1Symbol | 三级题号 | 1-200 | +| questionLevel1Symbol | 一级题号 | 1-200 | +| questionLevel2Symbol | 二级题号 | 1-99 [displayMode=0时有效] | +| course | 科目 | 1:语文
2:数学
3:英语
4:政治
5:历史
6:地理
7:生物
8:物理
9:化学 | | questionType | 题目类型 | 1:单选
2:多选(排序)
3:数字
4:判断 | -| option | 选项数目 | 当questionType = 1 有效。
当questionType = 2 有效。
此项缺省时 默认4;
范围:1-10。| +| option | 选项数目 | 当questionType = 1 有效。
当questionType = 2 有效。
此项缺省时 默认4;
范围:1-10。| +指令样例:带科目 + 二级题型 + 不显示开头 +样例目的:语文2题+数学2题+英语2题 ```json { - "fun": "continueKeyPadMultipleQuestionsLevel3", + "fun": "continueKeyPadMultipleQuestionsCourse", "baseId": 0, "params": { "examNo": 1, + "displayMode": 0, "questions": [{ "questionLevel1Symbol": "1", + "questionLevel2Symbol": "1", + "course": "1", "questionType": "1" }, { - "questionLevel1Symbol": "3", + "questionLevel1Symbol": "1", + "questionLevel2Symbol": "2", + "course": "1", "questionType": "2", "option": "5" }, { - "questionLevel1Symbol": "4", + "questionLevel1Symbol": "1", + "questionLevel2Symbol": "1", + "course": "2", + "questionType": "3" + }, { + "questionLevel1Symbol": "1", + "questionLevel2Symbol": "2", + "course": "2", + "questionType": "4" + }, { + "questionLevel1Symbol": "1", + "questionLevel2Symbol": "1", + "course": "3", "questionType": "3" }, { - "questionLevel1Symbol": "5", + "questionLevel1Symbol": "1", + "questionLevel2Symbol": "2", + "course": "3", "questionType": "4" }] }, @@ -2546,68 +2351,33 @@ params:{} } ``` -接收: - -fun: "KeyPadMultipleQuestionsLevel3" // -baseId: "1"//收到的基站ID -infos:{"state":"OK"}//返回状态,成功为OK - -指令样例: - -```json -{ - "fun": "KeyPadMultipleQuestionsLevel3", - "baseId": 1, - "infos": { - "state": "OK" - }, - "packetTag": "59" -} -``` - -##### 二级题型接口[无科目] - -发送: - -fun: "continueKeyPadMultipleQuestionsLevel3" //开始多题题型 -params:{} - -| **Json字段** | **字段含义** | **赋值及含义** | -| --- | --- | --- | -| examNo | 测验编号 | 1-9999 | -| questions | 题目详情 | 数组[最大200个单元] | - -题目详情数组参数说明 -| **Json字段** | **字段含义** | **赋值及含义** | -| --- | --- | --- | -| questionLevel1Symbol | 二级题号 | 1-99 | -| questionLevel2Symbol | 三级题号 | 1-99 | -| questionType | 题目类型 | 1:单选
2:多选(排序)
3:数字
4:判断 | -| option | 选项数目 | 当questionType = 1 有效。
当questionType = 2 有效。
此项缺省时 默认4;
范围:1-10。| +指令样例:带科目 + 一级题型 + 不显示开头 +样例目的:语文4题 ```json { - "fun": "continueKeyPadMultipleQuestionsLevel3", + "fun": "continueKeyPadMultipleQuestionsCourse", "baseId": 0, "params": { "examNo": 1, + "displayMode": 0, "questions": [{ "questionLevel1Symbol": "1", - "questionLevel2Symbol": "1", + "course": "1", "questionType": "1" }, { "questionLevel1Symbol": "2", - "questionLevel2Symbol": "3", + "course": "1", "questionType": "2", "option": "5" }, { - "questionLevel1Symbol": "2", - "questionLevel2Symbol": "4", + "questionLevel1Symbol": "3", + "course": "1", "questionType": "3" }, { - "questionLevel1Symbol": "2", - "questionLevel2Symbol": "5", + "questionLevel1Symbol": "4", + "course": "1", "questionType": "4" }] }, @@ -2615,73 +2385,63 @@ params:{} } ``` -接收: - -fun: "KeyPadMultipleQuestionsLevel3" // -baseId: "1"//收到的基站ID -infos:{"state":"OK"}//返回状态,成功为OK - -指令样例: - +指令样例:带科目 + 一级题型 + 显示“Q”开头 +样例目的:语文4题 ```json { - "fun": "KeyPadMultipleQuestionsLevel3", - "baseId": 1, - "infos": { - "state": "OK" + "fun": "continueKeyPadMultipleQuestionsCourse", + "baseId": 0, + "params": { + "examNo": 1, + "displayMode": 1, + "questions": [{ + "questionLevel1Symbol": "1", + "course": "1", + "questionType": "1" + }, { + "questionLevel1Symbol": "2", + "course": "1", + "questionType": "2", + "option": "5" + }, { + "questionLevel1Symbol": "3", + "course": "1", + "questionType": "3" + }, { + "questionLevel1Symbol": "4", + "course": "1", + "questionType": "4" + }] }, "packetTag": "59" } ``` -##### 三级题型接口[无科目] - -发送: - -fun: "continueKeyPadMultipleQuestionsLevel3" //开始多题题型 -params:{} - -| **Json字段** | **字段含义** | **赋值及含义** | -| --- | --- | --- | -| examNo | 测验编号 | 1-9999 | -| questions | 题目详情 | 数组[最大200个单元] | - -题目详情数组参数说明 - -| **Json字段** | **字段含义** | **赋值及含义** | -| --- | --- | --- | -| questionLevel1Symbol | 一级题号 | 1-99 | -| questionLevel2Symbol | 二级题号 | 1-99 | -| questionLevel3Symbol | 三级题号 | 1-99 | -| questionType | 题目类型 | 1:单选
2:多选(排序)
3:数字
4:判断 | -| option | 选项数目 | 当questionType = 1 有效。
当questionType = 2 有效。
此项缺省时 默认4;
范围:1-10。| - +指令样例:带科目 + 一级题型 + 显示“题”开头 +样例目的:语文4题 ```json { - "fun": "continueKeyPadMultipleQuestionsLevel3", + "fun": "continueKeyPadMultipleQuestionsCourse", "baseId": 0, "params": { "examNo": 1, + "displayMode": 2, "questions": [{ "questionLevel1Symbol": "1", - "questionLevel2Symbol": "1", - "questionLevel3Symbol": "1", + "course": "1", "questionType": "1" }, { - "questionLevel1Symbol": "1", - "questionLevel2Symbol": "2", - "questionLevel3Symbol": "3", + "questionLevel1Symbol": "2", + "course": "1", "questionType": "2", "option": "5" }, { - "questionLevel1Symbol": "1", - "questionLevel2Symbol": "2", - "questionLevel3Symbol": "4", + "questionLevel1Symbol": "3", + "course": "1", "questionType": "3" }, { - "questionLevel1Symbol": "1", - "questionLevel2Symbol": "2", - "questionLevel3Symbol": "5", + "questionLevel1Symbol": "4", + "course": "1", "questionType": "4" }] }, @@ -2691,7 +2451,7 @@ params:{} 接收: -fun: "KeyPadMultipleQuestionsLevel3" // +fun: "keyPadMultipleQuestionsCourse" // baseId: "1"//收到的基站ID infos:{"state":"OK"}//返回状态,成功为OK @@ -2699,7 +2459,7 @@ infos:{"state":"OK"}//返回状态,成功为OK ```json { - "fun": "KeyPadMultipleQuestionsLevel3", + "fun": "keyPadMultipleQuestionsCourse", "baseId": 1, "infos": { "state": "OK" @@ -2708,10 +2468,10 @@ infos:{"state":"OK"}//返回状态,成功为OK } ``` -##### 主观题接口 +##### 主观题分数输入接口 发送: -fun: "continueKeyPadMultipleQuestionsSubjective" //开始多题题型 +fun: "continueKeyPadMultipleQuestionsSubjective" //继续主观题分数输入 params:{} | **Json字段** | **字段含义** | **赋值及含义** | @@ -2724,7 +2484,7 @@ params:{} | **Json字段** | **字段含义** | **赋值及含义** | | --- | --- | --- | | questionLevel1Symbol | 一级题号 | 1-200 | -| toplimit | 数字上限 | 1-100 | +| toplimit | 数字上限 | 1-600 | | decimal | 小数位数 | 0:无效小数
1:一位小数
2:二位小数
此项缺省时默认是0。| ```json @@ -2756,7 +2516,7 @@ params:{} 接收: -fun: "KeyPadMultipleQuestionsSubjective" // +fun: "keyPadMultipleQuestionsSubjective" // baseId: "1"//收到的基站ID infos:{"state":"OK"}//返回状态,成功为OK @@ -2764,7 +2524,7 @@ infos:{"state":"OK"}//返回状态,成功为OK ```json { - "fun": "KeyPadMultipleQuestionsSubjective", + "fun": "keyPadMultipleQuestionsSubjective", "baseId": 1, "infos": { "state": "OK" @@ -2773,7 +2533,6 @@ infos:{"state":"OK"}//返回状态,成功为OK } ``` - #### 指定键盘转移作答内容 注意:此接口一次只能对一只键盘进行操作。 @@ -2899,278 +2658,294 @@ infos:{"state":"OK"}//返回状态,成功为OK 发送: -fun: \"startTextAnswer\" //开始填空题 - +fun: "startTextAnswer" //开始填空题 params:{} - ----------------- --------------- -------------------------------------- - Json字段 字段含义 赋值及含义 - - optionsMode 填空类型 1-任意输入(默认值) - - modifyMode 预留 1- (默认值) +| **Json字段** | **字段含义** | **赋值及含义** | +| --- | --- | --- | +| optionsMode | 填空类型 | 1-任意输入(默认值) | +| modifyMode | 预留 | 1- (默认值) | +| secrecyMode | 预留 | 0- (默认值) | - secrecyMode 预留 0- (默认值) - ----------------- --------------- -------------------------------------- 指令样例: -{\ -    \"fun\":\"startTextAnswer\", - -\"baseId\":0,\ -    \"params\":{\ -        \"optionsMode\":\"1\",\ -        \"modifyMode\":\"1\", - -\"secrecyMode\":\"0\"\ -    },\ -    \"packetTag\":\"1\"\ +```json +{ + "fun": "startTextAnswer", + "baseId": 0, + "params": { + "optionsMode": "1", + "modifyMode": "1", + "secrecyMode": "0" + }, + "packetTag": "1" } +``` 接收: -- fun: \"startTextAnswer \" //开始填空题 - -```{=html} - -``` -- baseId: \"1\"//接收到指令的基站ID - -- infos:{\"state\":\"OK\"}//返回状态,成功为OK +fun: "startTextAnswer " //开始填空题 +baseId: "1" //接收到指令的基站ID +infos:{"state":"OK"} //返回状态,成功为OK 指令样例: -{\ -    \"fun\":\"startTextAnswer\", - -\"baseId\":1,\ -  \"infos\":{\ -       \"state\":\"OK\"\ -    }, - -\"packetTag\":\"1\"\ +```json +{ + "fun": "startTextAnswer", + "baseId": 1, + "infos": { + "state": "OK" + }, + "packetTag": "1" } +``` #### 接收作答 接收: -fun: \"answerTextAnswer\" //填空题作答返回 - -baseId: \"1\"//接收到指令的基站ID - +fun: "answerTextAnswer" //填空题作答返回 +baseId: "1" //接收到指令的基站ID infos: {} - ----------------- --------------- -------------------------------------- - Json字段 字段含义 赋值及含义 - - keySn 键盘Sn +| **Json字段** | **字段含义** | **赋值及含义** | +| --- | --- | --- | +| keySn | 键盘Sn | | +| keyValue | 键值 | ABCD/1234/AA123 | - keyValue 键值 ABCD/1234/AA123 - ----------------- --------------- -------------------------------------- 指令样例: -{\ -    \"fun\":\"answerTextAnswer\",\ -    \"baseId\":1,\ -    \"infos\":{\ -        \"keySn\":\"1479824643\",\ -        \"keyValue\":\"1\"\ -    }, - - \"packetTag\":\"1\"\ +```json +{ + "fun": "answerTextAnswer", + "baseId": 1, + "infos": { + "keySn": "1479824643", + "keyValue": "1" + }, + "packetTag": "1" } +``` 发送: -fun: \"answerTextAnswer\" //填空题作答返回 - -baseId: \"1\"//接收的基站ID - +fun: "answerTextAnswer" //填空题作答返回 +baseId: "1"//接收的基站ID params:{} //为空 指令样例: -{\ -    \"fun\":\"answerTextAnswer\",\ -    \"baseId\":1,\ -    \"packetTag\":\"1\"\ +```json +{ + "fun": "answerTextAnswer", + "baseId": 1, + "packetTag": "1" } - +``` #### 停止作答 发送: -fun: \"stopTextAnswer\" //停止填空题 - +fun: "stopTextAnswer" //停止填空题 params:{} //默认空 指令样例: - -{\ -    \"fun\":\"stopTextAnswer\",\ -    \"packetTag\":\"1\"\ +```json +{ + "fun": "stopTextAnswer", + "packetTag": "1" } +``` 接收: -fun: \"stopTextAnswer\" //停止填空题 - -baseId: \"1\"//收到的基站ID - -infos:{\"state\":\"OK\"}//返回状态,成功为OK +fun: "stopTextAnswer" //停止填空题 +baseId: "1"//收到的基站ID +infos:{"state":"OK"}//返回状态,成功为OK 指令样例: - -{\ -    \"fun\":\"stopTextAnswer\",\ -    \"baseId\":1,\ -    \"infos\":{\ -          \"state\":\"OK\"\ -    },\ -    \"packetTag\":\"1\"\ +```json +{ + "fun": "stopTextAnswer", + "baseId": 1, + "infos": { + "state": "OK" + }, + "packetTag": "1" } +``` #### 支持设备说明 - ----------------------- ----------------------- ----------------------- - 基站+键盘 支持/不支持 备注 - - B100-2.4G+S6 支持 - - B200-2.4G+S6 支持 - - B200-5.8G+T2 不支持 - ----------------------- ----------------------- ----------------------- +| **基站+键盘** | **支持** | **备注** | +| --- | --- | --- | +| B100-2.4G+S6 | 支持 | | +| B200-2.4G+S6 | 支持 | | -### 异步测验模式 +### 自由题型 #### 开始作答 发送: -fun: \"startTestMode\" //开始异步测验模式 - +fun: "startFreeQuestion" //开始填空题 params:{} - ----------------- --------------- -------------------------------------- - Json字段 字段含义 赋值及含义 +指令样例: + +```json +{ + "fun": "startFreeQuestion", + "baseId": 0, + "params": {}, + "packetTag": "1" +} +``` - optionsMode 测验类型 11-自动测验模式(默认值) +接收: - testNum 测验题数量 1 - 100 - ----------------- --------------- -------------------------------------- +fun: "startFreeQuestion " //开始自由题型 +baseId: "1" //接收到指令的基站ID +infos:{"state":"OK"} //返回状态,成功为OK 指令样例: -{\ -    \"fun\":\"startTestMode\", - -\"baseId\":0,\ -    \"params\":{\ -        \"optionsMode\":\"11\",\ -        \"testNum\":\"5\"\ -    },\ -    \"packetTag\":\"1\"\ +```json +{ + "fun": "startFreeQuestion", + "baseId": 1, + "infos": { + "state": "OK" + }, + "packetTag": "1" } +``` -接收: +#### 接收作答 -- fun: \"startTestMode\" //开始异步测验模式 +接收: +接收作答数据有键盘提交决定分为:选择题、判断题和数字题三个类型 -```{=html} - -``` -- baseId: \"1\"//接收到指令的基站ID +选择题: +fun: "answerChoices" //自由题型作答返回 +baseId: "1"//接收到指令的基站ID +infos: {} -- infos:{\"state\":\"OK\"}//返回状态,成功为OK -指令样例: +| **Json字段** | **字段含义** | **赋值及含义** | +| --- | --- | --- | +| time | 答题时间 |单位秒 | +| keySn | 键盘Sn | | +| keyValue | 键值 | ABCD/1234/AA123 | -{\ -    \"fun\":\"startTestMode\", -\"baseId\":1,\ -  \"infos\":{\ -       \"state\":\"OK\"\ -    }, +指令样例: -\"packetTag\":\"1\"\ +```json +{ + "fun": "answerChoices", + "baseId": 1, + "infos": { + "keySn": "1479824643", + "keyValue": "ABC" + }, + "packetTag": "0" } +``` -#### 接收作答 +判断题: +fun: "answerTrueFalse" //自由题型作答返回 +baseId: "1"//接收到指令的基站ID +infos: {} -接收: +| **Json字段** | **字段含义** | **赋值及含义** | +| --- | --- | --- | +| time | 答题时间 |单位秒 | +| keySn | 键盘Sn | | +| keyValue | 键值 |1~2| -fun: \"answerTestMode\" //异步测验模式返回 +指令样例: -baseId: \"1\"//接收到指令的基站ID +```json +{ + "fun": "answerTrueFalse", + "baseId": 1, + "infos": { + "keySn": "1479824643", + "keyValue": "1" + }, + "packetTag": "0" +} +``` +数字题: +fun: "answerNumber" //自由题型作答返回 +baseId: "1"//接收到指令的基站ID +infos: {} -infos: {} +| **Json字段** | **字段含义** | **赋值及含义** | +| --- | --- | --- | +| time | 答题时间 |单位秒 | +| keySn | 键盘Sn | | +| keyValue | 键值 |键盘提交的值| 指令样例: -{\ -    \"fun\":\"answerTestMode\",\ -    \"baseId\":1,\ -    \"infos\":{\ -        \"time\":\"5.42\",\ -        \"keySn\":\"1479824643\", +```json +{ + "fun": "answerNumber", + "baseId": 1, + "infos": { + "keySn": "1479824643", + "keyValue": "99.99" + }, + "packetTag": "0" +} +``` -  \"seq\":\"1\",\ -        \"keyValue\":\"A\"\ -    }, - \"packetTag\":\"1\"\ -} #### 停止作答 发送: - -fun: \"stopTestMode\" //停止异步测验模式 - +fun: "stopFreeQuestion" //停止自由题型 params:{} //默认空 -指令样例: -{\ -    \"fun\":\"stopTestMode\",\ -    \"packetTag\":\"1\"\ +指令样例: +```json +{ + "fun": "stopFreeQuestion", + "packetTag": "1" } +``` 接收: -fun: \"stopTestMode\" //停止异步测验模式 - -baseId: \"1\"//收到的基站ID - -infos:{\"state\":\"OK\"}//返回状态,成功为OK +fun: "stopFreeQuestion" //停止自由题型 +baseId: "1"//收到的基站ID +infos:{"state":"OK"}//返回状态,成功为OK 指令样例: - -{\ -    \"fun\":\"stopTestMode\",\ -    \"baseId\":1,\ -    \"infos\":{\ -          \"state\":\"OK\"\ -    },\ -    \"packetTag\":\"1\"\ +```json +{ + "fun": "stopFreeQuestion", + "baseId": 1, + "infos": { + "state": "OK" + }, + "packetTag": "1" } +``` #### 支持设备说明 - ----------------------- ----------------------- ----------------------- - 基站+键盘 支持/不支持 备注 - - B100-2.4G+S6 支持 - - B200-2.4G+S6 支持 +| **基站+键盘** | **支持** | **备注** | +| --- | --- | --- | +| B200-2.4G+S6 | 支持 |需要指定键盘支持| - B200-5.8G+T2 不支持 - ----------------------- ----------------------- ----------------------- ### 自定义题型 @@ -3178,891 +2953,473 @@ infos:{\"state\":\"OK\"}//返回状态,成功为OK 发送: -fun: \"startKeyPadCustomQuestions\" //开始 - +fun: "startKeyPadCustomQuestions" //开始 params:{} -+-----------------+------------+--------------------------------------+ -| Json字段 | | 赋值及含义 | -| | 字段含义 | | -+-----------------+------------+--------------------------------------+ -| titleTable | 题目表 | 数组 | -| | | | -| | | 字符串 | -+-----------------+------------+--------------------------------------+ -| optionTable | 选项表 | 数组 | -| | | | -| | | \"A,B,C,D\" \[默认\] | -| | | | -| | | \" 1,2,3,4 \" | -| | | | -| | | \" 对,错 \" | -| | | | -| | | \" √,× \" | -| | | | -| | | \" 同意,反对,弃权 \" | -+-----------------+------------+--------------------------------------+ -| ruleTable | 规则表 | 数组\[内容请参考"规则字段解释"\] | -+-----------------+------------+--------------------------------------+ -| permissionTable | 许可权限表 | 数组 | -+-----------------+------------+--------------------------------------+ -| .permission | 许可权限 | 0:无\[默认\] | -| | | | -| | | 1: 允许 | -| | | | -| | | 2: 禁止 | -+-----------------+------------+--------------------------------------+ -| .KeySnList | 键盘列表 | 1479824 | -| | | 643,1479824644,1479824645,1479824646 | -+-----------------+------------+--------------------------------------+ -| configTable | 配置表 | 数组 | -+-----------------+------------+--------------------------------------+ -| .number | 题编号 | 1-200 | -+-----------------+------------+--------------------------------------+ -| .titleID | 题目表ID | 1-200 | -+-----------------+------------+--------------------------------------+ -| .optionID | 选项表ID | 1-200 | -+-----------------+------------+--------------------------------------+ -| .ruleID | 规则表ID | 1-200 | -+-----------------+------------+--------------------------------------+ -| .permissionID | 许 | 1-200 | -| | 可权限表ID | | -+-----------------+------------+--------------------------------------+ - -规则字段解释: - -规则类型1: - - ------------------ -------------------- --------------------------------------- - Json字段 字段含义 赋值及含义 - - .ruleType 规则类型 1 - - .mode 模式 0 默认(单选选择)\ - 1 纯数字组合 - ,包含(上下键做负号与点号)\ - 2 填空自由组合,键盘自己实现输入方式\ - 3 多小题显示格式\ - 4 批次表决、批次评议\ - 5 批次评分\ - 6 名单选举\ - 7 累计投票、股权投票 +| **Json字段** | **字段含义** | **赋值及含义** | +| --- | --- | --- | +|titleTable| 题目表 |数组[字符串]| +| optionTable | 选项表 |数组
"A,B,C,D" [默认]
" 1,2,3,4 "
" 对,错 "
" √,× "
" 同意,反对,弃权 "| +|ruleTable| 规则表 |数组[内容请参考“规则字段解释”]| +|permissionTable| 许可权限表 |数组| +|configTable| 配置表 |数组| - .modifyMode 修改模式 0-不可修改 1-可修改,默认 1 +许可权限表结构表说明 +| **Json字段** | **字段含义** | **赋值及含义** | +| --- | --- | --- | +|permission| 许可权限 |0:无[默认]
1: 允许
2: 禁止| +|KeySnList| 键盘列表 |数组
"1479824643"
"1479824644"
"1479824645"
"1479824646"| - .secrecyMode 保密模式 0-不保密 1-保密,默认 0 - .lessMode 迫选模式 0 不迫选 1 迫选,默认 0 +配置表结构表说明 +| **Json字段** | **字段含义** | **赋值及含义** | +| --- | --- | --- | +|ruleType| 题编号 |1-200| +|titleID|题目表ID|1-200| +|optionID|选项表ID|1-200| +|ruleID|规则表ID|1-200| +|permissionID|许可权限表ID|1-200| - .repeat 重复模式 0 不限制 1 单个选项只能选一次,默认 0 +规则字段解释: +规则类型1: - .sort 自动排序 0 保留输入顺序,1 选项自动排序,默认 1 +| **Json字段** | **字段含义** | **赋值及含义** | +| --- | --- | --- | +|ruleType| 规则类型 |1| +|mode|模式|0 默认(单选选择)
1 纯数字组合 ,包含(上下键做负号与点号)
2 填空自由组合,键盘自己实现输入方式
3 多小题显示格式
4 批次表决、批次评议
5 批次评分
6 名单选举
7 累计投票、股权投票| +|modifyMode|修改模式|0-不可修改
1-可修改,默认| +|secrecyMode|保密模式|0-不保密,默认
1-保密| +|lessMode|迫选模式|0 不迫选,默认
1 迫选| +|repeat|重复模式|0 不限制,默认 1 单个选项只能选一次| +|sort|自动排序|0 保留输入顺序,1 选项自动排序,默认| +|max|最大可选人数|| +|min|最小可选人数|| +|maximum|最大可供选择项目数|1-10| +|maxOptions|可选出数目|最小值是1,最大值不超出maximum| +|topLimit|数字上限|浮点数格式的字符串| +|lowerLimit|数字下限|浮点数格式的字符串| - .max 最大可选人数 +规则类型2: - .min 最小可选人数 +| **Json字段** | **字段含义** | **赋值及含义** | +| --- | --- | --- | +|ruleType| 规则类型 |2| +|mode|模式|0 默认(选择)| +|modifyMode|修改模式|0-不可修改
1-可修改,默认| +|secrecyMode|保密模式|0-不保密,默认
1-保密| +|lessMode|迫选模式|0 不迫选,默认
1 迫选| +|repeat|重复模式|0 不限制,默认 1 单个选项只能选一次| +|sort|自动排序|0 保留输入顺序,1 选项自动排序,默认| +|max|最大可选人数|| +|min|最小可选人数|| +|retain|保留数字|数组 范围000-999| +|range|数字范围|数组| + +数字范围数据结构 +| **Json字段** | **字段含义** | **赋值及含义** | +| --- | --- | --- | +|rangeStart|数字范围开始|浮点数格式的字符串| +|rangeEnd|数字范围结束|浮点数格式的字符串| - .maximum 最大可供选择项目数 1-10 - .maxOptions 可选出数目 最小值是1,最大值不超出maximum - - . topLimit 数字上限 浮点数格式的字符串 - - . lowerLimit 数字下限 浮点数式的字符串 - ------------------ -------------------- --------------------------------------- - -规则类型2: - - ------------------ -------------- --------------------------------------- - Json字段 字段含义 赋值及含义 - - .ruleType 规则类型 2 - - .mode 模式 0 默认(选择) - - .modifyMode 修改模式 0-不可修改 1-可修改,默认 1 - - .secrecyMode 保密模式 0-不保密 1-保密,默认 0 - - .lessMode 迫选模式 0 不迫选 1 迫选,默认 0 - - . repeat 重复模式 0 不限制 1 单个选项只能选一次,默认 0 - - . sort 自动排序 0 保留输入顺序,1 选项自动排序,默认 1 - - .max 最大可选人数 - - .min 最小可选人数 - - .retain 保留数字 数组 范围000-999 - - .range 数字范围 数组 - - ..rangeStart 数字范围开始 - - ..rangeEnd 数字范围结束 - ------------------ -------------- --------------------------------------- 指令样例: - -{ - -\"fun\": \"startKeyPadCustomQuestions\", - -\"baseId\": 0, - -\"params\": { - -\"titleTable\": \[\"单选题\", \"数字表决\"\], - -\"optionTable\": \[ - -\[\"A\", \"B\", \"C\", \"D\"\], - -\[\"同意\", \"反对\", \"弃权\"\] - -\], - -\"ruleTable\": \[{ - -\"ruleType\": \"1\", - -\"mode\": \"0\", - -\"modifyMode\": \"0\", - -\"secrecyMode\": \"0\", - -\"lessMode\": \"0\", - -\"repeat\": \"0\", - -\"sort\": \"1\", - -\"max\": \"4\", - -\"min\": \"1\", - -\"maximum\": \"4\", - -\"maxOptions\": \"1\", - -\"topLimit\": \"100.0\", - -\"lowerLimit\": \"0.1\" - -}, - -{ - -\"ruleType\": \"2\", - -\"mode\": \"0\", - -\"modifyMode\": \"0\", - -\"secrecyMode\": \"0\", - -\"lessMode\": \"0\", - -\"repeat\": \"0\", - -\"sort\": \"1\", - -\"max\": \"4\", - -\"min\": \"1\", - -\"retain\": \[\"777\", \"999\"\], - -\"range\": \[{ - -\"rangeStart\": \"1\", - -\"rangeEnd\": \"100\" - -}, { - -\"rangeStart\": \"101\", - -\"rangeEnd\": \"200\" - -}, { - -\"rangeStart\": \"201\", - -\"rangeEnd\": \"300\" - -}\] - -} - -\], - -\"permissionTable\": \[{ - -\"permission\": \"2\", - -\"keySnList\": \[\"1479824643\", \"1479824644\", \"1479824645\", -\"1479824646\"\] - -}, - -{ - -\"permission\": \"1\", - -\"keySnList\": \[\"1479824643\", \"1479824644\", \"1479824645\", -\"1479824646\"\] - -} - -\], - -\"configTable\": \[{ - -\"number\": \"1\", - -\"titleID\": \"1\", - -\"optionID\": \"1\", - -\"ruleID\": \"1\", - -\"permissionID\": \"0\" - -}, - -{ - -\"number\": \"2\", - -\"titleID\": \"2\", - -\"optionID\": \"2\", - -\"ruleID\": \"2\", - -\"permissionID\": \"0\" - -} - -\] - -}, - -\"packetTag\": \"59\" - -} - -接收: - -fun: \"startKeyPadMultipleQuestions\" //开始多题题型 - -baseId: \"1\"//接收到指令的基站ID - -infos:{\"state\":\"OK\"}//返回状态,成功为OK - -指令样例: - +```json { + "fun": "startKeyPadCustomQuestions", + "baseId": 0, + "params": { + "titleTable": ["单选题", "数字表决"], + "optionTable": [ + ["A", "B", "C", "D"], + ["同意", "反对", "弃权"] + ], + "ruleTable": [{ + "ruleType": "1", + "mode": "0", + "modifyMode": "0", + "secrecyMode": "0", + "lessMode": "0", + "repeat": "0", + "sort": "1", + "max": "4", + "min": "1", + "maximum": "4", + "maxOptions": "1", + "topLimit": "100.0", + "lowerLimit": "0.1" + }, + { + "ruleType": "2", + "mode": "0", + "modifyMode": "0", + "secrecyMode": "0", + "lessMode": "0", + "repeat": "0", + "sort": "1", + "max": "4", + "min": "1", + "retain": ["777", "999"], + "range": [{ + "rangeStart": "1", + "rangeEnd": "100" + }, { + "rangeStart": "101", + "rangeEnd": "200" + }, { + "rangeStart": "201", + "rangeEnd": "300" + }] + } + ], + "permissionTable": [{ + "permission": "2", + "keySnList": ["1479824643", "1479824644", "1479824645", "1479824646"] + }, + { + "permission": "1", + "keySnList": ["1479824643", "1479824644", "1479824645", "1479824646"] + } + ], + "configTable": [{ + "number": "1", + "titleID": "1", + "optionID": "1", + "ruleID": "1", + "permissionID": "0" + }, + { + "number": "2", + "titleID": "2", + "optionID": "2", + "ruleID": "2", + "permissionID": "0" + } + ] + }, + "packetTag": "59" +} +``` -\"baseId\": 1, - -\"fun\": \"startKeyPadMultipleQuestions\", - -\"infos\": { - -\"state\": \"OK\" - -}, - -\"packetTag\": \"59\" - -} - -#### 接收作答 - -接收: - -fun: \"answerKeyPadCustomQuestions\" //自定义题型返回 - -baseId: \"1\"//接收到指令的基站ID - -infos: {} - - ----------------- --------------- -------------------------------------- - Json字段 字段含义 赋值及含义 - - Time 答题时间 \[time/5=实际时间\] - 单位秒,20分钟内有效 - - keySn 键盘Sn - - Seq 题序号 - - keyValue 键值 键盘提交的值 - ----------------- --------------- -------------------------------------- - -指令样例: - -{\ -    \"fun\":\"answerKeyPadCustomQuestions\",\ -    \"baseId\":1,\ -    \"infos\":{\ -        \"time\":\"5.42\",\ -        \"keySn\":\"1479824643\", - -  \"seq\":\"1\",\ -        \"keyValue\":\"12\"\ -    }, - - \"packetTag\":\"1\"\ -} - -#### 退出作答 - -发送: - -fun: \"stopKeyPadCustomQuestions\" //停止多题题型 - -params:{} //默认空 - -指令样例: - -{\ -    \"fun\":\"stopKeyPadCustomQuestions\", - -\"baseId\":0,\ -    \"packetTag\":\"1\"\ -} - -接收: - -fun: \"stopKeyPadCustomQuestions\" //停止键盘测试 - -baseId: \"1\"//收到的基站ID - -infos:{\"state\":\"OK\"}//返回状态,成功为OK - -指令样例: - -{\ -    \"fun\":\"stopKeyPadCustomQuestions\",\ -    \"baseId\":1,\ -    \"infos\":{\ -          \"state\":\"OK\"\ -    },\ -    \"packetTag\":\"1\"\ -} - -#### 支持设备说明 - - ----------------------- ----------------------- ----------------------- - 基站+键盘 支持/不支持 备注 - - B100-2.4G+S6 不支持 - - B200-2.4G+S6 不支持 - - B200-5.8G+T2 不支持 - - B200-2.4G+M6 支持 - ----------------------- ----------------------- ----------------------- - -### 自由题型 - -#### 开始作答 - -发送: - -fun: \"startFreeQuestion\" //开始自由题型 - -params:{} - -指令样例: - -{\ -    \"fun\":\"startFreeQuestion\", - -\"baseId\":0,\ -    \"params\":{}, - -\"packetTag\":\"1\"\ -} - -接收: - -fun: \"startChoices\" //开始自由题型 - -baseId: \"1\"//接收到指令的基站ID - -infos:{\"state\":\"OK\"}//返回状态,成功为OK - -指令样例: - -{\ -    \"fun\":\"startFreeQuestion\",\ -    \"baseId\":1,\ -    \"infos\":{\ -        \"state\":\"OK\"\ -    },\ -    \"packetTag\":\"1\"\ -} - -#### 接收作答 - -接收: - -接收作答数据有键盘提交决定分为:选择题、判断题和数字题三个类型 - -选择题: - -fun: \"answerChoices\" //自由题型作答返回 - -baseId: \"1\"//接收到指令的基站ID - -infos: {} - -+----------------+--------------+-------------------------------------+ -| Json字段 | 字段含义 | 赋值及含义 | -+----------------+--------------+-------------------------------------+ -| time | 答题时间 | 单位秒 | -+----------------+--------------+-------------------------------------+ -| keySn | 键盘Sn | | -+----------------+--------------+-------------------------------------+ -| keyValue | 键值 | A | -| | | | -| | | ABC | -| | | | -| | | AABB | -| | | | -| | | CBA | -+----------------+--------------+-------------------------------------+ - -指令样例: - -{\ -    \"fun\":\"answerChoices\",\ -    \"baseId\":1,\ -    \"infos\":{\ -        \"keySn\":\"1479824643\",\ -        \"keyValue\":\"ABC\"\ -    },\ -    \"packetTag\":\"0\"\ -} - -判断题: - -fun: \"answerTrueFalse\" //自由题型作答返回 - -baseId: \"1\"//接收到指令的基站ID - -infos: {} - - ----------------- --------------- -------------------------------------- - Json字段 字段含义 赋值及含义 - - time 答题时间 单位秒 - - keySn 键盘Sn - - keyValue 键值 1\~2 - ----------------- --------------- -------------------------------------- - -指令样例: - -{\ -    \"fun\":\" answerTrueFalse\",\ -    \"baseId\":1,\ -    \"infos\":{\ -        \"keySn\":\"1479824643\",\ -        \"keyValue\":\"1\"\ -    },\ -    \"packetTag\":\"0\"\ -} - -数字题: - -fun: \"answerNumber\" //自由题型作答返回 - -baseId: \"1\"//接收到指令的基站ID - -infos: {} - - ----------------- --------------- -------------------------------------- - Json字段 字段含义 赋值及含义 - - time 答题时间 单位秒 - - keySn 键盘Sn - - keyValue 键值 键盘提交的值 - ----------------- --------------- -------------------------------------- - -指令样例: - -{\ -    \"fun\":\"answerNumber\",\ -    \"baseId\":1,\ -    \"infos\":{\ -        \"keySn\":\"1479824643\",\ -        \"keyValue\":\"99.99\"\ -    },\ -    \"packetTag\":\"0\"\ -} - -#### 停止作答 - -发送: - -fun: \"stopFreeQuestion\" //停止自由题型 - -params:{} //默认空 - -指令样例: - -{\ -    \"fun\":\"stopFreeQuestion\", - -\"baseId\":0,\ -    \"packetTag\":\"1\"\ -} - -接收: - -fun: \"stopFreeQuestion\" //停止自由题型 - -baseId: \"1\"//收到的基站ID - -infos:{\"state\":\"OK\"}//返回状态,成功为OK - -指令样例: - -{\ -    \"fun\":\" stopFreeQuestion \",\ -    \"baseId\":1,\ -    \"infos\":{\ -          \"state\":\"OK\"\ -    },\ -    \"packetTag\":\"1\"\ -} - -#### 支持设备说明 - - ----------------------- ----------------------- ----------------------- - 基站+键盘 支持/不支持 备注 - - B100-2.4G+S6 不支持 - - B200-2.4G+S6 支持 - - B200-5.8G+T2 不支持 - ----------------------- ----------------------- ----------------------- - -## NFC刷卡 - -刷卡流程: - -刷卡后可以将键盘和基站自动完成配对。当需要刷卡绑定时应用软件先给基站发送一个键盘的姓名,键盘靠近基站感应区就会直接绑定当前数据并返回状态给应用。绑定成功后应用再发送下一个键盘的绑定信息,依次循环来绑定多个。 - -### 写刷卡数据 - -发送: - -fun: \"writeNFCInfo\" //写NFC绑定数据 - -baseId: 1//1\~32 (键盘所连基站ID) - -params:{}// - - ----------------- --------------- -------------------------------------- - Json字段 字段含义 赋值及含义 - - userName 姓名 最多24个汉字(48个字符), - 键盘左上角显示 - - matchCode 配对码 四字节 十六进制显示 - ----------------- --------------- -------------------------------------- - -指令样例: - -{\ -    \"fun\":\"writeNFCInfo\", +接收: - \"baseId\":1,\ -    \"params\":{\ -        \"userName\":\"张三\", +fun: "startKeyPadCustomQuestions" //开始自定义题型 +baseId: "1"//接收到指令的基站ID +infos:{"state":"OK"}//返回状态,成功为OK -\"matchCode\":\"22120007\" +指令样例: -},\ -    \"packetTag\":\"1\"\ +```json +{ + "baseId": 1, + "fun": "startKeyPadCustomQuestions", + "infos": { + "state": "OK" + }, + "packetTag": "59" } +``` -### 刷卡绑定反馈 +#### 接收作答 接收: -fun: \"NFCInfo\" //NFC绑定数据 +fun: "answerKeyPadCustomQuestions" //自定义题型返回 +baseId: "1"//接收到指令的基站ID +infos: {} -baseId: \"1\"//键盘所连基站ID +数字范围数据结构 +| **Json字段** | **字段含义** | **赋值及含义** | +| --- | --- | --- | +|Time|答题时间|单位秒| +|keySn|键盘Sn|| +|Seq|题序号|| +|keyValue|键值|键盘提交的值| -infos:{} -+----------------+--------------+-------------------------------------+ -| Json字段 | 字段含义 | 赋值及含义 | -+----------------+--------------+-------------------------------------+ -| keySn | 键盘Sn | | -+----------------+--------------+-------------------------------------+ -| state | 状态 | 1 预留 | -| | | | -| | | 2 基站报告正常刷卡的键盘SN | -| | | | -| | | 3 预留 | -| | | | -| | | 4 刷卡写指定配对码消息 | -+----------------+--------------+-------------------------------------+ -| number | 数量 | 预留 | -+----------------+--------------+-------------------------------------+ 指令样例: - -{\ -    \"fun\":\"NFCInfo\",\ -    \"baseId\":1,\ -    \"infos\": {\ -            \"keySn\":\"1479824643\",\ -            \"state\":\"4\", - -            \"number\":\"0\"\ -        } ,\ -    \"packetTag\":\"1\"\ +```json +{ + "fun": "answerKeyPadCustomQuestions", + "baseId": 1, + "infos": { + "time": "5.42", + "keySn": "1479824643", + "seq": "1", + "keyValue": "12" + }, + "packetTag": "1" } +``` -### NFC数据清除指令 -发送: +#### 退出作答 -fun: \"writeNFCEmpty\" //写NFC绑定数据 +发送: -baseId: 1//1\~32 (键盘所连基站ID) +fun: "stopKeyPadCustomQuestions" //停止多题题型 +params:{} //默认空 -params:{}// 指令样例: +```json +{ + "fun": "stopKeyPadCustomQuestions", + "baseId": 0, + "packetTag": "1" +} +``` -{\ -    \"fun\":\"writeNFCEmpty\", -  \"baseId\":1,\ -    \"params\":{},\ -    \"packetTag\":\"1\"\ -} +接收: +fun: "stopKeyPadCustomQuestions" //停止键盘测试 +baseId: "1"//收到的基站ID +infos:{"state":"OK"}//返回状态,成功为OK -### 支持设备说明 - ----------------------- ----------------------- ----------------------- - 基站+键盘 支持/不支持 备注 +指令样例: +```json +{ + "fun": "stopKeyPadCustomQuestions", + "baseId": 1, + "infos": { + "state": "OK" + }, + "packetTag": "1" +} +``` - B100-2.4G+S6 不支持 - B200-2.4G+S6 支持 带NFC键盘有效 +#### 支持设备说明 +| **基站+键盘** | **支持** | **备注** | +| --- | --- | --- | +| B200-2.4G+M6 | 支持 |需要指定键盘支持| - B200-5.8G+T2 不支持 - ----------------------- ----------------------- ----------------------- -## 硬件参数 -硬件的读写操作返回数据都是相同的,具体值参见写指令的value -### 基站 +## NFC刷卡 -#### 基站编号 +刷卡流程: -读 +刷卡后可以将键盘和基站自动完成配对。当需要刷卡绑定时应用软件先给基站发送一个键盘的姓名,键盘靠近基站感应区就会直接绑定当前数据并返回状态给应用。绑定成功后应用再发送下一个键盘的绑定信息,依次循环来绑定多个。 + +### 写刷卡数据 发送: -fun: \"readBaseStationID\" //读基站编号 +fun: "writeNFCInfo" //写NFC绑定数据 +baseId: 1//1~32 (键盘所连基站ID) +params:{}// + +| **Json字段** | **字段含义** | **赋值及含义** | +| --- | --- | --- | +|userName|姓名|最多24个汉字(48个字符),键盘左上角显示| +|matchCode|配对码|四字节 十六进制显示| -baseId: 0//0\~32 (指令不发送baseID,默认为0表示读取所有在线基站) -params:{}//可不填 指令样例: -{\ -    \"fun\":\"readBaseStationID\",\ -    \"baseId\":0,\ -    \"packetTag\":\"1\"\ +```json +{ + "fun": "writeNFCInfo", + "baseId": 1, + "params": { + "userName": "张三", + "matchCode": "22120007" + }, + "packetTag": "1" } +``` -返回 +### 刷卡绑定反馈 接收: +fun: "NFCInfo" //NFC绑定数据 +baseId: "1"//键盘所连基站ID +infos:{} -fun: \"baseStationID\" - -baseId: \"2\"//基站ID +| **Json字段** | **字段含义** | **赋值及含义** | +| --- | --- | --- | +|keySn|键盘Sn|| +|state|状态|1 预留
2 基站报告正常刷卡的键盘SN
3 预留
4 刷卡写指定配对码消息| +|number|数量|预留| -infos:{\"value\":\"OK\"}//返回基站在线 -指令样例1: +指令样例: +```json { + "fun": "NFCInfo", + "baseId": 1, + "infos": { + "keySn": "1479824643", + "state": "4", + "number": "0" + }, + "packetTag": "1" +} +``` -\"baseId\": 1, - -\"fun\": \"connectBase\", -\"infos\": { +### NFC数据清除指令 -\"value\": \"OK\" +发送: +fun: "writeNFCEmpty" //写NFC绑定数据 +baseId: 1//1~32 (键盘所连基站ID) +params:{}// -}, -\"packetTag\": \"1\" +指令样例: +```json +{ + "fun": "writeNFCEmpty", + "baseId": 1, + "params": {}, + "packetTag": "1" } +``` -指令样例2: +#### 支持设备说明 +| **基站+键盘** | **支持** | **备注** | +| --- | --- | --- | +| B200-2.4G+S6 | 支持 |带NFC键盘有效| -{ + +## 硬件参数 -\"baseId\": 2, +硬件的读写操作返回数据都是相同的,具体值参见写指令的value -\"fun\": \"connectBase\", +### 基站 -\"infos\": { +#### 基站编号 -\"value\": \"OK\" +读 -}, +发送: +fun: "readBaseStationID" //读基站编号 +baseId: 1//1~32 +params:{}//可不填 -\"packetTag\": \"1\" -} 指令样例: - -{\ -    \"fun\":\"readBaseStationID\",\ -    \"baseId\":2,\ -    \"packetTag\":\"1\"\ +```json +{ + "fun": "readBaseStationID", + "baseId": 2, + "packetTag": "1" } +``` 返回 - 接收: - -fun: \"baseStationID\" - -baseId: \"2\"//基站ID - -infos:{\"value\":\"2\"}//返回基站ID - +fun: "baseStationID" +baseId: "2"//基站ID +infos:{"value":"2"}//返回基站ID 指令样例: -{\ -    \"fun\":\"baseStationID\",\ -    \"baseId\":2,\ -     \"infos\":{ -\"pathAdd\":\"12345\",\ -        \"value\":\"2\"\ -    }, +指令样例: - \"packetTag\":\"1\"}\ +```json +{ + "fun": "baseStationID", + "baseId": 2, + "infos": { + "pathAdd": "12345", + "value": "2" + }, + "packetTag": "1" } - +``` 支持设备说明 +| **基站+键盘** | **支持** | **备注** | +| --- | --- | --- | +| B100-2.4G+S6 | 支持 || +| B200-2.4G+S6 | 支持 || +| B200-5.8G+T2 | 支持 || - ----------------------- ----------------------- ----------------------- - 基站+键盘 支持/不支持 备注 - - B100-2.4G+S6 支持 - - B200-2.4G+S6 支持 - - B200-5.8G+T2 支持 - ----------------------- ----------------------- ----------------------- #### 基站频点 读 发送: - -fun: \"readBaseStationChannel\" //读基站频点 - -baseId: 0//0\~32 (默认为0表示读取所有基站) - +fun: "readBaseStationChannel" //读基站频点 +baseId: 0//0~32 (默认为0表示读取所有基站) params:{}//可不填 + 指令样例: -{\ -    \"fun\":\"readBaseStationChannel\",\ -    \"baseId\":0,\ -    \"packetTag\":\"1\"\ +```json +{ + "fun": "readBaseStationChannel", + "baseId": 0, + "packetTag": "1" } +``` 写 发送: +发送: +fun: "writeBaseStationChannel" //写基站频点 +baseId: 1//1~32 (必须指定基站) +params:{"value":"1"}//1~12 (频点) -fun: \"writeBaseStationChannel\" //写基站频点 - -baseId: 1//1\~32 (必须指定基站) +| **Json字段** | **字段含义** | **赋值及含义** | +| --- | --- | --- | +|value|基站频点|单频点基站有效| +|values|基站频点|多频点基站有效| -params:{\"value\":\"1\"}//1\~12 (频点) 指令样例: -{\ -    \"fun\":\"writeBaseStationChannel\",\ -    \"baseId\":1,\ -    \"params\":{\ -        \"value\":\"3\"\ -    }, - - \"packetTag\":\"1\"\ +```json +{ + "fun": "writeBaseStationChannel", + "baseId": 1, + "params": { + "value": "3", + "values": ["3", "6", "9", "12"] + }, + "packetTag": "1" } +``` 返回 接收: - -fun: \"baseStationChannel\" - +fun: "baseStationChannel" baseId: 1//基站ID +infos:{"value":"3"}//返回基站频点值 -infos:{\"value\":\"3\"}//返回基站频点值 指令样例: -{\ -    \"fun\":\"baseStationChannel\",\ -    \"baseId\":1,\ -     \"infos\":{\ -        \"value\":\"3\"\ -    }, - - \"packetTag\":\"1\"\ +```json +{ + "fun": "baseStationChannel", + "baseId": 1, + "infos": { + "value": "3", + "values": ["3", "6", "9", "12"] + }, + "packetTag": "1" } +``` 支持设备说明 - - ----------------------- ----------------------- ----------------------- - 基站+键盘 支持/不支持 备注 - - B100-2.4G+S6 支持 - - B200-2.4G+S6 支持 - - B200-5.8G+T2 支持 - ----------------------- ----------------------- ----------------------- +| **基站+键盘** | **支持** | **备注** | +| --- | --- | --- | +|B200-2.4GS+S6|支持单频点|频率范围1~80| +|B200-2.4GM+S6|支持多频点|频率范围1~80| +|B200-5.8G+T2|支持单频点|频率范围1~12| #### 键盘登录菜单显示