在项目的根目录下创建一个utils文件夹(随便命名)
在utils文件下创建一个api.js文件和http.js文件
在http.js中引入axios
在http.js中创建一个axios实例,并设置timeout(请求时长)、baseURL(地址);
如下:
import axios from ‘axios’
const server = axios.create({
baseURL: ‘/api/app’,
timeout: 10000, // 请求超时的时间
headers: {
‘content-type’: ‘application/x-www-form-urlencoded’,
“deviceType”:“H5”
}
})
设置请求拦截和响应拦截
// 请求拦截
server.interceptors.request.use(config => {
if (localStorage.getItem(‘token’)) {
config.headers.token = localStorage.getItem(‘token’)
}
return config
}, err => {
console.log(err)
})
// 响应拦截
// res 服务器返回的数据信息
server.interceptors.response.use(res => {
if (res.data.msg == “当前登录token无效,请重新登录”) {
} else {
return res
}
}, err => {
// 只是作为参考例子 具体情况要看服务器真实的返回数据
switch (err.code) {
case 500:
console.log(‘服务器错误’)
break;
case 404:
console.log(‘页面找不到了’)
break;
default:
console.log(‘网络连接错误’)
break;
}
})