2 lines
5.5 KiB
JavaScript
2 lines
5.5 KiB
JavaScript
var k=(e,t,n)=>new Promise((i,l)=>{var d=u=>{try{h(n.next(u))}catch(g){l(g)}},v=u=>{try{h(n.throw(u))}catch(g){l(g)}},h=u=>u.done?i(u.value):Promise.resolve(u.value).then(d,v);h((n=n.apply(e,t)).next())});import{q as W,o as z,h as P,i as C,a as R,I as b,c as U,b as V,r as A,s as y,v as q,f as K,k as a,w as F,x as B,p as r,y as f,B as I,z as L,C as G,F as O,D as j}from"./index.2ba75b20.js";import{m as J}from"./md5.318994bb.js";import{F as $}from"./index.3c52863a.js";import"./index.fad229ef.js";import{u as Q,a as X,L as Y,_ as Z,b as ee}from"./LoginFormTitle.9f64a2a8.js";import"./_baseIteratee.a541afd2.js";import"./get.f89a3030.js";import"./useSize.e4f04587.js";const te={name:"SIdentify",props:{identifyCode:{type:String,default:"1234"},fontSizeMin:{type:Number,default:16},fontSizeMax:{type:Number,default:40},backgroundColorMin:{type:Number,default:180},backgroundColorMax:{type:Number,default:240},colorMin:{type:Number,default:50},colorMax:{type:Number,default:160},lineColorMin:{type:Number,default:40},lineColorMax:{type:Number,default:180},dotColorMin:{type:Number,default:0},dotColorMax:{type:Number,default:255},contentWidth:{type:Number,default:112},contentHeight:{type:Number,default:38}},watch:{identifyCode(){this.drawPic()}},mounted(){this.drawPic()},methods:{randomNum(e,t){return Math.floor(Math.random()*(t-e)+e)},randomColor(e,t){let n=this.randomNum(e,t),i=this.randomNum(e,t),l=this.randomNum(e,t);return"rgb("+n+","+i+","+l+")"},drawPic(){let t=document.getElementById("s-canvas").getContext("2d");t.textBaseline="bottom",t.fillStyle=this.randomColor(this.backgroundColorMin,this.backgroundColorMax),t.fillRect(0,0,this.contentWidth,this.contentHeight);for(let n=0;n<this.identifyCode.length;n++)this.drawText(t,this.identifyCode[n],n);this.drawLine(t),this.drawDot(t)},drawText(e,t,n){e.fillStyle=this.randomColor(this.colorMin,this.colorMax),e.font=this.randomNum(this.fontSizeMin,this.fontSizeMax)+"px SimHei";let i=(n+1)*(this.contentWidth/(this.identifyCode.length+1)),l=this.randomNum(this.fontSizeMax,this.contentHeight-5);var d=this.randomNum(-45,45);e.translate(i,l),e.rotate(d*Math.PI/180),e.fillText(t,0,0),e.rotate(-d*Math.PI/180),e.translate(-i,-l)},drawLine(e){for(let t=0;t<8;t++)e.strokeStyle=this.randomColor(this.lineColorMin,this.lineColorMax),e.beginPath(),e.moveTo(this.randomNum(0,this.contentWidth),this.randomNum(0,this.contentHeight)),e.lineTo(this.randomNum(0,this.contentWidth),this.randomNum(0,this.contentHeight)),e.stroke()},drawDot(e){for(let t=0;t<100;t++)e.fillStyle=this.randomColor(0,255),e.beginPath(),e.arc(this.randomNum(0,this.contentWidth),this.randomNum(0,this.contentHeight),1,0,2*Math.PI),e.fill()}}},oe={class:"s-canvas"},ne=["width","height"];function se(e,t,n,i,l,d){return z(),P("div",oe,[C("canvas",{id:"s-canvas",width:n.contentWidth,height:n.contentHeight},null,8,ne)])}var ae=W(te,[["render",se]]);const ie={class:"flex items-center w-full"},re={class:"flex-1"},ye=R({__name:"LoginForm",setup(e){const t=$.Item,n=b.Password,{t:i}=U(),{notification:l,createErrorModal:d}=j(),{prefixCls:v}=V("login"),h=A(),{setLoginState:u,getLoginState:g}=Q(),{getFormRules:D}=X(),M=y(),p=y(!1);y(!1);const w=y(""),c=q({account:"",password:"",identifyCode:""}),{validForm:E}=ee(M),S=K(()=>a(g)===Y.LOGIN);function T(m,o){return Math.floor(Math.random()*(o-m)+m)}function H(){c.identifyCode="",_()}_();function _(m=4){const o="1234567890abcdef";let s="";for(let x=0;x<m;x++)s+=o[T(0,o.length)];w.value=s}function N(m){return k(this,null,function*(){const o=yield E();if(!!o){if(o.identifyCode.toLowerCase()!==w.value.toLowerCase()){d({title:"\u9519\u8BEF\u63D0\u793A",content:"\u9A8C\u8BC1\u7801\u4E0D\u6B63\u786E"});return}try{p.value=!0;const s=yield h.login({password:J(o.password),username:o.account,mode:"none",homeRouter:m});s&&l.success({message:i("sys.login.loginSuccessTitle"),description:`${i("sys.login.loginSuccessDesc")}: ${s.name}`,duration:3})}catch(s){d({title:i("sys.api.errorTip"),content:s.message||i("sys.api.networkExceptionMsg"),getContainer:()=>document.body.querySelector(`.${v}`)||document.body})}finally{p.value=!1}}})}return(m,o)=>(z(),P(O,null,[F(r(Z,{class:"enter-x"},null,512),[[B,a(S)]]),F(r(a($),{class:"p-4 enter-x",model:c,rules:a(D),ref_key:"formRef",ref:M,onKeypress:o[5]||(o[5]=G(s=>N("/"),["enter"]))},{default:f(()=>[r(a(t),{name:"account",class:"enter-x"},{default:f(()=>[r(a(b),{size:"large",value:c.account,"onUpdate:value":o[0]||(o[0]=s=>c.account=s),placeholder:a(i)("sys.login.userName"),class:"fix-auto-fill"},null,8,["value","placeholder"])]),_:1}),r(a(t),{name:"password",class:"enter-x"},{default:f(()=>[r(a(n),{size:"large",visibilityToggle:"",value:c.password,"onUpdate:value":o[1]||(o[1]=s=>c.password=s),placeholder:a(i)("sys.login.password")},null,8,["value","placeholder"])]),_:1}),r(a(t),{name:"identifyCode",class:"enter-x"},{default:f(()=>[C("div",ie,[C("div",re,[r(a(b),{size:"large",value:c.identifyCode,"onUpdate:value":o[2]||(o[2]=s=>c.identifyCode=s),placeholder:"\u8BF7\u8F93\u5165\u9A8C\u8BC1\u7801",class:"!w-full !min-w-full"},null,8,["value"])]),C("div",{onClick:H},[r(ae,{class:"ml-1 flex-none",identifyCode:w.value},null,8,["identifyCode"])])])]),_:1}),r(a(t),{class:"enter-x"},{default:f(()=>[r(a(I),{size:"large",block:"",onClick:o[3]||(o[3]=s=>N("/v")),loading:p.value},{default:f(()=>[L(" \u767B\u5F55\u5927\u5C4F ")]),_:1},8,["loading"]),r(a(I),{type:"primary",class:"mt-4",size:"large",block:"",onClick:o[4]||(o[4]=s=>N("/")),loading:p.value},{default:f(()=>[L(" \u767B\u5F55\u540E\u53F0 ")]),_:1},8,["loading"])]),_:1})]),_:1},8,["model","rules"]),[[B,a(S)]])],64))}});export{ye as default};
|