request 拦截器:
1、在 src下 创建目录network,并创建文件request .js,进行如下配置
import axios from "axios";
import { setTimeout } from "core-js";
import { Message, Loading } from "element-ui";
const http = axios.create({
baseURL: '/api',
timeout: 5000
})
http.interceptors.request.use(
config => {
const sessionToken = sessionStorage.getItem("session");
if (sessionToken) {
config.url = config.url + '?session=' + sessionToken
}
return config;
},
error => {
console.log(error, 'error')
return Promise.reject(error);
});
http.interceptors.response.use(
response => {
const res = response.data
if (res.code == 99) {
Message({
message: '非法访问,请重新登录',
type: 'error',
duration: 5 * 1000
})
setTimeout(() => {
sessionStorage.removeItem('session')
this.$router.push('/login')
}, 1500)
} else if (res.code == 1) {
Message({
message: res.msg,
type: 'error',
duration: 5 * 1000
})
return Promise.reject(res)
} else {
return res;
}
},
error => {
console.log(error, 'error')
Message({
message: error.message,
type: 'error',
duration: 5 * 1000
})
return Promise.reject(error);
});
export default http
2、在network下创建文件http.js,将请求写到该文件中,并引用拦截器,
import request from '@/utils/request'
export function getInfo(params) {
return request({
url: '/user/info',
method: 'get',
params
});
}