element-admin(权限验证)

element-admin关于权限验证permission.js文件注解

router.beforeEach(async (to, from, next)) {
    if (hasToken) { // 如果有token己登录

        if (to.path === '/login') { // 如果是登录页
            next({path: '/'}) // 打开首页

        } else { // 如果是其它页
            if (hasGetUserInfo) { // 如果获取用户信息成功
                next();

            } else { // 如果获取用户信息失败
                try { // 再次获取用户信息
                    await getUserInfo
                    next()

                } catch (error) { // 依旧获取用户信息失败
                    await resetToken // 清除token,
                    next(`/login?redirect=${to.path}`) // 先登录然后跳转回原页面
                }
            }
        }


    } else { // 如果没有token,未登录

        if (to.path = '/login') { // 如果是登录页
            next()

        } else { // 如果是其它页
            next(`/login?redirect=${to.path}`) // 先登录然后跳转回原页面

        }

    }

}

你可能感兴趣的:(element-admin(权限验证))