niucloud-admin/niucloud/public/admin/assets/VerifySlide-e3ae7bf2.js
全栈小学生 eff269ab88 up
2025-09-20 09:12:11 +08:00

2 lines
6.3 KiB
JavaScript

import{r as ie,a as Q,b as ne,c as le}from"./index-057f98db.js";import{_ as re,aF as se,r as a,l as oe,X as ce,al as de,as as ue,h as W,c as I,aH as c,a as l,J as ve,ae as he,e as fe,w as ge,n as U,t as V,B as X,aJ as me,aK as ye,am as pe}from"./index-9f163f98.js";const we={name:"VerifySlide",props:{captchaType:{type:String},type:{type:String,default:"1"},mode:{type:String,default:"fixed"},vSpace:{type:Number,default:5},explain:{type:String,default:"向右滑动完成验证"},imgSize:{type:Object,default(){return{width:"310px",height:"155px"}}},blockSize:{type:Object,default(){return{width:"50px",height:"50px"}}},barSize:{type:Object,default(){return{width:"310px",height:"40px"}}}},setup(j,o){const{mode:n,captchaType:e,vSpace:Y,imgSize:Z,barSize:d,type:D,blockSize:T,explain:F}=se(j),{proxy:r}=ye(),u=a(""),H=a(""),q=a(""),K=a(""),g=a(""),E=a(""),_=a(""),$=a(""),v=a(""),x=a(""),A=a(""),h=oe({imgHeight:0,imgWidth:0,barHeight:0,barWidth:0}),ee=a(0),te=a(0),k=a(void 0),L=a(void 0),m=a(void 0),y=a("#ddd"),p=a(void 0),B=a("icon-right"),w=a(!1),f=a(!1),N=a(!0),O=a(""),J=a(""),M=a(0),S=ce(()=>r.$el.querySelector(".verify-bar-area"));function P(){x.value=F.value,G(),pe(()=>{let{imgHeight:t,imgWidth:i,barHeight:b,barWidth:s}=ie(r);h.imgHeight=t,h.imgWidth=i,h.barHeight=b,h.barWidth=s,r.$parent.$emit("ready",r)}),window.removeEventListener("touchmove",function(t){z(t)}),window.removeEventListener("mousemove",function(t){z(t)}),window.removeEventListener("touchend",function(){C()}),window.removeEventListener("mouseup",function(){C()}),window.addEventListener("touchmove",function(t){z(t)}),window.addEventListener("mousemove",function(t){z(t)}),window.addEventListener("touchend",function(){C()}),window.addEventListener("mouseup",function(){C()})}de(D,()=>{P()}),ue(()=>{P(),r.$el.onselectstart=function(){return!1}});function ae(t){if(t=t||window.event,t.touches)var i=t.touches[0].pageX;else var i=t.clientX;M.value=Math.floor(i-S.value.getBoundingClientRect().left),E.value=+new Date,f.value==!1&&(x.value="",m.value="#337ab7",y.value="#337AB7",p.value="#fff",t.stopPropagation(),w.value=!0)}function z(t){if(t=t||window.event,w.value&&f.value==!1){if(t.touches)var i=t.touches[0].pageX;else var i=t.clientX;var b=S.value.getBoundingClientRect().left,s=i-b;s>=S.value.offsetWidth-parseInt(parseInt(T.value.width)/2)-2&&(s=S.value.offsetWidth-parseInt(parseInt(T.value.width)/2)-2),s<=0&&(s=parseInt(parseInt(T.value.width)/2)),k.value=s-M.value+"px",L.value=s-M.value+"px"}}function C(){if(_.value=+new Date,w.value&&f.value==!1){var t=parseInt((k.value||"").replace("px",""));t=t*310/parseInt(h.imgWidth);const i={captchaType:e.value,captcha_code:u.value?Q(JSON.stringify({x:t,y:5}),u.value):JSON.stringify({x:t,y:5}),captcha_key:g.value};ne(i).then(b=>{if(b.code==1){m.value="#5cb85c",y.value="#5cb85c",p.value="#fff",B.value="icon-check",N.value=!1,f.value=!0,n.value=="pop"&&setTimeout(()=>{r.$parent.clickShow=!1,R()},1500),H.value=!0,v.value=`${((_.value-E.value)/1e3).toFixed(2)}s验证成功`;var s=u.value?Q(g.value+"---"+JSON.stringify({x:t,y:5}),u.value):g.value+"---"+JSON.stringify({x:t,y:5});setTimeout(()=>{v.value="",r.$parent.closeBox(),r.$parent.$emit("success",{captchaVerification:s})},1e3)}else m.value="#d9534f",y.value="#d9534f",p.value="#fff",B.value="icon-close",H.value=!1,setTimeout(function(){R()},1e3),r.$parent.$emit("error",r),v.value="验证失败",setTimeout(()=>{v.value=""},1e3)}),w.value=!1}}const R=()=>{N.value=!0,A.value="",O.value="left .3s",k.value=0,L.value=void 0,J.value="width .3s",y.value="#ddd",m.value="#fff",p.value="#000",B.value="icon-right",f.value=!1,G(),setTimeout(()=>{J.value="",O.value="",x.value=F.value},300)};function G(){const t={captchaType:e.value};le(t).then(i=>{i.code==1?(q.value=i.data.originalImageBase64,K.value=i.data.jigsawImageBase64,g.value=i.data.token,u.value=i.data.secretKey):v.value=i.msg})}return{secretKey:u,passFlag:H,backImgBase:q,blockBackImgBase:K,backToken:g,startMoveTime:E,endMoveTime:_,tipsBackColor:$,tipWords:v,text:x,finishText:A,setSize:h,top:ee,left:te,moveBlockLeft:k,leftBarWidth:L,moveBlockBackgroundColor:m,leftBarBorderColor:y,iconColor:p,iconClass:B,status:w,isEnd:f,showRefresh:N,transitionLeft:O,transitionWidth:J,barArea:S,refresh:R,start:ae}}},Se={style:{position:"relative"}},be=["src"],xe=l("i",{class:"iconfont icon-refresh"},null,-1),ke=[xe],Be=["textContent"],ze=["textContent"],Ce=["src"];function We(j,o,n,e,Y,Z){return W(),I("div",Se,[n.type==="2"?(W(),I("div",{key:0,class:"verify-img-out",style:c({height:parseInt(e.setSize.imgHeight)+n.vSpace+"px"})},[l("div",{class:"verify-img-panel",style:c({width:e.setSize.imgWidth,height:e.setSize.imgHeight})},[l("img",{src:"data:image/png;base64,"+e.backImgBase,alt:"",style:{width:"100%",height:"100%",display:"block"}},null,8,be),ve(l("div",{class:"verify-refresh",onClick:o[0]||(o[0]=(...d)=>e.refresh&&e.refresh(...d))},ke,512),[[he,e.showRefresh]]),fe(me,{name:"tips"},{default:ge(()=>[e.tipWords?(W(),I("span",{key:0,class:U(["verify-tips",e.passFlag?"suc-bg":"err-bg"])},V(e.tipWords),3)):X("",!0)]),_:1})],4)],4)):X("",!0),l("div",{class:"verify-bar-area",style:c({width:e.setSize.imgWidth,height:n.barSize.height,"line-height":n.barSize.height})},[l("span",{class:"verify-msg",textContent:V(e.text)},null,8,Be),l("div",{class:"verify-left-bar",style:c({width:e.leftBarWidth!==void 0?e.leftBarWidth:n.barSize.height,height:n.barSize.height,"border-color":e.leftBarBorderColor,transaction:e.transitionWidth})},[l("span",{class:"verify-msg",textContent:V(e.finishText)},null,8,ze),l("div",{class:"verify-move-block",onTouchstart:o[1]||(o[1]=(...d)=>e.start&&e.start(...d)),onMousedown:o[2]||(o[2]=(...d)=>e.start&&e.start(...d)),style:c({width:n.barSize.height,height:n.barSize.height,"background-color":e.moveBlockBackgroundColor,left:e.moveBlockLeft,transition:e.transitionLeft})},[l("i",{class:U(["verify-icon iconfont",e.iconClass]),style:c({color:e.iconColor})},null,6),n.type==="2"?(W(),I("div",{key:0,class:"verify-sub-block",style:c({width:Math.floor(parseInt(e.setSize.imgWidth)*47/310)+"px",height:e.setSize.imgHeight,top:"-"+(parseInt(e.setSize.imgHeight)+n.vSpace)+"px","background-size":e.setSize.imgWidth+" "+e.setSize.imgHeight})},[l("img",{src:"data:image/png;base64,"+e.blockBackImgBase,alt:"",style:{width:"100%",height:"100%",display:"block","-webkit-user-drag":"none"}},null,8,Ce)],4)):X("",!0)],36)],4)],4)])}const He=re(we,[["render",We]]);export{He as default};