web前端全系列 教程
1839个小节阅读:2244.3k
鸿蒙应用开发
C语言快速入门
JAVA全系列 教程
面向对象的程序设计语言
Python全系列 教程
Python3.x版本,未来主流的版本
人工智能 教程
顺势而为,AI创新未来
大厂算法 教程
算法,程序员自我提升必经之路
C++ 教程
一门通用计算机编程语言
微服务 教程
目前业界流行的框架组合
web前端全系列 教程
通向WEB技术世界的钥匙
大数据全系列 教程
站在云端操控万千数据
AIGC全能工具班
A A
White Night
在开发过程中,有些需求是数据需要持久保存在程序中的,不随程序关闭而删除
例如:用户基本信息、主题颜色等
在微信小程序中,提供了对数据的存储操作:
wx.setStorage()
wx.getStorage()
wx.removeStorage()
wx.clearStorage()
将数据存储在本地缓存中指定的 key 中。会覆盖掉原来该 key 对应的内容。除非用户主动删除或因存储空间原因被系统清理,否则数据都一直可用。单个 key 允许存储的最大数据长度为 1MB,所有数据存储上限为 10MB
xxxxxxxxxx
Page({
onLoad(options) {
wx.setStorage({
key: "name",
data: "itbaizhan"
})
}
})
属性 | 类型 | 默认值 | 必填 | 说明 |
---|---|---|---|---|
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 |
温馨提示
AES加密:高级加密标准(英语:Advanced Encryption Standard,缩写:AES) 是一种区块加密标准。AES可以使用128、192和256位密钥,从安全性来看,AES256安全性最高。从性能来看,AES128性能最高
例如:
加密前内容:百战程序员
加密后内容:U2FsdGVkX1/ws/a97KhEomtKuz3QXWf0QU9mcw1XTH0=
解密后内容:百战程序员
xxxxxxxxxx
Page({
onLoad(options) {
wx.setStorage({
key: "username",
data: "itbaizhan",
encrypt: true
})
}
})
从本地缓存中异步获取指定 key 的内容
xxxxxxxxxx
Page({
onLoad(options) {
wx.setStorage({
key: "name",
data: "itbaizhan"
})
wx.getStorage({
key:"name",
success(res){
console.log(res.data);
}
})
wx.setStorage({
key: "username",
data: "sxt",
encrypt: true
})
wx.getStorage({
key:"username",
encrypt: true,
success(res){
console.log(res.data);
}
})
}
})
从本地缓存中移除指定 key
xxxxxxxxxx
Page({
onLoad(options) {
wx.setStorage({
key: "name",
data: "itbaizhan"
})
wx.removeStorage({
key: 'name',
success(res) {
console.log(res)
}
})
}
})
为了避免意外,我们最好用try...catch
进行捕获
xxxxxxxxxx
Page({
onLoad(options) {
wx.setStorage({
key: "name",
data: "itbaizhan"
})
try {
wx.removeStorage({
key: 'name',
success(res) {
console.log(res)
}
})
} catch (e) {
// 发生意外
console.log(e);
}
}
})
清理本地数据缓存
xxxxxxxxxx
Page({
onLoad(options) {
wx.setStorage({
key: "name",
data: "itbaizhan"
})
wx.clearStorage()
}
})
实时效果反馈
1. 在微信小程序中,实现数据缓存删除某一条数据使用下列那个方法:
A setStorage
B getStorage
C removeStorage
D clearStorage
答案
1=>C