# Core API
# StorageModule()
创建一个存储模块
# 类型
new StorageModule<T>(key: string, storageType: StorageType, noUniqueVerify?: boolean): StorageModule<T>;
# 参数
key: string
存储模块的 key
storageType: StorageType
enum StorageType { LOCAL = 'local', SESSION = 'session', }
noUniqueVerify?: boolean = false
当值为
true
时,StorageModule
不会校验 key 的唯一性
# 返回值
A new StorageModule
instance.
# 示例
const storageModule = new StorageModule('user_info', StorageType.LOCAL);
# storageModule.getItem()
从存储模块获取存储项的值
# 类型
StorageModule<T>.getItem<K extends keyof T>(key: K): T[K] | undefined;
# 参数
key: K
存储模块的 key
# 返回值
存储项的值
# 示例
const token = storageModule.getItem('token');
# storageModule.setItem()
在存储模块中设置存储项的值
# 类型
StorageModule<T>.setItem<K extends keyof T>(key: K, value: T[K]): void;
# 参数
key: K
存储模块的 key
value: T[K]
要设置的值
# 示例
storageModule.setItem('token', 'xxx');
# storageModule.removeItem()
从存储模块中删除 key 及其值
# 类型
StorageModule<T>.removeItem<K extends keyof T>(key: K): void;
# 参数
key: K
存储模块的 key
# 示例
storageModule.removeItem('token');
# storageModule.clear()
从存储模块中删除所有 key 及其值
# 类型
StorageModule<T>.clear(): void;
# 示例
storageModule.clear();
# storageModule.contains()
获取存储模块中是否存在该 key
# 类型
StorageModule<T>.contains(key: string): boolean
# 参数
key: K
存储模块的 key
# 返回值
存储模块中是否存在该 key
# 示例
storageModule.contains('token');
# storageModule.size()
获取存储模块中的存储项的数量
# 类型
StorageModule<T>.size(): number;
# 返回值
存储模块中的存储项的数量
# 示例
const size = storageModule.size();
# storageModule.getHelper()
获取存储模块的 IStorageModuleHelper
实例
# 类型
StorageModule<T>.getHelper(): IStorageModuleHelper<T>;
# 返回值
存储模块的 IStorageModuleHelper
实例
interface IStorageModuleHelper<T> {
getModule(): T;
setModule(root: T): void;
clearModule(): void;
getStorageKey(): string;
getStorageType(): StorageType;
getExistence(): boolean;
protect(): void;
cancelProtect(): void;
}
# 示例
const helper = storageModule.getHelper();
# helper.getModule()
以 JSON 对象的格式获取存储模块的值
# 类型
IStorageModuleHelper<T>.getModule(): T;
# 返回值
存储模块中的所有键值对
# 示例
const valueDict = helper.getModule();
# helper.setModule()
设置一个 JSON 对象作为存储模块的值 覆盖式更新
# 类型
IStorageModuleHelper<T>.setModule(root: T): void;
# 参数
root: T
一个 JSON 对象,它将会成为存储模块的值
# 示例
helper.setModule({ token: 'xxx', hasSigned: true });
# helper.clearModule()
清空存储模块
# 类型
IStorageModuleHelper<T>.clearModule(): void;
# 示例
helper.clearModule();
# helper.getStorageKey()
获取存储模块的 key
# 类型
IStorageModuleHelper<T>.getStorageKey(): string;
# 返回值
存储模块的 key
# 示例
const storageModuleKey = helper.getStorageKey();
# helper.getStorageType()
获取存储模块的类型
# 类型
IStorageModuleHelper<T>.getStorageType(): StorageType;
# 返回值
enum StorageType {
LOCAL = 'local',
SESSION = 'session',
}
# 示例
const storageType = helper.getStorageType();
# helper.getExistence()
判断存储模块是否存在
# 类型
IStorageModuleHelper<T>.getExistence(): boolean;
# 返回值
存储模块是否存在
# 示例
const exist = helper.getExistence();
# helper.protect()
开启模块保护
# 类型
IStorageModuleHelper<T>.protect(): void;
# 示例
helper.protect();
# helper.cancelProtect()
关闭模块保护
# 类型
IStorageModuleHelper<T>.cancelProtect(): void;
# 示例
helper.cancelProtect();