网站内容更新不及时(微信小程序启动会马上触发新版本的下载代码包)

优采云 发布时间: 2021-12-15 11:19

  网站内容更新不及时(微信小程序启动会马上触发新版本的下载代码包)

  这几天一直在做微信小程序的二次开发,每天都要发布程序,但是发布后微信上的视图小程序和之前的一模一样。完全没变,但是我在本地改了,一直没有打开。不要验证有效的域名。为什么是这样?? ? ? ?

  这与小程序的更新机制有关,因为小程序的更新机制是异步的,所以有些用户不会立即应用新版本。

  小程序启动时有两种情况,一种是“冷启动”,一种是“热启动”。如果用户已经打开了小程序,然后在一定时间内再次打开小程序,此时无需重启,只需将后台状态的小程序切换到前台即可,这个过程是一个热点开始; 冷启动是指用户第一次打开小程序或者被微信主动销毁后再次打开,需要重新加载小程序并启动。

  小程序的异步更新发生在冷启动过程中。当发现新版本时,会异步下载新版本的代码包,但不会立即应用最新版本。只有在小程序下次冷启动后才会应用新版本。

  于是在网上找到了这个方法:

  异步更新+强制更新:同步校验更新和热模块替换的折中,即保持异步更新机制。小程序代码包异步下载后,提供了重新启动小程序的能力,让您在遇到紧急问题时可以立即解决。

  小程序冷启动时,会自动向微信后台请求新版本信息。如果有新版本,会立即触发新版本的下载。

  代码:

   1 // wx.getUpdateManager 在 1.9.90 才可用,请注意兼容

2 const updateManager = wx.getUpdateManager()

3

4 updateManager.onCheckForUpdate(function (res) {

5 // 请求完新版本信息的回调

6 console.log(res.hasUpdate)

7 })

8

9 updateManager.onUpdateReady(function () {

10 wx.showModal({

11 title: '更新提示',

12 content: '新版本已经准备好,是否马上重启小程序?',

13 success: function (res) {

14 if (res.confirm) {

15 // 新的版本已经下载好,调用 applyUpdate 应用新版本并重启

16 updateManager.applyUpdate()

17 }

18 }

19 })

20 })

21

22 updateManager.onUpdateFailed(function () {

23 // 新的版本下载失败

24 })

  那么如何在本地测试这个东西呢?

  

  

  然后你可以在下次编译时模拟更新。

  点击此处查看官方文档

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线