/**
|
* 响应拦截
|
* @param {Object} http
|
*/
|
module.exports = (vm) => {
|
uni.$u.http.interceptors.response.use((response) => {
|
uni.hideLoading();
|
const data = response.data
|
if (response.data.code === 401) { // 处理登录过期
|
uni.showToast({ title: '登录过期,准备自动重新登录', icon: 'none', duration: 2000, mask: true });
|
setTimeout(() => {
|
uni.reLaunch({ url: '/pages/login/login' });
|
}, 2000)
|
return
|
}
|
if (response.data.code !== 200) { // 请求报错
|
uni.showToast({ title: response.data.message, icon: 'none', duration: 2000 });
|
}
|
return data || {}
|
}, (error) => {
|
uni.hideLoading();
|
let code = error.code
|
if (error.code === "ECONNABORTED") {
|
code = 999
|
}
|
switch (code) {
|
case 404:
|
uni.showToast({ title: '请求资源不存在', icon: 'none', duration: 2000 });
|
break;
|
case 500:
|
uni.showToast({ title: '服务器资源错误', icon: 'none', duration: 2000 });
|
break;
|
case 999:
|
uni.showToast({ title: '请求超时', icon: 'none', duration: 2000 });
|
break;
|
}
|
return Promise.reject(error)
|
})
|
}
|