@shencom/utils-storage
v1.5.0
Published
Storage工具
Downloads
59
Readme
@shencom/utils-storage
Storage 工具,兼容小程序,Uniapp,Browser
Install
pnpm add @shencom/utils
# or
pnpm add @shencom/utils-storage
Basic Usage
const storage = new ScStorageBase(StorageOption);
Option
interface StorageOption {
scid: string;
get: (key: string) => string | null;
set: (key: string, value: string) => void;
remove: (key: string) => void;
clear: () => void;
keys: () => string[];
}
| 参数 | 说明 | 类型 | 可选值 | 默认值 | | ------ | ---------------------- | -------- | ------ | ------ | | scid | 唯一标识符 | String | - | - | | get | 获取本地存储数据 | Function | - | - | | set | 设置本地存储数据 | Function | - | - | | remove | 移除指定本地存储数据 | Function | - | - | | clear | 清空本地存储数据 | Function | - | - | | keys | 获取本地存储所有的 key | Function | - | - |
Methods
get
- 说明: 获取本地存储数据
- 类型:
get<T = any>(key: string): T | null
- 示例:
const data = storage.get(key);
set
- 说明: 设置本地存储数据
- 类型:
set(key: string, data: any, time?: number): void
- 参数:
key
: 存储的 keydata
: 存储的值time
: 存储时间(单位为分钟),默认:永久
- 示例:
storage.set(key, data, 10); // 10分钟 storage.set(key, data); // 永久
remove
- 说明: 移除指定本地存储数据
- 类型:
remove(key: string): void
- 参数:
key
: 存储的 key
- 示例:
storage.remove(key);
clear
- 说明: 清空本地存储数据,默认保留 lasting 前缀字段数据
- 类型:
clear(isAll?: boolean): void
- 参数:
isAll
: 是否全部清除,默认:false
- 示例:
storage.clear(); // 保留 lasting 前缀字段数据 storage.clear(true); // 全部清除
keys
- 说明: 获取本地存储所有的 key
- 类型:
keys(): string[]
- 示例:
const keys = storage.keys();
getUser
- 说明: 获取
user_
开头的数据 - 类型:
getUser<T = any>(key: string): T | null
- 参数:
key
: 存储的 key
- 示例:
const data = storage.getUser(key);
setUser
- 说明: 设置
user_
开头的数据 - 类型:
setUser(key: string, data: any, time?: number): void
- 参数:
key
: 存储的 keydata
: 存储的值time
: 存储时间(单位为分钟),默认:永久
- 示例:
storage.setUser(key, data, 10); // 10分钟 storage.setUser(key, data); // 永久
removeUser
- 说明: 移除以
user_
开头的数据 - 类型:
removeUser(key: string): void
- 参数:
key
: 存储的 key
- 示例:
storage.removeUser(key);
clearUser
- 说明: 清除所有以
user_
开头的数据 - 类型:
clearUser(): void
- 示例:
storage.clearUser();
getData
- 说明: 获取
data_
开头的数据 - 类型:
getData<T = any>(key: string): T | null
- 参数:
key
: 存储的 key
- 示例:
const data = storage.getData(key);
setData
- 说明: 设置
data_
开头的数据 - 类型:
setData(key: string, data: any, time?: number): void
- 参数:
key
: 存储的 keydata
: 存储的值time
: 存储时间(单位为分钟),默认:永久
- 示例:
storage.setData(key, data, 10); // 10分钟 storage.setData(key, data); // 永久
removeData
- 说明: 移除以
data_
开头的数据 - 类型:
removeData(key: string): void
- 参数:
key
: 存储的 key
- 示例:
storage.removeData(key);
clearData
- 说明: 清除所有以
data_
开头的数据 - 类型:
clearData(): void
- 示例:
storage.clearData();
getLasting
- 说明: 获取
lasting_
开头的数据 - 类型:
getLasting<T = any>(key: string): T | null
- 参数:
key
: 存储的 key
- 示例:
const data = storage.getLasting(key);
setLasting
- 说明: 设置
lasting_
开头的数据,永久存储,使用clear
方法默认是不清空这个数据 - 类型:
setLasting(key: string, data: any): void
- 参数:
key
: 存储的 keydata
: 存储的值
- 示例:
storage.setLasting(key, data);
removeLasting
- 说明: 移除以
lasting_
开头的数据 - 类型:
removeLasting(key: string): void
- 参数:
key
: 存储的 key
- 示例:
storage.removeLasting(key);
clearLasting
- 说明: 清除所有以
lasting_
开头的数据 - 类型:
clearLasting(): void
- 示例:
storage.clearLasting();
Example
Browser
import { ScStorageBase } from '@shencom/utils';
// import ScStorageBase from '@shencom/utils-storage';
const scid = 'xxx';
const Storages = new ScStorageBase({
scid,
get: window.localStorage.getItem.bind(window.localStorage),
set: window.localStorage.setItem.bind(window.localStorage),
remove: window.localStorage.removeItem.bind(window.localStorage),
clear: window.localStorage.clear.bind(window.localStorage),
keys: () => Object.keys(window.localStorage),
});
export default Storages;
UniApp
import { ScStorageBase } from '@shencom/utils';
// import ScStorageBase from '@shencom/utils-storage';
const scid = 'xxx';
const Storages = new ScStorageBase({
scid,
get: uni.getStorageSync,
set: uni.setStorageSync,
clear: uni.clearStorageSync,
remove: uni.removeStorageSync,
keys: () => uni.getStorageInfoSync().keys,
});
export default Storages;