封装本地存储方法

封装一个js文件

// 对象直接量 创建一个对象
const Storage = {
    // 保存 数据
    set(key, data, time = 3000) {
        localStorage.setItem(key, JSON.stringify({
            data, //保存的数据
            createTime: new Date() * 1, // 保存的时间戳
            express: time // 过期时间
        }))
    },

    // 提取
    get(key) {
        const item = JSON.parse(localStorage.getItem(key));
        console.log(item);
        if (JSON.parse(localStorage.getItem(key))) { // 判断 如果 提前到了
            const { // 解构赋值  获取 保存的 数据 上传的时间戳 过期时间
                data,
                createTime,
                express
            } = JSON.parse(localStorage.getItem(key)); //提取 并转换为json 对象

            // 当前时间减去 创建时间 
            const curTime = +new Date(); // 获取当前时间的时间戳
            if (curTime - createTime >= express) { // 判断 当前的时间  - 保存的时间 大于/等于 获取时间
                localStorage.removeItem(key); // 删除保存的数据
                return null; // 输出 null
            }
            return data; //  返回未过期的数据
        }
    }

}

引入和使用


 
 // 存储到本地 
 Storage.set('key值', value值, 过期时间)
````

你可能感兴趣的:(封装本地存储方法)