微信开发 缓存页面内容

1.获取想要缓存的数据

关于request请求封装请查看我的上一篇文章

封装全局request请求

     getCates() {wx.get('/categories').then((res) => {let cates = res.map(v=>v.cat_name)let allcates = reslet rightContent = res[0].childrenwx.setStorageSync("cates",{time:Date.now(),data:allcates})  // 关键代码this.setData({cates,rightContent,allcates })}).catch((err) => {console.log(err)})},

2. 查看此数据之前有没有缓存

3.缓存是否过期

/*** 生命周期函数--监听页面加载*/onLoad: function (options) {// 缓存数据const Cates = wx.getStorageSync('cates')if(!Cates){// 无缓存this.getCates()}else{// 有缓存// 时间过期if(Date.now()-Cates.time>1000*10){this.getCates()}else{// 有缓存// 时间没有过期this.data.allcates = Cates.datalet cates = this.data.allcates.map(v=>v.cat_name)let rightContent = this.data.allcates[0].childrenthis.setData({cates,rightContent,allcates:Cates.data })}}},

主要的逻辑思路: 获取数据并保存到storage中wx.setStorageSync("cates",{time:Date.now(),data:allcates})

onload()函数中分为第一次加载和已加载过一次两种情况:

第一种通过判断storage中的key是否存在,存在则有缓存,不存在则发请求。
第二种情况已有缓存,判断时间是否过期,过期重新发请求,未过期则读取缓存数据const Cates = wx.getStorageSync('cates')

注意 :微信开发中的存储和vue是有区别的,vue中调用存储,vue的内部第一步是调取tostring方法将数据转为字符串,所以对于对象的存储需要特殊处理。微信更为简单不需要转化。

微信开发 缓存Storage相关推荐

  1. 【微信小程序开发】缓存Storage的存入与获取

    缓存Storage的存入 调用 //第一个参数是存入缓存的名称,第二个参数是存入缓存的值 wx.setStorageSync('user',res.data) //本句的意思就是把res.data里的 ...

  2. 微信开发常用技巧(3)-微信ios返回为静态返回,防止微信做缓存

    ###两个问题:微信ios返回为静态返回,防止微信做缓存 这几天在做微信开发遇到一些问题,后续应该还会有博客发出,希望可以帮助大家 ####1.微信ios返回为静态返回的问题 微信ios的静态返回操作 ...

  3. 服务器端缓存企业微信,企业微信开发

    企业微信开发又以下三类,可以根据需要查看相应的文档 企业内部应用开发:开发内部使用应用,开发个性化办公应用 第三方应用开发:开发出来的应用可供其他企业使用 第三方应用开发.png 智慧硬件开发 企业内 ...

  4. 视频教程-微信小程序商城15天从零实战课程-微信开发

    微信小程序商城15天从零实战课程 04年进入计算机行业.拥有6年net和php项目开发经验,8年java项目开发经验. 现前端全栈工程师,主攻产品设计,微信开发等. 黄菊华 ¥499.00 立即订阅 ...

  5. 微信小程序之 微信开发工具使用教程详解

    如果你要开发自己的微信小程序或者小游戏,微信开发者工具是必不可少的,因为有些微信封装的方法只有微信开发者工具上才能使用,还有一个重要的原因就是,我们提交我们的代码审核必须通过该工具来提交,所有要做微信 ...

  6. 5 Go与微信开发与Web安全

    5 Go与微信开发与Web安全 1 微信公众号开发概念 1.1 公众号的分类 1.2 微信公众平台 1.3 微信与服务器交互过程 1.4 URL接入验证原理 1.5 成为微信开发者 2 小程序会话 3 ...

  7. 用thinkphp进行微信开发的整体设计思考

    用thinkphp进行微信开发的整体设计思考 http://www.2cto.com/weixin/201504/388423.html 2015-04-09      0个评论       作者:明 ...

  8. C#微信开发小白成长教程二(新手接入指南,附视频)

    距离第一讲又已经过去了一个多星期了,本打算一周更新一讲的,奈何实在太忙.最近也在群里发现有一部分人已经可以熟练调用微信的部分接口但却不是很清楚微信公众平台接收消息的一个处理机制.本讲就来介绍下怎么接入 ...

  9. 关于微信开发与微信支付更新

    1.)微信开发一般就是看文档,按部就班调用API就行,推荐一些SDK .NET https://github.com/JeffreySu/WeiXinMPSDK JAVA http://git.osc ...

最新文章

  1. 什么时候需要用到RCC_APB2Periph_AFIO--复用IO时钟的使用
  2. 加州大学信息科学院长:数据科学课程不只是工程师才修的
  3. 原生js系列之DOM工厂模式
  4. android圆形头像 demo,Android图像处理之绘制圆形头像
  5. 数据分析只能当一辈子取数机?可能你缺少这个基础思维
  6. form:errors path 不显示出错信息_视觉激光雷达信息融合与联合标定
  7. 简单Android app开发_什么方法开发APP最简单?试试0代码开发平台
  8. python算法-冒泡排序
  9. 10个最新优秀手机应用界面设计实例
  10. 【语音处理】基于matlab GUI语音原始信号+变速信号时域频域分析(带面板)【含Matlab源码 294期】
  11. 漫话:如何给女朋友解释什么是反向代理、正向代理?
  12. Android 关于佳博和汉印蓝牙热敏打印机开发,androidstudio入门教程
  13. 随身系统veket linux v3.11简体中文免费版,《veket随身系统》下载(veket linux)1.9
  14. mysql报1205错误
  15. 测试udp端口通不通linux,windows Centos ubuntu debian等测试UDP端口协议的连通性
  16. 我那么爱你为什么?伤感爱情日志
  17. 【深度之眼】【百面机器学习】决策树
  18. expdp和impdp备份数据库(数据泵备份)
  19. 金山文档手机app服务器异常,手机为什么打不开金山文档 打不开金山文档怎么办...
  20. MySQL面试题——in是否使用【索引】

热门文章

  1. php酷狗音乐API接口,酷狗音乐抓取api
  2. EXCEL 快速统计一列中相同数值出现的个数
  3. 数字图像处理与Python实现-沃尔什-哈达玛变换(Walsh-Hadmard Transform,WHT)
  4. 小米平板4 android版本,小米平板4-4plus
  5. 《Cinema 4D + After Effects动态图形设计案例解析》——1.3 动态图形的应用领域
  6. 浏览器暗黑模式-Dark深色模式
  7. kettle脚本Linux执行,kettle在linux下面用于shell脚本执行:转换或者作业
  8. 三菱PLC控制步进驱动器脉冲定位相关(附代码接线图)
  9. Linux一键脚本自动化安装项目环境
  10. 微信从原版到现在所有界面图片_微信这4张登录界面图,你见过几张?微信老用户都不一定能认全!...