AppManager doc.

This commit is contained in:
Fancy code 2024-05-25 11:09:00 +08:00
parent 6bd70cc0e5
commit eec9fb49a2

View File

@ -3,6 +3,7 @@
| 版本 | 时间 | 说明 |
| ---- | ---- | ---- |
| V1.0 | 2024-5-21 | 首次评审。 |
| V1.1 | 2024-5-25 | 增加标准设置项和动态设置参数协议。 |
## 1.1. 概述
@ -99,36 +100,39 @@
**记录仪当前参数列表:**
| 参数名称 | 数据类型 | 取值说明 | 备注 |
| ---- | ---- | ---- | ---- |
| 记录仪WiFi名称 | ---- | ---- | ---- |
| 记录仪WiFi密码 | ---- | ---- | ---- |
| 固件版本 | ---- | ---- | ---- |
| 格式化存储卡 | ---- | ---- | ---- |
| 恢复出厂设置 | ---- | ---- | ---- |
| 参数名称 | 数据类型 | 取值说明 | 公版支持 | 备注 |
| ---- | ---- | ---- | ---- | ---- |
| 记录仪WiFi名称 | ---- | ---- | 支持 | ---- |
| 记录仪WiFi密码 | ---- | ---- | 支持 | ---- |
| 固件版本 | ---- | ---- | 支持 | ---- |
| 格式化存储卡 | ---- | ---- | 支持 | ---- |
| 恢复出厂设置 | ---- | ---- | 支持 | ---- |
**打猎机参数需求列表:**
| 参数名称 | 数据类型 | 取值说明 | 备注 |
| ---- | ---- | ---- | ---- |
| 记录仪WiFi名称 | ---- | ---- | ---- |
| 记录仪WiFi密码 | ---- | ---- | ---- |
| 固件版本 | ---- | ---- | 仅显示 |
| ---- | ---- | ---- | ---- |
| 电量 | ---- | ---- | 仅显示 |
| 工作模式 | 数字 | 0图片<br>1图片+视频 | ---- |
| 连拍|数字 | 1/2/3 | 单位P |
| 连拍间隔 | 数字 | 0~60 | 单位s |
| 图片大小 | 数字 | 8/16/24/32/40 | 单位M |
| 视频长度 | 数字 | 10/15 | 单位s |
| PIR延时 | 数字 | 0~60 | 单位s |
| 工作时间 | 时间 | 起始的时间设置<br>例如起点2000至终点600 | ---- |
| 循环存储 | 数字 | 0OFF<br>1ON | ---- |
| 红外灯功率 | 数字 | 0/1/2 | 低/中/高 |
| PIR灵敏度 | 数字 | 0~9 | ---- |
| 恢复出厂 | ---- | ---- | 功能 |
| 格式化SD卡 | ---- | ---- | 功能 |
| 重启 | ---- | ---- | 功能 |
| 参数名称 | 数据类型 | 取值说明 | 公版支持 | 备注 |
| ---- | ---- | ---- | ---- | ---- |
| 记录仪WiFi名称 | ---- | ---- | 支持 | ---- |
| 记录仪WiFi密码 | ---- | ---- | 支持 | ---- |
| 固件版本 | ---- | ---- | 支持 | 仅显示 |
| ---- | ---- | ---- | ---- | ---- |
| 电量 | ---- | ---- | 未支持 | 仅显示 |
| 工作模式 | 数字 | 0图片<br>1图片+视频 | 未支持 | ---- |
| 连拍|数字 | 1/2/3 | 未支持 | 单位P |
| 连拍间隔 | 数字 | 0~60 | 未支持 | 单位s |
| 图片大小 | 数字 | 8/16/24/32/40 | 未支持 | 单位M |
| 录像分辨率 | 数字 | 0WVGA<br>1HD<br>2FHD | 未支持 | ---- |
| 录像帧率 | 数字 | 15/30 | 未支持 | 单位fps |
| 视频长度 | 数字 | 10/15 | 未支持 | 单位s |
| PIR延时 | 时间 | 00:00:00-23:59:59 | 未支持 | 两个PIR之间的最小间隔 |
| 定时工作 | 时间 | 00:00:00-23:59:59 | 未支持 | 定时唤醒 |
| 工作时间 | 时间 | 起始的时间设置<br>例如起点2000至终点600 | 未支持 | ---- |
| 循环存储 | 数字 | 0OFF<br>1ON | 未支持 | ---- |
| 红外灯功率 | 数字 | 0/1/2 | 未支持 | 低/中/高 |
| PIR灵敏度 | 数字 | 0~9 | 未支持 | ---- |
| 恢复出厂 | ---- | ---- | 支持 | 功能 |
| 格式化SD卡 | ---- | ---- | 支持 | 功能 |
| 重启 | ---- | ---- | 未支持 | 功能 |
#### 1.2.2.3. 问题列表
@ -139,13 +143,15 @@
## 1.3. APP定制整改总结
&emsp;&emsp;**基于公版基础,未修改原有协议,做界面显示定制和增量开发,方案可控。**
1. “记录仪”统一修改为“相机”;
答:公版无法修改,需要定制。
2. 本地相册-“紧急”分类改为“PIR”
3. APP连接设备后自动录像改为默认不录像可手动录像
答:设备返回非记录仪即可,见能力集。
4. APP上的“循环”改成“全部”“拍照”改成“手动”“紧急”改成“PIR”“停车”改成“定时”**全部包括手动/PIR/定时**
5. 相机设置需要实现设备自定义设置项功能;
5. **相机设置需要实现设备自定义设置项功能;**
## 1.4. 设置界面动态渲染方案设计
@ -165,11 +171,130 @@
### 1.4.2. 动态渲染设置界面
1. APP获取设置参数列表协议根据设置类型定义
2. 设置界面根据设置类型显示设置控件;
3. 有操作后回传自定义控件信息;
4. 设备根据协议解析操作的控件,并执行自定义行为;
#### 1.4.2.1. 新增动态设置参数协议
**获取动态设置参数列表**
| | |
| ---- | ---- |
| 描述 | 获取动态设置参数列表。 |
| 接口 | http://192.168.1.100/app/getdynamicparam |
| 参数 | ?index=all // 获取全部动态设置参数<br>?index=6 // 获取索引号为6的动态设置参数 |
| 返回参数 | result:0-成功,-1-失败<br>info:动态参数列表 |
**获取全部动态参数返回示例:**
```code
{
"result": 0,
"info":
[
{
"name": "SettingName", // 直接显示在APP界面
"type": "label", // 显示控件类型,只显示
"value": "0-表示字符串", // 当前值
"index": 0 // 参数索引,直接回传给设备
},
{
"name": "NumberName",
"type": "inputnum", // 数字输入框,带单位显示
"value": 123456789,
"unit": "s", // 单位,可选,如果有则显示单位
"index": 1 // 参数索引,直接回传给设备
},
{
"name": "SwitchName",
"type": "switch", // 开关0-关1-开
"value": 0, // 当前值0-关1-开
"index": 2 // 参数索引,直接回传给设备
},
{
"name": "InputStringName",
"type": "inputstring", // 任意字符输入框,无限制
"value": "0123abcDEF!@#", // 当前值
"index": 3 // 参数索引,直接回传给设备
},
{
"name": "TimeSettingName",
"type": "time", // 时间设置(24小时制)格式hh-mm-ss
"value": "23:59:59", // 当前值格式hh-mm-ss
"index": 4 // 参数索引,直接回传给设备
},
{
"name": "ConfirmName",
"tips": "Confirm?", // 提示信息没有时使用name
"type": "comfirm", // 功能按钮(确认框)
"index": 5 // 参数索引,直接回传给设备
},
{
"name": "OptionName",
"type": "option", // 选项设置
"items": ["Option0","Option1"], // 选项列表,格式:["选项1","选项2",...]
"value": 1, // 当前值, 索引值0-Option01-Option1
"index": 6 // 参数索引,直接回传给设备
}
]
}
```
响应值描述:
| 参数名 | 类型 | 描述 |
| ---- | ---- | ---- |
| name | String | 直接显示在APP |
| type | String | 控件类型:<br>label-字符串,仅显示内容,无法修改<br>inputnum-数字<br>switch-开关(0-关1-开) <br>inputstring-任意字符输入<br>time-时间设置<br>comfirm-功能按钮(确认框)<br>option-选项设置 |
| value | ---- | 当前值类型根据type定义来确定 |
| unit | String | 单位如果有则在APP界面显示 |
| index | int | 索引值,设备使用,根据索引值知道修改哪个参数 |
**动态设置项设置协议**
| | |
| ---- | ---- |
| 描述 | 动态设置项设置协议 |
| 接口 | http://192.168.1.100/app/dynamicparamset |
| 参数 | ?index=1&value=0123456789 // 数字输入框<br>?index=2&value=0 // 开关0-关1-开<br>?index=3&value=0123abcDEF!@# // 任意字符输入框<br>?index=4&value=23:59:59 // 时间<br>?index=5&value=0 // 0-取消1-确认 <br>?index=6&value=1 // 0-Option01-Option1以此类推 |
| 返回参数 | result:0-成功,-1-失败<br>返回成功后重新获取动态参数显示 |
**动态设置项设置返回示例:**
```code
{
"result" : 0,
"info" : "success."
}
```
**动态参数显示/设置UML时序图**
```mermaid
sequenceDiagram
participant APP
participant CAMERA
APP ->> APP:进入设置界面
APP ->> +CAMERA:http:getdynamicparam?index=all
CAMERA -->> -APP:return
loop 设置界面停留
opt 用户修改参数
APP ->> APP:用户修改参数
APP ->> +CAMERA:http:dynamicparamset?index=2
CAMERA -->> -APP:return
alt result=0
APP ->> APP:修改成功
APP ->> +CAMERA:http:getdynamicparam?index=2
CAMERA -->> -APP:return
APP ->> APP:刷新设置项显示
else result=-1
APP ->> APP:修改失败
end
end
end
opt 设备端修改参数
note over CAMERA: 设备端修改参数未能同步(未发现同步协议)
end
APP ->> APP:退出设置界面
```
### 1.4.3. 拓展规划
&emsp;&emsp;需要考虑拓展为4G版本。
&emsp;&emsp;后续如何拓展为4G版本