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. Zookeeper应用场景汇总(超详细)

    Zookeeper典型应用场景汇总 数据发布与订阅(配置中心) 发布与订阅模型,即所谓的配置中心,顾名思义就是发布者将数据发布到ZK节点上,供订阅者动态获取数据,实现配置信息的集中式管理和动态更新.例 ...

  2. Python调用windows下DLL详解 - ctypes库的使用

    在python中某些时候需要C做效率上的补充,在实际应用中,需要做部分数据的交互.使用python中的ctypes模块可以很方便的调用windows的dll(也包括linux下的so等文件),下面将详 ...

  3. Java中的输入流与输出流

    一.流的概念 在Java中,流是从源到目的地的字节的有序序列.Java中有两种基本的流--输入流(InputStream)和输出流(OutputStream). 根据流相对于程序的另一个端点的不同,分 ...

  4. k8s之PV、PVC

    目录 一.PVC和PV 1.1 PV概念 1.2 PVC概念 1.3 PV与PVC之间的关系 1.4 两种PV的提供方式 二.基于nfs创建静态PV资源和PVC资源 2.1 配置nfs存储(192.1 ...

  5. Solution Set - Stirling 数相关杂题

      <好多题的题解>   「洛谷 P5408」第一类斯特林数·行   根据结论 \[x^{\overline{n}}=\sum_i{n\brack i}x^i, \] 我们只需要求出 \( ...

  6. Solution -「CF 1380F」Strange Addition

    \(\mathcal{Description}\)   Link.   定义两个数在进行加法时,进位单独作为一位.例如: .   给定一个 \(n\) 为数和 \(m\) 次修改操作,每次修改会修改 ...

  7. C语言strtok_s函数

    strtok_s 在C语言中的作用是分割出一个字符串中的单词 在MSDN上参数表: strtok_s strToken String containing token or tokens. strDe ...

  8. VMware Workstation批量克隆虚拟机

    由于经常要用vmware创建虚拟机做一些测试,集群的测试使用连接克隆,可以节省磁盘的空间(如果不是因为穷,没人愿意向生活低头) 于是找到了这个bat脚本,做了一些修改和学习,为大家加上了一些注释,方便 ...

  9. c++ Message与Folder 拷贝 析构(没有动态空间的类)

    c++ Message与Folder 拷贝 析构(没有动态空间的类) 1.两个类里边分别保存一个对方的set表,当前类有拷贝或者销毁时需要更新另一个类的set表. 2.两个类都需要访问对方的priva ...

  10. fork_join

    在systemverilog中可以用fork-- join.fork --join_any.fork--join_none来实现多个线程的并发执行. 1.父线程.子线程 调用fork--join的线程 ...