//对于axios进行二次封装 //目的1: 利用axios请求,拦截功能 //目的2:请求拦截器,一般可以在公共的部分携带token import axios from "axios"; import { ElMessage } from "element-plus"; //利用axios。crate方法创建一个axios实例 const request = axios.create({ baseURL: '/api', //请求的基本路径的设置 timeout: 5000 //超时时间的设置,超出五秒请求就是失败的 }) //请求拦截器 request.interceptors.request.use((config) => { return config }) //响应拦截器 request.interceptors.response.use((response) => { //处理http错误 return response.data }, (error) => { //处理http网络错误 let status = error.response.status switch (status) { case 404: //错误提示信息 ElMessage({ type: 'error', message: '请求路径出现问题' }) break; case 500 | 501 | 502 | 503 | 504 | 505: ElMessage({ type: 'error', message: "服务器挂了" }) break; case 401: ElMessage({ type: 'error', message: '参数错误' }) break; } return Promise.reject(new Error(error.message)) }) //对外暴露 export default request;