You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
1 line
2.1 KiB
1 line
2.1 KiB
import{D as e,O as t,S as n,T as r,W as i,Z as a,_t as o,h as s,in as c,k as l,q as u,st as d}from"./vue.runtime.esm-bundler-CACvpnko.js";import{y as f}from"./api-Dpfxb1ca.js";import{a as p,f as m,h,p as g}from"./index-iRzk6lDR.js";import{t as _}from"./_plugin-vue_export-helper-CXTkFu_Z.js";import{t as v}from"./auth-DzDegrJh.js";import{a as y}from"./site-BxiJvB6v.js";var b={class:`login-wrap`},x=_(l({__name:`AdminLoginView`,setup(l){let _=m(),x=g(),S=p(),C=o(``),w=o(``),T=o(!1);i(()=>{y()});function E(e){return e instanceof Error&&e.message.trim()?e.message:typeof e==`string`&&e.trim()?e:`登录失败`}function D(){let e=f(typeof _.query.redirect==`string`?_.query.redirect:``);return e&&e.startsWith(`/admin`)&&!e.includes(`/login`)?{path:e,replace:!0}:{name:`admin-dashboard`,replace:!0}}async function O(){if(!C.value.trim()||!w.value.trim()){h.warning(`请输入账号和密码`);return}T.value=!0;try{let e=await v({username:C.value.trim(),password:w.value.trim()}),t=e.user&&typeof e.user.id==`number`?{id:e.user.id,username:e.user.username,name:e.user.name,kind:`platform`}:null;S.setSession(e.token,t),await x.replace(D()),h.success(`登录成功`)}catch(e){h.error(E(e))}finally{T.value=!1}}return(i,o)=>{let l=a(`el-input`),f=a(`el-form-item`),p=a(`el-button`),m=a(`el-form`),h=a(`el-card`);return u(),r(`div`,b,[t(h,{class:`login-card`,shadow:`hover`},{header:d(()=>[...o[2]||=[n(`div`,{class:`card-title`},`管理员登录`,-1)]]),default:d(()=>[t(m,{"label-position":`top`,onSubmit:s(O,[`prevent`])},{default:d(()=>[t(f,{label:`账号`},{default:d(()=>[t(l,{modelValue:C.value,"onUpdate:modelValue":o[0]||=e=>C.value=e,modelModifiers:{trim:!0},autocomplete:`username`,clearable:``},null,8,[`modelValue`])]),_:1}),t(f,{label:`密码`},{default:d(()=>[t(l,{modelValue:w.value,"onUpdate:modelValue":o[1]||=e=>w.value=e,type:`password`,autocomplete:`current-password`,"show-password":``},null,8,[`modelValue`])]),_:1}),t(p,{type:`primary`,class:`w-100`,"native-type":`submit`,loading:T.value},{default:d(()=>[e(c(T.value?`登录中…`:`登录`),1)]),_:1},8,[`loading`])]),_:1})]),_:1})])}}}),[[`__scopeId`,`data-v-0e142abe`]]);export{x as default}; |