From 4b859989eef8ad2efcf39a7bb1aca9fd74e29526 Mon Sep 17 00:00:00 2001 From: dengqichen Date: Thu, 23 Oct 2025 15:29:11 +0800 Subject: [PATCH] 1 --- frontend/src/pages/Workflow/Design/index.tsx | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/frontend/src/pages/Workflow/Design/index.tsx b/frontend/src/pages/Workflow/Design/index.tsx index 3f2e87ec..55abb5f1 100644 --- a/frontend/src/pages/Workflow/Design/index.tsx +++ b/frontend/src/pages/Workflow/Design/index.tsx @@ -14,7 +14,7 @@ import { isConfigurableNode } from './nodes/types'; import { useWorkflowSave } from './hooks/useWorkflowSave'; import { useWorkflowLoad } from './hooks/useWorkflowLoad'; import { useHistory } from './hooks/useHistory'; -import { generateNodeId } from './utils/idGenerator'; +import { generateNodeId, generateEdgeId } from './utils/idGenerator'; // 样式 import '@xyflow/react/dist/style.css'; @@ -179,14 +179,14 @@ const WorkflowDesignInner: React.FC = () => { message.info('剪贴板为空'); return; } - + const { nodes: copiedNodes, edges: copiedEdges } = clipboard.current; const offset = 50; // 粘贴偏移量 const idMap = new Map(); // 创建新节点(带偏移) const newNodes = copiedNodes.map(node => { - const newId = `${node.type}-${Date.now()}-${Math.random().toString(36).substr(2, 9)}`; + const newId = generateNodeId(); // ✅ 使用标准ID生成函数: sid_xxxxxxxx_xxxx_xxxx_xxxx_xxxxxxxxxxxx idMap.set(node.id, newId); return { @@ -209,7 +209,7 @@ const WorkflowDesignInner: React.FC = () => { return { ...edge, - id: `e${newSource}-${newTarget}`, + id: generateEdgeId(), // ✅ 使用标准ID生成函数: eid_xxxxxxxx_xxxx_xxxx_xxxx_xxxxxxxxxxxx source: newSource, target: newTarget, selected: true