小程序
小游戏
企业微信
微信支付
扫描小程序码分享
微信开发者工具调试wx.requestSubscribeMessage的时候,会报requestSubscribeMessage:fail can only be invoked by user TAP gesture.的错误,该API的调用是放着bindtap事件中调用的,在手机上测试没有问题,但在开发工具里面会报错,但在modal里面调用的话则可以正常调起订阅消息界面。
3 个回答
加粗
标红
插入代码
插入链接
插入图片
上传视频
问题已解决,原因是因为把requestSubscribeMessage放在了Promise的then方法里面处理了,requestSubscribeMessage必须是在bingtap的事件里面来处理,但不知为何手机上在then方法里处理可以通过
你好,麻烦通过点击下方“反馈信息”按钮,提供出现问题的。
用户发生点击行为或者发起支付回调后,才可以调起订阅消息界面,报错是说唤起方式不正确。代码贴出来看一下。
报错信息是必须由用户触发弹出订阅消息框,可以参考下面代码
wx.showModal({ title: '提交成功', content: '是否接收审核通知消息?', showCancel: true, cancelText: '不需要', confirmText: '需要', success() { wx.requestSubscribeMessage({ tmplIds: ['TODO-id'], success(res) { console.log(res); //TODO: 提交成功 redirect }, fail(res) { console.log(res); } }); } });
关注后,可在微信内接收相应的重要提醒。
请使用微信扫描二维码关注 “微信开放社区” 公众号
问题已解决,原因是因为把requestSubscribeMessage放在了Promise的then方法里面处理了,requestSubscribeMessage必须是在bingtap的事件里面来处理,但不知为何手机上在then方法里处理可以通过
用户发生点击行为或者发起支付回调后,才可以调起订阅消息界面,报错是说唤起方式不正确。代码贴出来看一下。
报错信息是必须由用户触发弹出订阅消息框,可以参考下面代码
wx.showModal({ title: '提交成功', content: '是否接收审核通知消息?', showCancel: true, cancelText: '不需要', confirmText: '需要', success() { wx.requestSubscribeMessage({ tmplIds: ['TODO-id'], success(res) { console.log(res); //TODO: 提交成功 redirect }, fail(res) { console.log(res); } }); } });