Skip to content

存储工具 (StorageTool)

用于管理浏览器本地存储(localStorage)和会话存储(sessionStorage)的工具类。

使用方法

typescript
import { createLocalStorage, createSessionStorage } from '@fu/matrix';

const storage = createLocalStorage('my-app');

// 基本用法
storage.set('theme', 'dark');
const theme = storage.get('theme');
storage.rm('theme');

// 通用存储空间
storage.set('config', { api: 'https://api.example.com' }, true);

// 批量存储
storage.setMultiple({
  theme: 'dark',
  language: 'zh-CN'
});

// 清空存储空间
storage.clean();  // 清空当前用户的存储空间
storage.clean(true);  // 清空通用存储空间

API

构造函数

typescript
constructor(options: { storageKey: string; storageType?: 'local' | 'session' })

实例方法

typescript
get<T>(key: string, isCustomer?: boolean, projectKey?:string): T | null
set<T>(key: string, value: T, isCustomer?: boolean): void
rm(key: string, isCustomer?: boolean): void
getAll(): Record<string, any>
setAll(data: Record<string, any>): void
setMultiple(items: Record<string, any>, isCustomer?: boolean): void
clean(isCustomer?: boolean): void

工厂函数

typescript
createLocalStorage(storageKey: string): StorageTool
createSessionStorage(storageKey: string): StorageTool

参数说明

  • storageKey: 存储的命名空间前缀
  • storageType: 存储类型,可选 local 或 session
  • key: 存储项的键名
  • value: 要存储的值
  • isCustomer: 是否使用通用存储空间
  • items: 要批量存储的键值对对象

注意事项

  1. 仅支持浏览器环境
  2. 存储的值会被自动序列化/反序列化
  3. 存储空间有限,建议控制数据量
  4. 通用存储空间的数据对所有用户可见