var $_HelloPay = {}; var timer = null; // 风险提示弹窗 $_HelloPay.showTipsConfirm = function (options, cb) { if (timer) { clearInterval(timer); } var extraData = options.extraData || {}; var titleMap = { 2001: '风险提示', 2002: '温馨提示', 2003: extraData.popup_title || '风险提示' }; var msgMap = { 2001: '检测到异常风险行为,近期诈骗频发。请谨慎充值,防止网络诈骗。', 2002: '检测到当前充值与常用登录地不同,近期诈骗频发。请谨慎充值,防止网络诈骗。', 2003: extraData.popup_content || '请谨慎充值,防止网络诈骗。' }; // enable_close和popup_retention_time配置字段优先级高 options.canClose = +(extraData.enable_close || options.canClose); options.waitTime = +(extraData.popup_retention_time || options.waitTime || 6); var second = Number(options.waitTime); var title = titleMap[options.code] || ''; var msg = msgMap[options.code] || ''; var canClose = Number(options.canClose) === 1; // 0=不可手动关闭 1=可手动关闭 var secondText = second > 0 ? ('(' + second + 's)') : ''; var $alert = $('
'); var $wrap = $('
'); $wrap.append('
'); $wrap.append('
' + title + '
'); $wrap.append('
' + msg + '
'); $wrap.append('确定' + secondText + ''); $alert.append($wrap); $alert.appendTo('body'); // 关闭并执行回调 function close(e) { e && e.preventDefault(); if (timer) { clearInterval(timer); } if (cb && typeof cb === 'function') { cb(); } $alert.remove(); } function bindCloseEvent() { $alert.on('click', '.btn-close, .btn-confirm', function (e) { close(e); }); } // 是否可手动关闭 if (canClose) { bindCloseEvent(); } // 倒计时 timer = setInterval(() => { second -= 1; if (second <= 0) { if (timer) { clearInterval(timer); } bindCloseEvent(); $alert.find('.btn-confirm').removeAttr("style"); } if (second > 0) { $alert.find('.second').text('(' + second + 's)'); } else { $alert.find('.second').text(''); } }, 1000); };