import wx from 'weixin-js-sdk'
export function pay(signInfo, payData,callback,errorCallBack?) {
  wx.config({
    debug: false, // 开启调试模式,调用的所有api的返回值会在客户端alert出来，若要查看传入的参数，可以在pc端打开，参数信息会通过log打出，仅在pc端时才会打印。
    appId: signInfo.appId, // 必填，公众号的唯一标识
    timestamp: signInfo.timestamp, // 必填，生成签名的时间戳
    nonceStr: signInfo.nonceStr, // 必填，生成签名的随机串
    signature: signInfo.signature, // 必填，签名
    jsApiList: ['checkJsApi', 'chooseWXPay'] // 必填，需要使用的JS接口列表
  })

  wx.ready(() => {
    wx.checkJsApi({
      jsApiList: ['chooseWXPay'],
      success: function () {
        wx.chooseWXPay({
          // 支付签名时间戳，注意微信jssdk中的所有使用timestamp字段均为小写。但最新版的支付后台生成签名使用的timeStamp字段名需大写其中的S字符
          // appId: payData.appId,
          timestamp: payData.timeStamp, // 必填，生成签名的时间戳
          nonceStr: payData.nonceStr, // 必填，生成签名的随机串
          package: payData.package,
          signType: payData.signType,
          paySign: payData.paySign, // 必填，签名
          success: function (res) {  // 支付成功后的回调函数
            console.log('支付成功' + res)
            if (callback) {
              callback()
            }
          },
          fail: function (reg) {
            console.log(JSON.stringify(reg))
            if (errorCallBack) {
              errorCallBack()
            }
          }
        })
      },
      fail: function (res) {
        console.log(JSON.stringify(res))
        if (errorCallBack) {
          errorCallBack()
        }
      }
    })

  })

  wx.error(err => {
    console.log(JSON.stringify(err))
    if (errorCallBack) {
      errorCallBack()
    }
  })
}
