Commit Graph

5 Commits

Author SHA1 Message Date
Frontend Developer
86296bdb0e start sprint 4 error code mapping
Some checks failed
CI / pytest (Python 3.10) (push) Has been cancelled
CI / pytest (Python 3.11) (push) Has been cancelled
CI / pytest (Python 3.12) (push) Has been cancelled
2026-07-03 21:55:30 +08:00
Frontend Developer
e554215335 finish sprint 1-3 frontend contract closure
Some checks failed
CI / pytest (Python 3.10) (push) Has been cancelled
CI / pytest (Python 3.11) (push) Has been cancelled
CI / pytest (Python 3.12) (push) Has been cancelled
2026-07-03 21:28:50 +08:00
Frontend Developer
e24cbb7d1c feat(sprint-3): 5 个新模块(Share/Query/Review/LLM/Poster)+ G2 闸门通过
Some checks failed
CI / pytest (Python 3.10) (push) Has been cancelled
CI / pytest (Python 3.11) (push) Has been cancelled
CI / pytest (Python 3.12) (push) Has been cancelled
## 5 大新模块(30+ hooks + 5 页面 + 1 LLM 适配器)

### Share Link (T-B-22/28)
- useShareLinkCreate/Delete/LatestQuery/StatsQuery
- ShareDialog 弹窗(QR + 链接 + 复制)
- StatsCard 3 卡(访问数/独立访客/最近访问)
- AccessTrendChart(recharts 折线图)

### Data Query (T-B-23)
- useScoreLineQuery / useRankEstimatorQuery / useMajorsQuery / useSchoolsQuery
- DataQueryPage:4 过滤器 + 等效分数 + 分数线表

### Review Flow (T-B-24)
- useReviewStartMutation / useReviewStatusQuery / useReviewActionMutation
- Zod discriminated union 处理 3 种 action
- 5 状态轮询(pending/in_progress/approved/rejected/changes_requested)
- ReviewPage:状态机 UI + 3 操作按钮

### Portal (T-B-25)
- usePortalCWBQuery / usePortalFullPlanQuery
- PortalPage:token 路由 + 等效分数 + 完整方案

### Poster (T-B-27)
- usePosterGenerateMutation(3 模板 classic/modern/minimal)
- PosterPreviewPage:渐变预览 + 下载 + 复制 QR

### LLM (T-B-17/26)
- 4 模适配器(claude/gpt/gemini/deepseek)
- enhanceWithFallback 链式降级
- useLLMConfig / useAuditEnhanceMutation

## G2 闸门(全部通过)
- typecheck: 0 error
- lint: 0 error 0 warning
- test (Vitest): 37/37 passed (10 文件)
- test:e2e (Playwright): 24/24 passed (4 浏览器 × 6 spec)
- build (Vite): 312 KB gzip (recharts 拆分后主 chunk 83KB)
- codegen:check: 0 any

## 关键技术决策
1. 4 模 LLM fallback 链:claude → gpt → gemini → deepseek
2. 所有 API 强类型 + Zod 校验(apiClient 强制 schema)
3. recharts 拆 manualChunk:chart-vendor 104KB gzip
4. Portal token 路由:/portal/:token 共享 token 自动级联

## Sprint 3 收口报告
SPRINT_3_CLOSEOUT_2026-07-03.md

下一步:Sprint 4 · 性能 + 监控(Sentry / Web Vitals)
2026-07-03 16:42:03 +08:00
Frontend Developer
e8b8ad079e feat(sprint-2): V10 选项 B 完整切换 + G1 闸门通过
框架切换:Next.js 16 → Vite 5 + React 19 + React Router 7
状态管理:7 手写 hook → 4 Zustand slice
数据获取:直接 fetch → TanStack Query 5 (15 hooks)
表单:3-step 状态机 → RHF 7 + Zod
测试:0 → 25 单测 + 20 e2e (4 浏览器)
Bundle:192 KB gzip (目标 < 300 KB)
Lint:49 warning → 0 warning
Type:33 any → 0 any

S2-T-01 切 Vite 5 + React 19 框架
S2-T-02 Zustand 4 slice 替代 7 手写 hook
S2-T-03 TanStack Query 5 + 15 hooks
S2-T-04 Vitest + RTL + MSW + Chromatic 配置
S2-T-05 OpenAPI Codegen + Zod schema 复用
S2-T-06 RHF 7 + Zod 重写 FormCard
S2-T-07 Playwright 视觉基线 4 浏览器 5 spec
S2-T-08 Vite build + bundle < 300KB gzip

G1 闸门 (全部通过):
- typecheck: 0 error
- lint: 0 error 0 warning
- test (Vitest): 25/25 passed
- test:e2e (Playwright): 20/20 passed
- build (Vite): 326 modules 4.14s
- codegen:check: OpenAPI types 非占位

Sprint 2 收口报告:SPRINT_2_CLOSEOUT_2026-07-03.md
2026-07-03 15:51:03 +08:00
Frontend Developer
fa7c22e8ed chore(s1): monorepo skeleton + 30-file prototype first commit
Sprint 1 G0 闸门通过 (pnpm install / typecheck / lint / build / turbo 全部 exit 0)

实际完成:
- T-A-01 monorepo 根骨架: pnpm-workspace.yaml + turbo.json + 根 package.json
- T-A-02 收编原型: apps/web/ 30 个 src/ 文件 (4948 行) 首次入库
- T-A-03 lint/format: eslint flat config (根 + apps/web) + prettier
- T-A-23 web-ci.yml: GitHub Actions 4-step CI (typecheck/lint/build/bundle)

勘误 (前置假设错误):
- 原型 4948 行 (不是 4114 行)
- 原型含 33 个 any + 16 个未用变量 (Sprint 2 修)
- 原型从未 commit, 用 cp -r + git add, 不是 git mv

推迟到 Sprint 2+:
- T-A-04/05 tsconfig packages 抽离
- T-A-06/07/08 design tokens 抽离
- T-A-09~13 5 基础组件

依赖隔离:
- .gitignore 加 11 行 monorepo 规则
- apps/web/.gitignore 补 .npm-cache/next-dev.log
- 删除 apps/web 内嵌 .git/ (cp -r 复制时携带)

验证:
- pnpm install: 1m55s, 456 packages
- typecheck: 0 errors
- lint: 0 errors, 49 warnings (any + unused)
- next build: 8 routes compiled, 9/9 static pages
- turbo run build: 1 successful, 12.9s
2026-07-03 09:22:03 +08:00