FenXiNspBigScreen/src/api/request.js

50 lines
1.3 KiB
JavaScript

import axios from "axios";
import router from '@/router'
const requests = axios.create({
baseURL:"/lh-api",
timeout:20000,
});
// 请求拦截器
requests.interceptors.request.use((config)=>{
config.headers['X-Access-Token'] = localStorage.getItem("token") // 请求头带上token
config.headers['X-Tenant-Id'] = '1001'
return config
},(error)=>{
return Promise.reject(new Error('faile'));
})
// 响应拦截器
requests.interceptors.response.use((res)=>{
return res.data;
},(error)=>{
if(error && error.response) {
switch (error.response.status) {
case 400:
error.message = '错误请求'
break;
case 401:
error.message = '未授权,请重新登录'
localStorage.clear()
window.location.reload()
this.$router.push({
path: '/login'
})
break;
case 403:
error.message = '拒绝访问'
break;
case 404:
error.message = '请求错误,未找到该资源'
break;
case 405:
error.message = '请求方法未允许'
break;
}
}
return Promise.reject(new Error('faile'));
});
export default requests;