换账号/跨校后 localStorage 残留上一账号的 siteCode,站点目录(/api/svc/site/options)按当前用户 schId 下发,陈旧 code 不在目录内导致后续请求被后端 403「无该站点管理权限」。loadSites 改为校验缓存站点:不在目录内即回落第一个(目录为空则清空),覆盖所有管理页。
This commit is contained in:
+4
-2
@@ -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;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user