// axios封装示例代码
// 引入axios库
import axios from 'axios';
// 创建axios实例
const service = axios.create({
// 设置基础url,可以根据项目需求修改
baseURL: process.env.VUE_APP_BASE_API,
// 设置超时时间
timeout: 5000
});
// 请求拦截器
service.interceptors.request.use(
config => {
// 在发送请求之前做些什么
// 比如:设置token
const token = localStorage.getItem('token');
if (token) {
config.headers['Authorization'] = `Bearer ${token}`;
}
return config;
},
error => {
// 对请求错误做些什么
return Promise.reject(error);
}
);
// 响应拦截器
service.interceptors.response.use(
response => {
// 对响应数据做点什么
const res = response.data;
// 如果返回的状态码不是200,说明接口请求失败了,可以统一处理
if (res.code !== 200) {
Message({
message: res.message || 'Error',
type: 'error',
duration: 5 * 1000
});
return Promise.reject(new Error(res.message || 'Error'));
} else {
return res;
}
},
error => {
// 对响应错误做点什么
Message({
message: error.message,
type: 'error',
duration: 5 * 1000
});
return Promise.reject(error);
}
);
// 导出封装好的axios实例
export default service;
axios.create
方法创建一个新的axios实例,并设置一些默认配置,比如baseURL
和timeout
。Authorization
字段,确保每次请求都携带用户认证信息。上一篇:vue3流程图组件
下一篇:vue 监听点击整个页面事件
Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3
Laravel 中文站