| 1 |
- import{A as t}from"./index-BNtoQzpv.js";import{authApi as o}from"./index-fQv2WpIJ.js";const n=t("auth",{state:()=>({user:null,accessToken:localStorage.getItem("accessToken")||"",refreshToken:localStorage.getItem("refreshToken")||""}),getters:{isLoggedIn:s=>!!s.accessToken,isAdmin:s=>{var e;return((e=s.user)==null?void 0:e.role)==="SUPER_ADMIN"},isHrAdminOrAbove:s=>{var e;return["SUPER_ADMIN","HR_ADMIN"].includes((e=s.user)==null?void 0:e.role)},isDeptLeaderOrAbove:s=>{var e;return["SUPER_ADMIN","HR_ADMIN","DEPT_LEADER"].includes((e=s.user)==null?void 0:e.role)},roleLabel:s=>{var r;return{EMPLOYEE:"员工",TEAM_LEADER:"团队主管",DEPT_LEADER:"部门负责人",HR_ADMIN:"HR管理员",SUPER_ADMIN:"管理员"}[(r=s.user)==null?void 0:r.role]||"员工"}},actions:{async login(s,e){const r=await o.login({username:s,password:e});this.accessToken=r.accessToken,this.refreshToken=r.refreshToken,this.user=r.user,localStorage.setItem("accessToken",r.accessToken),localStorage.setItem("refreshToken",r.refreshToken)},async register(s){const e=await o.register(s);this.accessToken=e.accessToken,this.refreshToken=e.refreshToken,this.user=e.user,localStorage.setItem("accessToken",e.accessToken),localStorage.setItem("refreshToken",e.refreshToken)},async fetchUser(){try{this.user=await o.me()}catch{this.logout()}},logout(){this.user=null,this.accessToken="",this.refreshToken="",localStorage.removeItem("accessToken"),localStorage.removeItem("refreshToken")}}});export{n as u};
|