import{d}from"./pinia-D6fI-ZdN.1737110241000.js";import{r as u}from"./request-ZxzhHWJh.1737110241000.js";import{u as f}from"./vue-router-Cyqq3sEN.1737110241000.js";import{s as h,r as w}from"./index-CxiSgu_q.1737110241000.js";import{C as a}from"./crypto-js-C6P57YDX.1737110241000.js";import{r as S,f as v}from"./@vue-BfhzGpZF.1737110241000.js";const n={captcha(s){return u({url:"/captcha",method:"post",data:s})},changePassword(s,t){return u({url:`/users/${s}/reset-password`,method:"put",data:t})},userLogin(s){return u({url:"/login",method:"post",data:s})},userLogout(s){return u({url:"/logout",method:"post",data:s})}},U=d("user",()=>{const s=S({}),t=r=>{s.value=r},p=f(),c=async r=>new Promise((i,o)=>{n.userLogin({...r,password:a.SHA256(r.password).toString()}).then(e=>{e.status==200?(p.push("/"),t(e.data.user),h(e.data.token)):o()}).catch(e=>{o(e)})}),l=async()=>{(await n.userLogout()).status==200&&(p.push("/login"),s.value={},w())},g=r=>new Promise((i,o)=>{n.changePassword(m.value,{password:a.SHA256(r.password).toString(),new_password:a.SHA256(r.new_password).toString()}).then(e=>{e.status==200?i():o()}).catch(e=>{o()})}),m=v(()=>s.value&&s.value.username?s.value.username:"empty");return{userInfo:s,setUserInfo:t,login:c,logout:l,changePassword:g,getUsername:m}},{persist:!0});export{n as a,U as u};