Skip to content

存储缓存与会话

先决定是否需要自定义命名空间,再读写缓存。configureStorage 必须早于第一次 Local / Session 操作;沿用默认 fast__ 前缀时不必调用。

在应用入口配置命名空间

ts
import { configureStorage } from "@fast-china/utils";

configureStorage({ prefix: "my-app:" });

此配置在激活后不可更换,不应放在每个页面或每次请求中动态修改。

保存带有效期的缓存

ts
import { Local } from "@fast-china/utils";

interface Profile {
	id: number;
	name: string;
}

Local.set("profile", { id: 1, name: "Fast" }, { ttlMs: 30 * 60 * 1000 });
const profile = Local.get<Profile>("profile");

if (profile !== undefined) {
	console.log(profile.name);
}

泛型不会在运行时验证数据;存储来源不可信时,应用仍需校验读取结果。键缺失或过期才代表未命中,不要吞掉配额或解码异常来假装成功。

会话值与退出清理

浏览器中的 Session 可以保存仅当前会话需要的草稿;uni-app 没有对应后端,不应调用它。 清理单个业务缓存使用 Local.remove("profile")。确实要清理本应用整个命名空间时才调用 Local.clear(),不要直接清空底层共享 Storage。

Codec 与安全边界

单次 crypto 选项需要在写入和读取时保持一致;它仅使用可逆 Base64 混淆,不是加密,也不应承载秘密。

准确签名、默认值、异常与平台差异见 Storage API。本指南只维护接入顺序和场景,不复制参数表。