在router.js中
//設置白名單贡未,指不需要登錄就可以直接進入的頁面
var whiteList = ["/login","/welcome"]
//這里使用cookie.js绑洛,登錄成功后將后臺返回的token保存在cookie中
// Cookies.set('admin_token','token_value');
var hasToken = Cookies.get('admin_token');
router.beforeEach((to, from, next) => {
//to: 即將要進入的目標 [路由對象]
//from:當前導航正要離開的路由
//next:一定要調用該方法來 resolve 這個鉤子
if (hasToken) {
if (to.path === '/login') {
next({ path: '/' })
} else {
next()
}
}else {
if (whiteList.indexOf(to.path) !== -1) {
next()//這里是即將進入的頁面是白名單的頁面就直接進入
} else {
next({ path: '/login' })//這里是即將進入的頁面不是白名單的頁面又沒有token的情況下重定向到登錄頁面進行登錄操作
}
}
})