You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
xy-frontend/src/utils/request.js

76 lines
1.8 KiB
JavaScript

2 years ago
import axios from "axios";
import { MessageBox, Message } from "element-ui";
import router from "../router/index";
const service = axios.create({
// process.env.NODE_ENV === 'development' 来判断是否开发环境
// easy-mock服务挂了暂时不使用了
// baseURL: '',
// timeout: 5000
baseURL: "api", //把原来的项目地址改成api解决跨域问题
timeout: 30000,
});
service.interceptors.request.use((config) => {
if (localStorage.getItem("token")) {
config.headers.sessionId = localStorage.getItem("token");
}
return config;
});
service.interceptors.response.use(
// (response) => {
// if (response.status === 200) {
// return response.data;
// } else {
// Promise.reject();
// }
// },
// (error) => {
// console.log(error);
// return Promise.reject();
// }
(response) => {
const res = response.data;
if (res.code !== 200) {
// Message({
// showClose: true,
// message: res.msg || "Error",
// type: "error",
// duration: 5 * 1000,
// });
if (res.code === 401) {
Message({ message: res.msg, type: "error", duration: 1500 });
router.push("/login");
}
if (res.code === 400) {
Message({ message: res.msg, type: "error", duration: 1500 });
}
if (res.code === 500) {
Message({
showClose: true,
message: 服务器错误(500),
type: "error",
duration: 1500,
});
}
return Promise.reject(new Error(res.msg || "Error"));
} else {
return res;
}
},
(error) => {
Message({
message: error.message,
showClose: true,
type: "error",
duration: 1500,
});
return Promise.reject(error);
}
);
export default service;