ios系统微信小程序onShow或onLoad中唤起扫码的问题

这个问题可能很多人之前都碰到过,但是后来其实官方解决了这个问题,可以在onShow或onLoad中使用wx.scanCode唤起扫码,所以后期应该不会有这个问题,但是出于兼容旧版本微信和ios系统,其实还是应该想想办法。

今天这里要说的是一个以然存在问题还没有被解决的问题,以然是ios系统,也是在onShow或onLoad中唤起扫码的问题,不同的是,如果你把扫码放到一个公用的方法里面,比如放在了app.js中,那么在onShow或onLoad中调用这个函数100%不能唤起扫码。

造成上述两个不同场景下的同一个问题的原因,估计是在onShow或onLoad的时候,系统还没有来得及加载必要的东西进来。

解决方法:

setTimeout(function(){
//调用的公有方法或者wx.scanCode
},500);

使用onShareAppMessage小程序自定义页面分享内容

今天做一个小程序,碰到了自定义分享内容(标题、图片,甚至于自定义页面)的问题,因为是第一次做,还是碰到不少坑,这里分享一下。
首先,只有在页面的Page中定义了 onShareAppMessage 函数,才能使用右上角分享菜单按钮,该函数的参数如下:

onShareAppMessage: function (res) {
    return {
      title: '自定义转发标题',
      path: '/page/index/index/',
      imageUrl:'图片链接',//本地或线上的都可以
      success: function(res) {
        // 转发成功
      },
      fail: function(res) {
        // 转发失败
      }
    }
  }

当然,一般我们都不希望分享的内容写死的,所以,最好是在页面中用分享按钮的点击事件来异步请求分享信息。
最后,如果要启用右上角的分享菜单,需要在onload中加入

wx.showShareMenu({
  withShareTicket: true
})