]> acesimba.cloud Git - study-mountion.git/commit
按 v1.1 设计重建为多课程学习追踪系统
authorstudyhill <studyhill@local>
Sat, 29 Aug 2026 01:45:21 +0000 (09:45 +0800)
committerstudyhill <studyhill@local>
Sat, 29 Aug 2026 01:45:21 +0000 (09:45 +0800)
commit42adb484deec290bf970b8b977ce52fefdb69618
treea444e6681c3d47176f65bb6b17f9fc5c3816fe90
parent28e423d19b6845a71608033a40ff749e8abeb7d4
按 v1.1 设计重建为多课程学习追踪系统

后端:
- 新增 db.py:八张表 DDL(内容层/进度层/计划层/执行层),
  study_logs 扩展 course_id/lesson_id/action,旧 tasks 表冻结
- 新增 scheduler.py:幂等调度引擎 + 完成回写链 + 复习队列升降级;
  每日配额按当天已生成任务数截断,修复完成后补位突破配额的问题
- 新增 seed.py:雅思词汇示例数据(8 课 48 词,含进度指针与复习队列)
- main.py 重写为 11 个接口;端口改用 1063(1061 已被 words-v2 占用)

前端:
- 重构为四页:今日 / 课程 / 学习计划 / 课程管理
- 新增课时浮层与内容类型注册表(vocab_table/reading_article/lesson_brief,
  未知类型兜底到 lesson_brief)
- 移植原型浅蓝小碎花主题;favicon 换浅绿清新风,标签页标题改 Mountion
- 顶栏移除用户昵称展示
- vite base 改 /study/ 并加 allowedHosts,配合 nginx 反代到 443
- 删除废弃的 Home 组件与旧样式
25 files changed:
backend/db.py [new file with mode: 0644]
backend/main.py
backend/scheduler.py [new file with mode: 0644]
backend/seed.py [new file with mode: 0644]
frontend/index.html
frontend/public/favicon.svg
frontend/src/App.css [deleted file]
frontend/src/App.jsx
frontend/src/api.js [new file with mode: 0644]
frontend/src/components/Home.css [deleted file]
frontend/src/components/Home.jsx [deleted file]
frontend/src/components/LessonSheet.jsx [new file with mode: 0644]
frontend/src/ctx.js [new file with mode: 0644]
frontend/src/index.css [deleted file]
frontend/src/main.jsx
frontend/src/pages/Admin.jsx [new file with mode: 0644]
frontend/src/pages/Courses.jsx [new file with mode: 0644]
frontend/src/pages/Plan.jsx [new file with mode: 0644]
frontend/src/pages/Today.jsx [new file with mode: 0644]
frontend/src/renderers/LessonBrief.jsx [new file with mode: 0644]
frontend/src/renderers/ReadingArticle.jsx [new file with mode: 0644]
frontend/src/renderers/VocabTable.jsx [new file with mode: 0644]
frontend/src/renderers/index.jsx [new file with mode: 0644]
frontend/src/theme.css [new file with mode: 0644]
frontend/vite.config.js