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',
|
// baseUrl: 'http://115.238.47.235:8993',
|
||||||
// 如果将此值设置为true,拦截回调中将会返回服务端返回的所有数据response,而不是response.data
|
// 如果将此值设置为true,拦截回调中将会返回服务端返回的所有数据response,而不是response.data
|
||||||
// 设置为true后,就需要在this.$u.http.interceptor.response进行多一次的判断,请打印查看具体值
|
// 设置为true后,就需要在this.$u.http.interceptor.response进行多一次的判断,请打印查看具体值
|
||||||
// originalData: true,
|
originalData: true,
|
||||||
// 设置自定义头部content-type
|
// 设置自定义头部content-type
|
||||||
// header: {
|
// header: {
|
||||||
// 'content-type': 'xxx'
|
// 'content-type': 'xxx'
|
||||||
|
@ -47,10 +47,19 @@ const install = (Vue, vm) => {
|
||||||
// 响应拦截,判断状态码是否通过
|
// 响应拦截,判断状态码是否通过
|
||||||
Vue.prototype.$u.http.interceptor.response = (res) => {
|
Vue.prototype.$u.http.interceptor.response = (res) => {
|
||||||
uni.hideLoading();
|
uni.hideLoading();
|
||||||
|
|
||||||
|
// 检查是否为401未授权错误
|
||||||
|
if (res.statusCode === 401) {
|
||||||
|
handleAuthError(vm);
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
return res.data;
|
||||||
|
|
||||||
if (res.succeed == true || res.success == true) {
|
if (res.succeed == true || res.success == true) {
|
||||||
// return res.data || res;
|
// return res.data || res;
|
||||||
return res;
|
return res;
|
||||||
} else {
|
} else {
|
||||||
// uni.showToast({
|
// uni.showToast({
|
||||||
// title: res.error,
|
// title: res.error,
|
||||||
// duration: 2000,
|
// duration: 2000,
|
||||||
|
@ -59,13 +68,31 @@ const install = (Vue, vm) => {
|
||||||
// uni.navigateTo({
|
// uni.navigateTo({
|
||||||
// url: "/pages/login/login/login",
|
// 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 {
|
export default {
|
||||||
install
|
install
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue