收藏
回答

微信开发者工具中调试wx.requestSubscribeMessage时报错,手机上测试正常。

框架类型 问题类型 操作系统 工具版本
小程序 Bug Windows 1.02.1911180

微信开发者工具调试wx.requestSubscribeMessage的时候,会报requestSubscribeMessage:fail can only be invoked by user TAP gesture.的错误,该API的调用是放着bindtap事件中调用的,在手机上测试没有问题,但在开发工具里面会报错,但在modal里面调用的话则可以正常调起订阅消息界面。

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

3 个回答

  • 万千
    万千
    星期二 14:12

    问题已解决,原因是因为把requestSubscribeMessage放在了Promise的then方法里面处理了,requestSubscribeMessage必须是在bingtap的事件里面来处理,但不知为何手机上在then方法里处理可以通过

    星期二 14:12
    赞同
    回复
  • 十年
    十年
    星期二 13:33

    用户发生点击行为或者发起支付回调后,才可以调起订阅消息界面,报错是说唤起方式不正确。代码贴出来看一下。

    星期二 13:33
    赞同
    回复
  • 维她命系
    维她命系
    星期二 13:29

    报错信息是必须由用户触发弹出订阅消息框,可以参考下面代码

    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);
                }
            });
        }
    });
    
    星期二 13:29
    赞同
    回复
登录 后发表内容
问题标签