【微信小程序】开发实战 之 「数据缓存API」解析
每个小程序都可以有自己的本地缓存,可以通过 数据缓存的API 实现对本地缓存进行 设置、获取和清理。本地缓存最大为10M。localStorage是永久存储的,但我们不建议将关键信息都放在localStorage,以防用户更换设备。
设置本地缓存
1、wx.setStorage(OBJECT)
该接口是异步接口,用于将数据存储在本地缓存中指定的key中。会覆盖掉该key对应的原来的内容。
该接口参数:
参数key, string类型, 必填项,本地缓存中指定的key。
参数data, object/string类型,必填项,需要存储的内容。
参数success,fail,complete,均为Function类型,分别对应接口调用成功、失败和结束时的回调函数。
示例代码如下:
wx.setStorage({
key:"key",
data:"value"
})
2、wx.setStorageSync(KEY,DATA)
该接口是同步接口,用于将data存储在本地缓存中指定的key中。会覆盖掉该key对应的原来的内容。
该接口参数:
参数key, string类型, 必填项,本地缓存中指定的key。
参数data, object/string类型,必填项,需要存储的内容。
示例代码如下:
try{
wx.setStorageSync('key', 'value')
}catch(e) {
}
获取/删除 本地缓存
1、wx.getStorage (OBJECT) 和 wx.removeStroage (OBJECT)
wx.getStorage (OBJECT) 用于从本地缓存中异步获取指定key对应的内容。
wx.removeStroage (OBJECT) 用于从本地缓存中异步删除指定key对应的内容。
该接口参数:
参数key, string类型, 必填项,本地缓存中指定的key。
参数success, Function类型, 必填项,接口调用成功时的回调函数,res = {data: key 对应的内容}
参数fail, Function类型, 非必填,接口调用失败时的回调函数
参数complete, Function类型, 非必填,接口调用结束时的回调函数(调用成功或失败都会执行)
示例代码如下:
wx.getStorage({
key: 'key',
success: function(res) {
console.log(res.data)
}
});
wx.removeStorage({
key: 'key',
success: function(res) {
console.log(res.data)
}
})
2、wx.getStorageSync (KEY) 和 wx.removeStroageSync (KEY)
wx.getStorage (KEY) 用于从本地缓存中同步获取指定key对应的内容。
wx.removeStroage (KEY) 用于从本地缓存中同步删除指定key对应的内容。
参数为key,必填项,是本地缓存中的指定的key。
var value = wx.getStorage('key')
if (value) {
//Do something with return value
}
try {
wx.removeStorageSync('key')
} catch(e) {
//Do something when catch error
}
获取当前storage的相关信息
1、wx.getStorageInfo (OBJECT)
该接口用于异步获取当前storage的相关信息。
该接口参数:
参数success(必填)、fail、complete,分别对应接口调用成功、失败和结束时的回调函数。其中success是必填项。
success返回参数说明如下:
keys,Sting Array类型,返回storage中所有key。
currentSize,Number类型,表示当前占用的空间大小,单位为kb。
limitSize,Number类型,表示限制的空间大小,单位为kb。
示例代码如下:
wx.getStorageInfo({
success:function(res) {
console.log(res.keys)
console.log(res.currentSize)
console.log(res.limitSize)
}
})
2、wx.getStorageInfoSync()
该接口用于同步获取当前storage相关信息。
示例代码如下:
try {
var res = wx.getStorageInfo()
console.log( res.keys )
console.log( res.currentSize )
console.log( res.limitSize )
} catch (e) {
// Do something when catch error
}
清理数据缓存
1、wx.clearStorage()
该接口用于清理本地数据缓存。
2、wx.clearStorageSync()
该接口则用于同步清理本地数据缓存。
示例代码如下:
wx.clearStorage()
try {
wx.clearStorageSync()
} catch(e) {
}
【微信小程序】开发实战 之 「数据缓存API」解析的更多相关文章
- 微信小程序开发实战视频教程
微信小程序开发实战视频教程发布 有全套的 pan.baidu.com/s/1o8GuJOY 密码:2dbo 腾讯终于发布了没有APPid,无需申请也可以进行微信小程序开发的视频教程了,我在在第一时间 ...
- [干货教程]仿网易云课堂微信小程序开发实战经验
本篇文章想跟大家分享下:我们公司“湖北诚万兴科技”最近刚帮客户定制开发.目前已上线的“哎咆课堂”微信小程序的开发经验分享.首先大概介绍下这个小程序所涉及到的主要技术点:微信登录.微信支付.微信小程序F ...
- 微信小程序开发实战视频教程发布
昨日(9月23),腾讯终于发布了没有APPid,无需申请也可以进行微信小程序开发的视频教程了,我在在第一时间尝试并发布了这7个小视频教程,入门足够了.... 各位免费拿去,慢慢享用: 链接: http ...
- WordPress版微信小程序开发系列(一):WordPress REST API
自动我发布开源程序WordPress版微信小程序以来,很多WordPress站长在搭建微信小程序的过程中会碰到各种问题来咨询我,有些问题其实很简单,只要仔细看看我写的文章,就可以自己解决.不过这些文章 ...
- 微信开发(2)---微信小程序开发实战part1
微信开发现在来说,简单可以概括为两部分,微信公众号和微信小程序. 微信公众号的技术已经非常成熟.分为服务号和订阅号.简单的.可以弄一个个人订阅号,在编辑模式下就可以实现推送图文.自动回复.自定义菜单的 ...
- 微信小程序开发实战-天气小程序
园龄6年8个月了,还一篇文章都没写过,惭愧! 最近周末做了个天气预报小程序,在这里整理一下开发过程和注意点,给对小程序开发感兴趣的伙伴们提供点参考. 废话不多说,先上图最终效果: 下面进入正文: 第一 ...
- $微信小程序开发实践点滴——Bmob基本REST API的python封装
Refer:Bmob后端云REST API接口文档:http://docs.bmob.cn/data/Restful/a_faststart/doc/index.html 本文使用python对Bmo ...
- 微信小程序开发实战(云开发)--资产管理工具
添加首页 menu页面 截图展示 menu.js源码 // pages/menu/menu.js Page({ /** * 页面的初始数据 */ data: { }, /** * 生命周期函数--监听 ...
- 微信小程序开发3之保存数据及页面跳转
第一 保存本地数据 1.异步保存本地数据 wx.setStorage({ key:keyStr, data:dataStr, success: function(e){}, fail: functi ...
随机推荐
- gon
gem 'gon' application.html 中添加 =include_gon action中 gon.activities = @activities js中 gon.activities
- Machine Learning No.7: Support Vector Machines
1. SVM hypothsis 2. large margin classification 3. kernals and similarity if f1 = 1; if x if far fr ...
- windows下创建做一个类似与linux 的SFTP
在项目中经常需要做通过ftp上传文件到ftp上,如果服务器是windows版的服务器又该如何做呢,下面就给大家介绍一个软件:freeSSHd 软件地址 http://www.freesshd.c ...
- 《avascript 高级程序设计(第三版)》 ---第三章 基本概念
本章主要介绍Javasript语言的一些语法: 1.严格模式:开启:"use strict"; 2.变量:全部用var来定义,在函数中使用的称为局部变量,不能全局使用. 3.数据类 ...
- Spring Boot2.0之 yml的使用
yml Spring Boot 默认读取 .yml .properties 结尾的 yml非常好的作用,比properties更节约 结构清晰 server: port: 8090 con ...
- VS调试的问题
调试Vs,使用本地IIS也不行,使用外部服务器也不行,最后运行VS2013以管理员身份就可以了
- python清空tree.insert()
import tkinter from tkinter import ttk # 导入内部包 li = [', '男'] root = tkinter.Tk() root.title('测试') tr ...
- matlab之text()函数
text()函数用来给图加上说明性文字. 格式:text(x,y,'txt') 或者:text(x,y,'txt','color','k') x,y是位置 txt是说明文字,如果说明性文字是数字,则这 ...
- c++迷宫小游戏
c++迷宫小游戏 一.总结 一句话总结: 显示:根据map数组输出图像 走动:修改map数组的值,每走一步重新刷新一下图像就好 1.如果走函数用z(),出现输入s会向下走多步的情况,原因是什么? 向下 ...
- DOM (文档对象模型(Document Object Model)
DOM(文档对象模型(Document Object Model) 文档对象模型(Document Object Model,简称DOM),是W3C组织推荐的处理可扩展标志语言的标准编程接口.在网页上 ...