| 需求 | 说明 |
|---|---|
| 书籍基础编辑 | 书名/作者/简介/封面修改、章节重排序/删除、单章节重新生成 |
| 创建流程回退 | 用户选错选项后可以返回修改,不重新开始 |
现有 title, subtitle, description, coverUrl, targetAudience, style, bookScale 字段已满足编辑需求,无需新增。
model BookChapter {
// 新增字段
sortOrder Int @default(0) // 用于手动排序
contentLock Boolean @default(false) // 内容锁定标记(防止误改)
}
| 方法 | 路径 | 说明 |
|---|---|---|
| PUT | /api/book-generator/books/:id |
更新书籍基础信息 |
| PUT | /api/book-generator/chapters/:id |
更新单个章节(标题、内容、排序) |
| PUT | /api/book-generator/chapters/:id/regenerate |
重新生成章节内容 |
| POST | /api/book-generator/chapters/:id/resort |
批量重排章节顺序 |
| DELETE | /api/book-generator/chapters/:id |
删除章节 |
| genStage | 可编辑内容 | 可重新生成 |
|---|---|---|
draft / outlining |
✅ 全部 | ✅ 大纲 |
content_generating |
✅ 全部 | ✅ 内容 |
content_completed |
✅ 全部 | ✅ 内容 |
audio_generating 及之后 |
⚠️ 仅标题/排序 | ❌ 需先回退 |
当用户在 audio_completed 阶段想修改内容:
regenerateChapter(chapterId, 'content_completed') 将阶段回退详情页顶部操作区:
[编辑书籍] [删除书籍] [重新生成]
上移/下移 删除 重新生成关键:create.vue 需要保存用户的选择状态到 storage 或后端
新建 API:
| 方法 | 路径 | 说明 |
|------|------|------|
| POST | /api/book-generator/draft | 保存创建草稿 |
| PUT | /api/book-generator/draft/:id | 更新草稿 |
| GET | /api/book-generator/draft/:id | 读取草稿 |
前端行为:
album-management.controller.ts 新增 PUT /books/:id/chapters/:id/chapters/:id/chapters/:id/regenerate(带阶段回退逻辑)stage-manager.ts 补充回退重生成协议/draft 系列 APIsortOrder 字段迁移/api/book-generator/books/:id 更新书名成功/api/book-generator/chapters/:id 更新章节标题成功/api/book-generator/chapters/:id 删除章节成功