From f5f345d326d10530f473f9d88ed49e308021dbc6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?cls=5F=E5=AE=81=E6=B3=A2=E6=9C=AC=E6=9C=BA?= <908705107@qq.com> Date: Fri, 12 Jun 2026 16:39:41 +0800 Subject: [PATCH] chore: lazy load layout preferences --- .../effects/layouts/src/basic/layout.vue | 18 +++++++++++++++--- .../effects/layouts/src/widgets/breadcrumb.vue | 4 ++-- 2 files changed, 17 insertions(+), 5 deletions(-) diff --git a/web/packages/effects/layouts/src/basic/layout.vue b/web/packages/effects/layouts/src/basic/layout.vue index 694143c..a5ec5de 100644 --- a/web/packages/effects/layouts/src/basic/layout.vue +++ b/web/packages/effects/layouts/src/basic/layout.vue @@ -4,7 +4,13 @@ import type { RouteLocationNormalizedLoaded } from 'vue-router'; import type { MenuRecordRaw } from '@vben/types'; -import { computed, onMounted, useSlots, watch } from 'vue'; +import { + computed, + defineAsyncComponent, + onMounted, + useSlots, + watch, +} from 'vue'; import { useRoute } from 'vue-router'; import { useRefresh } from '@vben/hooks'; @@ -18,9 +24,11 @@ import { useAccessStore } from '@vben/stores'; import { cloneDeep, mapTree } from '@vben/utils'; import { VbenAdminLayout } from '@vben-core/layout-ui'; -import { VbenBackTop, VbenLogo } from '@vben-core/shadcn-ui'; -import { Breadcrumb, CheckUpdates, Preferences } from '../widgets'; +import VbenBackTop from '../../../../@core/ui-kit/shadcn-ui/src/components/back-top/back-top.vue'; +import VbenLogo from '../../../../@core/ui-kit/shadcn-ui/src/components/logo/logo.vue'; +import Breadcrumb from '../widgets/breadcrumb.vue'; +import CheckUpdates from '../widgets/check-updates/check-updates.vue'; import { LayoutContent, LayoutContentSpinner } from './content'; import { Copyright } from './copyright'; import { LayoutFooter } from './footer'; @@ -36,6 +44,10 @@ import { LayoutTabbar } from './tabbar'; defineOptions({ name: 'BasicLayout' }); +const Preferences = defineAsyncComponent( + () => import('../widgets/preferences/preferences.vue'), +); + const emit = defineEmits<{ clearPreferencesAndLogout: []; clickLogo: [] }>(); const { diff --git a/web/packages/effects/layouts/src/widgets/breadcrumb.vue b/web/packages/effects/layouts/src/widgets/breadcrumb.vue index c041960..9b765f0 100644 --- a/web/packages/effects/layouts/src/widgets/breadcrumb.vue +++ b/web/packages/effects/layouts/src/widgets/breadcrumb.vue @@ -1,14 +1,14 @@