登陆信息是否有必要用Vuex来管理?

首先说说我的登陆流程:

1、当用户访问站点时,在路由拦截器里判断cookie里面是否有username或者token或者sessionId之类的标识,有:表示“已登陆”,否则跳转到登陆页面;
2、如果已登陆(cookie有用户信息),跳转到相应路由,对应页面调用api获取数据,如果返回api提示“未登陆”,跳转到登陆页(每个api都会判断用户是否登陆);
3、正常登陆,保持用户信息到cookie

注:在cookie里面操作(设置、获取、清除等)登陆用户信息,封装到一个单独模块。

问题一:这个流程有问题么?

其实在发这个提问奇前,已经发过一个类似问题, 点这儿查看

里面的实例代码把 用户登陆信息 放到 localStorage 的同时,也保存到了 state 里面,按照我上面的流程描述,我感觉放到 state 里面完全是多余的,因为一刷新就没了,我必须写多余的逻辑代码去维护,有必要么?

问题二:这么看来,登陆信息有必要用Vuex来管理么?

问题三:这么想来,是不是感觉弱化了Vuex的作用?

回答:

个人觉得不需要
第 2 条里面说每个 api 都会判断用户是否登录;
亲,是否可以尝试下请求需要登录后权限的 api 在头信息里面带上 token 之类的的标识呢?

我的大概思路:调用登录 api 成功后保存 token 到 cookie 里面,然后在 api 在请求头信息里面带上 token 拿数据;
这样 api 层可以完全单独出来。

暂无评论

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注