import axios from "axios" import { ElMessage } from "element-plus" // 创建axios实例 const service = axios.create({ baseURL: import.meta.env.VITE_APP_BASE_API, // 从环境变量获取基础URL timeout: 10000 // 请求超时时间 }) // 请求拦截器 service.interceptors.request.use( (config) => { // 在发送请求之前做些什么 return config }, (error) => { // 对请求错误做些什么 return Promise.reject(error) } ) // 响应拦截器 service.interceptors.response.use( (response) => { const res = response.data // 根据业务状态码处理 if (res.code !== 200) { ElMessage({ message: res.message || "Error", type: "error", duration: 5 * 1000 }) // 特殊状态码处理 if (res.code === 401 || res.code === 403) { // 跳转登录页或其他处理 } return Promise.reject(new Error(res.message || "Error")) } else { return res } }, (error) => { ElMessage({ message: error.message, type: "error", duration: 5 * 1000 }) return Promise.reject(error) } ) export default service