fix(breadcrumb): 修复面包屑跳转外链时,导致当前页面404问题 (#3337). close #3336

Co-authored-by: jackhoo_98 <jackhoo_98@foxmail.com>
This commit is contained in:
jackhoo(胡彪) 2023-11-25 14:47:03 +08:00 committed by GitHub
parent 064922dd4c
commit 895352ad22
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -5,6 +5,8 @@ import { unref } from 'vue';
import { useRouter } from 'vue-router';
import { REDIRECT_NAME } from '@/router/constant';
import { isHttpUrl } from '@/utils/is';
import { openWindow } from '@/utils';
export type PathAsPageEnum<T> = T extends { path: string } ? T & { path: PageEnum } : T;
export type RouteLocationRawEx = PathAsPageEnum<RouteLocationRaw>;
@ -22,6 +24,13 @@ export function useGo(_router?: Router) {
if (!opt) {
return;
}
let path = unref(opt) as string;
if (path[0] === '/') {
path = path.slice(1);
}
if (isHttpUrl(path)) {
return openWindow(path);
}
isReplace ? replace(opt).catch(handleError) : push(opt).catch(handleError);
}
return go;