diff --git a/src/hooks/web/usePage.ts b/src/hooks/web/usePage.ts index 27349fa..d8db1f3 100644 --- a/src/hooks/web/usePage.ts +++ b/src/hooks/web/usePage.ts @@ -5,6 +5,7 @@ import { unref } from 'vue' import { useRouter } from 'vue-router' import { REDIRECT_NAME } from '@/router/constant' +import { isUrl } from '@/utils/is' export type PathAsPageEnum = T extends { path: string } ? T & { path: PageEnum } : T export type RouteLocationRawEx = PathAsPageEnum @@ -22,7 +23,7 @@ export function useGo(_router?: Router) { if (!opt) { return } - if (/^(https?:|mailto:|tel:)/.test(opt as string)) { + if (isUrl(opt as string)) { window.open(opt as string, '_blank', 'noopener=yes') } else { isReplace ? replace(opt).catch(handleError) : push(opt).catch(handleError)