57 lines
1.3 KiB
JavaScript
57 lines
1.3 KiB
JavaScript
import axios from 'axios';
|
|
import { showToast } from 'vant';
|
|
|
|
const request = axios.create({
|
|
baseURL: import.meta.env.VITE_API_BASE_URL,
|
|
timeout: 10000,
|
|
headers: {
|
|
'Content-Type': 'application/json'
|
|
}
|
|
});
|
|
|
|
// 请求拦截器
|
|
request.interceptors.request.use(
|
|
(config) => {
|
|
console.log('发送请求:', {
|
|
url: config.url,
|
|
method: config.method,
|
|
data: config.data,
|
|
headers: config.headers
|
|
});
|
|
return config;
|
|
},
|
|
(error) => {
|
|
console.error('请求错误:', error);
|
|
return Promise.reject(error);
|
|
}
|
|
);
|
|
|
|
// 响应拦截器
|
|
request.interceptors.response.use(
|
|
(response) => {
|
|
console.log('收到响应:', {
|
|
status: response.status,
|
|
statusText: response.statusText,
|
|
data: response.data,
|
|
headers: response.headers
|
|
});
|
|
return response.data;
|
|
},
|
|
(error) => {
|
|
console.error('响应错误:', {
|
|
message: error.message,
|
|
config: error.config,
|
|
response: error.response ? {
|
|
status: error.response.status,
|
|
statusText: error.response.statusText,
|
|
data: error.response.data,
|
|
headers: error.response.headers
|
|
} : null
|
|
});
|
|
const message = error.response?.data?.message || '请求失败,请稍后重试';
|
|
showToast(message);
|
|
return Promise.reject(error);
|
|
}
|
|
);
|
|
|
|
export default request; |