From 64ee81c327bbb31180d53a7496f71146b9987993 Mon Sep 17 00:00:00 2001 From: xingyu4j Date: Tue, 6 May 2025 14:11:46 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E5=A2=9E=E5=8A=A0=E5=88=87=E6=8D=A2?= =?UTF-8?q?=E7=A7=9F=E6=88=B7=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/web-antd/src/api/request.ts | 8 +++ apps/web-antd/src/api/system/tenant/index.ts | 7 +++ apps/web-antd/src/layouts/basic.vue | 4 ++ .../layouts/components/tenant-dropdown.vue | 63 +++++++++++++++++++ packages/stores/src/modules/access.ts | 21 +++++++ 5 files changed, 103 insertions(+) create mode 100644 apps/web-antd/src/layouts/components/tenant-dropdown.vue diff --git a/apps/web-antd/src/api/request.ts b/apps/web-antd/src/api/request.ts index 5b5c15fb..7f78987b 100644 --- a/apps/web-antd/src/api/request.ts +++ b/apps/web-antd/src/api/request.ts @@ -80,6 +80,10 @@ function createRequestClient(baseURL: string, options?: RequestClientOptions) { config.headers['tenant-id'] = tenantEnable ? accessStore.tenantId : undefined; + // 只有登录时,才设置 visit-tenant-id 访问租户 + config.headers['visit-tenant-id'] = tenantEnable + ? accessStore.visitTenantId + : undefined; return config; }, }); @@ -136,6 +140,10 @@ baseRequestClient.addRequestInterceptor({ config.headers['tenant-id'] = tenantEnable ? accessStore.tenantId : undefined; + // 只有登录时,才设置 visit-tenant-id 访问租户 + config.headers['visit-tenant-id'] = tenantEnable + ? accessStore.visitTenantId + : undefined; return config; }, }); diff --git a/apps/web-antd/src/api/system/tenant/index.ts b/apps/web-antd/src/api/system/tenant/index.ts index cefacc51..3bed9249 100644 --- a/apps/web-antd/src/api/system/tenant/index.ts +++ b/apps/web-antd/src/api/system/tenant/index.ts @@ -39,6 +39,13 @@ export function getTenant(id: number) { ); } +/** 获取租户精简信息列表 */ +export function getTenantList() { + return requestClient.get( + '/system/tenant/simple-list', + ); +} + /** 新增租户 */ export function createTenant(data: SystemTenantApi.Tenant) { return requestClient.post('/system/tenant/create', data); diff --git a/apps/web-antd/src/layouts/basic.vue b/apps/web-antd/src/layouts/basic.vue index 86f44466..2777f4a3 100644 --- a/apps/web-antd/src/layouts/basic.vue +++ b/apps/web-antd/src/layouts/basic.vue @@ -34,6 +34,7 @@ import { useAuthStore } from '#/store'; import LoginForm from '#/views/_core/authentication/login.vue'; import Help from './components/help.vue'; +import TenantDropdown from './components/tenant-dropdown.vue'; const userStore = useUserStore(); const authStore = useAuthStore(); @@ -202,6 +203,9 @@ watch( @read="handleNotificationRead" /> +