diff --git a/src/pages/flowEditor/components/nodeContentCode.tsx b/src/pages/flowEditor/components/nodeContentCode.tsx index 2de608f..e59140f 100644 --- a/src/pages/flowEditor/components/nodeContentCode.tsx +++ b/src/pages/flowEditor/components/nodeContentCode.tsx @@ -1,7 +1,7 @@ import React from 'react'; import styles from '@/components/FlowEditor/node/style/baseOther.module.less'; import { Handle, Position, useStore } from '@xyflow/react'; -import { deserializeValue, isJSON } from '@/utils/common'; +import { deserializeValue, formatDataType, isJSON } from '@/utils/common'; import cronstrue from 'cronstrue/i18n'; interface NodeContentData { @@ -121,6 +121,7 @@ const NodeContent = ({ data }: { data: NodeContentData }) => { {apiIns.length > 0 && (
{apiIns.map((input, index) => ( +
{input.desc}
@@ -131,7 +132,7 @@ const NodeContent = ({ data }: { data: NodeContentData }) => { {apiOuts.length > 0 && (
{apiOuts.map((output, index) => ( -
+
{output.desc}
))} @@ -155,7 +156,10 @@ const NodeContent = ({ data }: { data: NodeContentData }) => {
{dataIns.map((input, index) => (
- {input.id || `输入${index + 1}`} {input.dataType} + {input.id || `输入${index + 1}`} {formatDataType(input.dataType)} +
))}
@@ -164,8 +168,12 @@ const NodeContent = ({ data }: { data: NodeContentData }) => { {dataOuts.length > 0 && !isEndNode && (
{dataOuts.map((output, index) => ( -
- {output.dataType} {`${output.id}` || `输出${index + 1}`} +
+ + {formatDataType(output.dataType)} {output.id || `输出${index + 1}`} +
))}
diff --git a/src/pages/flowEditor/components/nodeContentImage.tsx b/src/pages/flowEditor/components/nodeContentImage.tsx index 93f3c03..358198c 100644 --- a/src/pages/flowEditor/components/nodeContentImage.tsx +++ b/src/pages/flowEditor/components/nodeContentImage.tsx @@ -2,6 +2,7 @@ import React from 'react'; import styles from '@/components/FlowEditor/node/style/baseOther.module.less'; import { Handle, Position, useStore } from '@xyflow/react'; import { Image } from '@arco-design/web-react'; +import { formatDataType } from '@/utils/common'; interface NodeContentData { parameters?: { @@ -151,7 +152,10 @@ const NodeContent = ({ data }: { data: NodeContentData }) => {
{dataIns.map((input, index) => (
- {`${input.desc} ${input.dataType}` || `输入${index + 1}`} + {input.id || `输入${index + 1}`} {formatDataType(input.dataType)} +
))}
@@ -160,8 +164,11 @@ const NodeContent = ({ data }: { data: NodeContentData }) => { {dataOuts.length > 0 && !isEndNode && (
{dataOuts.map((output, index) => ( -
- {output.dataType} {output.id || `输出${index + 1}`} +
+ {formatDataType(output.dataType)} {output.id || `输出${index + 1}`} +
))}
diff --git a/src/pages/flowEditor/components/nodeContentLoop.tsx b/src/pages/flowEditor/components/nodeContentLoop.tsx index 5f33725..cee25c5 100644 --- a/src/pages/flowEditor/components/nodeContentLoop.tsx +++ b/src/pages/flowEditor/components/nodeContentLoop.tsx @@ -1,7 +1,7 @@ import React from 'react'; import styles from '@/components/FlowEditor/node/style/baseOther.module.less'; import { Handle, Position, useStore } from '@xyflow/react'; -import { deserializeValue } from '@/utils/common'; +import { deserializeValue, formatDataType } from '@/utils/common'; import cronstrue from 'cronstrue/i18n'; interface NodeContentData { @@ -150,7 +150,10 @@ const NodeContent = ({ data }: { data: NodeContentData }) => {
{dataIns.map((input, index) => (
- {input.id || `输入${index + 1}`} {input.dataType} + {input.id || `输入${index + 1}`} {formatDataType(input.dataType)} +
))}
@@ -160,7 +163,10 @@ const NodeContent = ({ data }: { data: NodeContentData }) => {
{dataOuts.map((output, index) => (
- {output.dataType} {output.id || `输出${index + 1}`} + {formatDataType(output.dataType)} {output.id || `输出${index + 1}`} +
))}
diff --git a/src/pages/flowEditor/components/nodeContentOther.tsx b/src/pages/flowEditor/components/nodeContentOther.tsx index acb4b9f..1434ed9 100644 --- a/src/pages/flowEditor/components/nodeContentOther.tsx +++ b/src/pages/flowEditor/components/nodeContentOther.tsx @@ -1,7 +1,7 @@ import React from 'react'; import styles from '@/components/FlowEditor/node/style/baseOther.module.less'; import { Handle, Position, useStore } from '@xyflow/react'; -import { deserializeValue, isJSON } from '@/utils/common'; +import { deserializeValue, formatDataType, isJSON } from '@/utils/common'; import cronstrue from 'cronstrue/i18n'; import { useSelector } from 'react-redux'; @@ -252,7 +252,7 @@ const NodeContent = ({ data }: { data: NodeContentData }) => { {apiOuts.length > 0 && (
{apiOuts.map((output, index) => ( -
+
{output.desc}
))} @@ -275,7 +275,10 @@ const NodeContent = ({ data }: { data: NodeContentData }) => {
{dataIns.map((input, index) => (
- {input.id || `输入${index + 1}`} {input.dataType} + {input.id || `输入${index + 1}`} {formatDataType(input.dataType)} +
))}
@@ -283,8 +286,11 @@ const NodeContent = ({ data }: { data: NodeContentData }) => { {dataOuts.length > 0 && !isEndNode && (
{dataOuts.map((output, index) => ( -
- {output.dataType} {output.id || `输出${index + 1}`} +
+ {formatDataType(output.dataType)} {output.id || `输出${index + 1}`} +
))}
diff --git a/src/pages/flowEditor/components/nodeContentREST.tsx b/src/pages/flowEditor/components/nodeContentREST.tsx index 5fceddb..33742e4 100644 --- a/src/pages/flowEditor/components/nodeContentREST.tsx +++ b/src/pages/flowEditor/components/nodeContentREST.tsx @@ -1,6 +1,7 @@ import React from 'react'; import styles from '@/components/FlowEditor/node/style/baseOther.module.less'; import { Handle, Position, useStore } from '@xyflow/react'; +import { formatDataType } from '@/utils/common'; interface NodeContentData { parameters?: { @@ -152,7 +153,10 @@ const NodeContent = ({ data }: { data: NodeContentData }) => {
{dataIns.map((input, index) => (
- {input.id || `输入${index + 1}`} {input.dataType} + {input.id || `输入${index + 1}`} {formatDataType(input.dataType)} +
))}
@@ -162,7 +166,10 @@ const NodeContent = ({ data }: { data: NodeContentData }) => {
{dataOuts.map((output, index) => (
- {output.dataType} {`${output.id}` || `输出${index + 1}`} + {formatDataType(output.dataType)} {output.id || `输出${index + 1}`} +
))}
diff --git a/src/pages/flowEditor/components/nodeContentSwitch.tsx b/src/pages/flowEditor/components/nodeContentSwitch.tsx index 590b6aa..7e46d7a 100644 --- a/src/pages/flowEditor/components/nodeContentSwitch.tsx +++ b/src/pages/flowEditor/components/nodeContentSwitch.tsx @@ -1,6 +1,7 @@ import React from 'react'; import styles from '@/components/FlowEditor/node/style/baseOther.module.less'; import { Handle, Position, useStore } from '@xyflow/react'; +import { formatDataType } from '@/utils/common'; interface NodeContentData { parameters?: { @@ -148,7 +149,10 @@ const NodeContent = ({ data }: { data: NodeContentData }) => {
{dataIns.map((input, index) => (
- {input.id || `输入${index + 1}`} {input.dataType} + {input.id || `输入${index + 1}`} {formatDataType(input.dataType)} +
))}
@@ -158,7 +162,10 @@ const NodeContent = ({ data }: { data: NodeContentData }) => {
{dataOuts.map((output, index) => (
- {output.dataType} {output.id || `输出${index + 1}`} + {formatDataType(output.dataType)} {output.id || `输出${index + 1}`} +
))}
diff --git a/src/pages/flowEditor/components/nodeContextMenu.tsx b/src/pages/flowEditor/components/nodeContextMenu.tsx index 3849e18..b0e90bd 100644 --- a/src/pages/flowEditor/components/nodeContextMenu.tsx +++ b/src/pages/flowEditor/components/nodeContextMenu.tsx @@ -1,6 +1,7 @@ import React, { useEffect } from 'react'; -import { Menu } from '@arco-design/web-react'; +import { Menu, Message } from '@arco-design/web-react'; import { Node } from '@xyflow/react'; +import { isJSON } from '@/utils/common'; interface NodeContextMenuProps { node: Node; @@ -36,6 +37,10 @@ const NodeContextMenu: React.FC = ({ // 判断节点类型,如果是SUB类型则打开新标签页 if (node.type === 'SUB') { // 创建自定义事件来通知打开新标签页 + const customDef = isJSON((node as any).data.component.customDef) ? JSON.parse((node as any).data.component.customDef) : {}; + if (Object.keys(customDef).length === 0) { + Message.warning('新导入的复合组件请保存后再进行编辑!'); + } const openTabEvent = new CustomEvent('openSubNodeTab', { detail: { node } });