docs(architecture): 组件化重构专项完成 - 同步 005 lastUpdate + known-issues 第 25 章

- 005 JSON: lastUpdate 更新为组件化重构专项全量完成摘要
- known-issues.md: 新增第 25 章(4 个小节:底座使用规则/拆分模式/迁移规则/验证规则)
- 9 个巨型文件全部 ≤500 行,49 个重复组件全部删除
This commit is contained in:
SpecialX
2026-07-06 20:57:14 +08:00
parent fa68ec0b34
commit ee10380462
2 changed files with 48 additions and 1 deletions

View File

@@ -5,7 +5,7 @@
"generatedAt": "2026-06-17",
"formatVersion": "1.1",
"rule": "每次文件修改后须同步更新本文件",
"lastUpdate": "Phase 4.6 grades 模块组件化重构闭环完成2026-07-06(1) 拆分 batch-grade-entry.tsx 巨型文件 — 将试卷/班级选择器(含未选态引导)拆至 batch-grade-entry-selectors.tsx、底部工具栏清除/保存/粘贴提示)拆至 batch-grade-entry-toolbar.tsx主组件从 457 行降至 374 行,容器仅负责状态编排与 Server Action 调用;(2) 拆分 grade-record-list.tsx 巨型文件 — 行渲染(桌面表格 + 移动端卡片堆叠)拆至 grade-record-row.tsx、编辑/单条删除/批量删除对话框集合拆至 grade-record-detail.tsx导出 EditableFields 类型 + toEditableFields 工具函数),主组件从 523 行降至 231 行;(3) 迁移 4 个重复组件到共享底座并删除原文件 — grade-stats-card.tsx → StatsGrid + StatItem 组合class-grade-report.tsx 内联 8 个统计项、grade-filters.tsx → app 层 student-grade-filters.tsx复用 FilterBar + FilterSearchInput + Select + nuqs useQueryState、grade-query-filters.tsx → app 层 teacher-grade-query-filters.tsx复用 FilterBar + Select + useRouter/useSearchParams、analytics-filters.tsx → app 层 analytics-grade-filters.tsx复用 FilterBar + ChipNav保留原 buildHref URL 构造逻辑。同步更新StatItem/ChipNav/FilterBar/FilterSearchInput 的 usedBy 列表、GradeStats/isGradeType/isSemester 的 usedBy 列表、BatchGradeEntry 与 GradeRecordList 与 ClassGradeReport 的 purpose/props/deps、新增 4 个子组件条目BatchGradeEntrySelectors/BatchGradeEntryToolbar/GradeRecordRow/GradeRecordDetail、删除 4 个旧组件条目GradeStatsCard/GradeQueryFilters/AnalyticsFilters 及 grades/components/grade-filters 隐式条目。验证npx tsc --noEmit 零错误npm run lint 仅 3 个 pre-existing react-hooks/refs 错误(位于未修改的 use-exam-preview-tasks.tsgrep 确认旧组件名GradeStatsCard/GradeFilters/GradeQueryFilters/AnalyticsFilters无业务代码残留。前次更新缓存策略落地专项重构完成2026-07-05覆盖全部 28 个模块,新增 shared/lib/cache/ 9 个文件 + INVALIDATION_MAP 203 个 actionIddata-access 83 文件 250+ 查询函数迁移至 cacheFn 双导出模式actions 43 文件 247 处 revalidatePath 替换为 invalidateFor详细见 004 第 1.1.6 节。",
"lastUpdate": "组件化重构专项全量完成2026-07-06三批 10 个模块闭环 + Phase 1 底座补全。Phase 1新增 ErrorBoundary 基础类组件、StatsGrid 容器、SkeletonCard variant收敛 SectionErrorBoundary/RouteErrorBoundary/WidgetBoundary 为 preset。第 1 批grades/attendance/error-book/elective拆分 batch-grade-entry (457→375) + grade-record-list (523→231)迁移 12 个重复组件到 StatsGrid/FilterBar 底座。第 2 批homework/exams/textbooks拆分 homework-take-view (428→330) + homework-grading-view (507→170) + exam-assembly (467→268) + textbook-reader (458→318) + knowledge-graph-inner (411→295),删除 textbooks 同名 section-error-boundary.tsx迁移 3 个 filter 组件。第 3 批lesson-preparation/ai/dashboard拆分 lesson-plan-editor (594→273) + ai-chat-panel (417→218),新增 DashboardShell 布局壳统一 4 角色 dashboard迁移 filters/skeletons/error-boundaries 到底座。总计9 个巨型文件全部 ≤500 行(最大 37549 个重复组件全部删除无残留tsc 零错误lint 无新增错误。前次更新Phase 4.6 grades 模块组件化重构闭环完成2026-07-06。",
"lastUpdated": "2026-07-06"
},
"architectureOverview": {