const wx = require('weixin-js-sdk'); export default { wexinPay(data, jumpUrl) { return new Promise(r => { wx.config({ debug: false, appId: data.appId, timestamp: data.timeStamp, nonceStr: data.nonceStr, signature: data.paySign, jsApiList: ['chooseWXPay'] }); wx.ready(() => { wx.chooseWXPay({ timestamp: data.timeStamp, //这个字段是为字符串后端返回时需检查 nonceStr: data.nonceStr, package: data.packageValue, signType: data.signType, paySign: data.paySign, success(res) { r({ code: 0, msg: "成功" }); }, cancel() { r({ code: 1, msg: "取消" }); }, fail(err) { r({ code: 2, msg: err.errMsg.split(':')[1] || '支付失败!' }); }, // 无论失败成功都会执行 complete(e) { // e.errMsg三种状态 1.chooseWXPay:ok 支付成功 2: chooseWXPay:cancel 支付取消 3:chooseWXPay:fail 支付失败 if (e.errMsg === 'chooseWXPay:ok') { if (jumpUrl) { window.location.href = jumpUrl } else { window.location.reload() } } } }); }); wx.error(function(err) { r({ code: 2, msg: '支付失败!' }); }); }) } }