Commit Graph

11 Commits

Author SHA1 Message Date
a427bba8c8 feat: 从书籍生成教案(粘贴目录 + 上传 md 压缩包)
新增「从书籍生成」流程:用户粘贴教材目录(多行)并上传内含各章
.md 的 ZIP(文件名=目录标题),前端用 JSZip 解压匹配,AI 按章节
体量划分课时,预览/编辑后批量生成,每篇以对应章节正文作为上下文。

服务端
- generate.ts: 新增 POST /lessons-from-book(目录条目→AI 划分课时
  JSON,剥围栏/校验/丢非法行);扩展 POST / 支持可选 content 上下文,
  无 content 时请求体不变(向后兼容)。

前端
- bookImport.ts: normalizeTitle / parseZip / matchToc / assembleContent。
- booksApi.ts: generateLesson 兼容签名 + divideLessonsFromBook。
- useTeachingBook.ts: 抽出 runGenerationPool,新增 generateLessonsFromBook。
- BookImportDialog.vue 多阶段对话框;UploadDropzone 加 accept/multiple;
  菜单串接「从书籍生成」。

顺带修复 5 个遗留失败测试:import 功能已于 fb0b8d1 删除但测试漏删,
清理孤儿测试;批量生成对齐为单参 generateLesson(topic)。

docs/book-import-spec.md 记录规格。

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-24 05:07:19 -06:00
c7e4dd02bc copy: shorten toolbar button labels (生成教案→生成, 返回列表→返回)
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-22 22:46:37 -06:00
fb0b8d11c9 remove import teaching design feature
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-16 09:59:15 -06:00
c49221ac22 fix 2026-06-16 09:39:18 -06:00
660039b3cf update 2026-06-16 08:18:10 -06:00
8b0e4df43d feat: add concurrent batch lesson generation 2026-06-16 07:33:29 -06:00
2321b5f68e Merge branch 'remove-cover-page' 2026-06-16 07:17:25 -06:00
7b95324649 feat: remove cover page 2026-06-16 07:14:39 -06:00
a2534459d0 fix 2026-06-16 07:08:13 -06:00
4660d10829 feat: wire fix-broken flow in WorkspaceView 2026-06-15 23:12:51 -06:00
8c9401533b feat: extract workspace view with generate and back actions 2026-06-15 20:19:05 -06:00