小程序转发有两种方式:一种是在页面右上角出现的转发按钮,一种是自定义转发按钮。
前一种的话,直接在js中调用转发API
onLoad:async function () {
wx.showShareMenu({
// 要求小程序返回分享目标信息
withShareTicket: true
});
},
onShareAppMessage: function(ops) {
if (ops.from === 'button') {
console.log('button');
}
return {
title: `XXX`,
path: `XXX`,
success: function (res) {
// 转发成功
console.log("转发成功:" + JSON.stringify(res));
},
fail: function (res) {
// 转发失败
console.log("转发失败:" + JSON.stringify(res));
}
}
},
后一种除了实现以上代码外,还需在自己定义的按钮处加上open-type=share
,即
<button open-type="share">转发</button>
需要注意的地方
1.path 不是转发时的那个截图 而是用户点进来要进入的页面 转发时的那个截图只会是本页面
2.调用onShareAppMessage时,如果涉及到父子组件,不能再子组件去触发父级的分享,把 onShareAppMessage 放在父级就好啦,否则会报错:Cannot read property 'apply' of null;at pages/xxx page onShareAppMessage function
网友评论