import axios from 'axios'; // 创建一个Axios实例,并配置基础URL和请求超时时间 const service = axios.create({ baseURL: 'http://192.168.7.3:18080', // 设置基础URL timeout: 60000, // 设置请求超时时间(单位为毫秒) // withCredentials: true, // 如果需要发送跨域请求时携带凭证(如Cookies),可以取消注释此行 }); // service.defaults.withCredentials = true; // 请求拦截器 service.interceptors.request.use( (config) => { // 在发送请求之前做些什么,例如添加token到headers // config.headers['cookie'] = 'authjs.csrf-token=024846fb3c7ff4d8baffaf9de069396e72ab6c439fb44ce126830edee05d2e88%7Ccc355f6cf425ed6dc60262ef653a29adb8c2a05aba34ddf4a2c1c4dfa59d5613; authjs.callback-url=http%3A%2F%2F192.168.15.199%3A3210%2Fchat%3Fsession%3Dinbox%26topic%3Dtpc_nBRvJCjmn1as; LOBE_LOCALE=zh-CN; LOBE_THEME_PRIMARY_COLOR=undefined; LOBE_THEME_NEUTRAL_COLOR=undefined; authjs.session-token=eyJhbGciOiJkaXIiLCJlbmMiOiJBMjU2Q0JDLUhTNTEyIiwia2lkIjoiY3FXQ2gyUDdpSVZEdkFQZEtHQU55d0JJdmFaMDhGVzJfV1pBelQxYjVoV0oyRjRubDF1LWFJdllYeHkxMW4zZU1kdjVrMlAxWFRwQWdfZl9SdDU2Q2cifQ..wduWoP240CT_p3rOpF3vWg.do7yfgOkk8YMgwApJ1C2-rkBVPh9x00dXBNe-SMhhTj5NH5EEfwEYQiqHb3ZJwnSdT_L6d_GnY42NvgS6E1yTmi54gCdxabms-Eemy75IB_UCDcQjak7e4hSRFdAbH8AjA0MeS6fpJcFJlkWwniZf9kWZsuvy-m702_4SsP8E9E5b_X-9EIX85cDhRFjUC6cNdpNcwY98CvlhI7X-PMh20unkhSRiKCLJOaEKIZeJg_REGezxGcz3NrIE30fI3KB0T5tHetKYO_6BYJ5KCWgiaKHebgxSA21KTXeggpv0Q-UBS5yOmys32Ra2NwFroyahJ9VC0Z3cQiZegb7GXIjkg.UfjoEB1hV-NjULY12ZqZp_hLeInM4LCUHhUNyeqygws'; config.headers['x-lobe-chat-auth'] = 'http_nosafe.eyJhY2Nlc3NDb2RlIjoiIiwidXNlcklkIjoiZmQ4YWUzNTktNjRkYy00YTU3LWFiNDEtNTQzOGUyZmRhOTc1In0='; return config; }, (error) => { // 对请求错误做些什么 console.log(error); // for debug return Promise.reject(error); } ); // 响应拦截器 service.interceptors.response.use( (response) => { // 对响应数据做点什么,例如根据状态码判断成功或失败 const res = response.data; if (response.status === 200) { return res; } else { return Promise.reject(res); } }, (error) => { // 对响应错误做点什么 /***** 接收到异常响应的处理开始 *****/ if (error && error.response) { // 1.公共错误处理 // 2.根据响应码具体处理 switch (error.response.status) { case 400: error.message = "错误请求"; break; case 401: error.message = "错误请求"; break; case 423: // token刷新失效 error.message = error.response.data + "请重新登录"; break; case 403: error.message = "拒绝访问"; break; case 404: error.message = "请求错误,未找到该资源"; break; case 405: error.message = "请求方法未允许"; break; case 408: error.message = "请求超时"; break; case 500: error.message = "服务器端出错"; break; case 501: error.message = "网络未实现"; break; case 502: error.message = "网络错误"; break; case 503: error.message = "服务不可用"; break; case 504: error.message = "网络超时"; break; case 505: error.message = "http版本不支持该请求"; break; default: error.message = `连接错误${error.response.status}`; } } else { error.message = "连接服务器失败"; } /***** 处理结束 *****/ //如果不需要错误处理,以上的处理过程都可省略 return Promise.reject(error.response); } ); export default service;