需求:将某个优惠劵页面分享给好友,分享前要获取你输入的优惠劵个数以及优惠劵的标识
1、在页面js文件中通过onShareAppMessage生命周期来监听,用户点击右上角分享或者自定义分享按钮的行为。并可以设置分享的页面路径,标题,头图等信息。
onShareAppMessage: function () {
const promise = new Promise(resolve => {
//在这里可以进行一些数据请求,成功后再调resolve()
resolve({
title: '自定义分享标题',
path:'pages/coupon/my/detail/index'
})
})
})
return {
title: "默认标题", //分享给好友时的标题
path:'pages/index/index' //用户打开后显示的页面路径
imageUrl:'分享的图片路径' //可以是本地文件路径、代码包文件路径或者网络图片路径
promise //如果该参数存在,则以 resolve 结果为准,如果三秒内不 resolve,分享会使用这
面得默认标题
}
注:因为成功回调被取消了,所以在promise里进行了数据请求,调用后台接口,在用户赠送优惠劵分享的时候减少优惠劵个数,并获取优惠劵标识,好让分享的链接被好友打开时显示的是接受好友赠送.
2、自定义分享
在wxml文件中设置按钮类型open-type="share"代码如下:
<button class="givefriend" open-type="share">赠送给好友</button>
注:这样用户点击了这个按钮也会触发onShareAppMessage这个生命周期