import axios from 'axios' const request = axios.create({ baseURL: '/fund', timeout: 15000, headers: { 'Content-Type': 'application/json' } }) // 请求拦截器 request.interceptors.request.use( (config) => { const token = localStorage.getItem('token') if (token) { config.headers['Authorization'] = `Bearer ${token}` } // 添加租户ID(从URL路径的tid参数获取,存储在localStorage中) const tid = localStorage.getItem('tid') || '1' config.headers['X-Tenant-Id'] = tid return config }, (error) => { return Promise.reject(error) } ) // 响应拦截器 request.interceptors.response.use( (response) => { const res = response.data if (res.code && res.code !== 200) { return Promise.reject(new Error(res.message || '请求失败')) } return res }, (error) => { // 提取更详细的错误信息 let message = '网络错误' if (error.response) { const status = error.response.status const data = error.response.data if (data && data.message) { message = data.message } else if (data && data.error) { message = `${status}: ${data.error}` } else { message = `请求失败 (${status})` } } else if (error.message) { message = error.message } return Promise.reject(new Error(message)) } ) export default request