fix:切换页面 停止正在请求而的接口

This commit is contained in:
zhangyu
2022-03-09 18:41:22 +08:00
parent fb75cca09f
commit ed415bb65c
2 changed files with 7 additions and 3 deletions

View File

@@ -1,6 +1,11 @@
import axios from 'axios'
const CancelToken = axios.CancelToken // 申明CancelToken
export const requestsArr = []
axios.interceptors.request.use(config => {
const source = CancelToken.source() // 申明CancelToken,也可new CancelToken.source()实例一个
config.cancelToken = source.token // 讲实例对象的token赋予该请求
requestsArr.push(source) // 将该实例添加到队列中
const token = localStorage.getItem('nz-token')
if (token) {
config.headers.Authorization = token // 请求头token

View File

@@ -1,18 +1,17 @@
import router from './router'
import store from './store'
import { get, post } from './http'
import { get, post, requestsArr } from './http'
import ElementUI from 'element-ui'
import Vue from 'vue'
import i18n, { loadI18n } from './components/common/i18n'
import VueResource from 'vue-resource'
import bus from '@/libs/bus'
Vue.use(VueResource)
const loginWhiteList = ['/setup', '/sys/license/upload', '/sys/license/state', '/sys/appearance'] // 免登陆白名单
const permissionWhiteList = ['/profile', '/menu', ...loginWhiteList] // 权限白名单
router.beforeEach((to, from, next) => {
requestsArr.forEach(xhr => xhr.cancel())
const configUrl = 'static/config.json?Timestamp=' + new Date().getTime()
if (to.path === '/login') { // 拦截登录页面,现货区外观设置 再系统初始化检查
Vue.http.get(configUrl).then(config => {