收藏
回答

请教,怎么在onShareAppMessage拦截分享?

框架类型 问题类型 API/组件名称 终端类型 微信版本 基础库版本
小程序 需求 onShareAppMessage 工具 6.6.7 2.2.0

- 需求的场景描述(希望解决的问题)

我在页面中设置了转发按钮发起上下文相关的分享,但是这样的话用户点击右上角菜单也就可以发起分享了。我在onShareAppMessage想拦截这种不带上下文的分享,但是实现不了。请教下怎么写代码能拦截这种分享动作?


官方实例代码以及我想做的事

Page({

 onShareAppMessage: function (res) {

   if (res.from === 'button') {      // 来自页面内转发按钮

     console.log(res.target)

   } else {

        这部分代码官方没有,我就想在这个分支里面拒绝此次分享,应该怎么实现?直接return null/undefined,抛异常,都不起作用。

    }

    return {

     title: '自定义转发标题',      path: '/page/user?id=123'    }  } })


- 希望提供的能力

onShareAppMessage中设置返回值,拒绝用户发起分享。


回答关注问题邀请回答
收藏

5 个回答

  • 嘿
    2021-08-12

    我使用的是uni-app编写微信小程序,通过v-if来切换普通按钮和分享按钮,样式一样,if的条件是内容是否合法,如果不合法就是普通按钮并会触发点击事件提示用户,代码如下

    ```

    <button class="btn-share full-width" open-type="share" id="confirm"  hover-class="none" v-if="!isInvalidAmount">

                        <view class="bg-green text-xl btn shadow no-padding">确认发送</view>

                    </button>

                    <button class="btn-share full-width"  id="confirm" @click="showError"  hover-class="none" v-else>

                        <view class="bg-green text-xl btn shadow no-padding">确认发送</view>

                    </button>

    ```

    2021-08-12
    有用 2
    回复
  • 卢霄霄
    卢霄霄
    2018-07-19
    wx.hideShareMenu()


    2018-07-19
    有用 1
    回复 6
    • 高聪
      高聪
      2018-11-13

      实际测试中并不能阻止用户分享呢,还是能调起微信好友列表,有什么其他的方式可以阻止吗?

      2018-11-13
      回复
    • 卢霄霄
      卢霄霄
      2018-11-13回复高聪

      这个只是隐藏右上角...的转发,如果是按钮,你要自己隐藏分享按钮

      2018-11-13
      回复
    • 高聪
      高聪
      2018-11-13

      我需要的是在用户点击转发之后,拦截拉起用户列表操作,跳转到另一个页面,在新的承载页面做转发,但是新的页面右上角转发不能拉起好友列表了,是不是微信的机制阻止了上一个页面的转发操作之后  导师新的页面不能转发了。

      2018-11-13
      回复
    • 卢霄霄
      卢霄霄
      2018-11-13回复高聪

      昂。。没试过。。能有个代码片段吗?

      2018-11-13
      回复
    • 高聪
      高聪
      2018-11-13回复卢霄霄

      感谢,其实需求和本帖中的 红色背景黄色字体的内容完全一致

      我就想在这个分支里面拒绝此次分享,应该怎么实现?直接return null/undefined,抛异常,都不起作用。

      2018-11-13
      回复
    查看更多(1)
  • ネф イω
    ネф イω
    2021-02-21

    方案 :1:普通按钮 先拿到参数

    2:通过弹窗dialog 取消 确认 在确认按钮上绑定type=share 拉起分享


    2021-02-21
    有用
    回复
  • WAW
    WAW
    2019-09-28

    问题解决了吗  我现在也想做同样的功能  不知道怎么实现

    2019-09-28
    有用
    回复
  • 和江涛
    和江涛
    2018-07-19

    多谢

    2018-07-19
    有用
    回复 1
    • 高聪
      高聪
      2018-11-13

      wx.hideShareMenu()

      实际测试中并不能阻止用户分享呢,还是能调起微信好友列表,有什么其他的方式可以阻止吗?

      2018-11-13
      回复
登录 后发表内容