From 87a33ee167599e1fbdb9b94495a85fe00ceab239 Mon Sep 17 00:00:00 2001 From: shaohuzhang1 Date: Thu, 12 Nov 2026 14:03:57 +0800 Subject: [PATCH] fix: [Agent] Clicking the "Go to Chat" icon on an agent card yields no response, and it is impossible to enter the chat page. --- .../application-card/ApplicationCard.vue | 51 +++++++++++-------- 1 file changed, 29 insertions(+), 22 deletions(-) diff --git a/ui/src/views/application/application-card/ApplicationCard.vue b/ui/src/views/application/application-card/ApplicationCard.vue index 3f816ab9753..d2c1c37b54b 100644 --- a/ui/src/views/application/application-card/ApplicationCard.vue +++ b/ui/src/views/application/application-card/ApplicationCard.vue @@ -2,31 +2,44 @@ import type { ApplicationDetail } from '@/api/types' import { isWorkFlow } from '@/utils/common' import { dateFormat } from '@/utils/time' - +import applicationAPI from "@/api/admin/workspace/application/application" +import { useRoute, useRouter } from 'vue-router'; +import { computed } from 'vue'; defineOptions({ name: 'ApplicationCard' }) - +const router = useRouter() const props = defineProps<{ application: ApplicationDetail; selectable?: boolean; selected?: boolean }>() - +import { CHAT_API_BASE_PATH } from '@/api/constants' const emit = defineEmits<{ click: []; selected: [selected: boolean] }>() defineSlots<{ 'action-dropdown'?: () => unknown }>() +const apiQuery = computed(() => { + const query = props.application?.work_flow?.nodes?.find(n => n.id === 'base-node')?.properties?.api_input_field_list.map((f: any) => { + return `${f.variable}=${f.default_value}` + }).join('&') + if (query) { + return '?' + query + } + return '' + +}) + +const chatBasePath = CHAT_API_BASE_PATH.replace(/\/api$/, '') function handleOpen() { if (!props.selectable) emit('click') } +const toChat = () => { + applicationAPI.getAccessToken(props.application.id).then(ok => { + const accessUrl = ok.access_token ? `${window.location.origin}${chatBasePath}/${ok.access_token}/${apiQuery.value}` : '' + window.open(accessUrl, '_blank') + }) +}