Skip to content

组合式函数 (Composables)

2个 Composable,TypeScript 实现 | 文件位于 web/src/composables/


架构概览

composables/
├── useCharFilter.ts       ← 汉字过滤(含测试)
└── useReviewScheduler.ts  ← 复习调度(艾宾浩斯遗忘曲线,含测试)

useCharFilter.ts — 汉字过滤

文件: web/src/composables/useCharFilter.ts | 测试: useCharFilter.test.ts

职责

  • 按分类、拼音、笔画数等多维度过滤汉字列表
  • 结合 characterStore 使用

useReviewScheduler.ts — 复习调度

文件: web/src/composables/useReviewScheduler.ts | 测试: useReviewScheduler.test.ts

职责

  • 艾宾浩斯遗忘曲线复习调度
  • 复习间隔:1天 → 3天 → 7天 → 15天 → 30天
  • 阶段计算和下一复习日期推算

核心函数

函数说明
REVIEW_INTERVALS复习间隔常量数组
calcNextReviewDate(stage, baseDate?)计算下一复习日期
isReviewDue(info, todayStr)判断是否到期
computeNextStage(currentStage, score)根据分数计算下一阶段

复习阶段流转

阶段0 (新学) → 阶段1 (1天后) → 阶段2 (3天后) → 阶段3 (7天后) → 阶段4 (15天后) → 阶段5 (30天后)
  • 分数 ≥ 60:阶段前进
  • 分数 < 60:阶段回退到0