@scope_client/storage

1.0.2 • Public • Published

@scope_client/storage

统一浏览器缓存数据(localStorage/sessionStorage/cookie)的API

install

  • yarn add @scope_client/storage

方法说明:

方法名 作用
setItem 设置单个条目
getItem 读取单个条目
removeItem 移除单个条目
clear 移除所有条目
getAll 获取所有条目
keys 获取所有key值
has 判断key是否存在
forEach 遍历数据
onerror 监听异常

参数说明:

1. setItem方法
cookie.setItem(key, value, expiresDay[非必传,默认60天], host[非必传,默认当前一级域名], path[非必传,默认根路径])
local.setItem(key, value, expiresDay[非必传,无默认值])
session.setItem(key,value)

2. getItem方法
xx.getItem(key)

3. removeItem方法
xx.removeItem(key)

4. clear方法
xx.clear()

5. getAll方法
xx.getAll()

6. keys方法
xx.keys()

7. has方法
xx.has(key)

8. forEach方法
xx.forEach((item, index) => {
    console.log(item, index);
});

9. onerror方法(同window.onerror使用方式)
xx.onerror = function (error) {
    console.log(error);
};

示例方法

import { local, session, cookie } from '@scope_client/storage';

console.warn('--------------- local ----------------');
local.onerror = function (error) {
    console.log(error);
};
local.setItem('testAW', 1, 1);
console.log(local.getItem('test'));
console.log(local.getAll());
console.log(local.keys());
console.log(local.has('test'));
local.forEach((item, index) => {
    console.log(item, index);
});
setTimeout(() => {
    local.clear();
}, 2000);

console.warn('--------------- session ----------------');
session.setItem('haha', 1);
console.log(session.getItem('haha'));
console.log(session.getAll());
console.log(session.keys());
console.log(session.has('haha'));
session.forEach((item, index) => {
    console.log(item, index);
});
setTimeout(() => {
    session.clear();
}, 4000);


console.warn('--------------- cookie ----------------');
cookie.setItem('code', 1, 1);
console.log(cookie.getItem('code'));
console.log(cookie.getAll());
console.log(cookie.keys());
console.log(cookie.has('code'));
cookie.forEach((item, index) => {
    console.log(item, index);
});
setTimeout(() => {
    cookie.clear();
}, 6000);

备注

1. 当使用浏览器不支持的存储方式时,会在控制台抛出error log,并且使用的方法不会再执行;
2. 参考各网站存储数据的命名规范,利用正则强制命名规范,只允许小写字母、数字、下划线的出现,并且长度不超过18,期待company_organization_department_key的书写方式;

计划

看是否有必要支持scope空间

相关资料

cookie、localStorage 、sessionStorage简单封装
localStorage设置过期时间

Package Sidebar

Install

npm i @scope_client/storage

Weekly Downloads

0

Version

1.0.2

License

MIT

Unpacked Size

138 kB

Total Files

9

Last publish

Collaborators

  • confetti7