import axios from "axios";
// 创建 axios 实例
// 切换 开发阶段 和生产阶段的 地址(接口地址)
let baseUrl = '/'
if(process.env.NODE_ENV === 'production'){
baseUrl = 'localhost:5000'
}else if(process.env.NODE_ENV === 'development'){
baseUrl = 'localhost:5000'
}
const service=axios.create({
baseURL:'',
timeout:3000, //网络请求超时
});
// 请求拦截器
service.interceptors.request.use((config) => {
// 让每个请求携带自定义 token
// config.headers['Authorization'] = 'token'
console.log(1111)
return config
}, (error) => {
// 错误抛到业务代码
return Promise.resolve(error)
})
// 响应拦截器
service.interceptors.response.use((response) => {
//针对不同的状态码 进行的判断
if(response.data.code=400){
return response.data.msg='账号密码错误'
}
}, (error) => {
// 错误抛到业务代码
error.data.msg = '请求超时或服务器异常,请检查网络或联系管理员!'
return Promise.resolve(error)
})
axios封装的好处:
1. token 的携带 还有请求状态码的判断