From 41e42eec13c7c8ea16c2f48f5fb0fc955c6b74bb Mon Sep 17 00:00:00 2001 From: jmal Date: Fri, 24 Jul 2020 11:37:37 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96=E7=99=BB=E5=BD=95=E5=A4=B1?= =?UTF-8?q?=E6=95=88=E5=90=8E=E6=93=8D=E4=BD=9C=E7=9A=84=E5=8F=8B=E5=A5=BD?= =?UTF-8?q?=E6=80=A7=E6=8F=90=E7=A4=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/permission.js | 3 +-- src/utils/request.js | 44 +++++++++++++++++++++----------------------- 2 files changed, 22 insertions(+), 25 deletions(-) diff --git a/src/permission.js b/src/permission.js index dcda198..3911874 100644 --- a/src/permission.js +++ b/src/permission.js @@ -34,10 +34,9 @@ router.beforeEach(async(to, from, next) => { // get user info await store.dispatch('user/getInfo') next() - } catch (error) { + } catch { // remove token and go to login page to re-login await store.dispatch('user/resetToken') - Message.error(error || 'Has Error') next(`/login?redirect=${to.path}`) NProgress.done() } diff --git a/src/utils/request.js b/src/utils/request.js index 866fa97..cc5bf9d 100644 --- a/src/utils/request.js +++ b/src/utils/request.js @@ -24,7 +24,7 @@ service.interceptors.request.use( }, error => { // do something with request error - console.log(error) // for debug + console.log('123',error) // for debug return Promise.reject(error) } ) @@ -43,38 +43,37 @@ service.interceptors.response.use( */ response => { const res = response.data - - // if the custom code is not 20000, it is judged as an error. if (res.code !== 0) { - if(res.code === -2){ + if (res.code === -2) { Message({ message: res.message || '服务器开小差了...', type: 'warning', duration: 2 * 1000 }) - }else{ + } else if (res.code === 5) { + // to re-login + setTimeout(function () { + const hasToken = getToken() + if(hasToken){ + MessageBox.confirm('登录已失效,可以取消停留在此页面上,或者再次登录', '确认登出', { + confirmButtonText: '重新登录', + cancelButtonText: '取消', + type: 'warning' + }).then(() => { + store.dispatch('user/resetToken').then(() => { + location.reload() + }) + }) + } + },200) + } else { Message({ message: res.message || '服务器开小差了...', type: 'error', duration: 3 * 1000 }) } - - console.log(res.message) - - if (res.code === 5) { - // to re-login - MessageBox.confirm('您已注销,可以取消停留在此页面上,或者再次登录', '确认登出', { - confirmButtonText: '重新登录', - cancelButtonText: '取消', - type: 'warning' - }).then(() => { - store.dispatch('user/resetToken').then(() => { - location.reload() - }) - }) - } - return Promise.reject(new Error(res.message || 'Error')) + return Promise.reject() } else { let message = '' if(res.message){ @@ -91,9 +90,8 @@ service.interceptors.response.use( } }, error => { - console.log('err' + error) // for debug Message({ - message: error.message, + message: '哎呀!服务器出错,请稍后再试!', type: 'error', duration: 5 * 1000 })