workflow-engine-web/flowable-engine-web/src/api/request.js

71 lines
1.6 KiB
JavaScript

import Vue from "vue";
import axios from "axios";
import { Notification, MessageBox, Message } from "element-ui";
// 第三方插件
import "element-ui/lib/theme-chalk/index.css";
import da from "element-ui/src/locale/lang/da";
Vue.prototype.$axios = axios;
// 字体图标
const service = axios.create({
baseURL: Vue.prototype.BASE_URL + ":8080",
timeout: 50000
});
service.defaults.withCredentials = true; // 让ajax携带cookie
service.interceptors.request.use(
// 每次请求都自动携带Cookie
config => {
//config.headers.Cookie = document.cookie
return config;
},
// eslint-disable-next-line handle-callback-err
error => {
return Promise.reject(error);
}
);
service.interceptors.response.use(
rsp => {
let data = rsp.data
if (data.success){
return data
}else {
Notification.error({ title: "提醒", message: "服务器出了点小错误" })
}
},
// 拦截异常的响应
err => {
console.log("请求", err);
switch (err.response.status) {
case 401:
MessageBox.alert("登陆已过期,请关闭当前窗口重新进入-能臣工作台");
break;
case 403:
//Message.warning("抱歉,您无权访问!")
break;
case 500:
Notification.error({ title: "提醒", message: "服务器出了点小错误" });
break;
case 404:
Notification({
title: "提醒",
message: "未找到,检查参数",
type: "warning"
});
break;
default:
//throw 'request error'
return Promise.reject(err);
}
//throw 'request error'
return Promise.reject(err);
}
);
export default service;