安卓客户端功能明细表
2026-09-03 重建版:原文档随工作树清理丢失,按任务记录与接口解析稿(V4.5)复刻。接口清单以解析稿为准(15 个在用 + 2 个废除子接口)。
文档属性
| 属性 |
值 |
| 项目 |
上海城建勘测院 · 监测数据不落地平台安卓客户端 |
| 依据 |
接口管理规范 V4.5、BLE-IE1000/VM208 蓝牙协议说明 |
| 优先级定义 |
P0=应用可发布的最小闭环;P1=重要;P2=增强 |
| 功能点合计 |
36(P0×23 / P1×11 / P2×2) |
模块总览
| 模块 |
名称 |
功能点数 |
P0 |
P1 |
P2 |
| M1 |
我的(登录与配置) |
7 |
5 |
1 |
1 |
| M2 |
首页(项目工作台) |
3 |
2 |
1 |
0 |
| M3 |
任务管理 |
5 |
3 |
2 |
0 |
| M4 |
采集·蓝牙 |
9 |
7 |
2 |
0 |
| M5 |
采集·测点数据 |
4 |
0 |
3 |
1 |
| M6 |
统计与数据上传 |
4 |
2 |
2 |
0 |
| M7 |
基础工程层 |
4 |
4 |
0 |
0 |
| 合计 |
|
36 |
23 |
11 |
2 |
M1 我的(登录与配置)
| 编号 |
功能点 |
对应 API |
优先级 |
说明 |
| M1-01 |
账号密码登录 |
2.2.1 |
P0 |
请求头带 SecretKey/SystemCode,成功取得 Token |
| M1-02 |
获取短信验证码 |
2.2.2 |
P0 |
手机号 +86 需转 %2B86 |
| M1-03 |
验证码登录 |
2.2.3 |
P0 |
国内手机号全匹配校验 |
| M1-04 |
修改登录密码 |
2.3.1 |
P1 |
登录态下操作 |
| M1-05 |
当前用户信息展示 |
2.4 |
P0 |
头像/姓名/角色等 |
| M1-06 |
服务器与密钥配置管理 |
无(本地) |
P0 |
baseUrl/SecretKey/SystemCode/Token 持久化(DataStore+加密),M7-04 落地入口 |
| M1-07 |
退出登录与 Token 清理 |
无(本地) |
P2 |
清除本地 Token 与缓存 |
M2 首页(项目工作台)
| 编号 |
功能点 |
对应 API |
优先级 |
说明 |
| M2-01 |
当前用户项目列表 |
2.5.1.1 |
P0 |
外业人员可参与多项目 |
| M2-02 |
项目基本信息展示 |
2.5.1.1(data) |
P0 |
项目名称/编号/状态 |
| M2-03 |
项目切换 |
2.5.1.1(本地选中态) |
P1 |
切换后任务/统计跟随刷新 |
M3 任务管理
| 编号 |
功能点 |
对应 API |
优先级 |
说明 |
| M3-01 |
APP 端任务列表 |
2.6 |
P0 |
外业人员当日/近期任务 |
| M3-02 |
项目监测计划任务列表 |
2.7 |
P0 |
按监测计划组织 |
| M3-03 |
任务详情 |
2.6/2.7(data) |
P0 |
测组、测点、计划周期等 |
| M3-04 |
任务状态流转展示 |
2.6/2.7(data) |
P1 |
未开始/进行中/已完成 |
| M3-05 |
任务筛选与下拉刷新 |
2.6/2.7 |
P1 |
按状态/时间过滤 |
M4 采集·蓝牙
| 编号 |
功能点 |
对应 API |
优先级 |
说明 |
| M4-01 |
蓝牙与定位权限申请 |
无(系统) |
P0 |
Android 12L 分版(BLUETOOTH_SCAN/CONNECT vs 旧版+定位) |
| M4-02 |
设备扫描 |
无(BLE) |
P0 |
按名称前缀过滤:IE-1000、VM208 |
| M4-03 |
设备连接管理 |
无(BLE GATT) |
P0 |
两设备各有服务/写/Notify UUID;连接状态流 |
| M4-04 |
IE-1000 数据接收解析 |
无(BLE Notify) |
P0 |
帧 'Y'+4B float+'T'+4B float+0D 0A(压力/温度) |
| M4-05 |
VM208 数据接收解析 |
无(BLE Notify) |
P0 |
帧 CC F%05d T%03d E%05d S%c AA+0D 0A;频率/10Hz、温度/10℃、电压/100V |
| M4-06 |
VM208 激励命令下发 |
无(BLE Write) |
P0 |
0F 0F 06 0A XX XX 0D 0A,XX XX 大端 16 位 |
| M4-07 |
采集数据本地暂存 |
无(Room) |
P0 |
先落本地队列,网络可用后上传(离线优先) |
| M4-08 |
采集会话管理 |
无(本地) |
P1 |
开始/停止采集、绑定任务与测点 |
| M4-09 |
断连与异常处理 |
无(BLE) |
P1 |
断连提示、自动重连策略 |
M5 采集·测点数据
| 编号 |
功能点 |
对应 API |
优先级 |
说明 |
| M5-01 |
测组监测点列表 |
2.9 |
P1 |
按测组拉取监测点 |
| M5-02 |
基准点获取 |
2.14 |
P1 |
水平位移等计算的基准 |
| M5-03 |
工点数据 |
2.15 |
P1 |
工点/测项结构(目录页 2.15 笔误 ControlPoint,以正文为准) |
| M5-04 |
手动录入/补录 |
2.13(配合) |
P2 |
无法蓝牙采集时人工录入后走同一上传队列 |
M6 统计与数据上传
| 编号 |
功能点 |
对应 API |
优先级 |
说明 |
| M6-01 |
原始文件上传与解析 |
2.13 |
P0 |
数据解析(原始文件上传),采集文件的兜底通道 |
| M6-02 |
项目监测计划统计表 |
2.10 |
P0 |
项目维度完成度 |
| M6-03 |
测组统计表 |
2.11 |
P1 |
指定监测计划的测组统计 |
| M6-04 |
监测点统计表 |
2.12 |
P1 |
测点维度历史数据 |
M7 基础工程层
| 编号 |
功能点 |
对应 API |
优先级 |
说明 |
| M7-01 |
网络框架 |
全部 |
P0 |
鉴权三要素拦截器 + 200/500/429/403 统一解析(core:network) |
| M7-02 |
本地存储框架 |
无 |
P0 |
Room 队列 + 加密配置存储(core:database + DataStore) |
| M7-03 |
协议解析独立模块 |
无 |
P0 |
纯 Kotlin JVM,脱离真机可单测(ble-protocol) |
| M7-04 |
密钥配置管理 |
无 |
P0 |
SecretKey/SystemCode 不进代码库,可随时更换(.gitignore + ConfigRepository) |
第 3 节 待确认问题(8 项)
| # |
问题 |
缺省处理 |
| 1 |
SecretKey/SystemCode 的分发与更换流程 |
做成配置项,支持不换包更换 |
| 2 |
Token 有效期与刷新机制 |
无刷新接口,过期按 401/500 重新登录 |
| 3 |
429/403 的解锁规则与窗口 |
按接口文档语义提示用户稍后重试 |
| 4 |
任务状态是否允许 APP 端上报变更 |
S0 只读展示,不上报 |
| 5 |
2.13 原始文件上传的文件格式与大小限制 |
按采集仪原始文件直传 |
| 6 |
监测值上传是否走 2.8(已废除)替代接口 |
以 2.13 + 待定接口为准,待院方确认 |
| 7 |
蓝牙后台采集是否需要 |
默认前台采集 |
| 8 |
多项目并行采集的合并口径 |
单项目单会话 |
附录 A 接口覆盖对照
| 章节 |
接口名称 |
状态 |
承载模块 |
| 2.2.1 |
账号密码登录 |
在用 |
M1-01 |
| 2.2.2 |
发送验证码 |
在用 |
M1-02 |
| 2.2.3 |
手机验证码登录 |
在用 |
M1-03 |
| 2.3.1 |
修改登录密码 |
在用 |
M1-04 |
| 2.4 |
获取当前用户信息 |
在用 |
M1-05 |
| 2.5.1.1 |
获取当前用户项目列表 |
在用 |
M2-01/02/03 |
| 2.6 |
获取 APP 端任务列表 |
在用 |
M3-01/03/04/05 |
| 2.7 |
获取项目监测计划任务列表 |
在用 |
M3-02/03/04/05 |
| 2.8.1 |
获取监测计划 |
废除 |
不实现 |
| 2.8.2 |
上传本次监测值 |
废除 |
不实现(上传通道待院方确认,见待确认 #6) |
| 2.9 |
获取测组包含的监测点列表 |
在用 |
M5-01 |
| 2.10 |
获取项目监测计划统计表 |
在用 |
M6-02 |
| 2.11 |
获取指定监测计划的测组统计表 |
在用 |
M6-03 |
| 2.12 |
监测点统计表 |
在用 |
M6-04 |
| 2.13 |
数据解析(原始文件上传) |
在用 |
M6-01、M5-04 |
| 2.14 |
获取基准点 |
在用 |
M5-02 |
| 2.15 |
获取工点数据 |
在用 |
M5-03 |
返回状态值约定(接口文档 1.1):200 成功;500 失败;429 同一条数据一分钟内频繁请求超限;403 同一条数据连续报错超限。