uni-app开发微信小程序唤起订阅消息
项目要求在景点打卡之后唤起订阅消息(每次发布打卡都唤起一次)效果图:开发步骤:1:微信公众平台登录你的小程序后台。2:选择“订阅消息”。3:在公共模板库中选择模板并提交选用,在“我的模板”中就可以看见你的模板了。注意:uni-app开发调用:uni.requestSubscribeMessage微信开发调用:wx.requestSubscribeMessage 唤起订阅消息弹窗uni.upload
·
项目要求在景点打卡之后唤起订阅消息(每次发布打卡都唤起一次)
效果图:
开发步骤:
1:微信公众平台登录你的小程序后台。
2:选择“订阅消息”。
3:在公共模板库中选择模板并提交选用,在“我的模板”中就可以看见你的模板了。
注意:
uni-app开发调用:uni.requestSubscribeMessage
微信开发调用:wx.requestSubscribeMessage 唤起订阅消息弹窗
uni.uploadFile({
url: oskey.data.host + '/',
filePath: item.url,
name: 'file',
formData: {
key: oskey.data.dir + src,
policy: oskey.data.policy,
OSSAccessKeyId: oskey.data.accessid,
signature: oskey.data.signature,
},
success: (res) => {
if (res.statusCode == 204) {
uni.requestSubscribeMessage({
tmplIds: ['JMQ_2q2GYl6vp2rZQXD65pqy99TUUVG5Z-h6nI'],
complete: (res) => {
onsole.log(res,'999');
}
})
}
},
fail: err => {
reject(err)
}
});
这是我直接在发布成功之后调用唤起弹窗会报错:fail can only be invoked by user TAP gesture
原因据材料显示是微信版本过低,低版本订阅消息必须在点击事件中触发,所以我把唤起订阅消息写在了提示弹窗的点击事件中
解决方法:
uni.uploadFile({
url: oskey.data.host + '/',
filePath: item.url,
name: 'file',
formData: {
key: oskey.data.dir + src,
policy: oskey.data.policy,
OSSAccessKeyId: oskey.data.accessid,
signature: oskey.data.signature,
},
success: (res) => {
if (res.statusCode == 204) {
this.popupindow() //唤起弹窗事件
}
},
fail: err => {
reject(err)
}
});
popupWindow(){
uni.showModal({
title: '温馨提示',
content: '打卡有奖活动截止日将向您发送中奖通知',
confirmText: "同意",
cancelText: "拒绝",
success: function(res) {
if (res.confirm) {
uni.requestSubscribeMessage({
tmplIds: ['JMQ_2q2GYl6WxQXD65pqy99TUUVG5Z-h6nI'],
complete: (res) => {
console.log(res,'999');
}
})
} else if (res.cancel) {
///显示第二个弹说明一下
wx.showModal({
title: '温馨提示',
content: '拒绝后您将无法收到中奖消息',
confirmText: "知道了",
showCancel: false,
success: function(res) {
}
});
}
}
})
更多推荐
已为社区贡献8条内容
所有评论(0)