//引入axios
import axios from 'axios'
//引入Elment UI 组件
import { Message} from 'element-ui'
//引入env.js
import baseURL from './env'
//封装axios请求
//创建axios实例
const service = axios.create({
//axios请求基地址
baseURL: `${baseURL.prod.baseURL}/api/private/v1`,
timeout: 2000,
});
//添加请求拦截
service.interceptors.request.use(function (config) {
console.log('请求拦截:', config)
if(config.url!=='/login') {
//获取token传递给请求头
const token = sessionStorage.getItem('token')
//配置请求头
if (token) {
config.headers['Authorization']=token
}
}
return config;
}, function (error) {
//请求报错
return Promise.reject(error);
});
//请求响应拦截
service.interceptors.response.use(function (response) {
//成功返回
console.log('响应拦截:', response)
const res = response.data;
const resultOk = [200, 201, 204]
if (resultOk.includes(res.meta.status)) {
//轻提示
Message({
message: res.meta.msg,
type: 'success'
})
//成功返回
return res.data
}
return Promise.reject('返回数据有误,请检查');
}, function (error) {
//失败返回
return Promise.reject(error);
});
export default service;
封装axios
最新推荐文章于 2023-07-27 17:14:36 发布