captcha-web-sdk 1.0.1 → 1.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,6 +1,6 @@
1
- #captcha-web-sdk-parent{box-shadow:0 0 11px 0 #999;width:318px;height:318px;overflow:hidden;position:relative;z-index:997;box-sizing:border-box;border-radius:5px;padding:8px}#captcha-web-sdk-parent #captcha-web-sdk-box{height:260px;width:100%;position:relative;overflow:hidden}#captcha-web-sdk-parent #captcha-web-sdk-box .loading{width:120px;height:20px;-webkit-mask:linear-gradient(90deg, #000 70%, rgba(0, 0, 0, 0) 0) 0/20%;background:linear-gradient(#f7b645 0 0) 0/0% no-repeat rgba(221,221,221,.4196078431);animation:cartoon 1s infinite steps(6);margin:120px auto}@keyframes cartoon{100%{background-size:120%}}#captcha-web-sdk-parent #captcha-web-sdk-box #captcha-web-sdk{transform-style:preserve-3d;will-change:transform;transition-duration:.45s;transform:translateX(-300px)}#captcha-web-sdk-parent #captcha-web-sdk-bg-img{background-color:#fff;background-position:top;background-size:cover;z-index:-1;width:100%;height:100%;top:0;left:0;position:absolute;border-radius:6px}#captcha-web-sdk-parent .slider-bottom{height:19px;width:100%}#captcha-web-sdk-parent .slider-bottom .close-btn{width:20px;height:20px;background-image:url(../../tac/images/icon.png);background-repeat:no-repeat;background-position:0 -14px;float:right;margin-right:2px;cursor:pointer}#captcha-web-sdk-parent .slider-bottom .refresh-btn{width:20px;height:20px;background-image:url(../../tac/images/icon.png);background-position:0 -167px;background-repeat:no-repeat;float:right;margin-right:10px;cursor:pointer}#captcha-web-sdk-parent .slider-bottom .logo{height:30px;float:left}#captcha-web-sdk-parent .slider-move-shadow{animation:myanimation 2s infinite;height:100%;width:5px;background-color:#fff;position:absolute;top:0;left:0;filter:opacity(0.5);box-shadow:1px 1px 1px #fff;border-radius:50%}#captcha-web-sdk-parent #captcha-web-sdk-slider-move-track-mask{border-width:1px;border-style:solid;border-color:#00f4ab;width:0;height:32px;background-color:#a9ffe5;opacity:.5;position:absolute;top:-1px;left:-1px;border-radius:5px}
2
- #captcha-web-sdk{text-align:left;box-sizing:content-box;width:300px;height:260px;z-index:999}#captcha-web-sdk .slider-bottom .logo{height:30px}#captcha-web-sdk .slider-bottom{height:19px;width:100%}#captcha-web-sdk .content .captcha-web-sdk-tips{height:25px;width:100%;position:absolute;bottom:-25px;left:0;z-index:999;font-size:15px;line-height:25px;color:#fff;text-align:center;transition:bottom .3s ease-in-out}#captcha-web-sdk .content .captcha-web-sdk-tips.captcha-web-sdk-tips-error{background-color:#ff5d39}#captcha-web-sdk .content .captcha-web-sdk-tips.captcha-web-sdk-tips-success{background-color:#39c522}#captcha-web-sdk .content .captcha-web-sdk-tips.captcha-web-sdk-tips-on{bottom:0}#captcha-web-sdk .content #captcha-web-sdk-loading{z-index:9999;background-color:#f5f5f5;text-align:center;height:100%;overflow:hidden;position:relative;display:flex;justify-content:center;align-items:center}#captcha-web-sdk .content #captcha-web-sdk-loading img{display:block;width:45px;height:45px}#captcha-web-sdk #captcha-web-sdk-slider-bg-canvas{position:absolute;left:0;top:0;width:100%;height:100%;border-radius:5px}#captcha-web-sdk #captcha-web-sdk-slider-bg-div{position:absolute;left:0;top:0;width:100%;height:100%;border-radius:5px}#captcha-web-sdk #captcha-web-sdk-slider-bg-div .captcha-web-sdk-slider-bg-div-slice{position:absolute}@keyframes myanimation{from{left:0}to{left:289px}}
3
- #captcha-web-sdk.captcha-web-sdk-slider{z-index:999;position:absolute;left:0;top:0;display:flex;flex-direction:column;height:100%;user-select:none}#captcha-web-sdk.captcha-web-sdk-slider .content{width:100%;height:auto;min-height:0;flex:1 1 auto;position:relative;overflow:hidden}#captcha-web-sdk.captcha-web-sdk-slider .bg-img-div{width:100%;height:100%;position:absolute;transform:translate(0px, 0px)}#captcha-web-sdk.captcha-web-sdk-slider .bg-img-div img{height:100%;width:100%;border-radius:5px}#captcha-web-sdk.captcha-web-sdk-slider .slider-img-div{height:100%;position:absolute;left:0;transform:translate(0px, 0px)}#captcha-web-sdk.captcha-web-sdk-slider .slider-img-div #captcha-web-sdk-slider-move-img{height:100%}#captcha-web-sdk.captcha-web-sdk-slider .slider-move{height:34px;width:100%;margin:8px 0 0;position:relative;flex:0 0 auto}#captcha-web-sdk.captcha-web-sdk-slider .slider-move-track{position:relative;height:32px;line-height:32px;text-align:center;background:#f5f5f5;color:#999;transition:0s;font-size:14px;box-sizing:content-box;border:1px solid #f5f5f5;border-radius:4px}#captcha-web-sdk.captcha-web-sdk-slider .refresh-btn,#captcha-web-sdk.captcha-web-sdk-slider .close-btn{display:inline-block}#captcha-web-sdk.captcha-web-sdk-slider .slider-move{line-height:38px;font-size:14px;text-align:center;white-space:nowrap;color:#88949d;-moz-user-select:none;-webkit-user-select:none;user-select:none;filter:opacity(0.8)}#captcha-web-sdk.captcha-web-sdk-slider .slider-move .slider-move-btn{transform:translate(0px, 0px);position:absolute;top:-6px;left:0;width:63px;height:45px;background-color:#fff;background-repeat:no-repeat;background-size:contain;border-radius:5px}#captcha-web-sdk.captcha-web-sdk-slider .slider-tip{margin-bottom:6px;font-weight:bold;font-size:15px;line-height:1.35;color:#000;flex:0 0 auto}#captcha-web-sdk.captcha-web-sdk-slider .slider-tip #captcha-web-sdk-slider-move-track-font{display:block;max-height:2.7em;overflow:hidden;white-space:normal;word-break:break-word;overflow-wrap:anywhere}#captcha-web-sdk.captcha-web-sdk-slider .slider-move-btn:hover{cursor:pointer}
1
+ #captcha-web-sdk-parent{--captcha-primary: #0f6fdc;--captcha-primary-strong: #0a58b6;--captcha-primary-soft: #e9f3ff;--captcha-surface: #ffffff;--captcha-surface-soft: #f7fafc;--captcha-border: #dbe7f3;--captcha-text: #18222d;--captcha-text-muted: #6d7b8a;--captcha-success: #0f9f6e;--captcha-error: #e85b52;box-shadow:0 16px 36px rgba(15,23,42,.14);width:348px;min-height:388px;overflow:hidden;position:relative;z-index:997;box-sizing:border-box;border-radius:8px;padding:14px 14px 12px;background:linear-gradient(180deg, rgba(255, 255, 255, 0.98) 0%, #f8fbff 100%)}#captcha-web-sdk-parent .captcha-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px;position:relative;z-index:1}#captcha-web-sdk-parent .captcha-heading{min-width:0;flex:1 1 auto}#captcha-web-sdk-parent .captcha-title{color:var(--captcha-text);font-size:20px;line-height:1.25;font-weight:700;letter-spacing:-0.03em}#captcha-web-sdk-parent .captcha-subtitle{color:var(--captcha-text-muted);font-size:12px;line-height:1.45;margin-top:4px}#captcha-web-sdk-parent .captcha-icon-btn{width:32px;height:32px;flex:0 0 32px;border:0;background:rgba(0,0,0,0);border-radius:0;cursor:pointer;position:relative;box-shadow:none;transition:color .2s ease,transform .2s ease}#captcha-web-sdk-parent .captcha-icon-btn:hover{background-color:rgba(0,0,0,0)}#captcha-web-sdk-parent .captcha-icon-btn:focus-visible{outline:3px solid rgba(15,111,220,.18);outline-offset:2px}#captcha-web-sdk-parent .captcha-icon-btn:before,#captcha-web-sdk-parent .captcha-icon-btn:after{content:"";position:absolute;left:15px;top:7px;width:2px;height:18px;border-radius:999px;background:#8e9aa8}#captcha-web-sdk-parent .captcha-icon-btn:before{transform:rotate(45deg)}#captcha-web-sdk-parent .captcha-icon-btn:after{transform:rotate(-45deg)}#captcha-web-sdk-parent #captcha-web-sdk-box{height:260px;width:100%;position:relative;overflow:hidden;border-radius:8px;background:rgba(0,0,0,0)}#captcha-web-sdk-parent #captcha-web-sdk-box .loading{width:120px;height:20px;-webkit-mask:linear-gradient(90deg, #000 70%, rgba(0, 0, 0, 0) 0) 0/20%;background:linear-gradient(var(--captcha-primary) 0 0) 0/0% no-repeat rgba(15,111,220,.15);animation:cartoon 1s infinite steps(6);margin:120px auto}@keyframes cartoon{100%{background-size:120%}}#captcha-web-sdk-parent #captcha-web-sdk-box #captcha-web-sdk{transform-style:preserve-3d;will-change:transform;transition-duration:.45s;transform:translateX(-300px)}#captcha-web-sdk-parent #captcha-web-sdk-bg-img{background-color:#fff;background-position:top;background-size:cover;z-index:-1;width:100%;height:100%;top:0;left:0;position:absolute;border-radius:8px}#captcha-web-sdk-parent .slider-bottom{margin-top:12px;min-height:32px;display:flex;align-items:center;justify-content:space-between;gap:12px}#captcha-web-sdk-parent .slider-bottom .captcha-action-btn{display:inline-flex;align-items:center;gap:8px;min-height:32px;padding:0 12px;border:0;background:rgba(255,255,255,.94);color:#405060;border-radius:999px;font-size:12px;font-weight:600;cursor:pointer;box-shadow:0 8px 20px rgba(15,23,42,.1);transition:background-color .2s ease,color .2s ease,transform .2s ease,box-shadow .2s ease}#captcha-web-sdk-parent .slider-bottom .refresh-btn.captcha-action-btn{min-height:20px;width:20px;height:20px;padding:0;gap:0;background:rgba(0,0,0,0);box-shadow:none;border-radius:0}#captcha-web-sdk-parent .slider-bottom .refresh-btn.captcha-action-btn:hover{background:rgba(0,0,0,0);box-shadow:none;color:var(--captcha-primary)}#captcha-web-sdk-parent .slider-bottom .captcha-action-btn:hover{background:#fff;color:var(--captcha-primary);box-shadow:0 10px 24px rgba(15,23,42,.12)}#captcha-web-sdk-parent .slider-bottom .captcha-action-btn:focus-visible{outline:3px solid rgba(15,111,220,.18);outline-offset:2px}#captcha-web-sdk-parent .slider-bottom .captcha-action-icon{position:relative;width:20px;height:20px;display:inline-block;flex:0 0 20px}#captcha-web-sdk-parent .slider-bottom .captcha-action-icon-refresh{background-image:url(../../tac/images/icon.png);background-repeat:no-repeat;background-position:0 -167px}#captcha-web-sdk-parent .slider-bottom .refresh-btn .captcha-action-text{display:none}#captcha-web-sdk-parent .slider-bottom .captcha-action-btn.is-refreshing .captcha-action-icon-refresh{animation:captcha-refresh-spin .65s ease-in-out}#captcha-web-sdk-parent .slider-bottom .logo{height:18px;width:auto;object-fit:contain;margin-left:auto;opacity:.72}#captcha-web-sdk-parent .slider-move-shadow{animation:myanimation 2s infinite;height:100%;width:24px;background:linear-gradient(90deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.9) 55%, rgba(255, 255, 255, 0) 100%);position:absolute;top:0;left:0;filter:opacity(0.7);border-radius:999px}#captcha-web-sdk-parent #captcha-web-sdk-slider-move-track-mask{border-width:0;width:0;height:100%;background:linear-gradient(90deg, rgba(15, 111, 220, 0.18) 0%, rgba(14, 165, 233, 0.28) 100%);opacity:1;position:absolute;top:0;left:0;border-radius:999px}@keyframes captcha-refresh-spin{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}
2
+ #captcha-web-sdk{text-align:left;box-sizing:content-box;width:300px;height:260px;z-index:999;color:var(--captcha-text)}#captcha-web-sdk .slider-bottom .logo{height:30px}#captcha-web-sdk .slider-bottom{height:19px;width:100%}#captcha-web-sdk .content .captcha-web-sdk-tips{min-height:30px;width:100%;position:absolute;bottom:-32px;left:0;z-index:999;font-size:12px;line-height:1.35;padding:6px 10px;color:#fff;text-align:center;box-sizing:border-box;transition:bottom .3s ease-in-out;border-bottom-left-radius:8px;border-bottom-right-radius:8px}#captcha-web-sdk .content .captcha-web-sdk-tips.captcha-web-sdk-tips-error{background:rgba(232,91,82,.96)}#captcha-web-sdk .content .captcha-web-sdk-tips.captcha-web-sdk-tips-success{background:rgba(15,159,110,.96)}#captcha-web-sdk .content .captcha-web-sdk-tips.captcha-web-sdk-tips-on{bottom:0}#captcha-web-sdk .content #captcha-web-sdk-loading{z-index:9999;background-color:#f7fafc;text-align:center;height:100%;overflow:hidden;position:relative;display:flex;justify-content:center;align-items:center}#captcha-web-sdk .content #captcha-web-sdk-loading img{display:block;width:45px;height:45px}#captcha-web-sdk #captcha-web-sdk-slider-bg-canvas{position:absolute;left:0;top:0;width:100%;height:100%;border-radius:8px}#captcha-web-sdk #captcha-web-sdk-slider-bg-div{position:absolute;left:0;top:0;width:100%;height:100%;border-radius:8px}#captcha-web-sdk #captcha-web-sdk-slider-bg-div .captcha-web-sdk-slider-bg-div-slice{position:absolute}@keyframes myanimation{from{left:0}to{left:289px}}
3
+ #captcha-web-sdk.captcha-web-sdk-slider{z-index:999;position:absolute;left:0;top:0;display:flex;flex-direction:column;height:100%;user-select:none}#captcha-web-sdk.captcha-web-sdk-slider .content{width:100%;height:auto;min-height:0;flex:1 1 auto;position:relative;overflow:hidden;border-radius:8px;background:linear-gradient(180deg, #ffffff 0%, #f8fbff 100%);box-shadow:inset 0 0 0 1px rgba(255,255,255,.9),0 8px 18px rgba(15,23,42,.06)}#captcha-web-sdk.captcha-web-sdk-slider .bg-img-div{width:100%;height:100%;position:absolute;transform:translate(0px, 0px)}#captcha-web-sdk.captcha-web-sdk-slider .bg-img-div img{height:100%;width:100%;border-radius:8px;object-fit:cover}#captcha-web-sdk.captcha-web-sdk-slider .slider-img-div{height:100%;position:absolute;left:0;transform:translate(0px, 0px)}#captcha-web-sdk.captcha-web-sdk-slider .slider-img-div #captcha-web-sdk-slider-move-img{height:100%}#captcha-web-sdk.captcha-web-sdk-slider .slider-move{height:40px;width:100%;margin:10px 0 0;position:relative;flex:0 0 auto}#captcha-web-sdk.captcha-web-sdk-slider .slider-move-track{position:relative;height:40px;line-height:40px;text-align:center;background:linear-gradient(180deg, #f7fafc 0%, #edf3f8 100%);color:#8a97a6;transition:0s;font-size:12px;box-sizing:content-box;border-radius:999px;overflow:hidden;box-shadow:inset 0 0 0 1px rgba(255,255,255,.95),0 6px 16px rgba(15,23,42,.06)}#captcha-web-sdk.captcha-web-sdk-slider .refresh-btn,#captcha-web-sdk.captcha-web-sdk-slider .close-btn{display:inline-block}#captcha-web-sdk.captcha-web-sdk-slider .slider-move{line-height:40px;font-size:12px;text-align:center;white-space:nowrap;color:#88949d;-moz-user-select:none;-webkit-user-select:none;user-select:none;filter:opacity(0.8)}#captcha-web-sdk.captcha-web-sdk-slider .slider-move-track-text{position:relative;z-index:2;display:block;padding:0 56px 0 62px;font-size:12px;font-weight:600;line-height:40px;color:#7b8794;overflow:hidden;text-overflow:ellipsis}#captcha-web-sdk.captcha-web-sdk-slider .slider-move .slider-move-btn{transform:translate(0px, 0px);position:absolute;top:2px;left:0;width:52px;height:36px;background:linear-gradient(180deg, #ffffff 0%, #f5f9ff 100%);background-repeat:no-repeat;background-size:18px 18px;background-position:center center;border-radius:999px;box-shadow:0 6px 14px rgba(15,111,220,.16);z-index:3}#captcha-web-sdk.captcha-web-sdk-slider .slider-move .slider-move-btn:before,#captcha-web-sdk.captcha-web-sdk-slider .slider-move .slider-move-btn:after{content:"";position:absolute;top:50%;width:8px;height:8px;margin-top:-5px;border-top:2px solid var(--captcha-primary);border-right:2px solid var(--captcha-primary);transform:rotate(45deg)}#captcha-web-sdk.captcha-web-sdk-slider .slider-move .slider-move-btn:before{left:16px}#captcha-web-sdk.captcha-web-sdk-slider .slider-move .slider-move-btn:after{left:23px}#captcha-web-sdk.captcha-web-sdk-slider .slider-tip{margin-bottom:8px;font-weight:600;font-size:12px;line-height:1.45;color:#4a5a6a;flex:0 0 auto}#captcha-web-sdk.captcha-web-sdk-slider .slider-tip #captcha-web-sdk-slider-move-track-font{display:block;max-height:2.7em;overflow:hidden;white-space:normal;word-break:break-word;overflow-wrap:anywhere}#captcha-web-sdk.captcha-web-sdk-slider .slider-move-btn:hover{cursor:pointer}
4
4
  #captcha-web-sdk.captcha-web-sdk-rotate .rotate-img-div{height:100%;text-align:center}#captcha-web-sdk.captcha-web-sdk-rotate .rotate-img-div img{height:100%;transform:rotate(0deg);display:inline-block}
