2.1.0 • Published 5 years ago

unit-storage v2.1.0

Weekly downloads
1
License
MIT
Repository
-
Last release
5 years ago

简介

Storager 简单方便的localStorage/sessionStorage/Cookies方法,支持scop作用域隔离,存取互不影响。。

安装

$ npm install unit-storage --save
# or
$ yarn add unit-storage

浏览器

下载:storager.min.js

<script src='storager.min.js'></script>
<script>
    storager.set('test', 123);
    storager.get('test')  //123
</script>

使用

简单使用

import Storager from 'unit-storage';

//Storager 默认为localStorage 存储 
// 我们创建一个sessionStorage实例
// 第一个参数是 作用域分隔符 第二个参数是类型
const sessionStorage = Storager.createStorage('scoped', 'sessionStorage')

// sessionStorage 实例的API和localStorage 完全一致

// 存入string
Storager.set('name', 'Storager');
//存入一个对象
Storager.set('obj', {
    name: 'Storager',
    hello: 'world',
});

// 说明:上面存储成功后在浏览器查看会发现 key的前面多了 $: ,为了分隔Storager实例之间存取互不影响 默认会在所有的key前加上$:分隔,Scope 部分说明

// 取
Storager.get('name'); // Storager
Storager.get('obj'); //{name:'Storager',hello:'world'}
//取全部
Storager.get(); // {name:'Storager',obj:{name:'Storager',hello:'world'}}
//删除单个
Storager.del('obj');
// 删除全部
Storager.clear(); //只会删除当前作用域下的
// 跨作用域删除
Storager.removeAll() //会清空所有的记录
// 是否存在
Storager.has('name'); // true
// 所有的值
Storager.values() //[...]
//所有的key
Storager.keys() //[...]
//Cookies
Storager.cookies();
// 见下面

Cookies

Cookies()是一个复用方法接收 3 个参数:name、valual、day //分别为 cookie 名,设置的 cookie 值和过期时间。

//使用
// Cookies方法在Storager实例原型上可以直接.Cookies使用
import Storager from 'unit-storage';

Storager.cookies(key, val, time);
// 或者 使用createCookies函数创建一个方法
const Cookies = Storager.createCookies();
// 使用
Cookies(key,val,time);

//传入两个值时,会设置传入的cookie
Cookies('name', 'jefxie');

//传入一个值时默认读取这个cookie值
Cookies('name') //jefxie

//第三个值是设置cookie的过期时间,单位为天,例如:
Cookies('name', 'jefxie', 3) //3表示cookie的过期时间为3天
// 返回所有
Cookies()
//删除cookie

// 传入一个要删除的cookie名即可,注意:如果不传入任何参数调用该方法,会默认执行清除所有cookie;
Cookies.remove(key?);

Scope 作用域分隔

为了避免存取数值时互相影响,Storager提供了作用域分隔,在创建实例时可以 Storager.createStorage(secret, type)

const Storager = Storager.create('Storager');
/*
* secret 作用域分隔符
* type api类型 localStorage/sessionStorage
*/

Storager.createStorage(secret, type)

const LS = Storager.createStorage('ls', 'localStorage');

LS.set('test', 123);
// 在浏览器开发者工具中查看的是 ls:test  123 作用域是通过 ls: 分隔的

LS.get('test') //123

LS.keys() // ['test'] 取出的时候会自动去除分隔符,可以放心的用

API LIST

import Storager from 'unit-storage';

const LS = Storager.createStorager(secret, type);

//同步api
LS.get(key); //取值
LS.set(key, value); //存值
LS.del(key); //删除单个
LS.clear(); // 清除当前作用域下的存储
LS.removeAll(); //删除所有存储的数据(跨作用域)
LS.has(key); //判断一个存储是否存在 true/false
LS.keys(); //返回当前作用域所有的 key
LS.values(); //返回当前作用域所有的 value


// 创建一个cookies方法
const Cookies = Storager.createCookies();

// Cookies上的方法
Cookies(key, value, time);
Cookies.remove();
2.1.0

5 years ago

2.0.3

5 years ago

2.0.2

6 years ago

2.0.1

6 years ago

2.0.0

6 years ago

1.0.3

6 years ago

1.0.2

6 years ago

1.0.1

6 years ago

1.0.0

6 years ago

0.1.3

6 years ago

0.1.2

6 years ago

0.1.0

6 years ago

0.0.9

6 years ago

0.0.8

6 years ago

0.0.7

6 years ago

0.0.6

6 years ago

0.0.5

6 years ago

0.0.3

6 years ago

0.0.2

6 years ago

0.0.1

6 years ago