From d74b2222438c6ebce04e73dfc604606ed7de900c Mon Sep 17 00:00:00 2001 From: li-shengren-123456 Date: Thu, 27 Feb 2025 17:10:44 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E7=82=B9=E5=87=BB=E9=A6=96?= =?UTF-8?q?=E9=A1=B5=E4=BC=9A=E8=B7=B3=E8=BD=AC=E5=BA=94=E7=94=A8=E4=B8=AD?= =?UTF-8?q?=E5=BF=83=E9=97=AE=E9=A2=98=EF=BC=8C=E5=86=8D=E9=97=AE=E8=B0=83?= =?UTF-8?q?=E8=AF=95=E8=8A=82=E7=82=B9=E6=9C=AA=E6=B8=85=E7=A9=BA=E9=97=AE?= =?UTF-8?q?=E9=A2=98=EF=BC=8C=E8=B0=83=E8=AF=95=E4=B8=8Eyaml=E7=BC=96?= =?UTF-8?q?=E8=BE=91=E6=8A=98=E5=8F=A0=E9=97=AE=E9=A2=98=EF=BC=8C=E8=BE=93?= =?UTF-8?q?=E5=85=A5=E8=BE=93=E5=87=BA=E4=B8=8E=E8=B0=83=E8=AF=95=E4=BF=9D?= =?UTF-8?q?=E6=8C=81=E4=B8=80=E8=87=B4=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/Upload/index.vue | 10 +++---- src/store/conversation.ts | 10 ++----- src/views/createapp/components/workFlow.vue | 20 ++++++++----- .../components/workFlowConfig/BranchNode.vue | 28 ++++++++++++++++-- .../components/workFlowConfig/CustomNode.vue | 29 +++++++++++++++---- .../createapp/components/workFlowDebug.vue | 25 +++++++++++----- src/views/createapp/index.vue | 12 -------- .../dialogue/components/AppInitalPreview.vue | 18 ++++-------- src/views/styles/workFlowArrange.scss | 3 ++ 9 files changed, 95 insertions(+), 60 deletions(-) diff --git a/src/components/Upload/index.vue b/src/components/Upload/index.vue index 41f12c1..71bb001 100644 --- a/src/components/Upload/index.vue +++ b/src/components/Upload/index.vue @@ -15,7 +15,7 @@ const handleCreateapi = () => { data:yamlToJsonContent.value, }) .then(res => { - getServiceJson.value = res[1].result.apis; + getServiceJson.value = res[1]?.result?.apis; uploadtype.value = 'get'; }); }; @@ -81,7 +81,7 @@ const uploadtype = ref(props.type); const getServiceYaml = ref(''); const yamlToJsonContent = ref(''); const getServiceJson = ref(''); -const activeServiceName = ref(''); +const activeServiceNameList = ref([]); const imageUrl = ref(''); const progressVal = ref(0); const uploadDone = ref(false); @@ -184,7 +184,7 @@ watch( getServiceYaml.value = props.getServiceYaml; console.log(props, 'props---result') if (getServiceJson.value?.length) { - activeServiceName.value = getServiceJson.value?.[0]?.name; + activeServiceNameList.value = [getServiceJson.value?.[0]?.name]; } if (props.type === 'edit' && props) { getServiceYamlFun(props.serviceId); @@ -256,13 +256,13 @@ watch( />
- + diff --git a/src/store/conversation.ts b/src/store/conversation.ts index c0aa626..4ed4b8b 100644 --- a/src/store/conversation.ts +++ b/src/store/conversation.ts @@ -233,7 +233,6 @@ export const useSessionStore = defineStore('conversation', () => { break; } const { done, value } = await reader.read(); - console.log(value, 'value') const decodedValue = decoder.decode(value, { stream: true }); const isLegal = judgeMessage(answerIndex, decodedValue); if (!isLegal) { @@ -258,12 +257,10 @@ export const useSessionStore = defineStore('conversation', () => { // const line3 = lines2.map(item => { // item = 'data: {' + item; // }) - console.log(decodedValue, '---finally') // return; lines.forEach((line) => { // const message = Object(JSON.parse(line.replace(/^data:\s*/, '').trim())); // 这里json解析 - console.log(line, 'lines=-------------------') const message = Object(JSON.parse(line.replace(/^data:\s*/, '').trim())); if( 'metadata' in message){ if(conversationItem.metadata?.time { //事件流开始--后续验证对话无下拉连接后则完全替换 let flow = message.flow; conversationItem.flowdata = { - id: flow?.stepName||"", + id: flow?.stepName + flow?.stepId || "", title: i18n.global.t('flow.flow_start'), // 工作流这里stepName代替step_progresss,为不影响首页对话暂且用|| progress: flow?.stepProgress || "", @@ -313,7 +310,7 @@ export const useSessionStore = defineStore('conversation', () => { // target.data.input = message // } conversationItem.flowdata?.data[0].push({ - id:message.flow?.stepName, + id:message.flow?.stepName + message.flow?.stepId, title:message.flow?.stepName, status:message.flow?.stepStatus, data:{ @@ -326,7 +323,7 @@ export const useSessionStore = defineStore('conversation', () => { } } else if(message["event"] === "step.output") { - const target = conversationItem.flowdata?.data[0].find(item => item.id === message.flow.stepName); + const target = conversationItem.flowdata?.data[0].find(item => item.id === message.flow?.stepName + message.flow?.stepId); if (target) { target.data.output = message.content target.status = message.flow?.stepStatus; @@ -386,7 +383,6 @@ export const useSessionStore = defineStore('conversation', () => { } } } catch (err: any) { - // console.log(err, 'errr') isPaused.value = true; isAnswerGenerating.value = false; (conversationList.value[answerIndex] as RobotConversationItem).isFinish = true; diff --git a/src/views/createapp/components/workFlow.vue b/src/views/createapp/components/workFlow.vue index b99fbc5..59db808 100644 --- a/src/views/createapp/components/workFlow.vue +++ b/src/views/createapp/components/workFlow.vue @@ -272,7 +272,9 @@ const handleDebugDialogOps = (visible) => { if (visible) { saveFlow(); } - debugDialogVisible.value = visible; + if (typeof visible === 'boolean') { + debugDialogVisible.value = visible; + } // 调试弹窗关闭时---结果清空 debugStatus.value = ''; // 调试弹窗关闭时---节点状态清空 @@ -463,8 +465,11 @@ $bus.on('getNodesStatue', lines => { if (newLines.data.event === 'step.output') { totalTime.value += newLines.data?.metadata?.time_cost; constTime = `${newLines.data?.metadata?.time_cost?.toFixed(3)}s` + // 此处获取output的数据,并将此数据传给节点显示 + updateNodeFunc(newLines.data.flow.stepId, newLines.data.flow?.stepStatus, constTime, newLines.data?.content); + } else { + updateNodeFunc(newLines.data.flow.stepId, newLines.data.flow?.stepStatus, constTime); } - updateNodeFunc(newLines.data.flow.stepId, newLines.data.flow?.stepStatus, constTime); } else if (newLines?.data?.event === 'flow.stop') { emits('updateFlowsDebug') debugStatus.value = newLines.data.flow?.stepStatus; @@ -477,15 +482,14 @@ $bus.on('getNodesStatue', lines => { } catch (error) { ElMessage.error('请检查格式是否正确'); } - // 修改节点时,需要将对应节点的边也进行修改 }); // 更新节点状态--这里是测试第一个成功节点改变状态的方法【同时边也随之改变】 -const updateNodeFunc = (id, status, constTime) => { +const updateNodeFunc = (id, status, constTime, content?) => { // 获取到当前的nodeId,更新状态 const node = findNode(id); - const data = node?.data; + const data = content ? {...node?.data, content} : node?.data; // 更新当前节点的状态,以及运行时间 updateNode(id, { data: { ...data, status, constTime } }); // 遍历获取以当前节点为起源节点的边和为目的节点的边 @@ -670,12 +674,12 @@ defineExpose({ diff --git a/src/views/createapp/index.vue b/src/views/createapp/index.vue index bf2635a..7dc6c24 100644 --- a/src/views/createapp/index.vue +++ b/src/views/createapp/index.vue @@ -116,18 +116,6 @@ const getPublishStatus = (status) => { publishStatus.value = '已发布' } } -watch( - () => router, - () => { - if (!route.query?.appId) { - router.push('/app'); - } - }, - { - deep: true, - immediate: true, - }, -); const handleJumperAppCenter = () => { router.push('/app'); diff --git a/src/views/dialogue/components/AppInitalPreview.vue b/src/views/dialogue/components/AppInitalPreview.vue index fc02a51..2093057 100644 --- a/src/views/dialogue/components/AppInitalPreview.vue +++ b/src/views/dialogue/components/AppInitalPreview.vue @@ -6,13 +6,11 @@