From f57eff9ad24bbef060ed9ee68715fd32e4d2411f Mon Sep 17 00:00:00 2001 From: xingyu4j Date: Wed, 18 Jun 2025 14:05:43 +0800 Subject: [PATCH] =?UTF-8?q?perf:=20=E4=BC=98=E5=8C=96=E7=A7=9F=E6=88=B7?= =?UTF-8?q?=E9=80=89=E6=8B=A9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/web-antd/src/layouts/basic.vue | 19 ++-- apps/web-antd/src/layouts/components/help.vue | 91 ------------------- apps/web-ele/src/layouts/basic.vue | 55 ++++++++++- apps/web-ele/src/layouts/components/help.vue | 91 ------------------- .../layouts/components/tenant-dropdown.vue | 67 -------------- apps/web-naive/src/layouts/basic.vue | 53 ++++++++++- .../web-naive/src/layouts/components/help.vue | 90 ------------------ .../layouts/components/tenant-dropdown.vue | 62 ------------- .../tenant-dropdown/tenant-dropdown.vue | 6 +- 9 files changed, 112 insertions(+), 422 deletions(-) delete mode 100644 apps/web-antd/src/layouts/components/help.vue delete mode 100644 apps/web-ele/src/layouts/components/help.vue delete mode 100644 apps/web-ele/src/layouts/components/tenant-dropdown.vue delete mode 100644 apps/web-naive/src/layouts/components/help.vue delete mode 100644 apps/web-naive/src/layouts/components/tenant-dropdown.vue diff --git a/apps/web-antd/src/layouts/basic.vue b/apps/web-antd/src/layouts/basic.vue index fc8bcf8a..cee1fd88 100644 --- a/apps/web-antd/src/layouts/basic.vue +++ b/apps/web-antd/src/layouts/basic.vue @@ -5,9 +5,10 @@ import type { SystemTenantApi } from '#/api/system/tenant'; import { computed, onMounted, ref, watch } from 'vue'; +import { useAccess } from '@vben/access'; import { AuthenticationLoginExpiredModal, useVbenModal } from '@vben/common-ui'; import { VBEN_DOC_URL, VBEN_GITHUB_URL } from '@vben/constants'; -import { useTabs, useWatermark } from '@vben/hooks'; +import { isTenantEnable, useTabs, useWatermark } from '@vben/hooks'; import { AntdProfileOutlined, BookOpenText, @@ -40,12 +41,10 @@ import { router } from '#/router'; import { useAuthStore } from '#/store'; import LoginForm from '#/views/_core/authentication/login.vue'; -// 租户列表 -const tenants = ref([]); - const userStore = useUserStore(); const authStore = useAuthStore(); const accessStore = useAccessStore(); +const { hasAccessByCodes } = useAccess(); const { destroyWatermark, updateWatermark } = useWatermark(); const { closeOtherTabs, refreshTab } = useTabs(); @@ -156,9 +155,17 @@ function handleNotificationOpen(open: boolean) { handleNotificationGetUnreadCount(); } +// 租户列表 +const tenants = ref([]); +const tenantEnable = computed( + () => hasAccessByCodes(['system:tenant:visit']) && isTenantEnable(), +); + /** 获取租户列表 */ async function handleGetTenantList() { - tenants.value = await getSimpleTenantList(); + if (tenantEnable.value) { + tenants.value = await getSimpleTenantList(); + } } /** 处理租户切换 */ @@ -235,7 +242,7 @@ watch( />