MeiRiYiCheng_1_old/App/zhuangxiang/util/request/responseInterceptors.js

32 lines
1.1 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

/**
* 响应拦截
* @param {Object} http
*/
module.exports = (vm) => {
uni.$u.http.interceptors.response.use((response) => { /* 对响应成功做点什么 可使用async await 做异步操作*/
const data = response.data;
if(data){
// 自定义参数
const custom = response.config?.custom
if (data.code !== 0) { // 服务端返回的状态码不等于200则reject()
// 如果没有显式定义custom的toast参数为false的话默认对报错进行toast弹出提示
if (custom.toast !== false) {
uni.$u.toast(data.message)
}
// 如果需要catch返回则进行reject
if (custom?.catch) {
return data;
// return Promise.reject(data)
} else {
// 否则返回一个pending中的promise
// return data;
return new Promise(() => { })
}
}
return data.data === undefined?{}:data.data;
}
return response;
}, (response) => { /* 对响应错误做点什么 statusCode !== 200*/
return Promise.reject(response)
})
}