当前位置:网站首页>维持登录,路由跳转

维持登录,路由跳转

2022-07-27 05:04:00 我叫LiLi

1:刷新让他保持登录2:然后登录过后就不让他在登录了 3:关闭浏览器再打开也不用再重新登录了,

解决方案:

在storageUtils里面引入store 定义一个key叫做user_key 值为b0344_user_key

(然后这个b0344_user_key 定义一个常量)然后用set get remove的时候都用这一个key要改就改b0344_user_key就好了

这样我在登录成功的话我需要保存一下

在memoryUtils存一下,再在storageUtils存一下

然后再程序入口main.js里面看看storageUtils里面存不存在,如果存在就往memoryUtils.user里面存一下,用于判断用户是否登陆过,防止关闭浏览器重新打开memoryUtils初始化变为空

点击登录点击两次才会进到登陆页面。

因为我触发actions方法时候,,在点击一次就直接去判断这个条件了,这时候user里面什么信息也没有呢, dispath执行了异步操作去了,第二次点击dispatch才执行完异步操作,所以把这个判断放到actions里面操作才可以。把组件的保存操作注释掉。

并且在dipach方法里面要传进去路由对象,要不然actions里面拿不到路由对象,解构赋值也要解构出来

 接下来进行权限校验,看你是否登陆过,没有登陆过让你登录,登陆过让你去登录页。、

本来是在main.js里面写但是抽取出来了,所以在main.js里要引入一下  import  "./permiassion"

利用路由守卫-router.beforEach

有两个参数router.beforEach(to去哪,from从哪来的,next下一步要怎么做)=>

用:在src目录下创建permission.js,在这里校验。

在路由跳转之前,先获取user对象是否存在,并且不是空对象

 

原网站

版权声明
本文为[我叫LiLi]所创,转载请带上原文链接,感谢
https://blog.csdn.net/m0_61464384/article/details/124516602