官方文档地址:https://developers.weixin.qq.com/miniprogram/dev/api/storage/wx.setStorageSync.html

?> Storage 本地存储,和原生前端开发差不多,单个 Key 允许存储的最大数据长度为 1MB, 所有数据存储上限为 10MB。

存储数据

?> 带了 Sync 就是同步的方法,没有带就是异步的

setStorageSync/setStorage

将数据存储在本地缓存中指定的 key 中。会覆盖掉原来该 key 对应的内容。除非用户主动删除或因存储空间原因被系统清理,否则数据都一直可用。单个 key 允许存储的最大数据长度为 1MB,所有数据存储上限为 10MB。

<!--index.wxml-->
<text>首页</text>
<button bindtap="onStorage">测试 Storage Api</button>
// index.js
Page({
onStorage() {
wx.setStorageSync('name', 'BNTang')
wx.setStorage({
key: 'age',
data: 'BNTang',
encrypt: true,
success() {
wx.getStorage({
key: 'age',
encrypt: true,
success(res) {
console.log(res.data)
}
})
}
})
}
})

!> encrypt: true 本博主使用的微信开发版本是 2.32.0 存储数据进行加密没有效果,如有人知道为啥还请麻烦引导下

?> 2023年6月6日14:53:55,今日,我换了台电脑打开了微信开发者工具测试了如上的 encrypt: true 成功加密了,解决了问题(目前还不知道什么原因造成的)

getStorageSync/getStorage

<!--index.wxml-->
... <button bindtap="onGetStorage">测试 Storage Api Get</button>
// index.js
Page({
... onGetStorage() {
let name = wx.getStorageSync('name')
console.log(name); wx.getStorage({
key: 'name',
success (res) {
console.log(res.data)
}
})
}
})

clearStorage/clearStorageSync

<!--index.wxml-->
... <button bindtap="onClearStorage">测试 Storage Api Clear</button>
// index.js
Page({
... onClearStorage() {
wx.clearStorageSync()
wx.clearStorage()
}
})

removeStorage/removeStorageSync

<!--index.wxml-->
... <button bindtap="onRmoveStorage">测试 Storage Api Rmove</button>
// index.js
Page({
... onRmoveStorage() {
wx.removeStorage({
key: 'name',
success (res) {
console.log(res)
}
}); wx.removeStorageSync('name')
}
})

!> 注意点:同步和异步可以交叉使用,也就是说,同步存的可以异步取等等

应用场景

  • 存完之后立刻需要取,就用同步方法
  • 存完之后不需要立刻取,就用异步方法

