From da0be4b0ce4f6876c45256e46827f9885beb9c90 Mon Sep 17 00:00:00 2001 From: shaohuzhang1 <80892890+shaohuzhang1@users.noreply.github.com> Date: Wed, 2 Jul 2025 21:49:55 +0800 Subject: [PATCH] fix: URL 404 (#3460) --- apps/application/migrations/0001_initial.py | 2 +- apps/application/serializers/application.py | 2 +- ui/src/layout/components/breadcrumb/index.vue | 6 +++--- ui/src/utils/common.ts | 7 +++++++ ui/src/views/application-overview/index.vue | 12 +++--------- ui/src/views/tool/component/ToolListContainer.vue | 10 +++++----- 6 files changed, 20 insertions(+), 19 deletions(-) diff --git a/apps/application/migrations/0001_initial.py b/apps/application/migrations/0001_initial.py index 012187bc9..509a4108f 100644 --- a/apps/application/migrations/0001_initial.py +++ b/apps/application/migrations/0001_initial.py @@ -45,7 +45,7 @@ class Migration(migrations.Migration): ('model_params_setting', models.JSONField(default=dict, verbose_name='模型参数相关设置')), ('tts_model_params_setting', models.JSONField(default=dict, verbose_name='模型参数相关设置')), ('problem_optimization', models.BooleanField(default=False, verbose_name='问题优化')), - ('icon', models.CharField(default='/ui/favicon.ico', max_length=256, verbose_name='应用icon')), + ('icon', models.CharField(default='./favicon.ico', max_length=256, verbose_name='应用icon')), ('work_flow', models.JSONField(default=dict, verbose_name='工作流数据')), ('type', models.CharField(choices=[('SIMPLE', '简易'), ('WORK_FLOW', '工作流')], default='SIMPLE', max_length=256, verbose_name='应用类型')), ('problem_optimization_prompt', models.CharField(blank=True, default='()里面是用户问题,根据上下文回答揣测用户问题({question}) 要求: 输出一个补全问题,并且放在标签中', max_length=102400, null=True, verbose_name='问题优化提示词')), diff --git a/apps/application/serializers/application.py b/apps/application/serializers/application.py index bdb983d3c..7e5a73d9c 100644 --- a/apps/application/serializers/application.py +++ b/apps/application/serializers/application.py @@ -539,7 +539,7 @@ class ApplicationSerializer(serializers.Serializer): model_params_setting=application.get('model_params_setting'), tts_model_params_setting=application.get('tts_model_params_setting'), problem_optimization=application.get('problem_optimization'), - icon="/ui/favicon.ico", + icon="./favicon.ico", work_flow=work_flow, type=application.get('type'), problem_optimization_prompt=application.get('problem_optimization_prompt'), diff --git a/ui/src/layout/components/breadcrumb/index.vue b/ui/src/layout/components/breadcrumb/index.vue index 582e86d1f..ef2c80fe8 100644 --- a/ui/src/layout/components/breadcrumb/index.vue +++ b/ui/src/layout/components/breadcrumb/index.vue @@ -3,13 +3,13 @@
- + import { ref, onMounted, computed } from 'vue' import { onBeforeRouteLeave, useRouter, useRoute } from 'vue-router' -import { isAppIcon } from '@/utils/common' +import { isAppIcon, resetUrl } from '@/utils/common' import { loadSharedApi } from '@/utils/dynamics-api/shared-api' import useStore from '@/stores' const { common, application } = useStore() diff --git a/ui/src/utils/common.ts b/ui/src/utils/common.ts index 32e32f375..4a803cc38 100644 --- a/ui/src/utils/common.ts +++ b/ui/src/utils/common.ts @@ -70,3 +70,10 @@ export function isAppIcon(url: string | undefined) { export function isFunction(fn: any) { return typeof fn === 'function' } + +export const resetUrl = (url: string, defaultUrl?: string) => { + if (url && url.startsWith('./')) { + return `${window.MaxKB.prefix}/${url.substring(2)}` + } + return url ? url : defaultUrl ? defaultUrl : '' +} diff --git a/ui/src/views/application-overview/index.vue b/ui/src/views/application-overview/index.vue index 3692a366c..560324201 100644 --- a/ui/src/views/application-overview/index.vue +++ b/ui/src/views/application-overview/index.vue @@ -14,16 +14,10 @@ @mouseenter="showEditIcon = true" @mouseleave="showEditIcon = false" > - - + + -