Files
CloudFlare-ImgBed/js/107.13efd48c.js
2025-12-09 23:33:14 +08:00

2 lines
4.4 KiB
JavaScript

"use strict";(self["webpackChunksanyue_imghub"]=self["webpackChunksanyue_imghub"]||[]).push([[107],{4208:function(e,t,s){s.d(t,{A:function(){return F}});var i=s(6975),n=s(47),o=(s(5331),s(9648),s(9623)),a=(s(6711),s(813)),l=(s(4896),s(4632)),r=s(4453),u=s(6768),d=s(4232),c=s(5130);const h={class:"login-container"},p={class:"login-title",tabindex:"0"},m={class:"input-wrapper"};function f(e,t,s,f,g,b){const y=r.A,k=l.A,w=a.tk,F=o.WK,v=n.S2,L=i.A;return(0,u.uX)(),(0,u.CE)("div",{class:(0,d.C4)(["login",{"is-focused":g.isFocused}])},[(0,u.bF)(y,{class:"toggle-dark"}),(0,u.bF)(k),(0,u.Lk)("div",h,[(0,u.Lk)("h1",p,(0,d.v_)(s.title),1),((0,u.uX)(!0),(0,u.CE)(u.FK,null,(0,u.pI)(s.fields,(e,t)=>((0,u.uX)(),(0,u.CE)("div",{key:e.key,class:"input-container"},[(0,u.Lk)("label",{class:"input-name",ref_for:!0,ref:`inputLabel${t}`,style:(0,d.Tr)({"--underline-width":g.labelUnderlineWidths[t]+"px"})},(0,d.v_)(e.label),5),(0,u.Lk)("div",m,[(0,u.bF)(F,{modelValue:g.formData[e.key],"onUpdate:modelValue":t=>g.formData[e.key]=t,placeholder:e.placeholder,type:e.type||"text","show-password":e.showPassword,class:"password-input",onKeyup:(0,c.jR)(b.handleSubmit,["enter","native"]),onFocus:b.handleInputFocus,onBlur:b.handleInputBlur},(0,u.eX)({_:2},[e.icon?{name:"prefix",fn:(0,u.k6)(()=>[(0,u.bF)(w,{class:"el-input__icon"},{default:(0,u.k6)(()=>[((0,u.uX)(),(0,u.Wv)((0,u.$y)(e.icon)))]),_:2},1024)]),key:"0"}:void 0]),1032,["modelValue","onUpdate:modelValue","placeholder","type","show-password","onKeyup","onFocus","onBlur"])])]))),128)),(0,u.bF)(v,{class:"submit",type:"primary",onClick:b.handleSubmit},{default:(0,u.k6)(()=>[(0,u.eW)((0,d.v_)(s.submitText),1)]),_:1},8,["onClick"])]),(0,u.bF)(L,{class:"footer"})],2)}s(8111),s(7588);var g=s(8401),b=s(8903),y={name:"BaseLogin",mixins:[b.A],props:{title:{type:String,required:!0},fields:{type:Array,required:!0},submitText:{type:String,default:"登录"},backgroundKey:{type:String,required:!0},isAdmin:{type:Boolean,default:!1}},data(){return{formData:{},labelUnderlineWidths:[],isFocused:!1}},computed:{...(0,g.L8)(["userConfig"])},watch:{fields:{handler(){this.$nextTick(()=>{this.calculateLabelWidths()})},deep:!0}},components:{Footer:i.A,ToggleDark:r.A,Logo:l.A},mounted(){this.initFormData(),this.initializeBackground(this.backgroundKey,".login",!this.isAdmin,!0),this.$nextTick(()=>{this.calculateLabelWidths()})},methods:{initFormData(){const e={};this.fields.forEach(t=>{e[t.key]=""}),this.formData=e,this.labelUnderlineWidths=new Array(this.fields.length).fill(0)},calculateLabelWidths(){this.$nextTick(()=>{this.fields.forEach((e,t)=>{const s=this.$refs[`inputLabel${t}`];if(s&&s[0]){const i=document.createElement("canvas"),n=i.getContext("2d"),o=s[0],a=window.getComputedStyle(o);n.font=`${a.fontWeight} ${a.fontSize} ${a.fontFamily}`;const l=n.measureText(e.label).width;this.labelUnderlineWidths[t]=Math.ceil(l)+3}})})},handleSubmit(){this.$emit("submit",{...this.formData})},handleInputFocus(e){this.isFocused=!0;const t=e.target.closest(".input-container");if(t){const e=t.querySelector(".input-wrapper");e&&e.classList.add("focused")}},handleInputBlur(e){this.isFocused=!1;const t=e.target.closest(".input-container");if(t){const e=t.querySelector(".input-wrapper");e&&e.classList.remove("focused")}}}},k=s(1241);const w=(0,k.A)(y,[["render",f],["__scopeId","data-v-75a6162e"]]);var F=w},9669:function(e,t,s){s.r(t),s.d(t,{default:function(){return p}});var i=s(4208),n=s(6768);function o(e,t,s,o,a,l){const r=i.A;return(0,n.uX)(),(0,n.Wv)(r,{title:l.loginTitle,fields:a.loginFields,"submit-text":"登录","background-key":"loginBkImg","is-admin":!1,onSubmit:l.handleLogin},null,8,["title","fields","onSubmit"])}s(4114);var a=s(4570),l=s.n(a),r=s(9189),u=s(8401),d={data(){return{loginFields:[{key:"password",label:"密码",placeholder:"请输入认证码",type:"password",showPassword:!0,icon:"Lock"}]}},computed:{...(0,u.L8)(["userConfig"]),ownerName(){return this.userConfig?.ownerName||"Sanyue"},loginTitle(){return`登录到 ${this.ownerName} 图床`}},components:{BaseLogin:i.A},methods:{handleLogin(e){const{password:t}=e,s=""===t?"unset":t;r.A.post("/api/login",{authCode:t}).then(e=>{200===e.status?(l().set("authCode",s,"14d"),this.$router.push("/"),this.$message.success("登录成功")):this.$message.error("登录失败,请检查密码是否正确")}).catch(e=>{this.$message.error("登录失败,请检查密码是否正确")})}}},c=s(1241);const h=(0,c.A)(d,[["render",o]]);var p=h}}]);
//# sourceMappingURL=107.13efd48c.js.map