use-current-user-DMmm-WrO.js 1.1 KB

1
  1. import{y as a,K as u,x as i,a6 as c}from"./index-vTnP0OgV.js";function m(e){return a({url:"/api/auth/v2/login",method:"post",data:e})}function g(e){return a({url:"/api/auth/v2/register",method:"post",data:e})}function h(e){return a({url:`/api/auth/v2/sync?userFlag=${e}`,method:"get"})}function d(){return a({url:"/api/user/user_info",method:"get"})}const l=u("current_user",{persist:{enabled:!0,strategies:[{key:"info",storage:localStorage,paths:["username"]}]},state:()=>({name:"Jack",token_type:"",token:i.get(),username:"",nickname:"",dept:[],roles:[],permissions:[],user:{}}),actions:{updateName(e){this.name=e},toLogin(e){const{username:n,password:s}=e;return new Promise((o,r)=>{m({username:n,password:s}).then(t=>{t.code==200&&t.data.access_token.length?(this.token=t.data.access_token,this.token_type=t.data.token_type,this.username=t.data.username,this.nickname=t.data.nickname,i.set(t.data.access_token),o(t.msg),this.getInfo()):r(t.msg)}).catch(t=>{r(t)})})},async getUserInfo(){const{code:e,data:{permissions:n,dept:s,roles:o}}=await d();e===200&&c.setItem(JSON.stringify({permissions:n,dept:s,roles:o}))}}});export{h as a,g as r,l as u};