Commit 8f1e1743e8b04691691d7980620930407500085d

Authored by DMchen
1 parent 1626a5cb

1.SDK应用部分更新。

Showing 1 changed file with 900 additions and 1543 deletions
通讯协议-SDK应用部分.md
... ... @@ -307,7 +307,7 @@ params:{} //无该值
307 307  
308 308 注意:B200支持此命令
309 309  
310   -## 7.3答题
  310 +## 答题
311 311  
312 312 答题流程:
313 313  
... ... @@ -1528,18 +1528,17 @@ infos:{"state":"OK"}//返回状态,成功为OK
1528 1528 ### 多题题型
1529 1529 #### 开始测试
1530 1530  
1531   -
1532   -##### 一级题型接口[有科目 + 题/Q开头]
  1531 +##### 在线测验题型接口
1533 1532  
1534 1533 发送:
1535 1534  
1536   -fun: "startKeyPadMultipleQuestionsLevel1Course" //开始多题题型
  1535 +fun: "startKeyPadMultipleQuestionsTest" //开始在线测验题型
1537 1536 params:{}
1538 1537  
1539 1538 | **Json字段** | **字段含义** | **赋值及含义** |
1540 1539 | --- | --- | --- |
1541   -| examNo | 测验编号 | 1-9999 |
1542   -| displayMode | 题号显示模式 | 1: 显示“Q”开头<br>2: 显示“题”开头|
  1540 +| examNo | 测验编号 | 1-9999 <br>注意:1=新的题开始|
  1541 +| displayMode | 题号显示模式 | 0:不显示开头<br>1:显示“Q”开头<br>2:显示“题”开头|
1543 1542 | questions | 题目详情 | 数组[最大200个单元] |
1544 1543  
1545 1544 题目详情数组参数说明
... ... @@ -1547,34 +1546,33 @@ params:{}
1547 1546 | **Json字段** | **字段含义** | **赋值及含义** |
1548 1547 | --- | --- | --- |
1549 1548 | questionLevel1Symbol | 一级题号 | 1-200 |
1550   -| course | 科目 | 1:语文<br>2:数学<br>3:英语<br>4:政治<br>5:历史<br>6:地理<br>7:生物<br>8:物理<br>9:化学 |
  1549 +| questionLevel2Symbol | 二级题号 | 1-99 [displayMode=0时有效] |
  1550 +| questionLevel3Symbol | 三级题号 | 1-99 [displayMode=0时有效] |
1551 1551 | questionType | 题目类型 | 1:单选<br>2:多选(排序)<br>3:数字<br>4:判断 |
1552   -| option | 选项数目 | 当questionType = 1 有效。<br>当questionType = 2 有效。<br>此项缺省时 默认4;<br>范围:1-10。|
  1552 +| option | 选项数目 | 当questionType = 1 有效。<br>当questionType = 2 有效。<br>此项缺省时 默认4;<br>范围:1-10。|
1553 1553  
1554   -指令样例:
  1554 +
  1555 +指令样例:一级题型 + 不显示开头
  1556 +样例目的:一级题型不显示开头,总题数4题
1555 1557 ```json
1556 1558 {
1557   - "fun": "startKeyPadMultipleQuestionsLevel1Course",
  1559 + "fun": "startKeyPadMultipleQuestionsTest",
1558 1560 "baseId": 0,
1559 1561 "params": {
1560 1562 "examNo": 1,
1561   - "displayMode": 1,
  1563 + "displayMode": 0,
1562 1564 "questions": [{
1563 1565 "questionLevel1Symbol": "1",
1564   - "course": "1",
1565 1566 "questionType": "1"
1566 1567 }, {
1567 1568 "questionLevel1Symbol": "2",
1568   - "course": "1",
1569 1569 "questionType": "2",
1570 1570 "option": "5"
1571 1571 }, {
1572 1572 "questionLevel1Symbol": "3",
1573   - "course": "1",
1574 1573 "questionType": "3"
1575 1574 }, {
1576 1575 "questionLevel1Symbol": "4",
1577   - "course": "1",
1578 1576 "questionType": "4"
1579 1577 }]
1580 1578 },
... ... @@ -1582,81 +1580,131 @@ params:{}
1582 1580 }
1583 1581 ```
1584 1582  
1585   -接收:
1586   -
1587   -fun: "KeyPadMultipleQuestionsLevel1Course" //
1588   -baseId: "1"//收到的基站ID
1589   -infos:{"state":"OK"}//返回状态,成功为OK
1590   -
1591   -指令样例:
1592   -
  1583 +指令样例:二级题型 + 不显示开头
  1584 +样例目的:二级题型不显示开头,总题数4题
1593 1585 ```json
1594 1586 {
1595   - "fun": "KeyPadMultipleQuestionsLevel1Course",
1596   - "baseId": 1,
1597   - "infos": {
1598   - "state": "OK"
  1587 + "fun": "startKeyPadMultipleQuestionsTest",
  1588 + "baseId": 0,
  1589 + "params": {
  1590 + "examNo": 1,
  1591 + "displayMode": 0,
  1592 + "questions": [{
  1593 + "questionLevel1Symbol": "1",
  1594 + "questionLevel2Symbol": "1",
  1595 + "questionType": "1"
  1596 + }, {
  1597 + "questionLevel1Symbol": "1",
  1598 + "questionLevel2Symbol": "2",
  1599 + "questionType": "2",
  1600 + "option": "5"
  1601 + }, {
  1602 + "questionLevel1Symbol": "2",
  1603 + "questionLevel2Symbol": "1",
  1604 + "questionType": "3"
  1605 + }, {
  1606 + "questionLevel1Symbol": "2",
  1607 + "questionLevel2Symbol": "1",
  1608 + "questionType": "4"
  1609 + }]
1599 1610 },
1600 1611 "packetTag": "59"
1601 1612 }
1602 1613 ```
1603 1614  
1604   -##### 一级题型接口[有科目]
1605   -
1606   -发送:
1607   -
1608   -fun: "startKeyPadMultipleQuestionsLevel2Course" //开始多题题型
1609   -params:{}
1610   -
1611   -| **Json字段** | **字段含义** | **赋值及含义** |
1612   -| --- | --- | --- |
1613   -| examNo | 测验编号 | 1-9999 |
1614   -| questions | 题目详情 | 数组[最大200个单元] |
1615   -
1616   -题目详情数组参数说明
1617   -
1618   -| **Json字段** | **字段含义** | **赋值及含义** |
1619   -| --- | --- | --- |
1620   -| questionLevel2Symbol | 一级题号 | 1-200 |
1621   -| course | 科目 | 1:语文<br>2:数学<br>3:英语<br>4:政治<br>5:历史<br>6:地理<br>7:生物<br>8:物理<br>9化学 |
1622   -| questionType | 题目类型 | 1:单选<br>2:多选(排序)<br>3:数字<br>4:判断 |
1623   -| option | 选项数目 | 当questionType = 1 有效。<br>当questionType = 2 有效。<br>此项缺省时 默认4;<br>范围:1-10。|
  1615 +指令样例:三级题型 + 不显示开头
  1616 +样例目的:三级题型不显示开头,总题数4题
  1617 +```json
  1618 +{
  1619 + "fun": "startKeyPadMultipleQuestionsTest",
  1620 + "baseId": 0,
  1621 + "params": {
  1622 + "examNo": 1,
  1623 + "displayMode": 0,
  1624 + "questions": [{
  1625 + "questionLevel1Symbol": "1",
  1626 + "questionLevel2Symbol": "1",
  1627 + "questionLevel3Symbol": "1",
  1628 + "questionType": "1"
  1629 + }, {
  1630 + "questionLevel1Symbol": "1",
  1631 + "questionLevel2Symbol": "1",
  1632 + "questionLevel3Symbol": "2",
  1633 + "questionType": "2",
  1634 + "option": "5"
  1635 + }, {
  1636 + "questionLevel1Symbol": "1",
  1637 + "questionLevel2Symbol": "1",
  1638 + "questionLevel3Symbol": "3",
  1639 + "questionType": "3"
  1640 + }, {
  1641 + "questionLevel1Symbol": "1",
  1642 + "questionLevel2Symbol": "1",
  1643 + "questionLevel3Symbol": "4",
  1644 + "questionType": "4"
  1645 + }]
  1646 + },
  1647 + "packetTag": "59"
  1648 +}
  1649 +```
1624 1650  
  1651 +指令样例:一级题型 + 显示“Q”开头
  1652 +样例目的:一级题型显示“Q”开头,总题数4题
1625 1653 ```json
1626 1654 {
1627   - "fun": "startKeyPadMultipleQuestionsLevel2Course",
  1655 + "fun": "startKeyPadMultipleQuestionsTest",
1628 1656 "baseId": 0,
1629 1657 "params": {
1630 1658 "examNo": 1,
  1659 + "displayMode": 1,
1631 1660 "questions": [{
1632 1661 "questionLevel1Symbol": "1",
1633   - "course": "1",
1634   - "questionType": "1",
1635   - "option": "4"
  1662 + "questionType": "1"
1636 1663 }, {
1637 1664 "questionLevel1Symbol": "2",
1638   - "course": "2",
1639 1665 "questionType": "2",
1640   - "option": "4"
  1666 + "option": "5"
1641 1667 }, {
1642 1668 "questionLevel1Symbol": "3",
1643   - "course": "3",
1644   - "questionType": "3",
1645   - "option": "4"
  1669 + "questionType": "3"
1646 1670 }, {
1647 1671 "questionLevel1Symbol": "4",
1648   - "course": "4",
1649   - "questionType": "4",
1650   - "option": "4"
  1672 + "questionType": "4"
  1673 + }]
  1674 + },
  1675 + "packetTag": "59"
  1676 +}
  1677 +```
  1678 +指令样例:一级题型 + 显示“题”开头
  1679 +样例目的:一级题型显示“题”开头,总题数4题
  1680 +```json
  1681 +{
  1682 + "fun": "startKeyPadMultipleQuestionsTest",
  1683 + "baseId": 0,
  1684 + "params": {
  1685 + "examNo": 1,
  1686 + "displayMode": 2,
  1687 + "questions": [{
  1688 + "questionLevel1Symbol": "1",
  1689 + "questionType": "1"
  1690 + }, {
  1691 + "questionLevel1Symbol": "2",
  1692 + "questionType": "2",
  1693 + "option": "5"
  1694 + }, {
  1695 + "questionLevel1Symbol": "3",
  1696 + "questionType": "3"
  1697 + }, {
  1698 + "questionLevel1Symbol": "4",
  1699 + "questionType": "4"
1651 1700 }]
1652 1701 },
1653 1702 "packetTag": "59"
1654 1703 }
1655 1704 ```
1656   -
1657 1705 接收:
1658 1706  
1659   -fun: "KeyPadMultipleQuestionsLevel2Course" //
  1707 +fun: "keyPadMultipleQuestionsTest" //
1660 1708 baseId: "1"//收到的基站ID
1661 1709 infos:{"state":"OK"}//返回状态,成功为OK
1662 1710  
... ... @@ -1664,7 +1712,7 @@ infos:{&quot;state&quot;:&quot;OK&quot;}//返回状态,成功为OK
1664 1712  
1665 1713 ```json
1666 1714 {
1667   - "fun": "KeyPadMultipleQuestionsLevel2Course",
  1715 + "fun": "keyPadMultipleQuestionsTest",
1668 1716 "baseId": 1,
1669 1717 "infos": {
1670 1718 "state": "OK"
... ... @@ -1673,124 +1721,164 @@ infos:{&quot;state&quot;:&quot;OK&quot;}//返回状态,成功为OK
1673 1721 }
1674 1722 ```
1675 1723  
1676   -##### 二级题型接口[有科目]
  1724 +##### 多科作业题型接口
1677 1725  
1678 1726 发送:
1679 1727  
1680   -fun: "startKeyPadMultipleQuestionsLevel2Course" //开始多题题型
  1728 +fun: "startKeyPadMultipleQuestionsCourse" //开始多科作业题型
1681 1729 params:{}
1682 1730  
1683 1731 | **Json字段** | **字段含义** | **赋值及含义** |
1684 1732 | --- | --- | --- |
1685   -| examNo | 测验编号 | 1-9999 |
  1733 +| examNo | 测验编号 | 1-9999 <br>注意:1=新的题开始|
  1734 +| displayMode | 题号显示模式 | 0:不显示开头<br>1:显示“Q”开头<br>2:显示“题”开头|
1686 1735 | questions | 题目详情 | 数组[最大200个单元] |
1687 1736  
1688 1737 题目详情数组参数说明
1689 1738  
1690 1739 | **Json字段** | **字段含义** | **赋值及含义** |
1691 1740 | --- | --- | --- |
1692   -| questionLevel1Symbol | 一级题号 | 1-99 |
1693   -| questionLevel2Symbol | 二级题号 | 1-99 |
1694   -| course | 科目 | 1:语文<br>2:数学<br>3:英语<br>4:政治<br>5:历史<br>6:地理<br>7:生物<br>8:物理<br>9化学 |
  1741 +| questionLevel1Symbol | 一级题号 | 1-200 |
  1742 +| questionLevel2Symbol | 二级题号 | 1-99 [displayMode=0时有效] |
  1743 +| course | 科目 | 1:语文<br>2:数学<br>3:英语<br>4:政治<br>5:历史<br>6:地理<br>7:生物<br>8:物理<br>9:化学 |
1695 1744 | questionType | 题目类型 | 1:单选<br>2:多选(排序)<br>3:数字<br>4:判断 |
1696   -| option | 选项数目 | 当questionType = 1 有效。<br>当questionType = 2 有效。<br>此项缺省时 默认4;<br>范围:1-10。|
  1745 +| option | 选项数目 | 当questionType = 1 有效。<br>当questionType = 2 有效。<br>此项缺省时 默认4;<br>范围:1-10。|
1697 1746  
  1747 +指令样例:带科目 + 二级题型 + 不显示开头
  1748 +样例目的:语文2题+数学2题+英语2题
1698 1749 ```json
1699 1750 {
1700   - "fun": "startKeyPadMultipleQuestionsLevel2Course",
  1751 + "fun": "startKeyPadMultipleQuestionsCourse",
1701 1752 "baseId": 0,
1702 1753 "params": {
1703 1754 "examNo": 1,
  1755 + "displayMode": 0,
1704 1756 "questions": [{
1705 1757 "questionLevel1Symbol": "1",
1706 1758 "questionLevel2Symbol": "1",
1707 1759 "course": "1",
1708   - "questionType": "1",
1709   - "option": "4"
  1760 + "questionType": "1"
1710 1761 }, {
1711 1762 "questionLevel1Symbol": "1",
1712 1763 "questionLevel2Symbol": "2",
1713   - "course": "2",
  1764 + "course": "1",
1714 1765 "questionType": "2",
1715   - "option": "4"
  1766 + "option": "5"
1716 1767 }, {
1717 1768 "questionLevel1Symbol": "1",
1718   - "questionLevel2Symbol": "3",
  1769 + "questionLevel2Symbol": "1",
  1770 + "course": "2",
  1771 + "questionType": "3"
  1772 + }, {
  1773 + "questionLevel1Symbol": "1",
  1774 + "questionLevel2Symbol": "2",
  1775 + "course": "2",
  1776 + "questionType": "4"
  1777 + }, {
  1778 + "questionLevel1Symbol": "1",
  1779 + "questionLevel2Symbol": "1",
1719 1780 "course": "3",
1720   - "questionType": "3",
1721   - "option": "4"
  1781 + "questionType": "3"
1722 1782 }, {
1723 1783 "questionLevel1Symbol": "1",
1724   - "questionLevel2Symbol": "4",
1725   - "course": "4",
1726   - "questionType": "4",
1727   - "option": "4"
  1784 + "questionLevel2Symbol": "2",
  1785 + "course": "3",
  1786 + "questionType": "4"
1728 1787 }]
1729 1788 },
1730 1789 "packetTag": "59"
1731 1790 }
1732 1791 ```
1733 1792  
1734   -接收:
1735   -
1736   -fun: "KeyPadMultipleQuestionsLevel2Course" //
1737   -baseId: "1"//收到的基站ID
1738   -infos:{"state":"OK"}//返回状态,成功为OK
1739   -
1740   -指令样例:
1741   -
  1793 +指令样例:带科目 + 一级题型 + 不显示开头
  1794 +样例目的:语文4题
