import Fly from 'flyio/dist/npm/wx';
const fly = new Fly();
// 请求拦截
fly.interceptors.request.use(request => {
let token = getApp().globalData.app.$store.state.token;
if (token) {
request.headers['Authorization'] = `bearer ${token}`;
}
return request;
});
// 响应拦截
fly.interceptors.response.use(
response => {
return response.data;
},
err => {
let errRes = undefined;
switch (err.status) {
case 0:
uni.showModal({
title: '请求超时',
content: '请稍后重试!',
showCancel: false
});
break;
case 401:
uni.showModal({
title: '登陆失效',
content: '请从新登陆!',
showCancel: false
}).then(res => {
if (res[1].confirm) {
getApp().globalData.app.$store.commit('user/sync_loginData', {});
uni.reLaunch({
url: '/pages/login/index'
});
}
});
break;
default:
errRes = err.response && err.response.data && err.response.data.errors;
if (errRes && errRes.length) {
uni.showModal({
title: 'Error',
content: `${errRes[0].message}`,
showCancel: false
});
}
console.log(err);
}
}
);
Reflect.getPrototypeOf(fly).fetch = options => {
let opts = Object.assign(
{
url: '',
method: 'POST',
param: {},
toast: {
loading: true
}
},
options || {}
);
fly.config = {
method: opts.method,
baseURL: 'https://xxx.com',
timeout: 0
};
if (opts.toast.loading) {
uni.showLoading({
mask: true,
title: '正在加载'
});
}
return fly.request(opts.url, opts.param).finally(() => {
uni.hideLoading();
});
};
export default fly;
uni-app中使用flyio
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...