diff --git a/src/app/layouts/AppHeader.vue b/src/app/layouts/AppHeader.vue index 31646d0..40dc7f3 100644 --- a/src/app/layouts/AppHeader.vue +++ b/src/app/layouts/AppHeader.vue @@ -43,9 +43,6 @@ - - - @@ -58,7 +55,6 @@ import { NButton, NBreadcrumb, NBreadcrumbItem, NSpace, NInput } from 'naive-ui' import { Icon } from '@iconify/vue' import { useAuthStore } from '../../shared/stores/auth' import { t } from '../../shared/i18n' -import UserMenu from '../../shared/components/UserMenu.vue' const router = useRouter() const route = useRoute() diff --git a/src/app/layouts/AppSidebar.vue b/src/app/layouts/AppSidebar.vue index 1249d13..60f6b40 100644 --- a/src/app/layouts/AppSidebar.vue +++ b/src/app/layouts/AppSidebar.vue @@ -21,6 +21,11 @@ @update:value="handleMenuSelect" /> + + + @@ -32,6 +37,7 @@ import { t } from '../../shared/i18n' import { useMenuStore, type AppMenuItem } from '../../shared/stores/menu' import { pageTypeToSlug } from '../../shared/utils/slug' import DynamicIcon from '../../core/components/DynamicIcon.vue' +import UserMenu from '../../shared/components/UserMenu.vue' interface Props { collapsed: boolean @@ -210,4 +216,11 @@ const handleMenuSelect = (key: string) => { color: #18a058 !important; transform: scale(1.1); } + +/* 侧边栏底部用户菜单区域 */ +.sidebar-footer { + flex-shrink: 0; + padding: 12px; + border-top: 1px solid var(--border-color); +} diff --git a/src/shared/components/UserMenu.vue b/src/shared/components/UserMenu.vue index 1d3335b..f1f8497 100644 --- a/src/shared/components/UserMenu.vue +++ b/src/shared/components/UserMenu.vue @@ -1,31 +1,52 @@