猿问

使用vuex保存用户登录状态时遇到的一个问题

问题:

我做的是一个商城项目,说来话长,由于种种原因,用户登录态得靠我前端来保存,日了狗啊。现在的做法是:在入口文件(main.js)发起一个请求,根据返回的结果判断用户是否合法,合法的话就在设置store.state.userStatus:true,否则为false,然后后续的组件都根据store.state.userStatus做出判断。

一切都挺顺利的,直到刷新浏览器,由于接口是xhr请求,异步,所以如果我在个人中心组件刷新浏览器,得到的是store.state.userStatus的初始值,并不是根据接口判断后设置的值,这就有问题了。。。

我怀疑能不能用vuex保存用户的登录态,如果能,应该怎么操作呢?如果不能,那前端怎么保存用户登录态才比较妥善呢?


慕莱坞森
浏览 1243回答 2
2回答

慕的地10843

你的登录状态是基于token还是基于cookie的?基于token就在拿到token之后保存到localStorage里面或者cookies里面,下次用的时候,有token,并且没过期就是已经登录了,没有token就是没登录

慕容708150

你可以在根实例的created回调中发起异步请求,获取到状态之前显示loading,获取到状态后再根据结果显示业务组件或者路由跳转
随时随地看视频慕课网APP
我要回答