Commit 3af91219 authored by smallwei's avatar smallwei

修复axios

parent 9eff5a70
...@@ -7,10 +7,14 @@ ...@@ -7,10 +7,14 @@
import axios from 'axios' import axios from 'axios'
import router from '../router/router' import router from '../router/router'
import store from '../store' import store from '../store'
import { getToken } from '@/util/auth' import {
getToken
} from '@/util/auth'
import NProgress from 'nprogress' // progress bar import NProgress from 'nprogress' // progress bar
import errorCode from '@/const/errorCode' import errorCode from '@/const/errorCode'
import { Message } from 'element-ui' import {
Message
} from 'element-ui'
import 'nprogress/nprogress.css' // progress bar style import 'nprogress/nprogress.css' // progress bar style
axios.defaults.timeout = 30000; axios.defaults.timeout = 30000;
//返回其他状态吗 //返回其他状态吗
...@@ -19,16 +23,11 @@ axios.defaults.timeout = 30000; ...@@ -19,16 +23,11 @@ axios.defaults.timeout = 30000;
// }; // };
//跨域请求,允许保存cookie //跨域请求,允许保存cookie
axios.defaults.withCredentials = true; axios.defaults.withCredentials = true;
NProgress.configure({ showSpinner: false }) // NProgress Configuration NProgress.configure({
const requestMap = new Map(); showSpinner: false
}) // NProgress Configuration
//HTTPrequest拦截 //HTTPrequest拦截
axios.interceptors.request.use(config => { axios.interceptors.request.use(config => {
const keyString = JSON.stringify(Object.assign({}, { url: config.url, method: config.method }, config.data));
if (requestMap.get(keyString)) {
return Promise.reject('code:000')
}
requestMap.set(keyString, true);
config = Object.assign(config, { _keyString: keyString });
NProgress.start() // start progress bar NProgress.start() // start progress bar
if (store.getters.access_token) { if (store.getters.access_token) {
config.headers['Authorization'] = 'Bearer ' + getToken() // 让每个请求携带token--['X-Token']为自定义key 请根据实际情况自行修改 config.headers['Authorization'] = 'Bearer ' + getToken() // 让每个请求携带token--['X-Token']为自定义key 请根据实际情况自行修改
...@@ -38,16 +37,13 @@ axios.interceptors.request.use(config => { ...@@ -38,16 +37,13 @@ axios.interceptors.request.use(config => {
config.headers['TENANT_ID'] = sessionStorage.getItem('tenantId') // 租户ID config.headers['TENANT_ID'] = sessionStorage.getItem('tenantId') // 租户ID
} }
return config return config
}, error => { }, error => {
console.log('err' + error) // for debug console.log('err' + error) // for debug
return Promise.reject(error) return Promise.reject(error)
}) })
//HTTPresponse拦截 //HTTPresponse拦截
axios.interceptors.response.use(res => { axios.interceptors.response.use(res => {
NProgress.done(); NProgress.done();
// 重置requestMap
const config = Object.assign(res.config);
requestMap.set(config._keyString, false);
return res return res
}, error => { }, error => {
NProgress.done() NProgress.done()
...@@ -59,7 +55,9 @@ axios.interceptors.response.use(res => { ...@@ -59,7 +55,9 @@ axios.interceptors.response.use(res => {
}) })
if (parseInt(code) === 401 || parseInt(code) === 403) { if (parseInt(code) === 401 || parseInt(code) === 403) {
store.dispatch('FedLogOut').then(() => { store.dispatch('FedLogOut').then(() => {
router.push({ path: '/login' }); router.push({
path: '/login'
});
}) })
} }
return Promise.reject(new Error(error)) return Promise.reject(new Error(error))
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment