优化登陆态

This commit is contained in:
qaq
2025-06-19 17:19:39 +08:00
parent 61c6a287e7
commit f6a777da43
2 changed files with 70 additions and 6 deletions
+43
View File
@@ -1,5 +1,24 @@
import axios from 'axios';
// 处理token失效的逻辑
function handleTokenExpired() {
// 清除localStorage中的token
window.localStorage.removeItem('token');
// 跳转到登录页面
if (window.location.pathname !== '/login') {
window.location.href = '/login';
}
}
// 检查响应是否为token失效
function isTokenExpired(response) {
return response && response.code === 401 &&
(response.msg === '未登录或token已过期' ||
response.msg === '无效的token或token已过期' ||
response.msg === '无法获取用户权限信息');
}
export default {
get: function(path = '', data = {}) {
return new Promise(function(resolve, reject) {
@@ -11,10 +30,22 @@ export default {
}
})
.then(function(response) {
// 检查是否token失效
if (isTokenExpired(response.data)) {
handleTokenExpired();
return;
}
resolve(response.data);
})
.catch(function(error) {
console.error('GET请求错误:', error);
// 检查是否是401错误(token失效)
if (error.response && error.response.status === 401) {
handleTokenExpired();
return;
}
resolve({"code": -1, "msg": error.message || "网络请求失败"});
});
});
@@ -29,10 +60,22 @@ export default {
}
})
.then(function(response) {
// 检查是否token失效
if (isTokenExpired(response.data)) {
handleTokenExpired();
return;
}
resolve(response.data);
})
.catch(function(error) {
console.error('POST请求错误:', error);
// 检查是否是401错误(token失效)
if (error.response && error.response.status === 401) {
handleTokenExpired();
return;
}
resolve({"code": -1, "msg": error.message || "网络请求失败"});
});
});