极简本地键值
灵感:能力工具箱 idb-keyval(一行读写本地键值)。
> 小四原创:set(key, value) / get(key) → 草稿持久化。
> 比 localStorage 更适合较大 JSON;仍保持 API 极简。
何时使用
- 表单草稿本地暂存
- 用户偏好开关
- Demo 离线键值
硬约束
- 依赖:
idb-keyval。 - value 需可结构化克隆。
- 实现要点注释标 小四原创。
- 不做完整文档库/同步复制集。
推荐实现
import { get, set, del } from 'idb-keyval'
// 小四原创:极简本地键值
const DRAFT = 'crm:draft:customer'
export async function saveDraft<T>(data: T): Promise<void> {
await set(DRAFT, data)
}
export async function loadDraft<T>(): Promise<T | undefined> {
return get<T>(DRAFT)
}
export async function clearDraft(): Promise<void> {
await del(DRAFT)
}
Agent 步骤
npm i idb-keyval。- 失焦/定时
saveDraft;进入页loadDraft。 - 自测:刷新后草稿仍在。
不要做
- 把大二进制文件整包塞进单 key。
- 做成 PouchDB 级同步库。
附加
- README.md · reference.md · templates/usage.md