- onShareAppMessage
监听用户点击页面内转发按钮(button 组件 open-type=“share”)或右上角菜单“转发”按钮的行为,并自定义转发内容。微信官方文档
注意:button + open-type = “share” 才会触发 onShareAppMessage
事件
<button open-type="share">分享</button>
- 此事件处理函数需要 return 一个 Object,用于自定义转发内容,返回内容如下
//小程序分享到微信页面
onShareAppMessage() {
const promise = new Promise(resolve => {
setTimeout(() => {
resolve({
title: '自定义转发标题'
})
}, 2000)
})
return {
title: '',// 分享标题
imageUrl: '',//分享封面
//如果有参数的情况可以写path链接后面”eg: '/pages/index/index?id=23'
path: ``,//此处链接为要分享的页面链接
// 如果该参数存在,则以 resolve 结果为准,如果三秒内不 resolve,分享会使用上面传入的默认参数
//promise
};
},
- onShareTimeline
监听右上角菜单“分享到朋友圈”按钮的行为,并自定义分享内容。
注意:只有定义了此事件处理函数,右上角菜单才会显示“分享到朋友圈”按钮
onShareTimeline() {
const shareObj = {
title: '',// 分享标题
query: ``, // 自定义页面路径中携带的参数,如 path?a=1&b=2 的 “?” 后面部分 eg: `id=3`
imageUrl: ''//自定义图片路径,可以是本地文件或者网络图片。支持 PNG 及 JPG,显示图片长宽比是 1:1,默认为小程序logo
};
return shareObj;
},
- showShareMenu 显示当前页面的转发按钮
wx.showShareMenu({
withShareTicket: true, // 是否使用带 shareTicket 的转发详情
menus: ['shareAppMessage'] // 本接口为 Beta 版本,暂只在 Android 平台支持。需要显示的转发按钮名称列表,默认['shareAppMessage']。按钮名称合法值包含 "shareAppMessage"、"shareTimeline" 两种
});
注意:
- "onShareTimeline"表示“发送给朋友”按钮,"shareTimeline"表示“分享到朋友圈”按钮
- 显示“分享到朋友圈”按钮时必须同时显示“发送给朋友”按钮,显示“发送给朋友”按钮时则允许不显示“分享到朋友圈”按钮
示例代码
onShareTimeline() {
return {
title: '', // 分享出的卡片标题
path: 'pages/index/index', // 他人通过卡片进入小程序的路径,可以在后面拼接URL的形式带参数
imageUrl: '', // 分享出去的图片,默认为当前页面的截图。
};
},