zoukankan      html  css  js  c++  java
  • 存储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()
      }

    }
  • 相关阅读:
    raise PDFEncryptionError('Unknown algorithm: param=%r' % param) pdfminer.pdfdocument.PDFEncryptionError: Unknown algorithm
    Hive与Hbase的区别
    HIVE—索引、分区和分桶的区别
    MapReduce编程之Semi Join多种应用场景与使用
    MapReduce编程之Map Join多种应用场景与使用
    MapReduce编程之Reduce Join多种应用场景与使用
    Mapreduce——视频播放数据分类统计
    Docker-compose实战——Django+PostgreSQL
    Docker基础教程
    1.node接口搭建--express搭建服务器
  • 原文地址:https://www.cnblogs.com/xiaoxiao95/p/12744067.html
Copyright © 2011-2022 走看看