我爱模板网 > 建站教程 > 小程序、公众号 >  微信小程序onShareAppMessage详解正文

微信小程序onShareAppMessage详解

只有在js文件中定义了onShareAppMessage函数时,小程序右上角的菜单中才会有转发按钮。
用户点击自定义的open-typeshare的按钮或者右上角的转发按钮的时候会回调用该函数
该函数内需要return一个ObjectObject中包含转发的信息(可自定义转发的内容)
页面中有可以触发转发时间的地方有两个:
  一个是右上角菜单中的转发按钮
  另一个是页面中具有属性open-type="share"button。(注:必须是button组件,其他组件中设置 open-type="share" 无效)
  即:
<button data-name="shareBtn" open-type="share">转发</button>
  注意:实际开发中会发现这个 button 自带有样式,当背景颜色设置为白色的时候还有一个黑色的边框,刚开始那个边框怎么都去不掉,后来给button加了一个样式属性 plain="true" 以后,再在样式文件中控制样式 button[plain]{ border:0 } ,就可以比较随便的自定义样式了,比如说将分享按钮做成一个图标等。而且,普通html页面,button里面是不能放图片和标签的,只能放文字,微信的button里面可以放任意内容,这就比较强大了。

下面是onShareAppMessage的实际用法:
onShareAppMessage: function( options ){
  var that = this;
  // 设置菜单中的转发按钮触发转发事件时的转发内容
  var shareObj = {
    title: "转发的标题",        // 默认是小程序的名称(可以写slogan等)
    path: '/pages/share/share',        // 默认是当前页面,必须是以‘/’开头的完整路径
    imageUrl: '',     //自定义图片路径,可以是本地文件路径、代码包文件路径或者网络图片路径,支持PNG及JPG,不传入 imageUrl 则使用默认截图。显示图片长宽比是 5:4
    success: function(res){
      // 转发成功之后的回调
      if(res.errMsg == 'shareAppMessage:ok'){
      }
    },
    fail: function(){
      // 转发失败之后的回调
      if(res.errMsg == 'shareAppMessage:fail cancel'){
        // 用户取消转发
      }else if(res.errMsg == 'shareAppMessage:fail'){
        // 转发失败,其中 detail message 为详细失败信息
      }
    },
    complete: fucntion(){
      // 转发结束之后的回调(转发成不成功都会执行)
    }
  };
  // 来自页面内的按钮的转发
  if( options.from == 'button' ){
    var eData = options.target.dataset;
    console.log( eData.name );     // shareBtn
    // 此处可以修改 shareObj 中的内容
    shareObj.path = '/pages/btnname/btnname?btn_name='+eData.name;
  }
  // 返回shareObj
  return shareObj;
}



部分素材资源来源网站,本站提供免费下载,如有侵权请联系站长马上删除!
上一篇:微信小程序之嵌套循环修改index与item 下一篇:微信小程序 setData 修改对象
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
选择头像:
最新评论

猜你喜欢