问题来源:
一般开发系统或者较为私密的网站时,网站的默认第一路由地址一般为登录界面,如果监测到未登录,用户不能跳转,包括懂技术的人员也不能强行在url框里面直接输人路由地址进行跳转,这个时候路由拦截就十分重要了
解决方法:
使用路由里面的router.beforeEach 它有三个参数to(当前跳转的路由信息),from(跳转之前的路由信息,即上一个路由的相关信息),next(是一个路由跳转的方法,可以直接跳转路由,如果传false就是禁止跳转),(可以打印一下看看,这三个参数的作用)通过这三个参数的使用进行全局的路由拦截
router.beforeEach(function(to,from,next){
if(to.path=='/login'){next()}
if(localStorage.getItem('ad_user')){
next()
}
else{
next(false)
ElMessage({
message: '请先登录',
type: 'warning',
})
}
})