|
|
|
@ -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' }); |
|
|
|
|