Files
patbond-doc/docs/development/iterations/iteration-1/index.md
T
lixi 273064c10d docs: 第三波交付收口——认证契约与两端实现报告入档
- 新增 API 契约:docs/api/openapi.yaml(T6a 正式化)与契约说明页(契约先行原则)
- 入档报告 16(后端 JWT 会话,37→73 测试)与 17(Flutter 登录纵切,7→30 测试)
- 进展看板更新至第三波完成,第四波为联调 E2E → CI → 编排 → 埋点
- 门禁:mkdocs build --strict 通过
2026-09-04 12:18:29 +08:00

4.5 KiB
Raw Blame History

第一迭代进展看板

目标:真实登录纵切(注册 → 登录 → 获取当前用户 → 退出),依据开发实施计划第 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,移除 NacosADR-001/002),common 瘦身,Maven Wrapper,测试 0 → 21patbond-api@c7ddaec,报告 07)。
  • Flutter 迁移珊瑚橙主题(ADR-005),新增 5 个认证组件 + 6 个 widget 测试(patbond-flutter@af002ed,报告 08)。
  • ADR-001~005 入档(patbond-doc@ca8cb72,见技术决策记录)。

第二波:持久化纵切

  • Flyway V1 baselineidentity/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 + T6apatbond-api@4dc3dcd,报告 16):JWT RS25615m/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 契约说明

下一步(第四波,未启动)

  1. 真实联调 + E2ET8:起后端双服务 + compose postgres:18Flutter 连真实 API 走通注册 → 登录 → me → 刷新 → 退出;按报告 14 的验收证据清单收集证据。前置:本地编排(T0-4,compose 拉起 postgres:18 与两个服务)。
  2. CI 载体:三仓门禁进 CI(命令表在 Git 工作流规范)。
  3. 埋点落地:按报告 13 实现 /api/v1/events + platform.product_events 迁移 + Flutter lib/analytics/
  4. 杂项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 第二波交付与复核。文件名编号即时间顺序,各报告首节均有摘要。