夜光 带你走进微信小程序研发(十二)

夜光序言:

 

 

 

为什么风可以那么温柔地对树说话,而你却永远学不会对我温柔地说话呢。

 

 

 

 

 

 

 

 

 

正文:

 

数据缓存

 

每个微信小程序都可以有自己的本地缓存,可以通过数据缓存 API 可以对本地 缓存进行设置、获取和清理。同一个微信用户,同一个小程序 storage 上限为 10MB

 

localStorage 以用户维度隔离,同一台设备上,A 用户无法读取到 B 用户的数据。

 

注意: 如果用户储存空间不足,微信会清空最近最久未使用的小程序的本地缓 存。因此不建议将关键信息全部存在 localStorage,以防储存空间不足或用户换设备 的情况。

 

 

数据缓存 API 主要有 5 类,包括数据的存储、获取、移除、清空,以及获取存 储信息,每类均包含同步与异步两种,具体详见表

 

其中 Sync 为英文单词 synchronization 的前四个字母,表示同步,因此 API 函数 中带有 Sync 后缀的函数为同步函数。同步函数与异步函数之间的区别是,异步不会阻塞当前任务,同步缓存直到同步方法处理完才能继续往下执行。另外异步函数中含有成功回调函数,可用于表示数据处理成功后的操作。

 

 

这里以 wx.login()中使用的 wx.setStroage()为例,将通过 wx.request()返回的 openid 存储于本地,方便 openid 的获取,使用 wx.setStorage()的代码示例如下:

wx.setStorageSync('jiaoxue_OPENID', res.data.openid)

 

编译后,可以在调试器的 storage 面板中看到 openid 以存入本地,Key 的值为 jiaoxue_OPENID,Value 的值为用户的 openid,如图

如果使用 wx.setStorageSync()进行数据存储,可以对数据存储成功后进行操作,

代码较 wx.setStorage()有变化,具体代码如下:

wx.setStorage({

key: 'test',

data: 'begin',

success:function(){

console.log('存储成功')

}

})79

编译后,同样将 openid 存储于本地缓存,并执行成功回调函数,打印出“存储成功”表示存储成功,如图

 

需要使用本地缓存中的 openid 时,可以用 wx.getStorageSync(‘jiaoxue_OPENID’) 来获取 openid,并赋值给相应的变量。当然 wx.getStorage 也可以,这里不过多赘述。

 

5. wx.showModal( )

小程序使用 wx.showModel(Object object)显示模态对话框,其中 object 参数说明如表

 

如果用户没有注册过,会弹出模态弹窗提示用户前往注册,具体代码如下:

if (!res.data.is_register) {

wx.showModal({

title: '提示',

content: '请先注册',

showCancel: false,

confirmText: "确定",

success: function(res) {

wx.navigateTo({

url: '/pages/register/userlogin',

})

}

})

}

 

 

 

 

 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值