pay2.js 5.34 KB
var t = getApp(), n = t.request;

module.exports = {
    wx_paying:0,
    url: "/api/weshop/plus/create/plus/order",
    set_pay_url:function (url){
      this.url=url;//让链接地址进行赋值
    },
    set_fir(){
       this.wx_paying=0;
    },
    //-- createRechargeOrder  create/plus/order --
    pay: function(dd, succ,fail) {
        if(this.wx_paying) return false;
        this.wx_paying=1;
        wx.showLoading();
        var i = this;
        n.post(this.url, {
            data: dd,
            success: function(t) {
                wx.hideLoading();
                if(t.data.code==0){
                    if(t.data.data=="升级成功"){
                        "function" == typeof succ && succ(1);
                    }else{

                        if(t.data.data.is_fuioupay){
                            const plugin = requirePlugin('fuiou-pay')
                            getApp().globalData.no_clear=1;
                            getApp().globalData.fuiou_pay=1;

                            var paramsJson={
                                reqType:"11",//必填 01-商户模式,11-机构模式
                                reqData:t.data.data.reqData,//必填 富友加密参数
                            }
                            console.log(plugin, plugin.fuioupay)
                            plugin.fuioupay(parseInt(t.data.data.amt),paramsJson,function (res){
                                console.log(res);
                                getApp().globalData.fuiou_pay=0;
                                i.wx_paying=0;
                                "function" == typeof succ && succ();
                            },function (error){
                                console.log("插件支付错误",error);
                                //支付失败的时候
                                //getApp().confirmBox(error.code+error.message);
                                var msg='取消支付';
                                getApp().globalData.fuiou_pay=0;
                                if(error.code){
                                    msg=error.code+":"+error.message;
                                }
                                fail(msg)
                                i.wx_paying=0;
                            })
                        }else {
                            i.weixinPay(t.data.data, succ, fail);
                        }
                    }
                }else{
                    i.wx_paying=0;
                    "function" == typeof fail && fail(t.data.msg);
                }
                return false;
            },
            fail: function() {
                wx.hideLoading();
                i.wx_paying=0;
                "function" == typeof fail && fail();
            },
            failStatus: function() {
                wx.hideLoading();
                i.wx_paying=0;
                "function" == typeof fail && fail();
            }
        });
    },

    //-- 这里是专享礼包的调用 --
    pay_data:function (t,succ,fail){
        var th=this;
        var ob=t.data.data.result;
        if(!ob){
            this.set_fir();
            fail('支付参数错误');
            return false;
        }
        if(ob.is_fuioupay){
            const plugin = requirePlugin('fuiou-pay')

            var paramsJson={
                reqType:"11",//必填 01-商户模式,11-机构模式
                reqData:ob.reqData,//必填 富友加密参数
            }
            getApp().globalData.no_clear=1;
            getApp().globalData.fuiou_pay=1;


            console.log(plugin, plugin.fuioupay)
            plugin.fuioupay(parseInt(ob.amt),paramsJson,function (res){
                getApp().globalData.fuiou_pay=0;
                console.log(res);
                th.wx_paying=0;
                "function" == typeof succ && succ();
            },function (error){
                getApp().globalData.fuiou_pay=0;
                th.wx_paying=0;
                console.log("插件支付错误",error);
                //支付失败的时候
                //getApp().confirmBox(error.code+error.message);
                var msg='取消支付';
                if(error && error.code){
                    msg=error.code+":"+error.message;
                }
                fail(msg)

            })
        }else {
            this.weixinPay(ob, succ, fail);
        }
    },
    weixinPay: function(n, succ,fail) {
		if(!n){
            this.set_fir();
            return false;
        }

        var th=this;
        getApp().globalData.no_clear=1;

        wx.requestPayment({
            timeStamp: String(n.timeStamp),
            nonceStr: n.nonceStr,
            package: n.packageValue,
            signType: n.signType,
            paySign: n.paySign,
            success: function(n) {
                th.wx_paying=0;
                "function" == typeof succ && succ();
            },
            fail: function(n) {
                th.wx_paying=0;
                var msg='';
                switch (n.errMsg){
                    case "requestPayment:fail": msg="支付失败";break;
                    case "requestPayment:fail cancel": msg="您已取消支付";break;
                    default: msg="支付失败:" + n.errMsg.substr("requestPayment:fail ".length);
                }
                console.log(n);
                "function" == typeof fail && fail(msg);
            }
        });
    }
};