微信小程序自动更新

2020-07-23 10:44:27   前端

由于小程序的缓存机制,小程序发布后,并不能保证所有打开的用户体验到最新版,因为有一部分老用户是用的缓存的老版本,可能需要删除小程序再打开才能更新,为了解决这个问题,我们在开启小程序的时候自动检测更新,从而主动更新

话不多说,直接上代码

/**
 * 检测当前的小程序
 * 是否是最新版本,是否需要下载、更新
 */
function checkUpdateVersion() {
  //创建 UpdateManager 实例
  const updateManager = wx.getUpdateManager();
  //检测版本更新
  updateManager.onCheckForUpdate(function(res) {
    // 请求完新版本信息的回调
    if (res.hasUpdate) {
      //监听小程序有版本更新事件
      updateManager.onUpdateReady(function() {
        wx.showModal({
          title: '更新提示',
          content: '新版本已经准备好,是否重启应用?',
          success(res) {
            if (res.confirm) {
              // 新的版本已经下载好,调用 applyUpdate 应用新版本并重启
              updateManager.applyUpdate();
            }
          }
        })
      })

      updateManager.onUpdateFailed(function() {
        // 新版本下载失败
        wx.showModal({
          title: '新版本更新失败',
          content: '1. 从最近使用中拖动小程序添加到我的小程序中 -> 2. 从最近使用中拖动小程序到底部删除当前小程序 -> 3. 从我的小程序中重新打开(或到微信 “发现-小程序” 页,重新搜索打开)完成更新',
        })
      })
    }
  })
}

module.exports = {
  checkUpdateVersion: checkUpdateVersion
}

我把上面这段代码封装到一个工具类js里(目录为根目录下的commonjs/upgrade.js),然后在app.jsonLaunch里面调用:

//app.js
var upgrade = require("commonjs/upgrade.js");

App({
  onLaunch: function () {
    // 检查小程序更新
    upgrade.checkUpdateVersion()
    }
})
viencoding.com版权所有,允许转载,但转载请注明出处和原文链接: https://viencoding.com/article/280
欢迎小伙伴们在下方评论区留言 ~ O(∩_∩)O
文章对我有帮助, 点此请博主吃包辣条 ~ O(∩_∩)O

猜你喜欢


评论

There are no comments yet.
未登录

登录后即可发表评论

登录或注册

标签

AdSense Anaconda Android API apt Auth AWS B-tree Bandwagon Blog bower brew bytes Caffe Catalina cloudcone Composer conda CoreML CPU crontab CSS csv Cuda cv2 datetime Digitalocean DNS Docker Docker-Compose export Flask FTP GET Git GitHub Gmail GoDaddy Google GTM hash Homebrew Homestead HTML http HTTPS IDEA image imagemagick imagick imgick import InnoDB ios iou iPhone ISO8601 iTerm2 Java JPG Keras Laravel Laravel-Admin lazyload Linux list lnmp load logs Lravel Mac Markdown matplotlib md5 mix MobileNet Mojave mongo MongoDB MySQL Namesilo Nginx npm numpy Nvidia Nvidia-Docker onevps OpenCV Openpose Outline parse PayPal PHP php-fpm PhpStorm PHP扩展 PIL Pillow pip PNG POST Protobuf PyCharm pyenv pymongo Python Python,人工智能,机器学习,VOC,xml Queue Redis requests RGB save selenium SEO Shadowsock Shadowsocks ShadowsocksR simplemde Spring Boot SQLServer ssd SSH SSL证书 SSR str Sublime sudo swap Swift Tensorflow TensorflowLite Terminal Terminator Ubuntu urllib UTC v2ray Valet Validation Validator VienBlog virtualenvs VPN VPS Vultr Web Windows WordPress Xcode yaml YUV zip zmq zsh 下载图片 云主机 云服务器 人工智能 优化 优惠码 伪原创 作弊与反作弊 免费ss账号 免费提现 切片 前端 加密 协议 博客 友链 双击事件 后台运行 后端 命令 国内镜像源 图片操作 图片转换 域名 大小写转换 姿态检测 安卓模拟器 安装 定时任务 定时执行 导出导入 小程序码 延迟加载 微信小程序 慢查询 懒加载 提现 搜索引擎 搬瓦工 搭梯子 教程 数据库 数据重复 文件上传 无法登录 日志 日期 时区 时间 时间戳 服务器 机器学习 权限 梯子 模拟浏览器 港版支付宝 爬虫 生活服务 目标检测 科学上网 系统升级 索引 组件开发 编辑器 自动付款 英文伪原创 计划任务 计算机视觉 语法 远程连接 配置文件 重定向 错误异常 错误提示 队列 阿里云 香港 香港手机号
亲情非友情链接