1742 1795 ```json
1743 1796 {
1744   - "fun": "KeyPadMultipleQuestionsLevel2Course",
1745   - "baseId": 1,
1746   - "infos": {
1747   - "state": "OK"
  1797 + "fun": "startKeyPadMultipleQuestionsCourse",
  1798 + "baseId": 0,
  1799 + "params": {
  1800 + "examNo": 1,
  1801 + "displayMode": 0,
  1802 + "questions": [{
  1803 + "questionLevel1Symbol": "1",
  1804 + "course": "1",
  1805 + "questionType": "1"
  1806 + }, {
  1807 + "questionLevel1Symbol": "2",
  1808 + "course": "1",
  1809 + "questionType": "2",
  1810 + "option": "5"
  1811 + }, {
  1812 + "questionLevel1Symbol": "3",
  1813 + "course": "1",
  1814 + "questionType": "3"
  1815 + }, {
  1816 + "questionLevel1Symbol": "4",
  1817 + "course": "1",
  1818 + "questionType": "4"
  1819 + }]
1748 1820 },
1749 1821 "packetTag": "59"
1750 1822 }
1751 1823 ```
1752 1824  
1753   -##### 一级题型接口[无科目 + 题/Q开头]
1754   -
1755   -发送:
1756   -
1757   -fun: "startKeyPadMultipleQuestionsLevel1" //开始多题题型
1758   -params:{}
1759   -
1760   -| **Json字段** | **字段含义** | **赋值及含义** |
1761   -| --- | --- | --- |
1762   -| examNo | 测验编号 | 1-9999 |
1763   -| displayMode | 题号显示模式 | 1: 显示“Q”开头<br>2: 显示“题”开头|
1764   -| questions | 题目详情 | 数组[最大200个单元] |
1765   -
1766   -题目详情数组参数说明
1767   -
1768   -| **Json字段** | **字段含义** | **赋值及含义** |
1769   -| --- | --- | --- |
1770   -| questionLevel1Symbol | 一级题号 | 1-200 |
1771   -| questionType | 题目类型 | 1:单选<br>2:多选(排序)<br>3:数字<br>4:判断 |
1772   -| option | 选项数目 | 当questionType = 1 有效。<br>当questionType = 2 有效。<br>此项缺省时 默认4;<br>范围:1-10。|
1773   -
1774   -指令样例:
  1825 +指令样例:带科目 + 一级题型 + 显示“Q”开头
  1826 +样例目的:语文4题
