1:utils 目录下新建一个Cache.js文件

2:文件下书写以下代码:

// 缓存类

class Cache {

  // 构造方法 单位秒

  constructor({ expire = 3600 }) {

    // 成员属性  过期时间

    // 毫秒

    this.expire = new Date().getTime() + expire * 1000;

  }

  // 设置

  set(key, value) {

    let data = { expire: this.expire, value };

    // 设置缓存

    wx.setStorageSync(key, data);

  }

  // 永久

  forever(key, value) {

    let expire = new Date().getTime() + 9999999999 * 1000;

    let data = { expire, value };

    // 设置缓存

    wx.setStorageSync(key, data);

  }

  // 判断是否存在缓存

  has(key) {

    // 获取当前时间

    let time = new Date().getTime();

    // 缓存数据

    let data = wx.getStorageSync(key);

    if (data != '') {

      if (time > data.expire) {  // 缓存过期

        // 删除过期缓存

        wx.removeStorageSync(key);

        return false;

      }

      return true;

    }

    return false;

  }

  // 获取

  get(key) {

    if (this.has(key)) {

      return wx.getStorageSync(key).value;

    }

    return null;

  }

  // 删除

  del(key) {

    wx.removeStorageSync(key);

  }

}

export {Cache}

3:js进行调用

1:先引入文件

传入过期时间,7100 为过期时间,我们通常可以为7200 ,时间为2小时

2:使用,我们将接口中的token 存储再缓冲中

3:效果图:

微信小程序缓冲类的封装的更多相关文章

  1. 微信小程序request请求的封装

    目录 1,前言 2,实现思路 3,实现过程 3.1,request的封装 3.2,api的封装 4,实际使用 1,前言 在开发微信小程序的过程中,避免不了和服务端请求数据,微信小程序给我们提供了wx. ...

  2. 前端微信小程序电影类仿淘票票微信小程序

    需求描述及交互分析设计思路和相关知识点电影界面顶部页签切换效果设计正在热映界面布局设计即将上映界面布局设计电影详情页设计我的界面列表导航设计登录设计 相关知识点(1)swiper滑块视图容器组件,可以 ...

  3. 微信小程序开发——使用promise封装异步请求

    前言: 有在学vue的网友问如何封装网络请求,这里以正在写的小程序为例,做一个小程序的请求封装. 关于小程序发起 HTTPS 网络请求的Api,详情可以参考官方文档:wx.request(Object ...

  4. 微信小程序ES6方法Promise封装接口

    为何要封装接口? 有小程序开发的经验者,相信对微信API Request很熟悉了.对接接口时,有大部分的开发者都是直接调用request方法,去请求后台接口并渲染数据.诚然,直接使用api发起请求对接 ...

  5. 微信小程序“一劳永逸”的接口封装

    前言 最近都在研究小程序了,我可以的! 需求 之前都是用vue来开发项目的,接口模块我特意封装了一下.感觉也可以记录一下 小程序的接口虽说简单,但是重复调用那么多,显得不专业(一本正经的胡说八道) 还 ...

  6. 微信小程序HTTP接口请求封装

    1.方法封装(新建文件夹util,工具文件,在文件夹下创建request.js文件,用于对方法封装)request.js: var app = getApp(); //项目URL相同部分,减轻代码量, ...

  7. 微信小程序工具类

    wechat-common-sdk ? 场景:目前工作中的项目需要包含并使用另一个项目. 也许是第三方库,或者你独立开发的,用于多个父项目的库. 现在问题来了:你想要把它们当做两个独立的项目,同时又想 ...

  8. 微信小程序之巧妙的封装

    巧妙的封装 暴露一个访问地址xapp.config.js module.exports = { api_host: `https://a.squmo.com/yizu` } 继续引入,加暴露api.c ...

  9. 微信小程序 之 请求函数封装

    封装的request的代码 /** * @desc API请求接口类封装 */ /** * POST请求API * @param {String} url 接口地址 * @param {Object} ...

随机推荐

  1. LCT 入门

    这是一份 \(\rm LCT\) 入门总结. 关于 \(\rm LCT\) 的复杂度这里不会提及,只会记录 \(\rm LCT\) 的基本操作和经典例题,但神奇的 \(\rm LCT\) 虽然常数巨大 ...

  2. Tomcat多实例单应用部署方案 (转)

    一.Tomcat部署的场景分析 通常,我们对tomcat部署需求可以分为几种:单实例单应用,单实例多应用,多实例单应用,多实例多应用. 对于第一种场景,如果不要求周期性地维护tomcat版本,一般的做 ...

  3. 还在做廉价的劳动力?部署PXE实现Kickstart无人值守安装

    搭建PXE实现Kickstart无人值守安装 1.搭建PXE远程安装服务器 2.实现kicstart无人值守安装 1.PXE介绍及搭载: PXE是有Intel公司开发的网络引导技术,工作在Client ...

  4. Ubuntu18 用新用户登录后退格键/方向键/制表键 乱码

    Ubuntu18新建用户后,用新用户登录,此时 退格键Backspace 变成了 ^H,且方向键.制表键.Del键等均失效 这样会造成很多的麻烦,解决方式有两种: 方式1:Ctrl + Backspa ...

  5. uni-app、Vue3 + ucharts 图表 H5 无法渲染

    文章已收录到 github,欢迎 Watch 和 Star. 简介 从问题定位开始,到给框架(uni-app)提 issue.出解决方案(PR),再到最后的思考,详细记录了整个过程. 前序 当你在业务 ...

  6. Solution Set - 神奇 NOIP 模拟赛

    \[\mathfrak{\text{Defining }\LaTeX\text{ macros...}}\newcommand{\vct}[1]{\boldsymbol{#1}}\newcommand ...

  7. Solution -「HDU #6566」The Hanged Man

    \(\mathcal{Description}\)   Link.   给定一棵含 \(n\) 个点的树,每个结点有两个权值 \(a\) 和 \(b\).对于 \(k\in[1,m]\),分别求 \[ ...

  8. c++ 指针数组与指向数组的指针

    指针数组与指向数组的指针 1.int (*a)[10]-->指向数组的指针 a是一个二级指针,可认为是一个二维数组的首地址,指向一个一维数组,数组存储了10个int数据. int arr1[10 ...

  9. Eureka Server启动过程

    前面对Eureka的服务端及客户端的使用均已成功实践,对比Zookeeper注册中心的使用区别还是蛮大的: P:分区容错性(⼀定的要满⾜的)C:数据⼀致性 A:⾼可⽤:CAP不可能同时满⾜三个,要么是 ...

  10. python.36的特性新定义初学者必看课程

    一.Python3.6新特性 1.新的格局化字符串办法 <p "="">新的格局化字符串办法,即在一般字符串前增加 f 或 F 前缀,其效果相似于str.fo ...