You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

85 lines
2.8 KiB

import axios from 'axios';
import { baseUrl } from "../config/env";
import { $globalStore } from "../common/globalStore"
import { $globalRouter } from "../common/globalRouter"
// import {cache} from '@/store/store';
// axios.defaults.withCredentials = true
//const source = axios.CancelToken.source()
const http = axios.create({
baseURL: baseUrl,
traditional: true,
contentType : "application/json",
timeout: 1000 * 500000, // 1 秒
});
const router = $globalRouter;
//请求拦截器添加head
http.interceptors.request.use(
config => {
if(!config.headers['Content-Type']){
config.headers['Content-Type'] = 'application/json'
}
const token = $globalStore.useCommon.token;
if (token) {
config.headers['Authorization'] = 'Bearer ' + token;
}
config.headers['clientid'] = 'enterprise';
return config
},
err => {
return Promise.reject(err)
}
)
//返回拦截器
http.interceptors.response.use(
response => {
if (response.data.code === 500) {
// let show = cache.getMemoryCache("isShow");
// if(show){
// return response;
// }
if(response.data.message){
// Message.error(response.data.message);
}
if(response.data.msg){
// Message.error(response.data.msg);
}
}
if (response.data.code === 401) {
// Message.error('没有操作该功能权限,请联系管理员添加权限');
}
if (response.data.msg === '未登录或登录超时。请重新登录') {
// let show = cache.getMemoryCache("isShow");
// if(show){
// return response;
// }
// cache.addMemoryCache("isShow",true);
// Message.error('未登录或登录超时。请重新登录');
// let target = window.location.hash;
// cache.addMemoryCache("target",target);
router.push({path:"/login"});
}
return response
},
error => {
if (error.response.status === 401) {
// Message.error('没有操作该功能权限,请联系管理员添加权限');
}
if (error.response.status === 403) {
// let show = cache.getMemoryCache("isShow");
// if(show){
// return;
// }
// cache.addMemoryCache("isShow",true);
if('#/login'!=window.location.hash){
// Message.error('登录过期,请先登录');
let target = window.location.hash;
// cache.addMemoryCache("target",target);
router.push({path:"/login",params:{target:encodeURIComponent(target)}});
}
}
return error
}
)
export default http