llm-survey/frontend/src/utils/request.js
2025-02-23 18:18:56 +08:00

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;