diff --git a/src/request/request.js b/src/request/request.js index 66702b4..138c87c 100644 --- a/src/request/request.js +++ b/src/request/request.js @@ -16,12 +16,12 @@ request.interceptors.request.use(attachAccessToken,authRequestError) request.interceptors.response.use( handlerefresherror, - undefined + err => err ) request.interceptors.response.use(res=>{ return res.data -},undefined +},err => err ) export default request \ No newline at end of file diff --git a/src/utils/intercaptors/response/refresh.js b/src/utils/intercaptors/response/refresh.js index 3b1b20d..ec077a3 100644 --- a/src/utils/intercaptors/response/refresh.js +++ b/src/utils/intercaptors/response/refresh.js @@ -6,6 +6,9 @@ let isrefreshing = false //待刷新token任务列表 let queue = [] +//不刷新Token白名单 +let urls = ['/api/auth/refresh','/api/auth/login','/api/auth/register'] + /** * 运行任务队列 * @param {*} token @@ -22,7 +25,7 @@ function runqueque(token) { */ export function handlerefresherror(response) { const { config, data, status } = response - if ((data.code == 2009 || status == 401 && config.url != "/api/auth/refresh") && !config._retry) { + if ((data.code == 2009 || status == 401 && !urls.includes(config.url)) && !config._retry) { config._retry = true if (!isrefreshing) { isrefreshing = true @@ -33,7 +36,7 @@ export function handlerefresherror(response) { .then(r => { if (r.code != 1000) { window.location.href = '/auth/login' - return Promise.reject(r.data) + return Promise.reject(r) } const { token, refreshToken } = r.data auth.setAccessToken(token) diff --git a/src/views/auth/Login.vue b/src/views/auth/Login.vue index 26c2b3b..552d490 100644 --- a/src/views/auth/Login.vue +++ b/src/views/auth/Login.vue @@ -72,6 +72,7 @@ export default { const res = await this.$api.login(this.formdata) let msg = '' let type = 'danger' + console.log(res) switch (res.code) { case 2000: msg = '登录成功'; break case 2001: msg = '用户名或密码错误'; break