From f6320260c1f537ed95f2444364e09bd4638b5b6a Mon Sep 17 00:00:00 2001 From: AN <1983933789@qq.com> Date: Sun, 18 May 2025 17:06:20 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8D=E5=BD=93=E8=8F=9C?= =?UTF-8?q?=E5=8D=95=E4=B8=8D=E6=98=AF=E4=B8=80=E7=BA=A7=E8=8F=9C=E5=8D=95?= =?UTF-8?q?=E6=97=B6=EF=BC=8C=E5=A4=96=E9=93=BE=E6=97=A0=E6=B3=95=E8=B7=B3?= =?UTF-8?q?=E8=BD=AC=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/store/modules/route/index.ts | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/store/modules/route/index.ts b/src/store/modules/route/index.ts index 592c7d6b..7ac474b6 100644 --- a/src/store/modules/route/index.ts +++ b/src/store/modules/route/index.ts @@ -105,6 +105,7 @@ export const useRouteStore = defineStore(SetupStoreId.Route, () => { const isLayout = route.component === 'Layout'; const isFramePage = route.component === 'FrameView'; const isParentLayout = route.component === 'ParentView'; + const isExternalLink = isNotNull(route.meta.link); route.path = route.path.startsWith('/') ? route.path : `/${route.path}`; route.path = parent ? parent.path + route.path : route.path; @@ -132,18 +133,19 @@ export const useRouteStore = defineStore(SetupStoreId.Route, () => { route.meta.keepAlive = !route.meta.noCache; if (isFramePage) { - if (isNotNull(route.meta.link)) { + if (isExternalLink) { route.meta.href = String(route.meta.link); const random = Math.random().toString(36).slice(2, 12); route.path = `/${random}`; route.name = random; + route.component = 'layout.base$view.iframe-page'; } else { route.props = { // @ts-expect-error no query field url: route.query }; } - route.component = parent ? 'view.iframe-page' : 'layout.base$view.iframe-page'; + route.component = parent && !isExternalLink ? 'view.iframe-page' : 'layout.base$view.iframe-page'; } else if (!isLayout && !isParentLayout) { route.component = parent ? `view.${route.name}` : `layout.base$view.${route.name}`; } else {