\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;

}