1、token 在诸多组件中可能用得到,建议用vuex管理数据,包裹同步mutations 和异步 actions,整个模式就变成vuex到actions,业务组件中直接触发actions函数
2、 vuex存储数据的方式:基于内存(特点:存取速度特别快,vuex和vue经过绑定,使用方便,快,刷新浏览器会丢失)
3、 cookie和localStorage 本地存储:基于磁盘(特点:存取速度稍慢,持久化的功效,浏览器刷新不会丢失)
4、token有时效,可能失效,故使用vuex配合cookie,初始化时优先从本地取,取到就用,取不到再按格式要求初始化成空串
1、本地存储
state: {
token: localStorage.getItem('token') || '',
},
mutations: {
setToken(state, newToken) {
// token 存储到本地local storage
localStorage.setItem('token', newToken)
},
// 清除token,用户信息
removeInfoToken(state) {
localStorage.removeItem('token')
}
}