5
5
  #captcha-web-sdk.captcha-web-sdk-concat .captcha-web-sdk-slider-concat-img-div{background-size:100% 100%;position:absolute;transform:translate(0px, 0px);z-index:1;width:100%}#captcha-web-sdk.captcha-web-sdk-concat .captcha-web-sdk-slider-concat-bg-img{width:100%;height:100%;position:absolute;transform:translate(0px, 0px);background-size:100% 100%}
6
6
  #captcha-web-sdk.captcha-web-sdk-word-click{box-sizing:border-box;display:flex;flex-direction:column;height:100%}#captcha-web-sdk.captcha-web-sdk-word-click .click-tip{position:relative;min-height:40px;width:100%;margin-bottom:6px;padding-right:56px;box-sizing:border-box;flex:0 0 auto}#captcha-web-sdk.captcha-web-sdk-word-click .click-tip .tip-img{height:35px;position:absolute;right:15px;top:0}#captcha-web-sdk.captcha-web-sdk-word-click .click-tip #captcha-web-sdk-click-track-font{font-size:18px;display:block;max-height:2.7em;overflow:hidden;line-height:1.35;white-space:normal;word-break:break-word;overflow-wrap:anywhere;position:static}#captcha-web-sdk.captcha-web-sdk-word-click .slider-bottom{position:relative;top:6px}#captcha-web-sdk.captcha-web-sdk-word-click .content{flex:1 1 auto;min-height:0}#captcha-web-sdk.captcha-web-sdk-word-click .content #bg-img-click-mask{width:100%;height:100%;position:absolute;left:0;top:0}#captcha-web-sdk.captcha-web-sdk-word-click .content #bg-img-click-mask .click-span{position:absolute;left:0;top:0;border-radius:50px;background-color:#409eff;width:20px;height:20px;text-align:center;line-height:20px;color:#fff;border:2px solid #fff;box-sizing:content-box}#captcha-web-sdk.captcha-web-sdk-word-click .click-confirm-btn{width:100%;height:35px;border-radius:4px;background-image:linear-gradient(173deg, hsl(38.09, 91%, 57.89%) 0%, hsl(38.09, 89.38%, 71.74%) 100%);font-size:15px;text-align:center;box-sizing:border-box;line-height:35px;color:#fff;margin-top:8px;flex:0 0 auto}#captcha-web-sdk.captcha-web-sdk-word-click .click-confirm-btn:hover{cursor:pointer}
