chore: track version files, docs, web app split, scripts (missed commits from March work)

This commit is contained in:
2026-09-13 08:41:35 +08:00
parent 84c709bbcc
commit edf76db56b
33 changed files with 3082 additions and 504 deletions
+61
View File
@@ -0,0 +1,61 @@
# INP2P Android 客户端开工计划(MVP → V1)
## 目标
在不改动核心服务端协议的前提下,先交付“可运维、可观察、可控风险”的安卓客户端。
## 分阶段路线
### Phase 0:开工准备(1-2 天)
- 明确 API 契约(当前后端已具备)
- 固化角色与权限矩阵(admin/operator/apikey)
- 建立 Android 项目骨架(Kotlin + Compose + Retrofit + Room + WorkManager)
- 建立日志/崩溃/埋点规范
### Phase 1:MVP(5-7 天)
- 登录/会话管理(`/api/v1/auth/login`)
- 节点列表与状态(`/api/v1/nodes`)
- 手动 connect(`/api/v1/connect`)
- 远程推配置(`/api/v1/nodes/apps`)
- 节点踢下线(`/api/v1/nodes/kick`,仅 admin/operator)
- SDWAN 基础配置只读 + 编辑(按权限)
- 审计查看(admin only,`/api/v1/admin/audit`)
### Phase 2:增强(7-10 天)
- 设置页:高级开关联动(`/api/v1/admin/settings`)
- 断线重连与 Token 续期提示
- 更完整的错误态/空态/离线态
- 细化操作确认(高风险动作二次确认)
### Phase 3:V1(后续)
- VpnService + TUN 数据面接入
- 网络切换稳定性(Wi-Fi/4G)
- 前台服务保活与电量策略优化
## MVP 范围边界(本次明确)
- ✅ 做:控制面(鉴权、查询、下发)
- ❌ 不做:首版直接上 TUN 全数据面
## 技术选型(建议)
- 语言:Kotlin
- UI:Jetpack Compose
- 网络:Retrofit + OkHttp
- 本地存储:Room + EncryptedSharedPreferences
- 并发:Kotlin Coroutines + Flow
- 任务调度:WorkManager
- 最低版本:Android 8.0+
## 核心风险与对策
1. Token 过期导致操作失败
- 对策:统一 401 拦截,跳登录;关键动作前校验登录态。
2. 移动网络切换导致请求失败
- 对策:重试策略(指数退避)、弱网提示、幂等操作提示。
3. 高危动作误触(kick/connect/sdwan)
- 对策:二次确认 + 审计可追踪 + 角色按钮可见性控制。
4. 后端字段变动影响兼容
- 对策:DTO 宽容解析 + 版本检查 + 契约文档锁定。
## 验收标准(MVP)
- 能用 admin/operator 成功登录并执行对应权限动作
- apikey 仅可读,写操作被正确拒绝
- 关键操作成功/失败信息明确可见
- 审计与后端一致(至少覆盖 connect/kick/apps/sdwan)