fix(管理端站点): 缓存站点不在当前账号站点目录内时回落第一个
build / build (push) Successful in 2m6s

换账号/跨校后 localStorage 残留上一账号的 siteCode,站点目录(/api/svc/site/options)按当前用户 schId 下发,陈旧 code 不在目录内导致后续请求被后端 403「无该站点管理权限」。loadSites 改为校验缓存站点:不在目录内即回落第一个(目录为空则清空),覆盖所有管理页。
This commit is contained in:
chenxing
2026-10-13 15:19:42 +08:00
parent 24c980d1dc
commit 6cc5e892c5
+4 -2
View File
@@ -17,8 +17,10 @@ export function useSite() {
} }
sites.value = await siteApi.options().send(); sites.value = await siteApi.options().send();
loaded.value = true; 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; return sites.value;
} }