\pages\WxPay\WxPay.js
// pages/insurance/WxPay/WxPay.js
Page({
/**
* 页面的初始数据
*/
data: {
text:"",
params:null,
},
/**
* 生命周期函数--监听页面加载
*/
onLoad: function (options) {
this.wxPayFn(options);
},
/**
* 生命周期函数--监听页面初次渲染完成
*/
onReady: function () {
},
/**
* 生命周期函数--监听页面显示
*/
onShow: function () {
//console.log(this.params);
},
/**
* 生命周期函数--监听页面隐藏
*/
onHide: function () {
},
/**
* 用户点击右上角分享
*/
onShareAppMessage: function () {
},
wxPayFn:function(obj){
let _this = this;
encodeURIComponent(obj.prepay_id)
console.log(obj.paySeqNo)
wx.requestPayment({
'timeStamp': obj.timeStamp,
'nonceStr': obj.nonceStr,
'package': decodeURIComponent(obj.prepay_id),
'signType': 'MD5',
'paySign': obj.paySign,
'success': function (res) {
wx.showLoading({title: '请稍等..',mask:false,})
let timer = setTimeout(function(){
_this.queryPaymentStatus(obj.paySeqNo, timer)
},1600)
},
'fail': function (res) {
wx.showModal({
title: '温馨提示',
content:"支付失败",
showCancel: false,
success: function (res) {
if (res.confirm) {
console.log('用户点击确定')
wx.switchTab({
url: '/pages/index/index'
})
} else if (res.cancel) {
console.log('用户点击取消');
return;
}
}
})
}
})
},
queryPaymentStatus: function (paySeqNo,timer){
let _this = this;
/* 支付状态 */
let payStatus = {
SUCC: 1,
// 查询订单:支付成功
FAILD: 3 // 查询订单:支付失败
};
wx.request({
url: wx.getStorageSync('API').queryPaymentStatus,
method:"POST",
header:{
'content-type':'application/x-www-form-urlencoded'
},
dataType:"json",
success: function (result){
if (result.payStatus == payStatus.SUCC) {
let sendData = {
paySeqNo: paySeqNo,
bankSeqNo: result.bankSeqNo,
responseProtocol: 'json',
uuid: result.A_M_C_N
}
_this.ahhsInsureConfirmPolicy(sendData)
} else {
wx.hideLoading();
wx.navigateTo({
url: '/pages/paySucceed/paySucceed'
})
}
},
fail:function(err){
wx.hideLoading();
wx.navigateTo({
url: '/pages/paySucceed/paySucceed'
})
},
complete:function(){
clearTimeout(timer)
}
})
},
ahhsInsureConfirmPolicy: function (sendData){
wx.request({
url: wx.getStorageSync('API').ahhsInsureConfirmPolicy,
method:'GET',
data: sendData,
header: {
'content-type': 'application/x-www-form-urlencoded'
},
dataType: "json",
success: function (response){
},
fail:function(err){
},
complete:function(res){
wx.hideLoading();
wx.navigateTo({
url: '/pages/paySucceed/paySucceed'
})
}
})
}
})
\pages\WxPay\WxPay.wxml
<!--pages/insurance/WxPay/WxPay.wxml-->
<view class='atPay'>
<image src='/images/paying.png'></image>
</view>
/* pages/insurance/WxPay/WxPay.wxss */
.atPay{
margin: 0 auto;
text-align: center;
width: 100%;
}
.atPay image{
margin-top: 50rpx;
width: 180rpx;
height: 156rpx;
}