拦截器可以实现整体页面的登录调整;
需要做统一的功能处理,让处理更方便;
/**
* http请求拦截器
*/
export default function () {
// 请求计数
let requestCount = 0;
uni.addInterceptor('request', {
invoke(args) {
const url = args.url.split('?')[0];
// console.log("request-invoke", args, url);
requestCount++;
// 出现加载状态
if (requestCount == 1) {
uni.showLoading({
title: '加载中'
});
}
// console.log('requestCount', requestCount);
},
success(args) {
// console.log("request-success", args);
},
fail(err) {
console.log('request-fail', err);
},
complete(res) {
// console.log("request-complete", res);
requestCount--;
if (requestCount <= 0) uni.hideLoading(); // 注意hideLoading会关闭toast
}
});
}