/*
    微信支付方法(uni-app h5)适用
    获取微信加签信息
    @param{data}:获取的微信加签
    @param{res}:成功回调
    @param{fail}:失败回调
     
    @warn:因为package为严格模式下的保留字，不能用作变量.
    @use
        wxPay({
            appId,
            timeStamp,
            nonceStr,
            signature,
            package,
            paySign
        },res=>{
            console.log('调用成功!');
        },fail=>{
            console.log('调用失败!');
        })
*/
const wx = require('jweixin-module');
const wxPay = (data, callback, errCallback) => {
	let [appId, timestamp, nonceStr, signature, packages, paySign] = [data.appId, String(data.timeStamp), data.nonceStr, data.paySign, data.package, data.paySign]

	wx.config({
        debug: false, 
        appId, // 必填，公众号的唯一标识
        timestamp, // 必填，生成签名的时间戳
        nonceStr, // 必填，生成签名的随机串
        signature, // 必填，签名，见附录1
        jsApiList: ['chooseWXPay'] // 必填，需要使用的JS接口列表，所有JS接口列表见附录2
    });

	wx.ready(function() {

		wx.chooseWXPay({
			timestamp,
			nonceStr,
			'package': packages,
			signType: 'MD5',
			paySign, // 支付签名
			success(res) {
				// 支付成功后的回调函数
				callback(res);
			},
			fail (res) {
				errCallback(res);
			}
		})
	});
	
	wx.error(function(res) {
		console.log(res)
	});
}

export default wxPay;