feat: 响应拦截添加登录过期验证
This commit is contained in:
parent
c63f2c453a
commit
1ed96024b4
|
@ -10,7 +10,7 @@ const install = (Vue, vm) => {
|
|||
// baseUrl: 'http://115.238.47.235:8993',
|
||||
// 如果将此值设置为true,拦截回调中将会返回服务端返回的所有数据response,而不是response.data
|
||||
// 设置为true后,就需要在this.$u.http.interceptor.response进行多一次的判断,请打印查看具体值
|
||||
// originalData: true,
|
||||
originalData: true,
|
||||
// 设置自定义头部content-type
|
||||
// header: {
|
||||
// 'content-type': 'xxx'
|
||||
|
@ -47,10 +47,19 @@ const install = (Vue, vm) => {
|
|||
// 响应拦截,判断状态码是否通过
|
||||
Vue.prototype.$u.http.interceptor.response = (res) => {
|
||||
uni.hideLoading();
|
||||
|
||||
// 检查是否为401未授权错误
|
||||
if (res.statusCode === 401) {
|
||||
handleAuthError(vm);
|
||||
return false;
|
||||
}
|
||||
|
||||
return res.data;
|
||||
|
||||
if (res.succeed == true || res.success == true) {
|
||||
// return res.data || res;
|
||||
return res;
|
||||
} else {
|
||||
} else {
|
||||
// uni.showToast({
|
||||
// title: res.error,
|
||||
// duration: 2000,
|
||||
|
@ -59,13 +68,31 @@ const install = (Vue, vm) => {
|
|||
// uni.navigateTo({
|
||||
// url: "/pages/login/login/login",
|
||||
// });
|
||||
return res;
|
||||
// return false;
|
||||
|
||||
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// 提取处理401错误的函数
|
||||
function handleAuthError(vm) {
|
||||
vm.$u.vuex("vuex_user", "");
|
||||
vm.$u.vuex("vuex_token", "");
|
||||
uni.clearStorage();
|
||||
|
||||
// 显示提示
|
||||
uni.showToast({
|
||||
title: '登录已过期,请重新登录!',
|
||||
icon: 'none',
|
||||
duration: 1500
|
||||
});
|
||||
|
||||
// 延迟跳转到登录页
|
||||
uni.reLaunch({
|
||||
url: '/pages/login/login/index'
|
||||
});
|
||||
}
|
||||
|
||||
export default {
|
||||
install
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue