收藏
回答

首次使用小程序的用户,为什么wx.requestSubscribeMessage无法调起授权弹框?

API:https://developers.weixin.qq.com/miniprogram/dev/api/open-api/subscribe-message/wx.requestSubscribeMessage.html

文档里面有写在用户支付完成之后,可以调用wx.requestSubscribeMessage方法。

报错信息:{errMsg: "requestSubscribeMessage:fail can only be invoked by user TAP gesture."}

而且很奇怪,对于一个全新的用户(没打开、没使用过小程序的),第一次支付 然后调用wx.requestSubscribeMessage ,无法 弹起半屏授权的弹框。但这个用户如果第二次使用小程序支付,wx.requestSubscribeMessage就可以成功弹起半屏授权。

前后两次支付流程的代码都是一样的。


已知:是在bindTap内调用的API,API内先发出await操作后,再调用的API,且流程内无console.log。

网上很多说wx.requestSubscribeMessage需要在点击按钮之后立即调用,但我目前的状态是 用户第二次就可以弹出了,,,是为什么啊

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

1 个回答

  • PENG
    PENG
    2023-05-17

    个人猜测:点击按钮到wx.requestSubscribeMessage这段时间是有限制的,使用await,当时间在限制内是可以触发,当超时会不触发。比如await 1ms,感觉上就是立即触发;若await 10s,那就是程序调用,不是点击触发了

    2023-05-17
    有用
    回复
登录 后发表内容