@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设置过期时间