yuetsh 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
2026-06-15 00:55:47 -06:00
2026-06-15 00:55:47 -06:00
2026-06-15 23:14:16 -06:00
2026-06-15 00:55:47 -06:00
fix
2026-06-16 09:37:50 -06:00
2026-06-15 23:36:06 -06:00
fix
2026-06-16 09:23:00 -06:00
2026-06-16 09:54:46 -06:00
fix
2026-06-16 09:37:50 -06:00
2026-06-16 22:54:38 -06:00
2026-06-16 08:18:10 -06:00
2026-06-16 11:19:12 -06:00
2026-06-15 00:55:47 -06:00
fix
2026-06-16 09:28:41 -06:00
2026-06-15 00:55:47 -06:00

Vue 3 + TypeScript + Vite

This template should help get you started developing with Vue 3 and TypeScript in Vite. The template uses Vue 3 <script setup> SFCs, check out the script setup docs to learn more.

Learn more about the recommended Project Setup and IDE Support in the Vue Docs TypeScript Guide.

Description
No description provided
Readme 3.6 MiB
Languages
TypeScript 66.4%
Vue 23%
CSS 6.4%
HTML 4%
Dockerfile 0.2%