小程序页面内的点击分享 - 草稿

2019-09-26  本文已影响0人  汀上

在js中定义onShareAppMessage函数可以触发当前页面的分享事件
分享事件可以通过两种方式触发,一种是页面右上方胶囊里的三个点,一种是在页面中使用button按钮。这里重点说一下button按钮点击时触发的方法。

<button data-id="shareBtn" open-type="share"> </button>

一般来说button标签会有自带样式,这里可以给button加一个plain="true" 属性,再在样式中设置{ border:0 },来方便我们自定义样式

onShareAppMessage: function( options ){
  var that = this;
  // 设置转发内容
  var shareObj = {
    title: "转发的标题",
    path: '路径', // 默认是当前页面,必须是以‘/’开头的完整路径
    imgUrl: '', //转发时显示的图片路径,支持网络和本地,不传则使用当前页默认截图。
    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: function(){
      // 转发结束之后的回调(转发成不成功都会执行)
    }
  };
  // 来自页面内的按钮的转发
  if( options.from == 'button' ){
    var dataid = options.target.dataset; //上方data-id=shareBtn设置的值
    // 此处可以修改 shareObj 中的内容
    shareObj.path = '/pages/btnname/btnname?id='+dataid.id;
  }
  // 返回shareObj
  return shareObj;
}

ps:微信基础库更新,分享的回调不会执行了

上一篇下一篇

猜你喜欢

热点阅读