|
|
@@ -77,7 +77,7 @@ async function tryRefreshToken() {
|
|
|
refreshPromise = (async () => {
|
|
|
try {
|
|
|
const res = await axios.post(
|
|
|
- `${constant.ServerUrl}/auth/refresh?identifier=${currentData.identifier}`,
|
|
|
+ `${constant.ServerUrl}auth/refresh?identifier=${currentData.identifier}`,
|
|
|
{ refreshToken: currentData.refreshToken },
|
|
|
{ responseType: 'json', validateStatus: () => true }
|
|
|
);
|
|
|
@@ -90,7 +90,8 @@ async function tryRefreshToken() {
|
|
|
currentData.refreshToken = res.data.data.refreshToken;
|
|
|
await saveCurrentData();
|
|
|
return true;
|
|
|
- }
|
|
|
+ } else
|
|
|
+ return false;
|
|
|
} catch {
|
|
|
// 刷新失败
|
|
|
}
|
|
|
@@ -104,7 +105,8 @@ async function tryRefreshToken() {
|
|
|
}
|
|
|
|
|
|
axiosInstance.interceptors.response.use((value) => {
|
|
|
- if (value.data.success) return value.data;
|
|
|
+ if (value.data.success)
|
|
|
+ return value.data;
|
|
|
const err = value.data;
|
|
|
err.__config = value.config;
|
|
|
return Promise.reject(err);
|
|
|
@@ -158,6 +160,15 @@ export async function initAuth() {
|
|
|
}
|
|
|
} catch {
|
|
|
console.log('未登录或登录已过期');
|
|
|
+ if (currentData.refreshToken) {
|
|
|
+ console.log('尝试刷新 token');
|
|
|
+ try {
|
|
|
+ const res = await tryRefreshToken();
|
|
|
+ console.log(res ? '刷新登录成功' : '刷新登录失败');
|
|
|
+ } catch (e) {
|
|
|
+ console.error('刷新 token 失败', e);
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
} else {
|
|
|
console.log('未登录');
|