Files
m-stecmd/docs/安卓客户端功能明细表.md
阿猫 a976bf525a chore(merge): Update documentation files and file index
- Update Android client architecture documentation
- Update Android client feature specification
- Update Android client development plan
- Refresh file index metadata
2026-09-03 13:48:09 +08:00

134 lines
7.2 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 安卓客户端功能明细表
> 2026-09-03 重建版原文档随工作树清理丢失按任务记录与接口解析稿V4.5复刻。接口清单以解析稿为准15 个在用 + 2 个废除子接口)。
## 文档属性
| 属性 | 值 |
|---|---|
| 项目 | 上海城建勘测院 · 监测数据不落地平台安卓客户端 |
| 依据 | 接口管理规范 V4.5、BLE-IE1000/VM208 蓝牙协议说明 |
| 优先级定义 | P0=应用可发布的最小闭环P1=重要P2=增强 |
| 功能点合计 | 36P0×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.1data | 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.7data | P0 | 测组、测点、计划周期等 |
| M3-04 | 任务状态流转展示 | 2.6/2.7data | 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.1200 成功500 失败429 同一条数据一分钟内频繁请求超限403 同一条数据连续报错超限。