import axios from "axios"; import util from "@/libs/util.js"; import { Message,MessageBox } from "element-ui"; // import router from '@/router' let Axios = axios.create({ responseType: "json", withCredentials: true, // 是否允许带cookie这些 }); /* //POST传参序列化(添加请求拦截器) */ Axios.interceptors.request.use( (config) => { // 若是有做鉴权token , 就给头部带上token let token = util.cookies.get("token"); if(config.methodType=='down'){ config.responseType= "blob" } if (token != undefined) { config.headers.Authorization = "Bearer " + token; } return config; }, (error) => { return Promise.reject(error); } ); /* //返回状态判断(添加响应拦截器) */ Axios.interceptors.response.use( (res) => { if (res.config.responseType === 'blob') { return res.data; } else if (res.data.code == 200) { /* //对响应数据做些事 */ return res.data ? res.data : {}; } else { if(!res.config.loadingFlag){ Message({ // message: res.data.msg==res.data.data?res.data.data:res.data.msg+','+res.data.data, message: res.data.msg, type: 'error', duration: 3 * 1000 }) // MessageBox.confirm( res.data.msg+"?", "提示", { // confirmButtonText: "确定", // cancelButtonText: "取消", // type: "warning", // }) // .then(() => { // }) // .catch(() => {}); } return res.data ? res.data : {}; } }, (error) => { let { message } = error if (message === 'Network Error') { message = '后端接口连接异常' } else if (message.includes('timeout')) { message = '系统接口请求超时' } else if (message.includes('Request failed with status code')) { message = '系统接口' + message.substr(message.length - 3) + '异常' } Message({ message: message, type: 'error', duration: 3 * 1000 }) // MessageBox.confirm( message+"?", "提示", { // confirmButtonText: "确定", // cancelButtonText: "取消", // type: "warning", // }) // .then(() => {}) // .catch(() => {}); return Promise.reject(error) } ) // let errJson = { // success: false, // }; // // 下面是接口回调的satus ,因为我做了一些错误页面,所以都会指向对应的报错页面 // if (error && error.response) { // switch (error.response.status) { // case 400: // errJson.status = error.response.status; // errJson.message = error.response.data.data; // break; // case 401: // errJson.status = error.response.status; // errJson.message = "未授权,请重新登录(401)"; // window.parent.postMessage( // { // msg: "logout", // }, // "*" // ); // // console.log("标志位:",AuthData.isLoginout) // // if (!AuthData.isLoginout) { // // Notification({ // // title:"", // // showClose: true, // // message: "登录信息失效,请重新登录!", // // type: "error" // // }); // // } // // AuthData.isLoginout = true // // todo 返回到登录页 // // router.push({ // // path: '/' // // }) // break; // case 403: // errJson.status = error.response.status; // errJson.message = "拒绝访问(403)"; // break; // case 404: // errJson.status = error.response.status; // errJson.message = "找不到请求路径(404)"; // break; // case 408: // errJson.status = error.response.status; // errJson.message = "请求超时(408)"; // break; // case 500: // errJson.status = error.response.status; // errJson.message = "server不可用"; // break; // // case 501: // // errJson.status = error.response.status; // // errJson.message = "服务未实现(501)"; // // break; // // case 502: // // errJson.status = error.response.status; // // errJson.message = "网络错误(502)"; // // break; // // case 503: // // errJson.status = error.response.status; // // errJson.message = "服务不可用(503)"; // // break; // // case 504: // // errJson.status = error.response.status; // // errJson.message = "网络超时(504)"; // // break; // // case 505: // // errJson.status = error.response.status; // // errJson.message = "HTTP版本不受支持(505)"; // // break; // default: // errJson.status = error.response.status; // errJson.message = error.response.data.data; // } // // Notification({ // // title: "", // // showClose: true, // // message: errJson.message, // // type: "error", // // }); // } else { // errJson.message = "连接服务器失败!"; // Notification({ // title: "", // showClose: true, // message: "连接服务器失败!", // type: "error", // }); // // router.push({ // // path: '/login' // // }); // } // 返回 response 里的错误信息 // return Promise.reject(errJson); // } // ); export default Axios;