From d7aac52bb1daed8b58e8ca0cdbd275cdc5468f70 Mon Sep 17 00:00:00 2001 From: hexiaonan-800 Date: Wed, 2 Sep 2026 11:13:04 +0800 Subject: [PATCH] feat: image generate node --- ui/src/workflow-canvas/component/NodeMenu.vue | 1 + .../icons/image-generate-node-icon.vue | 6 + .../nodes/image-generate-node/index.ts | 15 ++ .../nodes/image-generate-node/index.vue | 170 ++++++++++++++++++ 4 files changed, 192 insertions(+) create mode 100644 ui/src/workflow-canvas/icons/image-generate-node-icon.vue create mode 100644 ui/src/workflow-canvas/nodes/image-generate-node/index.ts create mode 100644 ui/src/workflow-canvas/nodes/image-generate-node/index.vue diff --git a/ui/src/workflow-canvas/component/NodeMenu.vue b/ui/src/workflow-canvas/component/NodeMenu.vue index 2545376dab2..617e2f3bff1 100644 --- a/ui/src/workflow-canvas/component/NodeMenu.vue +++ b/ui/src/workflow-canvas/component/NodeMenu.vue @@ -29,6 +29,7 @@ const workflowComponentGroups = [ { icon: aiChatIcon, iconClass: 'bg-primary-gradient', label: 'AI 对话', value: WorkflowNodeType.AiChat }, { icon: aiChatIcon, iconClass: 'bg-primary-gradient', label: '意图识别', value: WorkflowNodeType.IntentNode }, { icon: aiChatIcon, iconClass: 'bg-primary-gradient', label: '文本转语音', value: WorkflowNodeType.TextToSpeechNode }, + { icon: aiChatIcon, iconClass: 'bg-primary-gradient', label: '图片生成', value: WorkflowNodeType.ImageGenerateNode}, { icon: aiChatIcon, iconClass: 'bg-primary-gradient', label: '问题优化', value: WorkflowNodeType.Question}, ], }, diff --git a/ui/src/workflow-canvas/icons/image-generate-node-icon.vue b/ui/src/workflow-canvas/icons/image-generate-node-icon.vue new file mode 100644 index 00000000000..7a220814144 --- /dev/null +++ b/ui/src/workflow-canvas/icons/image-generate-node-icon.vue @@ -0,0 +1,6 @@ + + diff --git a/ui/src/workflow-canvas/nodes/image-generate-node/index.ts b/ui/src/workflow-canvas/nodes/image-generate-node/index.ts new file mode 100644 index 00000000000..74c71abd0c2 --- /dev/null +++ b/ui/src/workflow-canvas/nodes/image-generate-node/index.ts @@ -0,0 +1,15 @@ +import ImageGenerateNodeVue from './index.vue' +import { WorkflowNodeModel, WorkflowNodeView } from '@/workflow-canvas/core/workflow-node' +import { WorkflowNodeType } from '@/workflow-canvas/types.ts' + +class ImageGenerateNodeView extends WorkflowNodeView { + constructor(props: ConstructorParameters[0]) { + super(props, ImageGenerateNodeVue) + } +} + +export default { + type: WorkflowNodeType.ImageGenerateNode, + model: WorkflowNodeModel, + view: ImageGenerateNodeView, +} diff --git a/ui/src/workflow-canvas/nodes/image-generate-node/index.vue b/ui/src/workflow-canvas/nodes/image-generate-node/index.vue new file mode 100644 index 00000000000..60d4bedf093 --- /dev/null +++ b/ui/src/workflow-canvas/nodes/image-generate-node/index.vue @@ -0,0 +1,170 @@ + + + +