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;
|