import axios from 'axios' import { Message } from '@arco-design/web-vue' import { useAuthStore } from '../store/auth' const http = axios.create({ baseURL: 'http://localhost:8080', timeout: 15000 }) http.interceptors.request.use((config) => { const store = useAuthStore() if (store.token) { config.headers.Authorization = `Bearer ${store.token}` } return config }) http.interceptors.response.use( (response) => { const res = response.data if (res.code !== 0) { Message.error(res.message || 'Request failed') return Promise.reject(new Error(res.message || 'Request failed')) } return res.data }, (error) => { const message = error?.response?.data?.message || error.message || 'Request failed' Message.error(message) return Promise.reject(error) } ) export default http