From 0c4a2a455e07c486e793393ccf3c58843de600dd Mon Sep 17 00:00:00 2001 From: Your Name Date: Mon, 26 Jan 2026 22:17:58 +0800 Subject: [PATCH] fix: create new canvas instead of redirecting when canvas not found --- app/canvas/[id]/page.tsx | 11 +++++++++-- components/canvas/CanvasChatPanel.tsx | 21 ++++++++------------- 2 files changed, 17 insertions(+), 15 deletions(-) diff --git a/app/canvas/[id]/page.tsx b/app/canvas/[id]/page.tsx index 2b349f7..b2b3802 100644 --- a/app/canvas/[id]/page.tsx +++ b/app/canvas/[id]/page.tsx @@ -142,8 +142,15 @@ export default function CanvasEditorPage({ params }: PageProps) { loadCanvas(result.data.canvasData); } } else { - toast.error(result.error || "加载画布失败"); - router.push("/canvas"); + // 画布不存在时,创建一个新画布 + console.log('画布不存在,创建新画布:', id); + setProject(id, '未命名画布'); + // 保存新画布到数据库 + try { + await canvasService.saveCanvasState(id, { nodes: [], connections: [] }); + } catch (error) { + console.error('创建新画布失败:', error); + } } setIsLoading(false); }; diff --git a/components/canvas/CanvasChatPanel.tsx b/components/canvas/CanvasChatPanel.tsx index 6abced1..a1b74eb 100644 --- a/components/canvas/CanvasChatPanel.tsx +++ b/components/canvas/CanvasChatPanel.tsx @@ -327,27 +327,22 @@ export function CanvasChatPanel({ chatId, initialMessages = [], onClose, onOpenF - + +