参考文档:https://blog.csdn.net/hahahhahahahha123456/article/details/82724549
微信官方文档:
使用uniapp写微信公众号,付款时唤起微信支付:如下:
在data中注册:
data() {
return {
can_pay: false
}
},
onLoad: function(option) {
// option为object类型,会序列化上个页面传递的参数
if (typeof WeixinJSBridge == "undefined") {
if (document.addEventListener) {
document.addEventListener('WeixinJSBridgeReady', onBridgeReady, false);
} else if (document.attachEvent) {
document.attachEvent('WeixinJSBridgeReady', onBridgeReady);
document.attachEvent('onWeixinJSBridgeReady', onBridgeReady);
}
} else {
this.onBridgeReady();
}
},
confirmBuy() {
uni.request({
url:请求地址,
method: 'post',
data: {
传递给后端的参数
},
success: (res) => {
console.log(res)
if (res.data.code === 200) {
var dt_pay = res.data.data;
console.log("can_pay", that.can_pay)
if (that.can_pay) {
WeixinJSBridge.invoke(
'getBrandWCPayRequest', {
"appId": dt_pay.appId, //公众号名称,由商户传入
"timeStamp": dt_pay.timeStamp, //时间戳,自1970年以来的秒数
"nonceStr": dt_pay.nonceStr, //随机串
"package": dt_pay.wxPackage,
"signType": dt_pay.signType, //微信签名方式
"paySign": dt_pay.paySign //微信签名
},
function(res) {
console.log('payres', res)
if (res.err_msg == "get_brand_wcpay_request:ok") {
uni.showToast({
title: '支付成功',
});
uni.navigateTo({
url: "/pages/videoList/videoList?id=" + that.id + "&grade_dept=" + that.grade_dept,
})
} else {
uni.showToast({
title: '支付异常',
});
console.log("支付异常");
}
});
} else {
alert("微信支付接口异常");
}
}
},
complete: () => {
that.disabled = false;
}
});
},
onBridgeReady() {
this.can_pay = true;
WeixinJSBridge.call('hideOptionMenu');
},