精华内容
下载资源
问答
  • 微信小程序数据库一直更新不成功,但是语句成功执行了。解决方法如下 1.查看数据库权限 如果不是第一个,改成第一个 2.查看数据库集合的字段 如果没有_openid字段,手动添加,添加了一条之后,后面的数据系统会自动...

    微信小程序数据库一直更新不成功,但是语句成功执行了。解决方法如下

    1.查看数据库权限

    如果不是第一个,改成第一个
    在这里插入图片描述

    2.查看数据库集合的字段

    如果没有_openid字段,手动添加,添加了一条之后,后面的数据系统会自动补全。注意,_openid不是自己随便定义的,要和程序的_openid一致。
    在这里插入图片描述

    3.获取系统_openid

    首先在云函数里新建一个函数,写完记得部署函数
    在这里插入图片描述
    index.js文件如下

    // 云函数入口文件
    const cloud = require('wx-server-sdk')
    
    cloud.init()
    
    // 云函数入口函数
    exports.main = async (event, context) => {
      const wxContext = cloud.getWXContext()
    
      return {
        event,
        openid: wxContext.OPENID,
        appid: wxContext.APPID,
        unionid: wxContext.UNIONID,
      }
    }
    

    这是我在随便一个界面写的,能输出就行

    const app = getApp()
    
    /**
       * 生命周期函数--监听页面加载
       */
      onLoad: function (options) {
       this.getopenid()
      },
      getopenid() {
        let page = this;
        wx.cloud.callFunction({
          name: 'getopenid',
          complete: res => {
            console.log('openid--', res.result)
            var openid = res.result.openid
            page.setData({
              openid: openid
            })
          }
        })
      },
    
    展开全文
  • 微信小程序 更新版本操作

    千次阅读 2019-04-09 16:50:39
    1.小程序的启动方式: 冷启动----小程序首次打开或销毁后再次被打开 热启动----小程序打开后,在一段时间内(目前:5分钟)再次被打开,此时会将后台的小程序切换到前台。 2.根据以上两种启动方式,相应的...

    1.小程序的启动方式:

          冷启动----小程序首次打开或销毁后再次被打开

          热启动----小程序打开后,在一段时间内(目前:5分钟)再次被打开,此时会将后台的小程序切换到前台。

     

    2.根据以上两种启动方式,相应的更新机制为:

         小程序冷启动时,会检查小程序是否有最新版本。如果有则将异步下载最新版本,但是仍将运行当前版本等到下一次冷启动时再运行最新版本。

      如果你想现在就使用最新版本则需要调用wx.getUpdateManager API进行处理;

     

    3.关于wx.getUpdateManager实战使用

       3.1API介绍

    //获取全局唯一的版本更新管理器,用于管理小程序更新。

          const  updateManager = wx.getUpdateManager();

      3.2  updateManager对象的方法列表:

         a.onCheckUpdate(function(res){}) 当向微信后台请求完新版本信息,会进行回调

         b.onUpdateReady   当新版本下载完成,会进行回调

         c.onUpdateFail  当新版本下载失败,会进行回调

         d.applyUpdate 当新版本下载完成,调用该方法会强制当前小程序应用上新版本并重启

     

     上述代码的书写位置为app.js中onLaunch

       3.3如何测试?  

      

    4.直接上代码

    const updateManager = wx.getUpdateManager()
    
    updateManager.onCheckForUpdate(function (res) {
      // 请求完新版本信息的回调
      console.log(res.hasUpdate)
    })
    
    updateManager.onUpdateReady(function () {
      wx.showModal({
        title: '更新提示',
        content: '新版本已经准备好,是否重启应用?',
        success: function (res) {
          if (res.confirm) {
            // 新的版本已经下载好,调用 applyUpdate 应用新版本并重启
            updateManager.applyUpdate()
          }
        }
      })
    
    })
    
    updateManager.onUpdateFailed(function () {
      // 新的版本下载失败
    })
    展开全文
  •  这是跟小程序更新机制有关的,因为小程序更新机制是异步的,所以说部分用户不会马上应用上新版本。 小程序启动会有两种情况,一种是「冷启动」,一种是「热启动」。 假如用户已经打开过某小程序,然后在一定...

    这几天一直在做微信小程序的二次开发,每天都要发布程序,但是发布之后微信上查看小程序和以前的一模一样,丝毫没有改变,但是我再本地上却改变了,而且没有开的不校验合法域名那个。这是为啥呢?????

      这是跟小程序的更新机制有关的,因为小程序的更新机制是异步的,所以说部分用户不会马上应用上新版本。

      小程序启动会有两种情况,一种是「冷启动」,一种是「热启动」。 假如用户已经打开过某小程序,然后在一定时间内再次打开该小程序,此时无需重新启动,只需将后台态的小程序切换到前台,这个过程就是热启动;冷启动指的是用户首次打开或小程序被微信主动销毁后再次打开的情况,此时小程序需要重新加载启动。

      小程序的异步更新发生在冷启动过程,当发现新版本后,会异步下载新版本的代码包,但不会马上应用上最新版本,需要等小程序下一次冷启动,才会应用上新版本。

      所以我在网上找到了这个方法:

      异步更新 + 强制更新:同步检查更新与模块热替换两者之间的折衷方案,即还是维持异步更新机制,在异步下载完小程序代码包后,提供重启小程序的能力,这样在遇到紧急问题时可以马上解决。

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

      代码:

    复制代码
     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 })
    复制代码

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

     

      然后下次编译的时候就能模拟更新了。

      点击此处查看官方文档

      

    展开全文
  • :可能是最直接的解决思路,但主要问题是会影响小程序的启动速度,当下小程序更新迭代是非常频繁的,部分用户可能每次启动都命中更新,如果需要同步检查更新+同步下载新的版本,那将会影响这部分用户的启动体验。...

    背景

    此前有开发者反馈小程序发布新版本后,新版本覆盖率比较慢,因为小程序的更新机制是异步的,部分用户不会马上应用上新版本。

    小程序启动会有两种情况,一种是“冷启动”,一种是“热启动”。 假如用户已经打开过某小程序,然后在一定时间内再次打开该小程序,此时无需重新启动,只需将后台态的小程序切换到前台,这个过程就是热启动;冷启动指的是用户首次打开或小程序被微信主动销毁后再次打开的情况,此时小程序需要重新加载启动。

    小程序的异步更新发生在冷启动过程,当发现新版本后,会异步下载新版本的代码包,但不会马上应用上最新版本,需要等小程序下一次冷启动,才会应用上新版本。

    解决思路

    为了解决这个问题,我们内部也经历了数个方案的讨论,这里简单介绍下:

    1. 同步检查更新(放弃):可能是最直接的解决思路,但主要问题是会影响小程序的启动速度,当下小程序的更新迭代是非常频繁的,部分用户可能每次启动都命中更新,如果需要同步检查更新+同步下载新的版本,那将会影响这部分用户的启动体验。

    2. 模块热替换(放弃):从技术上来说,这是最好的方案,小程序运行起来后,在打开新页面时,马上应用新版本里的页面,但这就会存在新旧逻辑、页面共存问题,对于开发者来说,反而更不好处理,特别是涉及到全局变量时,情况会更复杂,对于我们已有的框架来说,也是一个大挑战,不过这个也是我们之后努力的方向。

    3. 定时 check 新版本(目前方案):6.6.3 及以上版本的客户端,会定时 check 最近使用过的小程序是否有发布新版本;如果有,下次打开的时候会同步更新新版本再打开。这可以保证在新版本发布 24 小时后,所有小程序都能使用最新版本。(这部分是微信客户端自身优化,开发者无需关心)

    4. 异步更新 + 强制更新(目前方案):同步检查更新与模块热替换两者之间的折衷方案,即还是维持异步更新机制,在异步下载完小程序代码包后,提供重启小程序的能力,这样在遇到紧急问题时可以马上解决。

    异步更新 + 强制更新方案介绍

    从基础库 1.9.90 开始,我们提供了 wx.getUpdateManager 接口,使用该接口,可以获知是否有新版本小程序、新版本是否下载好以及应用新版本的能力。

    当小程序冷启动时,会自动向微信后台请求新版本信息,如果有新版本,会马上触发新版本的下载。开发者可以通过 wx.getUpdateManager,获知当前更新的状态。

    wx.getUpdateManager 接口会返回一个 UpdateManager 实例,UpdateManager 包含了三个回调:

    1. onCheckForUpdate:当小程序向后台请求完新版本信息,会通知这个版本告知检查结果
    2. onUpdateReady:当新版本下载完成,会回调这个事件
    3. onUpdateFailed: 当新版本下载失败,会回调这个事件

    还有重启应用新版本的接口:

    1. applyUpdate:当新版本下载完成(onUpdateReady),调用该方法会强制当前小程序应用上新版本并重启

    具体示例:

    // wx.getUpdateManager 在 1.9.90 才可用,请注意兼容
    const updateManager = wx.getUpdateManager()
     
    updateManager.onCheckForUpdate( function (res) {
      // 请求完新版本信息的回调
      console.log(res.hasUpdate)
    })
     
    updateManager.onUpdateReady( function () {
      wx.showModal({
        title: '更新提示' ,
        content: '新版本已经准备好,是否马上重启小程序?' ,
        success: function (res) {
          if (res.confirm) {
            // 新的版本已经下载好,调用 applyUpdate 应用新版本并重启
            updateManager.applyUpdate()
          }
        }
      })
    })
     
    updateManager.onUpdateFailed( function () {
      // 新的版本下载失败
    })

    更详细信息可以参考 UpdateManager 的详细文档

    最佳实践

    从用户体验上来说,我们还是建议只在非常必要时才强制用户重启更新,例如出现线上紧急 BUG。通常情况下,可以选通过 wx.showModal 弹出选择框让用户选择是否重启更新(实现请参考示例代码)。

    如何调试

    最新版本的微信开发者工具提供了强制更新的调试能力,通过编译模式 - 编辑编译模式 - 勾上“下次编译时模拟更新”即可在开发者工具上调试强制更新功能。

    最新开发者工具下载链接 点我

    展开全文
  • 微信小程序每次发布更新后线上还是之前的老版本,要删除后重新打开才会显示新版本,特烦。 不知道是不是太久没去看文档了,发现 api 中增加了更新 wx.getUpdateManager(),于是立马来试试。 在 app.js 中增加一个...
  • 微信小程序强制更新

    万次阅读 2019-09-27 11:39:49
    如图,当小程序发布新的版本后,用户如果之前访问过该小程序,通过已打开的小程序进入(未手动删除),则会弹出这个提示,提醒用户更新新的版本。用户点击确定就可以自动重启更新,点击取消则关闭弹窗,不再更新。 ...
  • 微信小程序 版本自动更新的实现

    千次阅读 热门讨论 2018-12-27 17:43:25
    涉及到微信小程序开发的小伙伴们,相信一定会遇到新版本发布后,旧版本无法自动更新的困扰. 我之前进行开发的时候 首先是因为在今年的 3、4月份进行小程序的初次接触;但是网上也没搜到相关的解决方案; 最笨的方法...
  • 微信小程序更新机制

    万次阅读 2018-04-09 11:13:42
    2)根据以上两种启动方式,相应的更新机制为: 小程序冷启动时,会检查小程序是否有最新版本。如果有则将异步下载最新版本,但是仍将运行当前版本等到下一次冷启动时再运行最新版本。如果你想现在就使用最新版本则...
  • 微信小程序新版本提示更新

    千次阅读 2019-06-15 10:52:57
    微信小程序新版本提示更新 公司的小程序项目上线, 后期还会有小型的版本迭代. 为了让用户能在我们进行版本迭代后及时使用最新版本的功能. 做了以下优化… 知识点1: 当用户点击左上角关闭,或者按了设备Home 键离开...
  • 小程序强制更新

    万次阅读 2018-04-23 15:03:51
    注意,小程序更新的api需要基础库在1.9.90以上,需要使用的童鞋记得做兼容 1、在app.js的onLaunch方法中使用: const updateManager = wx.getUpdateManager() updateManager.onCheckForUpdate(function (res) ...
  • 微信小程序检查版本更新

    千次阅读 2018-11-19 19:52:27
    当我们发布了新版本,因为缓存的缘故用户使用的小程序可能还是旧版的,于是我们就有了提醒用户更新版本的需要。小程序提供了UpdateManager对象,用来管理更新,基础库 1.9.90 开始支持,低版本需做兼容处理。
  • 微信小程序数据库更新数据说明

    千次阅读 2020-06-11 19:43:13
    'update-image', message: '更新图片成功', code: 0 } } else {//updated = 0 //这里有两种情况 //1.id在数据库中不存在 //2.index和imgUrl与数据库中的一样,也就是数据没有更改的情况下执行了...
  • 微信小程序更新提示

    千次阅读 2018-11-21 11:42:55
    const updateManager = wx.getUpdateManager() //版本更新管理器,用于管理小程序更新 updateManager.onCheckForUpdate(function (res) { //请求新版本信息,返回对象如果 hasUpdate为true 则进行下一步 if (res....
  • 最新发布小程序,发现有一分部打开过小程序的页面代码不是最新的,针对这个问题查了一下 ...1、未启动时更新——(意味着微信客户端会在用户不在访问小程序期间,主动触发更新,最慢24小时内覆盖所有.
  • 最近接触微信小程序开发,已经开发了一个多月了,就分享一下技术心得,本篇博文来分享一下微信小程序进行版本迭代的步骤,首次提交微信小程序的步骤在这里不再介绍,会分另外的篇幅进行专门的介绍。 微信小程序进行...
  • 小程序自动更新版本

    千次阅读 2019-03-15 16:45:19
    看了一下官方的文档,发现有管理小程序更新的API。 小程序启动会有两种情况,一种是【冷启动】,一种是【热启动】。假如用户已经打开过某小程序,然后在一定时间内再次打开该小程序,此时无需重新启动,只需将后台...
  • 解决线上小程序版本自动更新问题

    千次阅读 2019-03-26 15:24:32
    小程序发布新版本后,新版本覆盖率比较慢,因为小程序更新机制是异步的,部分用户不会马上应用上新版本。 冷启动、热启动 小程序启动会有两种情况,一种是「冷启动」,一种是「热启动」。 冷启动指的是用户首次...
  • 小程序云数据库更新数组第n项

    万次阅读 2019-12-24 15:58:11
    小程序云开发中使用云数据库时,如何更新数组的某一项
  • 微信小程序线上版本自动更新

    万次阅读 2019-05-25 20:48:34
    微信小程序线上版本自动更新解决代码这是当时做的小程序,供各位参考。 小编也刚开始学习微信小程序,花了一周时间,终于完成了我的第一个小程序。这个漫长的开发过程中会遇到各种问题,往往由很多问题我们事先都想...
  • 微信小程序之自动更新功能

    万次阅读 2018-09-04 20:31:18
    微信小程序项目发布上线后,如何进行更新版本呢? 首先,你需要将新版本的项目代码上传提交审核,审核通过后进行项目的二次发布。 但是,我们发现,新项目发布之后,用户使用依然是老版本,这是因为在微信中有旧...
  • 假如用户已经打开过某小程序,然后在一定时间内再次打开该小程序,此时无需重新启动,只需将后台态的小程序切换到前台,这个过程就是热启动;冷启动指的是用户首次打开或小程序被微信主动销毁后再次打开的情况,...
  • 小程序先提交了一个版本,但是用的时候发现了一些问题需要及时的更新,这时候就要发布新版本。如何让用户自己的小程序更新到最新版本呢? 一、运行机制 小程序启动会有两种情况,一种是「冷启动」,一种是「热启动...
  • 微信小程序更新--测试API之蓝牙

    万次阅读 2017-03-29 17:30:50
    接着上一篇来继续测:微信小程序蓝牙的API每个测试了一下发现跟以前的写Android的蓝牙调取是一样的,打开流程:先打开蓝牙的适配器,然后确定下本机的蓝牙状态,然后开始搜索蓝牙,搜索完成以后关闭搜索。...
  • 问题描述:在微信小程序中onLoad中调用wx.onAccelerometerChange(function(acceleration) {})后跳转其他页面(wx.navigateTo,wx.redirectTo,wx.reLaunch),然后在跳回调用wx.onAccelerometerChange的页面后,会出现...
  • 今天在写小程序的时候想要更新数据库指定表格的内容的时候使用了数据库的 update 方法,但是console 也能提示更新成功 在后台看数据库内容却没有改变 解决办法 在表格里添加字段_openid 值为自己_openid的值 ...
  • 微信小程序:全局变量的动态更新

    千次阅读 2019-05-16 09:24:47
    定义全局变量 // 在app.js页面定义设置globeData全局变量;...page页面更新全局变量, onShow : function ( ) { this . setData ( { counter : app . globalData . counter } ) }
  • 微信小程序|页面动态更新数据

    千次阅读 2020-04-28 00:09:21
    大家平时所使用的微信小程序都是实时更新的将最新的数据内容分享给大家。如果没有进行数据的更新,它可能就会被大众所淘汰。那么如何对小程序的数据进行页面动态更新呢? 解决方案 更新数据并让框架自动更新相关视图...
  • 微信小程序对于数据的局部更新

    千次阅读 2018-10-19 17:51:50
    如果只想改变其中的一个对象的某一属性,比如id为2的年级改为’大一’,直接setData整个数组的话,就需要重新获取数据,用户体验极差,所以要局部的改变这个属性,直接setData这个属性的话会报错,微信小程序是不...
  • 微信小程序云开发更新数组对象中某对象的属性 在微信小程序中,我们的存储的数组对象一般是这个样子的: _id:1, _openid:yyyyy ojb:[ { id:1, openId:xxxx, count:5 }, { id:2, openId:xxxxx, count:6 } ]...
  • 微信小程序云数据库怎么做更新

    千次阅读 2019-10-26 22:55:21
    刚刚接触微信小程序,往数据库里面新增记录和查询记录都很简单,但是做到数据库内容更新的时候就遇到了很棘手的问题。 更新后数据库没反应? 困扰了我一月有余的问题,从让我一开始就没看懂的openID到后来的云函数,...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,141,203
精华内容 456,481
关键字:

小程序更新