利用Vuex处理用户token的思路
当用户登录成功后,把token存储到vuex中,优点是获取数据非常方便并且可以做到响应式,但是为了数据的持久化,还需要把token放到本地存储中。下面是具体操作:
1.vuex中的配置
2.当请求成功后,调用mutations中的setUser实现对state数据的修改(commit)
3.目前我们已经在 vuex 中定义user来存储信息,可以通过以下思路实现某些功能
- 当其他界面需要判断用户是否登录时,就可以通过 v-if 判断 $store.state.user 是否有效存在来实现
- 当退出登录时,需要清除 vuex 中的 user(commit(null)) 和本地存储中的 user
- 当获取并展示不同用户信息时,需要用户携带 token 令牌,一般是在请求头 headers 中设置 Authorization(授权) ,这时可以通过store.state.user.token 拿到 token,当多个页面都需要携带token,此授权在请求拦截器中设置会更加方便 (config.headers. Authorization=user.token)