参考文档:https://developers.weixin.qq.com/miniprogram/dev/api/open-api/redpackage/wx.showRedPackage.html
let tag = 0;
Page({
data: {
receiveUrl: ''
},
onLoad: function (options) {
let that = this;
if (options && options.receiveUrl) {
that.setData({
receiveUrl: decodeURIComponent(options.receiveUrl)
})
} else {
console.error('缺失参数...');
console.log(options);
return;
}
setTimeout(function () {
if (wx.showRedPackage) {
wx.showRedPackage({
url: that.data.receiveUrl,
success: function () {
console.log('进入领取红包页面');
tag = 1;
},
fail: function (err) {
console.log('进入红包封面展示页面失败');
console.log(that.data.receiveUrl);
console.error(JSON.stringify(err));
if (err.errMsg === 'showRedPackage:fail url is invalid') {
wx.showModal({
title: '',
content: '红包封面链接无效',
showCancel: false,
success: res => {
if (res.confirm) {
wx.navigateBack();
}
}
})
}
}
})
} else {
wx.showModal({
title: '提示',
content: '当前微信版本过低,无法使用该功能,请升级到最新微信版本后重试。'
})
}
}, 200)
},
onShow: function () {
console.log('onShow');
if (tag === 1) {
wx.navigateBack();
tag = 0;
}
}
});
ios调用小程序时,只有删掉小程序时才可以调用成功,需要加个延迟定时器可解决此问题