微信小程序学习笔记之本地数据缓存功能详解


Posted in Javascript onMarch 29, 2019

本文实例讲述了微信小程序学习笔记之本地数据缓存功能。分享给大家供大家参考,具体如下:

前面介绍了微信小程序获取位置信息操作。这里再来介绍一下微信小程序的本地数据缓存功能。

【将数据存储在本地缓存】wx.setStorage

【读取本地缓存】wx.getStorage

以手机号+密码登录为例,把登录成功返回的token值存储在本地缓存中,然后读取缓存中的token:

login.php:

<?php 
  header("Content-type:text/html;charset=utf-8");
  $arr = array("state"=>0,"data"=>array(),"msg"=>'');
  $phone = $_POST['phone'];
  $password = $_POST['password'];
  if($phone && $password){
	//省略验证......

	//返回登录token
	$tokenstr = 'liweishan666';
	$token = $phone.time().$tokenstr;//省略加密

	$arr['state'] = 1;
	$arr['msg'] = '登录成功';
	$arr['data']['token'] = $token;
  }else{
	$arr['msg'] = '参数错误';
  }
  echo json_encode($arr);
  die;

login.wxml:

<form bindsubmit="formSubmit" bindreset="formReset">
 <view>
  手机号:<input type="text" name="phone" placeholder="请输入账号" confirm-type="done" />
  密码:<input password type="number" name="password" placeholder="请输入6位密码" maxlength="6" />
 </view>
 <view class="btn-area">
  <button formType="submit">登录</button>
 </view>

 <view class="btn-area">
  <button bindtap="gettoken">读取缓存token</button>
 </view>

 <view class="btn-area">{{token}}</view>
</form>

login.js:

Page({
 formSubmit: function (e) {
  wx.request({
   url: 'https://www.msllws.top/login.php',
   data: {
    'phone': e.detail.value.phone,
    'password': e.detail.value.password
   },
   method: 'POST',
   header: {
    'Content-Type': 'application/x-www-form-urlencoded'
   },
   success: function (res) {
    console.log(res.data);
    //以键值对的形式存储到本地缓存
    wx.setStorage({
     key: "token",
     data: res.data.data.token
    })
   },
   fail: function () { },
   complete: function () { }
  })
 },

 gettoken: function (e) {
  var that = this
  wx.getStorage({
   key: 'token',
   success: function (res) {
    that.setData({'token': res.data})
   },
   fail: function () { },
   complete: function () { }
  })
 }
})

实现缓存的存储和读取:

微信小程序学习笔记之本地数据缓存功能详解

【从缓存中移除指定数据】wx.removeStorage

wx.removeStorage({
 key: 'token',
 success (res) {
  console.log(res.data)
 } 
})

 【清除全部缓存数据】wx.clearStorage

wx.clearStorage()

希望本文所述对大家微信小程序开发有所帮助。

Javascript 相关文章推荐
JScript的条件编译
May 29 Javascript
js简单实现让文本框内容逐个字的显示出来
Oct 22 Javascript
使用JavaScript 编写简单计算器
Nov 24 Javascript
2种jQuery 实现刮刮卡效果
Feb 01 Javascript
jQuery插件Zclip实现完美兼容个浏览器点击复制内容到剪贴板
Apr 30 Javascript
微信小程序 vidao实现视频播放和弹幕的功能
Nov 02 Javascript
AngularJS自定义控件实例详解
Dec 13 Javascript
AngularJS解决ng-if中的ng-model值无效的问题
Jun 21 Javascript
javascript 面向对象实战思想分享
Sep 07 Javascript
vue的无缝滚动组件vue-seamless-scroll实例
Dec 18 Javascript
详解如何在vue项目中引入elementUI组件
Feb 11 Javascript
使用vue-router切换页面时,获取上一页url以及当前页面url的方法
May 06 Javascript
微信JS-SDK updateAppMessageShareData安卓不能自定义分享详解
Mar 29 #Javascript
详解vue配置后台接口方式
Mar 29 #Javascript
微信小程序学习笔记之获取位置信息操作图文详解
Mar 29 #Javascript
点击按钮弹出模态框的一系列操作代码实例
Mar 29 #Javascript
VUE解决微信签名及SPA微信invalid signature问题(完美处理)
Mar 29 #Javascript
微信小程序生成分享海报方法(附带二维码生成)
Mar 29 #Javascript
微信小程序学习笔记之文件上传、下载操作图文详解
Mar 29 #Javascript
You might like
php判断文件上传类型及过滤不安全数据的方法
2014/12/17 PHP
Yii获取当前url和域名的方法
2015/06/08 PHP
双冒号 ::在PHP中的使用情况
2015/11/05 PHP
PHP 数组黑名单/白名单实例代码详解
2019/06/04 PHP
DOM精简教程
2006/10/03 Javascript
URL编码转换,escape() encodeURI() encodeURIComponent()
2006/12/27 Javascript
javascript 面向对象,实现namespace,class,继承,重载
2009/10/29 Javascript
IE与FF下javascript获取网页及窗口大小的区别详解
2014/01/14 Javascript
jQuery遍历Table应用示例
2014/04/09 Javascript
js操作滚动条事件实例
2015/01/29 Javascript
JS简单实现仿百度控制台输出信息效果
2016/09/04 Javascript
JavaScript算法系列之快速排序(Quicksort)算法实例详解
2016/09/04 Javascript
使用jquery判断一个元素是否含有一个指定的类(class)实例
2017/02/12 Javascript
使用bootstrap-paginator.js 分页来进行ajax 异步分页请求示例
2017/03/09 Javascript
js实现首屏延迟加载实现方法 js实现多屏单张图片延迟加载效果
2017/07/17 Javascript
基于Node.js模板引擎教程-jade速学与实战1
2017/09/17 Javascript
Thinkphp5微信小程序获取用户信息接口的实例详解
2017/09/26 Javascript
js中getBoundingClientRect的作用及兼容方案详解
2018/02/01 Javascript
微信小程序JS加载esmap地图的实例详解
2019/09/04 Javascript
你不可不知的Vue.js列表渲染详解
2019/10/01 Javascript
[02:09]DOTA2辉夜杯 EHOME夺冠举杯现场
2015/12/28 DOTA
[06:06]2018DOTA2亚洲邀请赛主赛事第四日战况回顾 全明星赛欢乐上演
2018/04/07 DOTA
[46:38]完美世界DOTA2联赛PWL S2 Magma vs PXG 第三场 11.28
2020/12/02 DOTA
Python中的迭代器漫谈
2015/02/03 Python
python读写LMDB文件的方法
2018/07/02 Python
Python wxPython库使用wx.ListBox创建列表框示例
2018/09/03 Python
centos6.8安装python3.7无法import _ssl的解决方法
2018/09/17 Python
查看Python依赖包及其版本号信息的方法
2019/08/13 Python
解决jupyter notebook打不开无反应 浏览器未启动的问题
2020/04/10 Python
全球领先的中国制造商品在线批发平台:DHgate
2020/01/28 全球购物
医学生实习自我鉴定
2013/09/27 职场文书
学生会副主席竞聘书
2014/03/31 职场文书
汽车广告策划方案
2014/05/31 职场文书
2015元旦节寄语
2014/12/08 职场文书
闪闪红星观后感
2015/06/08 职场文书
Pytorch中的学习率衰减及其用法详解
2021/06/05 Python