From e54272b68b96b0eb9dc0b491d6659bdf38cb4162 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E4=B8=A5=E6=B5=A9?= Date: Tue, 21 Oct 2025 19:18:27 +0800 Subject: [PATCH] =?UTF-8?q?feat(layout):=20=E8=B0=83=E6=95=B4=E4=BE=A7?= =?UTF-8?q?=E8=BE=B9=E6=A0=8F=E8=8F=9C=E5=8D=95=E8=BF=87=E6=BB=A4=E9=80=BB?= =?UTF-8?q?=E8=BE=91=E5=B9=B6=E4=BC=98=E5=8C=96=E5=B8=83=E5=B1=80=E7=BB=93?= =?UTF-8?q?=E6=9E=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/layouts/base-layout/base-layout-sider.vue | 8 +++--- src/layouts/base-layout/base-layout.vue | 6 +---- src/pages/page/deep/deep.page.vue | 5 ++++ src/pages/page/deep/deep2.page.vue | 5 ++++ typed-router.d.ts | 26 +++++++++++++++++++ 5 files changed, 41 insertions(+), 9 deletions(-) create mode 100644 src/pages/page/deep/deep.page.vue create mode 100644 src/pages/page/deep/deep2.page.vue diff --git a/src/layouts/base-layout/base-layout-sider.vue b/src/layouts/base-layout/base-layout-sider.vue index 495a5e6..189fe55 100644 --- a/src/layouts/base-layout/base-layout-sider.vue +++ b/src/layouts/base-layout/base-layout-sider.vue @@ -15,8 +15,8 @@ function convertRoutesToMenuOptions(routes: RouteRecordNormalized[]): MenuOption if (!route.name || route.meta?.hidden === true || route.meta?.layout === false) { return false; } - // 过滤掉根路径和通配符路径 - if (route.path === '/' || route.path.includes('*')) { + // 过滤掉通配符路径 + if (route.path.includes('*')) { return false; } return true; @@ -31,8 +31,8 @@ function convertRoutesToMenuOptions(routes: RouteRecordNormalized[]): MenuOption key: route.path, }; - // 如果只有一级路径,直接添加到根菜单 - if (pathSegments.length === 1) { + // 如果是根路径或只有一级路径,直接添加到根菜单 + if (pathSegments.length === 0 || pathSegments.length === 1) { rootMenus.push(menuOption); menuMap.set(route.path, menuOption); } else { diff --git a/src/layouts/base-layout/base-layout.vue b/src/layouts/base-layout/base-layout.vue index 30f805d..7b530dc 100644 --- a/src/layouts/base-layout/base-layout.vue +++ b/src/layouts/base-layout/base-layout.vue @@ -18,11 +18,7 @@ const appStore = useAppStore();
4#GlobalMenu diff --git a/src/pages/page/deep/deep.page.vue b/src/pages/page/deep/deep.page.vue new file mode 100644 index 0000000..889edb6 --- /dev/null +++ b/src/pages/page/deep/deep.page.vue @@ -0,0 +1,5 @@ + + + diff --git a/src/pages/page/deep/deep2.page.vue b/src/pages/page/deep/deep2.page.vue new file mode 100644 index 0000000..13c0db1 --- /dev/null +++ b/src/pages/page/deep/deep2.page.vue @@ -0,0 +1,5 @@ + + + diff --git a/typed-router.d.ts b/typed-router.d.ts index 24c65d7..6d6f43f 100644 --- a/typed-router.d.ts +++ b/typed-router.d.ts @@ -44,6 +44,20 @@ declare module 'vue-router/auto-routes' { Record, | never >, + 'PageDeepDeep': RouteRecordInfo< + 'PageDeepDeep', + '/page/deep/deep', + Record, + Record, + | never + >, + 'PageDeepDeep2': RouteRecordInfo< + 'PageDeepDeep2', + '/page/deep/deep2', + Record, + Record, + | never + >, 'PageDemoApi': RouteRecordInfo< 'PageDemoApi', '/page/demo-api', @@ -89,6 +103,18 @@ declare module 'vue-router/auto-routes' { views: | never } + 'src/pages/page/deep/deep.page.vue': { + routes: + | 'PageDeepDeep' + views: + | never + } + 'src/pages/page/deep/deep2.page.vue': { + routes: + | 'PageDeepDeep2' + views: + | never + } 'src/pages/page/demo-api.page.vue': { routes: | 'PageDemoApi'