Files
Nexus/web/app/assets/LoginPage-W0z3Jmx1.js
T
Nexus Agent 4d82ed4031 build(frontend): rebuild web/app assets and prune stale hashes.
Align index.html with a complete Vite output set and remove 116 orphaned
chunks so git clone loads the SPA correctly.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-09 03:33:23 +08:00

2 lines
5.1 KiB
JavaScript

const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/DashboardPage-BDfRyW6v.js","assets/_plugin-vue_export-helper-BDNMzG2s.js","assets/index-Bplw5zZe.js","assets/index-DUUkodzN.css","assets/VCard-DwK3U69w.js","assets/VCard-BCYbpv-w.css","assets/VRow-Jrv7cE2K.js","assets/VRow-DIr3-SqU.css","assets/useSnackbar-P0rXZaHt.js","assets/useSnackbar-ku9EbwM-.css","assets/VSkeletonLoader-vo9o5RDt.js","assets/VSkeletonLoader-B03HMi2d.css","assets/usePageActivateRefresh-C2xQnJah.js","assets/auditNormalize-DWYIxo0q.js","assets/DashboardPage-BpuLHXj7.css"])))=>i.map(i=>d[i]);
import{Gt as e,Jt as t,Kt as n,Mr as r,N as i,Nr as a,P as o,Pr as s,Sr as c,Ur as l,Vr as u,Xr as d,Xt as f,_r as p,ai as m,br as h,en as g,gr as _,hr as v,mr as y,oi as b,qt as x,tn as S,ur as C,vr as w,xr as T,y as E}from"./index-Bplw5zZe.js";import{t as D}from"./VCard-DwK3U69w.js";import{t as O}from"./VTextField-DVnxh9lX.js";import{t as k}from"./_plugin-vue_export-helper-BDNMzG2s.js";import{t as A}from"./VForm-lsgZBPTi.js";var j={class:`login-page`},M={key:0,class:`login-center`},N={key:2,class:`text-center mt-4`},P=k(c({name:`LoginPage`,__name:`LoginPage`,setup(c){let k=g(),P=S(),F=n(),I=d(`checking`),L=d(``),R=d(``),z=d(``),B=d(!1),V=d(!1),H=d(``),U=d(!1),W=d(0),G=d(null),K=d([]),q=d(0),J=null,Y=y(()=>I.value===`checking`?{backgroundColor:`#0a0a12`}:K.value.length===0?{backgroundImage:`linear-gradient(135deg, #1a237e 0%, #0d47a1 40%, #1565c0 100%)`}:{backgroundImage:`url(${K.value[q.value]})`});async function X(){try{let e=await f.get(`/settings/bing-wallpapers`);e?.urls?.length&&(K.value=e.urls,q.value=Math.floor(Math.random()*e.urls.length))}catch{}}function Z(){J&&clearInterval(J),!(K.value.length<=1)&&(J=setInterval(()=>{q.value=(q.value+1)%K.value.length},36e5))}async function ee(){I.value=`checking`;try{return await f.get(`/auth/login-access`),I.value=`form`,!0}catch{return I.value=`blocked`,!1}}function te(){I.value===`form`&&e(()=>import(`./DashboardPage-BDfRyW6v.js`),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14]))}u(I,e=>{e===`form`&&te()}),r(async()=>{await ee(),await X(),Z()}),a(()=>{J&&clearInterval(J),$&&clearInterval($)});let Q=d(Date.now()),$=null,ne=y(()=>{if(!G.value)return 0;let e=new Date(G.value).getTime()-Q.value;return Math.max(0,Math.ceil(e/6e4))});u(G,e=>{$&&=(clearInterval($),null),e&&($=setInterval(()=>{Q.value=Date.now()},3e4))});async function re(){if(!L.value||!R.value){H.value=`请输入用户名和密码`;return}V.value=!0,H.value=``;try{await F.login(L.value,R.value,U.value?z.value:void 0);let e=k.query.redirect||`/`,t=e.startsWith(`/`)&&!e.startsWith(`//`)?e:`/`;await P.replace(t)}catch(e){if(e instanceof t)U.value=!0,H.value=e.message;else if(e instanceof x){if(e.status===403){I.value=`blocked`;return}e.status===429?(G.value=new Date(Date.now()+900*1e3).toISOString(),H.value=`登录尝试过多,账户已锁定 15 分钟`):(W.value++,H.value=e.message)}else H.value=`网络错误,请重试`}finally{V.value=!1}}return(e,t)=>(s(),w(`div`,j,[v(`div`,{class:`wallpaper-bg`,style:m(Y.value)},null,4),t[6]||=v(`div`,{class:`wallpaper-overlay`},null,-1),I.value===`form`?(s(),w(`div`,M,[T(D,{elevation:`0`,rounded:`xl`,class:`login-card pa-10`,border:``},{default:l(()=>[H.value?(s(),_(i,{key:0,type:`error`,density:`compact`,class:`mb-4`,closable:``,"onClick:close":t[0]||=e=>H.value=``,rounded:`lg`,variant:`tonal`},{default:l(()=>[h(b(H.value),1)]),_:1})):p(``,!0),G.value?(s(),_(i,{key:1,type:`warning`,density:`compact`,class:`mb-4`,rounded:`lg`,variant:`tonal`},{default:l(()=>[h(` 账户已锁定,请 `+b(ne.value)+` 分钟后重试 `,1)]),_:1})):p(``,!0),T(A,{onSubmit:C(re,[`prevent`])},{default:l(()=>[T(O,{modelValue:L.value,"onUpdate:modelValue":t[1]||=e=>L.value=e,label:`用户名`,variant:`outlined`,density:`comfortable`,"prepend-inner-icon":`mdi-account-outline`,disabled:V.value,class:`mb-4`,autocomplete:`username`,rounded:`lg`,"hide-details":`auto`},null,8,[`modelValue`,`disabled`]),T(O,{modelValue:R.value,"onUpdate:modelValue":t[2]||=e=>R.value=e,label:`密码`,variant:`outlined`,density:`comfortable`,"prepend-inner-icon":`mdi-lock-outline`,"append-inner-icon":B.value?`mdi-eye`:`mdi-eye-off`,type:B.value?`text`:`password`,"onClick:appendInner":t[3]||=e=>B.value=!B.value,disabled:V.value,class:`mb-4`,autocomplete:`current-password`,rounded:`lg`,"hide-details":`auto`},null,8,[`modelValue`,`append-inner-icon`,`type`,`disabled`]),U.value?(s(),_(O,{key:0,modelValue:z.value,"onUpdate:modelValue":t[4]||=e=>z.value=e,label:`TOTP 验证码`,variant:`outlined`,density:`comfortable`,"prepend-inner-icon":`mdi-shield-key-outline`,disabled:V.value,class:`mb-4`,autocomplete:`one-time-code`,rounded:`lg`,"hide-details":`auto`},null,8,[`modelValue`,`disabled`])):p(``,!0),T(o,{type:`submit`,color:`primary`,variant:`flat`,block:``,size:`large`,loading:V.value,disabled:!!G.value,rounded:`lg`,class:`mt-2`,height:`48`},{default:l(()=>[...t[5]||=[h(` 登录 `,-1)]]),_:1},8,[`loading`,`disabled`])]),_:1}),W.value>0&&!G.value?(s(),w(`div`,N,[T(E,{size:`small`,variant:`tonal`,color:`warning`,label:``},{default:l(()=>[h(` 已失败 `+b(W.value)+` 次 `,1)]),_:1})])):p(``,!0)]),_:1})])):p(``,!0)]))}}),[[`__scopeId`,`data-v-5c1d22f2`]]);export{P as default};