diff --git a/docs/sql/sys_menu.sql b/docs/sql/sys_menu.sql index 2e51a640..c1608184 100644 --- a/docs/sql/sys_menu.sql +++ b/docs/sql/sys_menu.sql @@ -28,8 +28,7 @@ UPDATE `sys_menu` SET `icon` = 'gg:debug' WHERE `menu_id` = 1500; UPDATE `sys_menu` SET `icon` = 'gg:debug' WHERE `menu_id` = 1506; -- IFrame 类型 -UPDATE `sys_menu` SET `component` = 'FrameView', `query_param` = 'https://ruoyi.xlsea.cn/admin/', `icon` = 'bx:bxl-spring-boot' WHERE `menu_id` = 117; -UPDATE `sys_menu` SET `component` = 'FrameView', `query_param` = 'https://preview.snailjob.opensnail.com/', `icon` = 'gridicons:scheduled' WHERE `menu_id` = 120; - +UPDATE `sys_menu` SET `component` = 'FrameView', `query_param` = 'https://ruoyi.xlsea.cn/admin/', `is_frame` = 2, `icon` = 'bx:bxl-spring-boot' WHERE `menu_id` = 117; +UPDATE `sys_menu` SET `component` = 'FrameView', `query_param` = 'https://preview.snailjob.opensnail.com/', `is_frame` = 2, `icon` = 'gridicons:scheduled' WHERE `menu_id` = 120; -- 外链类型 UPDATE `sys_menu` SET `path` = 'https://gitee.com/xlsea/ruoyi-plus-soybean', `component` = 'FrameView', `icon` = 'local-icon-gitee' WHERE `menu_id` = 4; diff --git a/src/store/modules/route/index.ts b/src/store/modules/route/index.ts index 86ab247a..3f6e7c96 100644 --- a/src/store/modules/route/index.ts +++ b/src/store/modules/route/index.ts @@ -5,7 +5,7 @@ import { useBoolean } from '@sa/hooks'; import type { CustomRoute, ElegantConstRoute, LastLevelRouteKey, RouteKey, RouteMap } from '@elegant-router/types'; import { router } from '@/router'; import { fetchGetRoutes } from '@/service/api'; -import { humpToLine } from '@/utils/common'; +import { humpToLine, isNotNull } from '@/utils/common'; import { SetupStoreId } from '@/enum'; import { createDynamicRoutes, createStaticRoutes, getAuthVueRoutes } from '@/router/routes'; import { ROOT_ROUTE } from '@/router/routes/builtin'; @@ -121,10 +121,11 @@ export const useRouteStore = defineStore(SetupStoreId.Route, () => { route.meta.keepAlive = !route.meta.noCache; if (isFramePage) { - if (route.meta.link) { + if (isNotNull(route.meta.link)) { route.meta.href = String(route.meta.link); - route.path = ''; - route.name = Math.random().toString(36).slice(2, 12); + const random = Math.random().toString(36).slice(2, 12); + route.path = `/${random}`; + route.name = random; } else { route.props = { // @ts-expect-error no query field