diff --git a/src/utils/convertFlowData.ts b/src/utils/convertFlowData.ts index 335d796..92b06ee 100644 --- a/src/utils/convertFlowData.ts +++ b/src/utils/convertFlowData.ts @@ -1,8 +1,12 @@ import { nodeTypeMap, registerNodeType } from '@/components/FlowEditor/node'; +import store from '@/store/index'; import LocalNode from '@/components/FlowEditor/node/localNode/LocalNode'; import LoopNode from '@/components/FlowEditor/node/loopNode/LoopNode'; -import store from '@/store/index'; import SwitchNode from '@/components/FlowEditor/node/switchNode/SwitchNode'; +import BasicNode from '@/components/FlowEditor/node/basicNode/BasicNode'; +import ImageNode from '@/components/FlowEditor/node/imageNode/ImageNode'; +import CodeNode from '@/components/FlowEditor/node/codeNode/CodeNode'; +import RestNode from '@/components/FlowEditor/node/restNode/RestNode'; /** * 将提供的数据结构转换为适用于 flow editor 的 nodes 和 edges @@ -118,7 +122,7 @@ export const convertFlowData = (flowData: any, useDefault = true) => { // 注册其他节点类型 const nodeMap = Array.from(Object.values(nodeTypeMap).map(key => key)); if (!nodeMap.includes(nodeType) && nodeType !== 'start' && nodeType !== 'end' && nodeType !== 'LOOP') { - registerNodeType(nodeType, nodeType === 'SWITCH' ? SwitchNode : LocalNode, nodeConfig.componentName); + registerNodeType(nodeType, getNodeComponent(nodeType), nodeConfig.componentName); } nodes.push(node); @@ -649,5 +653,22 @@ const getCurrentProjectStoreData = () => { } return result; +}; +// 根据节点类型获取对应的节点组件 +const getNodeComponent = (nodeType: string) => { + switch (nodeType) { + case 'BASIC': + return BasicNode; + case 'SWITCH': + return SwitchNode; + case 'IMAGE': + return ImageNode; + case 'CODE': + return CodeNode; + case 'REST': + return RestNode; + default: + return LocalNode; + } }; \ No newline at end of file