docs: 更新 work_log 记录解耦路线图执行全过程

This commit is contained in:
SpecialX
2026-06-18 03:32:04 +08:00
parent 4d659ad9a1
commit 063baffe4c

View File

@@ -2,6 +2,61 @@
## 2026-06-17
### 解耦路线图执行P0 全部 + P1 大部分 + P2-2
#### 问题背景
`docs/architecture/audit/01_decoupling_roadmap.md` 解耦路线图,修复全部扫描出的过耦合问题。
#### 完成工作
##### 第一批P0 严重问题修复commit 220061d + 62be0b9
1. **P0-3 循环依赖修复**`shared/lib/audit-logger.ts``change-logger.ts``auth-guard.ts``import { auth } from "@/auth"` 改为动态 import消除 shared → auth 反向依赖
2. **P0-5 messaging 改用 dispatcher**`messaging/actions.ts``createNotification` 替换为 `sendNotification`(来自 notifications/dispatcher支持用户通知偏好和多渠道
3. **P0-6 统一 classSchedule 写入口**`scheduling/data-access.ts` 新增 4 个统一写函数insertClassScheduleItem/updateClassScheduleItemById/deleteClassScheduleItemById/replaceClassScheduleclasses 和 scheduling/actions 改为调用这些函数
4. **P0-2 homework/data-access.ts 拆分**1038→596 行,新增 `stats-service.ts`346 行)承载统计业务逻辑
5. **P0-4 dashboard 解耦**204→47 行,`getAdminDashboardData` 改用 `Promise.all` 调用 6 个模块的 `get[Module]DashboardStats()` 函数
6. **P0-1 classes/data-access.ts 拆分**2090→656 行,拆分为 4 个新文件data-access-stats/schedule/students/admin.ts通过 re-export 保持向后兼容
##### 第二批P1 较严重问题修复commit 2c8e229
7. **P1-6 notifications 反向依赖修复**`notifications/channels/in-app-channel.ts` 将静态 import messaging 改为动态 import
8. **P1-3 auth.ts 拆分**293→208 行,拆分出 4 个 shared/lib 文件role-utils.ts/bcrypt-utils.ts/http-utils.ts/password-security-service.ts
9. **P1-4 users/import-export.ts 拆分**:拆分出 `user-service.ts`(用户创建+密码哈希)和 `class-registration.ts`(班级注册委托 classes/data-access
##### 第三批P1-2 actions 层 DB 操作下沉commit 84d6636
10. **exams/actions.ts**:移除所有 db 直接操作,新增 7 个 data-access 函数getExamCreatorId/updateExamWithQuestions/deleteExamById/duplicateExam/getExamPreview/getExamSubjects/getExamGrades。actions.ts 831→766 行
11. **homework/actions.ts**:新建 `data-access-write.ts`285 行)含 10 个函数actions.ts 387→239 行
12. **questions/actions.ts**:新增 4 个 data-access 函数createQuestionWithRelations/updateQuestionById/deleteQuestionByIdRecursive/getKnowledgePointOptionsactions.ts 294→177 行
13. **announcements/actions.ts**:新增 5 个 data-access 函数insertAnnouncement/updateAnnouncementById/deleteAnnouncementById/publishAnnouncementById/archiveAnnouncementByIdactions.ts 242→231 行
##### 第四批P2-2 ai.ts 拆分commit 6588f74
14. **shared/lib/ai.ts 拆分**247 行拆分为 `shared/lib/ai/` 目录 6 个文件payload-parser/api-key-crypto/provider-config/client/errors/index原 ai.ts 保留为向后兼容重导出
##### 第五批:架构文档同步 + 全文档合规检查commit 0423b2b + 4d659ad
15. 同步更新 004/005/007/audit 文档反映所有解耦变更
16. 全项目 32 个文档合规检查与修正:
- 修正编码规范 Prettier 配置不一致semi: false, singleQuote: false
- 修正代码示例中的 any→unknown、缺少返回类型、未用 import type、as 断言
- 修正 36 处过时文件路径c:/Users/xiner/ → e:/Desktop/CICD/
- 修正行数不准确、函数名错误dispatchNotification→sendNotification 等)
- 同步已修复问题状态标记
#### 未修复项
- **P1-1**:跨模块直接 DB 查询(影响范围大,需逐步替换)
- **P1-5**proctoring 死代码(用户决定保留)
- **P2-1**schema.ts 按业务域拆分(需全面回归测试)
#### 验证
- `npx tsc --noEmit`0 错误
- `npm run lint`0 错误
- 所有文件均在行数限制内
---
### 编码规范适配与配置完善
#### 问题背景