import axios from 'axios' import { ElMessage } from 'element-plus' const ins = axios.create({ baseURL: '/', timeout: 15000, }) // 请求拦截:自动附带 token ins.interceptors.request.use(config => { const token = sessionStorage.getItem('CQ-TOKEN') if (token) { config.headers['Authorization'] = `Bearer ${token}` } return config }) // 响应拦截:统一处理错误 ins.interceptors.response.use( res => { return res.data }, err => { if (err.response?.status === 401) { sessionStorage.removeItem('CQ-TOKEN') ElMessage.error('登录已过期,请重新登录') window.location.href = '/login' } else { ElMessage.error(err.response?.data?.message || '网络错误,请稍后重试') } return Promise.reject(err) } ) export default ins