一、将用户信息存在vuex和localstorage中
1.存在localstorage中,实现自动登录
(1)往localstorage中存数据次数多,可以封装一个工具函数
/**
* 存数据
* 取数据
* 删除数据
*/
export function addItem(key, val) {
/**
* 基本类型数据
* 引用数据类型
*/
if (typeof val === 'object') {
val = JSON.stringify(val)
}
localStorage.setItem(key, val)
}
export function getItem(key) {
/**
* 获取基本数据类型字符串
* 获取转换后的引用类型
*/
const data = localStorage.getItem(key)
try {
return JSON.parse(data)
} catch {
return data
}
}
export function removeItem(key) {
localStorage.removeItem(key)
}
export function removeAllData(key) {
localStorage.clear()
}
(2)触发action,获取到token后,提交mutation
a.在mutation里面保存vuex,也保存localstorage
b.设置localstorage时,使用常量,创建常量文件夹保存常量
export const TOKEN = 'token'
(3)为了实现自动登录,vuex中的token初始值应该为从localstorage中获取
state: () => ({
token: getItem(TOKEN)
}),
2.存在vuex中