Files
peko-h5/view/peko/modules/wxPubPayCopy/js/index.js
2023-08-07 16:04:25 +08:00

264 lines
9.9 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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('请输入正确的手机号或者piko号');
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>(piko号<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;
}