wpfw_ewei_shopv2/plugin/pc-old/biz/member/recharge.js
2023-02-14 19:57:32 +08:00

247 lines
5.5 KiB
JavaScript

define(['core', 'tpl'],
function(core, tpl) {
var modal = {
minimumcharge: 0,
wechat: 0,
alipay: 0,
couponid: 0,
coupons: []
};
modal.init = function(params) {
modal.minimumcharge = params.minimumcharge;
modal.wechat = params.wechat;
modal.alipay = params.alipay;
window.couponid = modal.couponid;
$('#money').bind('input propertychange',
function() {
modal.hideCoupon();
$('#btn-next').addClass('disabled').show(),
$('.btn-pay').hide();
if ($(this).isNumber() && !$(this).isEmpty() && parseFloat($(this).val()) > 0) {
$('#btn-next').removeClass('disabled')
}
});
$('#btn-next').click(function() {
var money = $.trim($('#money').val());
var showpay = false;
if ($(this).attr('submit')) {
return
}
if (!$.isEmpty(money)) {
if ($.isNumber(money) && parseFloat(money) > 0) {
if (modal.minimumcharge > 0) {
if (parseFloat(money) < modal.minimumcharge) {
FoxUI.toast.show('最低充值金额为' + modal.minimumcharge + '元!');
return
} else {
showpay = true
}
} else {
showpay = true
}
}
}
if (!showpay) {
return
}
$(this).attr('submit', '1');
core.json('sale/coupon/util/query', {
money: money,
type: 1
},
function(rjson) {
if (rjson.status != 1) {
$('#btn-next').removeAttr('submit');
core.tip.show(rjson.result);
return
}
if (rjson.result.coupons.length > 0) {
$('#coupondiv').show().find('.badge').html(rjson.result.coupons.length).show();
$('#coupondiv').find('.text').hide();
$('#coupondiv').click(function() {
require(['biz/sale/coupon/picker'],
function(picker) {
picker.show({
couponid: modal.couponid,
coupons: rjson.result.coupons,
onCancel: function() {
window.couponid = modal.couponid = 0;
$('#coupondiv').find('.fui-cell-label').html('优惠券');
$('#coupondiv').find('.fui-cell-info').html('')
},
onSelected: function(data) {
$('#coupondiv').find('.fui-cell-label').html('已选择');
$('#coupondiv').find('.fui-cell-info').html(data.couponame);
window.couponid = modal.couponid = data.id
}
})
})
})
} else {
modal.hideCoupon()
}
$('#btn-next').removeAttr('submit').hide();
if (core.ish5app()) {
$('#btn-wechat').show();
$('#btn-alipay').show();
return
}
if (modal.wechat) {
$('#btn-wechat').show()
}
if (modal.alipay) {
$('#btn-alipay').show()
}
},
true, true)
});
$(document).on('click', '#btn-wechat',
function() {
if ($('.btn-pay').attr('submit')) {
return
}
var money = $('#money').val();
if (money <= 0) {
FoxUI.toast.show('充值金额必须大于0!');
return
}
if (!$('#money').isNumber()) {
FoxUI.toast.show('请输入数字金额!');
return
}
$('.btn-pay').attr('submit', 1);
core.json('member/recharge/submit', {
type: 'wechat',
money: money,
couponid: modal.couponid
},
function(rjson) {
if (rjson.status != 1) {
$('.btn-pay').removeAttr('submit');
FoxUI.toast.show(rjson.result.message);
return
}
if (core.ish5app()) {
appPay('wechat', rjson.result.logno, rjson.result.money, true);
return
}
var wechat = rjson.result.wechat;
if (wechat.weixin) {
WeixinJSBridge.invoke('getBrandWCPayRequest', {
'appId': wechat.appid ? wechat.appid: wechat.appId,
'timeStamp': wechat.timeStamp,
'nonceStr': wechat.nonceStr,
'package': wechat.package,
'signType': wechat.signType,
'paySign': wechat.paySign
},
function(res) {
if (res.err_msg == 'get_brand_wcpay_request:ok') {
core.json('member/recharge/wechat_complete', {
logid: rjson.result.logid
},
function(pay_json) {
if (pay_json.status == 1) {
FoxUI.toast.show('充值成功!');
location.href = core.getUrl('member');
return
}
FoxUI.toast.show(pay_json.result.message);
$('.btn-pay').removeAttr('submit')
},
true, true)
} else if (res.err_msg == 'get_brand_wcpay_request:cancel') {
$('.btn-pay').removeAttr('submit');
FoxUI.toast.show('取消支付')
} else {
core.json('member/recharge/submit', {
type: 'wechat',
money: money,
couponid: modal.couponid,
jie: 1
},
function(wechat_jie) {
modal.payWechatJie(wechat_jie.result, money)
},
false, true)
}
})
}
if (wechat.weixin_jie || wechat.jie == 1) {
modal.payWechatJie(rjson.result, money)
}
},
true, true)
});
$(document).on('click', '#btn-alipay',
function() {
if ($('.btn-pay').attr('submit') && !core.ish5app()) {
return
}
if (money <= 0) {
FoxUI.toast.show('充值金额必须大于0!');
return
}
var money = $('#money').val();
if (!$('#money').isNumber()) {
FoxUI.toast.show('请输入数字金额!');
return
}
$('.btn-pay').attr('submit', 1);
core.json('member/recharge/submit', {
type: 'alipay',
money: money,
couponid: modal.couponid
},
function(rjson) {
if (rjson.status != 1) {
$('.btn-pay').removeAttr('submit');
FoxUI.toast.show(rjson.result.message);
return
}
if (core.ish5app()) {
appPay('alipay', rjson.result.logno, money, '1', null, true)
} else {
var url = decodeURIComponent(rjson.result.alipay.url);
core.showIframe(url)
}
},
true, true)
})
};
modal.payWechatJie = function(res, money) {
var img = "http://paysdk.weixin.qq.com/example/qrcode.php?data=" + res.wechat.code_url;
$('#qrmoney').text(money);
$('#btnWeixinJieCancel').unbind('click').click(function() {
$('.btn-pay').removeAttr('submit');
clearInterval(settime);
$('.order-weixinpay-hidden').hide()
});
$('.order-weixinpay-hidden').show();
var settime = setInterval(function() {
core.json('member/recharge/wechat_complete', {
logid: res.logid
},
function(pay_json) {
if (pay_json.status == 1) {
location.href = core.getUrl('member');
return
}
},
false, true)
},
1000);
$('.verify-pop').find('.close').unbind('click').click(function() {
$('.order-weixinpay-hidden').hide();
$('.btn-pay').removeAttr('submit');
clearInterval(settime)
});
$('.verify-pop').find('.qrimg').attr('src', img).show()
};
modal.hideCoupon = function() {
$('#coupondiv').hide();
$('#coupondiv').find('.badge').html('0').hide();
$('#coupondiv').find('.text').show()
};
return modal
});