Files
claude-relay-service/assets/LoginView-Bk2509Bx.js
2026-01-22 13:58:01 +00:00

2 lines
3.5 KiB
JavaScript

import{c as b,r as f,q as y,x as a,z as s,R as w,L as d,Q as h,u as o,P as i,Y as v,K as u,aq as p,O as c,y as r}from"./vue-vendor-DV7DYXbz.js";import{u as _,a as k}from"./index-BahP9Xx9.js";import{T as S}from"./ThemeToggle-DROshBR1.js";import"./element-plus-BSjV1f9S.js";import"./vendor-Dr8jvgFu.js";const L={class:"flex min-h-screen items-center justify-center p-4 sm:p-6"},T={class:"fixed right-4 top-4 z-50"},V={class:"glass-strong w-full max-w-md rounded-xl p-6 shadow-2xl sm:rounded-2xl sm:p-8 md:rounded-3xl md:p-10"},N={class:"mb-6 text-center sm:mb-8"},q={class:"mx-auto mb-4 flex h-16 w-16 items-center justify-center overflow-hidden rounded-xl border border-gray-300/30 bg-gradient-to-br from-blue-500/20 to-purple-500/20 backdrop-blur-sm sm:mb-6 sm:h-20 sm:w-20 sm:rounded-2xl"},D=["src"],E={key:1,class:"fas fa-cloud text-2xl text-gray-700 sm:text-3xl"},I={key:1,class:"h-10 w-10 animate-pulse rounded bg-gray-300/50 sm:h-12 sm:w-12"},j={key:0,class:"header-title mb-2 text-2xl font-bold text-white sm:text-3xl"},B={key:1,class:"mx-auto mb-2 h-8 w-48 animate-pulse rounded bg-gray-300/50 sm:h-9 sm:w-64"},M=["disabled"],z={key:0,class:"fas fa-sign-in-alt mr-2"},F={key:1,class:"loading-spinner mr-2"},O={key:0,class:"mt-4 rounded-lg border border-red-500/30 bg-red-500/20 p-3 text-center text-xs text-red-800 backdrop-blur-sm dark:text-red-400 sm:mt-6 sm:rounded-xl sm:p-4 sm:text-sm"},Y={__name:"LoginView",setup(U){const e=_(),g=k(),m=b(()=>e.oemLoading),n=f({username:"",password:""});y(()=>{g.initTheme(),e.loadOemSettings()});const x=async()=>{await e.login(n.value)};return(A,t)=>(r(),a("div",L,[s("div",T,[w(S,{mode:"dropdown"})]),s("div",V,[s("div",N,[s("div",q,[m.value?(r(),a("div",I)):(r(),a(h,{key:0},[o(e).oemSettings.siteIconData||o(e).oemSettings.siteIcon?(r(),a("img",{key:0,alt:"Logo",class:"h-10 w-10 object-contain sm:h-12 sm:w-12",src:o(e).oemSettings.siteIconData||o(e).oemSettings.siteIcon,onError:t[0]||(t[0]=l=>l.target.style.display="none")},null,40,D)):(r(),a("i",E))],64))]),!m.value&&o(e).oemSettings.siteName?(r(),a("h1",j,i(o(e).oemSettings.siteName),1)):m.value?(r(),a("div",B)):d("",!0),t[3]||(t[3]=s("p",{class:"text-base text-gray-600 dark:text-gray-400 sm:text-lg"},"管理后台",-1))]),s("form",{class:"space-y-4 sm:space-y-6",onSubmit:v(x,["prevent"])},[s("div",null,[t[4]||(t[4]=s("label",{class:"mb-2 block text-sm font-semibold text-gray-900 dark:text-gray-100 sm:mb-3",for:"username"},"用户名",-1)),u(s("input",{id:"username","onUpdate:modelValue":t[1]||(t[1]=l=>n.value.username=l),autocomplete:"username",class:"form-input w-full",name:"username",placeholder:"请输入用户名",required:"",type:"text"},null,512),[[p,n.value.username]])]),s("div",null,[t[5]||(t[5]=s("label",{class:"mb-2 block text-sm font-semibold text-gray-900 dark:text-gray-100 sm:mb-3",for:"password"},"密码",-1)),u(s("input",{id:"password","onUpdate:modelValue":t[2]||(t[2]=l=>n.value.password=l),autocomplete:"current-password",class:"form-input w-full",name:"password",placeholder:"请输入密码",required:"",type:"password"},null,512),[[p,n.value.password]])]),s("button",{class:"btn btn-primary w-full px-4 py-3 text-base font-semibold sm:px-6 sm:py-4 sm:text-lg",disabled:o(e).loginLoading,type:"submit"},[o(e).loginLoading?d("",!0):(r(),a("i",z)),o(e).loginLoading?(r(),a("div",F)):d("",!0),c(" "+i(o(e).loginLoading?"登录中...":"登录"),1)],8,M)],32),o(e).loginError?(r(),a("div",O,[t[6]||(t[6]=s("i",{class:"fas fa-exclamation-triangle mr-2"},null,-1)),c(i(o(e).loginError),1)])):d("",!0)])]))}};export{Y as default};