diff --git a/src/pages/flowEditor/components/nodeContentOther.tsx b/src/pages/flowEditor/components/nodeContentOther.tsx index 9347e20..c9eeb6c 100644 --- a/src/pages/flowEditor/components/nodeContentOther.tsx +++ b/src/pages/flowEditor/components/nodeContentOther.tsx @@ -122,6 +122,7 @@ const renderSpecialNodeHandles = (isStartNode: boolean, isEndNode: boolean, data // 获取连接到特定 API 句柄的 edges const getConnectedEdgesForHandle = (edges: any[], nodeId: string, handleId: string, handleType: 'source' | 'target') => { + if (nodeId === 'start' || nodeId === 'end') return false; return edges.filter(edge => { if (handleType === 'target') { // 检查目标节点ID和目标句柄ID都匹配 @@ -137,7 +138,6 @@ const getConnectedEdgesForHandle = (edges: any[], nodeId: string, handleId: stri // 根据 apiIns 中的 fieldIns/fieldOuts 获取对应的 dataIns/dataOuts const getDataFieldsForApi = (apiItem: any, dataFields: any[], type: string) => { if (!apiItem.fieldIns && !apiItem.fieldOuts) return []; - const fieldNames = type === 'in' ? apiItem.fieldIns : apiItem.fieldOuts; return fieldNames .map((fieldName: string) => dataFields.find(df => df.name === fieldName || df.id === fieldName)) @@ -268,7 +268,7 @@ const NodeContent = ({ data }: { data: NodeContentData }) => { const dataOuts = data.parameters?.dataOuts || []; const showFooter = formatFooter(data.component) || false; const footerData = (showFooter && data.component) || {}; - const nodeId = data.id; + const nodeId = data.id || data.type; // 开始和结束节点没有id // 判断节点类型 const isStartNode = data.type === 'start'; @@ -292,8 +292,14 @@ const NodeContent = ({ data }: { data: NodeContentData }) => { const relatedDataOut = getDataFieldsForApi(apiIn, dataOuts, 'out'); connectedOuts.push(...relatedDataOut); } + else { + connectedIns.push(...dataIns); + connectedOuts.push(...dataOuts); + } }); + console.log('connectedIns, connectedOuts:', connectedIns, connectedOuts); + return { connectedIns, connectedOuts }; }, [edges, nodeId, apiIns, apiOuts, dataIns, dataOuts]); @@ -356,7 +362,7 @@ const NodeContent = ({ data }: { data: NodeContentData }) => { )} {/* Data 输出 */} - {connectedDataFields.connectedOuts.length > 0 && !isEndNode && ( + {connectedDataFields.connectedOuts.length > 0 && (
{connectedDataFields.connectedOuts.map((output, index) => (