Commit 1c4dd60e6199dc1da971ee80e36a4ffa2c37f2c7
Merge branch 'fix/outside-link' into 'main_dev'
fix: 修改菜单目录外链跳转问题 See merge request yunteng/thingskit-front!832
Showing
2 changed files
with
10 additions
and
0 deletions
| @@ -19,6 +19,7 @@ | @@ -19,6 +19,7 @@ | ||
| 19 | import { useRootSetting } from '/@/hooks/setting/useRootSetting'; | 19 | import { useRootSetting } from '/@/hooks/setting/useRootSetting'; |
| 20 | import { useAppInject } from '/@/hooks/web/useAppInject'; | 20 | import { useAppInject } from '/@/hooks/web/useAppInject'; |
| 21 | import { useDesign } from '/@/hooks/web/useDesign'; | 21 | import { useDesign } from '/@/hooks/web/useDesign'; |
| 22 | + import { OUTSIDE_LINK_PREFIX } from '/@/router/helper/routeHelper'; | ||
| 22 | 23 | ||
| 23 | export default defineComponent({ | 24 | export default defineComponent({ |
| 24 | name: 'LayoutMenu', | 25 | name: 'LayoutMenu', |
| @@ -113,6 +114,11 @@ | @@ -113,6 +114,11 @@ | ||
| 113 | */ | 114 | */ |
| 114 | 115 | ||
| 115 | function handleMenuClick(path: string) { | 116 | function handleMenuClick(path: string) { |
| 117 | + if (path.startsWith(OUTSIDE_LINK_PREFIX)) { | ||
| 118 | + path = path.replace(OUTSIDE_LINK_PREFIX, ''); | ||
| 119 | + window.open(path); | ||
| 120 | + return; | ||
| 121 | + } | ||
| 116 | go(path); | 122 | go(path); |
| 117 | } | 123 | } |
| 118 | 124 |
| @@ -6,6 +6,7 @@ import { cloneDeep, omit } from 'lodash-es'; | @@ -6,6 +6,7 @@ import { cloneDeep, omit } from 'lodash-es'; | ||
| 6 | import { warn } from '/@/utils/log'; | 6 | import { warn } from '/@/utils/log'; |
| 7 | import { createRouter, createWebHashHistory } from 'vue-router'; | 7 | import { createRouter, createWebHashHistory } from 'vue-router'; |
| 8 | 8 | ||
| 9 | +export const OUTSIDE_LINK_PREFIX = '/outside/link'; | ||
| 9 | export type LayoutMapKey = 'LAYOUT'; | 10 | export type LayoutMapKey = 'LAYOUT'; |
| 10 | const IFRAME = () => import('/@/views/sys/iframe/FrameBlank.vue'); | 11 | const IFRAME = () => import('/@/views/sys/iframe/FrameBlank.vue'); |
| 11 | 12 | ||
| @@ -81,6 +82,9 @@ export function transformObjToRoute<T = AppRouteModule>(routeList: AppRouteModul | @@ -81,6 +82,9 @@ export function transformObjToRoute<T = AppRouteModule>(routeList: AppRouteModul | ||
| 81 | route.meta = meta; | 82 | route.meta = meta; |
| 82 | } | 83 | } |
| 83 | } | 84 | } |
| 85 | + if (!route.path.startsWith('/') && route.meta.isLink) { | ||
| 86 | + route.path = `${OUTSIDE_LINK_PREFIX}${route.path}`; | ||
| 87 | + } | ||
| 84 | route.children && asyncImportRoute(route.children); | 88 | route.children && asyncImportRoute(route.children); |
| 85 | }); | 89 | }); |
| 86 | return routeList as unknown as T[]; | 90 | return routeList as unknown as T[]; |