import axios from 'axios'; import { ElMessage } from 'element-plus'; // Create an Axios instance with a base configuration const apiClient = axios.create({ baseURL: '/api', timeout: 600000, // 10 min timeout }); // Optional: Add a response interceptor for global error handling apiClient.interceptors.response.use( response => { // Check if the response has the expected successful structure if (response.data && response.data.code === 0) { return response.data; // Return only the data part of the response } else { // Handle business errors (e.g., code !== 200) const errorMessage = response.data.message || 'An unknown error occurred.'; ElMessage.error(errorMessage); return Promise.reject(new Error(errorMessage)); } }, error => { // Handle HTTP errors (e.g., 4xx, 5xx) const errorMessage = error.response?.data?.message || 'A network error occurred. Please check your connection.'; ElMessage.error(errorMessage); console.error('API Error:', error.response || error); return Promise.reject(error); } ); export default apiClient;