前提
小程序开发过程中,使用消息订阅功能。
问题
场景一:再注册成功之后进行消息订阅功能。
这里消息订阅功能写在接口请求成功的方法里面。
但是项目运行起来,消息订阅功能并没有被调用起来。
并且还会报错,显示用户拒绝。
经过查询,原来消息订阅功能只能在点击方法里面使用,也就是说在接口回调里面是无法响应的。
解决
// 取消订单
onCancel(e:any) {
// 接口请求
APP.orderCancel(params)
.then((result:any) => {
// 消息订阅
that.getMessage()
})
},
// 消息订阅
getMessage(){
wx.requestSubscribeMessage({
tmplIds: [APP.WX_cancelIds], // 消息订阅模版ID,在微信公众平台申请
success: function success(res) {
var strObj = JSON.stringify(res);
if (strObj.indexOf('accept') === -1) {
console.log('用户拒绝');
} else {
// FN.Toast('您已设置了提醒');
}
}
});
}