wwf
16 小时以前 38712ae83223cb244020e255fc37e1ce35775c45
src/utils/axios.js
@@ -45,6 +45,12 @@
  hasTokens() {
    return !!(this.getAccessToken() && this.getRefreshToken());
  },
  reLogin() {
    const currentPath = router.currentRoute._value.path
    if (currentPath.includes('/h5/')) {
      router.push({ path: '/h5/login', query: router.currentRoute._value.query })
    }
  }
}
let isRefreshing = false;
// 刷新 token 期间的请求队列
@@ -105,6 +111,9 @@
      return response
    }
    if (response.data && resultCode == '401') {
      let filterUrlList = ['/system/wx/js/signature']
      if (filterUrlList.includes(response.config.url)){ return }
      if (!originalRequest._retry && tokenUtils.getRefreshToken) {
        originalRequest._retry = true;
@@ -131,27 +140,21 @@
          originalRequest.headers.Authorization = newAccessToken;
          return createAxios(originalRequest)
        } catch (refreshError) {
          console.log(refreshError)
          // 刷新失败,处理队列中的请求
          refreshQueue.forEach(({ reject }) => {
            reject(refreshError);
          });
          refreshQueue = [];
          tokenUtils.clearTokens();
          if (router.currentRoute._value.path.includes('/h5/')) {
            router.push({ path: '/h5/login', query: router.currentRoute._value.query })
          }
          tokenUtils.reLogin()
        } finally {
          isRefreshing = false;
        }
      } else {
        tokenUtils.clearTokens();
        if (router.currentRoute._value.path.includes('/h5/')) {
          router.push({ path: '/h5/login', query: router.currentRoute._value.query })
        }
        tokenUtils.reLogin()
      }
    }
    console.log(`url-${response.config.flag} `, response.config.url, response.data)
    return response
  },