微信小程序-Storage的更多相关文章

  1. 微信小程序封装storage(含错误处理)

    这次给你们安利的是微信小程序封装storage,先说下微信官方的 wx.getStorage({ key:"", success: function (res) { }, fail ...

  2. 微信小程序把玩(三十六)Storage API

    原文:微信小程序把玩(三十六)Storage API 其实这个存储在新建Demo的时候就已经用到了就是存储就是那个logs日志,数据存储主要分为同步和异步 异步存储方法: 存数据 wx.setStor ...

  3. 从微信小程序到鸿蒙js开发【12】——storage缓存&自动登录

    鸿蒙入门指南,小白速来!从萌新到高手,怎样快速掌握鸿蒙开发?[课程入口] 正文: 在应用开发时,我们常需要将一些数据缓存到本地,以提升用户体验.比如在一个电商的app中,如果希望用户登录成功后,下次打 ...

  4. 快速了解微信小程序的使用,一个根据小程序的框架开发的todos app

    微信官方已经开放微信小程序的官方文档和开发者工具.前两天都是在看相关的新闻来了解小程序该如何开发,这两天官方的文档出来之后,赶紧翻看了几眼,重点了解了一下文档中框架与组件这两个部分,然后根据简易教程, ...

  5. 微信小程序之用户数据解密(七)

    [未经作者本人同意,请勿以任何形式转载] 经常看到有点的小伙伴在群里问小程序用户数据解密流程,所以打算写一篇关于小程序用户敏感数据解密教程: 加密过程微信服务器完成,解密过程在小程序和自身服务器完成, ...

  6. 微信小程序开发调试工具

    为了帮助开发者简单和高效地开发微信小程序,我们推出了全新的 开发者工具 ,集成了开发调试.代码编辑及程序发布等功能. 扫码登录 启动工具时,开发者需要使用已在后台绑定成功的微信号扫描二维码登录,后续所 ...

  7. 【腾讯Bugly干货分享】微信小程序开发思考总结——腾讯“信用卡还款”项目实践

    本文来自于腾讯bugly开发者社区,未经作者同意,请勿转载,原文地址:http://dev.qq.com/topic/58212d0fa7a7574c4f4cc3c5 作者:peggy 小程序概述 1 ...

  8. 微信小程序-数据缓存

    每个微信小程序都可以有自己的本地缓存,可以通过 wx.setStorage(wx.setStorageSync).wx.getStorage(wx.getStorageSync).wx.clearSt ...

  9. 微信小程序 教程及示例

    作者:初雪链接:https://www.zhihu.com/question/50907897/answer/128494332来源:知乎著作权归作者所有,转载请联系作者获得授权.微信小程序正式公测, ...

  10. 《微信小程序七日谈》- 第四天:页面路径最多五层?导航可以这么玩

    <微信小程序七日谈>系列文章: 第一天:人生若只如初见: 第二天:你可能要抛弃原来的响应式开发思维: 第三天:玩转Page组件的生命周期: 第四天:页面路径最多五层?导航可以这么玩 微信小 ...

随机推荐

  1. MySQL 创建存储过程注意项

    MySQL server version for the  right syntax to use near 'IF' MySQL server version for the right synta ...

  2. python 读取数据调翻译更新表字段

    import time import requests import pymysql import datetime import random from hashlib import md5 imp ...

  3. 使用root ssh登录ubuntu22.4配置

    前言 在安装k8s集群时,需要使用root用户ssh登录远程服务器进行安装操作,但是root登录是默认关闭的,因此本篇讲解如何开启配置, 当前测试版本 ubuntu22.4 安装部署 使用管理权限打开 ...

  4. POJ - 1190 生日蛋糕(深搜+神奇的剪枝)

    链接:https://ac.nowcoder.com/acm/contest/1015/B 题目描述 7月17日是Mr.W的生日,ACM-THU为此要制作一个体积为Nπ的M层生日蛋糕,每层都是一个圆柱 ...

  5. 最全!即学即会 Serverless Devs 基础入门(下)

    作者 | 刘宇(阿里云 Serverless 产品经理) 在上篇<最全!即学即会 Serverless Devs 基础入门>中,我们阐述了工具链的重要性,并对安装方式 & 密钥配置 ...

  6. windows 系统关闭占用端口的应用

    开发中有时候开发工具把程序关闭了,但是后台并没有真正关闭程序,导致再次启动相同端口的程序时报端口已经被使用的错误,这时如何强制关闭已占用的端口 1.打开dos对话框 2.查找被占用的端口的进程号 ne ...

  7. 七、java操作swift对象存储(动态大对象)

    系列导航 一.swift对象存储环境搭建 二.swift添加存储策略 三.swift大对象--动态大对象 四.swift大对象--静态态大对象 五.java操作swift对象存储(官网样例) 六.ja ...

  8. node做服务器

    // 用于创建网站服务器的模块 const http = require('http'); // 创建web服务器,app对象就是网站服务器对象 const app = http.createServ ...

  9. 解决ssh远程登录Too many authentication failures报错

    远程登录失败,报错,造成无法登录的情况,原因为:多次输入密码失败导致登录异常. 解决方案: 1.登录主机:vi /etc/ssh/sshd_config 2.找到MaxAuthTries,修改数值变大 ...

  10. docker 原理之 mount namespace(下)

    1. mount namespace mount namespace 通过隔离文件系统挂载点对隔离文件系统提供支持.使用 unshare 构造 mount namespace 如下: root@chu ...