Explorar o código

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

Co-authored-by: jackhoo_98 <jackhoo_98@foxmail.com>
jackhoo(胡彪) hai 1 ano
pai
achega
895352ad22
Modificáronse 1 ficheiros con 9 adicións e 0 borrados
  1. 9 0
      src/hooks/web/usePage.ts

+ 9 - 0
src/hooks/web/usePage.ts

@@ -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;