前言
去年年低公司有一个产品提过一个需求,小程序分享到群之后,禁止在群中对小程序进行二次转发。当时用了一些时间去研究实现,而最近公司又有另外一个需求需要这样实现,但是差不多一年时间没实现过了,顿时间忘记了,又花了一点时间进行才实现出来,所以为了避免后续还需要使用到,特此做一个笔记。
截图效果
图1(正常情况的效果)
图2(禁用之后的效果)
图3(在禁用情况下用多选功能进行转发的效果“[该信息类型暂不能展示]”)
代码实现
1、在页面的.js文件的onLoad中进行配置 withShareTicket 为 true
/**
* 生命周期函数--监听页面加载
*/
onLoad: function (options) {
wx.showShareMenu({
withShareTicket: true
})
}
复制代码
2、在页面的.js文件的 onShareAppMessage 函数中,分享成功的回调中执行 wx.hideShareMenu
/**
* 用户点击右上角分享
*/
onShareAppMessage: function () {
return {
title: '测试分享',
success: function (res) {
// 转发成功
wx.hideShareMenu({})
},
fail: function (res) {
// 转发失败
}
}
}
复制代码
疑问
最后提一个我的疑点给各位大神讨论,就是如果不进行 withShareTicket 配置,为何就不能实现这个需求。