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()
      }

    }
  • 相关阅读:
    [翻译]使用设计模式简化.NET中菜单和Form元素之间的关系
    [AWDwR4]13章出错 protect_against_forgery
    使用存储过程(22)
    建立数据库连接(19)
    对数据库添加数据(21)
    ADO.NET常用对象(18)
    数据展现Repeater控件(25)
    content控件(24)
    对数据库增加数据(21)
    行为存储过程(23)
  • 原文地址:https://www.cnblogs.com/xiaoxiao95/p/12744067.html
Copyright © 2011-2022 走看看