Files
wecom_it_smart_desk/frontend-admin/dist_bak2/assets/admin-CjbgpjK_.js
T

2 lines
1.7 KiB
JavaScript

import{a0 as y,r as c,U as f,a1 as p}from"./index-CXRNRwY6.js";import{a as _}from"./index-BYeSIZFz.js";const u="admin_token",m="admin_user_id",A=y("admin",()=>{const a=c(null),n=c(localStorage.getItem(u)),s=c(localStorage.getItem(m)),l=c(!1),I=f(()=>!!n.value&&!!a.value),h=f(()=>{var e;return((e=a.value)==null?void 0:e.name)||""}),E=f(()=>{var e;return((e=a.value)==null?void 0:e.user_id)||s.value||""});async function S(e,o,d){l.value=!0;try{const t=await _.post("/agents/login",{user_id:e,name:e,password:o,otp_code:d||void 0}),i=t.agent_info||t;if("require_otp"in t&&t.require_otp)throw l.value=!1,new Error("require_otp");if(i.role!=="admin")throw new Error("无管理权限:该账号非管理员角色");n.value=t.token||i.token,s.value=e,localStorage.setItem(u,t.token||i.token),localStorage.setItem(m,e),a.value={...i,role:"admin"},p.push("/dashboard")}catch(r){if(console.error("管理员登录失败:",r),r instanceof Error&&r.message==="require_otp")throw r;const t=r instanceof Error?r.message:"登录失败,请重试";throw new Error(t)}finally{l.value=!1}}function g(){n.value=null,s.value=null,a.value=null,localStorage.removeItem(u),localStorage.removeItem(m),p.push("/login")}async function v(){var e;try{if(!n.value)return;const o=await _.get("/agents/me");a.value=o}catch(o){console.error("获取管理员信息失败:",o),o&&typeof o=="object"&&"response"in o&&((e=o.response)==null?void 0:e.status)===401&&g()}}async function w(){const e=localStorage.getItem(u);if(e){n.value=e,s.value=localStorage.getItem(m);try{await v()}catch{g()}}}return{adminInfo:a,token:n,adminUserId:s,logging:l,isLoggedIn:I,adminName:h,userId:E,login:S,logout:g,refreshAdminInfo:v,initAuth:w}});export{A as u};