import axios, { AxiosPromise, AxiosError, AxiosResponse } from 'axios';
// 对请求头的处理,与后端约定
axios.interceptors.request.use((config) => {
let clientIP = window.vm.$store && window.vm.$store.getters.clientIP;
if (clientIP) {
config.headers['X-Client-Ip'] = clientIP;
}
return config;
});
// 处理返回结果
axios.interceptors.response.use((res) => {
return res;
}, (err: AxiosError) => {
window.vm.ajaxError(err.response);
return Promise.reject(err);
});
// 定义通用的请求方法
async mixGet(url: string, params?: any, loading: boolean = true, headers: any = {}) {
this.showLoading(loading);
let res = await axios.get(url, { params, headers });
loading && this.mixHideLoading();
return res;
}
// 错误处理
ajaxError(err: AxiosResponse) {
switch (err.status) {
case 401:
sessionStorage.clear();
localStorage.clear();
if (this.$route.path != '/') {
this.$router.replace('/');
}
location.reload();
break;
default:
let message = err.data.message;
if (message) {
this.mixShowTips(message, 'error');
}
break;
}
}
axios的简单使用
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...