SpecialX
|
063baffe4c
|
docs: 更新 work_log 记录解耦路线图执行全过程
|
2026-06-18 03:32:04 +08:00 |
|
SpecialX
|
4d659ad9a1
|
docs: 全文档合规检查与修正 - 代码示例规范/行数准确性/路径一致性/状态同步
|
2026-06-18 03:31:07 +08:00 |
|
SpecialX
|
0423b2b984
|
docs: 同步架构文档 004/005/007/audit 反映 P1-2/P2-2 解耦修复
|
2026-06-18 02:55:17 +08:00 |
|
SpecialX
|
6588f7484f
|
refactor: P2-2 拆分 ai.ts 为 5 类职责 (payload-parser/api-key-crypto/provider-config/client/errors)
|
2026-06-18 02:43:18 +08:00 |
|
SpecialX
|
84d6636bd1
|
refactor: P1-2 actions 层 DB 操作下沉到 data-access (exams/homework/questions/announcements)
|
2026-06-18 02:31:16 +08:00 |
|
SpecialX
|
2c8e229e00
|
refactor: P1-3/4/6 解耦修复 - 拆分 auth/users 文件 + notifications 反向依赖
|
2026-06-18 02:21:44 +08:00 |
|
SpecialX
|
62be0b9404
|
refactor: P0-1/2/4 解耦修复 - 拆分过耦合文件 + dashboard 解耦
|
2026-06-18 01:45:55 +08:00 |
|
SpecialX
|
220061d62e
|
refactor: P0-3/5/6 解耦修复 - 循环依赖/通知分发/课表写入口
P0-3: 修复 shared/lib <-> auth 循环依赖
- audit-logger.ts, change-logger.ts, auth-guard.ts, classes/data-access.ts
改用动态 import("@/auth") 打破静态模块级循环依赖
- shared/lib 不再静态导入 @/auth
P0-5: messaging 改用 notifications dispatcher
- messaging/actions.ts 的 sendMessageAction 改用 sendNotification
替代直接调用 createNotification
- 用户通知偏好(SMS/微信/邮件/站内)现在被正确尊重
P0-6: 统一 classSchedule 写入口到 scheduling/data-access
- 新增 insertClassScheduleItem/updateClassScheduleItemById/
deleteClassScheduleItemById/replaceClassSchedule 统一写入函数
- classes/data-access.ts 的三个 schedule 写入函数委托给 scheduling
- scheduling/actions.ts 的 applyAutoScheduleAction 改用 replaceClassSchedule
- 移除 scheduling/actions.ts 中不再使用的 classSchedule/createId 导入
验证: tsc --noEmit 0 errors, npm run lint 0 errors
|
2026-06-17 23:44:02 +08:00 |
|
SpecialX
|
02dc1093fb
|
docs: 适配企业级编码规范并补充配置
- 新增 docs/standards/coding-standards.md 编码规范文档(16 章节)
- 适配当前项目: 单应用+模块化架构(非 Monorepo)
- 保留 data-access.ts 模式(非 services/)
- 使用 proxy.ts(Next.js 16 重命名)
- 保留企业级行数规范(组件 500/800, Actions 800/1000)
- 保留 Tailwind v4 CSS 变量设计令牌
- 保留 ActionState<T> 类型
- 含"与原规范的差异说明"附录(10 项差异及原因)
- 更新 .trae/rules/project_rules.md:
- 新增编码规范章节, 引用 coding-standards.md
- 新增架构分层/模块结构/TS规则/命名/组件/Action/Tailwind/安全/提交规范
- 架构文档清单新增解耦路线图
- 新增 .prettierrc 配置(匹配现有代码风格: 双引号/无分号/2空格)
- 更新 docs/README.md 新增编码规范章节
- 更新 work_log
|
2026-06-17 22:54:29 +08:00 |
|
SpecialX
|
ee517f2b33
|
docs: 新增架构解耦路线图文档
- 新增 docs/architecture/audit/01_decoupling_roadmap.md
- 解耦原则: 单一职责 / 模块封装 / 分层单向依赖
- 过耦合问题清单: 6 项 P0 + 6 项 P1 + 2 项 P2
- 每项含问题/影响/解耦方案/迁移步骤
- 三阶段执行优先级与验收标准
- 更新 docs/README.md 索引加入解耦路线图
- 更新 work_log 记录本次工作
|
2026-06-17 21:56:44 +08:00 |
|
SpecialX
|
f8dfd1dddd
|
docs: 全项目架构审查与文档体系重写
- 全项目逐文件审查: 4 份审计报告(shared/core-business/management/new-modules)
- 重写 004 架构影响地图: 图优先 + 模块依赖图 + 数据流 + 调用链 + 问题分级
- 更新 005 结构化数据: 新增 architectureOverview/moduleDependencyGraph/knownIssues/dbTables 节点
- 更新 006 功能清单: 143 项功能标注实现状态, P0 覆盖率 80%->92%
- 更新 007 差距审计: v2->v3, P0 完成 69%->84%, 新增架构技术债章节
- 更新 001 项目概览: 6 角色/54 权限/26 模块/54 表
- 新增 docs/README.md 文档索引
- 归档 11 份过时文档(002x2/003/designx8) 标注
- 更新 work_log
|
2026-06-17 21:51:32 +08:00 |
|
SpecialX
|
6585e10c6f
|
feat(P2): 实现质量保障类5项功能(无障碍/视觉回归/通知渠道/漏洞扫描/灾备)
## 新增功能
### 1. 屏幕阅读器兼容性增强(a11y)
- 无障碍工具库:src/shared/lib/a11y.ts
- aria-live Hook:src/shared/hooks/use-aria-live.ts
- a11y 组件:skip-link/visually-hidden/focus-trap/aria-status
- 增强 UI:table.tsx 系统性 ARIA role,dialog.tsx aria-modal
- 审计文档:docs/accessibility/a11y-audit.md(WCAG 2.1 AA 清单)
### 2. 视觉回归测试
- 测试套件:tests/visual/(homepage + 3 个 dashboard)
- 3 视口(desktop/tablet/mobile)× 2 主题(light/dark)
- 动态元素遮罩,避免误报
- playwright.config.ts 新增 visual-chromium 项目
- 文档:docs/testing/visual-regression.md
### 3. 短信/微信推送渠道集成
- 新模块:src/modules/notifications/
- 4 个渠道:SMS(阿里云/腾讯云)、WeChat(公众号)、Email(SMTP)、In-App
- 分发器按用户偏好并行多渠道发送
- 外部 SDK 动态 import,Mock 模式开发可用
- 文档:docs/notifications/channels.md
### 4. 漏洞扫描 CI 集成
- CI security-scan job:npm audit + Snyk + Trivy FS + OWASP ZAP
- 独立工作流 security.yml:每周一深度扫描 + 容器镜像扫描
- 配置:suppressions.json + .trivyignore
- 本地脚本:security-scan.sh/ps1
- 文档:docs/security/scanning.md(SLA 分级)
### 5. 灾备方案
- 脚本:backup-verify/backup-offsite-sync/dr-drill/failover/health-check
- CI 增强:备份后校验+异地同步,每周灾备演练
- 独立工作流 dr-drill.yml:每周一凌晨 4 点自动演练
- 文档:docs/dr/dr-plan.md(RTO 4h/RPO 24h)+ dr-runbook.md(6 故障场景)
## 验证
- npx tsc --noEmit:0 错误
- npm run lint:0 错误 0 警告
|
2026-06-17 20:18:29 +08:00 |
|
SpecialX
|
b86255f0ea
|
feat(P2): 实现选课管理、考试监考、学情诊断三大功能模块
## 新增功能模块
### 1. 选课管理(elective)
- 新增表:electiveCourses、courseSelections
- 新增权限:ELECTIVE_MANAGE/ELECTIVE_READ/ELECTIVE_SELECT
- 支持先到先得 + 抽签两种选课模式
- admin/teacher/student 三端页面
### 2. 考试监考(proctoring)
- exams 表扩展:examMode/durationMinutes/antiCheatEnabled 等字段
- 新增表:examProctoringEvents
- 新增权限:EXAM_PROCTOR/EXAM_PROCTOR_READ
- 教师监考面板 + 学生端防作弊监控
- API:/api/proctoring/event 接收事件上报
### 3. 学情诊断报告(diagnostic)
- 新增表:knowledgePointMastery、learningDiagnosticReports
- 新增权限:DIAGNOSTIC_MANAGE/DIAGNOSTIC_READ
- 基于提交答案自动计算知识点掌握度
- 生成个人/班级诊断报告(强项/弱项/建议)
- 雷达图可视化
## 其他改动
- 项目规则:单文件行数限制从 300 行调整为企业级规范(组件≤500/Actions≤800/硬上限1000)
- scripts/seed.ts:消除全部 any 类型,定义内部类型,0 lint 错误
- 架构文档 004/005 同步更新三个新模块
- 迁移文件 0001_heavy_sage.sql 生成
## 验证
- npx tsc --noEmit:0 错误
- npm run lint:0 错误 0 警告
|
2026-06-17 19:12:51 +08:00 |
|
SpecialX
|
baf8f679bf
|
refactor: 迁移脚本系统重构 + 新增 db 脚本 + 工作日志
- 清理全部旧迁移文件(0000-0011)和 meta 目录
- 使用 drizzle-kit generate 从 schema 重新生成单一迁移文件
- 0000_perfect_pestilence.sql: 包含全部 49 张表
- 修复 0011_ai_providers.sql 未在 journal 注册导致 migrate 失败的问题
- 修复缺少 snapshot 文件的问题
- 移除复杂 PREPARE/EXECUTE 条件 SQL,使用标准 CREATE TABLE
- package.json 新增脚本:
- db:create: 创建数据库
- db:push: 直接同步 schema(开发用)
- db:setup: 一键 create → migrate → seed
- 干净数据库全流程测试通过: create → migrate → seed
- 更新工作日志(docs/work_log.md)
|
2026-06-17 14:21:24 +08:00 |
|
SpecialX
|
f013337ff7
|
feat: 重写种子脚本实现小学完整场景 + 修复 proxy getToken 密钥
- scripts/seed.ts: 完全重写,实现小学场景初始化
- 1所学校(实验小学)、2个年级(一/二年级)、每年级2个班级
- 8名教师(每班2名:1班主任+1科任,跨班覆盖语数外3科)
- 24名学生(每班6名)+ 24名家长
- 3科教材(语数外各1本)+ 章节 + 知识点
- 15道题目(每科5道:单选/文本/判断)
- 2套试卷(语文/数学)+ 24份提交 + 120个答案
- 2套作业 + 6份提交 + 30个答案
- 课表、成绩、考勤、课程计划、公告等完整数据
- 6个角色 + 47个权限点的 RBAC 映射
- src/proxy.ts: 修复 getToken 在 edge 运行时缺少 secret 的问题
- 显式传入 secret: process.env.NEXTAUTH_SECRET
- 解决 MissingSecret 错误
测试账号(密码均为 123456):
- admin@xiaoxue.edu.cn (管理员)
- t_chinese_1@xiaoxue.edu.cn (语文老师/一年级1班班主任)
- t_math_1@xiaoxue.edu.cn (数学老师)
- t_english_1@xiaoxue.edu.cn (英语老师)
- student_g1c1_1@xiaoxue.edu.cn (学生)
- parent_g1c1_1@xiaoxue.edu.cn (家长)
|
2026-06-17 14:05:58 +08:00 |
|
SpecialX
|
3b6272c99d
|
feat: 完成 P1 全部功能 + 修复 proxy 导出 + 切换 MySQL 端口至 14013
## P1 功能(20 项)
- 站内消息系统、家长仪表盘、学生考勤管理
- Excel 导入导出、用户批量导入、成绩导出
- 排课规则+自动排课+课表调整
- 成绩趋势+对比分析、密码安全策略、速率限制
- 数据变更日志、文件预览+存储策略、全文检索
- 依赖审计集成 CI、数据库定时备份、E2E 测试完善
- 通知偏好管理
## 基础设施修复
- src/proxy.ts: 将 middleware 导出重命名为 proxy(Next.js 16 要求)
- .env: MySQL 端口从 13002 切换至 14013
- scripts/create-db.ts: 新增数据库初始化脚本
## 架构文档同步
- 004_architecture_impact_map.md 和 005_architecture_data.json
完整记录所有新增表、模块、路由、权限、依赖关系
|
2026-06-17 13:44:37 +08:00 |
|
SpecialX
|
125f7ec54c
|
refactor: RBAC权限系统重构 + UI组件拆分 + 测试修复 + 架构文档
CI / build-deploy (push) Has been cancelled
- RBAC: 新增30个权限点、DataScope行级权限、requirePermission守卫,所有57+ Server Action接入权限校验
- UI拆分: exam-form(1623行→11文件)、textbook-reader(744行→7文件),均降至300行以内
- 测试: 新增5个单元测试文件(19用例),修复4个集成测试文件(38用例全部通过)
- 架构文档: 新增架构影响地图(004/005)、标准功能清单(006)、差距审计报告(007)
- 项目规则: 架构图优先规则,改码必同步图
- 安全: rehype-sanitize净化、AES加密API Key、权限路由守卫
- 无障碍: skip-link、aria-label、prefers-reduced-motion
- 性能: next/font优化、next/image、代码分割
|
2026-06-16 23:38:33 +08:00 |
|
SpecialX
|
99f116cb64
|
=test_update_homework_tests_and_work_log
CI / build-deploy (push) Has been cancelled
|
2026-03-19 13:16:49 +08:00 |
|
SpecialX
|
eb08c0ab68
|
sync-docs-and-fixes
|
2026-03-03 17:32:26 +08:00 |
|
SpecialX
|
538805bad0
|
docs
|
2026-03-02 12:43:38 +08:00 |
|
SpecialX
|
8f974c04e0
|
refactor-ci-standalone
|
2026-02-26 16:38:07 +08:00 |
|
SpecialX
|
16ebbbe924
|
remove deploy setup network
|
2026-02-26 15:48:42 +08:00 |
|
SpecialX
|
175af10881
|
fix-deploy-no-proxy
|
2026-02-25 18:27:53 +08:00 |
|
SpecialX
|
ef9b987653
|
fix-deploy-network
|
2026-02-25 18:03:32 +08:00 |
|
SpecialX
|
dcc946f48c
|
fix-lint
|
2026-02-25 15:27:14 +08:00 |
|
SpecialX
|
cc02ddf82e
|
fix-ci-proxy
|
2026-02-25 15:17:49 +08:00 |
|
SpecialX
|
3986c5919c
|
chore: inject proxy envs for ci
|
2026-02-25 13:42:41 +08:00 |
|
SpecialX
|
bd8a4d39a6
|
chore: configure npm proxy in ci
|
2026-02-25 13:34:34 +08:00 |
|
SpecialX
|
0f38e97b4e
|
remove configure npm registry
|
2026-02-25 12:36:20 +08:00 |
|
SpecialX
|
9c83fcc7c1
|
chore-npm-ci-stable
|
2026-02-25 11:30:07 +08:00 |
|
SpecialX
|
ddd3227693
|
log ci fail
|
2026-02-25 11:02:06 +08:00 |
|
SpecialX
|
ca465622dc
|
chore-ci-cache
|
2026-02-24 18:55:36 +08:00 |
|
SpecialX
|
2e9078f810
|
chore-ci-cache
|
2026-02-24 18:37:03 +08:00 |
|
SpecialX
|
ac859ee560
|
Update-remaining-files
|
2026-02-24 16:07:15 +08:00 |
|
SpecialX
|
a2e89ce795
|
Fix-auth-hashing-update-worklog
|
2026-02-24 15:50:38 +08:00 |
|
SpecialX
|
bb4555f611
|
feat: enhance textbook reader with anchor text support and improve knowledge point management
|
2026-01-16 10:22:16 +08:00 |
|
SpecialX
|
9bfc621d3f
|
feat(classes): optimize teacher dashboard ui and implement grade management
|
2026-01-14 13:59:11 +08:00 |
|
SpecialX
|
ade8d4346c
|
feat(dashboard): optimize teacher dashboard ui and layout
- Refactor layout: move Needs Grading to main column, Homework to sidebar
- Enhance TeacherStats: replace static counts with actionable metrics (Needs Grading, Active Assignments, Avg Score, Submission Rate)
- Update RecentSubmissions: table view with quick grade actions and late status
- Update TeacherSchedule: vertical timeline view with scroll hints
- Update TeacherHomeworkCard: compact list view
- Integrate Recharts: add TeacherGradeTrends chart and shared chart component
- Update documentation
|
2026-01-12 11:38:27 +08:00 |
|
SpecialX
|
8577280ab2
|
feat: 首次登录引导与注册修复
|
2026-01-12 10:49:30 +08:00 |
|
SpecialX
|
15fcf2bc78
|
BUG FIX && 权限验证
|
2026-01-09 14:10:04 +08:00 |
|
SpecialX
|
15d9ea9cb8
|
fix: login suspense + migrate middleware to proxy
|
2026-01-08 11:35:15 +08:00 |
|
SpecialX
|
f513cf5399
|
Fix Bug
Fix Not Suspense for Login Form
|
2026-01-08 11:29:23 +08:00 |
|
SpecialX
|
57807def37
|
完整性更新
现在已经实现了大部分基础功能
|
2026-01-08 11:14:03 +08:00 |
|
SpecialX
|
0da2eac0b4
|
强制buildSSR
|
2025-12-31 14:01:12 +08:00 |
|
SpecialX
|
13e91e628d
|
Merge exams grading into homework
Redirect /teacher/exams/grading* to /teacher/homework/submissions; remove exam grading UI/actions/data-access; add homework student workflow and update design docs.
|
2025-12-31 11:59:03 +08:00 |
|
SpecialX
|
f8e39f518d
|
feat(teacher): 题库模块(QuestionBank)
工作内容
- 新增 /teacher/questions 页面,支持 Suspense/空状态/加载态
- 题库 CRUD Server Actions:创建/更新/递归删除子题,变更后 revalidatePath
- getQuestions 支持 q/type/difficulty/knowledgePointId 筛选与分页返回 meta
- UI:表格列/筛选器/创建编辑弹窗,content JSON 兼容组卷
- 更新中文设计文档:docs/design/004_question_bank_implementation.md
|
2025-12-30 19:04:22 +08:00 |
|
SpecialX
|
f7ff018490
|
feat: exam actions and data safety fixes
|
2025-12-30 17:48:22 +08:00 |
|
SpecialX
|
e7c902e8e1
|
Module Update
|
2025-12-30 14:42:30 +08:00 |
|
SpecialX
|
f1797265b2
|
chore: remove debug steps and loyment workflow
|
2025-12-22 14:18:56 +08:00 |
|
SpecialX
|
be36a7131c
|
chore: remove debug steps and loyment workflow
|
2025-12-22 13:58:31 +08:00 |
|