请问微信小程序onShareAppMessage 的阻止问题,有详细情况说明?

我们小程序有个商品砍价页面,有个邀请好友帮忙砍价按钮,我是直接加了个button 组件设置属性 open-type="share" 配合 onShareAppMessage 点击按钮转发给好友帮砍

但是有个问题就是,在点击按钮的时候, 需要做一个接口调用,如果接口返回错误,就需要打印出报错信息 并且中断此次转发,但是我发现我无论如何也无法中断转发这个事件,请问这种情况如何处理?

或者说微信小程序,有什么主动触发转发事件的api吗?我可以不用button open-type="share" 做

阅读 3k
2 个回答

模拟器试了试可以的,没有测试AppID,真机需要自行调试

wxml

<view class="intro">

  <text>状态: {{ isShare ? "允许转发" : "不允许转发" }}</text>
  <view style="margin-top: 20px; height: 60px;">
    <button bindtap="changeStatus">改变状态</button>  
  </view>
  <button open-type="share">转发</button>
</view>

js

const app = getApp()

Page({
  data: {
    isShare: true
  },
  onLoad() {
    console.log('代码片段是一种迷你、可分享的小程序或小游戏项目,可用于分享小程序和小游戏的开发经验、展示组件和 API 的使用、复现开发问题和 Bug 等。可点击以下链接查看代码片段的详细文档:')
    console.log('https://mp.weixin.qq.com/debug/wxadoc/dev/devtools/devtools.html')
  },

  changeStatus() {
    this.setData({
      isShare: !this.data.isShare
    });
  },

  async onShareAppMessage() {
    const res = await this.requestTest();
    return res ? true : Promise.reject();
  },

  async requestTest() {
    return new Promise((reslove) => {
      setTimeout(() => {
        reslove(this.data.isShare);
      }, 2000);
    });
  }
})

image.png

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题