|
|
@@ -544,6 +544,22 @@ router.post('/books/:id/generate', async (ctx: Context) => {
|
|
|
return;
|
|
|
}
|
|
|
|
|
|
+ // 防止重复生成:如果书籍正在生成中,拒绝请求
|
|
|
+ if (book.status === 'generating') {
|
|
|
+ console.log(`[LangGraph Generate] 书籍正在生成中,拒绝重复请求 bookId=${bookId}`);
|
|
|
+ ctx.status = 400;
|
|
|
+ ctx.body = {
|
|
|
+ code: 1,
|
|
|
+ message: '书籍正在生成中,请勿重复提交',
|
|
|
+ data: {
|
|
|
+ bookId,
|
|
|
+ status: book.status,
|
|
|
+ progress: book.progress,
|
|
|
+ }
|
|
|
+ };
|
|
|
+ return;
|
|
|
+ }
|
|
|
+
|
|
|
// 优先使用请求传入的 scale,否则使用书籍保存的 scale,最后默认标准教程
|
|
|
const bookScale = body.bookScale || book.bookScale || '标准教程';
|
|
|
|