小程序·如何禁用小程序在聊天框中的转发按钮

1,567 阅读1分钟

前言

去年年低公司有一个产品提过一个需求,小程序分享到群之后,禁止在群中对小程序进行二次转发。当时用了一些时间去研究实现,而最近公司又有另外一个需求需要这样实现,但是差不多一年时间没实现过了,顿时间忘记了,又花了一点时间进行才实现出来,所以为了避免后续还需要使用到,特此做一个笔记。

截图效果

图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 配置,为何就不能实现这个需求。