super-localstorage
TypeScript icon, indicating that this package has built-in type declarations

2.1.0 • Public • Published

super-localstorage

介绍

super-localstorage 是利用window.localStorage进行直接存储或获取ArrayObjectBooleanNumberString类型数据的插件其功能主要有:

  1. 支持接存储 ArrayObject,Boolean等类型数据。无需做JSON.parse()等处理,获取 ArrayObject,Boolean等数据时也不用做 JSON.stringify() 等处理处理
  2. 支持分组管理(可设置分组,可配合用户角色删除某个角色下的所有localstorage
  3. 支持设置过期日期(仅支持时间戳或 Date 实例类型的过期时间)
  4. 支持加密存储 (使用^运算符操作加密,可自定义密匙,无依赖,高效率)
  5. 支持删除某条由本插件创建的localstorage
  6. 支持按分组删除所有该分组下的localstorage
  7. 支持删除全部由本插件创建的localstorage
  8. 支持删除所有的 localstorage 即不管是不是本插件创建的localstorage都删除
  9. 无依赖,高效率,超轻量,压缩后仅 3kb 左右

遵循 MIT 开源协议。开源地址:https://gitee.com/mxp131011/super-localstorage.git

问题反馈和功能建议

  1. 在 gitee 中提交 issues
  2. 邮箱:mxp131011@qq.com
  3. 微信:mxp131011

安装

npm install super-localstorage

引入 super-localstorage

import SuperLocalstorage from 'super-localstorage';

创建实例

/**
 * 第一个参数是自定义分组的组名,不传默认为:'_MXP_GROUP_'
 * 第二个参数加密的密匙,不传默认为:'_MXP_ENCRYPT_'
 */
const storage = new SuperLocalstorage();
const storage2 = new SuperLocalstorage('admin', 'my_secret_Key');

存储数据 【非加密】

仅支持存储 Array,Object,Number,Boolean, String 类型对象 (无需做 JSON.stringify()等类似处理)

// 永久有效
storage.set('aa', { foo: 100 });
// 设置过期时间 (支持Date实例或时间戳)
storage.set('bb', true, new Date());
storage.set('cc', [true, 0, '2', { a: 1 }], new Date().getTime());

获取数据【非加密】

得到存储的数据 (如未设置或者已过期则返回 null)

storage.get('aa');
storage.get('bb');
storage.get('cc');

存储数据 【加密】

仅支持存储 Array,Object,Number,Boolean, String 类型对象 (无需做 JSON.stringify()等类似处理)

// 永久有效
storage.setEncrypt('aa', { foo: 100 });
// 设置过期时间 (支持Date实例或时间戳)
storage.setEncrypt('bb', true, new Date());
storage.setEncrypt('cc', [true, 0, '2', { a: 1 }], new Date().getTime());

获取数据【加密】

得到存储的数据 (如未设置或者已过期则返回 null)

storage.getEncrypt('aa');
storage.getEncrypt('bb');
storage.getEncrypt('cc');

设置或修改组名

storage.setGroupName('user');

设置或修改加密的密匙

storage.setSecretKey('_user_encrypt_');

删除某个由本插件创建的 localStorage

storage.del('aa');

删除某个分组下的所有 localStorage

// 删除默认分组下的所有 localStorage
storage.delGroup();
// 删除指定分组下的所有 localStorage
storage.delGroup('user');

删除本插件创建的所有 localStorage

storage.delMyAll();

删除全部的 localStorage

/**
 * 删除全部的localStorage 包括非本插件创建的localStorage
 */
storage.delAll();

Package Sidebar

Install

npm i super-localstorage

Weekly Downloads

1

Version

2.1.0

License

MIT

Unpacked Size

18.5 kB

Total Files

6

Last publish

Collaborators

  • mxp131011