- 需求的场景描述(希望解决的问题)
我在页面中设置了转发按钮发起上下文相关的分享,但是这样的话用户点击右上角菜单也就可以发起分享了。我在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中设置返回值,拒绝用户发起分享。
我使用的是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>
```
实际测试中并不能阻止用户分享呢,还是能调起微信好友列表,有什么其他的方式可以阻止吗?
这个只是隐藏右上角...的转发,如果是按钮,你要自己隐藏分享按钮
我需要的是在用户点击转发之后,拦截拉起用户列表操作,跳转到另一个页面,在新的承载页面做转发,但是新的页面右上角转发不能拉起好友列表了,是不是微信的机制阻止了上一个页面的转发操作之后 导师新的页面不能转发了。
昂。。没试过。。能有个代码片段吗?
感谢,其实需求和本帖中的 红色背景黄色字体的内容完全一致
我就想在这个分支里面拒绝此次分享,应该怎么实现?直接return null/undefined,抛异常,都不起作用。
方案 :1:普通按钮 先拿到参数
2:通过弹窗dialog 取消 确认 在确认按钮上绑定type=share 拉起分享
问题解决了吗 我现在也想做同样的功能 不知道怎么实现
多谢
实际测试中并不能阻止用户分享呢,还是能调起微信好友列表,有什么其他的方式可以阻止吗?