From a441dcebaedc2d2dcf954a33c9d7e57934ce74d4 Mon Sep 17 00:00:00 2001 From: Elm1992 Date: Sun, 17 Aug 2025 23:46:27 +0800 Subject: [PATCH] fix: meta.link invalid issue --- .../effects/layouts/src/basic/menu/use-navigation.ts | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/packages/effects/layouts/src/basic/menu/use-navigation.ts b/packages/effects/layouts/src/basic/menu/use-navigation.ts index 6ba484a47..daa6dc71a 100644 --- a/packages/effects/layouts/src/basic/menu/use-navigation.ts +++ b/packages/effects/layouts/src/basic/menu/use-navigation.ts @@ -29,7 +29,8 @@ function useNavigation() { return true; } const route = routeMetaMap.get(path); - return route?.meta?.openInNewWindow ?? false; + // 如果有外链或者设置了在新窗口打开,返回 true + return !!(route?.meta?.link || route?.meta?.openInNewWindow); }; const resolveHref = (path: string): string => { @@ -39,7 +40,13 @@ function useNavigation() { const navigation = async (path: string) => { try { const route = routeMetaMap.get(path); - const { openInNewWindow = false, query = {} } = route?.meta ?? {}; + const { openInNewWindow = false, query = {}, link } = route?.meta ?? {}; + + // 检查是否有外链 + if (link && typeof link === 'string') { + openWindow(link, { target: '_blank' }); + return; + } if (isHttpUrl(path)) { openWindow(path, { target: '_blank' });