更新记录

0.0.1(2025-10-23) 下载此版本

  • init

平台兼容性

uni-app(4.76)

Vue2 Vue3 Chrome Safari app-vue app-nvue Android iOS 鸿蒙
微信小程序 支付宝小程序 抖音小程序 百度小程序 快手小程序 京东小程序 鸿蒙元服务 QQ小程序 飞书小程序 快应用-华为 快应用-联盟

uni-app x(4.82)

Chrome Safari Android iOS 鸿蒙 微信小程序

lime-storage 数据持久化插件

一个轻量、跨平台的本地持久化数据持久化插件,基于 Storage 能力实现,支持命名空间隔离、自动过期(TTL)、类型泛型、键值查询、清理等功能。

功能特点

  • 命名空间隔离,防止键名冲突
  • TTL 自动过期与清理机制
  • 类型泛型支持,读写更安全
  • 便捷的键集合、尺寸查询与批量清理
  • 轻量无侵入,易于在现有项目接入

文档链接

📚 插件详细文档请访问以下站点:

安装方法

  1. 在 uni-app 插件市场中搜索并导入 lime-storage
  2. 导入后在页面引入相关方法
  3. 需要自定义基座才能使用(建议先进行真机测试)

代码演示

基础用法

通过命名空间管理不同模块的数据,并支持 TTL 自动过期:

import { useStorage } from '@/uni_modules/lime-storage'

const storage = useStorage('user') // 命名空间:user

// 设置:token,1 小时过期(3600 秒)
storage.set('token', 'abc123', 3600)

// 获取:使用泛型更安全
const token = storage.get<string>('token')
console.log('token:', token)

// 判断是否存在(且未过期)
console.log('has token:', storage.has('token'))

// 获取所有键(命名空间内)
console.log('keys:', storage.keys())

// 删除某键
storage.delete('token')

// 清空命名空间
storage.clear()

// 当前命名空间项数量
console.log('size:', storage.size)

快速预览

导入插件后,可以直接使用以下标签查看演示效果:

<!-- 代码位于 uni_modules/lime-storage/components/lime-storage/lime-storage.uvue -->
<lime-storage />

插件标签说明

标签名 说明
l-storage 组件标签
lime-storage 演示标签

API 文档

导出成员

  • useStorage(prefix: string): StorageManager 创建指定命名空间的存储管理器
  • StorageManager 存储管理器类

StorageManager 类

成员 类型 说明
构造函数 new StorageManager(namespace: string) 通过命名空间初始化存储管理器(一般使用 useStorage 创建)
prefix string 命名空间前缀(只读)
size number 当前命名空间下的存储项数量(只读)
get <T = any>(key: string) => T \| null 获取值;若不存在或过期返回 null
set <T = any>(key: string, value: T, timeToLive: number = 0) => void 设置值;timeToLive 为秒,0 表示永不过期
delete (key: string) => void 删除指定键
clear () => void 清空当前命名空间所有键
keys () => string[] 获取所有键名(不包含命名空间前缀)
has (key: string) => boolean 指定键是否存在且未过期

说明:

  • TTL(timeToLive)单位为秒,内部会转换为毫秒并保存为过期时间戳(ttl 字段)。当当前时间超过 ttl,get 会自动返回 null 并清理缓存。
  • 命名空间通过 prefix 隔离不同模块数据,避免键名冲突。
  • 对象类型值以 JSON 字符串形式持久化存储。

内部存储结构(类型)

组件内部使用以下结构进行持久化(不需要手动创建):

类型 字段 说明
LimeStorageItem ttl: number 过期时间戳(毫秒),0 表示永不过期
value: any 存储值(可为任意类型)

平台说明

  • 采用 uni-app 同步存储 API(getStorageInfoSync / getStorageSync / setStorageSync / removeStorageSync
  • 解析异常将被静默忽略;非法或过期项会在加载或访问时清理

支持与赞赏

如果你觉得本插件解决了你的问题,可以考虑支持作者:

支付宝赞助 微信赞助

隐私、权限声明

1. 本插件需要申请的系统权限列表:

2. 本插件采集的数据、发送的服务器地址、以及数据用途说明:

3. 本插件是否包含广告,如包含需详细说明广告表达方式、展示频率:

许可协议

MIT协议

暂无用户评论。