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) => { // 对请求错误做些什么 console.log(error); // for debug 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) => { console.log("err" + error); // for debug ElMessage({ message: error.message, type: "error", duration: 5 * 1000 }); return Promise.reject(error); } ); export default service;