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); }