element-admin關(guān)于權(quán)限驗證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}`) // 先登錄然后跳轉(zhuǎn)回原頁面
}
}
}
} else { // 如果沒有token,未登錄
if (to.path = '/login') { // 如果是登錄頁
next()
} else { // 如果是其它頁
next(`/login?redirect=${to.path}`) // 先登錄然后跳轉(zhuǎn)回原頁面
}
}
}