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; }