From 7026ab5f10c1bf99842bf2da24196eb0eb34e6ff Mon Sep 17 00:00:00 2001 From: liuqin Date: Wed, 30 Jul 2025 09:32:42 +0800 Subject: [PATCH] 增加表决功能的相关接口,暂只有三键表决,适配M5 --- 通讯协议-平台化-应用部分[内部].md | 85 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 84 insertions(+), 1 deletion(-) diff --git a/通讯协议-平台化-应用部分[内部].md b/通讯协议-平台化-应用部分[内部].md index 9651a3e..b7106d2 100644 --- a/通讯协议-平台化-应用部分[内部].md +++ b/通讯协议-平台化-应用部分[内部].md @@ -32,7 +32,7 @@ SunVote 二次开发
通讯协议

-Ver 1.0.10 +Ver 1.0.11


@@ -77,6 +77,7 @@ Ver 1.0.10 |1.0.8| 2025年7月8日|刘琴|1. 增加读写基站MAC地址(内部)| |1.0.9| 2025年7月17日|刘琴|1. 基站自检项增加字库检测
2. 键盘扫描指令增加键盘id返回
3. 修改设置键盘ID和返回事件为外部指令| |1.0.10| 2025年7月24日|刘琴|1. 增加写键盘OEM型号名称| +|1.0.11| 2025年7月30日|刘琴|1. 增加表决功能(暂只有三键表决)|

@@ -304,6 +305,8 @@ WebSocket方式应用与SDK建立长连接后,通过WebSocket接口发送接 |文本题|启动文本题答题|[startQAEText](#startqaetext)|[sEvtStateCode](#sevtstatecode)
[fEvtQAEText](#fevtqaetext)| ||停止文本题答题|[stopKpVote](#stopkpvote)|[sEvtStateCode](#sevtstatecode)| |短消息|发送短消息|[sendKpMsg](#sendkpmsg)|[sEvtStateCode](#sevtstatecode)
[fEvtKpMsg](#fevtkpmsg)| +|表决|启动表决|[startQAVote](#startqavote)|[sEvtStateCode](#sevtstatecode)
[fEvtQAVote](#fevtqavote)| +||停止表决|[stopKpVote](#stopkpvote)|[sEvtStateCode](#sevtstatecode)| |待机实时反馈|设置待机实时反馈状态|[setKpStbResponse](#setkpstbresponse)|[fEvtKpStbResponse](#fevtkpstbresponse)
[sEvtKpRtFeedback](#sevtkprtfeedback)
[sEvtKpHandUp](#sevtkphandup)| ||获取待机实时反馈状态|[getKpStbResponse](#getkpstbresponse)|[fEvtKpStbResponse](#fevtkpstbresponse)| ### 语音反馈 @@ -1445,6 +1448,7 @@ WebSocket方式应用与SDK建立长连接后,通过WebSocket接口发送接 } } ``` + ##### fEvtBsCapacity - **主题**: /basestation/{baseSN}/receive - **功能描述**:返回基站容量 @@ -1469,6 +1473,7 @@ WebSocket方式应用与SDK建立长连接后,通过WebSocket接口发送接 } } ``` + ##### fEvtBsChannel - **主题**: /basestation/{baseSN}/receive - **功能描述**:返回基站信道 @@ -5310,6 +5315,84 @@ WebSocket方式应用与SDK建立长连接后,通过WebSocket接口发送接 } ``` +### 表决 +#### 方法 +##### startQAVote +- **主题**:/client/{baseSN}/send +- **功能描述**:启动表决 +- **参数说明** + +|参数名|类型|限制|是否必填|说明| +|---|---|---|---|---| +|fun|string|-|是|指令名称| +|dataTag|string|-|否|数据包标识,可为空字符串| +|baseSn|string||是|基站的出厂编码| +|data|object|-|是|传送参数的对象| +|+keySns|array||是|指定的键盘SN数组,空数组表示全部在线键盘| +|+mode|int||是|1 - 赞成/反对/弃权| +|+allowModify|int||是|0 - 不允许修改
1 - 允许修改| +|+isSecrecy|int||是|0 - 不保密
1 - 保密| +|+tip|string||否|提示的标题,长度不超过16字符| +|+simParams|object||否|内部模拟测试参数设置对象| +|++answer|string||是|预设提交的按键值
1-对
2-错| + +- **示例代码** + +```json +{ + "fun":"startQAVote", + "dataTag":"1", + "baseSn":"2024061101", + "data":{ + "keySns":[], + "mode":1, + "allowModify":1, + "isSecrecy":0, + "tip":"请按键表决" + } +} +``` + +##### [stopKpVote](#stopkpvote) +停止判断题答题 + +#### 事件 +##### [sEvtStateCode](#sevtstatecode) +发送指令后返回接收状态 + +##### fEvtQAVote +- **主题**:/basestation/{baseSN}/receive +- **功能描述**:返回键盘提交表决信息 +- **参数说明** + +|参数名|类型|限制|非空|说明| +|---|---|---|---|---| +|fun|string|-|是|指令名称| +|dataTag|string|-|否|数据包标识,可为空字符串| +|baseSn|string||是|基站的出厂编码| +|data|array|-|是|传送参数的对象数组| +|++keySn|string||是|键盘SN| +|++keyValue|string||是|键盘提交的按键值
1-赞成
2-反对
3-弃权| +|++keyTime|double||是|答题时间,从启动开始计算,单位毫秒| +|++voltage|double||是|键盘电量| +|++retryCount|int||是|键盘提交数据的重发次数| + +- **示例代码** + +```json +{ + "fun":"fEvtQAVote", + "dataTag":"1", + "baseSn":"2024061101", + "data": [{ + "keySn": "1234567890", + "keyValue":"1", + "keyTime":2300 + } + ] +} +``` + ### 待机实时反馈 #### 方法 ##### setKpStbResponse -- libgit2 0.21.4