文档里面有写在用户支付完成之后,可以调用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需要在点击按钮之后立即调用,但我目前的状态是 用户第二次就可以弹出了,,,是为什么啊
个人猜测:点击按钮到wx.requestSubscribeMessage这段时间是有限制的,使用await,当时间在限制内是可以触发,当超时会不触发。比如await 1ms,感觉上就是立即触发;若await 10s,那就是程序调用,不是点击触发了