• 存储localStorage


    import { validatenull } from '@/util/validate';
    import website from '@/config/website'

    const keyName = website.key + '-';

    /**
     * 存储localStorage
     */
    //token存在localStorage,content内容存在sessionStorage
    export const setStore = (params = {}) => {
      let { name, content, type, } = params;
      name = keyName + name
      let obj = {
        dataType: typeof (content),
        content: content,
        type: type,
        datetime: new Date().getTime()
      }
      if (type) window.sessionStorage.setItem(name, JSON.stringify(obj));
      else window.localStorage.setItem(name, JSON.stringify(obj));
    }

    /**
     * 获取localStorage
     */
    export const getStore = (params = {}) => {
      let { name, debug } = params;
      name = keyName + name
      let obj = {},
        content;
      obj = window.sessionStorage.getItem(name);
      if (validatenull(obj)) obj = window.localStorage.getItem(name);
      if (validatenull(obj)) return;
      try {
        obj = JSON.parse(obj);
      } catch {
        return obj;
      }
      if (debug) {
        return obj;
      }
      if (obj.dataType == 'string') {
        content = obj.content;
      } else if (obj.dataType == 'number') {
        content = Number(obj.content);
      } else if (obj.dataType == 'boolean') {
        content = eval(obj.content);
      } else if (obj.dataType == 'object') {
        content = obj.content;
      }
      return content;
    }

    /**
     * 删除localStorage
     */
    export const removeStore = (params = {}) => {
      let { name, type } = params;
      name = keyName + name
      if (type) {
        window.sessionStorage.removeItem(name);
      } else {
        window.localStorage.removeItem(name);
      }

    }

    /**
     * 获取全部localStorage
     */
    export const getAllStore = (params = {}) => {
      let list = [];
      let {
        type
      } = params;
      if (type) {
        for (let i = 0; i <= window.sessionStorage.length; i++) {
          list.push({
            name: window.sessionStorage.key(i),
            content: getStore({
              name: window.sessionStorage.key(i),
              type: 'session'
            })
          })
        }
      } else {
        for (let i = 0; i <= window.localStorage.length; i++) {
          list.push({
            name: window.localStorage.key(i),
            content: getStore({
              name: window.localStorage.key(i),
            })
          })

        }
      }
      return list;

    }

    /**
     * 清空全部localStorage
     */
    export const clearStore = (params = {}) => {
      let { type } = params;
      if (type) {
        window.sessionStorage.clear();
      } else {
        window.localStorage.clear()
      }

    }
  • 相关阅读:
    Linux服务器之间进行文件目录映射/挂载 nfs rpcbind
    计算机英语Computer English
    收藏的网站
    java 通过sftp服务器上传下载删除文件
    收藏的博客
    MySQL练习题(简单查询)
    MySQL练习题
    Comparable接口和Comparator接口的使用和区别
    排序算法:快速排序
    排序算法:插入排序
  • 原文地址:https://www.cnblogs.com/xiaoxiao95/p/12744067.html
Copyright © 2020-2023  润新知