weixin_41584868 2024-08-29 15:31 采纳率: 0%
浏览 134
已结题

微信小程序转发链接问题,已禁止转发仍能转发的场景

微信小程序某页面已经限制了页面不可转发、不可分享、不可复制链接的前提下,小程序该页面仍被转发到微信群中,想咨询各位大拿这是如何实现的?如何能规避这种转发呢?

  • 写回答

28条回答 默认 最新

  • 阿里嘎多学长 2024-08-29 15:31
    关注
    获得0.20元问题酬金

    AIGC生成:


    微信小程序转发链接问题,已禁止转发仍能转发的场景

    您的问题是关于微信小程序中某页面限制了页面不可转发、不可分享、不可复制链接的情况下,仍然可以被转发到微信群中的问题。

    首先,需要注意的是,微信小程序中有一个名为 onShareAppMessage 的事件,可以在这个事件中返回一个对象来控制分享行为。这个对象中有一个 fail 属性,如果设置为 true,那么分享将被禁止。

    但是,如果您已经在页面中设置了 onShareAppMessage 事件,并且返回了一个对象,仍然可以被转发到微信群中,这可能是因为微信小程序中有一个名为 wx.getShareInfo 的 API,可以获取分享信息。如果您在页面中使用了这个 API,并且没有正确地处理分享信息,那么分享将被允许。

    为了规避这种转发,可以在页面中使用 wx.getShareInfo API 时,检查分享信息是否合法,如果不合法,可以返回一个错误信息来阻止分享。

    以下是一个示例代码:

    wx.getShareInfo({
      success: function(res) {
        if (res.errMsg === 'getShareInfo:fail') {
          wx.showToast({
            title: '分享失败',
            icon: 'none'
          });
        } else {
          // 分享信息合法,可以分享
        }
      }
    });
    

    在上面的代码中,我们使用 wx.getShareInfo API 获取分享信息,如果分享信息不合法,我们将显示一个toast提示分享失败。

    此外,还可以在页面中使用 wx.onShareAppMessage 事件来控制分享行为。这个事件将在用户点击分享按钮时触发,可以在这个事件中返回一个对象来控制分享行为。

    wx.onShareAppMessage(function(res) {
      if (res.target === 'share') {
        // 分享按钮被点击
        return {
          title: '分享标题',
          path: '分享路径',
          fail: true
        };
      } else {
        // 不是分享按钮被点击
        return {
          title: '分享标题',
          path: '分享路径'
        };
      }
    });
    

    在上面的代码中,我们使用 wx.onShareAppMessage 事件来控制分享行为。如果用户点击分享按钮,我们将返回一个对象,设置 fail 属性为 true,以阻止分享。

    希望这些信息能够帮助您解决问题。如果您需要更多帮助,请随时问我。

    评论

报告相同问题?

问题事件

  • 系统已结题 9月6日
  • 创建了问题 8月29日