/* 封装axios用于发送请求 */ import axios from 'axios' import { Message } from 'element-ui'; // 请确保你的项目中已经安装了 Element UI const request = axios.create({ baseURL: '', // 设置基地址,博主这个请求跨域了因此我设置了代理服务器,因此基地址才这么短 timeout: 5000 // 请求超时:当5s没有响应就会结束请求 }) // 添加请求拦截器,一下内容是axios的拦截器,可以不用写 request.interceptors.request.use( function (config) { // 在发送请求之前做些什么 return config }, function (error) { // 对请求错误做些什么 return Promise.reject(error) } ) // 添加响应拦截器 request.interceptors.response.use( function (response) { // 对响应数据做点什么 return response.data }, function (error) { // 对响应错误做点什么 console.log(error); return Promise.reject(error) } ) export default request // axios.js const instance = axios.create({ baseURL: 'https://api.example.com', // 设置你的API基础URL }); // 添加一个响应拦截器 instance.interceptors.response.use( (response) => { // 如果请求成功,直接返回响应数据 return response.data; }, (error) => { // 如果请求失败,处理错误信息 if (error.response) { // 请求已发出,但服务器响应状态码不在 2xx 范围内 console.error('Error status:', error.response.status); console.error('Error data:', error.response.data); console.error('Error headers:', error.response.headers); // 提示错误信息 Message.error(`请求错误:${error.response.status}`); } else if (error.request) { // 请求被发出但未收到响应 console.error('No response received:', error.request); // 提示错误信息 Message.error('网络错误,请稍后重试'); } else { // 设置请求时发生了一些错误 console.error('Error:', error.message); // 提示错误信息 Message.error('请求失败,请稍后重试'); } // 返回一个带有错误信息的 Promise 对象 return Promise.reject(error); } );