Storage工具
> Storage 工具,兼容小程序,Uniapp,Browser
``sh
pnpm add @shencom/utils
pnpm add @shencom/utils-storage
`
`ts`
const storage = new ScStorageBase(StorageOption);
`ts`
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 | - | - |
get
- 说明: 获取本地存储数据
- 类型: get`
- 示例:
ts`
const data = storage.get(key);
set
- 说明: 设置本地存储数据
- 类型: set(key: string, data: any, time?: number): voidkey
- 参数:
- : 存储的 keydata
- : 存储的值time
- : 存储时间(单位为分钟),默认: 永久`
- 示例:
ts`
storage.set(key, data, 10); // 10分钟
storage.set(key, data); // 永久
remove
- 说明: 移除指定本地存储数据
- 类型: remove(key: string): voidkey
- 参数:
- : 存储的 key`
- 示例:
ts`
storage.remove(key);
clear
- 说明: 清空本地存储数据,默认保留 lasting 前缀字段数据
- 类型: clear(isAll?: boolean): voidisAll
- 参数:
- : 是否全部清除,默认: false`
- 示例:
ts`
storage.clear(); // 保留 lasting 前缀字段数据
storage.clear(true); // 全部清除
keys
- 说明: 获取本地存储所有的 key
- 类型: keys(): string[]`
- 示例:
ts`
const keys = storage.keys();
getUser
- 说明: 获取 user_ 开头的数据getUser
- 类型: key
- 参数:
- : 存储的 key`
- 示例:
ts`
const data = storage.getUser(key);
setUser
- 说明: 设置 user_ 开头的数据setUser(key: string, data: any, time?: number): void
- 类型: key
- 参数:
- : 存储的 keydata
- : 存储的值time
- : 存储时间(单位为分钟),默认: 永久`
- 示例:
ts`
storage.setUser(key, data, 10); // 10分钟
storage.setUser(key, data); // 永久
removeUser
- 说明: 移除以 user_ 开头的数据removeUser(key: string): void
- 类型: key
- 参数:
- : 存储的 key`
- 示例:
ts`
storage.removeUser(key);
clearUser
- 说明: 清除所有以 user_ 开头的数据clearUser(): void
- 类型: `
- 示例:
ts`
storage.clearUser();
getData
- 说明: 获取 data_ 开头的数据getData
- 类型: key
- 参数:
- : 存储的 key`
- 示例:
ts`
const data = storage.getData(key);
setData
- 说明: 设置 data_ 开头的数据setData(key: string, data: any, time?: number): void
- 类型: key
- 参数:
- : 存储的 keydata
- : 存储的值time
- : 存储时间(单位为分钟),默认: 永久`
- 示例:
ts`
storage.setData(key, data, 10); // 10分钟
storage.setData(key, data); // 永久
removeData
- 说明: 移除以 data_ 开头的数据removeData(key: string): void
- 类型: key
- 参数:
- : 存储的 key`
- 示例:
ts`
storage.removeData(key);
clearData
- 说明: 清除所有以 data_ 开头的数据clearData(): void
- 类型: `
- 示例:
ts`
storage.clearData();
getLasting
- 说明: 获取 lasting_ 开头的数据getLasting
- 类型: key
- 参数:
- : 存储的 key`
- 示例:
ts`
const data = storage.getLasting(key);
setLasting
- 说明: 设置 lasting_ 开头的数据,永久存储,使用 clear 方法默认是不清空这个数据setLasting(key: string, data: any): void
- 类型: key
- 参数:
- : 存储的 keydata
- : 存储的值`
- 示例:
ts`
storage.setLasting(key, data);
removeLasting
- 说明: 移除以 lasting_ 开头的数据removeLasting(key: string): void
- 类型: key
- 参数:
- : 存储的 key`
- 示例:
ts`
storage.removeLasting(key);
clearLasting
- 说明: 清除所有以 lasting_ 开头的数据clearLasting(): void
- 类型: `
- 示例:
ts`
storage.clearLasting();
`ts
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;
`
`ts
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;
``