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

80 lines
1.8 KiB
JavaScript

import axios from "axios";
import { Notification, MessageBox, Message } from "element-ui";
// 第三方插件
import "element-ui/lib/theme-chalk/index.css";
// 字体图标
export function getBaseUrl(){
// return "http://gateway.feashow.cn"
// return "http://192.168.101.7:8000"
// return "http://localhost:8000"
return "/api";
}
const service = axios.create({
baseURL: getBaseUrl(),
// baseURL: "http://gateway.mytwins.top",
// baseURL: "http://gateway.odliken.cn",
timeout: 50000
});
service.defaults.withCredentials = true; // 让ajax携带cookie
service.interceptors.request.use(
// 每次请求都自动携带Cookie
config => {
config.headers['authorization'] = localStorage.getItem("token") // 让每个请求携带自定义token 请根据实际情况自行修改
return config;
},
error => {
return Promise.reject(error);
}
);
service.interceptors.response.use(
rsp => {
let data = rsp.data
if (data.code === 401){
localStorage.clear()
window.location.href = "/"
}
if (data.code === 1000){
return data
}else {
Notification.error({ title: "提醒", message: data.msg })
}
},
// 拦截异常的响应
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;