优化了一些问题
This commit is contained in:
1 parent
e54228d509
commit
41da33bb13
38 files changed
+7
-1138
No files matched your search
@@ -1,129 +0,0 @@
|
||||
function CaptchaInit() {
|
||||
var _mode = jQuery('[machine-verification]');
|
||||
var mode = _mode.attr('machine-verification');
|
||||
var _body = jQuery('body');
|
||||
window.captcha = {};
|
||||
|
||||
function get_img(_this) {
|
||||
jQuery.ajax({
|
||||
url: _win.uri + '/action/captcha.php',
|
||||
data: {
|
||||
type: 'image',
|
||||
id: _this.attr('imagecaptcha-id'),
|
||||
},
|
||||
}).done(function (data) {
|
||||
_this.html('<img alt="' + aksrt__('captcha_click_refresh') + '" src="' + data.img + '">');
|
||||
});
|
||||
}
|
||||
|
||||
switch (mode) {
|
||||
case 'image':
|
||||
var _code = jQuery('.imagecaptcha');
|
||||
_code.each(function () {
|
||||
get_img(jQuery(this));
|
||||
});
|
||||
|
||||
_body.on('click', '.imagecaptcha', function () {
|
||||
get_img(jQuery(this));
|
||||
});
|
||||
|
||||
break;
|
||||
|
||||
case 'slider':
|
||||
tbquire(['slidercaptcha']);
|
||||
|
||||
break;
|
||||
case 'tcaptcha':
|
||||
var $btn = jQuery('#TencentCaptcha.aksrt-tcaptcha');
|
||||
var appid = _mode.attr('tcaptcha-id');
|
||||
if (!$btn.length) {
|
||||
_body.append('<div class="hide aksrt-tcaptcha" id="TencentCaptcha" data-appid="' + appid + '" data-cbfn="TCaptchaOK" data-biz-state=""></div>');
|
||||
}
|
||||
tbquire(['tcaptcha-sdk']);
|
||||
|
||||
break;
|
||||
|
||||
case 'geetest':
|
||||
GeetestOpenInit(false);
|
||||
break;
|
||||
}
|
||||
}
|
||||
CaptchaInit();
|
||||
|
||||
/*global SliderCaptchaModal, initGeetest4*/
|
||||
/**
|
||||
* 打开验证码弹窗
|
||||
* @param {object} _this - 当前对象
|
||||
* @param {string} mode - 模式,可选值为'slider'、'geetest'、'tcaptcha'
|
||||
* @returns {number} - 返回1表示打开失败
|
||||
*/
|
||||
function CaptchaOpen(_this, mode) {
|
||||
switch (mode) {
|
||||
case 'slider':
|
||||
tbquire(['slidercaptcha'], function () {
|
||||
SliderCaptchaModal('show', _this);
|
||||
});
|
||||
break;
|
||||
case 'geetest':
|
||||
window.captcha._this = _this;
|
||||
GeetestOpenInit(true);
|
||||
break;
|
||||
case 'tcaptcha':
|
||||
TCaptchaOpen(_this);
|
||||
break;
|
||||
}
|
||||
return !1;
|
||||
}
|
||||
|
||||
//腾讯验证码弹窗
|
||||
function TCaptchaOpen(_this) {
|
||||
window.captcha._this = _this;
|
||||
tbquire(['tcaptcha-sdk'], function () {
|
||||
jQuery('#TencentCaptcha.aksrt-tcaptcha').click();
|
||||
});
|
||||
}
|
||||
|
||||
function GeetestOpenInit(open) {
|
||||
var _mode = jQuery('[machine-verification]');
|
||||
if (window.GeetestCaptcha) {
|
||||
open && window.GeetestCaptcha.showCaptcha();
|
||||
return;
|
||||
}
|
||||
if (!_mode.length) {
|
||||
return;
|
||||
}
|
||||
tbquire(['https://static.geetest.com/v4/gt4.js'], function () {
|
||||
initGeetest4(
|
||||
{
|
||||
captchaId: _mode.attr('geetest-id'),
|
||||
product: 'bind',
|
||||
},
|
||||
function (captchaObj) {
|
||||
captchaObj
|
||||
.onReady(function () {
|
||||
window.GeetestCaptcha = captchaObj;
|
||||
open && captchaObj.showCaptcha();
|
||||
})
|
||||
.onSuccess(function () {
|
||||
var getValidate = captchaObj.getValidate();
|
||||
window.captcha.captcha_output = getValidate.captcha_output;
|
||||
window.captcha.gen_time = getValidate.gen_time;
|
||||
window.captcha.lot_number = getValidate.lot_number;
|
||||
window.captcha.ticket = getValidate.pass_token;
|
||||
window.captcha._this.click();
|
||||
});
|
||||
}
|
||||
);
|
||||
});
|
||||
}
|
||||
|
||||
//腾讯验证码回调
|
||||
function TCaptchaOK(res) {
|
||||
window.captcha.ticket = 0;
|
||||
window.captcha.randstr = 0;
|
||||
if (res.ret === 0) {
|
||||
window.captcha.ticket = res.ticket;
|
||||
window.captcha.randstr = res.randstr;
|
||||
window.captcha._this.click();
|
||||
}
|
||||
}
|
||||
Vendored
-1
@@ -1 +0,0 @@
|
||||
function CaptchaInit(){function t(t){jQuery.ajax({url:_win.uri+"/action/captcha.php",data:{type:"image",id:t.attr("imagecaptcha-id")}}).done(function(a){t.html('<img alt="'+aksrt__("captcha_click_refresh")+'" src="'+a.img+'">')})}var a=jQuery("[machine-verification]"),c=a.attr("machine-verification"),i=jQuery("body");switch(window.captcha={},c){case"image":var e=jQuery(".imagecaptcha");e.each(function(){t(jQuery(this))}),i.on("click",".imagecaptcha",function(){t(jQuery(this))});break;case"slider":tbquire(["slidercaptcha"]);break;case"tcaptcha":var n=jQuery("#TencentCaptcha.aksrt-tcaptcha"),h=a.attr("tcaptcha-id");n.length||i.append('<div class="hide aksrt-tcaptcha" id="TencentCaptcha" data-appid="'+h+'" data-cbfn="TCaptchaOK" data-biz-state=""></div>'),tbquire(["tcaptcha-sdk"]);break;case"geetest":GeetestOpenInit(!1)}}function CaptchaOpen(t,a){switch(a){case"slider":tbquire(["slidercaptcha"],function(){SliderCaptchaModal("show",t)});break;case"geetest":window.captcha._this=t,GeetestOpenInit(!0);break;case"tcaptcha":TCaptchaOpen(t)}return!1}function TCaptchaOpen(t){window.captcha._this=t,tbquire(["tcaptcha-sdk"],function(){jQuery("#TencentCaptcha.aksrt-tcaptcha").click()})}function GeetestOpenInit(t){var a=jQuery("[machine-verification]");window.GeetestCaptcha?t&&window.GeetestCaptcha.showCaptcha():a.length&&tbquire(["https://static.geetest.com/v4/gt4.js"],function(){initGeetest4({captchaId:a.attr("geetest-id"),product:"bind"},function(a){a.onReady(function(){window.GeetestCaptcha=a,t&&a.showCaptcha()}).onSuccess(function(){var t=a.getValidate();window.captcha.captcha_output=t.captcha_output,window.captcha.gen_time=t.gen_time,window.captcha.lot_number=t.lot_number,window.captcha.ticket=t.pass_token,window.captcha._this.click()})})})}function TCaptchaOK(t){window.captcha.ticket=0,window.captcha.randstr=0,0===t.ret&&(window.captcha.ticket=t.ticket,window.captcha.randstr=t.randstr,window.captcha._this.click())}CaptchaInit();
|
||||
@@ -231,8 +231,6 @@ _win.bd.on('click', '#commentform #submit', function () {
|
||||
auto_fun();
|
||||
wait_for(n.wait_time);
|
||||
jQuery('#comment').val('');
|
||||
jQuery('[name="canvas_yz"]').val('');
|
||||
jQuery('.imagecaptcha').click();
|
||||
jQuery('#respond').FixedInput('hide');
|
||||
}
|
||||
});
|
||||
|
||||
Vendored
+1
-1
@@ -1 +1 @@
|
||||
function htmlEscapes(t){var e={"&":"&","<":"<",">":">",'"':""","'":"'"},n=t.replace(/[&<>"']/g,function(t){return e[t]});return n}function htmlUnescapes(t){var e={"&":"&","<":"<",">":">",""":'"',"'":"'"},n=t.replace(/&(amp|lt|gt|quot|#039);/g,function(t){return e[t]});return n}function wait_for(t){function e(){n>0?($submit.html('<div style="width:55px;"><i class="loading mr10"></i>'+n+"</div>").attr("disabled",!0),n--,setTimeout(e,1e3)):($submit.html(o).attr("disabled",!1),n=15)}var n=t||15,o=$submit.html();e()}jQuery.fn.FixedInput=function(t){var e=jQuery(this);switch(e.attr("on-start")||e.on("click",".fixed-body",function(){e.FixedInput("hide")}).attr("on-start",!0),t){case"show":return e.addClass("show"),setTimeout(()=>{jQuery(e.find("textarea,input")[0]).focus()},100);case"hide":return e.find("#cancel-comment-reply-link").click(),e.find("input,textarea").blur(),e.find(".dropup").removeClass("open"),e.removeClass("show")}},_win.bd.on("click","[fixed-input]",function(){var t=jQuery(this),e=jQuery(t.attr("fixed-input"));scrollTopTo("#comments"),e.FixedInput("show")});var $comments=jQuery("#comments-title"),$cancel=jQuery("#cancel-comment-reply-link"),$author=jQuery("#comment-user-info"),$submit=jQuery("#commentform #submit"),$com_ajax_url=_win.ajax_url,$com_list=jQuery("#postcomments .commentlist");_win.bd.on("click",".commentlist .pagenav a,.comment-orderby",function(){var t=jQuery(this);if(jQuery("#cancel-comment-reply-link").click(),!t.hasClass("pag-jump")){var e=!t.attr("no-replace");return post_ajax(jQuery(this),".commentlist",".commentlist",".comment","",".pagenav","","",e)}t.addClass("ajax-next")}),_win.bd.on("click",".comment-edit-link,.comment-reply-link",function(){var t=jQuery(this),e=t.attr("data-commentid"),n=t.hasClass("comment-edit-link");return addComment.moveForm(t,"div-comment-"+e,e,"respond",t.attr("data-postid"),n),scrollTopTo(jQuery("#div-comment-"+e),-10),!1}),_win.bd.on("keydown","#comment",function(t){var e=t.which||t.keyCode;(t.metaKey||t.ctrlKey)&&13==e&&jQuery(this).closest("#commentform").find("#submit").click()}),_win.bd.on("click",".comment-trash-link",function(){var t=jQuery(this),e=t.attr("data-commentid"),n={action:"trash_comment",comment_id:e,_wpnonce:t.attr("data-nonce")};1==confirm(aksrt__("comment_confirm_delete"))&&aksrt_ajax(t,n,function(t){t.error||jQuery("#comment-"+e).slideUp().delay(1e3,function(){jQuery(this).remove()})},aksrt__("processing"))}),_win.bd.on("click",".comment-approve-link",function(){var t=jQuery(this),e=t.attr("data-commentid"),n={action:"approve_comment",comment_id:e,_wpnonce:t.attr("data-nonce")},o=jQuery("#div-comment-"+e).find(".reply-link");aksrt_ajax(t,n,function(n){if(!n.error){var m="hold"==n.status?aksrt__("comment_approve"):aksrt__("comment_reject"),a="hold"==n.status?"approve":"unapprove",i="hold"==n.status?'<span class="badg c-red badg-sm">'+aksrt__("comment_pending_review")+"</span>":"";"hold"==n.status?o.remove():o.length||t.parents(".dropdown").before('<span class="reply-link"><a class="comment-reply-link" data-commentid="'+e+'" href="javascript:;">'+aksrt__("comment_reply")+"</a></span>"),jQuery("#div-comment-"+e).find(".badge-approve").html(i),t.removeClass("approve unapprove").addClass(a).find("text").html(m)}})}),_win.bd.on("click","#commentform #submit",function(){var t=jQuery(this),e=t.parents("#commentform"),n=e.serializeObject();if($author.length&&$author.attr("require_name_email")){if(n.author.length<2||n.email.length<4)return notyf(aksrt__("comment_enter_name_email"),"warning"),$author.addClass("open").find('[name="author"]').focus(),!1;if(!is_mail(n.email))return notyf(aksrt__("comment_email_invalid"),"warning"),$author.addClass("open").find('[name="email"]').focus(),!1}return n.comment.length<4?(notyf(aksrt__("comment_too_short"),"warning"),jQuery("#comment").focus(),!1):(n.comment=htmlEscapes(n.comment),n.action="submit_comment",aksrt_ajax(t,n,function(t){var e=t.html;if(!t.error&&e){if(n.edit_comment_ID)$cancel.click(),jQuery("#comment-content-"+n.edit_comment_ID).html(e);else{e=e.replace(/class="comment/,'style="display:none;" class="comment ajax-comment');var o=jQuery("#respond"),m=jQuery("#postcomments .commentlist"),a=o.parent().parent(".comment");if(a.length){var i=a.find(">.children");i.length?i.prepend(e):a.append('<ul class="children">'+e+"</ul>")}else if(m.length){var c=jQuery("#postcomments .commentlist>.comment-filter");c.length?c.after(e):m.prepend(e)}else o.after('<div id="postcomments"><ol class="commentlist list-unstyled">'+e+"</ol></div>");if(jQuery("[reply-show]").length&&t.comment)if(~~t.comment.comment_approved>0){var r=jQuery(jQuery("[reply-show]")[0]).attr("reload-hash");r&&(window.location.hash=r),window.location.reload()}else setTimeout(function(){notyf(aksrt__("comment_hidden_after_review"),"warning")},200);$cancel.click(),jQuery("#postcomments .ajax-comment").slideDown(200).removeClass("ajax-comment"),jQuery("#postcomments .comment-null").slideUp(200)}auLine truncated
|
||||
jQuery.fn.FixedInput=function(action){var _this=jQuery(this);switch(_this.attr("on-start")||_this.on("click",".fixed-body",function(){_this.FixedInput("hide")}).attr("on-start",!0),action){case"show":return _this.addClass("show"),setTimeout(()=>{jQuery(_this.find("textarea,input")[0]).focus()},100);case"hide":return _this.find("#cancel-comment-reply-link").click(),_this.find("input,textarea").blur(),_this.find(".dropup").removeClass("open"),_this.removeClass("show");default:}},_win.bd.on("click","[fixed-input]",function(){var _this=jQuery(this),_fixed=jQuery(_this.attr("fixed-input"));scrollTopTo("#comments"),_fixed.FixedInput("show")});var $comments=jQuery("#comments-title"),$cancel=jQuery("#cancel-comment-reply-link"),$author=jQuery("#comment-user-info"),$submit=jQuery("#commentform #submit"),$com_ajax_url=_win.ajax_url,$com_list=jQuery("#postcomments .commentlist");_win.bd.on("click",".commentlist .pagenav a,.comment-orderby",function(){var _this=jQuery(this);if(jQuery("#cancel-comment-reply-link").click(),_this.hasClass("pag-jump")){_this.addClass("ajax-next");return}var ajax_replace=!_this.attr("no-replace");return post_ajax(jQuery(this),".commentlist",".commentlist",".comment","",".pagenav","","",ajax_replace)}),_win.bd.on("click",".comment-edit-link,.comment-reply-link",function(){var _this=jQuery(this),commentid=_this.attr("data-commentid"),is_edit=_this.hasClass("comment-edit-link");return addComment.moveForm(_this,"div-comment-"+commentid,commentid,"respond",_this.attr("data-postid"),is_edit),scrollTopTo(jQuery("#div-comment-"+commentid),-10),!1}),_win.bd.on("keydown","#comment",function(e){var keycode=e.which||e.keyCode;(e.metaKey||e.ctrlKey)&&keycode==13&&jQuery(this).closest("#commentform").find("#submit").click()}),_win.bd.on("click",".comment-trash-link",function(){var _this=jQuery(this),commentid=_this.attr("data-commentid"),trash_data={action:"trash_comment",comment_id:commentid,_wpnonce:_this.attr("data-nonce")};confirm(aksrt__("comment_confirm_delete"))==1&&aksrt_ajax(_this,trash_data,function(n){n.error||jQuery("#comment-"+commentid).slideUp().delay(1e3,function(){jQuery(this).remove()})},aksrt__("processing"))}),_win.bd.on("click",".comment-approve-link",function(){var _this=jQuery(this),commentid=_this.attr("data-commentid"),trash_data={action:"approve_comment",comment_id:commentid,_wpnonce:_this.attr("data-nonce")},reply=jQuery("#div-comment-"+commentid).find(".reply-link");aksrt_ajax(_this,trash_data,function(n){if(!n.error){var _text=n.status=="hold"?aksrt__("comment_approve"):aksrt__("comment_reject"),_class=n.status=="hold"?"approve":"unapprove",_badg=n.status=="hold"?'<span class="badg c-red badg-sm">'+aksrt__("comment_pending_review")+"</span>":"";n.status=="hold"?reply.remove():reply.length||_this.parents(".dropdown").before('<span class="reply-link"><a class="comment-reply-link" data-commentid="'+commentid+'" href="javascript:;">'+aksrt__("comment_reply")+"</a></span>"),jQuery("#div-comment-"+commentid).find(".badge-approve").html(_badg),_this.removeClass("approve unapprove").addClass(_class).find("text").html(_text)}})});function htmlEscapes(val){var htmlEscapes2={"&":"&","<":"<",">":">",'"':""","'":"'"},a=val.replace(/[&<>"']/g,function(match){return htmlEscapes2[match]});return a}function htmlUnescapes(val){var htmlUnescapes2={"&":"&","<":"<",">":">",""":'"',"'":"'"},a=val.replace(/&(amp|lt|gt|quot|#039);/g,function(match){return htmlUnescapes2[match]});return a}_win.bd.on("click","#commentform #submit",function(){var _this=jQuery(this),_form=_this.parents("#commentform"),inputs=_form.serializeObject();if($author.length&&$author.attr("require_name_email")){if(inputs.author.length<2||inputs.email.length<4)return notyf(aksrt__("comment_enter_name_email"),"warning"),$author.addClass("open").find('[name="author"]').focus(),!1;if(!is_mail(inputs.email))return notyf(aksrt__("comment_email_invalid"),"warning"),$author.addClass("open").find('[name="email"]').focus(),!1}return inputs.comment.length<4?(notyf(aksrt__("comment_too_short"),"warning"),jQuery("#comment").focus(),!1):(inputs.comment=htmlEscapes(inputs.comment),inputs.action="submit_comment",aksrt_ajax(_this,inputs,function(n){var data=n.html;if(!n.error&&data){if(inputs.edit_comment_ID)$cancel.click(),jQuery("#comment-content-"+inputs.edit_comment_ID).html(data);else{var data=data.replace(/class="comment/,'style="display:none;" class="comment ajax-comment'),respond=jQuery("#respond"),$com_list2=jQuery("#postcomments .commentlist"),is_comment_parent=respond.parent().parent(".comment");if(is_comment_parent.length){var _children=is_comment_parent.find(">.children");_children.length?_children.prepend(data):is_comment_parent.append('<ul class="children">'+data+"</ul>")}else if(!$com_list2.length)respond.after('<div id="postcomments"><ol class="commentlist list-unstyled">'+data+"</ol></div>");else{var $order=jQuery("#postcomments .commentlist>.comment-filter");$order.length?$order.after(dLine truncated
|
||||
@@ -62,7 +62,6 @@ tbquire.config({
|
||||
'imgbox' : 'imgbox.min',
|
||||
'section-navs' : 'section-navs.min',
|
||||
'poster-share' : 'poster-share.min',
|
||||
'slidercaptcha' : 'slidercaptcha.min',
|
||||
'comment' : 'comment.min',
|
||||
'page-template' : 'page-template.min',
|
||||
'page-edit' : 'page-edit.min',
|
||||
@@ -74,8 +73,6 @@ tbquire.config({
|
||||
'editextend' : 'editextend.min',
|
||||
'petite-vue' : 'libs/petite-vue.iife',
|
||||
'svg-icon' : 'svg-icon',
|
||||
'tcaptcha-sdk' : ['https://turing.captcha.qcloud.com/TJCaptcha'],
|
||||
'captcha' : 'captcha.min',
|
||||
'tilt' : '../../widgets/third-party/vanilla-tilt.min',
|
||||
'weixin-share' : 'weixin-share.min',
|
||||
'weixin-sdk' : ['//res.wx.qq.com/open/js/jweixin-1.6.0','//res2.wx.qq.com/open/js/jweixin-1.6.0'],
|
||||
|
||||
@@ -2453,9 +2453,6 @@ function z_auto_fun() {
|
||||
//海报分享
|
||||
jQuery('[poster-share]').length && tbquire(['poster-share']); //海报分享
|
||||
|
||||
//人机验证
|
||||
jQuery('[machine-verification]').length && tbquire(['captcha']); //人机验证
|
||||
|
||||
/* 提示工具*/
|
||||
jQuery("[data-toggle='tooltip']").tooltip({
|
||||
container: 'body',
|
||||
@@ -3844,10 +3841,6 @@ _win.bd.on('click', '.wp-ajax-submit,[zibajax="submit"]', function () {
|
||||
return aksrt_ajax(jQuery(this)), !1;
|
||||
});
|
||||
|
||||
function is_captcha() {
|
||||
return window.captcha && !window.captcha.ticket;
|
||||
}
|
||||
|
||||
/**
|
||||
* @description: ajax请求封装
|
||||
* @param {*} _this 按钮的jquery对象
|
||||
@@ -3879,23 +3872,6 @@ function aksrt_ajax(_this, data, success, noty, no_loading) {
|
||||
data.action = _action;
|
||||
}
|
||||
|
||||
//人机验证
|
||||
if (data.captcha_mode && is_captcha(data.captcha_mode)) {
|
||||
tbquire(['captcha'], function () {
|
||||
CaptchaOpen(_this, data.captcha_mode);
|
||||
});
|
||||
return !1;
|
||||
}
|
||||
|
||||
if (window.captcha) {
|
||||
if (window.captcha._this) {
|
||||
delete window.captcha._this;
|
||||
}
|
||||
|
||||
data.captcha = JSON.parse(JSON.stringify(window.captcha));
|
||||
window.captcha = {}; //只能使用一次
|
||||
}
|
||||
|
||||
var _text = _this.html();
|
||||
var _loading = no_loading ? _text : '<i class="loading mr6"></i><text>' + aksrt__('please_wait') + '</text>';
|
||||
noty != 'stop' && notyf(noty || aksrt__('processing'), 'load', '', 'wp_ajax');
|
||||
@@ -3918,9 +3894,6 @@ function aksrt_ajax(_this, data, success, noty, no_loading) {
|
||||
},
|
||||
success: function (n) {
|
||||
var ys = n.ys ? n.ys : n.error ? 'danger' : '';
|
||||
if (n.error) {
|
||||
_win.slidercaptcha = false;
|
||||
}
|
||||
if (noty != 'stop') {
|
||||
notyf(n.msg || aksrt__('done'), ys, '', 'wp_ajax');
|
||||
} else if (n.msg) {
|
||||
|
||||
Vendored
+1
-1
@@ -1 +1 @@
|
||||
jQuery.cookie=function(e,o,t){if(o===void 0){var i=null;if(document.cookie&&document.cookie!="")for(var r=document.cookie.split(";"),n=0;n<r.length;n++){var c=jQuery.trim(r[n]);if(c.substring(0,e.length+1)==e+"="){i=decodeURIComponent(c.substring(e.length+1));break}}return i}t=t||{},o===null&&(o="",t.expires=-1);var a="";if(t.expires&&(typeof t.expires=="number"||t.expires.toUTCString)){var l2;typeof t.expires=="number"?(l2=new Date,l2.setTime(l2.getTime()+24*t.expires*60*60*1e3)):l2=t.expires,a="; expires="+l2.toUTCString()}var u=t.path?"; path="+t.path:"",s=t.domain?"; domain="+t.domain:"",m=t.secure?"; secure":"";document.cookie=[e,"=",encodeURIComponent(o),a,u,s,m].join("")};var lcs={get:function(e){return window.localStorage?localStorage.getItem(e):jQuery.cookie(e)},set:function(e,o){window.localStorage?localStorage[e]=o:jQuery.cookie(e,o)},remove:function(e){window.localStorage?localStorage.removeItem(e):jQuery.cookie(e,"")}};function aksrt__(key){var map=window._win&&window._win.i18n;return map&&Object.prototype.hasOwnProperty.call(map,key)?map[key]:key}function aksrt_is_fatal_error_response(text){return text&&(text.indexOf("Fatal error")>-1||text.indexOf("致命错误")>-1)}function aksrt_sprintf(key){var args=Array.prototype.slice.call(arguments,1),str=aksrt__(key),autoIndex=0;return str.replace(/%(\d+\$)?s/g,function(match,num){var idx=num?parseInt(num,10)-1:autoIndex++;return args[idx]!==void 0&&args[idx]!==null?args[idx]:match})}(function(window2,factory){var lazySizes=factory(window2,window2.document,Date);window2.lazySizes=lazySizes,typeof module=="object"&&module.exports&&(module.exports=lazySizes)})(typeof window<"u"?window:{},function(window2,document2,Date2){"use strict";var lazysizes,lazySizesCfg;if((function(){var prop,lazySizesDefaults={lazyClass:"lazyload",loadedClass:"lazyloaded",loadingClass:"lazyloading",preloadClass:"lazypreload",loadafterClass:"lazyloadafter",errorClass:"lazyerror",autosizesClass:"lazyautosizes",srcAttr:"data-src",srcsetAttr:"data-srcset",sizesAttr:"data-sizes",minSize:40,customMedia:{},init:!0,expFactor:1.5,hFac:.8,loadMode:2,loadHidden:!0,ricTimeout:0,throttleDelay:125};lazySizesCfg=window2.lazySizesConfig||window2.lazysizesConfig||{};for(prop in lazySizesDefaults)prop in lazySizesCfg||(lazySizesCfg[prop]=lazySizesDefaults[prop])})(),!document2||!document2.getElementsByClassName)return{init:function(){},cfg:lazySizesCfg,noSupport:!0};var docElem=document2.documentElement,supportPicture=window2.HTMLPictureElement,_addEventListener="addEventListener",_getAttribute="getAttribute",addEventListener=window2[_addEventListener].bind(window2),setTimeout2=window2.setTimeout,requestAnimationFrame2=window2.requestAnimationFrame||setTimeout2,requestIdleCallback=window2.requestIdleCallback,regPicture=/^picture$/i,loadEvents=["load","error","lazyincluded","_lazyloaded"],regClassCache={},forEach=Array.prototype.forEach,hasClass=function(ele,cls){return regClassCache[cls]||(regClassCache[cls]=new RegExp("(\\s|^)"+cls+"(\\s|$)")),regClassCache[cls].test(ele[_getAttribute]("class")||"")&®ClassCache[cls]},addClass=function(ele,cls){hasClass(ele,cls)||ele.setAttribute("class",(ele[_getAttribute]("class")||"").trim()+" "+cls)},removeClass=function(ele,cls){var reg2;(reg2=hasClass(ele,cls))&&ele.setAttribute("class",(ele[_getAttribute]("class")||"").replace(reg2," "))},addRemoveLoadEvents=function(dom,fn,add){var action=add?_addEventListener:"removeEventListener";add&&addRemoveLoadEvents(dom,fn),loadEvents.forEach(function(evt){dom[action](evt,fn)})},triggerEvent=function(elem,name,detail,noBubbles,noCancelable){var event=document2.createEvent("Event");return detail||(detail={}),detail.instance=lazysizes,event.initEvent(name,!noBubbles,!noCancelable),event.detail=detail,elem.dispatchEvent(event),event},updatePolyfill=function(el,full){var polyfill;!supportPicture&&(polyfill=window2.picturefill||lazySizesCfg.pf)?(full&&full.src&&!el[_getAttribute]("srcset")&&el.setAttribute("srcset",full.src),polyfill({reevaluate:!0,elements:[el]})):full&&full.src&&(el.src=full.src)},getCSS=function(elem,style){return(getComputedStyle(elem,null)||{})[style]},getWidth=function(elem,parent,width){for(width=width||elem.offsetWidth;width<lazySizesCfg.minSize&&parent&&!elem._lazysizesWidth;)width=parent.offsetWidth,parent=parent.parentNode;return width},rAF=(function(){var running,waiting,firstFns=[],secondFns=[],fns=firstFns,run=function(){var runFns=fns;for(fns=firstFns.length?secondFns:firstFns,running=!0,waiting=!1;runFns.length;)runFns.shift()();running=!1},rafBatch=function(fn,queue){running&&!queue?fn.apply(this,arguments):(fns.push(fn),waiting||(waiting=!0,(document2.hidden?setTimeout2:requestAnimationFrame2)(run)))};return rafBatch._lsFlush=run,rafBatch})(),rAFIt=function(fn,simple){return simple?function(){rAF(fn)}:function(){var that=this,args=arguments;rAF(function(){fn.apply(that,args)})}},throttle2=function(fn){var running,lastTime=0,gDelay=lazySizesCfg.throttleDelay,rICTimeout=lazySizesCfLine truncated
|
||||
jQuery.cookie=function(e,o,t){if(o===void 0){var i=null;if(document.cookie&&document.cookie!="")for(var r=document.cookie.split(";"),n=0;n<r.length;n++){var c=jQuery.trim(r[n]);if(c.substring(0,e.length+1)==e+"="){i=decodeURIComponent(c.substring(e.length+1));break}}return i}t=t||{},o===null&&(o="",t.expires=-1);var a="";if(t.expires&&(typeof t.expires=="number"||t.expires.toUTCString)){var l2;typeof t.expires=="number"?(l2=new Date,l2.setTime(l2.getTime()+24*t.expires*60*60*1e3)):l2=t.expires,a="; expires="+l2.toUTCString()}var u=t.path?"; path="+t.path:"",s=t.domain?"; domain="+t.domain:"",m=t.secure?"; secure":"";document.cookie=[e,"=",encodeURIComponent(o),a,u,s,m].join("")};var lcs={get:function(e){return window.localStorage?localStorage.getItem(e):jQuery.cookie(e)},set:function(e,o){window.localStorage?localStorage[e]=o:jQuery.cookie(e,o)},remove:function(e){window.localStorage?localStorage.removeItem(e):jQuery.cookie(e,"")}};function aksrt__(key){var map=window._win&&window._win.i18n;return map&&Object.prototype.hasOwnProperty.call(map,key)?map[key]:key}function aksrt_is_fatal_error_response(text){return text&&(text.indexOf("Fatal error")>-1||text.indexOf("致命错误")>-1)}function aksrt_sprintf(key){var args=Array.prototype.slice.call(arguments,1),str=aksrt__(key),autoIndex=0;return str.replace(/%(\d+\$)?s/g,function(match,num){var idx=num?parseInt(num,10)-1:autoIndex++;return args[idx]!==void 0&&args[idx]!==null?args[idx]:match})}(function(window2,factory){var lazySizes=factory(window2,window2.document,Date);window2.lazySizes=lazySizes,typeof module=="object"&&module.exports&&(module.exports=lazySizes)})(typeof window<"u"?window:{},function(window2,document2,Date2){"use strict";var lazysizes,lazySizesCfg;if((function(){var prop,lazySizesDefaults={lazyClass:"lazyload",loadedClass:"lazyloaded",loadingClass:"lazyloading",preloadClass:"lazypreload",loadafterClass:"lazyloadafter",errorClass:"lazyerror",autosizesClass:"lazyautosizes",srcAttr:"data-src",srcsetAttr:"data-srcset",sizesAttr:"data-sizes",minSize:40,customMedia:{},init:!0,expFactor:1.5,hFac:.8,loadMode:2,loadHidden:!0,ricTimeout:0,throttleDelay:125};lazySizesCfg=window2.lazySizesConfig||window2.lazysizesConfig||{};for(prop in lazySizesDefaults)prop in lazySizesCfg||(lazySizesCfg[prop]=lazySizesDefaults[prop])})(),!document2||!document2.getElementsByClassName)return{init:function(){},cfg:lazySizesCfg,noSupport:!0};var docElem=document2.documentElement,supportPicture=window2.HTMLPictureElement,_addEventListener="addEventListener",_getAttribute="getAttribute",addEventListener=window2[_addEventListener].bind(window2),setTimeout2=window2.setTimeout,requestAnimationFrame2=window2.requestAnimationFrame||setTimeout2,requestIdleCallback=window2.requestIdleCallback,regPicture=/^picture$/i,loadEvents=["load","error","lazyincluded","_lazyloaded"],regClassCache={},forEach=Array.prototype.forEach,hasClass=function(ele,cls){return regClassCache[cls]||(regClassCache[cls]=new RegExp("(\\s|^)"+cls+"(\\s|$)")),regClassCache[cls].test(ele[_getAttribute]("class")||"")&®ClassCache[cls]},addClass=function(ele,cls){hasClass(ele,cls)||ele.setAttribute("class",(ele[_getAttribute]("class")||"").trim()+" "+cls)},removeClass=function(ele,cls){var reg2;(reg2=hasClass(ele,cls))&&ele.setAttribute("class",(ele[_getAttribute]("class")||"").replace(reg2," "))},addRemoveLoadEvents=function(dom,fn,add){var action=add?_addEventListener:"removeEventListener";add&&addRemoveLoadEvents(dom,fn),loadEvents.forEach(function(evt){dom[action](evt,fn)})},triggerEvent=function(elem,name,detail,noBubbles,noCancelable){var event=document2.createEvent("Event");return detail||(detail={}),detail.instance=lazysizes,event.initEvent(name,!noBubbles,!noCancelable),event.detail=detail,elem.dispatchEvent(event),event},updatePolyfill=function(el,full){var polyfill;!supportPicture&&(polyfill=window2.picturefill||lazySizesCfg.pf)?(full&&full.src&&!el[_getAttribute]("srcset")&&el.setAttribute("srcset",full.src),polyfill({reevaluate:!0,elements:[el]})):full&&full.src&&(el.src=full.src)},getCSS=function(elem,style){return(getComputedStyle(elem,null)||{})[style]},getWidth=function(elem,parent,width){for(width=width||elem.offsetWidth;width<lazySizesCfg.minSize&&parent&&!elem._lazysizesWidth;)width=parent.offsetWidth,parent=parent.parentNode;return width},rAF=(function(){var running,waiting,firstFns=[],secondFns=[],fns=firstFns,run=function(){var runFns=fns;for(fns=firstFns.length?secondFns:firstFns,running=!0,waiting=!1;runFns.length;)runFns.shift()();running=!1},rafBatch=function(fn,queue){running&&!queue?fn.apply(this,arguments):(fns.push(fn),waiting||(waiting=!0,(document2.hidden?setTimeout2:requestAnimationFrame2)(run)))};return rafBatch._lsFlush=run,rafBatch})(),rAFIt=function(fn,simple){return simple?function(){rAF(fn)}:function(){var that=this,args=arguments;rAF(function(){fn.apply(that,args)})}},throttle2=function(fn){var running,lastTime=0,gDelay=lazySizesCfg.throttleDelay,rICTimeout=lazySizesCfLine truncated
|
||||
@@ -181,23 +181,6 @@ function miniupload() {
|
||||
}
|
||||
});
|
||||
|
||||
//人机验证
|
||||
if (formData.get('captcha_mode') && is_captcha(formData.get('captcha_mode'))) {
|
||||
tbquire(['captcha'], function () {
|
||||
CaptchaOpen(_this, formData.get('captcha_mode'));
|
||||
});
|
||||
return !1;
|
||||
}
|
||||
|
||||
if (window.captcha) {
|
||||
if (window.captcha._this) {
|
||||
delete window.captcha._this;
|
||||
}
|
||||
|
||||
formData.append('captcha', JSON.stringify(window.captcha));
|
||||
window.captcha = {}; //只能使用一次
|
||||
}
|
||||
|
||||
/**
|
||||
for (var [a, b] of formData.entries()) {
|
||||
console.log(a, b);
|
||||
@@ -250,9 +233,6 @@ function miniupload() {
|
||||
form.find('.progress .progress-bar').css('width', percent + '%');
|
||||
}),
|
||||
success: function (n) {
|
||||
if (n.error) {
|
||||
_win.slidercaptcha = false;
|
||||
}
|
||||
var ys = n.ys ? n.ys : n.error ? 'danger' : '';
|
||||
notyf(n.msg || aksrt__('operation_success'), ys, '', notyf_id);
|
||||
miniuploaded(n.no_preview_reset);
|
||||
|
||||
Vendored
+1
-1
@@ -1 +1 @@
|
||||
"use strict";function miniupload(){function a(a,e){if("undefined"==typeof FileReader)return notyf(aksrt__("upload_unsupported"),"danger");var t=new FileReader;t.readAsDataURL(a),t.onload=function(a){e&&e(a.target.result)}}function e(a){return e.onprogress=a,function(){var a=jQuery.ajaxSettings.xhr();return"function"!=typeof e.onprogress?a:(e.onprogress&&a.upload&&(a.upload.onprogress=e.onprogress),a)}}var t,i=jQuery("body"),r='[aksrtupload="image_upload"]',n='[aksrtupload="submit"]',o=".form-upload,.mini-upload,form",d='<div class="add"></div>',s=".add",p={};i.on("change",r,function(e){var i=jQuery(this),r=this.files||e.dataTransfer.files,n=jQuery(i.parents(o)[0]),l=i.attr("size_max")||Number(_win.upload_img_size)||3,c=i.attr("data-preview")||".preview",u=n.find(c);t=u.html();var f=i.attr("accept"),_=i.attr("multiple"),h=i.attr("multiple_max"),v=!1;-1!==f.indexOf("image")&&(v="image"),-1!==f.indexOf("vedio")&&(v="vedio");var m=i.attr("upload_id");i.attr("upload_id")||(m=parseInt((Math.random()+1)*Math.pow(10,4)),i.attr("upload_id",m)),p[m]||(p[m]=[]),jQuery.each(r,function(a,e){var t=e.name;v&&-1==e.type.indexOf(v)?(notyf(aksrt_sprintf("upload_format_error",t),"danger"),i.val("")):l&&e.size>1048567*l?notyf(aksrt_sprintf("upload_size_exceeded",t,l),"danger"):u.find('[preview-name="'+t+'"]').length||p[m].push(e)});var g=[],w=1,b=!1;jQuery.each(p[m],function(e,t){if(h&&h<w)return notyf(aksrt_sprintf("upload_count_exceeded",h),"danger"),!1;w++,g.push(t),a(t,function(a){var e='<img class="fit-cover" preview-name="'+t.name+'" src="'+a+'">';if(_){b||(u.html(""),b=!0);var i='<div class="preview-remove" upload-id="'+m+'" file-key="'+jQuery.inArray(t,g)+'"><svg class="ic-close" aria-hidden="true"><use xlink:href="#icon-close"></use></svg></div>';e='<div class="preview-item">'+e+i+"</div>",u.append(e).find(s).remove(),h&&h>=w&&u.append(d)}else u.html(e)})}),p[m]=g,n.find("[auto-submit]").click()}),i.on("click",".preview-remove",function(){var a=jQuery(this),e=a.attr("file-key"),t=a.attr("upload-id");return a.parent().animate({width:0},200,"swing",function(){var a=jQuery(this).parent();jQuery(this).remove(),p[t].splice(e,1),a.find(s).length||a.append(d)}),!1}),i.on("click",".preview "+s,function(){var a=jQuery(this),e=jQuery(a.parents(o)[0]);e.find(r).click()}),i.on("click",n,function(a){var i=jQuery(this);if(i.attr("disabled"))return!1;a.preventDefault?a.preventDefault():a.returnValue=!1;var n=i.html(),d=jQuery(i.parents(o)[0]),s=d.find(r),l=new FormData,c=i.attr("aksrtupload-nomust");if(s.each(function(){var a=jQuery(this),e=a.attr("upload_id");if(e&&p[e]){var t=0,i=a.attr("data-tag")||"file";jQuery.each(p[e],function(a,e){var r=t?i+"_"+t:i;l.append(r,e,e.name),t++}),t>1&&l.append(i+"_file_count",t),c=t}}),!c)return notyf(aksrt__("upload_select_first"),"danger");var u=d.serializeObject();if(jQuery.each(u,function(a,e){l.append(a,e)}),d.find("[data-name]").each(function(){var a=jQuery(this),e=a.attr("data-name"),t=a.val()||a.attr("data-value");void 0===t&&(t=""),null===l.get(e)&&l.append(e,t)}),l.get("captcha_mode")&&is_captcha(l.get("captcha_mode")))return tbquire(["captcha"],function(){CaptchaOpen(i,l.get("captcha_mode"))}),!1;window.captcha&&(window.captcha._this&&delete window.captcha._this,l.append("captcha",JSON.stringify(window.captcha)),window.captcha={});var f=function(a){i.attr("disabled",!1).html(n),s.attr("disabled",!1).val("").each(function(){var a=jQuery(this),e=a.attr("upload_id");e&&p[e]&&(p[e]=[])}),!a&&t&&d.find(".preview").html(t)},_="miniupload_ajax";notyf(aksrt__("processing_wait"),"load","",_),i.attr("disabled",!0).html('<span class="miniupload-ing"><i class="loading mr3 c-white"></i><span class="loading-text c-white">'+aksrt__("uploading")+'<count class="px12 ml3"></count></span><div class="progress progress-striped active"><div class="progress-bar progress-bar-success" role="progressbar" style="width:0;"></div></div></span>'),s.attr("disabled",!0),jQuery.ajax({url:_win.ajax_url,type:"POST",data:l,processData:!1,cache:!1,contentType:!1,dataType:"json",error:function(a){var e=aksrt_sprintf("ajax_error",a.status,a.statusText);aksrt_is_fatal_error_response(a.responseText)&&(e=aksrt__("ajax_fatal_error")),notyf(e,"danger","",_),f()},xhr:e(function(a){var e=Math.round(a.loaded/a.total*100);i.find("count").html(e+"%"),e>=100&&i.find(".loading-text").html(aksrt__("upload_processing")+" ..."),d.find(".progress .progress-bar").css("width",e+"%")}),success:function(a){a.error&&(_win.slidercaptcha=!1);var e=a.ys?a.ys:a.error?"danger":"";notyf(a.msg||aksrt__("operation_success"),e,"",_),f(a.no_preview_reset),a.hide_modal&&jQuery(i.parents(".modal")[0]).modal("hide"),a.url&&a.replace_img&&jQuery("img"+a.replace_img).attr("src",a.url),a.reload&&(a.goto?(window.location.href=a.goto,window.location.reload):window.location.reload()),i.trigger("miniuploaded",a,d)}})})}_win.is_miniupload||(miniupload(),_win.is_miniupload=!0);
|
||||
"use strict";function miniupload(){var _body=jQuery("body"),input_selector='[aksrtupload="image_upload"]',submit_selector='[aksrtupload="submit"]',form_selector=".form-upload,.mini-upload,form",add_html='<div class="add"></div>',add_selector=".add",mini_file={},pre_html;_body.on("change",input_selector,function(e){var _this=jQuery(this),files=this.files||e.dataTransfer.files,form=jQuery(_this.parents(form_selector)[0]),size_max=_this.attr("size_max")||Number(_win.upload_img_size)||3,pre_selector=_this.attr("data-preview")||".preview",pre=form.find(pre_selector);pre_html=pre.html();var accept=_this.attr("accept"),multiple=_this.attr("multiple"),multiple_max=_this.attr("multiple_max"),accept_yanz=!1;accept.indexOf("image")!==-1&&(accept_yanz="image"),accept.indexOf("vedio")!==-1&&(accept_yanz="vedio");var upload_id=_this.attr("upload_id");_this.attr("upload_id")||(upload_id=parseInt((Math.random()+1)*Math.pow(10,4)),_this.attr("upload_id",upload_id)),mini_file[upload_id]||(mini_file[upload_id]=[]),jQuery.each(files,function(key,val){var name=val.name;accept_yanz&&val.type.indexOf(accept_yanz)==-1?(notyf(aksrt_sprintf("upload_format_error",name),"danger"),_this.val("")):size_max&&val.size>size_max*1048567?notyf(aksrt_sprintf("upload_size_exceeded",name,size_max),"danger"):pre.find('[preview-name="'+name+'"]').length||mini_file[upload_id].push(val)});var a_file=[],ii=1,empty=!1;jQuery.each(mini_file[upload_id],function(key,val){if(multiple_max&&multiple_max<ii)return notyf(aksrt_sprintf("upload_count_exceeded",multiple_max),"danger"),!1;ii++,a_file.push(val),ToB64(val,function(e2){var img='<img class="fit-cover" preview-name="'+val.name+'" src="'+e2+'">';if(multiple){empty||(pre.html(""),empty=!0);var cloce='<div class="preview-remove" upload-id="'+upload_id+'" file-key="'+jQuery.inArray(val,a_file)+'"><svg class="ic-close" aria-hidden="true"><use xlink:href="#icon-close"></use></svg></div>';img='<div class="preview-item">'+img+cloce+"</div>",pre.append(img).find(add_selector).remove(),multiple_max&&multiple_max>=ii&&pre.append(add_html)}else pre.html(img)})}),mini_file[upload_id]=a_file,form.find("[auto-submit]").click()}),_body.on("click",".preview-remove",function(){var _this=jQuery(this),file_key=_this.attr("file-key"),upload_id=_this.attr("upload-id");return _this.parent().animate({width:0},200,"swing",function(){var pre=jQuery(this).parent();jQuery(this).remove(),mini_file[upload_id].splice(file_key,1),pre.find(add_selector).length||pre.append(add_html)}),!1}),_body.on("click",".preview "+add_selector,function(){var _this=jQuery(this),form=jQuery(_this.parents(form_selector)[0]);form.find(input_selector).click()}),_body.on("click",submit_selector,function(e){var _this=jQuery(this);if(_this.attr("disabled"))return!1;e.preventDefault?e.preventDefault():e.returnValue=!1;var _text=_this.html(),form=jQuery(_this.parents(form_selector)[0]),_input=form.find(input_selector),formData=new FormData,is_files=_this.attr("aksrtupload-nomust");if(_input.each(function(){var _this2=jQuery(this),upload_id=_this2.attr("upload_id");if(upload_id&&mini_file[upload_id]){var ii=0,tag=_this2.attr("data-tag")||"file";jQuery.each(mini_file[upload_id],function(key,val){var append_tag=ii?tag+"_"+ii:tag;formData.append(append_tag,val,val.name),ii++}),ii>1&&formData.append(tag+"_file_count",ii),is_files=ii}}),!is_files)return notyf(aksrt__("upload_select_first"),"danger");var serializeObject=form.serializeObject();jQuery.each(serializeObject,function(key,val){formData.append(key,val)}),form.find("[data-name]").each(function(){var _th=jQuery(this),n=_th.attr("data-name"),v=_th.val()||_th.attr("data-value");v===void 0&&(v=""),formData.get(n)===null&&formData.append(n,v)});var miniuploaded=function(no_preview_reset){_this.attr("disabled",!1).html(_text),_input.attr("disabled",!1).val("").each(function(){var _this2=jQuery(this),upload_id=_this2.attr("upload_id");upload_id&&mini_file[upload_id]&&(mini_file[upload_id]=[])}),!no_preview_reset&&pre_html&&form.find(".preview").html(pre_html)},notyf_id="miniupload_ajax";notyf(aksrt__("processing_wait"),"load","",notyf_id),_this.attr("disabled",!0).html('<span class="miniupload-ing"><i class="loading mr3 c-white"></i><span class="loading-text c-white">'+aksrt__("uploading")+'<count class="px12 ml3"></count></span><div class="progress progress-striped active"><div class="progress-bar progress-bar-success" role="progressbar" style="width:0;"></div></div></span>'),_input.attr("disabled",!0),jQuery.ajax({url:_win.ajax_url,type:"POST",data:formData,processData:!1,cache:!1,contentType:!1,dataType:"json",error:function(n){var _msg=aksrt_sprintf("ajax_error",n.status,n.statusText);aksrt_is_fatal_error_response(n.responseText)&&(_msg=aksrt__("ajax_fatal_error")),notyf(_msg,"danger","",notyf_id),miniuploaded()},xhr:jqXhr(function(e2){var percent=Math.round(e2.loaded/e2.total*100);_this.find("count").html(percent+"%"),percent>=100&&_this.find(".loading-text").html(aksrt__("upload_processing")+" ..."),form.Line truncated
|
||||
@@ -1,428 +0,0 @@
|
||||
(function ($) {
|
||||
'use strict';
|
||||
|
||||
var SliderCaptcha = function (element, options) {
|
||||
this.$element = $(element);
|
||||
this.options = $.extend({}, SliderCaptcha.DEFAULTS, options);
|
||||
this.$element.css({
|
||||
position: 'relative',
|
||||
width: this.options.width + 'px',
|
||||
margin: '0 auto',
|
||||
});
|
||||
this.init();
|
||||
};
|
||||
|
||||
SliderCaptcha.DEFAULTS = {
|
||||
width: 280, // canvas宽度
|
||||
height: 170, // canvas高度
|
||||
PI: Math.PI,
|
||||
sliderL: 42, // 滑块边长
|
||||
sliderR: 9, // 滑块半径
|
||||
offset: 8, // 容错偏差
|
||||
loadingText: '<i class="loading mr6"></i>' + aksrt__('loading'),
|
||||
failedText: aksrt__('captcha_retry'),
|
||||
barText: aksrt__('captcha_slide_hint'),
|
||||
repeatIcon: 'fa fas fa-sync-alt',
|
||||
maxLoadCount: 3,
|
||||
onFail: function () {
|
||||
//失败执行的函数
|
||||
},
|
||||
onSuccess: function () {
|
||||
//成功执行的函数
|
||||
},
|
||||
setSrc: function () {
|
||||
//图片获取函数
|
||||
return '';
|
||||
},
|
||||
getX: null,
|
||||
};
|
||||
|
||||
function Plugin(option) {
|
||||
return this.each(function () {
|
||||
var $this = $(this);
|
||||
var data = $this.data('lgb.SliderCaptcha');
|
||||
var options = typeof option === 'object' && option;
|
||||
if (data && !/reset/.test(option)) $(data.refreshIcon).click();
|
||||
if (!data) $this.data('lgb.SliderCaptcha', (data = new SliderCaptcha(this, options)));
|
||||
if (typeof option === 'string') data[option]();
|
||||
});
|
||||
}
|
||||
|
||||
$.fn.sliderCaptcha = Plugin;
|
||||
$.fn.sliderCaptcha.Constructor = SliderCaptcha;
|
||||
|
||||
var _proto = SliderCaptcha.prototype;
|
||||
_proto.init = function () {
|
||||
this.initDOM();
|
||||
this.initImg();
|
||||
this.bindEvents();
|
||||
};
|
||||
|
||||
_proto.initDOM = function () {
|
||||
var createElement = function (tagName, className) {
|
||||
var elment = document.createElement(tagName);
|
||||
elment.className = className;
|
||||
return elment;
|
||||
};
|
||||
|
||||
var createCanvas = function (width, height) {
|
||||
var canvas = document.createElement('canvas');
|
||||
canvas.width = width;
|
||||
canvas.height = height;
|
||||
return canvas;
|
||||
};
|
||||
|
||||
var canvas = createCanvas(this.options.width - 2, this.options.height); // 画布
|
||||
var block = canvas.cloneNode(true); // 滑块
|
||||
var sliderContainer = createElement('div', 'sliderContainer');
|
||||
var refreshIcon = createElement('botton', 'refreshIcon ' + this.options.repeatIcon);
|
||||
var sliderMask = createElement('div', 'sliderMask');
|
||||
var slider = createElement('div', 'captcha-slider');
|
||||
var sliderIcon = createElement('i', 'fa fas fa-chevron-right sliderIcon');
|
||||
var text = createElement('span', 'sliderText');
|
||||
|
||||
canvas.className = 'captcha-body-bg placeholder';
|
||||
block.className = 'captcha-body-bar';
|
||||
text.innerHTML = this.options.barText;
|
||||
|
||||
var el = this.$element;
|
||||
el.html($(canvas));
|
||||
el.append($(refreshIcon));
|
||||
el.append($(block));
|
||||
slider.appendChild(sliderIcon);
|
||||
sliderContainer.appendChild(sliderMask);
|
||||
sliderContainer.appendChild(slider);
|
||||
sliderContainer.appendChild(text);
|
||||
el.append($(sliderContainer));
|
||||
|
||||
var _canvas = {
|
||||
canvas: canvas,
|
||||
block: block,
|
||||
sliderContainer: $(sliderContainer),
|
||||
refreshIcon: refreshIcon,
|
||||
slider: slider,
|
||||
sliderMask: sliderMask,
|
||||
sliderIcon: sliderIcon,
|
||||
text: $(text),
|
||||
canvasCtx: canvas.getContext('2d'),
|
||||
blockCtx: block.getContext('2d'),
|
||||
};
|
||||
|
||||
if ($.isFunction(Object.assign)) {
|
||||
Object.assign(this, _canvas);
|
||||
} else {
|
||||
$.extend(this, _canvas);
|
||||
}
|
||||
};
|
||||
|
||||
_proto.initImg = function () {
|
||||
var that = this;
|
||||
var isIE = window.navigator.userAgent.indexOf('Trident') > -1;
|
||||
var L = this.options.sliderL + this.options.sliderR * 2 + 3; // 滑块实际边长
|
||||
var drawImg = function (ctx, operation) {
|
||||
var l = that.options.sliderL;
|
||||
var r = that.options.sliderR;
|
||||
var PI = that.options.PI;
|
||||
var x = that.x;
|
||||
var y = that.y;
|
||||
ctx.beginPath();
|
||||
ctx.moveTo(x, y);
|
||||
ctx.arc(x + l / 2, y - r + 2, r, 0.72 * PI, 2.26 * PI);
|
||||
ctx.lineTo(x + l, y);
|
||||
ctx.arc(x + l + r - 2, y + l / 2, r, 1.21 * PI, 2.78 * PI);
|
||||
ctx.lineTo(x + l, y + l);
|
||||
ctx.lineTo(x, y + l);
|
||||
ctx.arc(x + r - 2, y + l / 2, r + 0.4, 2.76 * PI, 1.24 * PI, true);
|
||||
ctx.lineTo(x, y);
|
||||
ctx.lineWidth = 2;
|
||||
ctx.fillStyle = 'rgba(100, 100, 100, 0.7)';
|
||||
ctx.strokeStyle = 'rgba(255, 255, 255, 0.5)';
|
||||
ctx.stroke();
|
||||
ctx[operation]();
|
||||
ctx.globalCompositeOperation = isIE ? 'xor' : 'destination-over';
|
||||
};
|
||||
|
||||
var getRandomNumberByRange = function (start, end) {
|
||||
return Math.round(Math.random() * (end - start) + start);
|
||||
};
|
||||
|
||||
var getRandomNumberByRangeToX = function (start, end) {
|
||||
if ($.isFunction(that.options.getX)) return that.options.getX(start, end);
|
||||
return getRandomNumberByRange(start, end);
|
||||
};
|
||||
|
||||
var img = new Image();
|
||||
img.crossOrigin = 'Anonymous';
|
||||
var loadCount = 0;
|
||||
|
||||
img.onload = function () {
|
||||
// 随机创建滑块的位置
|
||||
that.x = getRandomNumberByRangeToX(L + 10, that.options.width - (L + 10));
|
||||
that.y = getRandomNumberByRange(10 + that.options.sliderR * 2, that.options.height - (L + 10));
|
||||
drawImg(that.canvasCtx, 'fill');
|
||||
drawImg(that.blockCtx, 'clip');
|
||||
|
||||
that.canvasCtx.drawImage(img, 0, 0, that.options.width - 2, that.options.height);
|
||||
that.blockCtx.drawImage(img, 0, 0, that.options.width - 2, that.options.height);
|
||||
var y = that.y - that.options.sliderR * 2 - 1;
|
||||
var ImageData = that.blockCtx.getImageData(that.x - 3, y, L, L);
|
||||
that.block.width = L;
|
||||
that.blockCtx.putImageData(ImageData, 0, y + 1);
|
||||
that.text.text(that.text.attr('data-text'));
|
||||
};
|
||||
|
||||
img.onerror = function (e) {
|
||||
loadCount++;
|
||||
if (loadCount >= that.options.maxLoadCount) {
|
||||
that.text.text(aksrt__('captcha_load_failed')).addClass('text-danger c-red');
|
||||
that.canvas.removeClass('placeholder');
|
||||
return;
|
||||
}
|
||||
img.localImages();
|
||||
};
|
||||
img.setSrc = function () {
|
||||
loadCount = 0;
|
||||
that.text.removeClass('text-danger');
|
||||
if ($.isFunction(that.options.setSrc)) {
|
||||
var src = that.options.setSrc();
|
||||
src ? (img.src = that.options.setSrc()) : img.localImages();
|
||||
}
|
||||
};
|
||||
img.localImages = function () {
|
||||
that.text.removeClass('text-danger');
|
||||
var src = 'https://picsum.photos/' + that.options.width + '/' + that.options.height + '/?image=' + Math.round(Math.random() * 20);
|
||||
if (isIE) {
|
||||
// IE浏览器无法通过img.crossOrigin跨域,使用ajax获取图片blob然后转为dataURL显示
|
||||
var xhr = new XMLHttpRequest();
|
||||
xhr.onloadend = function (e) {
|
||||
var file = new FileReader(); // FileReader仅支持IE10+
|
||||
file.readAsDataURL(e.target.response);
|
||||
file.onloadend = function (e) {
|
||||
img.src = e.target.result;
|
||||
};
|
||||
};
|
||||
xhr.open('GET', src);
|
||||
xhr.responseType = 'blob';
|
||||
xhr.send();
|
||||
} else img.src = src;
|
||||
};
|
||||
img.setSrc();
|
||||
this.text.attr('data-text', this.options.barText);
|
||||
this.text.html(this.options.loadingText);
|
||||
this.img = img;
|
||||
};
|
||||
|
||||
_proto.clean = function () {
|
||||
this.canvasCtx.clearRect(0, 0, this.options.width, this.options.height);
|
||||
this.blockCtx.clearRect(0, 0, this.options.width, this.options.height);
|
||||
this.block.width = this.options.width;
|
||||
};
|
||||
|
||||
_proto.bindEvents = function () {
|
||||
var that = this;
|
||||
this.$element.on('selectstart', function () {
|
||||
return false;
|
||||
});
|
||||
|
||||
$(this.refreshIcon).on('click', function () {
|
||||
that.text.text(that.options.barText);
|
||||
that.reset();
|
||||
if ($.isFunction(that.options.onRefresh)) that.options.onRefresh.call(that.$element);
|
||||
});
|
||||
|
||||
var originX,
|
||||
originY,
|
||||
moveX,
|
||||
moveY,
|
||||
trail = [],
|
||||
isMouseDown = false;
|
||||
this.$element
|
||||
.on('touchstart pointerdown MSPointerDown', '.captcha-slider', function (e) {
|
||||
if (that.text.hasClass('text-danger')) return;
|
||||
originX = e.originalEvent.pageX || e.originalEvent.touches[0].pageX;
|
||||
originY = e.originalEvent.pageY || e.originalEvent.touches[0].pageY;
|
||||
isMouseDown = true;
|
||||
})
|
||||
.on('touchmove pointermove MSPointerMove', function (e) {
|
||||
if (isMouseDown) {
|
||||
var eventX = e.originalEvent.pageX || e.originalEvent.touches[0].pageX;
|
||||
var eventY = e.originalEvent.pageY || e.originalEvent.touches[0].pageY;
|
||||
moveX = eventX - originX;
|
||||
moveY = eventY - originY;
|
||||
if (moveX >= 0 && moveX + 40 <= that.options.width) {
|
||||
e.preventDefault ? e.preventDefault() : (e.returnValue = !1);
|
||||
that.slider.style.left = moveX - 1 + 'px';
|
||||
var blockLeft = ((that.options.width - 40 - 20) / (that.options.width - 40)) * moveX;
|
||||
that.block.style.left = blockLeft + 'px';
|
||||
that.sliderContainer.addClass('sliderContainer_active');
|
||||
that.sliderMask.style.width = moveX + 4 + 'px';
|
||||
trail.push(Math.round(moveY));
|
||||
}
|
||||
}
|
||||
})
|
||||
.on('touchend touchcancel pointerup MSPointerUp', function () {
|
||||
if (isMouseDown && moveX >= 0) {
|
||||
that.sliderContainer.removeClass('sliderContainer_active');
|
||||
that.trail = trail;
|
||||
var data = that.verify();
|
||||
if (data.spliced && data.verified) {
|
||||
that.sliderContainer.addClass('sliderContainer_success');
|
||||
setTimeout(function () {
|
||||
that.slider.style.left = 0;
|
||||
that.block.style.left = 0;
|
||||
that.sliderMask.style.width = 0;
|
||||
that.sliderContainer.removeClass('sliderContainer_fail sliderContainer_success');
|
||||
}, 500);
|
||||
if ($.isFunction(that.options.onSuccess)) that.options.onSuccess.call(that.$element, data);
|
||||
} else {
|
||||
that.sliderContainer.addClass('sliderContainer_fail');
|
||||
if ($.isFunction(that.options.onFail)) that.options.onFail.call(that.$element);
|
||||
setTimeout(function () {
|
||||
that.text.text(that.options.failedText);
|
||||
that.reset();
|
||||
}, 500);
|
||||
}
|
||||
}
|
||||
moveX = 0;
|
||||
moveY = 0;
|
||||
isMouseDown = false;
|
||||
});
|
||||
};
|
||||
|
||||
_proto.verify = function () {
|
||||
var arr = this.trail; // 拖动时y轴的移动距离
|
||||
var left = parseInt(this.block.style.left);
|
||||
var verified = false;
|
||||
var sum = function (x, y) {
|
||||
return x + y;
|
||||
};
|
||||
var square = function (x) {
|
||||
return x * x;
|
||||
};
|
||||
var average = arr.reduce(sum) / arr.length;
|
||||
var deviations = arr.map(function (x) {
|
||||
return x - average;
|
||||
});
|
||||
var stddev = Math.sqrt(deviations.map(square).reduce(sum) / arr.length);
|
||||
verified = stddev !== 0;
|
||||
return {
|
||||
spliced: Math.abs(left - this.x) < this.options.offset, //小于容差
|
||||
trail: arr,
|
||||
verified: verified, //距离
|
||||
distance: left,
|
||||
};
|
||||
};
|
||||
|
||||
_proto.reset = function () {
|
||||
this.sliderContainer.removeClass('sliderContainer_fail sliderContainer_success');
|
||||
this.slider.style.left = 0;
|
||||
this.block.style.left = 0;
|
||||
this.sliderMask.style.width = 0;
|
||||
this.clean();
|
||||
this.text.attr('data-text', this.text.text());
|
||||
this.text.html(this.options.loadingText);
|
||||
this.img.setSrc();
|
||||
};
|
||||
})(jQuery);
|
||||
|
||||
function SliderCaptchaModal(action, _btn) {
|
||||
var modal_id = 'SliderCaptcha';
|
||||
/*global captcha*/
|
||||
captcha._this = _btn;
|
||||
|
||||
if (!$('#' + modal_id).length) {
|
||||
var modal_html = '<div id="' + modal_id + '" class="modal flex jc fade" tabindex="-1" role="dialog" aria-hidden="false" style="display: none;user-select: none;z-index: 100000000;background:rgba(0,0,0,.5);"><div class="modal-mini modal-dialog" style="width: 340px;"> <div class="modal-content"><div class="modal-body"><div class="modal-colorful-header colorful-bg c-yellow" style="height: 100px;"><button class="close" data-dismiss="modal"><svg class="ic-close" aria-hidden="true"><use xlink:href="#icon-close"></use></svg></button><div class="colorful-make"></div><div class="text-center"><div class="em2x"><i class="fa fas fa-shield-alt"></i></div><div class="mt6 em12">' + aksrt__('captcha_verify_title') + '</div></div></div><div style="padding: 10px 0;margin-top: 100px;"><div class="slidercaptcha"></div></div></div></div></div></div>';
|
||||
$('body').append(modal_html);
|
||||
$('#' + modal_id + ' [data-dismiss="modal"]').on('click', hide);
|
||||
}
|
||||
|
||||
function str($str) {
|
||||
var a = get_random(11, 40);
|
||||
var b = get_random(11, 40);
|
||||
return a + '' + getPass(a) + $str + getPass(b) + b;
|
||||
}
|
||||
|
||||
function get_random(min, max) {
|
||||
return Math.round(Math.random() * (min - max) + max);
|
||||
}
|
||||
|
||||
function getPass(len) {
|
||||
var tmpCh = '';
|
||||
for (var i = 0; i < len; i++) {
|
||||
tmpCh += String.fromCharCode(Math.floor(Math.random() * 26) + 'a'.charCodeAt(0));
|
||||
}
|
||||
return tmpCh;
|
||||
}
|
||||
|
||||
function hide() {
|
||||
$('#' + modal_id).removeClass('in');
|
||||
setTimeout(function () {
|
||||
$('#' + modal_id).hide();
|
||||
}, 300);
|
||||
}
|
||||
|
||||
function show() {
|
||||
$('#' + modal_id).show();
|
||||
setTimeout(function () {
|
||||
$('#' + modal_id).addClass('in');
|
||||
$('#' + modal_id + ' .slidercaptcha').sliderCaptcha({
|
||||
onSuccess: function (res) {
|
||||
var token = captcha.token;
|
||||
var randstr = captcha.rand_str;
|
||||
delete captcha.rand_str;
|
||||
delete captcha.token;
|
||||
|
||||
if (!token || !randstr) {
|
||||
return notyf(aksrt__('captcha_data_failed'), 'danger');
|
||||
}
|
||||
|
||||
var randstr_a = get_random(1, 9);
|
||||
var randstr_b = get_random(15, 25);
|
||||
var _a = ~~token.substring(0, 2);
|
||||
var _b = ~~token.substring(token.length - 2, token.length);
|
||||
var _c = ~~token.substring(_a + 2, token.length - _b - 2);
|
||||
|
||||
//成功执行的函数
|
||||
captcha.ticket = str(res.distance);
|
||||
captcha.randstr = randstr_a + '' + randstr.substring(randstr_a, randstr_b) + randstr_b;
|
||||
captcha.spliced = res.spliced;
|
||||
captcha.trail = JSON.stringify(res.trail);
|
||||
|
||||
setTimeout(function () {
|
||||
hide();
|
||||
captcha._this.click();
|
||||
return false;
|
||||
}, 200);
|
||||
},
|
||||
setSrc: function () {
|
||||
//图片获取函数
|
||||
return _win.uri + '/img/captcha/' + Math.round(Math.random() * 20) + '.jpg';
|
||||
},
|
||||
getX: function (min, max) {
|
||||
//图片获取函数
|
||||
var $_x = get_random(min, max);
|
||||
captcha.ticket = 0;
|
||||
captcha.randstr = 0;
|
||||
captcha.spliced = 0;
|
||||
|
||||
$.ajax({
|
||||
url: _win.uri + '/action/captcha.php',
|
||||
data: {
|
||||
type: 'slider',
|
||||
randstr: str($_x),
|
||||
},
|
||||
}).done(function (data) {
|
||||
captcha.token = data.token;
|
||||
captcha.rand_str = data.rand_str;
|
||||
captcha.check = data.check;
|
||||
});
|
||||
|
||||
return $_x;
|
||||
},
|
||||
});
|
||||
}, 30);
|
||||
}
|
||||
|
||||
action === 'show' && show();
|
||||
action === 'hide' && hide();
|
||||
}
|
||||
-1
@@ -1 +0,0 @@
|
||||
function SliderCaptchaModal(t,e){function i(t){var e=n(11,40),i=n(11,40);return e+""+a(e)+t+a(i)+i}function n(t,e){return Math.round(Math.random()*(t-e)+e)}function a(t){for(var e="",i=0;i<t;i++)e+=String.fromCharCode(Math.floor(26*Math.random())+"a".charCodeAt(0));return e}function s(){$("#"+r).removeClass("in"),setTimeout(function(){$("#"+r).hide()},300)}function o(){$("#"+r).show(),setTimeout(function(){$("#"+r).addClass("in"),$("#"+r+" .slidercaptcha").sliderCaptcha({onSuccess:function(t){var e=captcha.token,a=captcha.rand_str;if(delete captcha.rand_str,delete captcha.token,!e||!a)return notyf(aksrt__("captcha_data_failed"),"danger");var o=n(1,9),r=n(15,25),c=~~e.substring(0,2),l=~~e.substring(e.length-2,e.length);e.substring(c+2,e.length-l-2);captcha.ticket=i(t.distance),captcha.randstr=o+""+a.substring(o,r)+r,captcha.spliced=t.spliced,captcha.trail=JSON.stringify(t.trail),setTimeout(function(){return s(),captcha._this.click(),!1},200)},setSrc:function(){return _win.uri+"/img/captcha/"+Math.round(20*Math.random())+".jpg"},getX:function(t,e){var a=n(t,e);return captcha.ticket=0,captcha.randstr=0,captcha.spliced=0,$.ajax({url:_win.uri+"/action/captcha.php",data:{type:"slider",randstr:i(a)}}).done(function(t){captcha.token=t.token,captcha.rand_str=t.rand_str,captcha.check=t.check}),a}})},30)}var r="SliderCaptcha";if(captcha._this=e,!$("#"+r).length){var c='<div id="'+r+'" class="modal flex jc fade" tabindex="-1" role="dialog" aria-hidden="false" style="display: none;user-select: none;z-index: 100000000;background:rgba(0,0,0,.5);"><div class="modal-mini modal-dialog" style="width: 340px;"> <div class="modal-content"><div class="modal-body"><div class="modal-colorful-header colorful-bg c-yellow" style="height: 100px;"><button class="close" data-dismiss="modal"><svg class="ic-close" aria-hidden="true"><use xlink:href="#icon-close"></use></svg></button><div class="colorful-make"></div><div class="text-center"><div class="em2x"><i class="fa fas fa-shield-alt"></i></div><div class="mt6 em12">'+aksrt__("captcha_verify_title")+'</div></div></div><div style="padding: 10px 0;margin-top: 100px;"><div class="slidercaptcha"></div></div></div></div></div></div>';$("body").append(c),$("#"+r+' [data-dismiss="modal"]').on("click",s)}"show"===t&&o(),"hide"===t&&s()}(function(t){"use strict";function e(e){return this.each(function(){var n=t(this),a=n.data("lgb.SliderCaptcha"),s="object"==typeof e&&e;a&&!/reset/.test(e)&&t(a.refreshIcon).click(),a||n.data("lgb.SliderCaptcha",a=new i(this,s)),"string"==typeof e&&a[e]()})}var i=function(e,n){this.$element=t(e),this.options=t.extend({},i.DEFAULTS,n),this.$element.css({position:"relative",width:this.options.width+"px",margin:"0 auto"}),this.init()};i.DEFAULTS={width:280,height:170,PI:Math.PI,sliderL:42,sliderR:9,offset:8,loadingText:'<i class="loading mr6"></i>'+aksrt__("loading"),failedText:aksrt__("captcha_retry"),barText:aksrt__("captcha_slide_hint"),repeatIcon:"fa fas fa-sync-alt",maxLoadCount:3,onFail:function(){},onSuccess:function(){},setSrc:function(){return""},getX:null},t.fn.sliderCaptcha=e,t.fn.sliderCaptcha.Constructor=i;var n=i.prototype;n.init=function(){this.initDOM(),this.initImg(),this.bindEvents()},n.initDOM=function(){var e=function(t,e){var i=document.createElement(t);return i.className=e,i},i=function(t,e){var i=document.createElement("canvas");return i.width=t,i.height=e,i},n=i(this.options.width-2,this.options.height),a=n.cloneNode(!0),s=e("div","sliderContainer"),o=e("botton","refreshIcon "+this.options.repeatIcon),r=e("div","sliderMask"),c=e("div","captcha-slider"),l=e("i","fa fas fa-chevron-right sliderIcon"),d=e("span","sliderText");n.className="captcha-body-bg placeholder",a.className="captcha-body-bar",d.innerHTML=this.options.barText;var h=this.$element;h.html(t(n)),h.append(t(o)),h.append(t(a)),c.appendChild(l),s.appendChild(r),s.appendChild(c),s.appendChild(d),h.append(t(s));var p={canvas:n,block:a,sliderContainer:t(s),refreshIcon:o,slider:c,sliderMask:r,sliderIcon:l,text:t(d),canvasCtx:n.getContext("2d"),blockCtx:a.getContext("2d")};t.isFunction(Object.assign)?Object.assign(this,p):t.extend(this,p)},n.initImg=function(){var e=this,i=window.navigator.userAgent.indexOf("Trident")>-1,n=this.options.sliderL+2*this.options.sliderR+3,a=function(t,n){var a=e.options.sliderL,s=e.options.sliderR,o=e.options.PI,r=e.x,c=e.y;t.beginPath(),t.moveTo(r,c),t.arc(r+a/2,c-s+2,s,.72*o,2.26*o),t.lineTo(r+a,c),t.arc(r+a+s-2,c+a/2,s,1.21*o,2.78*o),t.lineTo(r+a,c+a),t.lineTo(r,c+a),t.arc(r+s-2,c+a/2,s+.4,2.76*o,1.24*o,!0),t.lineTo(r,c),t.lineWidth=2,t.fillStyle="rgba(100, 100, 100, 0.7)",t.strokeStyle="rgba(255, 255, 255, 0.5)",t.stroke(),t[n](),t.globalCompositeOperation=i?"xor":"destination-over"},s=function(t,e){return Math.round(Math.random()*(e-t)+t)},o=function(i,n){return t.isFunction(e.options.getX)?e.options.getX(i,n):s(i,n)},r=new Image;r.crossOrigin="Anonymous";var c=0;r.onload=function(){e.x=o(n+10,e.options.width-(n+10)),e.y=s(10+2*e.options.sliderR,e.Line truncated
|
||||
Reference in new issue
Block a user