From 6cc5e892c5155f40b9d82fefb1dc7d94dde7ef64 Mon Sep 17 00:00:00 2001 From: chenxing Date: Tue, 13 Oct 2026 15:19:42 +0800 Subject: [PATCH] =?UTF-8?q?fix(=E7=AE=A1=E7=90=86=E7=AB=AF=E7=AB=99?= =?UTF-8?q?=E7=82=B9):=20=E7=BC=93=E5=AD=98=E7=AB=99=E7=82=B9=E4=B8=8D?= =?UTF-8?q?=E5=9C=A8=E5=BD=93=E5=89=8D=E8=B4=A6=E5=8F=B7=E7=AB=99=E7=82=B9?= =?UTF-8?q?=E7=9B=AE=E5=BD=95=E5=86=85=E6=97=B6=E5=9B=9E=E8=90=BD=E7=AC=AC?= =?UTF-8?q?=E4=B8=80=E4=B8=AA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 换账号/跨校后 localStorage 残留上一账号的 siteCode,站点目录(/api/svc/site/options)按当前用户 schId 下发,陈旧 code 不在目录内导致后续请求被后端 403「无该站点管理权限」。loadSites 改为校验缓存站点:不在目录内即回落第一个(目录为空则清空),覆盖所有管理页。 --- src/utils/site.ts | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/utils/site.ts b/src/utils/site.ts index bf4afd5..2da3c98 100644 --- a/src/utils/site.ts +++ b/src/utils/site.ts @@ -17,8 +17,10 @@ export function useSite() { } sites.value = await siteApi.options().send(); loaded.value = true; - if (!currentSiteCode.value && sites.value.length > 0) { - setSite(sites.value[0].siteCode); + // 缓存站点可能残留上一个账号(同浏览器换账号/跨校),不在本次可见目录内即回落第一个, + // 否则后续请求携带陈旧 siteCode 被后端 403「无该站点管理权限」。 + if (!sites.value.some(s => s.siteCode === currentSiteCode.value)) { + setSite(sites.value[0]?.siteCode || ""); } return sites.value; }