微信获取的加密scheme码
在pc端生成了二维码准备跳转小程序支付,微信自带的扫一扫扫描后无法跳转,手机自带的扫一扫却可以,这是为什么?
服务端生成的scheme码点击可以正常跳转,生成二维码后就不正常了
这是微信扫一扫扫出来的不正常页面

微信获取的加密scheme码
在pc端生成了二维码准备跳转小程序支付,微信自带的扫一扫扫描后无法跳转,手机自带的扫一扫却可以,这是为什么?
服务端生成的scheme码点击可以正常跳转,生成二维码后就不正常了
这是微信扫一扫扫出来的不正常页面

阿里嘎多学长整理AIGC生成,因移动端显示问题导致当前答案未能完全显示,请使用PC端查看更加详细的解答过程
你遇到的问题是微信获取的加密scheme码在PC端生成了二维码,准备跳转小程序支付,但是微信自带的扫一扫扫描后无法跳转,而手机自带的扫一扫却可以。
这是因为微信自带的扫一扫使用的是微信的内置浏览器,而不是系统的浏览器。微信的内置浏览器会对scheme码进行特殊处理,导致无法跳转。
而手机自带的扫一扫使用的是系统的浏览器,因此可以正常跳转。
解决方案是:
weixin://前缀,例如weixin://wxpay?,这样可以让微信自带的扫一扫也可以正常跳转。wx.request方法来跳转支付页面,而不是使用scheme码。代码示例:
wx.request({
url: 'https://example.com/pay',
method: 'GET',
success: function(res) {
// 跳转支付页面
}
})
这样可以避免scheme码的特殊处理问题。