fix: 登录失效时未弹出登录框
将 isRefreshToken = true 移到 getRefreshToken() 检查之后: 当本地无 refreshToken 时,提前 return handleAuthorized() 会绕过 finally 块,导致 isRefreshToken 永久卡在 true,后续所有 401 请求静默进入队列而不弹登录框。 修复 https://github.com/yudaocode/yudao-mall-uniapp/issues/38master
parent
d6f272ad75
commit
6587fb15c6
|
|
@ -230,12 +230,13 @@ const refreshToken = async (config) => {
|
|||
|
||||
// 如果未认证,并且未进行刷新令牌,说明可能是访问令牌过期了
|
||||
if (!isRefreshToken) {
|
||||
isRefreshToken = true;
|
||||
// 1. 如果获取不到刷新令牌,则只能执行登出操作
|
||||
const refreshToken = getRefreshToken();
|
||||
if (!refreshToken) {
|
||||
return handleAuthorized();
|
||||
}
|
||||
// 只有真正发起刷新时才标记刷新中,避免无刷新令牌时状态一直卡住,后续 401 不再弹登录框
|
||||
isRefreshToken = true;
|
||||
// 2. 进行刷新访问令牌
|
||||
try {
|
||||
const refreshTokenResult = await AuthUtil.refreshToken(refreshToken);
|
||||
|
|
|
|||
Loading…
Reference in New Issue