//cache.js
// 定义我们项目专有本地存储作用域
const LOC_NAME_SPACE = 'Fans';
// 上传
export const setCache = (key, value) => {
// 判断项目是否存在本地存储
let storage = window.localStorage.getItem(LOC_NAME_SPACE);
if (!storage) {
storage = {};
} else {
storage = JSON.parse(storage);
}
storage[key] = value;
// 服务器一般接受的形式为字符串,所以转换成字符串
window.localStorage.setItem(LOC_NAME_SPACE, JSON.stringify(storage));
}
// 获取
export const getCache = (key, def) => { //def是默认值
let storage = window.localStorage.getItem(LOC_NAME_SPACE);
if (!storage) {
return def;
}
// 服务器一般发送回字符串数据,我们解析成正常数据
storage = JSON.parse(storage)
let result = storage[key];
return result || def;
}
// 删除
export const deleteCache = (key) => {
let storage = window.localStorage.getItem(LOC_NAME_SPACE);
if (!storage) {
return;
}
storage = JSON.parse(storage)
window.localStorage.removeItem(storage[key])
}
// 清空
export const clearCache = () => {
let storage = window.localStorage.getItem(LOC_NAME_SPACE);
window.localStorage.removeItem(storage)
}