老板要求写一个微信公众号页面,采用uni-app框架,不多介绍,自己去搜搜
以前没有仔细做过微信支付,现在终于把整个流程顺下来了,特此写一个文档,也希望对其他人有点帮助
首先:
npm install jweixin-module --save
//再具体的页面引入
var jweixin = require('jweixin-module');//这是uni-app封装好的微信js-sdk文件
其次config一下,请求后台数据。数据签名算法,看微信文档,说一下,包括时间戳都要用于签名
wxConfig(data) {
jweixin.config({
debug: true, //测试开一下
appId: this.payData.param.appId, // 必填,公众号的唯一标识
timestamp: this.payData.param.timeStamp, // 必填,生成签名的时间戳
nonceStr: this.payData.param.nonceStr, // 必填,生成签名的随机串
signature: this.payData.param.sign, // 必填,签名
jsApiList: ['chooseWXPay'] // 必填,需要使用的JS接口列表
});
this.beforePay();
},
然后,
beforePay() {
let self = this;
jweixin.ready(function() {
jweixin.checkJsApi({
jsApiList: ['chooseWXPay'],
success: function(res) {
self.choosePay();
}
});
});
jweixin.error(function(res) {
console.log(res, 'error');
});
},
choosePay() {
let self = this
jweixin.chooseWXPay({
timestamp: this.payData.param.timeStamp,
nonceStr: this.payData.param.nonceStr,
package: this.payData.param.package,
signType: this.payData.param.signType,
paySign: this.payData.param.sign,
success: function(res) {
self.userRechargeInfo()
}
});
},
//self.userRechargeInfo() 函数就是支付之后查询状态的函数,剩下的随便你造