feat(layout): 调整侧边栏菜单过滤逻辑并优化布局结构
This commit is contained in:
@@ -15,8 +15,8 @@ function convertRoutesToMenuOptions(routes: RouteRecordNormalized[]): MenuOption
|
|||||||
if (!route.name || route.meta?.hidden === true || route.meta?.layout === false) {
|
if (!route.name || route.meta?.hidden === true || route.meta?.layout === false) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
// 过滤掉根路径和通配符路径
|
// 过滤掉通配符路径
|
||||||
if (route.path === '/' || route.path.includes('*')) {
|
if (route.path.includes('*')) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
@@ -31,8 +31,8 @@ function convertRoutesToMenuOptions(routes: RouteRecordNormalized[]): MenuOption
|
|||||||
key: route.path,
|
key: route.path,
|
||||||
};
|
};
|
||||||
|
|
||||||
// 如果只有一级路径,直接添加到根菜单
|
// 如果是根路径或只有一级路径,直接添加到根菜单
|
||||||
if (pathSegments.length === 1) {
|
if (pathSegments.length === 0 || pathSegments.length === 1) {
|
||||||
rootMenus.push(menuOption);
|
rootMenus.push(menuOption);
|
||||||
menuMap.set(route.path, menuOption);
|
menuMap.set(route.path, menuOption);
|
||||||
} else {
|
} else {
|
||||||
|
|||||||
@@ -18,11 +18,7 @@ const appStore = useAppStore();
|
|||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
<template #sider>
|
<template #sider>
|
||||||
<div
|
<BaseLayoutSider />
|
||||||
class="bg-purple-100/28 dark:bg-purple-900/28 text-purple-900 dark:text-purple-100 h-full overflow-hidden"
|
|
||||||
>
|
|
||||||
<BaseLayoutSider />
|
|
||||||
</div>
|
|
||||||
</template>
|
</template>
|
||||||
<div class="bg-yellow-100/28 dark:bg-yellow-900/28 text-yellow-900 dark:text-yellow-100 p-4">
|
<div class="bg-yellow-100/28 dark:bg-yellow-900/28 text-yellow-900 dark:text-yellow-100 p-4">
|
||||||
4#GlobalMenu
|
4#GlobalMenu
|
||||||
|
|||||||
5
src/pages/page/deep/deep.page.vue
Normal file
5
src/pages/page/deep/deep.page.vue
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
<script setup lang="ts"></script>
|
||||||
|
|
||||||
|
<template>
|
||||||
|
<div>deep</div>
|
||||||
|
</template>
|
||||||
5
src/pages/page/deep/deep2.page.vue
Normal file
5
src/pages/page/deep/deep2.page.vue
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
<script setup lang="ts"></script>
|
||||||
|
|
||||||
|
<template>
|
||||||
|
<div>deep2</div>
|
||||||
|
</template>
|
||||||
26
typed-router.d.ts
vendored
26
typed-router.d.ts
vendored
@@ -44,6 +44,20 @@ declare module 'vue-router/auto-routes' {
|
|||||||
Record<never, never>,
|
Record<never, never>,
|
||||||
| never
|
| never
|
||||||
>,
|
>,
|
||||||
|
'PageDeepDeep': RouteRecordInfo<
|
||||||
|
'PageDeepDeep',
|
||||||
|
'/page/deep/deep',
|
||||||
|
Record<never, never>,
|
||||||
|
Record<never, never>,
|
||||||
|
| never
|
||||||
|
>,
|
||||||
|
'PageDeepDeep2': RouteRecordInfo<
|
||||||
|
'PageDeepDeep2',
|
||||||
|
'/page/deep/deep2',
|
||||||
|
Record<never, never>,
|
||||||
|
Record<never, never>,
|
||||||
|
| never
|
||||||
|
>,
|
||||||
'PageDemoApi': RouteRecordInfo<
|
'PageDemoApi': RouteRecordInfo<
|
||||||
'PageDemoApi',
|
'PageDemoApi',
|
||||||
'/page/demo-api',
|
'/page/demo-api',
|
||||||
@@ -89,6 +103,18 @@ declare module 'vue-router/auto-routes' {
|
|||||||
views:
|
views:
|
||||||
| never
|
| 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': {
|
'src/pages/page/demo-api.page.vue': {
|
||||||
routes:
|
routes:
|
||||||
| 'PageDemoApi'
|
| 'PageDemoApi'
|
||||||
|
|||||||
Reference in New Issue
Block a user