为什么要封装axios我就不多说了,总而言之就是为了方便开发
配置
如果需要配置跨域代理的话,可以先看看我这篇文章:vue-cli配置跨域
全局方法
新建src/request/http.js
/**axios封装
* 请求拦截、相应拦截、错误统一处理
*/
import axios from 'axios';
import router from '@/router'
// 环境的切换
//开发环境和部署环境
// const url = process.env.NODE_ENV === 'development' ? "http://168.0.0.119:8080" : "";
// axios.defaults.baseURL = url;
// axios.defaults.withCredentials = true; //让axios携带cookie
// 创建axios实例
var instance = axios.create({
timeout: 1000 * 12
});
// 设置post请求头
instance.defaults.headers.post['Content-Type'] = 'application/x-www-form-urlencoded';
/**
* 跳转登录页
* 携带当前页面路由,以期在登录页面完成登录后返回当前页面
*/
const toLogin = () = >{
// 清除用户登录信息
localStorage.removeItem('user');
router.replace({
path: '/login',
query: {
redirect: router.currentRoute.fullPath
}
});
}
// 请求拦截器
axios.interceptors.request.