// 点击了点击购买按钮
async handlePurchase() {
const vm = this
// 获取选中的套餐信息,用的是axios的post方法,因此要包装一下params
const index = this.activeIndex
const currentItem = this.rechargeOptionData[index]
const params = new URLSearchParams()
params.append('mall_id', currentItem.mall_id)
// 交互,这里的request是自己封装的axios
const res = await request.post('/createOrder', params)
// console.log(res)
if(res.data.status) {
if (typeof WeixinJSBridge == "undefined") {
if (document.addEventListener) {
document.addEventListener('WeixinJSBridgeReady', vm.jsApiCall, false)
} else if (document.attachEvent) {
document.attachEvent('WeixinJSBridgeReady', vm.jsApiCall)
document.attachEvent('onWeixinJSBridgeReady', vm.jsApiCall)
}
} else {
this.jsApiCall(res.data.info);
} else {
// 使用了vue-toast
this.$toasted.show(res.data.msg, {
position: 'top-center',
duration: 3000
})
}
}
},
// 调用微信JS api 支付
jsApiCall(json) {
WeixinJSBridge.invoke(
'getBrandWCPayRequest',
json,
function(res){
WeixinJSBridge.log(res.err_msg);
if(res.err_msg === "get_brand_wcpay_request:ok"){
// 使用以上方式判断前端返回,微信团队郑重提示:res.err_msg将在用户支付成功后返回ok,但并不保证它绝对可靠。
this.$toasted.show(res.err_code + res.err_desc + res.err_msg, {
position: 'top-center',
duration: 3000
})
} else{
//显示错误信息
this.$toasted.show(res.err_code + res.err_desc + res.err_msg, {
position: 'top-center',
duration: 3000
})
}
}
)
}
vue页面在微信公众号调用支付接口
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...