公司有个广告需要通过小程序内嵌H5打开报名然后调取小程序支付,再支付成功后跳转回H5的支付成功页面。
然后问题来了,在支付成功后跳转支付成功的H5页面直接空白 ???
尝试了一下把支付成功后跳转的地址换成入口地址又可以了,
换回来又跳不了,直接打开该链接又是可以访问的,
看微信的说明,webview带的参数要encodeURIComponent一下,于是加上:
let id = encodeURIComponent(app.globalData.authorizationInfo.openId)
this.setData({
url: `${this.data.optionUrl}?openId=${id}`
})
结果还是不行,后面想了下之前做公众号分享地址参数要用+号来拼接
this.setData({
url: this.data.optionUrl+'?openId'+ ${id}`
})
居然可以了,但是支付却失败了。
仔细排查了一下,发现是openId少了个=号,那么问题来了,原来导致打不开的原因是openId这个关键字导致的,改成opId就可以了
setUrl(){
let id = encodeURIComponent(app.globalData.authorizationInfo.openId)
this.setData({
url: `${this.data.optionUrl}?opId=${id}`
})
}