在h5引入微信的jsSdk,<script src="https://res.wx.qq.com/open/js/jweixin-1.5.0.js"></script>
在页面初始化的时候调用wx.config: getSignPackage:function(){
$.ajax({
url:'<?php echo base_url('order/getSignPackage')?>',
type: 'get',
dataType: 'json',
data: {},
success:function (res) {
if (res.status == 1) {
var appParams = res.data
console.log(appParams,'appParams');
wx.config({
debug: true,
appId: appParams.appId,
timestamp: appParams.timestamp,
nonceStr: appParams.nonceStr,
signature: appParams.signature,
jsApiList: [
'openBusinessView',
]
});
wx.error(function(res){
// config信息验证失败会执行error函数,如签名过期导致验证失败,具体错误信息可以打开config的debug模式查看,也可以在返回的res参数中查看,对于SPA可以在这里更新签名。
console.log(res,'config信息验证失败会执行error函数');
});
}
},
})
},
点击确认收货按钮,调用微信确认收货组件 // wx.ready(function() {
if (wx.openBusinessView) {
wx.openBusinessView({
businessType: 'weappOrderConfirm',
extraData: {
merchant_trade_no: order_id,
},
success: function(res) {
console.log(res,'成功的res');
that.goConfirmOrder()
},
fail: function(err) {
console.error(err,'失败的');
}
});
}
})
进入页面时提示errMsg: "config:fail,invalid signature",,这是什么问题引起的,该如何排查及修改?
1.进入报错是签名计算失效或者错误
2.这个收货组件仅支持小程序原生调用 H5引入的那个SDK 没有这个API
2的解决方案可以修改为 H5点击调回小程序原生某个页面以后 在吊起这个收货组件 之后就可以正常使用了
h5不支持使用wx.openBusinessView