1775 1827 ```json
1776 1828 {
1777   - "fun": "startKeyPadMultipleQuestionsLevel1",
  1829 + "fun": "startKeyPadMultipleQuestionsCourse",
1778 1830 "baseId": 0,
1779 1831 "params": {
1780 1832 "examNo": 1,
1781 1833 "displayMode": 1,
1782 1834 "questions": [{
1783 1835 "questionLevel1Symbol": "1",
  1836 + "course": "1",
  1837 + "questionType": "1"
  1838 + }, {
  1839 + "questionLevel1Symbol": "2",
  1840 + "course": "1",
  1841 + "questionType": "2",
  1842 + "option": "5"
  1843 + }, {
  1844 + "questionLevel1Symbol": "3",
  1845 + "course": "1",
  1846 + "questionType": "3"
  1847 + }, {
  1848 + "questionLevel1Symbol": "4",
  1849 + "course": "1",
  1850 + "questionType": "4"
  1851 + }]
  1852 + },
  1853 + "packetTag": "59"
  1854 +}
  1855 +```
  1856 +
  1857 +指令样例:带科目 + 一级题型 + 显示“题”开头
  1858 +样例目的:语文4题
  1859 +```json
  1860 +{
  1861 + "fun": "startKeyPadMultipleQuestionsCourse",
  1862 + "baseId": 0,
  1863 + "params": {
  1864 + "examNo": 1,
  1865 + "displayMode": 2,
  1866 + "questions": [{
  1867 + "questionLevel1Symbol": "1",
  1868 + "course": "1",
1784 1869 "questionType": "1"
1785 1870 }, {
1786 1871 "questionLevel1Symbol": "2",
  1872 + "course": "1",
1787 1873 "questionType": "2",
1788 1874 "option": "5"
1789 1875 }, {
1790 1876 "questionLevel1Symbol": "3",
  1877 + "course": "1",
1791 1878 "questionType": "3"
1792 1879 }, {
1793 1880 "questionLevel1Symbol": "4",
  1881 + "course": "1",
1794 1882 "questionType": "4"
1795 1883 }]
1796 1884 },
... ... @@ -1800,7 +1888,7 @@ params:{}
1800 1888  
1801 1889 接收:
1802 1890  
1803   -fun: "KeyPadMultipleQuestionsLevel1" //
  1891 +fun: "keyPadMultipleQuestionsCourse" //
1804 1892 baseId: "1"//收到的基站ID
1805 1893 infos:{"state":"OK"}//返回状态,成功为OK
1806 1894  
... ... @@ -1808,7 +1896,7 @@ infos:{&quot;state&quot;:&quot;OK&quot;}//返回状态,成功为OK
1808 1896  
1809 1897 ```json
1810 1898 {
1811   - "fun": "KeyPadMultipleQuestionsLevel1",
  1899 + "fun": "keyPadMultipleQuestionsCourse",
1812 1900 "baseId": 1,
1813 1901 "infos": {
1814 1902 "state": "OK"
... ... @@ -1817,16 +1905,15 @@ infos:{&quot;state&quot;:&quot;OK&quot;}//返回状态,成功为OK
1817 1905 }
1818 1906 ```
1819 1907  
1820   -##### 一级题型接口[无科目]
1821   -
  1908 +##### 主观题分数输入接口
1822 1909 发送:
1823 1910  
1824   -fun: "startKeyPadMultipleQuestionsLevel3" //开始多题题型
  1911 +fun: "startKeyPadMultipleQuestionsSubjective" //开始主观题分数输入
1825 1912 params:{}
1826 1913  
1827 1914 | **Json字段** | **字段含义** | **赋值及含义** |
1828 1915 | --- | --- | --- |
1829   -| examNo | 测验编号 | 1-9999 |
  1916 +| examNo | 测验编号 | 1-9999 <br>注意:1=新的题开始 |
1830 1917 | questions | 题目详情 | 数组[最大200个单元] |
1831 1918  
1832 1919 题目详情数组参数说明
... ... @@ -1834,28 +1921,30 @@ params:{}
1834 1921 | **Json字段** | **字段含义** | **赋值及含义** |
1835 1922 | --- | --- | --- |
1836 1923 | questionLevel1Symbol | 一级题号 | 1-200 |
1837   -| questionType | 题目类型 | 1:单选<br>2:多选(排序)<br>3:数字<br>4:判断 |
1838   -| option | 选项数目 |当questionType = 1 有效。<br>当questionType = 2 有效。<br>此项缺省时 默认4;<br>范围:1-10。|
  1924 +| toplimit | 数字上限 | 1-600 |
  1925 +| decimal | 小数位数 | 0:无效小数<br>1:一位小数<br>2:二位小数 <br>此项缺省时默认是0。|
1839 1926  
1840 1927 ```json
1841 1928 {
1842   - "fun": "startKeyPadMultipleQuestionsLevel3",
  1929 + "fun": "startKeyPadMultipleQuestionsSubjective",
1843 1930 "baseId": 0,
1844 1931 "params": {
1845 1932 "examNo": 1,
1846 1933 "questions": [{
1847 1934 "questionLevel1Symbol": "1",
1848   - "questionType": "1"
  1935 + "toplimit": "100",
  1936 + "decimal": "0"
  1937 + }, {
  1938 + "questionLevel1Symbol": "2",
  1939 + "toplimit": "100",
  1940 + "decimal": "1"
1849 1941 }, {
1850 1942 "questionLevel1Symbol": "3",
1851   - "questionType": "2",
1852   - "option": "5"
  1943 + "toplimit": "100",
  1944 + "decimal": "2"
1853 1945 }, {
1854 1946 "questionLevel1Symbol": "4",
1855   - "questionType": "3"
1856   - }, {
1857   - "questionLevel1Symbol": "5",
1858   - "questionType": "4"
  1947 + "toplimit": "100"
1859 1948 }]
1860 1949 },
1861 1950 "packetTag": "59"
... ... @@ -1864,7 +1953,7 @@ params:{}
1864 1953  
1865 1954 接收:
1866 1955  
1867   -fun: "KeyPadMultipleQuestionsLevel3" //
  1956 +fun: "KeyPadMultipleQuestionsSubjective" //
1868 1957 baseId: "1"//收到的基站ID
1869 1958 infos:{"state":"OK"}//返回状态,成功为OK
1870 1959  
... ... @@ -1872,7 +1961,7 @@ infos:{&quot;state&quot;:&quot;OK&quot;}//返回状态,成功为OK
1872 1961  
1873 1962 ```json
1874 1963 {
1875   - "fun": "KeyPadMultipleQuestionsLevel3",
  1964 + "fun": "KeyPadMultipleQuestionsSubjective",
1876 1965 "baseId": 1,
1877 1966 "infos": {
1878 1967 "state": "OK"
... ... @@ -1881,218 +1970,9 @@ infos:{&quot;state&quot;:&quot;OK&quot;}//返回状态,成功为OK
1881 1970 }
1882 1971 ```
1883 1972  
1884   -##### 二级题型接口[无科目]
1885 1973  
1886   -发送:
1887 1974  
1888   -fun: "startKeyPadMultipleQuestionsLevel3" //开始多题题型
1889   -params:{}
1890   -
1891   -| **Json字段** | **字段含义** | **赋值及含义** |
1892   -| --- | --- | --- |
1893   -| examNo | 测验编号 | 1-9999 |
1894   -| questions | 题目详情 | 数组[最大200个单元] |
1895   -
1896   -题目详情数组参数说明
1897   -
1898   -| **Json字段** | **字段含义** | **赋值及含义** |
1899   -| --- | --- | --- |
1900   -| questionLevel1Symbol | 一级题号 | 1-99 |
1901   -| questionLevel2Symbol | 二级题号 | 1-99 |
1902   -| questionType | 题目类型 | 1:单选<br>2:多选(排序)<br>3:数字<br>4:判断 |
1903   -| option | 选项数目 |当questionType = 1 有效。<br>当questionType = 2 有效。<br>此项缺省时 默认4;<br>范围:1-10。|
1904   -
1905   -```json
1906   -{
1907   - "fun": "startKeyPadMultipleQuestionsLevel3",
1908   - "baseId": 0,
1909   - "params": {
1910   - "examNo": 1,
1911   - "questions": [{
1912   - "questionLevel1Symbol": "1",
1913   - "questionLevel2Symbol": "1",
1914   - "questionType": "1"
1915   - }, {
1916   - "questionLevel1Symbol": "2",
1917   - "questionLevel2Symbol": "3",
1918   - "questionType": "2",
1919   - "option": "5"
1920   - }, {
1921   - "questionLevel1Symbol": "2",
1922   - "questionLevel2Symbol": "4",
1923   - "questionType": "3"
1924   - }, {
1925   - "questionLevel1Symbol": "2",
1926   - "questionLevel2Symbol": "5",
1927   - "questionType": "4"
1928   - }]
1929   - },
1930   - "packetTag": "59"
1931   -}
1932   -```
1933   -
1934   -接收:
1935   -
1936   -fun: "KeyPadMultipleQuestionsLevel3" //
1937   -baseId: "1"//收到的基站ID
1938   -infos:{"state":"OK"}//返回状态,成功为OK
1939   -
1940   -指令样例:
1941   -
1942   -```json
1943   -{
1944   - "fun": "KeyPadMultipleQuestionsLevel3",
1945   - "baseId": 1,
1946   - "infos": {
1947   - "state": "OK"
1948   - },
1949   - "packetTag": "59"
1950   -}
1951   -```
1952   -
1953   -##### 三级题型接口[无科目]
1954   -
1955   -发送:
1956   -
1957   -fun: "startKeyPadMultipleQuestionsLevel3" //开始多题题型
1958   -params:{}
1959   -
1960   -| **Json字段** | **字段含义** | **赋值及含义** |
1961   -| --- | --- | --- |
1962   -| examNo | 测验编号 | 1-9999 |
1963   -| questions | 题目详情 | 数组[最大200个单元] |
1964   -
1965   -题目详情数组参数说明
1966   -
1967   -| **Json字段** | **字段含义** | **赋值及含义** |
1968   -| --- | --- | --- |
1969   -| questionLevel1Symbol | 一级题号 | 1-99 |
1970   -| questionLevel2Symbol | 二级题号 | 1-99 |
1971   -| questionLevel3Symbol | 三级题号 | 1-99 |
1972   -| questionType | 题目类型 | 1:单选<br>2:多选(排序)<br>3:数字<br>4:判断 |
1973   -| option | 选项数目 |当questionType = 1 有效。<br>当questionType = 2 有效。<br>此项缺省时 默认4;<br>范围:1-10。|
1974   -
1975   -```json
1976   -{
1977   - "fun": "startKeyPadMultipleQuestionsLevel3",
1978   - "baseId": 0,
1979   - "params": {
1980   - "examNo": 1,
1981   - "questions": [{
1982   - "questionLevel1Symbol": "1",
1983   - "questionLevel2Symbol": "1",
1984   - "questionLevel3Symbol": "1",
1985   - "questionType": "1"
1986   - }, {
1987   - "questionLevel1Symbol": "1",
1988   - "questionLevel2Symbol": "2",
1989   - "questionLevel3Symbol": "3",
1990   - "questionType": "2",
1991   - "option": "5"
1992   - }, {
1993   - "questionLevel1Symbol": "1",
1994   - "questionLevel2Symbol": "2",
1995   - "questionLevel3Symbol": "4",
1996   - "questionType": "3"
1997   - }, {
1998   - "questionLevel1Symbol": "1",
1999   - "questionLevel2Symbol": "2",
2000   - "questionLevel3Symbol": "5",
2001   - "questionType": "4"
2002   - }]
2003   - },
2004   - "packetTag": "59"
2005   -}
2006   -```
2007   -
2008   -接收:
2009   -
2010   -fun: "KeyPadMultipleQuestionsLevel3" //
2011   -baseId: "1"//收到的基站ID
2012   -infos:{"state":"OK"}//返回状态,成功为OK
2013   -
2014   -指令样例:
2015   -
2016   -```json
2017   -{
2018   - "fun": "KeyPadMultipleQuestionsLevel3",
2019   - "baseId": 1,
2020   - "infos": {
2021   - "state": "OK"
2022   - },
2023   - "packetTag": "59"
2024   -}
2025   -```
2026   -
2027   -
2028   -##### 主观题接口
2029   -发送:
2030   -
2031   -fun: "startKeyPadMultipleQuestionsSubjective" //开始多题题型
2032   -params:{}
2033   -
2034   -| **Json字段** | **字段含义** | **赋值及含义** |
2035   -| --- | --- | --- |
2036   -| examNo | 测验编号 | 1-9999 |
2037   -| questions | 题目详情 | 数组[最大200个单元] |
2038   -
2039   -题目详情数组参数说明
2040   -
2041   -| **Json字段** | **字段含义** | **赋值及含义** |
2042   -| --- | --- | --- |
2043   -| questionLevel1Symbol | 一级题号 | 1-200 |
2044   -| toplimit | 数字上限 | 1-100 |
2045   -| decimal | 小数位数 | 0:无效小数<br>1:一位小数<br>2:二位小数 <br>此项缺省时默认是0。|
2046   -
2047   -```json
2048   -{
2049   - "fun": "startKeyPadMultipleQuestionsSubjective",
2050   - "baseId": 0,
2051   - "params": {
2052   - "examNo": 1,
2053   - "questions": [{
2054   - "questionLevel1Symbol": "1",
2055   - "toplimit": "100",
2056   - "decimal": "0"
2057   - }, {
2058   - "questionLevel1Symbol": "2",
2059   - "toplimit": "100",
2060   - "decimal": "1"
2061   - }, {
2062   - "questionLevel1Symbol": "3",
2063   - "toplimit": "100",
2064   - "decimal": "2"
2065   - }, {
2066   - "questionLevel1Symbol": "4",
2067   - "toplimit": "100"
2068   - }]
2069   - },
2070   - "packetTag": "59"
2071   -}
2072   -```
2073   -
2074   -接收:
2075   -
2076   -fun: "KeyPadMultipleQuestionsSubjective" //
2077   -baseId: "1"//收到的基站ID
2078   -infos:{"state":"OK"}//返回状态,成功为OK
2079   -
2080   -指令样例:
2081   -
2082   -```json
2083   -{
2084   - "fun": "KeyPadMultipleQuestionsSubjective",
2085   - "baseId": 1,
2086   - "infos": {
2087   - "state": "OK"
2088   - },
2089   - "packetTag": "59"
2090   -}
2091   -```
2092   -
2093   -
2094   -
2095   -#### 接收作答
  1975 +#### 接收作答
2096 1976  
2097 1977 接收:
2098 1978  
... ... @@ -2104,7 +1984,7 @@ infos: {}
2104 1984  
2105 1985 | **Json字段** | **字段含义** | **赋值及含义** |
2106 1986 | --- | --- | --- |
2107   -| Time | 答题时间 | [time/5=实际时间] 单位秒,20分钟内有效 |
  1987 +| Time | 答题时间 | 单位秒,20分钟内有效 |
2108 1988 | keySn | 键盘Sn | |
2109 1989 | Seq | 题序号 | |
2110 1990 | keyValue | 键值 |键盘提交的值 |
... ... @@ -2171,7 +2051,7 @@ infos:{&quot;state&quot;:&quot;OK&quot;}//返回状态,成功为OK
2171 2051  
2172 2052 发送:
2173 2053  
2174   -fun: "pauseKeyPadMultipleQuestions" //暂停多提题
  2054 +fun: "pauseKeyPadMultipleQuestions" //暂停多提题
2175 2055  
2176 2056 baseId: "1"//收到的基站ID
2177 2057  
... ... @@ -2213,17 +2093,17 @@ infos:{&quot;state&quot;:&quot;OK&quot;}//返回状态,成功为OK
2213 2093 #### 继续测试
2214 2094  
2215 2095  
2216   -##### 一级题型接口[有科目 + 题/Q开头]
  2096 +##### 在线测验题型接口
2217 2097  
2218 2098 发送:
2219 2099  
2220   -fun: "continueKeyPadMultipleQuestionsLevel1Course" //开始多题题型
  2100 +fun: "continueKeyPadMultipleQuestionsTest" //继续在线测验题型
2221 2101 params:{}
2222 2102  
2223 2103 | **Json字段** | **字段含义** | **赋值及含义** |
2224 2104 | --- | --- | --- |
2225 2105 | examNo | 测验编号 | 1-9999 |
2226   -| displayMode | 题号显示模式 | 1: 显示“Q”开头<br>2: 显示“题”开头|
  2106 +| displayMode | 题号显示模式 | 0:不显示开头<br>1:显示“Q”开头<br>2:显示“题”开头|
2227 2107 | questions | 题目详情 | 数组[最大200个单元] |
2228 2108  
2229 2109 题目详情数组参数说明
... ... @@ -2231,34 +2111,32 @@ params:{}
2231 2111 | **Json字段** | **字段含义** | **赋值及含义** |
2232 2112 | --- | --- | --- |
2233 2113 | questionLevel1Symbol | 一级题号 | 1-200 |
2234   -| course | 科目 | 1:语文<br>2:数学<br>3:英语<br>4:政治<br>5:历史<br>6:地理<br>7:生物<br>8:物理<br>9化学 |
  2114 +| questionLevel2Symbol | 二级题号 | 1-99 [displayMode=0时有效] |
  2115 +| questionLevel3Symbol | 三级题号 | 1-99 [displayMode=0时有效] |
2235 2116 | questionType | 题目类型 | 1:单选<br>2:多选(排序)<br>3:数字<br>4:判断 |
2236   -| option | 选项数目 | 当questionType = 1 有效。<br>当questionType = 2 有效。<br>此项缺省时 默认4;<br>范围:1-10。|
  2117 +| option | 选项数目 | 当questionType = 1 有效。<br>当questionType = 2 有效。<br>此项缺省时 默认4;<br>范围:1-10。|
2237 2118  
2238   -指令样例:
  2119 +
  2120 +指令样例:一级题型 + 不显示开头
2239 2121 ```json
2240 2122 {
2241   - "fun": "continueKeyPadMultipleQuestionsLevel1Course",
  2123 + "fun": "continueKeyPadMultipleQuestionsTest",
2242 2124 "baseId": 0,
2243 2125 "params": {
2244 2126 "examNo": 1,
2245   - "displayMode": 1,
  2127 + "displayMode": 0,
2246 2128 "questions": [{
2247 2129 "questionLevel1Symbol": "1",
2248   - "course": "1",
2249 2130 "questionType": "1"
2250 2131 }, {
2251 2132 "questionLevel1Symbol": "2",
2252   - "course": "1",
2253 2133 "questionType": "2",
2254 2134 "option": "5"
2255 2135 }, {
2256 2136 "questionLevel1Symbol": "3",
2257   - "course": "1",
2258 2137 "questionType": "3"
2259 2138 }, {
2260 2139 "questionLevel1Symbol": "4",
2261   - "course": "1",
2262 2140 "questionType": "4"
2263 2141 }]
2264 2142 },
... ... @@ -2266,203 +2144,107 @@ params:{}
2266 2144 }
2267 2145 ```
2268 2146  
2269   -接收:
2270   -
2271   -fun: "KeyPadMultipleQuestionsLevel1Course" //
2272   -baseId: "1"//收到的基站ID
2273   -infos:{"state":"OK"}//返回状态,成功为OK
2274   -
2275   -指令样例:
2276   -
2277   -```json
2278   -{
2279   - "fun": "KeyPadMultipleQuestionsLevel1Course",
2280   - "baseId": 1,
2281   - "infos": {
2282   - "state": "OK"
2283   - },
2284   - "packetTag": "59"
2285   -}
2286   -```
2287   -
2288   -##### 一级题型接口[有科目]
2289   -
2290   -发送:
2291   -
2292   -fun: "continueKeyPadMultipleQuestionsLevel2Course" //开始多题题型
2293   -params:{}
2294   -
2295   -| **Json字段** | **字段含义** | **赋值及含义** |
2296   -| --- | --- | --- |
2297   -| examNo | 测验编号 | 1-9999 |
2298   -| questions | 题目详情 | 数组[最大200个单元] |
2299   -
2300   -题目详情数组参数说明
2301   -
2302   -| **Json字段** | **字段含义** | **赋值及含义** |
2303   -| --- | --- | --- |
2304   -| questionLevel2Symbol | 二级题号 | 1-99 |
2305   -| course | 科目 | 1:语文<br>2:数学<br>3:英语<br>4:政治<br>5:历史<br>6:地理<br>7:生物<br>8:物理<br>9化学 |
2306   -| questionType | 题目类型 | 1:单选<br>2:多选(排序)<br>3:数字<br>4:判断 |
2307   -| option | 选项数目 | 当questionType = 1 有效。<br>当questionType = 2 有效。<br>此项缺省时 默认4;<br>范围:1-10。|
2308   -
  2147 +指令样例:二级题型 + 不显示开头
2309 2148 ```json
2310 2149 {
2311   - "fun": "continueKeyPadMultipleQuestionsLevel2Course",
  2150 + "fun": "continueKeyPadMultipleQuestionsTest",
2312 2151 "baseId": 0,
2313 2152 "params": {
2314 2153 "examNo": 1,
  2154 + "displayMode": 0,
2315 2155 "questions": [{
2316 2156 "questionLevel1Symbol": "1",
2317   - "course": "1",
2318   - "questionType": "1",
2319   - "option": "4"
  2157 + "questionLevel2Symbol": "1",
  2158 + "questionType": "1"
2320 2159 }, {
2321   - "questionLevel1Symbol": "2",
2322   - "course": "2",
  2160 + "questionLevel1Symbol": "1",
  2161 + "questionLevel2Symbol": "2",
2323 2162 "questionType": "2",
2324   - "option": "4"
  2163 + "option": "5"
2325 2164 }, {
2326   - "questionLevel1Symbol": "3",
2327   - "course": "3",
2328   - "questionType": "3",
2329   - "option": "4"
  2165 + "questionLevel1Symbol": "1",
  2166 + "questionLevel2Symbol": "3",
  2167 + "questionType": "3"
2330 2168 }, {
2331   - "questionLevel1Symbol": "4",
2332   - "course": "4",
2333   - "questionType": "4",
2334   - "option": "4"
  2169 + "questionLevel1Symbol": "1",
  2170 + "questionLevel2Symbol": "4",
  2171 + "questionType": "4"
2335 2172 }]
2336 2173 },
2337 2174 "packetTag": "59"
2338 2175 }
2339 2176 ```
2340 2177  
2341   -接收:
2342   -
2343   -fun: "KeyPadMultipleQuestionsLevel2Course" //
2344   -baseId: "1"//收到的基站ID
2345   -infos:{"state":"OK"}//返回状态,成功为OK
2346   -
2347   -指令样例:
2348   -
  2178 +指令样例:三级题型 + 不显示开头
2349 2179 ```json
2350 2180 {
2351   - "fun": "KeyPadMultipleQuestionsLevel2Course",
2352   - "baseId": 1,
2353   - "infos": {
2354   - "state": "OK"
2355   - },
2356   - "packetTag": "59"
2357   -}
2358   -```
2359   -
2360   -##### 二级题型接口[有科目]
2361   -
2362   -发送:
2363   -
2364   -fun: "continueKeyPadMultipleQuestionsLevel2Course" //开始多题题型
2365   -params:{}
2366   -
2367   -| **Json字段** | **字段含义** | **赋值及含义** |
2368   -| --- | --- | --- |
2369   -| examNo | 测验编号 | 1-9999 |
2370   -| questions | 题目详情 | 数组[最大200个单元] |
2371   -
2372   -题目详情数组参数说明
2373   -
2374   -| **Json字段** | **字段含义** | **赋值及含义** |
2375   -| --- | --- | --- |
2376   -| questionLevel1Symbol | 一级题号 | 1-99 |
2377   -| questionLevel2Symbol | 二级题号 | 1-99 |
2378   -| course | 科目 | 1:语文<br>2:数学<br>3:英语<br>4:政治<br>5:历史<br>6:地理<br>7:生物<br>8:物理<br>9化学 |
2379   -| questionType | 题目类型 | 1:单选<br>2:多选(排序)<br>3:数字<br>4:判断 |
2380   -| option | 选项数目 | 当questionType = 1 有效。<br>当questionType = 2 有效。<br>此项缺省时 默认4;<br>范围:1-10。|
2381   -
2382   -```json
2383   -{
2384   - "fun": "continueKeyPadMultipleQuestionsLevel2Course",
  2181 + "fun": "continueKeyPadMultipleQuestionsTest",
2385 2182 "baseId": 0,
2386 2183 "params": {
2387 2184 "examNo": 1,
  2185 + "displayMode": 0,
2388 2186 "questions": [{
2389 2187 "questionLevel1Symbol": "1",
2390 2188 "questionLevel2Symbol": "1",
2391   - "course": "1",
2392   - "questionType": "1",
2393   - "option": "4"
  2189 + "questionLevel3Symbol": "1",
  2190 + "questionType": "1"
2394 2191 }, {
2395 2192 "questionLevel1Symbol": "1",
2396   - "questionLevel2Symbol": "2",
2397   - "course": "2",
  2193 + "questionLevel2Symbol": "1",
  2194 + "questionLevel3Symbol": "2",
2398 2195 "questionType": "2",
2399   - "option": "4"
  2196 + "option": "5"
2400 2197 }, {
2401 2198 "questionLevel1Symbol": "1",
2402   - "questionLevel2Symbol": "3",
2403   - "course": "3",
2404   - "questionType": "3",
2405   - "option": "4"
  2199 + "questionLevel2Symbol": "1",
  2200 + "questionLevel3Symbol": "3",
  2201 + "questionType": "3"
2406 2202 }, {
2407 2203 "questionLevel1Symbol": "1",
2408   - "questionLevel2Symbol": "4",
2409   - "course": "4",
2410   - "questionType": "4",
2411   - "option": "4"
  2204 + "questionLevel2Symbol": "1",
  2205 + "questionLevel3Symbol": "4",
  2206 + "questionType": "4"
2412 2207 }]
2413 2208 },
2414 2209 "packetTag": "59"
2415 2210 }
2416 2211 ```
2417 2212  
2418   -接收:
2419   -
2420   -fun: "KeyPadMultipleQuestionsLevel2Course" //
2421   -baseId: "1"//收到的基站ID
2422   -infos:{"state":"OK"}//返回状态,成功为OK
2423   -
2424   -指令样例:
2425   -
  2213 +指令样例:一级题型 + 显示“Q”开头
2426 2214 ```json
2427 2215 {
2428   - "fun": "KeyPadMultipleQuestionsLevel2Course",
2429   - "baseId": 1,
2430   - "infos": {
2431   - "state": "OK"
  2216 + "fun": "continueKeyPadMultipleQuestionsTest",
  2217 + "baseId": 0,
  2218 + "params": {
  2219 + "examNo": 1,
  2220 + "displayMode": 1,
  2221 + "questions": [{
  2222 + "questionLevel1Symbol": "1",
  2223 + "questionType": "1"
  2224 + }, {
  2225 + "questionLevel1Symbol": "2",
  2226 + "questionType": "2",
  2227 + "option": "5"
  2228 + }, {
  2229 + "questionLevel1Symbol": "3",
  2230 + "questionType": "3"
  2231 + }, {
  2232 + "questionLevel1Symbol": "4",
  2233 + "questionType": "4"
  2234 + }]
2432 2235 },
2433 2236 "packetTag": "59"
2434 2237 }
2435 2238 ```
2436 2239  
2437   -##### 一级题型接口[无科目 + 题/Q开头]
2438   -
2439   -发送:
2440   -
2441   -fun: "continueKeyPadMultipleQuestionsLevel1" //开始多题题型
2442   -params:{}
2443   -
2444   -| **Json字段** | **字段含义** | **赋值及含义** |
2445   -| --- | --- | --- |
2446   -| examNo | 测验编号 | 1-9999 |
2447   -| displayMode | 题号显示模式 | 1: 显示“Q”开头<br>2: 显示“题”开头|
2448   -| questions | 题目详情 | 数组[最大200个单元] |
2449   -
2450   -题目详情数组参数说明
2451   -
2452   -| **Json字段** | **字段含义** | **赋值及含义** |
2453   -| --- | --- | --- |
2454   -| questionLevel1Symbol | 一级题号 | 1-200 |
2455   -| questionType | 题目类型 | 1:单选<br>2:多选(排序)<br>3:数字<br>4:判断 |
2456   -| option | 选项数目 | 当questionType = 1 有效。<br>当questionType = 2 有效。<br>此项缺省时 默认4;<br>范围:1-10。|
2457   -
2458   -指令样例:
  2240 +指令样例:一级题型 + 显示“题”开头
2459 2241 ```json
2460 2242 {
2461   - "fun": "continueKeyPadMultipleQuestionsLevel1",
  2243 + "fun": "continueKeyPadMultipleQuestionsTest",
2462 2244 "baseId": 0,
2463 2245 "params": {
2464 2246 "examNo": 1,
2465   - "displayMode": 1,
  2247 + "displayMode": 2,
2466 2248 "questions": [{
2467 2249 "questionLevel1Symbol": "1",
2468 2250 "questionType": "1"
... ... @@ -2481,10 +2263,9 @@ params:{}
2481 2263 "packetTag": "59"
2482 2264 }
2483 2265 ```
2484   -
2485 2266 接收:
2486 2267  
2487   -fun: "KeyPadMultipleQuestionsLevel1" //
  2268 +fun: "keyPadMultipleQuestionsTest" //
2488 2269 baseId: "1"//收到的基站ID
2489 2270 infos:{"state":"OK"}//返回状态,成功为OK
2490 2271  
... ... @@ -2492,7 +2273,7 @@ infos:{&quot;state&quot;:&quot;OK&quot;}//返回状态,成功为OK
2492 2273  
2493 2274 ```json
2494 2275 {
2495   - "fun": "KeyPadMultipleQuestionsLevel1",
  2276 + "fun": "keyPadMultipleQuestionsTest",
2496 2277 "baseId": 1,
2497 2278 "infos": {
2498 2279 "state": "OK"
... ... @@ -2501,44 +2282,68 @@ infos:{&quot;state&quot;:&quot;OK&quot;}//返回状态,成功为OK
2501 2282 }
2502 2283 ```
2503 2284  
2504   -##### 一级题型接口[无科目]
  2285 +##### 多科作业题型接口
2505 2286  
2506 2287 发送:
2507 2288  
2508   -fun: "continueKeyPadMultipleQuestionsLevel3" //开始多题题型
  2289 +fun: "continueKeyPadMultipleQuestionsCourse" //继续多科作业题型
2509 2290 params:{}
2510 2291  
2511 2292 | **Json字段** | **字段含义** | **赋值及含义** |
2512 2293 | --- | --- | --- |
2513 2294 | examNo | 测验编号 | 1-9999 |
  2295 +| displayMode | 题号显示模式 | 0:不显示开头<br>1:显示“Q”开头<br>2:显示“题”开头|
2514 2296 | questions | 题目详情 | 数组[最大200个单元] |
2515 2297  
2516 2298 题目详情数组参数说明
2517 2299  
2518 2300 | **Json字段** | **字段含义** | **赋值及含义** |
2519 2301 | --- | --- | --- |
2520   -| questionLevel1Symbol | 三级题号 | 1-200 |
  2302 +| questionLevel1Symbol | 一级题号 | 1-200 |
  2303 +| questionLevel2Symbol | 二级题号 | 1-99 [displayMode=0时有效] |
  2304 +| course | 科目 | 1:语文<br>2:数学<br>3:英语<br>4:政治<br>5:历史<br>6:地理<br>7:生物<br>8:物理<br>9:化学 |
2521 2305 | questionType | 题目类型 | 1:单选<br>2:多选(排序)<br>3:数字<br>4:判断 |
2522   -| option | 选项数目 | 当questionType = 1 有效。<br>当questionType = 2 有效。<br>此项缺省时 默认4;<br>范围:1-10。|
  2306 +| option | 选项数目 | 当questionType = 1 有效。<br>当questionType = 2 有效。<br>此项缺省时 默认4;<br>范围:1-10。|
2523 2307  
  2308 +指令样例:带科目 + 二级题型 + 不显示开头
  2309 +样例目的:语文2题+数学2题+英语2题
2524 2310 ```json
2525 2311 {
2526   - "fun": "continueKeyPadMultipleQuestionsLevel3",
  2312 + "fun": "continueKeyPadMultipleQuestionsCourse",
2527 2313 "baseId": 0,
2528 2314 "params": {
2529 2315 "examNo": 1,
  2316 + "displayMode": 0,
2530 2317 "questions": [{
2531 2318 "questionLevel1Symbol": "1",
  2319 + "questionLevel2Symbol": "1",
  2320 + "course": "1",
2532 2321 "questionType": "1"
2533 2322 }, {
2534   - "questionLevel1Symbol": "3",
  2323 + "questionLevel1Symbol": "1",
  2324 + "questionLevel2Symbol": "2",
  2325 + "course": "1",
2535 2326 "questionType": "2",
2536 2327 "option": "5"
2537 2328 }, {
2538   - "questionLevel1Symbol": "4",
  2329 + "questionLevel1Symbol": "1",
  2330 + "questionLevel2Symbol": "1",
  2331 + "course": "2",
  2332 + "questionType": "3"
  2333 + }, {
  2334 + "questionLevel1Symbol": "1",
  2335 + "questionLevel2Symbol": "2",
  2336 + "course": "2",
  2337 + "questionType": "4"
  2338 + }, {
  2339 + "questionLevel1Symbol": "1",
  2340 + "questionLevel2Symbol": "1",
  2341 + "course": "3",
2539 2342 "questionType": "3"
2540 2343 }, {
2541   - "questionLevel1Symbol": "5",
  2344 + "questionLevel1Symbol": "1",
  2345 + "questionLevel2Symbol": "2",
  2346 + "course": "3",
2542 2347 "questionType": "4"
2543 2348 }]
2544 2349 },
... ... @@ -2546,68 +2351,33 @@ params:{}
2546 2351 }
2547 2352 ```
2548 2353  
2549   -接收:
2550   -
2551   -fun: "KeyPadMultipleQuestionsLevel3" //
2552   -baseId: "1"//收到的基站ID
2553   -infos:{"state":"OK"}//返回状态,成功为OK
2554   -
2555   -指令样例:
2556   -
2557   -```json
2558   -{
2559   - "fun": "KeyPadMultipleQuestionsLevel3",
2560   - "baseId": 1,
2561   - "infos": {
2562   - "state": "OK"
2563   - },
2564   - "packetTag": "59"
2565   -}
2566   -```
2567   -
2568   -##### 二级题型接口[无科目]
2569   -
2570   -发送:
2571   -
2572   -fun: "continueKeyPadMultipleQuestionsLevel3" //开始多题题型
2573   -params:{}
2574   -
2575   -| **Json字段** | **字段含义** | **赋值及含义** |
2576   -| --- | --- | --- |
2577   -| examNo | 测验编号 | 1-9999 |
2578   -| questions | 题目详情 | 数组[最大200个单元] |
2579   -
2580   -题目详情数组参数说明
2581 2354  
2582   -| **Json字段** | **字段含义** | **赋值及含义** |
2583   -| --- | --- | --- |
2584   -| questionLevel1Symbol | 二级题号 | 1-99 |
2585   -| questionLevel2Symbol | 三级题号 | 1-99 |
2586   -| questionType | 题目类型 | 1:单选<br>2:多选(排序)<br>3:数字<br>4:判断 |
2587   -| option | 选项数目 | 当questionType = 1 有效。<br>当questionType = 2 有效。<br>此项缺省时 默认4;<br>范围:1-10。|
2588 2355  
  2356 +指令样例:带科目 + 一级题型 + 不显示开头
  2357 +样例目的:语文4题
2589 2358 ```json
2590 2359 {
2591   - "fun": "continueKeyPadMultipleQuestionsLevel3",
  2360 + "fun": "continueKeyPadMultipleQuestionsCourse",
2592 2361 "baseId": 0,
2593 2362 "params": {
2594 2363 "examNo": 1,
  2364 + "displayMode": 0,
2595 2365 "questions": [{
2596 2366 "questionLevel1Symbol": "1",
2597   - "questionLevel2Symbol": "1",
  2367 + "course": "1",
2598 2368 "questionType": "1"
2599 2369 }, {
2600 2370 "questionLevel1Symbol": "2",
2601   - "questionLevel2Symbol": "3",
  2371 + "course": "1",
2602 2372 "questionType": "2",
2603 2373 "option": "5"
2604 2374 }, {
2605   - "questionLevel1Symbol": "2",
2606   - "questionLevel2Symbol": "4",
  2375 + "questionLevel1Symbol": "3",
  2376 + "course": "1",
2607 2377 "questionType": "3"
2608 2378 }, {
2609   - "questionLevel1Symbol": "2",
2610   - "questionLevel2Symbol": "5",
  2379 + "questionLevel1Symbol": "4",
  2380 + "course": "1",
2611 2381 "questionType": "4"
2612 2382 }]
2613 2383 },
... ... @@ -2615,73 +2385,63 @@ params:{}
2615 2385 }
2616 2386 ```
2617 2387  
2618   -接收:
2619   -
2620   -fun: "KeyPadMultipleQuestionsLevel3" //
2621   -baseId: "1"//收到的基站ID
2622   -infos:{"state":"OK"}//返回状态,成功为OK
2623   -
2624   -指令样例:
2625   -
  2388 +指令样例:带科目 + 一级题型 + 显示“Q”开头
  2389 +样例目的:语文4题
2626 2390 ```json
2627 2391 {
2628   - "fun": "KeyPadMultipleQuestionsLevel3",
2629   - "baseId": 1,
2630   - "infos": {
2631   - "state": "OK"
  2392 + "fun": "continueKeyPadMultipleQuestionsCourse",
  2393 + "baseId": 0,
  2394 + "params": {
  2395 + "examNo": 1,
  2396 + "displayMode": 1,
  2397 + "questions": [{
  2398 + "questionLevel1Symbol": "1",
  2399 + "course": "1",
  2400 + "questionType": "1"
  2401 + }, {
  2402 + "questionLevel1Symbol": "2",
  2403 + "course": "1",
  2404 + "questionType": "2",
  2405 + "option": "5"
  2406 + }, {
  2407 + "questionLevel1Symbol": "3",
  2408 + "course": "1",
  2409 + "questionType": "3"
  2410 + }, {
  2411 + "questionLevel1Symbol": "4",
  2412 + "course": "1",
  2413 + "questionType": "4"
  2414 + }]
2632 2415 },
2633 2416 "packetTag": "59"
2634 2417 }
2635 2418 ```
2636 2419  
2637   -##### 三级题型接口[无科目]
2638   -
2639   -发送:
2640   -
2641   -fun: "continueKeyPadMultipleQuestionsLevel3" //开始多题题型
2642   -params:{}
2643   -
2644   -| **Json字段** | **字段含义** | **赋值及含义** |
2645   -| --- | --- | --- |
2646   -| examNo | 测验编号 | 1-9999 |
2647   -| questions | 题目详情 | 数组[最大200个单元] |
2648   -
2649   -题目详情数组参数说明
2650   -
2651   -| **Json字段** | **字段含义** | **赋值及含义** |
2652   -| --- | --- | --- |
2653   -| questionLevel1Symbol | 一级题号 | 1-99 |
2654   -| questionLevel2Symbol | 二级题号 | 1-99 |
2655   -| questionLevel3Symbol | 三级题号 | 1-99 |
2656   -| questionType | 题目类型 | 1:单选<br>2:多选(排序)<br>3:数字<br>4:判断 |
2657   -| option | 选项数目 | 当questionType = 1 有效。<br>当questionType = 2 有效。<br>此项缺省时 默认4;<br>范围:1-10。|
2658   -
  2420 +指令样例:带科目 + 一级题型 + 显示“题”开头
  2421 +样例目的:语文4题
2659 2422 ```json
2660 2423 {
2661   - "fun": "continueKeyPadMultipleQuestionsLevel3",
  2424 + "fun": "continueKeyPadMultipleQuestionsCourse",
2662 2425 "baseId": 0,
2663 2426 "params": {
2664 2427 "examNo": 1,
  2428 + "displayMode": 2,
2665 2429 "questions": [{
2666 2430 "questionLevel1Symbol": "1",
2667   - "questionLevel2Symbol": "1",
2668   - "questionLevel3Symbol": "1",
  2431 + "course": "1",
2669 2432 "questionType": "1"
2670 2433 }, {
2671   - "questionLevel1Symbol": "1",
2672   - "questionLevel2Symbol": "2",
2673   - "questionLevel3Symbol": "3",
  2434 + "questionLevel1Symbol": "2",
  2435 + "course": "1",
2674 2436 "questionType": "2",
2675 2437 "option": "5"
2676 2438 }, {
2677   - "questionLevel1Symbol": "1",
2678   - "questionLevel2Symbol": "2",
2679   - "questionLevel3Symbol": "4",
  2439 + "questionLevel1Symbol": "3",
  2440 + "course": "1",
2680 2441 "questionType": "3"
2681 2442 }, {
2682   - "questionLevel1Symbol": "1",
2683   - "questionLevel2Symbol": "2",
2684   - "questionLevel3Symbol": "5",
  2443 + "questionLevel1Symbol": "4",
  2444 + "course": "1",
2685 2445 "questionType": "4"
2686 2446 }]
2687 2447 },
... ... @@ -2691,7 +2451,7 @@ params:{}
2691 2451  
2692 2452 接收:
2693 2453  
2694   -fun: "KeyPadMultipleQuestionsLevel3" //
  2454 +fun: "keyPadMultipleQuestionsCourse" //
2695 2455 baseId: "1"//收到的基站ID
2696 2456 infos:{"state":"OK"}//返回状态,成功为OK
2697 2457  
... ... @@ -2699,7 +2459,7 @@ infos:{&quot;state&quot;:&quot;OK&quot;}//返回状态,成功为OK
2699 2459  
2700 2460 ```json
2701 2461 {
2702   - "fun": "KeyPadMultipleQuestionsLevel3",
  2462 + "fun": "keyPadMultipleQuestionsCourse",
2703 2463 "baseId": 1,
2704 2464 "infos": {
2705 2465 "state": "OK"
... ... @@ -2708,10 +2468,10 @@ infos:{&quot;state&quot;:&quot;OK&quot;}//返回状态,成功为OK
2708 2468 }
2709 2469 ```
2710 2470  
2711   -##### 主观题接口
  2471 +##### 主观题分数输入接口
2712 2472 发送:
2713 2473  
2714   -fun: "continueKeyPadMultipleQuestionsSubjective" //开始多题题型
  2474 +fun: "continueKeyPadMultipleQuestionsSubjective" //继续主观题分数输入
2715 2475 params:{}
2716 2476  
2717 2477 | **Json字段** | **字段含义** | **赋值及含义** |
... ... @@ -2724,7 +2484,7 @@ params:{}
2724 2484 | **Json字段** | **字段含义** | **赋值及含义** |
2725 2485 | --- | --- | --- |
2726 2486 | questionLevel1Symbol | 一级题号 | 1-200 |
2727   -| toplimit | 数字上限 | 1-100 |
  2487 +| toplimit | 数字上限 | 1-600 |
2728 2488 | decimal | 小数位数 | 0:无效小数<br>1:一位小数<br>2:二位小数 <br>此项缺省时默认是0。|
2729 2489  
2730 2490 ```json
... ... @@ -2756,7 +2516,7 @@ params:{}
2756 2516  
2757 2517 接收:
2758 2518  
2759   -fun: "KeyPadMultipleQuestionsSubjective" //
  2519 +fun: "keyPadMultipleQuestionsSubjective" //
2760 2520 baseId: "1"//收到的基站ID
2761 2521 infos:{"state":"OK"}//返回状态,成功为OK
2762 2522  
... ... @@ -2764,7 +2524,7 @@ infos:{&quot;state&quot;:&quot;OK&quot;}//返回状态,成功为OK
2764 2524  
2765 2525 ```json
2766 2526 {
2767   - "fun": "KeyPadMultipleQuestionsSubjective",
  2527 + "fun": "keyPadMultipleQuestionsSubjective",
2768 2528 "baseId": 1,
2769 2529 "infos": {
2770 2530 "state": "OK"
... ... @@ -2773,7 +2533,6 @@ infos:{&quot;state&quot;:&quot;OK&quot;}//返回状态,成功为OK
2773 2533 }
2774 2534 ```
2775 2535  
2776   -
2777 2536 #### 指定键盘转移作答内容
2778 2537 注意:此接口一次只能对一只键盘进行操作。
2779 2538  
... ... @@ -2899,278 +2658,294 @@ infos:{&quot;state&quot;:&quot;OK&quot;}//返回状态,成功为OK
2899 2658  
2900 2659 发送:
2901 2660  
2902   -fun: \"startTextAnswer\" //开始填空题
2903   -
  2661 +fun: "startTextAnswer" //开始填空题
2904 2662 params:{}
2905 2663  
2906   - ----------------- --------------- --------------------------------------
2907   - Json字段 字段含义 赋值及含义
2908   -
2909   - optionsMode 填空类型 1-任意输入(默认值)
2910   -
2911   - modifyMode 预留 1- (默认值)
  2664 +| **Json字段** | **字段含义** | **赋值及含义** |
  2665 +| --- | --- | --- |
  2666 +| optionsMode | 填空类型 | 1-任意输入(默认值) |
  2667 +| modifyMode | 预留 | 1- (默认值) |
  2668 +| secrecyMode | 预留 | 0- (默认值) |
2912 2669  
2913   - secrecyMode 预留 0- (默认值)
2914   - ----------------- --------------- --------------------------------------
2915 2670  
2916 2671 指令样例:
2917 2672  
2918   -{\
2919   -    \"fun\":\"startTextAnswer\",
2920   -
2921   -\"baseId\":0,\
2922   -    \"params\":{\
2923   -        \"optionsMode\":\"1\",\
2924   -        \"modifyMode\":\"1\",
2925   -
2926   -\"secrecyMode\":\"0\"\
2927   -    },\
2928   -    \"packetTag\":\"1\"\
  2673 +```json
  2674 +{
  2675 + "fun": "startTextAnswer",
  2676 + "baseId": 0,
  2677 + "params": {
  2678 + "optionsMode": "1",
  2679 + "modifyMode": "1",
  2680 + "secrecyMode": "0"
  2681 + },
  2682 + "packetTag": "1"
2929 2683 }
  2684 +```
2930 2685  
2931 2686 接收:
2932 2687  
2933   -- fun: \"startTextAnswer \" //开始填空题
2934   -
2935   -```{=html}
2936   -<!-- -->
2937   -```
2938   -- baseId: \"1\"//接收到指令的基站ID
2939   -
2940   -- infos:{\"state\":\"OK\"}//返回状态,成功为OK
  2688 +fun: "startTextAnswer " //开始填空题
  2689 +baseId: "1" //接收到指令的基站ID
  2690 +infos:{"state":"OK"} //返回状态,成功为OK
2941 2691  
2942 2692 指令样例:
2943 2693  
2944   -{\
2945   -    \"fun\":\"startTextAnswer\",
2946   -
2947   -\"baseId\":1,\
2948   -  \"infos\":{\
2949   -       \"state\":\"OK\"\
2950   -    },
2951   -
2952   -\"packetTag\":\"1\"\
  2694 +```json
  2695 +{
  2696 + "fun": "startTextAnswer",
  2697 + "baseId": 1,
  2698 + "infos": {
  2699 + "state": "OK"
  2700 + },
  2701 + "packetTag": "1"
2953 2702 }
  2703 +```
2954 2704  
2955 2705 #### 接收作答
2956 2706  
2957 2707 接收:
2958 2708  
2959   -fun: \"answerTextAnswer\" //填空题作答返回
2960   -
2961   -baseId: \"1\"//接收到指令的基站ID
2962   -
  2709 +fun: "answerTextAnswer" //填空题作答返回
  2710 +baseId: "1" //接收到指令的基站ID
2963 2711 infos: {}
2964 2712  
2965   - ----------------- --------------- --------------------------------------
2966   - Json字段 字段含义 赋值及含义
2967   -
2968   - keySn 键盘Sn
  2713 +| **Json字段** | **字段含义** | **赋值及含义** |
  2714 +| --- | --- | --- |
  2715 +| keySn | 键盘Sn | |
  2716 +| keyValue | 键值 | ABCD/1234/AA123 |
2969 2717  
2970   - keyValue 键值 ABCD/1234/AA123
2971   - ----------------- --------------- --------------------------------------
2972 2718  
2973 2719 指令样例:
2974 2720  
2975   -{\
2976   -    \"fun\":\"answerTextAnswer\",\
2977   -    \"baseId\":1,\
2978   -    \"infos\":{\
2979   -        \"keySn\":\"1479824643\",\
2980   -        \"keyValue\":\"1\"\
2981   -    },
2982   -
2983   - \"packetTag\":\"1\"\
  2721 +```json
  2722 +{
  2723 + "fun": "answerTextAnswer",
  2724 + "baseId": 1,
  2725 + "infos": {
  2726 + "keySn": "1479824643",
  2727 + "keyValue": "1"
  2728 + },
  2729 + "packetTag": "1"
2984 2730 }
  2731 +```
2985 2732  
2986 2733 发送:
2987 2734  
2988   -fun: \"answerTextAnswer\" //填空题作答返回
2989   -
2990   -baseId: \"1\"//接收的基站ID
2991   -
  2735 +fun: "answerTextAnswer" //填空题作答返回
  2736 +baseId: "1"//接收的基站ID
2992 2737 params:{} //为空
2993 2738  
2994 2739 指令样例:
2995 2740  
2996   -{\
2997   -    \"fun\":\"answerTextAnswer\",\
2998   -    \"baseId\":1,\
2999   -    \"packetTag\":\"1\"\
  2741 +```json
  2742 +{
  2743 + "fun": "answerTextAnswer",
  2744 + "baseId": 1,
  2745 + "packetTag": "1"
3000 2746 }
3001   -
  2747 +```
3002 2748 #### 停止作答
3003 2749  
3004 2750 发送:
3005 2751  
3006   -fun: \"stopTextAnswer\" //停止填空题
3007   -
  2752 +fun: "stopTextAnswer" //停止填空题
3008 2753 params:{} //默认空
3009 2754  
3010 2755 指令样例:
3011   -
3012   -{\
3013   -    \"fun\":\"stopTextAnswer\",\
3014   -    \"packetTag\":\"1\"\
  2756 +```json
  2757 +{
  2758 + "fun": "stopTextAnswer",
  2759 + "packetTag": "1"
3015 2760 }
  2761 +```
3016 2762  
3017 2763 接收:
3018 2764  
3019   -fun: \"stopTextAnswer\" //停止填空题
3020   -
3021   -baseId: \"1\"//收到的基站ID
3022   -
3023   -infos:{\"state\":\"OK\"}//返回状态,成功为OK
  2765 +fun: "stopTextAnswer" //停止填空题
  2766 +baseId: "1"//收到的基站ID
  2767 +infos:{"state":"OK"}//返回状态,成功为OK
3024 2768  
3025 2769 指令样例:
3026   -
3027   -{\
3028   -    \"fun\":\"stopTextAnswer\",\
3029   -    \"baseId\":1,\
3030   -    \"infos\":{\
3031   -          \"state\":\"OK\"\
3032   -    },\
3033   -    \"packetTag\":\"1\"\
  2770 +```json
  2771 +{
  2772 + "fun": "stopTextAnswer",
  2773 + "baseId": 1,
  2774 + "infos": {
  2775 + "state": "OK"
  2776 + },
  2777 + "packetTag": "1"
3034 2778 }
  2779 +```
3035 2780  
3036 2781 #### 支持设备说明
3037 2782  
3038   - ----------------------- ----------------------- -----------------------
3039   - 基站+键盘 支持/不支持 备注
3040   -
3041   - B100-2.4G+S6 支持
3042   -
3043   - B200-2.4G+S6 支持
3044   -
3045   - B200-5.8G+T2 不支持
3046   - ----------------------- ----------------------- -----------------------
  2783 +| **基站+键盘** | **支持** | **备注** |
  2784 +| --- | --- | --- |
  2785 +| B100-2.4G+S6 | 支持 | |
  2786 +| B200-2.4G+S6 | 支持 | |
3047 2787  
3048   -### 异步测验模式
  2788 +### 自由题型
3049 2789  
3050 2790 #### 开始作答
3051 2791  
3052 2792 发送:
3053 2793  
3054   -fun: \"startTestMode\" //开始异步测验模式
3055   -
  2794 +fun: "startFreeQuestion" //开始填空题
3056 2795 params:{}
3057 2796  
3058   - ----------------- --------------- --------------------------------------
3059   - Json字段 字段含义 赋值及含义
  2797 +指令样例:
  2798 +
  2799 +```json
  2800 +{
  2801 + "fun": "startFreeQuestion",
  2802 + "baseId": 0,
  2803 + "params": {},
  2804 + "packetTag": "1"
  2805 +}
  2806 +```
3060 2807  
3061   - optionsMode 测验类型 11-自动测验模式(默认值)
  2808 +接收:
3062 2809  
3063   - testNum 测验题数量 1 - 100
3064   - ----------------- --------------- --------------------------------------
  2810 +fun: "startFreeQuestion " //开始自由题型
  2811 +baseId: "1" //接收到指令的基站ID
  2812 +infos:{"state":"OK"} //返回状态,成功为OK
3065 2813  
3066 2814 指令样例:
3067 2815  
3068   -{\
3069   -    \"fun\":\"startTestMode\",
3070   -
3071   -\"baseId\":0,\
3072   -    \"params\":{\
3073   -        \"optionsMode\":\"11\",\
3074   -        \"testNum\":\"5\"\
3075   -    },\
3076   -    \"packetTag\":\"1\"\
  2816 +```json
  2817 +{
  2818 + "fun": "startFreeQuestion",
  2819 + "baseId": 1,
  2820 + "infos": {
  2821 + "state": "OK"
  2822 + },
  2823 + "packetTag": "1"
3077 2824 }
  2825 +```
3078 2826  
3079   -接收:
  2827 +#### 接收作答
3080 2828  
3081   -- fun: \"startTestMode\" //开始异步测验模式
  2829 +接收:
  2830 +接收作答数据有键盘提交决定分为:选择题、判断题和数字题三个类型
3082 2831  
3083   -```{=html}
3084   -<!-- -->
3085   -```
3086   -- baseId: \"1\"//接收到指令的基站ID
  2832 +选择题:
  2833 +fun: "answerChoices" //自由题型作答返回
  2834 +baseId: "1"//接收到指令的基站ID
  2835 +infos: {}
3087 2836  
3088   -- infos:{\"state\":\"OK\"}//返回状态,成功为OK
3089 2837  
3090   -指令样例:
  2838 +| **Json字段** | **字段含义** | **赋值及含义** |
  2839 +| --- | --- | --- |
  2840 +| time | 答题时间 |单位秒 |
  2841 +| keySn | 键盘Sn | |
  2842 +| keyValue | 键值 | ABCD/1234/AA123 |
3091 2843  
3092   -{\
3093   -    \"fun\":\"startTestMode\",
3094 2844  
3095   -\"baseId\":1,\
3096   -  \"infos\":{\
3097   -       \"state\":\"OK\"\
3098   -    },
  2845 +指令样例:
3099 2846  
3100   -\"packetTag\":\"1\"\
  2847 +```json
  2848 +{
  2849 + "fun": "answerChoices",
  2850 + "baseId": 1,
  2851 + "infos": {
  2852 + "keySn": "1479824643",
  2853 + "keyValue": "ABC"
  2854 + },
  2855 + "packetTag": "0"
3101 2856 }
  2857 +```
3102 2858  
3103   -#### 接收作答
  2859 +判断题:
  2860 +fun: "answerTrueFalse" //自由题型作答返回
  2861 +baseId: "1"//接收到指令的基站ID
  2862 +infos: {}
3104 2863  
3105   -接收:
  2864 +| **Json字段** | **字段含义** | **赋值及含义** |
  2865 +| --- | --- | --- |
  2866 +| time | 答题时间 |单位秒 |
  2867 +| keySn | 键盘Sn | |
  2868 +| keyValue | 键值 |1~2|
3106 2869  
3107   -fun: \"answerTestMode\" //异步测验模式返回
  2870 +指令样例:
3108 2871  
3109   -baseId: \"1\"//接收到指令的基站ID
  2872 +```json
  2873 +{
  2874 + "fun": "answerTrueFalse",
  2875 + "baseId": 1,
  2876 + "infos": {
  2877 + "keySn": "1479824643",
  2878 + "keyValue": "1"
  2879 + },
  2880 + "packetTag": "0"
  2881 +}
  2882 +```
  2883 +数字题:
  2884 +fun: "answerNumber" //自由题型作答返回
  2885 +baseId: "1"//接收到指令的基站ID
  2886 +infos: {}
3110 2887  
3111   -infos: {}
  2888 +| **Json字段** | **字段含义** | **赋值及含义** |
  2889 +| --- | --- | --- |
  2890 +| time | 答题时间 |单位秒 |
  2891 +| keySn | 键盘Sn | |
  2892 +| keyValue | 键值 |键盘提交的值|
3112 2893  
3113 2894 指令样例:
3114 2895  
3115   -{\
3116   -    \"fun\":\"answerTestMode\",\
3117   -    \"baseId\":1,\
3118   -    \"infos\":{\
3119   -        \"time\":\"5.42\",\
3120   -        \"keySn\":\"1479824643\",
  2896 +```json
  2897 +{
  2898 + "fun": "answerNumber",
  2899 + "baseId": 1,
  2900 + "infos": {
  2901 + "keySn": "1479824643",
  2902 + "keyValue": "99.99"
  2903 + },
  2904 + "packetTag": "0"
  2905 +}
  2906 +```
3121 2907  
3122   -  \"seq\":\"1\",\
3123   -        \"keyValue\":\"A\"\
3124   -    },
3125 2908  
3126   - \"packetTag\":\"1\"\
3127   -}
3128 2909  
3129 2910 #### 停止作答
3130 2911  
3131 2912 发送:
3132   -
3133   -fun: \"stopTestMode\" //停止异步测验模式
3134   -
  2913 +fun: "stopFreeQuestion" //停止自由题型
3135 2914 params:{} //默认空
3136 2915  
3137   -指令样例:
3138 2916  
3139   -{\
3140   -    \"fun\":\"stopTestMode\",\
3141   -    \"packetTag\":\"1\"\
  2917 +指令样例:
  2918 +```json
  2919 +{
  2920 + "fun": "stopFreeQuestion",
  2921 + "packetTag": "1"
3142 2922 }
  2923 +```
3143 2924  
3144 2925 接收:
3145 2926  
3146   -fun: \"stopTestMode\" //停止异步测验模式
3147   -
3148   -baseId: \"1\"//收到的基站ID
3149   -
3150   -infos:{\"state\":\"OK\"}//返回状态,成功为OK
  2927 +fun: "stopFreeQuestion" //停止自由题型
  2928 +baseId: "1"//收到的基站ID
  2929 +infos:{"state":"OK"}//返回状态,成功为OK
3151 2930  
3152 2931 指令样例:
3153   -
3154   -{\
3155   -    \"fun\":\"stopTestMode\",\
3156   -    \"baseId\":1,\
3157   -    \"infos\":{\
3158   -          \"state\":\"OK\"\
3159   -    },\
3160   -    \"packetTag\":\"1\"\
  2932 +```json
  2933 +{
  2934 + "fun": "stopFreeQuestion",
  2935 + "baseId": 1,
  2936 + "infos": {
  2937 + "state": "OK"
  2938 + },
  2939 + "packetTag": "1"
3161 2940 }
  2941 +```
3162 2942  
3163 2943 #### 支持设备说明
3164 2944  
3165   - ----------------------- ----------------------- -----------------------
3166   - 基站+键盘 支持/不支持 备注
3167   -
3168   - B100-2.4G+S6 支持
3169   -
3170   - B200-2.4G+S6 支持
  2945 +| **基站+键盘** | **支持** | **备注** |
  2946 +| --- | --- | --- |
  2947 +| B200-2.4G+S6 | 支持 |需要指定键盘支持|
3171 2948  
3172   - B200-5.8G+T2 不支持
3173   - ----------------------- ----------------------- -----------------------
3174 2949  
3175 2950 ### 自定义题型
3176 2951  
... ... @@ -3178,891 +2953,473 @@ infos:{\&quot;state\&quot;:\&quot;OK\&quot;}//返回状态,成功为OK
3178 2953  
3179 2954 发送:
3180 2955  
3181   -fun: \"startKeyPadCustomQuestions\" //开始
3182   -
  2956 +fun: "startKeyPadCustomQuestions" //开始
3183 2957 params:{}
3184 2958  
3185   -+-----------------+------------+--------------------------------------+
3186   -| Json字段 | | 赋值及含义 |
3187   -| | 字段含义 | |
3188   -+-----------------+------------+--------------------------------------+
3189   -| titleTable | 题目表 | 数组 |
3190   -| | | |
3191   -| | | 字符串 |
3192   -+-----------------+------------+--------------------------------------+
3193   -| optionTable | 选项表 | 数组 |
3194   -| | | |
3195   -| | | \"A,B,C,D\" \[默认\] |
3196   -| | | |
3197   -| | | \" 1,2,3,4 \" |
3198   -| | | |
3199   -| | | \" 对,错 \" |
3200   -| | | |
3201   -| | | \" √,× \" |
3202   -| | | |
3203   -| | | \" 同意,反对,弃权 \" |
3204   -+-----------------+------------+--------------------------------------+
3205   -| ruleTable | 规则表 | 数组\[内容请参考"规则字段解释"\] |
3206   -+-----------------+------------+--------------------------------------+
3207   -| permissionTable | 许可权限表 | 数组 |
3208   -+-----------------+------------+--------------------------------------+
3209   -| .permission | 许可权限 | 0:无\[默认\] |
3210   -| | | |
3211   -| | | 1: 允许 |
3212   -| | | |
3213   -| | | 2: 禁止 |
3214   -+-----------------+------------+--------------------------------------+
3215   -| .KeySnList | 键盘列表 | 1479824 |
3216   -| | | 643,1479824644,1479824645,1479824646 |
3217   -+-----------------+------------+--------------------------------------+
3218   -| configTable | 配置表 | 数组 |
3219   -+-----------------+------------+--------------------------------------+
3220   -| .number | 题编号 | 1-200 |
3221   -+-----------------+------------+--------------------------------------+
3222   -| .titleID | 题目表ID | 1-200 |
3223   -+-----------------+------------+--------------------------------------+
3224   -| .optionID | 选项表ID | 1-200 |
3225   -+-----------------+------------+--------------------------------------+
3226   -| .ruleID | 规则表ID | 1-200 |
3227   -+-----------------+------------+--------------------------------------+
3228   -| .permissionID | 许 | 1-200 |
3229   -| | 可权限表ID | |
3230   -+-----------------+------------+--------------------------------------+
3231   -
3232   -规则字段解释:
3233   -
3234   -规则类型1:
3235   -
3236   - ------------------ -------------------- ---------------------------------------
3237   - Json字段 字段含义 赋值及含义
3238   -
3239   - .ruleType 规则类型 1
3240   -
3241   - .mode 模式 0 默认(单选选择)\
3242   - 1 纯数字组合
3243   - ,包含(上下键做负号与点号)\
3244   - 2 填空自由组合,键盘自己实现输入方式\
3245   - 3 多小题显示格式\
3246   - 4 批次表决、批次评议\
3247   - 5 批次评分\
3248   - 6 名单选举\
3249   - 7 累计投票、股权投票
  2959 +| **Json字段** | **字段含义** | **赋值及含义** |
  2960 +| --- | --- | --- |
  2961 +|titleTable| 题目表 |数组[字符串]|
  2962 +| optionTable | 选项表 |数组<br>"A,B,C,D" [默认]<br>" 1,2,3,4 "<br>" 对,错 "<br>" √,× "<br>" 同意,反对,弃权 "|
  2963 +|ruleTable| 规则表 |数组[内容请参考“规则字段解释”]|
  2964 +|permissionTable| 许可权限表 |数组|
  2965 +|configTable| 配置表 |数组|
3250 2966  
3251   - .modifyMode 修改模式 0-不可修改 1-可修改,默认 1
  2967 +许可权限表结构表说明
  2968 +| **Json字段** | **字段含义** | **赋值及含义** |
  2969 +| --- | --- | --- |
  2970 +|permission| 许可权限 |0:无[默认]<br>1: 允许<br>2: 禁止|
  2971 +|KeySnList| 键盘列表 |数组<br>"1479824643"<br>"1479824644"<br>"1479824645"<br>"1479824646"|
3252 2972  
3253   - .secrecyMode 保密模式 0-不保密 1-保密,默认 0
3254 2973  
3255   - .lessMode 迫选模式 0 不迫选 1 迫选,默认 0
  2974 +配置表结构表说明
  2975 +| **Json字段** | **字段含义** | **赋值及含义** |
  2976 +| --- | --- | --- |
  2977 +|ruleType| 题编号 |1-200|
  2978 +|titleID|题目表ID|1-200|
  2979 +|optionID|选项表ID|1-200|
  2980 +|ruleID|规则表ID|1-200|
  2981 +|permissionID|许可权限表ID|1-200|
3256 2982  
3257   - .repeat 重复模式 0 不限制 1 单个选项只能选一次,默认 0
  2983 +规则字段解释:
  2984 +规则类型1:
3258 2985  
3259   - .sort 自动排序 0 保留输入顺序,1 选项自动排序,默认 1
  2986 +| **Json字段** | **字段含义** | **赋值及含义** |
  2987 +| --- | --- | --- |
  2988 +|ruleType| 规则类型 |1|
  2989 +|mode|模式|0 默认(单选选择)<br>1 纯数字组合 ,包含(上下键做负号与点号)<br>2 填空自由组合,键盘自己实现输入方式<br>3 多小题显示格式<br>4 批次表决、批次评议<br>5 批次评分<br>6 名单选举<br>7 累计投票、股权投票|
  2990 +|modifyMode|修改模式|0-不可修改<br> 1-可修改,默认|
  2991 +|secrecyMode|保密模式|0-不保密,默认<br> 1-保密|
  2992 +|lessMode|迫选模式|0 不迫选,默认<br> 1 迫选|
  2993 +|repeat|重复模式|0 不限制,默认 1 单个选项只能选一次|
  2994 +|sort|自动排序|0 保留输入顺序,1 选项自动排序,默认|
  2995 +|max|最大可选人数||
  2996 +|min|最小可选人数||
  2997 +|maximum|最大可供选择项目数|1-10|
  2998 +|maxOptions|可选出数目|最小值是1,最大值不超出maximum|
  2999 +|topLimit|数字上限|浮点数格式的字符串|
  3000 +|lowerLimit|数字下限|浮点数格式的字符串|
3260 3001  
3261   - .max 最大可选人数
  3002 +规则类型2:
3262 3003  
3263   - .min 最小可选人数
  3004 +| **Json字段** | **字段含义** | **赋值及含义** |
  3005 +| --- | --- | --- |
  3006 +|ruleType| 规则类型 |2|
  3007 +|mode|模式|0 默认(选择)|
  3008 +|modifyMode|修改模式|0-不可修改<br> 1-可修改,默认|
  3009 +|secrecyMode|保密模式|0-不保密,默认<br> 1-保密|
  3010 +|lessMode|迫选模式|0 不迫选,默认<br> 1 迫选|
  3011 +|repeat|重复模式|0 不限制,默认 1 单个选项只能选一次|
  3012 +|sort|自动排序|0 保留输入顺序,1 选项自动排序,默认|
  3013 +|max|最大可选人数||
  3014 +|min|最小可选人数||
  3015 +|retain|保留数字|数组 范围000-999|
  3016 +|range|数字范围|数组|
  3017 +
  3018 +数字范围数据结构
  3019 +| **Json字段** | **字段含义** | **赋值及含义** |
  3020 +| --- | --- | --- |
  3021 +|rangeStart|数字范围开始|浮点数格式的字符串|
  3022 +|rangeEnd|数字范围结束|浮点数格式的字符串|
3264 3023  
3265   - .maximum 最大可供选择项目数 1-10
3266 3024  
3267   - .maxOptions 可选出数目 最小值是1,最大值不超出maximum
3268   -
3269   - . topLimit 数字上限 浮点数格式的字符串
3270   -
3271   - . lowerLimit 数字下限 浮点数式的字符串
3272   - ------------------ -------------------- ---------------------------------------
3273   -
3274   -规则类型2:
3275   -
3276   - ------------------ -------------- ---------------------------------------
3277   - Json字段 字段含义 赋值及含义
3278   -
3279   - .ruleType 规则类型 2
3280   -
3281   - .mode 模式 0 默认(选择)
3282   -
3283   - .modifyMode 修改模式 0-不可修改 1-可修改,默认 1
3284   -
3285   - .secrecyMode 保密模式 0-不保密 1-保密,默认 0
3286   -
3287   - .lessMode 迫选模式 0 不迫选 1 迫选,默认 0
3288   -
3289   - . repeat 重复模式 0 不限制 1 单个选项只能选一次,默认 0
3290   -
3291   - . sort 自动排序 0 保留输入顺序,1 选项自动排序,默认 1
3292   -
3293   - .max 最大可选人数
3294   -
3295   - .min 最小可选人数
3296   -
3297   - .retain 保留数字 数组 范围000-999
3298   -
3299   - .range 数字范围 数组
3300   -
3301   - ..rangeStart 数字范围开始
3302   -
3303   - ..rangeEnd 数字范围结束
3304   - ------------------ -------------- ---------------------------------------
3305 3025  
3306 3026 指令样例:
3307   -
3308   -{
3309   -
3310   -\"fun\": \"startKeyPadCustomQuestions\",
3311   -
3312   -\"baseId\": 0,
3313   -
3314   -\"params\": {
3315   -
3316   -\"titleTable\": \[\"单选题\", \"数字表决\"\],
3317   -
3318   -\"optionTable\": \[
3319   -
3320   -\[\"A\", \"B\", \"C\", \"D\"\],
3321   -
3322   -\[\"同意\", \"反对\", \"弃权\"\]
3323   -
3324   -\],
3325   -
3326   -\"ruleTable\": \[{
3327   -
3328   -\"ruleType\": \"1\",
3329   -
3330   -\"mode\": \"0\",
3331   -
3332   -\"modifyMode\": \"0\",
3333   -
3334   -\"secrecyMode\": \"0\",
3335   -
3336   -\"lessMode\": \"0\",
3337   -
3338   -\"repeat\": \"0\",
3339   -
3340   -\"sort\": \"1\",
3341   -
3342   -\"max\": \"4\",
3343   -
3344   -\"min\": \"1\",
3345   -
3346   -\"maximum\": \"4\",
3347   -
3348   -\"maxOptions\": \"1\",
3349   -
3350   -\"topLimit\": \"100.0\",
3351   -
3352   -\"lowerLimit\": \"0.1\"
3353   -
3354   -},
3355   -
3356   -{
3357   -
3358   -\"ruleType\": \"2\",
3359   -
3360   -\"mode\": \"0\",
3361   -
3362   -\"modifyMode\": \"0\",
3363   -
3364   -\"secrecyMode\": \"0\",
3365   -
3366   -\"lessMode\": \"0\",
3367   -
3368   -\"repeat\": \"0\",
3369   -
3370   -\"sort\": \"1\",
3371   -
3372   -\"max\": \"4\",
3373   -
3374   -\"min\": \"1\",
3375   -
3376   -\"retain\": \[\"777\", \"999\"\],
3377   -
3378   -\"range\": \[{
3379   -
3380   -\"rangeStart\": \"1\",
3381   -
3382   -\"rangeEnd\": \"100\"
3383   -
3384   -}, {
3385   -
3386   -\"rangeStart\": \"101\",
3387   -
3388   -\"rangeEnd\": \"200\"
3389   -
3390   -}, {
3391   -
3392   -\"rangeStart\": \"201\",
3393   -
3394   -\"rangeEnd\": \"300\"
3395   -
3396   -}\]
3397   -
3398   -}
3399   -
3400   -\],
3401   -
3402   -\"permissionTable\": \[{
3403   -
3404   -\"permission\": \"2\",
3405   -
3406   -\"keySnList\": \[\"1479824643\", \"1479824644\", \"1479824645\",
3407   -\"1479824646\"\]
3408   -
3409   -},
3410   -
3411   -{
3412   -
3413   -\"permission\": \"1\",
3414   -
3415   -\"keySnList\": \[\"1479824643\", \"1479824644\", \"1479824645\",
3416   -\"1479824646\"\]
3417   -
3418   -}
3419   -
3420   -\],
3421   -
3422   -\"configTable\": \[{
3423   -
3424   -\"number\": \"1\",
3425   -
3426   -\"titleID\": \"1\",
3427   -
3428   -\"optionID\": \"1\",
3429   -
3430   -\"ruleID\": \"1\",
3431   -
3432   -\"permissionID\": \"0\"
3433   -
3434   -},
3435   -
3436   -{
3437   -
3438   -\"number\": \"2\",
3439   -
3440   -\"titleID\": \"2\",
3441   -
3442   -\"optionID\": \"2\",
3443   -
3444   -\"ruleID\": \"2\",
3445   -
3446   -\"permissionID\": \"0\"
3447   -
3448   -}
3449   -
3450   -\]
3451   -
3452   -},
3453   -
3454   -\"packetTag\": \"59\"
3455   -
3456   -}
3457   -
3458   -接收:
3459   -
3460   -fun: \"startKeyPadMultipleQuestions\" //开始多题题型
3461   -
3462   -baseId: \"1\"//接收到指令的基站ID
3463   -
3464   -infos:{\"state\":\"OK\"}//返回状态,成功为OK
3465   -
3466   -指令样例:
3467   -
  3027 +```json
3468 3028 {
  3029 + "fun": "startKeyPadCustomQuestions",
  3030 + "baseId": 0,
  3031 + "params": {
  3032 + "titleTable": ["单选题", "数字表决"],
  3033 + "optionTable": [
  3034 + ["A", "B", "C", "D"],
  3035 + ["同意", "反对", "弃权"]
  3036 + ],
  3037 + "ruleTable": [{
  3038 + "ruleType": "1",
  3039 + "mode": "0",
  3040 + "modifyMode": "0",
  3041 + "secrecyMode": "0",
  3042 + "lessMode": "0",
  3043 + "repeat": "0",
  3044 + "sort": "1",
  3045 + "max": "4",
  3046 + "min": "1",
  3047 + "maximum": "4",
  3048 + "maxOptions": "1",
  3049 + "topLimit": "100.0",
  3050 + "lowerLimit": "0.1"
  3051 + },
  3052 + {
  3053 + "ruleType": "2",
  3054 + "mode": "0",
  3055 + "modifyMode": "0",
  3056 + "secrecyMode": "0",
  3057 + "lessMode": "0",
  3058 + "repeat": "0",
  3059 + "sort": "1",
  3060 + "max": "4",
  3061 + "min": "1",
  3062 + "retain": ["777", "999"],
  3063 + "range": [{
  3064 + "rangeStart": "1",
  3065 + "rangeEnd": "100"
  3066 + }, {
  3067 + "rangeStart": "101",
  3068 + "rangeEnd": "200"
  3069 + }, {
  3070 + "rangeStart": "201",
  3071 + "rangeEnd": "300"
  3072 + }]
  3073 + }
  3074 + ],
  3075 + "permissionTable": [{
  3076 + "permission": "2",
  3077 + "keySnList": ["1479824643", "1479824644", "1479824645", "1479824646"]
  3078 + },
  3079 + {
  3080 + "permission": "1",
  3081 + "keySnList": ["1479824643", "1479824644", "1479824645", "1479824646"]
  3082 + }
  3083 + ],
  3084 + "configTable": [{
  3085 + "number": "1",
  3086 + "titleID": "1",
  3087 + "optionID": "1",
  3088 + "ruleID": "1",
  3089 + "permissionID": "0"
  3090 + },
  3091 + {
  3092 + "number": "2",
  3093 + "titleID": "2",
  3094 + "optionID": "2",
  3095 + "ruleID": "2",
  3096 + "permissionID": "0"
  3097 + }
  3098 + ]
  3099 + },
  3100 + "packetTag": "59"
  3101 +}
  3102 +```
3469 3103  
3470   -\"baseId\": 1,
3471   -
3472   -\"fun\": \"startKeyPadMultipleQuestions\",
3473   -
3474   -\"infos\": {
3475   -
3476   -\"state\": \"OK\"
3477   -
3478   -},
3479   -
3480   -\"packetTag\": \"59\"
3481   -
3482   -}
3483   -
3484   -#### 接收作答
3485   -
3486   -接收:
3487   -
3488   -fun: \"answerKeyPadCustomQuestions\" //自定义题型返回
3489   -
3490   -baseId: \"1\"//接收到指令的基站ID
3491   -
3492   -infos: {}
3493   -
3494   - ----------------- --------------- --------------------------------------
3495   - Json字段 字段含义 赋值及含义
3496   -
3497   - Time 答题时间 \[time/5=实际时间\]
3498   - 单位秒,20分钟内有效
3499   -
3500   - keySn 键盘Sn
3501   -
3502   - Seq 题序号
3503   -
3504   - keyValue 键值 键盘提交的值
3505   - ----------------- --------------- --------------------------------------
3506   -
3507   -指令样例:
3508   -
3509   -{\
3510   -    \"fun\":\"answerKeyPadCustomQuestions\",\
3511   -    \"baseId\":1,\
3512   -    \"infos\":{\
3513   -        \"time\":\"5.42\",\
3514   -        \"keySn\":\"1479824643\",
3515   -
3516   -  \"seq\":\"1\",\
3517   -        \"keyValue\":\"12\"\
3518   -    },
3519   -
3520   - \"packetTag\":\"1\"\
3521   -}
3522   -
3523   -#### 退出作答
3524   -
3525   -发送:
3526   -
3527   -fun: \"stopKeyPadCustomQuestions\" //停止多题题型
3528   -
3529   -params:{} //默认空
3530   -
3531   -指令样例:
3532   -
3533   -{\
3534   -    \"fun\":\"stopKeyPadCustomQuestions\",
3535   -
3536   -\"baseId\":0,\
3537   -    \"packetTag\":\"1\"\
3538   -}
3539   -
3540   -接收:
3541   -
3542   -fun: \"stopKeyPadCustomQuestions\" //停止键盘测试
3543   -
3544   -baseId: \"1\"//收到的基站ID
3545   -
3546   -infos:{\"state\":\"OK\"}//返回状态,成功为OK
3547   -
3548   -指令样例:
3549   -
3550   -{\
3551   -    \"fun\":\"stopKeyPadCustomQuestions\",\
3552   -    \"baseId\":1,\
3553   -    \"infos\":{\
3554   -          \"state\":\"OK\"\
3555   -    },\
3556   -    \"packetTag\":\"1\"\
3557   -}
3558   -
3559   -#### 支持设备说明
3560   -
3561   - ----------------------- ----------------------- -----------------------
3562   - 基站+键盘 支持/不支持 备注
3563   -
3564   - B100-2.4G+S6 不支持
3565   -
3566   - B200-2.4G+S6 不支持
3567   -
3568   - B200-5.8G+T2 不支持
3569   -
3570   - B200-2.4G+M6 支持
3571   - ----------------------- ----------------------- -----------------------
3572   -
3573   -### 自由题型
3574   -
3575   -#### 开始作答
3576   -
3577   -发送:
3578   -
3579   -fun: \"startFreeQuestion\" //开始自由题型
3580   -
3581   -params:{}
3582   -
3583   -指令样例:
3584   -
3585   -{\
3586   -    \"fun\":\"startFreeQuestion\",
3587   -
3588   -\"baseId\":0,\
3589   -    \"params\":{},
3590   -
3591   -\"packetTag\":\"1\"\
3592   -}
3593   -
3594   -接收:
3595   -
3596   -fun: \"startChoices\" //开始自由题型
3597   -
3598   -baseId: \"1\"//接收到指令的基站ID
3599   -
3600   -infos:{\"state\":\"OK\"}//返回状态,成功为OK
3601   -
3602   -指令样例:
3603   -
3604   -{\
3605   -    \"fun\":\"startFreeQuestion\",\
3606   -    \"baseId\":1,\
3607   -    \"infos\":{\
3608   -        \"state\":\"OK\"\
3609   -    },\
3610   -    \"packetTag\":\"1\"\
3611   -}
3612   -
3613   -#### 接收作答
3614   -
3615   -接收:
3616   -
3617   -接收作答数据有键盘提交决定分为:选择题、判断题和数字题三个类型
3618   -
3619   -选择题:
3620   -
3621   -fun: \"answerChoices\" //自由题型作答返回
3622   -
3623   -baseId: \"1\"//接收到指令的基站ID
3624   -
3625   -infos: {}
3626   -
3627   -+----------------+--------------+-------------------------------------+
3628   -| Json字段 | 字段含义 | 赋值及含义 |
3629   -+----------------+--------------+-------------------------------------+
3630   -| time | 答题时间 | 单位秒 |
3631   -+----------------+--------------+-------------------------------------+
3632   -| keySn | 键盘Sn | |
3633   -+----------------+--------------+-------------------------------------+
3634   -| keyValue | 键值 | A |
3635   -| | | |
3636   -| | | ABC |
3637   -| | | |
3638   -| | | AABB |
3639   -| | | |
3640   -| | | CBA |
3641   -+----------------+--------------+-------------------------------------+
3642   -
3643   -指令样例:
3644   -
3645   -{\
3646   -    \"fun\":\"answerChoices\",\
3647   -    \"baseId\":1,\
3648   -    \"infos\":{\
3649   -        \"keySn\":\"1479824643\",\
3650   -        \"keyValue\":\"ABC\"\
3651   -    },\
3652   -    \"packetTag\":\"0\"\
3653   -}
3654   -
3655   -判断题:
3656   -
3657   -fun: \"answerTrueFalse\" //自由题型作答返回
3658   -
3659   -baseId: \"1\"//接收到指令的基站ID
3660   -
3661   -infos: {}
3662   -
3663   - ----------------- --------------- --------------------------------------
3664   - Json字段 字段含义 赋值及含义
3665   -
3666   - time 答题时间 单位秒
3667   -
3668   - keySn 键盘Sn
3669   -
3670   - keyValue 键值 1\~2
3671   - ----------------- --------------- --------------------------------------
3672   -
3673   -指令样例:
3674   -
3675   -{\
3676   -    \"fun\":\" answerTrueFalse\",\
3677   -    \"baseId\":1,\
3678   -    \"infos\":{\
3679   -        \"keySn\":\"1479824643\",\
3680   -        \"keyValue\":\"1\"\
3681   -    },\
3682   -    \"packetTag\":\"0\"\
3683   -}
3684   -
3685   -数字题:
3686   -
3687   -fun: \"answerNumber\" //自由题型作答返回
3688   -
3689   -baseId: \"1\"//接收到指令的基站ID
3690   -
3691   -infos: {}
3692   -
3693   - ----------------- --------------- --------------------------------------
3694   - Json字段 字段含义 赋值及含义
3695   -
3696   - time 答题时间 单位秒
3697   -
3698   - keySn 键盘Sn
3699   -
3700   - keyValue 键值 键盘提交的值
3701   - ----------------- --------------- --------------------------------------
3702   -
3703   -指令样例:
3704   -
3705   -{\
3706   -    \"fun\":\"answerNumber\",\
3707   -    \"baseId\":1,\
3708   -    \"infos\":{\
3709   -        \"keySn\":\"1479824643\",\
3710   -        \"keyValue\":\"99.99\"\
3711   -    },\
3712   -    \"packetTag\":\"0\"\
3713   -}
3714   -
3715   -#### 停止作答
3716   -
3717   -发送:
3718   -
3719   -fun: \"stopFreeQuestion\" //停止自由题型
3720   -
3721   -params:{} //默认空
3722   -
3723   -指令样例:
3724   -
3725   -{\
3726   -    \"fun\":\"stopFreeQuestion\",
3727   -
3728   -\"baseId\":0,\
3729   -    \"packetTag\":\"1\"\
3730   -}
3731   -
3732   -接收:
3733   -
3734   -fun: \"stopFreeQuestion\" //停止自由题型
3735   -
3736   -baseId: \"1\"//收到的基站ID
3737   -
3738   -infos:{\"state\":\"OK\"}//返回状态,成功为OK
3739   -
3740   -指令样例:
3741   -
3742   -{\
3743   -    \"fun\":\" stopFreeQuestion \",\
3744   -    \"baseId\":1,\
3745   -    \"infos\":{\
3746   -          \"state\":\"OK\"\
3747   -    },\
3748   -    \"packetTag\":\"1\"\
3749   -}
3750   -
3751   -#### 支持设备说明
3752   -
3753   - ----------------------- ----------------------- -----------------------
3754   - 基站+键盘 支持/不支持 备注
3755   -
3756   - B100-2.4G+S6 不支持
3757   -
3758   - B200-2.4G+S6 支持
3759   -
3760   - B200-5.8G+T2 不支持
3761   - ----------------------- ----------------------- -----------------------
3762   -
3763   -## NFC刷卡
3764   -
3765   -刷卡流程:
3766   -
3767   -刷卡后可以将键盘和基站自动完成配对。当需要刷卡绑定时应用软件先给基站发送一个键盘的姓名,键盘靠近基站感应区就会直接绑定当前数据并返回状态给应用。绑定成功后应用再发送下一个键盘的绑定信息,依次循环来绑定多个。
3768   -
3769   -### 写刷卡数据
3770   -
3771   -发送:
3772   -
3773   -fun: \"writeNFCInfo\" //写NFC绑定数据
3774   -
3775   -baseId: 1//1\~32 (键盘所连基站ID)
3776   -
3777   -params:{}//
3778   -
3779   - ----------------- --------------- --------------------------------------
3780   - Json字段 字段含义 赋值及含义
3781   -
3782   - userName 姓名 最多24个汉字(48个字符),
3783   - 键盘左上角显示
3784   -
3785   - matchCode 配对码 四字节 十六进制显示
3786   - ----------------- --------------- --------------------------------------
3787   -
3788   -指令样例:
3789   -
3790   -{\
3791   -    \"fun\":\"writeNFCInfo\",
  3104 +接收:
3792 3105  
3793   - \"baseId\":1,\
3794   -    \"params\":{\
3795   -        \"userName\":\"张三\",
  3106 +fun: "startKeyPadCustomQuestions" //开始自定义题型
  3107 +baseId: "1"//接收到指令的基站ID
  3108 +infos:{"state":"OK"}//返回状态,成功为OK
3796 3109  
3797   -\"matchCode\":\"22120007\"
  3110 +指令样例:
3798 3111  
3799   -},\
3800   -    \"packetTag\":\"1\"\
  3112 +```json
  3113 +{
  3114 + "baseId": 1,
  3115 + "fun": "startKeyPadCustomQuestions",
  3116 + "infos": {
  3117 + "state": "OK"
  3118 + },
  3119 + "packetTag": "59"
3801 3120 }
  3121 +```
3802 3122  
3803   -### 刷卡绑定反馈
  3123 +#### 接收作答
3804 3124  
3805 3125 接收:
3806 3126  
3807   -fun: \"NFCInfo\" //NFC绑定数据
  3127 +fun: "answerKeyPadCustomQuestions" //自定义题型返回
  3128 +baseId: "1"//接收到指令的基站ID
  3129 +infos: {}
3808 3130  
3809   -baseId: \"1\"//键盘所连基站ID
  3131 +数字范围数据结构
  3132 +| **Json字段** | **字段含义** | **赋值及含义** |
  3133 +| --- | --- | --- |
  3134 +|Time|答题时间|单位秒|
  3135 +|keySn|键盘Sn||
  3136 +|Seq|题序号||
  3137 +|keyValue|键值|键盘提交的值|
3810 3138  
3811   -infos:{}
3812 3139  
3813   -+----------------+--------------+-------------------------------------+
3814   -| Json字段 | 字段含义 | 赋值及含义 |
3815   -+----------------+--------------+-------------------------------------+
3816   -| keySn | 键盘Sn | |
3817   -+----------------+--------------+-------------------------------------+
3818   -| state | 状态 | 1 预留 |
3819   -| | | |
3820   -| | | 2 基站报告正常刷卡的键盘SN |
3821   -| | | |
3822   -| | | 3 预留 |
3823   -| | | |
3824   -| | | 4 刷卡写指定配对码消息 |
3825   -+----------------+--------------+-------------------------------------+
3826   -| number | 数量 | 预留 |
3827   -+----------------+--------------+-------------------------------------+
3828 3140  
3829 3141 指令样例:
3830   -
3831   -{\
3832   -    \"fun\":\"NFCInfo\",\
3833   -    \"baseId\":1,\
3834   -    \"infos\": {\
3835   -            \"keySn\":\"1479824643\",\
3836   -            \"state\":\"4\",
3837   -
3838   -            \"number\":\"0\"\
3839   -        } ,\
3840   -    \"packetTag\":\"1\"\
  3142 +```json
  3143 +{
  3144 + "fun": "answerKeyPadCustomQuestions",
  3145 + "baseId": 1,
  3146 + "infos": {
  3147 + "time": "5.42",
  3148 + "keySn": "1479824643",
  3149 + "seq": "1",
  3150 + "keyValue": "12"
  3151 + },
  3152 + "packetTag": "1"
3841 3153 }
  3154 +```
3842 3155  
3843   -### NFC数据清除指令
3844 3156  
3845   -发送:
  3157 +#### 退出作答
3846 3158  
3847   -fun: \"writeNFCEmpty\" //写NFC绑定数据
  3159 +发送:
3848 3160  
3849   -baseId: 1//1\~32 (键盘所连基站ID)
  3161 +fun: "stopKeyPadCustomQuestions" //停止多题题型
  3162 +params:{} //默认空
3850 3163  
3851   -params:{}//
3852 3164  
3853 3165 指令样例:
  3166 +```json
  3167 +{
  3168 + "fun": "stopKeyPadCustomQuestions",
  3169 + "baseId": 0,
  3170 + "packetTag": "1"
  3171 +}
  3172 +```
3854 3173  
3855   -{\
3856   -    \"fun\":\"writeNFCEmpty\",
3857 3174  
3858   -  \"baseId\":1,\
3859   -    \"params\":{},\
3860   -    \"packetTag\":\"1\"\
3861   -}
  3175 +接收:
  3176 +fun: "stopKeyPadCustomQuestions" //停止键盘测试
  3177 +baseId: "1"//收到的基站ID
  3178 +infos:{"state":"OK"}//返回状态,成功为OK
3862 3179  
3863   -### 支持设备说明
3864 3180  
3865   - ----------------------- ----------------------- -----------------------
3866   - 基站+键盘 支持/不支持 备注
  3181 +指令样例:
  3182 +```json
  3183 +{
  3184 + "fun": "stopKeyPadCustomQuestions",
  3185 + "baseId": 1,
  3186 + "infos": {
  3187 + "state": "OK"
  3188 + },
  3189 + "packetTag": "1"
  3190 +}
  3191 +```
3867 3192  
3868   - B100-2.4G+S6 不支持
3869 3193  
3870   - B200-2.4G+S6 支持 带NFC键盘有效
  3194 +#### 支持设备说明
  3195 +| **基站+键盘** | **支持** | **备注** |
  3196 +| --- | --- | --- |
  3197 +| B200-2.4G+M6 | 支持 |需要指定键盘支持|
3871 3198  
3872   - B200-5.8G+T2 不支持
3873   - ----------------------- ----------------------- -----------------------
3874 3199  
3875   -## 硬件参数
3876 3200  
3877   -硬件的读写操作返回数据都是相同的,具体值参见写指令的value
3878 3201  
3879   -### 基站
  3202 +## NFC刷卡
3880 3203  
3881   -#### 基站编号
  3204 +刷卡流程:
3882 3205  
3883   -读
  3206 +刷卡后可以将键盘和基站自动完成配对。当需要刷卡绑定时应用软件先给基站发送一个键盘的姓名,键盘靠近基站感应区就会直接绑定当前数据并返回状态给应用。绑定成功后应用再发送下一个键盘的绑定信息,依次循环来绑定多个。
  3207 +
  3208 +### 写刷卡数据
3884 3209  
3885 3210 发送:
3886 3211  
3887   -fun: \"readBaseStationID\" //读基站编号
  3212 +fun: "writeNFCInfo" //写NFC绑定数据
  3213 +baseId: 1//1~32 (键盘所连基站ID)
  3214 +params:{}//
  3215 +
  3216 +| **Json字段** | **字段含义** | **赋值及含义** |
  3217 +| --- | --- | --- |
  3218 +|userName|姓名|最多24个汉字(48个字符),键盘左上角显示|
  3219 +|matchCode|配对码|四字节 十六进制显示|
3888 3220  
3889   -baseId: 0//0\~32 (指令不发送baseID,默认为0表示读取所有在线基站)
3890 3221  
3891   -params:{}//可不填
3892 3222  
3893 3223 指令样例:
3894 3224  
3895   -{\
3896   -    \"fun\":\"readBaseStationID\",\
3897   -    \"baseId\":0,\
3898   -    \"packetTag\":\"1\"\
  3225 +```json
  3226 +{
  3227 + "fun": "writeNFCInfo",
  3228 + "baseId": 1,
  3229 + "params": {
  3230 + "userName": "张三",
  3231 + "matchCode": "22120007"
  3232 + },
  3233 + "packetTag": "1"
3899 3234 }
  3235 +```
3900 3236  
3901   -返回
  3237 +### 刷卡绑定反馈
3902 3238  
3903 3239 接收:
  3240 +fun: "NFCInfo" //NFC绑定数据
  3241 +baseId: "1"//键盘所连基站ID
  3242 +infos:{}
3904 3243  
3905   -fun: \"baseStationID\"
3906   -
3907   -baseId: \"2\"//基站ID
  3244 +| **Json字段** | **字段含义** | **赋值及含义** |
  3245 +| --- | --- | --- |
  3246 +|keySn|键盘Sn||
  3247 +|state|状态|1 预留<br>2 基站报告正常刷卡的键盘SN<br>3 预留<br>4 刷卡写指定配对码消息|
  3248 +|number|数量|预留|
3908 3249  
3909   -infos:{\"value\":\"OK\"}//返回基站在线
3910 3250  
3911   -指令样例1
  3251 +指令样例
3912 3252  
  3253 +```json
3913 3254 {
  3255 + "fun": "NFCInfo",
  3256 + "baseId": 1,
  3257 + "infos": {
  3258 + "keySn": "1479824643",
  3259 + "state": "4",
  3260 + "number": "0"
  3261 + },
  3262 + "packetTag": "1"
  3263 +}
  3264 +```
3914 3265  
3915   -\"baseId\": 1,
3916   -
3917   -\"fun\": \"connectBase\",
3918 3266  
3919   -\"infos\": {
  3267 +### NFC数据清除指令
3920 3268  
3921   -\"value\": \"OK\"
  3269 +发送:
  3270 +fun: "writeNFCEmpty" //写NFC绑定数据
  3271 +baseId: 1//1~32 (键盘所连基站ID)
  3272 +params:{}//
3922 3273  
3923   -},
3924 3274  
3925   -\"packetTag\": \"1\"
  3275 +指令样例:
3926 3276  
  3277 +```json
  3278 +{
  3279 + "fun": "writeNFCEmpty",
  3280 + "baseId": 1,
  3281 + "params": {},
  3282 + "packetTag": "1"
3927 3283 }
  3284 +```
3928 3285  
3929   -指令样例2:
  3286 +#### 支持设备说明
  3287 +| **基站+键盘** | **支持** | **备注** |
  3288 +| --- | --- | --- |
  3289 +| B200-2.4G+S6 | 支持 |带NFC键盘有效|
3930 3290  
3931   -{
  3291 +
  3292 +## 硬件参数
3932 3293  
3933   -\"baseId\": 2,
  3294 +硬件的读写操作返回数据都是相同的,具体值参见写指令的value
3934 3295  
3935   -\"fun\": \"connectBase\",
  3296 +### 基站
3936 3297  
3937   -\"infos\": {
  3298 +#### 基站编号
3938 3299  
3939   -\"value\": \"OK\"
  3300 +
3940 3301  
3941   -},
  3302 +发送:
  3303 +fun: "readBaseStationID" //读基站编号
  3304 +baseId: 1//1~32
  3305 +params:{}//可不填
3942 3306  
3943   -\"packetTag\": \"1\"
3944 3307  
3945   -}
3946 3308  
3947 3309 指令样例:
3948   -
3949   -{\
3950   -    \"fun\":\"readBaseStationID\",\
3951   -    \"baseId\":2,\
3952   -    \"packetTag\":\"1\"\
  3310 +```json
  3311 +{
  3312 + "fun": "readBaseStationID",
  3313 + "baseId": 2,
  3314 + "packetTag": "1"
3953 3315 }
  3316 +```
3954 3317  
3955 3318 返回
3956   -
3957 3319 接收:
3958   -
3959   -fun: \"baseStationID\"
3960   -
3961   -baseId: \"2\"//基站ID
3962   -
3963   -infos:{\"value\":\"2\"}//返回基站ID
3964   -
  3320 +fun: "baseStationID"
  3321 +baseId: "2"//基站ID
  3322 +infos:{"value":"2"}//返回基站ID
3965 3323 指令样例:
3966 3324  
3967   -{\
3968   -    \"fun\":\"baseStationID\",\
3969   -    \"baseId\":2,\
3970   -     \"infos\":{
3971 3325  
3972   -\"pathAdd\":\"12345\",\
3973   -        \"value\":\"2\"\
3974   -    },
  3326 +指令样例:
3975 3327  
3976   - \"packetTag\":\"1\"}\
  3328 +```json
  3329 +{
  3330 + "fun": "baseStationID",
  3331 + "baseId": 2,
  3332 + "infos": {
  3333 + "pathAdd": "12345",
  3334 + "value": "2"
  3335 + },
  3336 + "packetTag": "1"
3977 3337 }
3978   -
  3338 +```
3979 3339 支持设备说明
  3340 +| **基站+键盘** | **支持** | **备注** |
  3341 +| --- | --- | --- |
  3342 +| B100-2.4G+S6 | 支持 ||
  3343 +| B200-2.4G+S6 | 支持 ||
  3344 +| B200-5.8G+T2 | 支持 ||
3980 3345  
3981   - ----------------------- ----------------------- -----------------------
3982   - 基站+键盘 支持/不支持 备注
3983   -
3984   - B100-2.4G+S6 支持
3985   -
3986   - B200-2.4G+S6 支持
3987   -
3988   - B200-5.8G+T2 支持
3989   - ----------------------- ----------------------- -----------------------
3990 3346  
3991 3347 #### 基站频点
3992 3348  
3993 3349
3994 3350  
3995 3351 发送:
3996   -
3997   -fun: \"readBaseStationChannel\" //读基站频点
3998   -
3999   -baseId: 0//0\~32 (默认为0表示读取所有基站)
4000   -
  3352 +fun: "readBaseStationChannel" //读基站频点
  3353 +baseId: 0//0~32 (默认为0表示读取所有基站)
4001 3354 params:{}//可不填
4002 3355  
  3356 +
4003 3357 指令样例:
4004 3358  
4005   -{\
4006   -    \"fun\":\"readBaseStationChannel\",\
4007   -    \"baseId\":0,\
4008   -    \"packetTag\":\"1\"\
  3359 +```json
  3360 +{
  3361 + "fun": "readBaseStationChannel",
  3362 + "baseId": 0,
  3363 + "packetTag": "1"
4009 3364 }
  3365 +```
4010 3366  
4011 3367
4012 3368  
4013 3369 发送:
  3370 +发送:
  3371 +fun: "writeBaseStationChannel" //写基站频点
  3372 +baseId: 1//1~32 (必须指定基站)
  3373 +params:{"value":"1"}//1~12 (频点)
4014 3374  
4015   -fun: \"writeBaseStationChannel\" //写基站频点
4016   -
4017   -baseId: 1//1\~32 (必须指定基站)
  3375 +| **Json字段** | **字段含义** | **赋值及含义** |
  3376 +| --- | --- | --- |
  3377 +|value|基站频点|单频点基站有效|
  3378 +|values|基站频点|多频点基站有效|
4018 3379  
4019   -params:{\"value\":\"1\"}//1\~12 (频点)
4020 3380  
4021 3381 指令样例:
4022 3382  
4023   -{\
4024   -    \"fun\":\"writeBaseStationChannel\",\
4025   -    \"baseId\":1,\
4026   -    \"params\":{\
4027   -        \"value\":\"3\"\
4028   -    },
4029   -
4030   - \"packetTag\":\"1\"\
  3383 +```json
  3384 +{
  3385 + "fun": "writeBaseStationChannel",
  3386 + "baseId": 1,
  3387 + "params": {
  3388 + "value": "3",
  3389 + "values": ["3", "6", "9", "12"]
  3390 + },
  3391 + "packetTag": "1"
4031 3392 }
  3393 +```
4032 3394  
4033 3395 返回
4034 3396  
4035 3397 接收:
4036   -
4037   -fun: \"baseStationChannel\"
4038   -
  3398 +fun: "baseStationChannel"
4039 3399 baseId: 1//基站ID
  3400 +infos:{"value":"3"}//返回基站频点值
4040 3401  
4041   -infos:{\"value\":\"3\"}//返回基站频点值
4042 3402  
4043 3403 指令样例:
4044 3404  
4045   -{\
4046   -    \"fun\":\"baseStationChannel\",\
4047   -    \"baseId\":1,\
4048   -     \"infos\":{\
4049   -        \"value\":\"3\"\
4050   -    },
4051   -
4052   - \"packetTag\":\"1\"\
  3405 +```json
  3406 +{
  3407 + "fun": "baseStationChannel",
  3408 + "baseId": 1,
  3409 + "infos": {
  3410 + "value": "3",
  3411 + "values": ["3", "6", "9", "12"]
  3412 + },
  3413 + "packetTag": "1"
4053 3414 }
  3415 +```
4054 3416  
4055 3417 支持设备说明
4056   -
4057   - ----------------------- ----------------------- -----------------------
4058   - 基站+键盘 支持/不支持 备注
4059   -
4060   - B100-2.4G+S6 支持
4061   -
4062   - B200-2.4G+S6 支持
4063   -
4064   - B200-5.8G+T2 支持
4065   - ----------------------- ----------------------- -----------------------
  3418 +| **基站+键盘** | **支持** | **备注** |
  3419 +| --- | --- | --- |
  3420 +|B200-2.4GS+S6|支持单频点|频率范围1~80|
  3421 +|B200-2.4GM+S6|支持多频点|频率范围1~80|
  3422 +|B200-5.8G+T2|支持单频点|频率范围1~12|
4066 3423  
4067 3424 #### 键盘登录菜单显示
4068 3425  
... ...