From 7a8304131dcf362765d898e8ec6e1f70711cf301 Mon Sep 17 00:00:00 2001 From: phoenix110 Date: Tue, 20 Mar 2018 17:29:40 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E5=88=A4=E6=96=ADtoken?= =?UTF-8?q?=E6=98=AF=E5=90=A6=E5=AD=98=E5=9C=A8=E7=9A=84=E5=86=99=E6=B3=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit [缺陷描述]: store.dispatch('GetInfo')重复调用。 [重现步骤]: 1.设定dashboard页面也是需要权限才能访问。 2.进入login页面,正常登录系统。 3.点击右上角按钮,正常登出系统。 [期望结果]: 直接跳转到登录页面。 [实际结果]: store.dispatch('GetInfo')被调用,没有直接跳转到登录页面。 [原因定位]: 严格模式下,if(getToken())不能判断token不存在的情况。需要使用if (typeof (token) === 'undefined')来进行判断。 [修复建议]: if(getToken()) 修改为 const token = getToken() if (typeof (token) !== 'undefined') { --- src/permission.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/permission.js b/src/permission.js index e1d1533c..a56c9d89 100644 --- a/src/permission.js +++ b/src/permission.js @@ -19,7 +19,7 @@ const whiteList = ['/login', '/authredirect']// no redirect whitelist router.beforeEach((to, from, next) => { NProgress.start() // 开启Progress const token = getToken() - if (typeof (token) === 'undefined') { // 判断是否有token + if (typeof (token) !== 'undefined') { // 判断是否有token if (to.path === '/login') { next({ path: '/' }) NProgress.done() // if current page is dashboard will not trigger afterEach hook, so manually handle it