Vue|Vue 后台管理项目9-axios拦截器
axios拦截器:统一设置请求前和响应后的操作
【Vue|Vue 后台管理项目9-axios拦截器】传送门https://github.com/axios/axios
1.拦截器的作用:简化开发
//官方文档
// Add a request interceptor
axios.interceptors.request.use(function (config) {
// Do something before request is sent
return config;
}, function (error) {
// Do something with request error
return Promise.reject(error);
});
// Add a response interceptor
axios.interceptors.response.use(function (response) {
// Do something with response data
return response;
}, function (error) {
// Do something with response error
return Promise.reject(error);
});
2.统一设置请求权限必须的token信息
//在vue-axios.js中设置axios拦截器// 请求拦截器:请求发送之前,触发回调函数,将所有信息拦截存储在config
axios.interceptors.request.use((config)=> {
// console.log(config);
//判断请求的是登录还是其他的地址
if(config.url.indexOf('/login')!=-1){
//登录接口,不做token信息添加
}else{
//非登录接口,为了一些权限接口,做token信息添加
config.headers.Authorization = window.sessionStorage.getItem('token');
}
//返回处理过的axios设置
return config;
}, function (error) {
//出错啦
console.log(error);
return Promise.reject(error);
});
3.统一设置了响应的状态提示
//在vue-axios.js中设置axios拦截器//响应拦截器:请求响应回来之后,会触发这个回调函数
axios.interceptors.response.use(function (response) {
// console.log(response);
//根据响应的状态码,统一设置用户提示
if(response.data.meta.status===200){
//成功,提示返回的信息
Vue.prototype.$message.success(response.data.meta.msg);
}else if(response.data.meta.status===400){
//失败,提示返回的信息
Vue.prototype.$message.error(response.data.meta.msg);
}
return response;
}, function (error) {
return Promise.reject(error);
});
本文同步发表在我的个人博客:https://www.lubaojun.com/
推荐阅读
- vue-cli|vue-cli 3.x vue.config.js 配置
- 基于微信小程序带后端ssm接口小区物业管理平台设计
- 2020-04-07vue中Axios的封装和API接口的管理
- 全过程工程咨询——时间管理(12)
- 《卓有成效的管理者》第二十二堂课(创造英雄)
- 游乐园系统,助力游乐园管理
- #山言良语#用管理思维百天减肥18斤
- 最有效的时间管理工具(赢效率手册和总结笔记)
- VueX--VUE核心插件
- 干货来袭(自我管理(来几款撩人的APP))