义务场景
- 用户希望某个页面只能自己转发分享,不希望被别人再次分享出去
限制用户转发需要解决两个问题:
- 关闭系统右上角菜单栏中的转发功能
- 调用微信 API:wx.hideShareMenu({ }) 关闭当前页面转发功能。
隐藏群聊会话中长按转发分享的功能
- 设置 withShareTicket 参数为 true ,即带有参数的转发卡片,即分享到群聊的小程序卡片,长按就不再有转发功能了。
1
2
3
4
5
6
7
8
9
10
11
12
13
14onShareAppMessage() {
return {
title: '分享标题',
path: '分享路径(/pages/index/index)',
imageUrl: '分享图片',
success: () => {
wx.showShareMenu({
withShareTicket: true
})
},
fail: () => {},
complete: () => {}
}
},
- 设置 withShareTicket 参数为 true ,即带有参数的转发卡片,即分享到群聊的小程序卡片,长按就不再有转发功能了。
只适用于分享到群聊,如果分享给个人用户,个人用户依然是可以通过长按小程序卡片来转发的,这就需要我们再做进一步检测,检测用户进入小程序的场景
- 用户从带 shareTicet 的小程序消息卡片打开小程序,进入场景值为 1044 ,可以通过判断场景值来判断用户是否通过群聊卡片打开
1
2
3
4// 检测用户进入小程序的场景值
if (options.scene == 1044) {
return;
}