let num = $('#num'),
wpContent = $('.wxPayContent'),
shade = $('.shade'),
$content = $('.pop .content'),
cancel = $('#cancel'),
confirm = $('#confirm'),
api = locateJudge(),
$pop = $('.pop'),
lock = false;
let locateObj = getQueryString();
let browser = checkVersion();
const productUrl = 'https://api.pekolive.com'; // 正式环境
const testUrl = 'https://beta.api.pekolive.com'; // 测试环境
//获取域名前缀
function getUrlPrefix() {
if (!EnvCheck()) return undefined;
return EnvCheck() === 'live' ? productUrl : testUrl;
}
const urlPrefix = getUrlPrefix()
const toastMsg = (content = '操作完成', time = 2) => {
layer.open({
content,
skin: 'msg',
time
});
}
const showLoading = () => {
layer.open({ type: 2, shadeClose: false });
}
const hideLoading = () => {
layer.closeAll();
}
if (EnvCheck() == 'test') {
let vConsole = new VConsole();
}
//弹窗的函数
function mess(str) {
$('.pop1 .message_').html(str);
$('.pop1').fadeIn(100)
}
//payType = "wx_pub2_h5" =>微信支付参数 : payType = "alipay_wap" =>支付宝支付参数
//defaultPayH5 => 决定H5支付页面的payType,由后台配置
let payType = "wx_pub2_h5" //默认微信选中
let cerruntIndex = 0 //选中的支付方式的索引
let defaultPayH5 //不再由其配置,貌似已经没用了
let chargeList = [] //微信充值列表
let aLiChargeList = [] //支付宝充值列表(高额)
const getChargeList = () => {
showLoading();
$.ajax({
type: 'GET',
url: urlPrefix + '/chargeprod/listV2?channelType=1&position=web',
success: function (res) {
hideLoading()
if (res.code == 200) {
// defaultPayH5 = res.data.defaultPayH5
chargeList = res.data.list
const {bigList} = res.data
aLiChargeList = chargeList.concat(bigList)
//defaultPayH5:1是支付宝,2是微信,微信支付要过滤掉money大于9998的,支付宝不用过滤
// rebuilidList = rebuildData();
renderList(chargeList);
}
if (browser.weixin) {
if(locateObj.code){
getOpenId()
// if(browser.ios){
// window.location.href = window.location.href.split('?')[0]
// }else{
// getOpenId()
// }
}
// if(browser.ios){
// $('.tips-tit').fadeIn(30);
// }
return
}else{
$('.pay-type').css('display', 'block')
}
},
error(){
hideLoading();
toastMsg('網絡錯誤');
}
});
}
//渲染充值列表
const renderList = (data) => {
let str = '';
for (let i = 0; i < data.length; i++) {
let chargeProdId = data[i].chargeProdId;
let prodName = data[i].prodName;
let money = data[i].money;
let prodDesc = data[i].prodDesc ? data[i].prodDesc : '';
let $li = $('
');
str += `
${prodName.replace(/^[0-9]*/, function ($) { return `${$}` })}
¥${money}
${prodDesc}
`
// wpContent.append('' + '
' + prodName + '¥' + money + '
' + '' + prodDesc + '
');
// wpContent.append(str)
}
wpContent.html(str)
}
//获取openid
const getOpenId = () => {
$.ajax({
type: 'GET',
url: urlPrefix + '/getCodeCallbackMsgFroPub2',
data: {
code: locateObj.code
},
success(res){
if(res.code === 200){
let data = res.data;
window.sessionStorage.setItem('user_openid', data.openid);
window.location.href = window.location.href.split('?')[0];
}else{
toastMsg(res.message)
}
},
error(){
toastMsg('網絡錯誤');
}
})
}
//外部浏览器获取订单信息
const getPaymentInfo = (params) => {
$.ajax({
type: 'POST',
url: urlPrefix + '/charge/apply2New?app=piko',
data: params,
success: function (res) {
lock = !lock;
if (res.code == 200) {
let packages = res.data;
let nick = packages.nick;
let erbanNo = packages.erbanNo;
$pop.show();
$content.find('.toPerson').html('向 ' + nick + '
(piko号:' + erbanNo + ' )
充值 ' + price + ' 元?
');
payInOutter(packages)
} else if (res.code === 10108) {
// $('.cancel1').fadeIn(0)
// $('.check1').html("取消")
// mess('为保护您的财产安全,请先在客户端进行实名认证');
$('.cancel1').fadeOut(0)
$('.pop1 .content').addClass('shiming')
mess('为了保护财产安全,请前往app【我的】- 【实名认证】进行实名认证
');
} else {
$('.pop1 .content').removeClass('shiming')
mess(res.message);
}
},
error: function (res) {
lock = !lock;
$('.pop1 .content').removeClass('shiming')
mess('请链接网络试试');
}
});
}
//外部浏览器唤起 微信支付/支付宝支付
const payInOutter = (packages) => {
$('#confirm').on('click', () => {
num.val('');
$pop.hide();
$('#confirm').unbind('click')
window.location.href = packages.payInfo.mweb_url
})
}
//微信浏览器获取订单信息
const submitWxPayment = (params) => {
$.ajax({
type: 'POST',
url: urlPrefix + '/wx/submitPayForPub2?app=piko',
data: params,
success: function (res) {
lock = !lock;
if (res.code == 200) {
console.log(res);
let packages = res.data;
// var timeStamp = packages.timestamp;//时间戳,自1970年开始
// var nonceStr = packages.nonce_str;//随机串
// var prepayId = packages.prepay_id;
// var paySign = packages.sign;//微信签名
let nick = packages.nick;
let erbanNo = packages.erban_no;
// var appId = packages.appid;
// var signType = packages.sign_type;
// shade.toggle();
// $content.toggle();
$pop.show();
$content.find('.toPerson').html('向 ' + nick + '
(piko号:' + erbanNo + ' )
充值 ' + price + ' 元?
');
payInWxBrowser(packages)
} else if (res.code === 10108) {
// $('.cancel1').fadeIn(0)
// $('.check1').html("取消")
// mess('为保护您的财产安全,请先在客户端进行实名认证');
$('.cancel1').fadeOut(0)
$('.pop1 .content').addClass('shiming')
mess('为了保护财产安全,请前往app【我的】- 【实名认证】进行实名认证
');
} else {
$('.pop1 .content').removeClass('shiming')
mess(res.message);
}
},
error: function (res) {
lock = !lock;
$('.pop1 .content').removeClass('shiming')
mess('请链接网络试试');
}
})
}
//微信浏览器唤起支付
const payInWxBrowser = (packages) => {
$('#confirm').on('click', function () {
num.val('');
$pop.hide();
if($.isEmptyObject(packages)){
toastMsg('出错了,请刷新页面重试');
return;
}
const { realPayChannel } = packages;
if( realPayChannel === 'hui_fu_bao'){
const { redirectUrl } = packages;
window.location.href = redirectUrl
}else{
const { appid, timestamp, nonce_str, prepay_id, sign_type, sign } = packages
function onBridgeReady() {
WeixinJSBridge.invoke(
'getBrandWCPayRequest', {
"appId": appid,
"timeStamp": timestamp,
"nonceStr": nonce_str,
"package": prepay_id,
"signType": sign_type,
"paySign": sign
},
function (res) {
window.location.reload();
}
);
}
if (typeof WeixinJSBridge == 'undefined') {
if (document.addEventListener) {
document.addEventListener('WeixinJSBridgeReady', onBridgeReady, false);
} else if (document.attachEvent) {
document.attachEvent('WeixinJSBridgeReady', onBridgeReady);
document.attachEvent('onWeixinJSBridgeReady', onBridgeReady);
}
} else {
onBridgeReady();
}
}
});
}
$(function () {
setTimeout(() => {
getChargeList();
$('.shade-mask').show();
$('body').css('overflow', 'hidden')
}, 100);
let main = {
init: function () {
// this.getData();
this.eventRegister();
},
eventRegister: function () {
//切换支付类型,是支付宝与微信
$('.pay-type .type').on('click', 'div', function () {
let index = $(this).index();
if(index === cerruntIndex) return;
cerruntIndex = index;
$(this).addClass('active').siblings().removeClass('active');
if($(this).hasClass('wxpay')){
payType = "wx_pub2_h5";
renderList(chargeList);
}else{
$('.alipay .tip').css({
top: '-1px',
right: '-1px'
})
payType = "alipay_wap";
renderList(aLiChargeList)
}
})
//关闭弹窗
$('.btn').on('click', function(){
$('.shade-mask').hide();
$('body').css('overflow', 'auto')
})
$('.check1').on('click', function () {
$('.pop1').fadeOut(100);
})
$('.cancel1').on('click', function () {
$('.pop1').fadeOut(100);
window.location.href = 'https://www.zhongjialx.com/'
})
$('#cancel').on('click', function () {
$('#confirm').unbind('click')
$pop.toggle();
// window.location.href = window.location.href + '?timestamp=' + (new Date()).valueOf();
});
// $('.failed').on('click', function () {
// $('.pay-reminders').fadeOut(90)
// })
// $('.pay-success').on('click', function () {
// $('.pay-reminders').fadeOut(90)
// })
//点击li,选择要充值的金额,点击出现 向***充值***元 的弹窗
$('.wxPayContent').on('click', 'li', function () {
if (lock) return;
lock = !lock;
let charge = $(this).attr('_charge');
let reg = /^[0-9]*$/, //输入框的正则匹配
_num = num.val().trim(); //获取输入框的值
index = $(this).data('index');
price = aLiChargeList[index].money; //获取数据的钱的值
let params = {
chargeProdId: charge,
payChannel: payType,
successUrl: urlPrefix + '/peko/modules/payment_new/index.html'
};
if (_num === '' || !reg.test(_num)) {
$('.pop1 .content').removeClass('shiming')
mess('请输入正确的手机号或者piko号');
lock = !lock;
return;
} else {
let _reg = /^[1][3,4,5,7,8][0-9]{9}$/;
_reg.test(_num) ? params['phone'] = _num : params['erbanNo'] = _num
}
if(browser.weixin){
// if(browser.ios){
// toastMsg('ios不支持公众号支付');
// return;
// }
let openid = window.sessionStorage.getItem('user_openid');
if(!openid){
toastMsg('页面未授权,请在公众号菜单进入本页面');
return;
}
params['openId'] = openid;
if(params['phone']){
params['phone'] = _num;
}else{
params['erban_no'] = _num;
}
delete params['erbanNo'];
delete params.payChannel;
submitWxPayment(params);
}else{
getPaymentInfo(params)
}
});
}
};
main.init();
})
wx.ready(function () {
//2.3 隐藏不用的按钮
// alert("隐藏不用的按钮");
wx.hideMenuItems({
menuList: ["menuItem:share:timeline", "menuItem:copyUrl", "menuItem:share:appMessage", "menuItem:share:qq", "menuItem:share:weiboApp", "menuItem:favorite", "menuItem:share:facebook", "menuItem:share:QZone", "menuItem:editTag", "menuItem:delete", "menuItem:copyUrl", "menuItem:originPage", "menuItem:readMode", "menuItem:openWithQQBrowser", "menuItem:openWithSafari", "menuItem:share:email", "menuItem:share:brand"] // 要隐藏的菜单项,只能隐藏“传播类”和“保护类”按钮
});
})
// 跳转制定页面的html
function wind_reload(url) {
window.location.assign(url);
}