微信开发者工具中调试wx.requestSubscribeMessage时报错,手机上测试正常。
微信开发者工具调试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);
}
});
}
});