uniapp中的本地存储API
在 UniApp 里,setStorage
和 getStorage
属于本地存储 API,能够把数据存于设备本地,在应用关闭后数据依然存在,再次打开应用时可继续使用。下面为你详细介绍它们的特性、使用方法以及经典示例。
1、特性
- 数据持久化:应用关闭之后数据仍然存在,下次打开应用时还能读取。
- 异步操作:
setStorage
和getStorage
均为异步操作,不会阻塞主线程。 - 数据类型:存储的数据会被自动转换为字符串,读取时再将字符串转换回对应的数据类型。
- 存储限制:不同平台的存储限制有所不同,一般是 10MB 左右。
2、使用方法uni.setStorage(OBJECT)
把数据存储到本地缓存中指定的 key 里,若 key 已存在则会覆盖原有内容,这是一个异步接口。
3、参数说明:
key
:必需,本地缓存中的指定的 key。data
:必需,需要存储的内容,支持任何数据类型。success
:可选,接口调用成功的回调函数。fail
:可选,接口调用失败的回调函数。complete
:可选,接口调用结束的回调函数(调用成功、失败都会执行)。
4、经典示例
// 存储数据
uni.setStorage({
key: 'userInfo',
data: {
name: '张三',
age: 25
},
success: function () {
console.log('数据存储成功');
},
fail: function (err) {
console.log('数据存储失败', err);
}
});
// 获取数据
uni.getStorage({
key: 'userInfo',
success: function (res) {
console.log('获取数据成功', res.data);
},
fail: function (err) {
console.log('获取数据失败', err);
}
});
5、代码解释
- 首先,借助
uni.setStorage
把一个包含name
和age
的对象存储到userInfo
这个 key 里,并且在存储成功或失败时输出相应的日志。 - 接着,使用
uni.getStorage
从userInfo
这个 key 中获取数据,若获取成功就输出数据,若失败则输出错误信息。