import axios, { AxiosResponse } from 'axios' import envConfig from '../config/envConfig' import WebLog from '../utils/weblogs' const axiosInstance2 = axios.create({ baseURL: envConfig.urlENV.HOOK_BASE, timeout: 60000, withCredentials: true }) // HTTPrequest拦截 axiosInstance2.interceptors.request.use( (config) => { // if (config.method === 'get') { // config.paramsSerializer = function (params) { // return qs.stringify(params, { arrayFormat: 'repeat' }) // } // } return config }, (error) => { return Promise.reject(error) } ) // HTTPresponse拦截 axiosInstance2.interceptors.response.use( async (res: AxiosResponse) => { // console.log('http-res:', res) const status = Number(res.status) || 200 const message = res.data.errmsg || '客户端请求异常' if (status !== 200 || res.data.errno !== 0) { // 记录错误日志 console.log('--hookHttp--', `${message}, ${res.request.path} ${res.config.data}`) WebLog.set({ type: 'Error', content: `h-http: ${message}` }) return Promise.reject(new Error(message)) } return res.data }, (error) => { // 检查 error.response 是否存在 if (error.response) { console.error( 'ERROR 服务器返回错误:', error.message, error.response.status, error.config.data ) } else if (error.request) { console.error('ERROR 请求已发出,但未收到响应:', error.message, error.config.data) } else { console.error('ERROR 请求未发出:', error.message, error.config.data) } WebLog.set({ type: 'Error', content: `Error: ${error.message}` }) return Promise.reject(new Error(error)) } ) export default axiosInstance2