273064c10d
- 新增 API 契约:docs/api/openapi.yaml(T6a 正式化)与契约说明页(契约先行原则) - 入档报告 16(后端 JWT 会话,37→73 测试)与 17(Flutter 登录纵切,7→30 测试) - 进展看板更新至第三波完成,第四波为联调 E2E → CI → 编排 → 埋点 - 门禁:mkdocs build --strict 通过
4.5 KiB
4.5 KiB
第一迭代进展看板
目标:真实登录纵切(注册 → 登录 → 获取当前用户 → 退出),依据开发实施计划第 8 节。 更新日期:2026-09-04(第三波交付后)。本页是团队共享的进度事实来源,每波工作交付后更新。
当前状态一览
| 状态 | 内容 |
|---|---|
| ✅ 已完成 | 开工分析(01-06)、工程基线(第一波)、持久化纵切(第二波)、JWT 会话 + Flutter 登录纵切 + OpenAPI 契约(第三波)、ADR-001~008 |
| 🔜 下一步 | 第四波:真实前后端联调与端到端验证 → CI 载体 → 本地编排(compose)→ 埋点落地 |
| ⚠️ 未闭环 | access token 无主动吊销(≤15 分钟窗口)、/internal 为静态密钥、auth_sessions 无过期清理任务、前端全链路仅 mock 验证未联调、CI 载体缺失、TagPill 设计债 |
已完成(附提交)
第一波:工程基线
- 后端升级 Spring Boot 3.5.16 / JDK 17,移除 Nacos(ADR-001/002),common 瘦身,Maven Wrapper,测试 0 → 21(
patbond-api@c7ddaec,报告 07)。 - Flutter 迁移珊瑚橙主题(ADR-005),新增 5 个认证组件 + 6 个 widget 测试(
patbond-flutter@af002ed,报告 08)。 - ADR-001~005 入档(
patbond-doc@ca8cb72,见技术决策记录)。
第二波:持久化纵切
- Flyway V1 baseline(identity/media)、用户 UUIDv7 持久化到 PostgreSQL、统一异常与错误码透传,测试 21 → 37,全部经 Testcontainers 验证(
patbond-api@bd20adc,报告 10)。 - 独立复核确认第一波声明属实(报告 11);UI 设计 QA + 登录/注册/Splash 组装稿(报告 12);埋点工程规范(报告 13);mkdocs 门禁打通(报告 14);Git 工作流规范入档(
patbond-doc@027876a,报告 15)。 - ADR-006/007/008 入档:测试与交付容器化、部署形态、PostgreSQL 18 基线(Testcontainers 镜像切换
patbond-api@43ab6c5)。
第三波:认证纵切两端交付
- 后端 T4 + T6a(
patbond-api@4dc3dcd,报告 16):JWT RS256(15m/30d 配置项)、refresh 轮换会话(auth_sessions 摘要 + token_family + 重用撤销全族)、多设备并行、登录锁定(42300)、/api/v1前缀、/internal共享密钥鉴权;测试 37 → 73,含双服务真实 HTTP E2E。附带修复两个存量缺陷:Feign 错误解码器被子上下文遮蔽、JDK HttpURLConnection 读不到 401 错误体(此前下游错误在真实链路折叠为 503)。 - Flutter 登录纵切(
patbond-flutter@8d890c0+ 42300 映射da25804,报告 17):dio 网络层(--dart-define=PATBOND_API_BASE_URL)、单飞 TokenRefresher、secure storage 会话、Splash/登录/注册三页照组装稿实现、真实退出入口;测试 7 → 30;契约零偏差;FIX-1/FIX-2/m2 一并修复。 - OpenAPI 契约正式化:docs/api/openapi.yaml,契约先行原则见 API 契约说明。
下一步(第四波,未启动)
- 真实联调 + E2E(T8):起后端双服务 + compose postgres:18,Flutter 连真实 API 走通注册 → 登录 → me → 刷新 → 退出;按报告 14 的验收证据清单收集证据。前置:本地编排(T0-4,compose 拉起 postgres:18 与两个服务)。
- CI 载体:三仓门禁进 CI(命令表在 Git 工作流规范)。
- 埋点落地:按报告 13 实现
/api/v1/events+platform.product_events迁移 + Flutterlib/analytics/。 - 杂项:auth_sessions 过期清理任务、Flutter 版本锁定(T0-2)、TagPill 设计债(DEBT-1)。
环境与构建(新成员必读)
- 后端构建:
JAVA_HOME=/usr/lib/jvm/java-17-openjdk ./mvnw clean test(本机默认 JDK 版本过高,必须显式指 17;需 Docker 供 Testcontainers 起 postgres:18,见 ADR-008)。 - Flutter 门禁:
dart format --output=none --set-exit-if-changed lib test/flutter analyze/flutter test。 - 文档门禁:
mkdocs build --strict。 - 测试数据库策略见 ADR-006:自动化测试一律 Testcontainers,个人手动联调用本机 PostgreSQL(环境变量注入连接信息)。
报告目录
01-06 为开工前六角色分析(任务分解/技术评估/现状核实/UI 规范/埋点规划/质量审计),07-08 第一波交付,09-15 第二波交付与复核。文件名编号即时间顺序,各报告首节均有摘要。