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.
frontend/src/utils/request.js

54 lines
1.4 KiB
JavaScript

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