在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:微信基础库更新,分享的回调不会执行了