264 lines
9.9 KiB
JavaScript
264 lines
9.9 KiB
JavaScript
var num = $('#num'),
|
||
wpContent = $('.wxPayContent'),
|
||
shade = $('.shade'),
|
||
$content = $('.pop .content'),
|
||
cancel = $('#cancel'),
|
||
confirm = $('#confirm'),
|
||
api = locateJudge(),
|
||
$pop = $('.pop'),
|
||
lock = false;
|
||
let payBase_url = '/wx/submitPay?';
|
||
// payBase_url = 'https://api.pekolive.com/wx/submitPay?';
|
||
|
||
$(function () {
|
||
let list_url = api + '/chargeprod/list?channelType=1'
|
||
// list_url = 'http://120.79.211.243/chargeprod/list?channelType=1'
|
||
let locateObj = getQueryString();
|
||
// getOpenId();
|
||
let open = locateObj.openId;
|
||
// 获取现在头部链接
|
||
var url = window.location.href;
|
||
var fail_url = url.split('index.html')[0] + 'failed.html';
|
||
if (EnvCheck() == 'test') {
|
||
var vConsole = new VConsole();
|
||
}
|
||
function mess(str) {
|
||
$('.pop1 .message_').html(str);
|
||
$('.pop1').fadeIn(100)
|
||
}
|
||
var main = {
|
||
init: function () {
|
||
this.getData();
|
||
this.eventRegister();
|
||
},
|
||
getData: function () {
|
||
$.ajax({
|
||
type: 'GET',
|
||
url: list_url,
|
||
asyc: true,
|
||
success: function (res) {
|
||
if (res.code == 200) {
|
||
res.data = rebuildData(res.data);
|
||
renderList(res.data);
|
||
sub_btn = $('.charge');
|
||
arr = res.data;
|
||
}
|
||
},
|
||
error: function (res) { }
|
||
});
|
||
},
|
||
|
||
eventRegister: function () {
|
||
//关闭弹窗
|
||
$('.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 () {
|
||
$pop.toggle();
|
||
window.location.href = window.location.href + '?timestamp=' + (new Date()).valueOf();
|
||
});
|
||
$('.wxPayContent').on('click', 'li', function () {
|
||
var regs = /bottonacyive/;
|
||
if (lock) return;
|
||
lock = !lock;
|
||
var charge = $(this).attr('_charge');//传到后台获取用户是否存在的字符串的参数
|
||
console.log(charge)
|
||
var reg = /^[0-9]*$/, //输入框的正则匹配
|
||
_num = num.val(); //获取输入框的值
|
||
index = $(this).data('index');
|
||
// console.log(index);
|
||
// var index = $(this).index(); //获取当前点击的标签index
|
||
price = arr[index].money; //获取数据的钱的值
|
||
var openId = open; //获取openId
|
||
// openId = 'oDuym1SF4JUfmgVV57fgfqELMoCw';
|
||
// console.log(openId, "第二个openId");
|
||
var param = new Object();
|
||
if (_num === '' || !reg.test(_num)) {
|
||
mess('请输入正确的手机号或者peko号');
|
||
lock = !lock;
|
||
return;
|
||
} else {
|
||
var _reg = /^[1][3,4,5,7,8][0-9]{9}$/;
|
||
// console.log(_num, charge, openId, "iiiii", lock);
|
||
if (_reg.test(_num)) {
|
||
param = {
|
||
phone: _num,
|
||
chargeProdId: charge,
|
||
openId: openId,
|
||
data: locateObj.data
|
||
};
|
||
} else {
|
||
param = {
|
||
erban_no: _num,
|
||
chargeProdId: charge,
|
||
openId: openId,
|
||
data: locateObj.data
|
||
};
|
||
}
|
||
}
|
||
|
||
$.ajax({
|
||
type: 'POST',
|
||
url: api + payBase_url,
|
||
asyc: true,
|
||
data: param,
|
||
success: function (res) {
|
||
lock = !lock;
|
||
if (res.code == 200) {
|
||
console.log(res);
|
||
var packages = res.data;
|
||
var timeStamp = packages.timestamp;//时间戳,自1970年开始
|
||
var nonceStr = packages.nonce_str;//随机串
|
||
var prepayId = packages.prepay_id;
|
||
var paySign = packages.sign;//微信签名
|
||
var nick = packages.nick;
|
||
var erbanNo = packages.erban_no;
|
||
var appId = packages.appid;
|
||
var signType = packages.sign_type;
|
||
// shade.toggle();
|
||
// $content.toggle();
|
||
console.log($pop.css('display'));
|
||
$pop.show();
|
||
$content.find('.toPerson').html('<p>向<span> ' + nick + '</span></p> <p>(peko号:<span>' + erbanNo + '</span> )</p> <p>充值 <span> ' + price + ' 元?</span></p>');
|
||
|
||
$('#confirm').on('click', function () {
|
||
num.val('');
|
||
$pop.hide();
|
||
// 微信内H5调起支付
|
||
function onBridgeReady() {
|
||
WeixinJSBridge.invoke(
|
||
'getBrandWCPayRequest', {
|
||
"appId": appId,
|
||
"timeStamp": timeStamp,
|
||
"nonceStr": nonceStr,
|
||
"package": prepayId,
|
||
"signType": signType,
|
||
"paySign": paySign
|
||
},
|
||
function (res) {
|
||
console.log(res);
|
||
if (res.err_msg == 'get_brand_wcpay_request:ok') {
|
||
// 使用以上方式判断前端返回,微信团队郑重提示:res.err_msg将在用户支付成功后返回ok,但并不保证它绝对可靠
|
||
window.location.reload();
|
||
} else if (res.err_msg == 'get_brand_wcpay_request:fail') {
|
||
wind_reload(fail_url);
|
||
} else {
|
||
wind_reload(fail_url);
|
||
}
|
||
}
|
||
);
|
||
}
|
||
console.log(WeixinJSBridge);
|
||
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();
|
||
}
|
||
});
|
||
} else if (res.code === 10108) {
|
||
$('.cancel1').fadeIn(0)
|
||
$('.check1').html("取消")
|
||
mess('为保护您的财产安全,请先在客户端进行实名认证');
|
||
} else {
|
||
mess(res.message);
|
||
}
|
||
},
|
||
error: function (res) {
|
||
lock = !lock;
|
||
mess('请链接网络试试');
|
||
console.log(res);
|
||
}
|
||
});
|
||
});
|
||
}
|
||
};
|
||
main.init();
|
||
|
||
var wxurl = encodeURIComponent(location.href.split('#')[0]);
|
||
var data = "url=" + wxurl;
|
||
console.log(data);
|
||
$.ajax({
|
||
type: 'GET',
|
||
url: '/wx/config',
|
||
data: data,
|
||
asyc: true,
|
||
success: function (data) {
|
||
if (data.code = 200) {
|
||
wx.config({
|
||
debug: false, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。
|
||
appId: data.data.appId, // 必填,公众号的唯一标识
|
||
timestamp: data.data.timestamp, // 必填,生成签名的时间戳
|
||
nonceStr: data.data.nonceStr, // 必填,生成签名的随机串
|
||
signature: data.data.signature,// 必填,签名,见附录1
|
||
jsApiList: ['hideMenuItems'] // 必填,需要使用的JS接口列表,所有JS接口列表见附录2
|
||
});
|
||
wx.error(function (res) {
|
||
console.log('微信配置失败,config error,msg:' + res);
|
||
});
|
||
}
|
||
},
|
||
error: function (res) {
|
||
console.log('config error,msg:' + res);
|
||
}
|
||
})
|
||
|
||
function getOpenId() {
|
||
$.get(api + '/getCodeCallbackMsg', { code: locateObj.code }, function (res) {
|
||
// $.get(api + 'http://www.if66.cn/getCodeCallbackMsg', { code: locateObj.code }, function (res) {
|
||
if (res.code == 200) {
|
||
open = res.data.openid;
|
||
if (!localStorage.getItem('openId') || localStorage.getItem('openId') == 'undefined' || localStorage.getItem('openId') != open) {
|
||
localStorage.setItem('openId', open);
|
||
}
|
||
}
|
||
});
|
||
}
|
||
})
|
||
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"] // 要隐藏的菜单项,只能隐藏“传播类”和“保护类”按钮
|
||
});
|
||
})
|
||
// 渲染标签数据
|
||
function renderList(data) {
|
||
console.log(data);
|
||
for (var i = 0; i < data.length; i++) {
|
||
var chargeProdId = data[i].chargeProdId;
|
||
var prodName = data[i].prodName;
|
||
var money = data[i].money;
|
||
|
||
var prodDesc = data[i].prodDesc ? data[i].prodDesc : '';
|
||
var $li = $('<li class="charge"></li>');
|
||
let str = `<li class="charge" data-index="${i}" _charge="${chargeProdId}">
|
||
<p class="content"><span class="goldimg"><img src="./images/gold.png"
|
||
alt=""></span><span class="sproutCurrency">
|
||
${prodName.replace(/^[0-9]*/, function ($) { return `<span class="price-list">${$}</span>` })}
|
||
</span><span class="RNB">¥${money}</span></p><p class="tip">${prodDesc}</p>`
|
||
// wpContent.append('<li class="charge" data-index="' + i + '" _charge="' + chargeProdId + '">' + '<p class="content"><span class="goldimg"><img src="./images/gold.png" alt=""></span><span class="sproutCurrency">' + prodName + '</span><span class="RNB">¥' + money + '</span></p>' + '<p class="tip">' + prodDesc + '</p>');
|
||
wpContent.append(str)
|
||
}
|
||
}
|
||
// 跳转制定页面的html
|
||
function wind_reload(url) {
|
||
window.location.assign(url);
|
||
}
|
||
function rebuildData(data) {
|
||
var arr = [];
|
||
for (var i = 0; i < data.length; i++) {
|
||
if (data[i].money < 10000) {
|
||
arr.push(data[i]);
|
||
}
|
||
}
|
||
return arr;
|
||
} |