@@ -1 +1 @@
1
- !function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define("CaptchaWebSdk",[],e):"object"==typeof exports?exports.CaptchaWebSdk=e():t.CaptchaWebSdk=e()}(this,(function(){return function(){"use strict";var t={d:function(e,n){for(var r in n)t.o(n,r)&&!t.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:n[r]})},o:function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},r:function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})}},e={};function n(t){return n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},n(t)}function r(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function i(t,e){for(var r=0;r<e.length;r++){var i=e[r];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,(a=i.key,o=void 0,o=function(t,e){if("object"!==n(t)||null===t)return t;var r=t[Symbol.toPrimitive];if(void 0!==r){var i=r.call(t,e||"default");if("object"!==n(i))return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===e?String:Number)(t)}(a,"string"),"symbol"===n(o)?o:String(o)),i)}var a,o}function a(t,e,n){return e&&i(t.prototype,e),n&&i(t,n),Object.defineProperty(t,"prototype",{writable:!1}),t}t.r(e),t.d(e,{CaptchaConfig:function(){return vt},CaptchaWebSdk:function(){return mt},default:function(){return gt}});function o(t){t.preventDefault&&t.preventDefault()}function c(t){y(t).each((function(t){t.addEventListener("touchmove",o,{passive:!1}),t.addEventListener("mousemove",o,{passive:!1})}))}function s(t){return null!==t.pageX&&void 0!==t.pageX?{x:Math.round(t.pageX),y:Math.round(t.pageY)}:(t.changedTouches?e=t.changedTouches:t.targetTouches?e=t.targetTouches:t.originalEvent&&t.originalEvent.targetTouches&&(e=t.originalEvent.targetTouches),null!==e[0].pageX&&void 0!==e[0].pageX?{x:Math.round(e[0].pageX),y:Math.round(e[0].pageY)}:{x:Math.round(e[0].clientX),y:Math.round(e[0].clientY)});var e}function u(t,e){var n=s(e),r=n.x,i=n.y;t.currentCaptchaData.startX=r,t.currentCaptchaData.startY=i;var a=t.currentCaptchaData.trackList;t.currentCaptchaData.startTime=new Date;var o=t.currentCaptchaData.startTime;a.push({x:n.x,y:n.y,type:"down",t:(new Date).getTime()-o.getTime()}),t.__m__=l.bind(null,t),t.__u__=f.bind(null,t),window.addEventListener("mousemove",t.__m__),window.addEventListener("mouseup",t.__u__),window.addEventListener("touchmove",t.__m__,!1),window.addEventListener("touchend",t.__u__,!1),t&&t.doDown&&t.doDown(e,t)}function l(t,e){e.touches&&e.touches.length>0&&(e=e.touches[0]);var n=s(e),r=n.x,i=n.y,a=t.currentCaptchaData.startX,o=t.currentCaptchaData.startY,c=t.currentCaptchaData.startTime,u=t.currentCaptchaData.end,l=(t.currentCaptchaData.bgImageWidth,t.currentCaptchaData.trackList),d=r-a,f=i-o,h={x:n.x,y:n.y,type:"move",t:(new Date).getTime()-c.getTime()};l.push(h),d<0?d=0:d>u&&(d=u),t.currentCaptchaData.moveX=d,t.currentCaptchaData.moveY=f,t.doMove&&t.doMove(e,t)}function d(t){t&&(t.__m__&&(window.removeEventListener("mousemove",t.__m__),window.removeEventListener("touchmove",t.__m__)),t.__u__&&(window.removeEventListener("mouseup",t.__u__),window.removeEventListener("touchend",t.__u__)))}function f(t,e){d(t);var n=s(e);t.currentCaptchaData.stopTime=new Date;var r=t.currentCaptchaData.startTime,i=t.currentCaptchaData.trackList,a={x:n.x,y:n.y,type:"up",t:(new Date).getTime()-r.getTime()};i.push(a),t.doUp&&t.doUp(e,t),t.endCallback(t.currentCaptchaData,t)}function h(t,e,n,r,i){var a={startTime:new Date,trackList:[],movePercent:0,clickCount:0,bgImageWidth:Math.round(t),bgImageHeight:Math.round(e),templateImageWidth:Math.round(n),templateImageHeight:Math.round(r),end:i};return a}function p(t,e){y(t).find("#captcha-web-sdk-tips").removeClass("captcha-web-sdk-tips-on"),e&&setTimeout(e,.35)}function v(t,e,n,r){var i=y(t).find("#captcha-web-sdk-tips");i.text(e),1===n?(i.removeClass("captcha-web-sdk-tips-error"),i.addClass("captcha-web-sdk-tips-success")):(i.removeClass("captcha-web-sdk-tips-success"),i.addClass("captcha-web-sdk-tips-error")),i.addClass("captcha-web-sdk-tips-on"),setTimeout(r,1e3)}var b=function(){function t(){r(this,t)}return a(t,[{key:"showTips",value:function(t,e,n){v(this.el,t,e,n)}},{key:"closeTips",value:function(t,e){p(this.el,t)}}]),t}();function y(t,e){return new m(t,e)}var m=function(){function t(e,i){if(r(this,t),i&&"object"===n(i)&&void 0!==i.nodeType)return this.dom=i,void(this.domStr=e);if(e instanceof t)this.dom=e.dom,this.domStr=e.domStr;else if("string"==typeof e)this.dom=document.querySelector(e),this.domStr=e;else{if("object"!==("undefined"==typeof document?"undefined":n(document))||void 0===document.nodeType)throw new Error("不支持的类型");this.dom=e,this.domStr=e.nodeName}}return a(t,[{key:"each",value:function(t){this.getTarget().querySelectorAll("*").forEach(t)}},{key:"removeClass",value:function(t){var e=this.getTarget();if(e.classList)e.classList.remove(t);else{var n=e.className,r=new RegExp("(?:^|\\s)"+t+"(?!\\S)","g");e.className=n.replace(r,"")}return this}},{key:"addClass",value:function(t){var e=this.getTarget();if(e.classList)e.classList.add(t);else{var n=e.className;-1===n.indexOf(t)&&(e.className=n+" "+t)}return this}},{key:"find",value:function(e){var n=this.getTarget().querySelector(e);return n?new t(e,n):null}},{key:"children",value:function(e){for(var n=this.getTarget().childNodes,r=0;r<n.length;r++)if(1===n[r].nodeType&&n[r].matches(e))return new t(e,n[r]);return null}},{key:"remove",value:function(){return this.getTarget().remove(),null}},{key:"css",value:function(t,e){if("string"==typeof t&&"string"==typeof e)this.getTarget().style[t]=e;else if("object"===n(t))for(var r in t)t.hasOwnProperty(r)&&(this.getTarget().style[r]=t[r]);else if("string"==typeof t&&void 0===e)return window.getComputedStyle(element)[t]}},{key:"attr",value:function(t,e){return void 0===e?this.getTarget().getAttribute(t):(this.getTarget().setAttribute(t,e),this)}},{key:"text",value:function(t){return this.getTarget().innerText=t,this}},{key:"html",value:function(t){return this.getTarget().innerHtml=t,this}},{key:"is",value:function(e){return e&&"object"===n(e)&&void 0!==e.nodeType?this.dom===e:e instanceof t?this.dom===e.dom:void 0}},{key:"append",value:function(t){if("string"==typeof t)this.getTarget().insertAdjacentHTML("beforeend",t);else{if(!(t instanceof HTMLElement))throw new Error("Invalid content type");this.getTarget().appendChild(t)}return this}},{key:"click",value:function(t){return this.on("click",t),this}},{key:"mousedown",value:function(t){return this.on("mousedown",t),this}},{key:"touchstart",value:function(t){return this.on("touchstart",t),this}},{key:"on",value:function(t,e){return this.getTarget().addEventListener(t,e,{passive:!0}),this}},{key:"width",value:function(){return this.getTarget().offsetWidth}},{key:"height",value:function(){return this.getTarget().offsetHeight}},{key:"getTarget",value:function(){if(this.dom)return this.dom;throw new Error("dom不存在: ["+this.domStr+"]")}}]),t}();function g(t){return g="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},g(t)}function w(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,(i=r.key,a=void 0,a=function(t,e){if("object"!==g(t)||null===t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var r=n.call(t,e||"default");if("object"!==g(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===e?String:Number)(t)}(i,"string"),"symbol"===g(a)?a:String(a)),r)}var i,a}function k(t,e){return k=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(t,e){return t.__proto__=e,t},k(t,e)}function C(t){var e=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(t){return!1}}();return function(){var n,r=S(t);if(e){var i=S(this).constructor;n=Reflect.construct(r,arguments,i)}else n=r.apply(this,arguments);return function(t,e){if(e&&("object"===g(e)||"function"==typeof e))return e;if(void 0!==e)throw new TypeError("Derived constructors may only return object or undefined");return function(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}(t)}(this,n)}}function S(t){return S=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(t){return t.__proto__||Object.getPrototypeOf(t)},S(t)}var T=function(t){!function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),Object.defineProperty(t,"prototype",{writable:!1}),e&&k(t,e)}(a,t);var e,n,r,i=C(a);function a(t,e){var n;return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,a),(n=i.call(this)).boxEl=t,n.styleConfig=e,n.type="SLIDER",n.currentCaptchaData={},n}return e=a,n=[{key:"init",value:function(t,e,n){return this.destroy(),this.boxEl.append(function(t){return'\n<div id="captcha-web-sdk" class="captcha-web-sdk-slider">\n <div class="slider-tip">\n <span id="captcha-web-sdk-slider-move-track-font" style="font-size: '.concat(t.i18n.slider_title_size,'">').concat(t.i18n.slider_title,'</span>\n </div>\n <div class="content">\n <div class="bg-img-div">\n <img id="captcha-web-sdk-slider-bg-img" src="" alt/>\n <canvas id="captcha-web-sdk-slider-bg-canvas"></canvas>\n <div id="captcha-web-sdk-slider-bg-div"></div>\n </div>\n <div class="slider-img-div" id="captcha-web-sdk-slider-img-div">\n <img id="captcha-web-sdk-slider-move-img" src="" alt/>\n </div>\n <div class="captcha-web-sdk-tips" id="captcha-web-sdk-tips"></div>\n </div>\n <div class="slider-move">\n <div class="slider-move-track">\n <div id="captcha-web-sdk-slider-move-track-mask"></div>\n <div class="slider-move-shadow"></div>\n </div>\n <div class="slider-move-btn" id="captcha-web-sdk-slider-move-btn">\n </div>\n </div>\n\n</div>\n')}(this.styleConfig)),this.el=this.boxEl.find("#captcha-web-sdk"),this.loadStyle(),this.el.find("#captcha-web-sdk-slider-move-btn").mousedown(u.bind(null,this)),this.el.find("#captcha-web-sdk-slider-move-btn").touchstart(u.bind(null,this)),this.loadCaptchaForData(this,t),this.endCallback=e,n&&n(this),this}},{key:"showTips",value:function(t,e,n){v(this.el,t,e,n)}},{key:"closeTips",value:function(t){p(this.el,t)}},{key:"destroy",value:function(){var t=this.boxEl.children("#captcha-web-sdk");t&&t.remove(),d()}},{key:"doMove",value:function(){var t=this.currentCaptchaData.moveX;this.el.find("#captcha-web-sdk-slider-move-btn").css("transform","translate("+t+"px, 0px)"),this.el.find("#captcha-web-sdk-slider-img-div").css("transform","translate("+t+"px, 0px)"),this.el.find("#captcha-web-sdk-slider-move-track-mask").css("width",t+"px")}},{key:"loadStyle",value:function(){var t="",e="#00f4ab",n="#a9ffe5",r=this.styleConfig;r&&(t=r.btnUrl,n=r.moveTrackMaskBgColor,e=r.moveTrackMaskBorderColor),this.el.find(".slider-move .slider-move-btn").css("background-image","url("+t+")"),this.el.find("#captcha-web-sdk-slider-move-track-mask").css("border-color",e),this.el.find("#captcha-web-sdk-slider-move-track-mask").css("background-color",n)}},{key:"loadCaptchaForData",value:function(t,e){var n=t.el.find("#captcha-web-sdk-slider-bg-img"),r=t.el.find("#captcha-web-sdk-slider-move-img");n.attr("src",e.data.backgroundImage),r.attr("src",e.data.templateImage),n.on("load",(function(){t.currentCaptchaData=h(n.width(),n.height(),r.width(),r.height(),242),t.currentCaptchaData.currentCaptchaId=e.data.id}))}}],n&&w(e.prototype,n),r&&w(e,r),Object.defineProperty(e,"prototype",{writable:!1}),a}(b),E=T;function _(t){return _="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},_(t)}function O(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,(i=r.key,a=void 0,a=function(t,e){if("object"!==_(t)||null===t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var r=n.call(t,e||"default");if("object"!==_(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===e?String:Number)(t)}(i,"string"),"symbol"===_(a)?a:String(a)),r)}var i,a}function j(t,e){return j=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(t,e){return t.__proto__=e,t},j(t,e)}function R(t){var e=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(t){return!1}}();return function(){var n,r=D(t);if(e){var i=D(this).constructor;n=Reflect.construct(r,arguments,i)}else n=r.apply(this,arguments);return function(t,e){if(e&&("object"===_(e)||"function"==typeof e))return e;if(void 0!==e)throw new TypeError("Derived constructors may only return object or undefined");return function(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}(t)}(this,n)}}function D(t){return D=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(t){return t.__proto__||Object.getPrototypeOf(t)},D(t)}var x=function(t){!function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),Object.defineProperty(t,"prototype",{writable:!1}),e&&j(t,e)}(a,t);var e,n,r,i=R(a);function a(t,e){var n;return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,a),(n=i.call(this)).boxEl=t,n.styleConfig=e,n.type="ROTATE",n.currentCaptchaData={},n}return e=a,n=[{key:"init",value:function(t,e,n){return this.destroy(),this.boxEl.append(function(t){return'\n<div id="captcha-web-sdk" class="captcha-web-sdk-slider captcha-web-sdk-rotate">\n <div class="slider-tip">\n <span id="captcha-web-sdk-slider-move-track-font" style="font-size: '.concat(t.i18n.rotate_title_size,'">').concat(t.i18n.rotate_title,'</span>\n </div>\n <div class="content">\n <div class="bg-img-div">\n <img id="captcha-web-sdk-slider-bg-img" src="" alt/>\n <canvas id="captcha-web-sdk-slider-bg-canvas"></canvas>\n </div>\n <div class="rotate-img-div" id="captcha-web-sdk-slider-img-div">\n <img id="captcha-web-sdk-slider-move-img" src="" alt/>\n </div>\n <div class="captcha-web-sdk-tips" id="captcha-web-sdk-tips"></div>\n </div>\n <div class="slider-move">\n <div class="slider-move-track">\n <div id="captcha-web-sdk-slider-move-track-mask"></div>\n <div class="slider-move-shadow"></div>\n </div>\n <div class="slider-move-btn" id="captcha-web-sdk-slider-move-btn">\n </div>\n </div>\n</div>\n')}(this.styleConfig)),this.el=this.boxEl.find("#captcha-web-sdk"),this.loadStyle(),this.el.find("#captcha-web-sdk-slider-move-btn").mousedown(u.bind(null,this)),this.el.find("#captcha-web-sdk-slider-move-btn").touchstart(u.bind(null,this)),this.loadCaptchaForData(this,t),this.endCallback=e,n&&n(this),this}},{key:"destroy",value:function(){var t=this.boxEl.children("#captcha-web-sdk");t&&t.remove(),d()}},{key:"doMove",value:function(){var t=this.currentCaptchaData.moveX;this.el.find("#captcha-web-sdk-slider-move-btn").css("transform","translate("+t+"px, 0px)"),this.el.find("#captcha-web-sdk-slider-move-img").css("transform","rotate("+t/(this.currentCaptchaData.end/360)+"deg)"),this.el.find("#captcha-web-sdk-slider-move-track-mask").css("width",t+"px")}},{key:"loadStyle",value:function(){var t="",e="#00f4ab",n="#a9ffe5",r=this.styleConfig;r&&(t=r.btnUrl,n=r.moveTrackMaskBgColor,e=r.moveTrackMaskBorderColor),this.el.find(".slider-move .slider-move-btn").css("background-image","url("+t+")"),this.el.find("#captcha-web-sdk-slider-move-track-mask").css("border-color",e),this.el.find("#captcha-web-sdk-slider-move-track-mask").css("background-color",n)}},{key:"loadCaptchaForData",value:function(t,e){var n=t.el.find("#captcha-web-sdk-slider-bg-img"),r=t.el.find("#captcha-web-sdk-slider-move-img");n.attr("src",e.data.backgroundImage),r.attr("src",e.data.templateImage),n.on("load",(function(){t.currentCaptchaData=h(n.width(),n.height(),r.width(),r.height(),242),t.currentCaptchaData.currentCaptchaId=e.data.id}))}}],n&&O(e.prototype,n),r&&O(e,r),Object.defineProperty(e,"prototype",{writable:!1}),a}(b),A=x;function P(t){return P="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},P(t)}function B(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,(i=r.key,a=void 0,a=function(t,e){if("object"!==P(t)||null===t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var r=n.call(t,e||"default");if("object"!==P(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===e?String:Number)(t)}(i,"string"),"symbol"===P(a)?a:String(a)),r)}var i,a}function M(t,e){return M=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(t,e){return t.__proto__=e,t},M(t,e)}function q(t){var e=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(t){return!1}}();return function(){var n,r=W(t);if(e){var i=W(this).constructor;n=Reflect.construct(r,arguments,i)}else n=r.apply(this,arguments);return function(t,e){if(e&&("object"===P(e)||"function"==typeof e))return e;if(void 0!==e)throw new TypeError("Derived constructors may only return object or undefined");return function(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}(t)}(this,n)}}function W(t){return W=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(t){return t.__proto__||Object.getPrototypeOf(t)},W(t)}var F=function(t){!function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),Object.defineProperty(t,"prototype",{writable:!1}),e&&M(t,e)}(a,t);var e,n,r,i=q(a);function a(t,e){var n;return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,a),(n=i.call(this)).boxEl=y(t),n.styleConfig=e,n.type="CONCAT",n.currentCaptchaData={},n}return e=a,n=[{key:"init",value:function(t,e,n){return this.destroy(),this.boxEl.append(function(t){return'\n <div id="captcha-web-sdk" class="captcha-web-sdk-slider captcha-web-sdk-concat">\n <div class="slider-tip">\n <span id="captcha-web-sdk-slider-move-track-font" style="font-size: '.concat(t.i18n.concat_title_size,'">').concat(t.i18n.concat_title,'</span>\n </div>\n <div class="content">\n <div class="captcha-web-sdk-slider-concat-img-div" id="captcha-web-sdk-slider-concat-img-div">\n <img id="captcha-web-sdk-slider-concat-slider-img" src="" alt/>\n </div>\n <div class="captcha-web-sdk-slider-concat-bg-img"></div>\n <div class="captcha-web-sdk-tips" id="captcha-web-sdk-tips"></div>\n </div>\n <div class="slider-move">\n <div class="slider-move-track">\n <div id="captcha-web-sdk-slider-move-track-mask"></div>\n <div class="slider-move-shadow"></div>\n </div>\n <div class="slider-move-btn" id="captcha-web-sdk-slider-move-btn">\n </div>\n </div>\n</div>\n ')}(this.styleConfig)),this.el=this.boxEl.find("#captcha-web-sdk"),this.loadStyle(),this.el.find("#captcha-web-sdk-slider-move-btn").mousedown(u.bind(null,this)),this.el.find("#captcha-web-sdk-slider-move-btn").touchstart(u.bind(null,this)),c(this.el),window.currentCaptcha=this,this.loadCaptchaForData(this,t),this.endCallback=e,n&&n(this),this}},{key:"destroy",value:function(){d();var t=this.boxEl.children("#captcha-web-sdk");t&&t.remove()}},{key:"doMove",value:function(){var t=this.currentCaptchaData.moveX;this.el.find("#captcha-web-sdk-slider-move-btn").css("transform","translate("+t+"px, 0px)"),this.el.find("#captcha-web-sdk-slider-concat-img-div").css("background-position-x",t+"px"),this.el.find("#captcha-web-sdk-slider-move-track-mask").css("width",t+"px")}},{key:"loadStyle",value:function(){var t="",e="#00f4ab",n="#a9ffe5",r=this.styleConfig;r&&(t=r.btnUrl,n=r.moveTrackMaskBgColor,e=r.moveTrackMaskBorderColor),this.el.find(".slider-move .slider-move-btn").css("background-image","url("+t+")"),this.el.find("#captcha-web-sdk-slider-move-track-mask").css("border-color",e),this.el.find("#captcha-web-sdk-slider-move-track-mask").css("background-color",n)}},{key:"loadCaptchaForData",value:function(t,e){var n=t.el.find(".captcha-web-sdk-slider-concat-bg-img"),r=t.el.find("#captcha-web-sdk-slider-concat-img-div");n.css("background-image","url("+e.data.backgroundImage+")"),r.css("background-image","url("+e.data.backgroundImage+")"),r.css("background-position","0px 0px");var i=e.data.backgroundImageHeight,a=n.height(),o=(i-e.data.data.randomY)/i*a;r.css("height",o+"px"),t.currentCaptchaData=h(n.width(),n.height(),r.width(),r.height(),242),t.currentCaptchaData.currentCaptchaId=e.data.id}}],n&&B(e.prototype,n),r&&B(e,r),Object.defineProperty(e,"prototype",{writable:!1}),a}(b),L=F;function I(t){return I="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},I(t)}function Y(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,(i=r.key,a=void 0,a=function(t,e){if("object"!==I(t)||null===t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var r=n.call(t,e||"default");if("object"!==I(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===e?String:Number)(t)}(i,"string"),"symbol"===I(a)?a:String(a)),r)}var i,a}var U=function(){function t(e,n){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),this.boxEl=e,this.styleConfig=n,this.type="DISABLE",this.currentCaptchaData={}}var e,n,r;return e=t,n=[{key:"init",value:function(t,e,n){return this.destroy(),this.boxEl.append(function(t){return'\n <div id="captcha-web-sdk" class="captcha-web-sdk-disable">\n <div class="slider-tip">\n <span id="captcha-web-sdk-slider-move-track-font" style="font-size: '.concat(t.i18n.disable_title_size,'">').concat(t.i18n.disable_title,'</span>\n </div>\n <div class="content">\n <div class="bg-img-div">\n\x3c!-- <svg width="100" height="100" viewBox="0 0 100 100">--\x3e\n\x3c!-- <polygon points="50,10 90,90 10,90" fill="none" stroke="#FF9900" stroke-width="4"/>--\x3e\n\x3c!-- <path d="M50 35V65 M50 75V75" stroke="#FF9900" stroke-width="4" stroke-linecap="round"/>--\x3e\n\x3c!-- </svg>--\x3e\n <span id="content-span"></span>\n </div>\n </div>\n </div>\n ')}(this.styleConfig)),this.el=this.boxEl.find("#captcha-web-sdk"),this.loadCaptchaForData(this,t),this.endCallback=e,n&&n(this),this}},{key:"destroy",value:function(){var t=this.boxEl.find("#captcha-web-sdk");t&&t.remove()}},{key:"loadCaptchaForData",value:function(t,e){var n=e.msg||e.message||t.styleConfig.i18n.disable_default_message;t.el.find("#content-span").text(n)}}],n&&Y(e.prototype,n),r&&Y(e,r),Object.defineProperty(e,"prototype",{writable:!1}),t}(),X=U;function G(t){return G="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},G(t)}function H(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,(i=r.key,a=void 0,a=function(t,e){if("object"!==G(t)||null===t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var r=n.call(t,e||"default");if("object"!==G(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===e?String:Number)(t)}(i,"string"),"symbol"===G(a)?a:String(a)),r)}var i,a}function z(t,e){return z=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(t,e){return t.__proto__=e,t},z(t,e)}function N(t){var e=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(t){return!1}}();return function(){var n,r=K(t);if(e){var i=K(this).constructor;n=Reflect.construct(r,arguments,i)}else n=r.apply(this,arguments);return function(t,e){if(e&&("object"===G(e)||"function"==typeof e))return e;if(void 0!==e)throw new TypeError("Derived constructors may only return object or undefined");return function(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}(t)}(this,n)}}function K(t){return K=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(t){return t.__proto__||Object.getPrototypeOf(t)},K(t)}var V=function(t){!function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),Object.defineProperty(t,"prototype",{writable:!1}),e&&z(t,e)}(a,t);var e,n,r,i=N(a);function a(t,e){var n;return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,a),(n=i.call(this)).boxEl=t,n.styleConfig=e,n.type="IMAGE_CLICK",n.currentCaptchaData={},n}return e=a,n=[{key:"init",value:function(t,e,n){var r=this;this.destroy(),this.boxEl.append(function(t){return'\n<div id="captcha-web-sdk" class="captcha-web-sdk-slider captcha-web-sdk-word-click">\n <div class="click-tip">\n <span id="captcha-web-sdk-click-track-font" style="font-size: '.concat(t.i18n.image_click_title_size,'">').concat(t.i18n.image_click_title,'</span>\n <img src="" id="captcha-web-sdk-tip-img" class="tip-img">\n </div>\n <div class="content">\n <div class="bg-img-div">\n <img id="captcha-web-sdk-slider-bg-img" src="" alt/>\n <canvas id="captcha-web-sdk-slider-bg-canvas"></canvas>\n <div id="bg-img-click-mask"></div>\n </div>\n <div class="captcha-web-sdk-tips" id="captcha-web-sdk-tips"></div>\n </div>\n <div class="click-confirm-btn">').concat(t.i18n.image_click_confirm_text,"</div>\n</div>\n")}(this.styleConfig)),this.el=this.boxEl.find("#captcha-web-sdk"),this.loadCaptchaForData(this,t),this.endCallback=e;var i=l.bind(null,this);return this.el.find("#bg-img-click-mask").click((function(t){if("click-span"!==t.target.className){r.currentCaptchaData.clickCount++;var e=r.currentCaptchaData.trackList;1===r.currentCaptchaData.clickCount&&(r.currentCaptchaData.startTime=new Date,window.addEventListener("mousemove",i),r.currentCaptchaData.startX=t.offsetX,r.currentCaptchaData.startY=t.offsetY);var n=r.currentCaptchaData.startTime;e.push({x:Math.round(t.offsetX),y:Math.round(t.offsetY),type:"click",t:(new Date).getTime()-n.getTime()});var a=t.offsetX-10,o=t.offsetY-10;r.el.find("#bg-img-click-mask").append("<span class='click-span' style='left:"+a+"px;top: "+o+"px'>"+r.currentCaptchaData.clickCount+"</span>")}})),this.el.find(".click-confirm-btn").click((function(){r.currentCaptchaData.clickCount>0&&(r.currentCaptchaData.stopTime=new Date,window.removeEventListener("mousemove",i),r.endCallback(r.currentCaptchaData,r))})),n&&n(this),this}},{key:"destroy",value:function(){var t=this.boxEl.children("#captcha-web-sdk");t&&t.remove(),d()}},{key:"loadCaptchaForData",value:function(t,e){var n=t.el.find("#captcha-web-sdk-slider-bg-img"),r=t.el.find("#captcha-web-sdk-tip-img");n.on("load",(function(){t.currentCaptchaData=h(n.width(),n.height(),r.width(),r.height()),t.currentCaptchaData.currentCaptchaId=e.data.id})),n.attr("src",e.data.backgroundImage),r.attr("src",e.data.templateImage)}}],n&&H(e.prototype,n),r&&H(e,r),Object.defineProperty(e,"prototype",{writable:!1}),a}(b);function J(t){return J="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},J(t)}function Z(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,(i=r.key,a=void 0,a=function(t,e){if("object"!==J(t)||null===t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var r=n.call(t,e||"default");if("object"!==J(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===e?String:Number)(t)}(i,"string"),"symbol"===J(a)?a:String(a)),r)}var i,a}function Q(t,e){return Q=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(t,e){return t.__proto__=e,t},Q(t,e)}function $(t){var e=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(t){return!1}}();return function(){var n,r=tt(t);if(e){var i=tt(this).constructor;n=Reflect.construct(r,arguments,i)}else n=r.apply(this,arguments);return function(t,e){if(e&&("object"===J(e)||"function"==typeof e))return e;if(void 0!==e)throw new TypeError("Derived constructors may only return object or undefined");return function(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}(t)}(this,n)}}function tt(t){return tt=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(t){return t.__proto__||Object.getPrototypeOf(t)},tt(t)}var et=function(t){!function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),Object.defineProperty(t,"prototype",{writable:!1}),e&&Q(t,e)}(a,t);var e,n,r,i=$(a);function a(t,e){var n;return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,a),(n=i.call(this,t,e)).type="WORD_IMAGE_CLICK",n}return e=a,n&&Z(e.prototype,n),r&&Z(e,r),Object.defineProperty(e,"prototype",{writable:!1}),e}(V),nt=et;function rt(t){return function(t){if(Array.isArray(t))return it(t)}(t)||function(t){if("undefined"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t["@@iterator"])return Array.from(t)}(t)||function(t,e){if(!t)return;if("string"==typeof t)return it(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);"Object"===n&&t.constructor&&(n=t.constructor.name);if("Map"===n||"Set"===n)return Array.from(t);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return it(t,e)}(t)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function it(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,r=new Array(e);n<e;n++)r[n]=t[n];return r}var at={required_bind_el:"[TAC] 必须配置 [bindEl] 用于将验证码绑定到该元素上",required_request_captcha_data_url:"[TAC] 必须配置 [requestCaptchaDataUrl] 请求验证码接口",required_valid_captcha_url:"[TAC] 必须配置 [validCaptchaUrl] 验证验证码接口",invalid_captcha_data:"[TAC] 后台验证码接口数据错误",unknown_captcha_type:"[TAC] 未知的验证码类型[%s]",default_valid_success_log:"验证码校验成功,请重写 [config.validSuccess] 方法,用于自定义逻辑处理",tips_success:"验证成功,耗时%s秒",tips_error:"验证失败,请重新尝试!",tips_4001:"验证码已失效,请刷新后重试!",tips_network_error:"网络异常,请稍后重试!",slider_title:"拖动滑块完成拼图",concat_title:"拖动滑块完成拼图",image_click_title:"请依次点击:",image_click_confirm_text:"确定",rotate_title:"拖动滑块完成拼图",disable_title:"当前验证码不可用",disable_default_message:"接口异常",slider_title_size:"15px",concat_title_size:"15px",image_click_title_size:"20px",rotate_title_size:"15px",disable_title_size:"15px"};function ot(t){for(var e=arguments.length,n=new Array(e>1?e-1:0),r=1;r<e;r++)n[r-1]=arguments[r];if("string"!=typeof t)return"";var i=0;return t.replace(/%s/g,(function(){var t=n[i];return i+=1,null==t?"":String(t)}))}function ct(){for(var t=arguments.length,e=new Array(t),n=0;n<t;n++)e[n]=arguments[n];return Object.assign.apply(Object,[{},at].concat(rt(e.filter(Boolean))))}var st={btnUrl:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAIwAAABkCAYAAABU19jRAAAJcUlEQVR4nO2d63MT1xmHf9rV6mr5fgNMuSW+ENsY8N0EE2BMhinJNB8y/dD2Qz/0v+gMf0w/JHTKNJAhICwbsA02TpNAHEMgQIwNBSEb8F2rvXTeY1kjYyA+TmVJmfeZ8YiRWa9299E57/mdI63Dtm3E+RjAKTDMaj4F8AU9uyzMCQBn+EQxb+EjAF+RMH8AcJrPFLMGvCSMzWeKWSN/I2GiAFx8xpi1oPBZYiTQWRhGChaGkYKFYaRgYRgpWBhGChaGkYKFYaRgYRgpWBhGChaGkYKFYaRgYRgpWBhGChaGkYKFYaRgYRgpWBhGChaGkYKFYaRgYRgpWBhGChaGkYKFYaRgYRgpWBhGCiefrtShGwZiup74+4qqwu12Z/W7lIVJEfN6FDfv3sPXfYOIRRfpm1UQKC7EkQ+PYFtRcdZKw8KkiLsPJ/CfgSFcH7yOxWhU7MSluYQoR44fxdaCoqyUhoVJEfZ8FN99c1N0Sx6PR+zEMAz0XAgBNtB14hi25OXDkWXHxUVvinA4ln6ScTqdsGwbvRd7EPwyiEcvXyDbvpyHhUkRaq4fe/c3wEWSWFZiJySNYZroCYYQPHsBY1OTWSWNevLkyb/TYwa8lt8UAb8ftluDW9UwPj4hDs0Rb3JUVRXd09j9nwELKKgoR4HXlw2Hb3INkyK8mob9NdUwLROq4sCVKwMrdqRpGkzTFN0TaWR2HcKu0rKMr2lYmBTi1jS01dUt7UBx4PKlfvHP5JaGuqseIY0DjmOHsKukNKOPiYVJMU5VRXt9PSwboO+fvHJ5QEiiKEvlIz3S86HuHiiqAhw9iJ0lpRnb0rAwG4CqKHh/Tz0UhwOWaWGg/5oofEkmJLU4wfPdQia765CQJhNHJCzMBkEtSVtdLRw2YNo2hgaGEDMMMWpahrwJBUMUCkM9djgjE2EWZgOhFqW5rlbMKdm2heHBYUT1mCiAEW9pKKfpPh8Sj5mYCLMwG4zLqWJfTZWQgL5S++uhYURjBrR4S0MtUSYnwixMGvBoGvZUV4quh0S4Pjgsaho1XtOIcM8wxJCb+qmu33dljDS/CWEeTb/E/Pw89EUdebkBVBQWrnnbWVjQoMAtsT9asGDQhf8VUbnX5UJ9VaVoZahVuXZ1cMXoiaSJxWIiEab/dPj4UXFczjRrk/VJ70/hp/jhuxF89o9TGP1+FH6fD9OxGHw5Pnicb34/PJ2dweitu7hwLojvb47A9rhQmJeXGLm8iQeP/4uRH27h88/+iZhhYs40UFZQsK7XrqkqigvyYbk18VrHH74+EX74YAzRqI66mupE15UmzKwW5kEkgtFvRxA8ex7hJ2HMzczgzu0f8fjxExRt2YzcgB9udfUJjuo6Tv/7HE6f+pe4GHd//AkwLRhuDeXFRW+U5v7EI4yMjKI3GMLt0Tt4cO8BAoEcWJoTZYXrl6asqBC6U0GOy42HY+MrZi1JmoWFRZQW5sNyuVBeUpxOabJ7aiASjiB4/iKmnj+H5loaacwvLOL2jRF4AjnY8dc/I/DKbTdoSHvr8SO8DD/DzPSMWHrg1JwYvHZdpK2NVZWU26/aF3VDTyLP0N/bh4mJR3C7XZiZnRVdht/nx7u7tsOzzg5qORFWHAocigO9vX2Jronwej24cXMEbq8XrfW169rH/4usnq02o1FEo9FEE47luN22sTAzC0OPrd7ItnHn9h0MDg3D6/WKbZdHJqYRg26ar92XDgvD39zA2Ng4VKdTbEf7mpmeRX/fAPRfeRch+luNNTXICeSu+h3ti7okUzdgp3luO6uFUTUN9lLmnniOCkdKVnML8uB0r76rD72Di4qL4NI0IUnydpZlw/WmGsY00bRvDzZvKhfFKLAU9VOG8v7BdijW+i8kLX649yyMz0+fwVQksur3NILyejzw5efCoaT3kmW1MN68AMq2bBIXXtd18WMZBt6r242DBzvgda3uWhQ4xNzOkeNdohZYXFjA4vwCfD4/Sio2i9bjdeSoGirKylFYXirykehiFHpUR2FJCbZu+x1yXlMrrQWSZWwygv6Ll3DxXBCX+66u6I7o2DRFRWtbM1o62xNdb7rI7lGSqqBs+zZMTj4XLYY/x49t7+zABx8eReWO7ciLL41ctZmqoqRiE/x+P6amp5FbkI9jx7tw+GgncqmbesPuPAEfduzcgenZOTg0FaWby/GXP/0RdZXvrOvlkyzjzyfR81UIoQs9IpRJniqglszt0tDc1oS9bc2o37lTLMhKI2bW35HtRXQRs3MLmH/xUrzzVb8HJQUFyHX/crJCQ+JwOALFqaKspGjNRWtkbg5zc7PQXC5szl/f6Ig6MFqiSavuqHCmumuFLIYBt+ZEY0sTGtua0VBTJQK/NKPzLfzSQEKWL4NiiG5a1gpZzPhMdnNrE/a3N2NPVaUI+jIAnacGNhiShdbx9pzrFgunSA4tqeUQRbuqoLW9BQ0tjSINzhBZBCzMBvPzVAS950KiG6KWJVkWGnXRELrjQBtqG/eioTqzZAELs3FQy3Iv/BR9wUtiUtGOr+tNhoptGt1V7atD4+4aEehlGizMBnH/WRj9wcuiG7LjI7Vllm8d3nnoAKoaakXq+0tzWumChUkxdlyWge4rYt0uzRMpSck01SzUDR3s7MC7e2pFRqSmOZx7GyxMCrESLcsldAd7oCgrEx6xrldRRM1SvbceHfV1K0K7TISFSREx28L41KRIcGmdruOVz82KBFd1oqWjBe/tb0ArLd3McFnAwqSOiclJ9JwP4fLFXtEtJXdDywluU2uTGDpTgZupNcur8GerU8R0eBJDV6+LRVbJLYdIcF2aSHD3tzaL9b20zjdbYGFShB0z4HY6V9QtFNLRXFATxf2U4FZXZkLcLwULkyJoaUXMNMV6HbyS4O6jicQMS3DXCguTInJKC9HU0YoPOg8k1uy0t7eivnmfSHB9WSgLwZOPKcKwLcT0GL69cxe3b46KoK6+ZS92V2zNyAR3jfBsdaox6LPSpiVyf/rEo/rq11JlFzxbnWoomEMW5CtrhWsYRgoWhpGChWGkYGEYKVgYRgoWhpGChWGkYGEYKVgYRgoWhpGChWGkYGEYKVgYRgoWhpGChWGkYGEYKVgYRgoWhpGChWGkYGEYKVgYRgoWhpGChWGkYGEYKVgYRgr6qGx6b4/BZBXUwnzCl4xZI5844g3MCQBn+Kwxb+EjAGcdST3SxwBO8RljXsOnAL4AgP8BXnVIgIvemwsAAAAASUVORK5CYII=",moveTrackMaskBgColor:"#89d2ff",moveTrackMaskBorderColor:"#0298f8",i18n:at};function ut(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,r)}return n}function lt(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{};e%2?ut(Object(n),!0).forEach((function(e){dt(t,e,n[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):ut(Object(n)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))}))}return t}function dt(t,e,n){return(e=pt(e))in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}function ft(t){return ft="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},ft(t)}function ht(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,pt(r.key),r)}}function pt(t){var e=function(t,e){if("object"!==ft(t)||null===t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var r=n.call(t,e||"default");if("object"!==ft(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===e?String:Number)(t)}(t,"string");return"symbol"===ft(e)?e:String(e)}var vt=function(){function t(e){if(function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),this.i18n=ct(e.i18n),!e.bindEl)throw new Error(this.i18n.required_bind_el);if(!e.requestCaptchaDataUrl)throw new Error(this.i18n.required_request_captcha_data_url);if(!e.validCaptchaUrl)throw new Error(this.i18n.required_valid_captcha_url);this.bindEl=e.bindEl,this.domBindEl=y(e.bindEl),this.requestCaptchaDataUrl=e.requestCaptchaDataUrl,this.validCaptchaUrl=e.validCaptchaUrl,e.validSuccess&&(this.validSuccess=e.validSuccess),e.validFail&&(this.validFail=e.validFail),e.requestHeaders?this.requestHeaders=e.requestHeaders:this.requestHeaders={},e.btnCloseFun&&(this.btnCloseFun=e.btnCloseFun),e.btnRefreshFun&&(this.btnRefreshFun=e.btnRefreshFun),this.requestChain=[],this.timeToTimestamp=void 0===e.timeToTimestamp||e.timeToTimestamp,this.insertRequestChain(0,{preRequest:function(t,e,n,r){if(this.timeToTimestamp&&e.data)for(var i in e.data)e.data[i]instanceof Date&&(e.data[i]=e.data[i].getTime());return!0}})}var e,n,r;return e=t,(n=[{key:"addRequestChain",value:function(t){this.requestChain.push(t)}},{key:"insertRequestChain",value:function(t,e){this.requestChain.splice(t,0,e)}},{key:"removeRequestChain",value:function(t){this.requestChain.splice(t,1)}},{key:"requestCaptchaData",value:function(){var t=this,e={};return e.headers=this.requestHeaders||{},e.data={},e.headers["Content-Type"]="application/json;charset=UTF-8",e.method="POST",e.url=this.requestCaptchaDataUrl,this._preRequest("requestCaptchaData",e),this.doSendRequest(e).then((function(n){return t._postRequest("requestCaptchaData",e,n),n}))}},{key:"doSendRequest",value:function(t){if(t.headers)for(var e in t.headers)if(t.headers[e].indexOf("application/json")>-1){"string"!=typeof t.data&&(t.data=JSON.stringify(t.data));break}return(n=t,new Promise((function(t,e){var r=new XMLHttpRequest;if(r.open(n.method||"GET",n.url),n.headers)for(var i in n.headers)n.headers.hasOwnProperty(i)&&r.setRequestHeader(i,n.headers[i]);r.onreadystatechange=function(){if(r.readyState===XMLHttpRequest.DONE)if(r.status>=200&&r.status<=500){var n=r.getResponseHeader("Content-Type");n&&-1!==n.indexOf("application/json")?t(JSON.parse(r.responseText)):t(r.responseText)}else e(new Error("Request failed with status: "+r.status))},r.onerror=function(){e(new Error("Network Error"))},r.send(n.data)}))).then((function(t){try{return JSON.parse(t)}catch(e){return t}}));var n}},{key:"_preRequest",value:function(t,e,n,r){for(var i=0;i<this.requestChain.length;i++){var a=this.requestChain[i];if(a.preRequest&&!a.preRequest(t,e,this,n,r))break}}},{key:"_postRequest",value:function(t,e,n,r,i){for(var a=0;a<this.requestChain.length;a++){var o=this.requestChain[a];if(o.postRequest&&!o.postRequest(t,e,n,this,r,i))break}}},{key:"validCaptcha",value:function(t,e,n,r){var i,a=this,o=ct(this.i18n,null==n||null===(i=n.styleConfig)||void 0===i?void 0:i.i18n),c={id:t,data:e},s={};return s.headers=this.requestHeaders||{},s.data=c,s.headers["Content-Type"]="application/json;charset=UTF-8",s.method="POST",s.url=this.validCaptchaUrl,this._preRequest("validCaptcha",s,n,r),this.doSendRequest(s).then((function(t){return a._postRequest("validCaptcha",s,t,n,r),t})).then((function(t){if(200==t.code){var i=(e.stopTime-e.startTime)/1e3;n.showTips(ot(o.tips_success,i),1,(function(){return a.validSuccess(t,n,r)}))}else{var c=o.tips_error;4001===t.code&&(c=o.tips_4001),n.showTips(c,0,(function(){return a.validFail(t,n,r)}))}})).catch((function(t){var e=o.tips_network_error||o.tips_error;t&&"object"===ft(t)&&4001===t.code&&(e=o.tips_4001),n.showTips(e,0,(function(){return a.validFail(t,n,r)}))}))}},{key:"validSuccess",value:function(t,e,n){window.currentCaptchaRes=t,n.destroyWindow()}},{key:"validFail",value:function(t,e,n){n.reloadCaptcha()}}])&&ht(e.prototype,n),r&&ht(e,r),Object.defineProperty(e,"prototype",{writable:!1}),t}();function bt(t){return bt="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},bt(t)}function yt(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,(i=r.key,a=void 0,a=function(t,e){if("object"!==bt(t)||null===t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var r=n.call(t,e||"default");if("object"!==bt(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===e?String:Number)(t)}(i,"string"),"symbol"===bt(a)?a:String(a)),r)}var i,a}var mt=function(){function t(e,n){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),this.config=function(t){return t instanceof vt?t:new vt(t)}(e),this.config.btnRefreshFun&&(this.btnRefreshFun=this.config.btnRefreshFun),this.config.btnCloseFun&&(this.btnCloseFun=this.config.btnCloseFun),this.style=function(t,e){var n=lt(lt({},st),t);return n.i18n=ct(at,e,null==t?void 0:t.i18n),n}(n,this.config.i18n)}var e,n,r;return e=t,n=[{key:"init",value:function(){var t=this;return this.destroyWindow(),this.config.domBindEl.append('\n <div id="captcha-web-sdk-parent">\n <div id="captcha-web-sdk-bg-img"></div>\n <div id="captcha-web-sdk-box">\n <div id="captcha-web-sdk-loading" class="loading"></div>\n </div>\n \x3c!-- 底部 --\x3e\n <div class="slider-bottom">\n <img class="logo" id="captcha-web-sdk-logo" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB4AAAAeCAMAAAAM7l6QAAAAMFBMVEVHcEz3tkX3tkX3tkX3tkX3tkX3tkX3tkX3tkX3tkX3tkX3tkX3tkX3tkX3tkX3tkVmTmjZAAAAD3RSTlMASbTm8wh12hOGoCNiyTV98jvOAAABB0lEQVR42nVT0aIFEQiMorD0/397Lc5a7J0n1UylgIniLRKyDcbBDudZH2DYCAabn3PmTrjeUX+7rJGWx0SqVpzReAfTtKU5fgVCNfxWjB69USUDGwoOiauHpZEpSr0tCx8ILb3Dm3WgBbAlifAJk6+Ww6wqEUmpmIorQVZ1JtqKnDMjkb7AgIpO/wMCaQbuBuEtsBUxhuD9daUaZnApiQB8NAKotMwirGGr6mbXpPnHLHDmy6oy3FgP+1j8IBdVklFc01xUJwv3NR0rIeXV5zpzdlruiijzNq/ufOeKWzZLP3160u5P8RjT1M+HHFtx+PwGyOZqT/D8ROOfjOInTLBIHjy/hvwHxkwPu5cCE1QAAAAASUVORK5CYII=" id="captcha-web-sdk-logo"></img>\n <div class="close-btn" id="captcha-web-sdk-slider-close-btn"></div>\n <div class="refresh-btn" id="captcha-web-sdk-slider-refresh-btn"></div>\n </div>\n </div>\n '),this.domTemplate=this.config.domBindEl.find("#captcha-web-sdk-parent"),c(this.domTemplate),this.loadStyle(),this.config.domBindEl.find("#captcha-web-sdk-slider-refresh-btn").click((function(e){t.btnRefreshFun(e,t)})),this.config.domBindEl.find("#captcha-web-sdk-slider-close-btn").click((function(e){t.btnCloseFun(e,t)})),this.reloadCaptcha(),this}},{key:"btnRefreshFun",value:function(t,e){e.reloadCaptcha()}},{key:"btnCloseFun",value:function(t,e){e.destroyWindow()}},{key:"reloadCaptcha",value:function(){var t=this;this.showLoading(),this.destroyCaptcha((function(){t.createCaptcha()}))}},{key:"showLoading",value:function(){this.config.domBindEl.find("#captcha-web-sdk-loading").css("display","block")}},{key:"closeLoading",value:function(){this.config.domBindEl.find("#captcha-web-sdk-loading").css("display","none")}},{key:"loadStyle",value:function(){var t=this.style.bgUrl,e=this.style.logoUrl;t&&this.config.domBindEl.find("#captcha-web-sdk-bg-img").css("background-image","url("+t+")"),e&&""!==e?this.config.domBindEl.find("#captcha-web-sdk-logo").attr("src",e):null===e&&this.config.domBindEl.find("#captcha-web-sdk-logo").css("display","none")}},{key:"destroyWindow",value:function(){this.C&&(this.C.destroy(),this.C=void 0),this.domTemplate&&this.domTemplate.remove()}},{key:"openCaptcha",value:function(){var t=this;setTimeout((function(){t.C.el.css("transform","translateX(0)")}),10)}},{key:"createCaptcha",value:function(){var t=this;this.config.requestCaptchaData().then((function(e){var n;if(t.closeLoading(),!e.code)throw new Error(t.style.i18n.invalid_captcha_data);var r=200===e.code?null===(n=e.data)||void 0===n?void 0:n.type:"DISABLED",i=function(t,e){var n=e.config.domBindEl.find("#captcha-web-sdk-box"),r=e.style;switch(t){case"SLIDER":return new E(n,r);case"ROTATE":return new A(n,r);case"CONCAT":return new L(n,r);case"WORD_IMAGE_CLICK":return new nt(n,r);case"DISABLED":return new X(n,r);default:return null}}(r,t);if(null==i)throw new Error(ot(t.style.i18n.unknown_captcha_type,r));i.init(e,(function(e,n){var r=n.currentCaptchaData,i={bgImageWidth:r.bgImageWidth,bgImageHeight:r.bgImageHeight,templateImageWidth:r.templateImageWidth,templateImageHeight:r.templateImageHeight,startTime:r.startTime.getTime(),stopTime:r.stopTime.getTime(),trackList:r.trackList};"ROTATE_DEGREE"!==n.type&&"ROTATE"!==n.type||(i.bgImageWidth=n.currentCaptchaData.end),r.data&&(i.data=r.data);var a=n.currentCaptchaData.currentCaptchaId;n.currentCaptchaData=void 0,t.config.validCaptcha(a,i,n,t)})),t.C=i,t.openCaptcha()}))}},{key:"destroyCaptcha",value:function(t){var e=this;this.C?(this.C.el.css("transform","translateX(300px)"),setTimeout((function(){e.C.destroy(),t&&t()}),500)):t()}}],n&&yt(e.prototype,n),r&&yt(e,r),Object.defineProperty(e,"prototype",{writable:!1}),t}();"undefined"!=typeof window&&(window.TAC=mt,window.CaptchaConfig=vt);var gt=mt;return e}()}));
1
+ !function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define("CaptchaWebSdk",[],e):"object"==typeof exports?exports.CaptchaWebSdk=e():t.CaptchaWebSdk=e()}(this,(function(){return function(){"use strict";var t={d:function(e,n){for(var r in n)t.o(n,r)&&!t.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:n[r]})},o:function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},r:function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})}},e={};function n(t){return n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},n(t)}function r(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function i(t,e){for(var r=0;r<e.length;r++){var i=e[r];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,(a=i.key,o=void 0,o=function(t,e){if("object"!==n(t)||null===t)return t;var r=t[Symbol.toPrimitive];if(void 0!==r){var i=r.call(t,e||"default");if("object"!==n(i))return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===e?String:Number)(t)}(a,"string"),"symbol"===n(o)?o:String(o)),i)}var a,o}function a(t,e,n){return e&&i(t.prototype,e),n&&i(t,n),Object.defineProperty(t,"prototype",{writable:!1}),t}t.r(e),t.d(e,{CaptchaConfig:function(){return gt},CaptchaWebSdk:function(){return _t},default:function(){return Ct}});function o(t){t.preventDefault&&t.preventDefault()}function c(t){y(t).each((function(t){t.addEventListener("touchmove",o,{passive:!1}),t.addEventListener("mousemove",o,{passive:!1})}))}function s(t){return null!==t.pageX&&void 0!==t.pageX?{x:Math.round(t.pageX),y:Math.round(t.pageY)}:(t.changedTouches?e=t.changedTouches:t.targetTouches?e=t.targetTouches:t.originalEvent&&t.originalEvent.targetTouches&&(e=t.originalEvent.targetTouches),null!==e[0].pageX&&void 0!==e[0].pageX?{x:Math.round(e[0].pageX),y:Math.round(e[0].pageY)}:{x:Math.round(e[0].clientX),y:Math.round(e[0].clientY)});var e}function l(t,e){var n=s(e),r=n.x,i=n.y;t.currentCaptchaData.startX=r,t.currentCaptchaData.startY=i;var a=t.currentCaptchaData.trackList;t.currentCaptchaData.startTime=new Date;var o=t.currentCaptchaData.startTime;a.push({x:n.x,y:n.y,type:"down",t:(new Date).getTime()-o.getTime()}),t.__m__=u.bind(null,t),t.__u__=f.bind(null,t),window.addEventListener("mousemove",t.__m__),window.addEventListener("mouseup",t.__u__),window.addEventListener("touchmove",t.__m__,!1),window.addEventListener("touchend",t.__u__,!1),t&&t.doDown&&t.doDown(e,t)}function u(t,e){e.touches&&e.touches.length>0&&(e=e.touches[0]);var n=s(e),r=n.x,i=n.y,a=t.currentCaptchaData.startX,o=t.currentCaptchaData.startY,c=t.currentCaptchaData.startTime,l=t.currentCaptchaData.end,u=(t.currentCaptchaData.bgImageWidth,t.currentCaptchaData.trackList),d=r-a,f=i-o,p={x:n.x,y:n.y,type:"move",t:(new Date).getTime()-c.getTime()};u.push(p),d<0?d=0:d>l&&(d=l),t.currentCaptchaData.moveX=d,t.currentCaptchaData.moveY=f,t.doMove&&t.doMove(e,t)}function d(t){t&&(t.__m__&&(window.removeEventListener("mousemove",t.__m__),window.removeEventListener("touchmove",t.__m__)),t.__u__&&(window.removeEventListener("mouseup",t.__u__),window.removeEventListener("touchend",t.__u__)))}function f(t,e){d(t);var n=s(e);t.currentCaptchaData.stopTime=new Date;var r=t.currentCaptchaData.startTime,i=t.currentCaptchaData.trackList,a={x:n.x,y:n.y,type:"up",t:(new Date).getTime()-r.getTime()};i.push(a),t.doUp&&t.doUp(e,t),t.endCallback(t.currentCaptchaData,t)}function p(t,e,n,r,i){var a={startTime:new Date,trackList:[],movePercent:0,clickCount:0,bgImageWidth:Math.round(t),bgImageHeight:Math.round(e),templateImageWidth:Math.round(n),templateImageHeight:Math.round(r),end:i};return a}function h(t,e){y(t).find("#captcha-web-sdk-tips").removeClass("captcha-web-sdk-tips-on"),e&&setTimeout(e,.35)}function b(t,e,n,r){var i=y(t).find("#captcha-web-sdk-tips");i.text(e),1===n?(i.removeClass("captcha-web-sdk-tips-error"),i.addClass("captcha-web-sdk-tips-success")):(i.removeClass("captcha-web-sdk-tips-success"),i.addClass("captcha-web-sdk-tips-error")),i.addClass("captcha-web-sdk-tips-on"),setTimeout(r,1e3)}var v=function(){function t(){r(this,t)}return a(t,[{key:"showTips",value:function(t,e,n){b(this.el,t,e,n)}},{key:"closeTips",value:function(t,e){h(this.el,t)}}]),t}();function y(t,e){return new m(t,e)}var m=function(){function t(e,i){if(r(this,t),i&&"object"===n(i)&&void 0!==i.nodeType)return this.dom=i,void(this.domStr=e);if(e instanceof t)this.dom=e.dom,this.domStr=e.domStr;else if("string"==typeof e)this.dom=document.querySelector(e),this.domStr=e;else{if("object"!==("undefined"==typeof document?"undefined":n(document))||void 0===document.nodeType)throw new Error("不支持的类型");this.dom=e,this.domStr=e.nodeName}}return a(t,[{key:"each",value:function(t){this.getTarget().querySelectorAll("*").forEach(t)}},{key:"removeClass",value:function(t){var e=this.getTarget();if(e.classList)e.classList.remove(t);else{var n=e.className,r=new RegExp("(?:^|\\s)"+t+"(?!\\S)","g");e.className=n.replace(r,"")}return this}},{key:"addClass",value:function(t){var e=this.getTarget();if(e.classList)e.classList.add(t);else{var n=e.className;-1===n.indexOf(t)&&(e.className=n+" "+t)}return this}},{key:"find",value:function(e){var n=this.getTarget().querySelector(e);return n?new t(e,n):null}},{key:"children",value:function(e){for(var n=this.getTarget().childNodes,r=0;r<n.length;r++)if(1===n[r].nodeType&&n[r].matches(e))return new t(e,n[r]);return null}},{key:"remove",value:function(){return this.getTarget().remove(),null}},{key:"css",value:function(t,e){if("string"==typeof t&&"string"==typeof e)this.getTarget().style[t]=e;else if("object"===n(t))for(var r in t)t.hasOwnProperty(r)&&(this.getTarget().style[r]=t[r]);else if("string"==typeof t&&void 0===e)return window.getComputedStyle(element)[t]}},{key:"attr",value:function(t,e){return void 0===e?this.getTarget().getAttribute(t):(this.getTarget().setAttribute(t,e),this)}},{key:"text",value:function(t){return this.getTarget().innerText=t,this}},{key:"html",value:function(t){return this.getTarget().innerHtml=t,this}},{key:"is",value:function(e){return e&&"object"===n(e)&&void 0!==e.nodeType?this.dom===e:e instanceof t?this.dom===e.dom:void 0}},{key:"append",value:function(t){if("string"==typeof t)this.getTarget().insertAdjacentHTML("beforeend",t);else{if(!(t instanceof HTMLElement))throw new Error("Invalid content type");this.getTarget().appendChild(t)}return this}},{key:"click",value:function(t){return this.on("click",t),this}},{key:"mousedown",value:function(t){return this.on("mousedown",t),this}},{key:"touchstart",value:function(t){return this.on("touchstart",t),this}},{key:"on",value:function(t,e){return this.getTarget().addEventListener(t,e,{passive:!0}),this}},{key:"width",value:function(){return this.getTarget().offsetWidth}},{key:"height",value:function(){return this.getTarget().offsetHeight}},{key:"getTarget",value:function(){if(this.dom)return this.dom;throw new Error("dom不存在: ["+this.domStr+"]")}}]),t}();function g(t){return g="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},g(t)}function w(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,(i=r.key,a=void 0,a=function(t,e){if("object"!==g(t)||null===t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var r=n.call(t,e||"default");if("object"!==g(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===e?String:Number)(t)}(i,"string"),"symbol"===g(a)?a:String(a)),r)}var i,a}function k(t,e){return k=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(t,e){return t.__proto__=e,t},k(t,e)}function _(t){var e=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(t){return!1}}();return function(){var n,r=C(t);if(e){var i=C(this).constructor;n=Reflect.construct(r,arguments,i)}else n=r.apply(this,arguments);return function(t,e){if(e&&("object"===g(e)||"function"==typeof e))return e;if(void 0!==e)throw new TypeError("Derived constructors may only return object or undefined");return function(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}(t)}(this,n)}}function C(t){return C=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(t){return t.__proto__||Object.getPrototypeOf(t)},C(t)}var O=function(t){!function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),Object.defineProperty(t,"prototype",{writable:!1}),e&&k(t,e)}(a,t);var e,n,r,i=_(a);function a(t,e){var n;return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,a),(n=i.call(this)).boxEl=t,n.styleConfig=e,n.type="SLIDER",n.currentCaptchaData={},n}return e=a,n=[{key:"init",value:function(t,e,n){return this.destroy(),this.boxEl.append(function(t){return'\n<div id="captcha-web-sdk" class="captcha-web-sdk-slider">\n <div class="slider-tip">\n <span id="captcha-web-sdk-slider-move-track-font" style="font-size: '.concat(t.i18n.slider_title_size,'">').concat(t.i18n.slider_title,'</span>\n </div>\n <div class="content">\n <div class="bg-img-div">\n <img id="captcha-web-sdk-slider-bg-img" src="" alt/>\n <canvas id="captcha-web-sdk-slider-bg-canvas"></canvas>\n <div id="captcha-web-sdk-slider-bg-div"></div>\n </div>\n <div class="slider-img-div" id="captcha-web-sdk-slider-img-div">\n <img id="captcha-web-sdk-slider-move-img" src="" alt/>\n </div>\n <div class="captcha-web-sdk-tips" id="captcha-web-sdk-tips"></div>\n </div>\n <div class="slider-move">\n <div class="slider-move-track">\n <div id="captcha-web-sdk-slider-move-track-mask"></div>\n <div class="slider-move-shadow"></div>\n <span class="slider-move-track-text">').concat(t.i18n.slider_action_hint,'</span>\n </div>\n <div class="slider-move-btn" id="captcha-web-sdk-slider-move-btn">\n </div>\n </div>\n\n</div>\n')}(this.styleConfig)),this.el=this.boxEl.find("#captcha-web-sdk"),this.loadStyle(),this.el.find("#captcha-web-sdk-slider-move-btn").mousedown(l.bind(null,this)),this.el.find("#captcha-web-sdk-slider-move-btn").touchstart(l.bind(null,this)),this.loadCaptchaForData(this,t),this.endCallback=e,n&&n(this),this}},{key:"showTips",value:function(t,e,n){b(this.el,t,e,n)}},{key:"closeTips",value:function(t){h(this.el,t)}},{key:"destroy",value:function(){var t=this.boxEl.children("#captcha-web-sdk");t&&t.remove(),d()}},{key:"doMove",value:function(){var t=this.currentCaptchaData.moveX;this.el.find("#captcha-web-sdk-slider-move-btn").css("transform","translate("+t+"px, 0px)"),this.el.find("#captcha-web-sdk-slider-img-div").css("transform","translate("+t+"px, 0px)"),this.el.find("#captcha-web-sdk-slider-move-track-mask").css("width",t+"px")}},{key:"loadStyle",value:function(){var t="",e="#00f4ab",n="#a9ffe5",r=this.styleConfig;r&&(t=r.btnUrl,n=r.moveTrackMaskBgColor,e=r.moveTrackMaskBorderColor),t&&this.el.find(".slider-move .slider-move-btn").css("background-image","url("+t+")"),this.el.find("#captcha-web-sdk-slider-move-track-mask").css("border-color",e),this.el.find("#captcha-web-sdk-slider-move-track-mask").css("background-color",n)}},{key:"loadCaptchaForData",value:function(t,e){var n=t.el.find("#captcha-web-sdk-slider-bg-img"),r=t.el.find("#captcha-web-sdk-slider-move-img");n.attr("src",e.data.backgroundImage),r.attr("src",e.data.templateImage),n.on("load",(function(){t.currentCaptchaData=p(n.width(),n.height(),r.width(),r.height(),242),t.currentCaptchaData.currentCaptchaId=e.data.id}))}}],n&&w(e.prototype,n),r&&w(e,r),Object.defineProperty(e,"prototype",{writable:!1}),a}(v),T=O;function S(t){return S="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},S(t)}function j(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,(i=r.key,a=void 0,a=function(t,e){if("object"!==S(t)||null===t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var r=n.call(t,e||"default");if("object"!==S(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===e?String:Number)(t)}(i,"string"),"symbol"===S(a)?a:String(a)),r)}var i,a}function E(t,e){return E=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(t,e){return t.__proto__=e,t},E(t,e)}function D(t){var e=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(t){return!1}}();return function(){var n,r=P(t);if(e){var i=P(this).constructor;n=Reflect.construct(r,arguments,i)}else n=r.apply(this,arguments);return function(t,e){if(e&&("object"===S(e)||"function"==typeof e))return e;if(void 0!==e)throw new TypeError("Derived constructors may only return object or undefined");return function(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}(t)}(this,n)}}function P(t){return P=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(t){return t.__proto__||Object.getPrototypeOf(t)},P(t)}var x=function(t){!function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),Object.defineProperty(t,"prototype",{writable:!1}),e&&E(t,e)}(a,t);var e,n,r,i=D(a);function a(t,e){var n;return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,a),(n=i.call(this)).boxEl=t,n.styleConfig=e,n.type="ROTATE",n.currentCaptchaData={},n}return e=a,n=[{key:"init",value:function(t,e,n){return this.destroy(),this.boxEl.append(function(t){return'\n<div id="captcha-web-sdk" class="captcha-web-sdk-slider captcha-web-sdk-rotate">\n <div class="slider-tip">\n <span id="captcha-web-sdk-slider-move-track-font" style="font-size: '.concat(t.i18n.rotate_title_size,'">').concat(t.i18n.rotate_title,'</span>\n </div>\n <div class="content">\n <div class="bg-img-div">\n <img id="captcha-web-sdk-slider-bg-img" src="" alt/>\n <canvas id="captcha-web-sdk-slider-bg-canvas"></canvas>\n </div>\n <div class="rotate-img-div" id="captcha-web-sdk-slider-img-div">\n <img id="captcha-web-sdk-slider-move-img" src="" alt/>\n </div>\n <div class="captcha-web-sdk-tips" id="captcha-web-sdk-tips"></div>\n </div>\n <div class="slider-move">\n <div class="slider-move-track">\n <div id="captcha-web-sdk-slider-move-track-mask"></div>\n <div class="slider-move-shadow"></div>\n <span class="slider-move-track-text">').concat(t.i18n.rotate_action_hint,'</span>\n </div>\n <div class="slider-move-btn" id="captcha-web-sdk-slider-move-btn">\n </div>\n </div>\n</div>\n')}(this.styleConfig)),this.el=this.boxEl.find("#captcha-web-sdk"),this.loadStyle(),this.el.find("#captcha-web-sdk-slider-move-btn").mousedown(l.bind(null,this)),this.el.find("#captcha-web-sdk-slider-move-btn").touchstart(l.bind(null,this)),this.loadCaptchaForData(this,t),this.endCallback=e,n&&n(this),this}},{key:"destroy",value:function(){var t=this.boxEl.children("#captcha-web-sdk");t&&t.remove(),d()}},{key:"doMove",value:function(){var t=this.currentCaptchaData.moveX;this.el.find("#captcha-web-sdk-slider-move-btn").css("transform","translate("+t+"px, 0px)"),this.el.find("#captcha-web-sdk-slider-move-img").css("transform","rotate("+t/(this.currentCaptchaData.end/360)+"deg)"),this.el.find("#captcha-web-sdk-slider-move-track-mask").css("width",t+"px")}},{key:"loadStyle",value:function(){var t="",e="#00f4ab",n="#a9ffe5",r=this.styleConfig;r&&(t=r.btnUrl,n=r.moveTrackMaskBgColor,e=r.moveTrackMaskBorderColor),t&&this.el.find(".slider-move .slider-move-btn").css("background-image","url("+t+")"),this.el.find("#captcha-web-sdk-slider-move-track-mask").css("border-color",e),this.el.find("#captcha-web-sdk-slider-move-track-mask").css("background-color",n)}},{key:"loadCaptchaForData",value:function(t,e){var n=t.el.find("#captcha-web-sdk-slider-bg-img"),r=t.el.find("#captcha-web-sdk-slider-move-img");n.attr("src",e.data.backgroundImage),r.attr("src",e.data.templateImage),n.on("load",(function(){t.currentCaptchaData=p(n.width(),n.height(),r.width(),r.height(),242),t.currentCaptchaData.currentCaptchaId=e.data.id}))}}],n&&j(e.prototype,n),r&&j(e,r),Object.defineProperty(e,"prototype",{writable:!1}),a}(v),R=x;function A(t){return A="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},A(t)}function q(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,(i=r.key,a=void 0,a=function(t,e){if("object"!==A(t)||null===t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var r=n.call(t,e||"default");if("object"!==A(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===e?String:Number)(t)}(i,"string"),"symbol"===A(a)?a:String(a)),r)}var i,a}function I(t,e){return I=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(t,e){return t.__proto__=e,t},I(t,e)}function B(t){var e=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(t){return!1}}();return function(){var n,r=M(t);if(e){var i=M(this).constructor;n=Reflect.construct(r,arguments,i)}else n=r.apply(this,arguments);return function(t,e){if(e&&("object"===A(e)||"function"==typeof e))return e;if(void 0!==e)throw new TypeError("Derived constructors may only return object or undefined");return function(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}(t)}(this,n)}}function M(t){return M=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(t){return t.__proto__||Object.getPrototypeOf(t)},M(t)}var L=function(t){!function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),Object.defineProperty(t,"prototype",{writable:!1}),e&&I(t,e)}(a,t);var e,n,r,i=B(a);function a(t,e){var n;return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,a),(n=i.call(this)).boxEl=y(t),n.styleConfig=e,n.type="CONCAT",n.currentCaptchaData={},n}return e=a,n=[{key:"init",value:function(t,e,n){return this.destroy(),this.boxEl.append(function(t){return'\n <div id="captcha-web-sdk" class="captcha-web-sdk-slider captcha-web-sdk-concat">\n <div class="slider-tip">\n <span id="captcha-web-sdk-slider-move-track-font" style="font-size: '.concat(t.i18n.concat_title_size,'">').concat(t.i18n.concat_title,'</span>\n </div>\n <div class="content">\n <div class="captcha-web-sdk-slider-concat-img-div" id="captcha-web-sdk-slider-concat-img-div">\n <img id="captcha-web-sdk-slider-concat-slider-img" src="" alt/>\n </div>\n <div class="captcha-web-sdk-slider-concat-bg-img"></div>\n <div class="captcha-web-sdk-tips" id="captcha-web-sdk-tips"></div>\n </div>\n <div class="slider-move">\n <div class="slider-move-track">\n <div id="captcha-web-sdk-slider-move-track-mask"></div>\n <div class="slider-move-shadow"></div>\n <span class="slider-move-track-text">').concat(t.i18n.concat_action_hint,'</span>\n </div>\n <div class="slider-move-btn" id="captcha-web-sdk-slider-move-btn">\n </div>\n </div>\n</div>\n ')}(this.styleConfig)),this.el=this.boxEl.find("#captcha-web-sdk"),this.loadStyle(),this.el.find("#captcha-web-sdk-slider-move-btn").mousedown(l.bind(null,this)),this.el.find("#captcha-web-sdk-slider-move-btn").touchstart(l.bind(null,this)),c(this.el),window.currentCaptcha=this,this.loadCaptchaForData(this,t),this.endCallback=e,n&&n(this),this}},{key:"destroy",value:function(){d();var t=this.boxEl.children("#captcha-web-sdk");t&&t.remove()}},{key:"doMove",value:function(){var t=this.currentCaptchaData.moveX;this.el.find("#captcha-web-sdk-slider-move-btn").css("transform","translate("+t+"px, 0px)"),this.el.find("#captcha-web-sdk-slider-concat-img-div").css("background-position-x",t+"px"),this.el.find("#captcha-web-sdk-slider-move-track-mask").css("width",t+"px")}},{key:"loadStyle",value:function(){var t="",e="#00f4ab",n="#a9ffe5",r=this.styleConfig;r&&(t=r.btnUrl,n=r.moveTrackMaskBgColor,e=r.moveTrackMaskBorderColor),t&&this.el.find(".slider-move .slider-move-btn").css("background-image","url("+t+")"),this.el.find("#captcha-web-sdk-slider-move-track-mask").css("border-color",e),this.el.find("#captcha-web-sdk-slider-move-track-mask").css("background-color",n)}},{key:"loadCaptchaForData",value:function(t,e){var n=t.el.find(".captcha-web-sdk-slider-concat-bg-img"),r=t.el.find("#captcha-web-sdk-slider-concat-img-div");n.css("background-image","url("+e.data.backgroundImage+")"),r.css("background-image","url("+e.data.backgroundImage+")"),r.css("background-position","0px 0px");var i=e.data.backgroundImageHeight,a=n.height(),o=(i-e.data.data.randomY)/i*a;r.css("height",o+"px"),t.currentCaptchaData=p(n.width(),n.height(),r.width(),r.height(),242),t.currentCaptchaData.currentCaptchaId=e.data.id}}],n&&q(e.prototype,n),r&&q(e,r),Object.defineProperty(e,"prototype",{writable:!1}),a}(v),F=L;function X(t){return X="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},X(t)}function U(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,(i=r.key,a=void 0,a=function(t,e){if("object"!==X(t)||null===t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var r=n.call(t,e||"default");if("object"!==X(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===e?String:Number)(t)}(i,"string"),"symbol"===X(a)?a:String(a)),r)}var i,a}var H=function(){function t(e,n){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),this.boxEl=e,this.styleConfig=n,this.type="DISABLE",this.currentCaptchaData={}}var e,n,r;return e=t,n=[{key:"init",value:function(t,e,n){return this.destroy(),this.boxEl.append(function(t){return'\n <div id="captcha-web-sdk" class="captcha-web-sdk-disable">\n <div class="slider-tip">\n <span id="captcha-web-sdk-slider-move-track-font" style="font-size: '.concat(t.i18n.disable_title_size,'">').concat(t.i18n.disable_title,'</span>\n </div>\n <div class="content">\n <div class="bg-img-div">\n\x3c!-- <svg width="100" height="100" viewBox="0 0 100 100">--\x3e\n\x3c!-- <polygon points="50,10 90,90 10,90" fill="none" stroke="#FF9900" stroke-width="4"/>--\x3e\n\x3c!-- <path d="M50 35V65 M50 75V75" stroke="#FF9900" stroke-width="4" stroke-linecap="round"/>--\x3e\n\x3c!-- </svg>--\x3e\n <span id="content-span"></span>\n </div>\n </div>\n </div>\n ')}(this.styleConfig)),this.el=this.boxEl.find("#captcha-web-sdk"),this.loadCaptchaForData(this,t),this.endCallback=e,n&&n(this),this}},{key:"destroy",value:function(){var t=this.boxEl.find("#captcha-web-sdk");t&&t.remove()}},{key:"loadCaptchaForData",value:function(t,e){var n=e.msg||e.message||t.styleConfig.i18n.disable_default_message;t.el.find("#content-span").text(n)}}],n&&U(e.prototype,n),r&&U(e,r),Object.defineProperty(e,"prototype",{writable:!1}),t}(),N=H;function W(t){return W="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},W(t)}function z(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,(i=r.key,a=void 0,a=function(t,e){if("object"!==W(t)||null===t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var r=n.call(t,e||"default");if("object"!==W(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===e?String:Number)(t)}(i,"string"),"symbol"===W(a)?a:String(a)),r)}var i,a}function V(t,e){return V=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(t,e){return t.__proto__=e,t},V(t,e)}function Y(t){var e=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(t){return!1}}();return function(){var n,r=G(t);if(e){var i=G(this).constructor;n=Reflect.construct(r,arguments,i)}else n=r.apply(this,arguments);return function(t,e){if(e&&("object"===W(e)||"function"==typeof e))return e;if(void 0!==e)throw new TypeError("Derived constructors may only return object or undefined");return function(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}(t)}(this,n)}}function G(t){return G=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(t){return t.__proto__||Object.getPrototypeOf(t)},G(t)}var K=function(t){!function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),Object.defineProperty(t,"prototype",{writable:!1}),e&&V(t,e)}(a,t);var e,n,r,i=Y(a);function a(t,e){var n;return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,a),(n=i.call(this)).boxEl=t,n.styleConfig=e,n.type="IMAGE_CLICK",n.currentCaptchaData={},n}return e=a,n=[{key:"init",value:function(t,e,n){var r=this;this.destroy(),this.boxEl.append(function(t){return'\n<div id="captcha-web-sdk" class="captcha-web-sdk-slider captcha-web-sdk-word-click">\n <div class="click-tip">\n <span id="captcha-web-sdk-click-track-font" style="font-size: '.concat(t.i18n.image_click_title_size,'">').concat(t.i18n.image_click_title,'</span>\n <img src="" id="captcha-web-sdk-tip-img" class="tip-img">\n </div>\n <div class="content">\n <div class="bg-img-div">\n <img id="captcha-web-sdk-slider-bg-img" src="" alt/>\n <canvas id="captcha-web-sdk-slider-bg-canvas"></canvas>\n <div id="bg-img-click-mask"></div>\n </div>\n <div class="captcha-web-sdk-tips" id="captcha-web-sdk-tips"></div>\n </div>\n <div class="click-confirm-btn">').concat(t.i18n.image_click_confirm_text,"</div>\n</div>\n")}(this.styleConfig)),this.el=this.boxEl.find("#captcha-web-sdk"),this.loadCaptchaForData(this,t),this.endCallback=e;var i=u.bind(null,this);return this.el.find("#bg-img-click-mask").click((function(t){if("click-span"!==t.target.className){r.currentCaptchaData.clickCount++;var e=r.currentCaptchaData.trackList;1===r.currentCaptchaData.clickCount&&(r.currentCaptchaData.startTime=new Date,window.addEventListener("mousemove",i),r.currentCaptchaData.startX=t.offsetX,r.currentCaptchaData.startY=t.offsetY);var n=r.currentCaptchaData.startTime;e.push({x:Math.round(t.offsetX),y:Math.round(t.offsetY),type:"click",t:(new Date).getTime()-n.getTime()});var a=t.offsetX-10,o=t.offsetY-10;r.el.find("#bg-img-click-mask").append("<span class='click-span' style='left:"+a+"px;top: "+o+"px'>"+r.currentCaptchaData.clickCount+"</span>")}})),this.el.find(".click-confirm-btn").click((function(){r.currentCaptchaData.clickCount>0&&(r.currentCaptchaData.stopTime=new Date,window.removeEventListener("mousemove",i),r.endCallback(r.currentCaptchaData,r))})),n&&n(this),this}},{key:"destroy",value:function(){var t=this.boxEl.children("#captcha-web-sdk");t&&t.remove(),d()}},{key:"loadCaptchaForData",value:function(t,e){var n=t.el.find("#captcha-web-sdk-slider-bg-img"),r=t.el.find("#captcha-web-sdk-tip-img");n.on("load",(function(){t.currentCaptchaData=p(n.width(),n.height(),r.width(),r.height()),t.currentCaptchaData.currentCaptchaId=e.data.id})),n.attr("src",e.data.backgroundImage),r.attr("src",e.data.templateImage)}}],n&&z(e.prototype,n),r&&z(e,r),Object.defineProperty(e,"prototype",{writable:!1}),a}(v);function J(t){return J="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},J(t)}function Q(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,(i=r.key,a=void 0,a=function(t,e){if("object"!==J(t)||null===t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var r=n.call(t,e||"default");if("object"!==J(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===e?String:Number)(t)}(i,"string"),"symbol"===J(a)?a:String(a)),r)}var i,a}function Z(t,e){return Z=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(t,e){return t.__proto__=e,t},Z(t,e)}function $(t){var e=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(t){return!1}}();return function(){var n,r=tt(t);if(e){var i=tt(this).constructor;n=Reflect.construct(r,arguments,i)}else n=r.apply(this,arguments);return function(t,e){if(e&&("object"===J(e)||"function"==typeof e))return e;if(void 0!==e)throw new TypeError("Derived constructors may only return object or undefined");return function(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}(t)}(this,n)}}function tt(t){return tt=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(t){return t.__proto__||Object.getPrototypeOf(t)},tt(t)}var et=function(t){!function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),Object.defineProperty(t,"prototype",{writable:!1}),e&&Z(t,e)}(a,t);var e,n,r,i=$(a);function a(t,e){var n;return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,a),(n=i.call(this,t,e)).type="WORD_IMAGE_CLICK",n}return e=a,n&&Q(e.prototype,n),r&&Q(e,r),Object.defineProperty(e,"prototype",{writable:!1}),e}(K),nt=et;function rt(t){return rt="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},rt(t)}function it(t){return function(t){if(Array.isArray(t))return at(t)}(t)||function(t){if("undefined"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t["@@iterator"])return Array.from(t)}(t)||function(t,e){if(!t)return;if("string"==typeof t)return at(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);"Object"===n&&t.constructor&&(n=t.constructor.name);if("Map"===n||"Set"===n)return Array.from(t);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return at(t,e)}(t)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function at(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,r=new Array(e);n<e;n++)r[n]=t[n];return r}function ot(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,r)}return n}function ct(t,e,n){return(e=function(t){var e=function(t,e){if("object"!==rt(t)||null===t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var r=n.call(t,e||"default");if("object"!==rt(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===e?String:Number)(t)}(t,"string");return"symbol"===rt(e)?e:String(e)}(e))in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}var st={required_bind_el:"[TAC] 必须配置 [bindEl] 用于将验证码绑定到该元素上",required_request_captcha_data_url:"[TAC] 必须配置 [requestCaptchaDataUrl] 请求验证码接口",required_valid_captcha_url:"[TAC] 必须配置 [validCaptchaUrl] 验证验证码接口",invalid_captcha_data:"[TAC] 后台验证码接口数据错误",unknown_captcha_type:"[TAC] 未知的验证码类型[%s]",default_valid_success_log:"验证码校验成功,请重写 [config.validSuccess] 方法,用于自定义逻辑处理",tips_success:"验证成功,耗时%s秒",tips_error:"验证失败,请重新尝试!",tips_4001:"验证码已失效,请刷新后重试!",tips_network_error:"网络异常,请稍后重试!",modal_title:"请完成安全验证",modal_subtitle:"验证通过后即可继续操作",close_button_aria_label:"关闭验证",slider_title:"拖动滑块完成拼图",slider_action_hint:"按住滑块,拖动完成上方拼图",concat_title:"拖动滑块完成拼图",concat_action_hint:"按住滑块,拖动完成上方拼图",image_click_title:"请依次点击:",image_click_confirm_text:"确定",rotate_title:"拖动滑块完成拼图",rotate_action_hint:"按住滑块,旋转至正确角度",disable_title:"当前验证码不可用",disable_default_message:"接口异常",slider_title_size:"15px",concat_title_size:"15px",image_click_title_size:"20px",rotate_title_size:"15px",disable_title_size:"15px"};function lt(t){for(var e=arguments.length,n=new Array(e>1?e-1:0),r=1;r<e;r++)n[r-1]=arguments[r];if("string"!=typeof t)return"";var i=0;return t.replace(/%s/g,(function(){var t=n[i];return i+=1,null==t?"":String(t)}))}function ut(t){if(!t)return t;var e=function(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{};e%2?ot(Object(n),!0).forEach((function(e){ct(t,e,n[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):ot(Object(n)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))}))}return t}({},t);return!e.close_button_aria_label&&e.close_text&&(e.close_button_aria_label=e.close_text),e}function dt(){for(var t=arguments.length,e=new Array(t),n=0;n<t;n++)e[n]=arguments[n];return Object.assign.apply(Object,[{},st].concat(it(e.filter(Boolean).map(ut))))}var ft={btnUrl:"",moveTrackMaskBgColor:"#89d2ff",moveTrackMaskBorderColor:"#0298f8",i18n:st};function pt(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,r)}return n}function ht(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{};e%2?pt(Object(n),!0).forEach((function(e){bt(t,e,n[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):pt(Object(n)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))}))}return t}function bt(t,e,n){return(e=mt(e))in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}function vt(t){return vt="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},vt(t)}function yt(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,mt(r.key),r)}}function mt(t){var e=function(t,e){if("object"!==vt(t)||null===t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var r=n.call(t,e||"default");if("object"!==vt(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===e?String:Number)(t)}(t,"string");return"symbol"===vt(e)?e:String(e)}var gt=function(){function t(e){if(function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),this.i18n=dt(e.i18n),!e.bindEl)throw new Error(this.i18n.required_bind_el);if(!e.requestCaptchaDataUrl)throw new Error(this.i18n.required_request_captcha_data_url);if(!e.validCaptchaUrl)throw new Error(this.i18n.required_valid_captcha_url);this.bindEl=e.bindEl,this.domBindEl=y(e.bindEl),this.requestCaptchaDataUrl=e.requestCaptchaDataUrl,this.validCaptchaUrl=e.validCaptchaUrl,e.validSuccess&&(this.validSuccess=e.validSuccess),e.validFail&&(this.validFail=e.validFail),e.requestHeaders?this.requestHeaders=e.requestHeaders:this.requestHeaders={},e.btnCloseFun&&(this.btnCloseFun=e.btnCloseFun),e.btnRefreshFun&&(this.btnRefreshFun=e.btnRefreshFun),this.requestChain=[],this.timeToTimestamp=void 0===e.timeToTimestamp||e.timeToTimestamp,this.insertRequestChain(0,{preRequest:function(t,e,n,r){if(this.timeToTimestamp&&e.data)for(var i in e.data)e.data[i]instanceof Date&&(e.data[i]=e.data[i].getTime());return!0}})}var e,n,r;return e=t,(n=[{key:"addRequestChain",value:function(t){this.requestChain.push(t)}},{key:"insertRequestChain",value:function(t,e){this.requestChain.splice(t,0,e)}},{key:"removeRequestChain",value:function(t){this.requestChain.splice(t,1)}},{key:"requestCaptchaData",value:function(){var t=this,e={};return e.headers=this.requestHeaders||{},e.data={},e.headers["Content-Type"]="application/json;charset=UTF-8",e.method="POST",e.url=this.requestCaptchaDataUrl,this._preRequest("requestCaptchaData",e),this.doSendRequest(e).then((function(n){return t._postRequest("requestCaptchaData",e,n),n}))}},{key:"doSendRequest",value:function(t){if(t.headers)for(var e in t.headers)if(t.headers[e].indexOf("application/json")>-1){"string"!=typeof t.data&&(t.data=JSON.stringify(t.data));break}return(n=t,new Promise((function(t,e){var r=new XMLHttpRequest;if(r.open(n.method||"GET",n.url),n.headers)for(var i in n.headers)n.headers.hasOwnProperty(i)&&r.setRequestHeader(i,n.headers[i]);r.onreadystatechange=function(){if(r.readyState===XMLHttpRequest.DONE)if(r.status>=200&&r.status<=500){var n=r.getResponseHeader("Content-Type");n&&-1!==n.indexOf("application/json")?t(JSON.parse(r.responseText)):t(r.responseText)}else e(new Error("Request failed with status: "+r.status))},r.onerror=function(){e(new Error("Network Error"))},r.send(n.data)}))).then((function(t){try{return JSON.parse(t)}catch(e){return t}}));var n}},{key:"_preRequest",value:function(t,e,n,r){for(var i=0;i<this.requestChain.length;i++){var a=this.requestChain[i];if(a.preRequest&&!a.preRequest(t,e,this,n,r))break}}},{key:"_postRequest",value:function(t,e,n,r,i){for(var a=0;a<this.requestChain.length;a++){var o=this.requestChain[a];if(o.postRequest&&!o.postRequest(t,e,n,this,r,i))break}}},{key:"validCaptcha",value:function(t,e,n,r){var i,a=this,o=dt(this.i18n,null==n||null===(i=n.styleConfig)||void 0===i?void 0:i.i18n),c={id:t,data:e},s={};return s.headers=this.requestHeaders||{},s.data=c,s.headers["Content-Type"]="application/json;charset=UTF-8",s.method="POST",s.url=this.validCaptchaUrl,this._preRequest("validCaptcha",s,n,r),this.doSendRequest(s).then((function(t){return a._postRequest("validCaptcha",s,t,n,r),t})).then((function(t){if(200==t.code){var i=(e.stopTime-e.startTime)/1e3;n.showTips(lt(o.tips_success,i),1,(function(){return a.validSuccess(t,n,r)}))}else{var c=o.tips_error;4001===t.code&&(c=o.tips_4001),n.showTips(c,0,(function(){return a.validFail(t,n,r)}))}})).catch((function(t){var e=o.tips_network_error||o.tips_error;t&&"object"===vt(t)&&4001===t.code&&(e=o.tips_4001),n.showTips(e,0,(function(){return a.validFail(t,n,r)}))}))}},{key:"validSuccess",value:function(t,e,n){window.currentCaptchaRes=t,n.destroyWindow()}},{key:"validFail",value:function(t,e,n){n.reloadCaptcha()}}])&&yt(e.prototype,n),r&&yt(e,r),Object.defineProperty(e,"prototype",{writable:!1}),t}();function wt(t){return wt="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},wt(t)}function kt(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,(i=r.key,a=void 0,a=function(t,e){if("object"!==wt(t)||null===t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var r=n.call(t,e||"default");if("object"!==wt(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===e?String:Number)(t)}(i,"string"),"symbol"===wt(a)?a:String(a)),r)}var i,a}var _t=function(){function t(e,n){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),this.config=function(t){return t instanceof gt?t:new gt(t)}(e),this.config.btnRefreshFun&&(this.btnRefreshFun=this.config.btnRefreshFun),this.config.btnCloseFun&&(this.btnCloseFun=this.config.btnCloseFun),this.style=function(t,e){var n=ht(ht({},ft),t);return n.i18n=dt(st,ut(e),ut(null==t?void 0:t.i18n)),n}(n,this.config.i18n)}var e,n,r;return e=t,n=[{key:"init",value:function(){var t=this;return this.destroyWindow(),this.config.domBindEl.append('\n <div id="captcha-web-sdk-parent">\n <div id="captcha-web-sdk-bg-img"></div>\n <div class="captcha-header">\n <div class="captcha-heading">\n <div class="captcha-title" id="captcha-web-sdk-modal-title"></div>\n <div class="captcha-subtitle" id="captcha-web-sdk-modal-subtitle"></div>\n </div>\n <button class="close-btn captcha-icon-btn" id="captcha-web-sdk-slider-close-btn" type="button"></button>\n </div>\n <div id="captcha-web-sdk-box">\n <div id="captcha-web-sdk-loading" class="loading"></div>\n </div>\n <div class="slider-bottom">\n <button class="refresh-btn captcha-action-btn" id="captcha-web-sdk-slider-refresh-btn" type="button">\n <span class="captcha-action-icon captcha-action-icon-refresh" aria-hidden="true"></span>\n </button>\n <img class="logo" id="captcha-web-sdk-logo" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB4AAAAeCAMAAAAM7l6QAAAAMFBMVEVHcEz3tkX3tkX3tkX3tkX3tkX3tkX3tkX3tkX3tkX3tkX3tkX3tkX3tkX3tkX3tkVmTmjZAAAAD3RSTlMASbTm8wh12hOGoCNiyTV98jvOAAABB0lEQVR42nVT0aIFEQiMorD0/397Lc5a7J0n1UylgIniLRKyDcbBDudZH2DYCAabn3PmTrjeUX+7rJGWx0SqVpzReAfTtKU5fgVCNfxWjB69USUDGwoOiauHpZEpSr0tCx8ILb3Dm3WgBbAlifAJk6+Ww6wqEUmpmIorQVZ1JtqKnDMjkb7AgIpO/wMCaQbuBuEtsBUxhuD9daUaZnApiQB8NAKotMwirGGr6mbXpPnHLHDmy6oy3FgP+1j8IBdVklFc01xUJwv3NR0rIeXV5zpzdlruiijzNq/ufOeKWzZLP3160u5P8RjT1M+HHFtx+PwGyOZqT/D8ROOfjOInTLBIHjy/hvwHxkwPu5cCE1QAAAAASUVORK5CYII=" id="captcha-web-sdk-logo"></img>\n </div>\n </div>\n '),this.domTemplate=this.config.domBindEl.find("#captcha-web-sdk-parent"),c(this.domTemplate),this.loadStyle(),this.config.domBindEl.find("#captcha-web-sdk-slider-refresh-btn").click((function(e){t.playRefreshAnimation(),t.btnRefreshFun(e,t)})),this.config.domBindEl.find("#captcha-web-sdk-slider-close-btn").click((function(e){t.btnCloseFun(e,t)})),this.reloadCaptcha(),this}},{key:"btnRefreshFun",value:function(t,e){e.reloadCaptcha()}},{key:"btnCloseFun",value:function(t,e){e.destroyWindow()}},{key:"reloadCaptcha",value:function(){var t=this;this.showLoading(),this.destroyCaptcha((function(){t.createCaptcha()}))}},{key:"showLoading",value:function(){this.config.domBindEl.find("#captcha-web-sdk-loading").css("display","block")}},{key:"closeLoading",value:function(){this.config.domBindEl.find("#captcha-web-sdk-loading").css("display","none")}},{key:"playRefreshAnimation",value:function(){var t=this.config.domBindEl.find("#captcha-web-sdk-slider-refresh-btn");t&&(t.removeClass("is-refreshing"),t.getTarget().offsetWidth,t.addClass("is-refreshing"),setTimeout((function(){t.removeClass("is-refreshing")}),650))}},{key:"loadStyle",value:function(){var t=this.style.bgUrl,e=this.style.logoUrl,n=this.style.i18n||{};this.config.domBindEl.find("#captcha-web-sdk-modal-title").text(n.modal_title),this.config.domBindEl.find("#captcha-web-sdk-modal-subtitle").text(n.modal_subtitle),this.config.domBindEl.find("#captcha-web-sdk-slider-close-btn").attr("aria-label",n.close_button_aria_label),t&&this.config.domBindEl.find("#captcha-web-sdk-bg-img").css("background-image","url("+t+")"),e&&""!==e?this.config.domBindEl.find("#captcha-web-sdk-logo").attr("src",e):null===e&&this.config.domBindEl.find("#captcha-web-sdk-logo").css("display","none")}},{key:"destroyWindow",value:function(){this.C&&(this.C.destroy(),this.C=void 0),this.domTemplate&&this.domTemplate.remove()}},{key:"openCaptcha",value:function(){var t=this;setTimeout((function(){t.C.el.css("transform","translateX(0)")}),10)}},{key:"createCaptcha",value:function(){var t=this;this.config.requestCaptchaData().then((function(e){var n;if(t.closeLoading(),!e.code)throw new Error(t.style.i18n.invalid_captcha_data);var r=200===e.code?null===(n=e.data)||void 0===n?void 0:n.type:"DISABLED",i=function(t,e){var n=e.config.domBindEl.find("#captcha-web-sdk-box"),r=e.style;switch(t){case"SLIDER":return new T(n,r);case"ROTATE":return new R(n,r);case"CONCAT":return new F(n,r);case"WORD_IMAGE_CLICK":return new nt(n,r);case"DISABLED":return new N(n,r);default:return null}}(r,t);if(null==i)throw new Error(lt(t.style.i18n.unknown_captcha_type,r));i.init(e,(function(e,n){var r=n.currentCaptchaData,i={bgImageWidth:r.bgImageWidth,bgImageHeight:r.bgImageHeight,templateImageWidth:r.templateImageWidth,templateImageHeight:r.templateImageHeight,startTime:r.startTime.getTime(),stopTime:r.stopTime.getTime(),trackList:r.trackList};"ROTATE_DEGREE"!==n.type&&"ROTATE"!==n.type||(i.bgImageWidth=n.currentCaptchaData.end),r.data&&(i.data=r.data);var a=n.currentCaptchaData.currentCaptchaId;n.currentCaptchaData=void 0,t.config.validCaptcha(a,i,n,t)})),t.C=i,t.openCaptcha()}))}},{key:"destroyCaptcha",value:function(t){var e=this;this.C?(this.C.el.css("transform","translateX(300px)"),setTimeout((function(){e.C.destroy(),t&&t()}),500)):t()}}],n&&kt(e.prototype,n),r&&kt(e,r),Object.defineProperty(e,"prototype",{writable:!1}),t}();"undefined"!=typeof window&&(window.TAC=_t,window.CaptchaConfig=gt);var Ct=_t;return e}()}));
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "captcha-web-sdk",
3
- "version": "1.0.1",
3
+ "version": "1.0.3",
4
4
  "description": "Captcha browser SDK with browser-global and npm import support",
5
5
  "main": "./dist/tac/js/tac.min.js",
6
6
  "types": "./index.d.ts",
package/readme.md CHANGED
@@ -143,11 +143,17 @@ const tac = new TAC(config, style);
143
143
 
144
144
  | 参数名 | 默认值 | 用途 |
145
145
  | ------ | ------ | ---- |
146
+ | `modal_title` | `请完成安全验证` | 弹窗头部主标题 |
147
+ | `modal_subtitle` | `验证通过后即可继续操作` | 弹窗头部副标题 |
148
+ | `close_button_aria_label` | `关闭验证` | 关闭按钮无障碍文案 |
146
149
  | `slider_title` | `拖动滑块完成拼图` | 滑块验证码标题 |
150
+ | `slider_action_hint` | `按住滑块,拖动完成上方拼图` | 滑块验证码轨道提示文案 |
147
151
  | `concat_title` | `拖动滑块完成拼图` | 拼接验证码标题 |
152
+ | `concat_action_hint` | `按住滑块,拖动完成上方拼图` | 拼接验证码轨道提示文案 |
148
153
  | `image_click_title` | `请依次点击:` | 点选验证码标题 |
149
154
  | `image_click_confirm_text` | `确定` | 点选验证码确认按钮文案 |
150
155
  | `rotate_title` | `拖动滑块完成拼图` | 旋转验证码标题 |
156
+ | `rotate_action_hint` | `按住滑块,旋转至正确角度` | 旋转验证码轨道提示文案 |
151
157
  | `disable_title` | `当前验证码不可用` | 禁用态标题 |
152
158
  | `disable_default_message` | `接口异常` | 禁用态默认提示 |
153
159
  | `slider_title_size` | `15px` | 滑块验证码标题字号 |
@@ -156,6 +162,13 @@ const tac = new TAC(config, style);
156
162
  | `rotate_title_size` | `15px` | 旋转验证码标题字号 |
157
163
  | `disable_title_size` | `15px` | 禁用态标题字号 |
158
164
 
165
+ #### 3.3 已废弃但兼容保留的 i18n 字段
166
+
167
+ | 参数名 | 当前状态 | 说明 |
168
+ | ------ | -------- | ---- |
169
+ | `close_text` | 已废弃,但仍兼容 | 会自动映射到 `close_button_aria_label`,建议改用新字段 |
170
+ | `refresh_text` | 已废弃,当前忽略 | 刷新按钮已改为纯 icon 交互,不再显示该文案 |
171
+
159
172
  ### 4. 高级能力: 请求链 requestChain
160
173
 
161
174
  如果你要在请求前后统一加签名、改请求体、打印日志,可以使用 `CaptchaConfig` 实例上的请求链能力。
@@ -247,6 +260,10 @@ const tac = new TAC(
247
260
  moveTrackMaskBorderColor: "#ef9c0d",
248
261
  i18n: {
249
262
  slider_title: "拖动滑块完成验证",
263
+ slider_action_hint: "向右拖动完成验证",
264
+ modal_title: "请完成下列验证后继续",
265
+ modal_subtitle: "验证成功后会自动返回当前流程",
266
+ close_button_aria_label: "关闭验证码弹窗",
250
267
  image_click_confirm_text: "确认"
251
268
  }
252
269
  }
@@ -291,11 +308,17 @@ const tac = new TAC(
291
308
  },
292
309
  {
293
310
  i18n: {
311
+ modal_title: "Please complete the verification",
312
+ modal_subtitle: "Continue after the verification passes",
313
+ close_button_aria_label: "Close verification",
294
314
  slider_title: "Drag the slider to complete the puzzle",
315
+ slider_action_hint: "Hold the handle and drag to complete the puzzle",
295
316
  concat_title: "Drag the slider to complete the puzzle",
317
+ concat_action_hint: "Hold the handle and drag to complete the puzzle",
296
318
  image_click_title: "Click in order:",
297
319
  image_click_confirm_text: "Confirm",
298
320
  rotate_title: "Drag the slider to rotate",
321
+ rotate_action_hint: "Hold the handle and rotate to the correct angle",
299
322
  disable_title: "Captcha unavailable",
300
323
  disable_default_message: "Request failed"
301
324
  }
@@ -305,6 +328,23 @@ const tac = new TAC(
305
328
  tac.init();
306
329
  ```
307
330
 
331
+ ## 最近变更
332
+
333
+ 本次 SDK UI 与国际化做了以下调整:
334
+
335
+ - 新增弹窗头部文案国际化:`modal_title`、`modal_subtitle`
336
+ - 新增关闭按钮无障碍文案国际化:`close_button_aria_label`
337
+ - 新增滑块轨道提示国际化:`slider_action_hint`、`concat_action_hint`、`rotate_action_hint`
338
+ - 刷新按钮调整为纯 icon 形式,`refresh_text` 不再展示
339
+ - 刷新按钮点击时增加旋转动画反馈
340
+ - 关闭按钮与刷新按钮都改为纯 icon 交互样式
341
+ - 弹窗整体圆角和字号已收敛,视觉更贴近用户端业务场景
342
+
343
+ 兼容性说明:
344
+
345
+ - 旧字段 `close_text` 仍会自动兼容到 `close_button_aria_label`
346
+ - 旧字段 `refresh_text` 不会报错,但当前 UI 已不再使用该文案
347
+
308
348
  ## 多框架示例
309
349
 
310
350
  完整示例见 [examples/frameworks.md](./examples/frameworks.md)