新建storage存储模块,利用本地存储,进行vuex持久化处理
具体步骤:
1. 建立storage模块
// 约定一个通用的键名
const INFO_KEY = 'hm_shopping_info'
export const getInfo = () => {
// 设置一个默认信息
const defaultObj = { token: '', userId: '' }
// 获取的结果
const result = localStorage.getItem(INFO_KEY)
// 判断result是否存在,如果不存在,使用默认值
return result ? JSON.parse(result) : defaultObj
}
// 设置个人信息
export const setInfo = (obj) => {
localStorage.setItem(INFO_KEY, JSON.stringify(obj))
}
// 移除个人信息
export const removeInfo = () => {
localStorage.removeItem(INFO_KEY)
}
2.使用模块中的方法,进行持久化处理
import { getInfo, setInfo } from '@/utils/storage'
export default {
namespaced: true,
state () {
return {
// 个人权证相关
userInfo: getInfo() // 从本地获取数据
}
},
mutations: {
// 所有mutations的第一个参数都是state
setUserInfo (state, obj) {
state.userInfo = obj
// 调用setInfo,进行本地存储
setInfo(obj)
}
},