# tap.setStorage(Object object)
以 Promise 风格调用:支持
# 功能描述
数据将被保存到本地缓存的指定键名(key)中,若该键已存在则会覆盖原有内容。存储的数据将长期保留,除非用户手动删除或系统因空间不足自动清理。每个键名对应的数据最大容量为1MB,所有缓存数据总容量最大为10MB。
# 参数
# Object object
属性 | 类型 | 默认值 | 必填 | 说明 |
key | string | 是 | 本地缓存中指定的 key | |
data | any | 是 | 需要存储的内容。只支持原生类型、Date、及能够通过JSON.stringify 序列化的对象。 | |
encrypt | Boolean | false | 否 | 是否开启加密存储。只有异步的 setStorage 接口支持开启加密存储。开启后,将会对 data 使用 AES128 加密,接口回调耗时将会增加。若开启加密存储,setStorage 和 getStorage 需要同时声明 encrypt 的值为 true。此外,由于加密后的数据会比原始数据膨胀1.4倍,因此开启 encrypt 的情况下,单个 key 允许存储的最大数据长度为 0.7MB,所有数据存储上限为 7.1MB |
success | function | 否 | 接口调用成功的回调函数 | |
fail | function | 否 | 接口调用失败的回调函数 | |
complete | function | 否 | 接口调用结束的回调函数(调用成功、失败都会执行) |
# 示例代码
tap.setStorage({
key:"key",
data:"value"
})
// 开启加密存储
tap.setStorage({
key: "key",
data: "value",
encrypt: true, // 若开启加密存储,setStorage 和 getStorage 需要同时声明 encrypt 的值为 true
success() {
tap.getStorage({
key: "key",
encrypt: true, // 若开启加密存储,setStorage 和 getStorage 需要同时声明 encrypt 的值为 true
success(res) {
console.log(res.data)
}
})
}
})