小程序本地異步存儲wx.setStorage
wx.setStorage(Object object)
將數據存儲在本地緩存中指定的 key 中。會覆蓋掉原來該 key 對應的內容。除非用戶主動刪除或因存儲空間原因被系統清理,否則數據都一直可用。單個 key 允許存儲的最大數據長度為 1MB,所有數據存儲上限為 10MB。
以 Promise 風格 調用:支持
小程序插件:支持,需要小程序基礎庫版本不低于 1.9.6
微信 Windows 版:支持
微信 Mac 版:支持
參數
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 2.21.3
success function 否 接口調用成功的回調函數
fail function 否 接口調用失敗的回調函數
complete function 否 接口調用結束的回調函數(調用成功、失敗都會執行)
示例代碼
wx.setStorage({
key:"key",
data:"value"
})
// 開啟加密存儲
wx.setStorage({
key: "key",
data: "value",
encrypt: true, // 若開啟加密存儲,setStorage 和 getStorage 需要同時聲明 encrypt 的值為 true
success() {
wx.getStorage({
key: "key",
encrypt: true, // 若開啟加密存儲,setStorage 和 getStorage 需要同時聲明 encrypt 的值為 true
success(res) {
console.log(res.data)
}
})
}
})