const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/auth-CFWKygdy.js","assets/index-BYeSIZFz.js","assets/index-CXRNRwY6.js","assets/index-BqADv29R.css"])))=>i.map(i=>d[i]); import{d as L,o as R,a as V,b as r,c as i,e as a,f as n,w as m,g as C,h as A,t as B,r as c,E as l,_ as I,i as b,u as N,j as w,k as D,l as O,m as M}from"./index-CXRNRwY6.js";import{getQrcode as Q,handleOAuthCallback as W,getScanStatus as j}from"./auth-CFWKygdy.js";import{u as $}from"./admin-CjbgpjK_.js";import{_ as F}from"./_plugin-vue_export-helper-DlAUqK2U.js";import"./index-BYeSIZFz.js";const G={class:"login-page"},H={class:"login-card"},J={class:"login-logo"},K={class:"login-logo-icon"},X={key:0,class:"qr-login"},Y={class:"qr-container"},Z={key:0,class:"qr-loading"},ee={key:1,class:"qr-code"},te=["src"],se={key:2,class:"qr-error"},ae={key:0,class:"scan-tip"},ne={key:1,class:"loading-container"},oe=L({__name:"Login",setup(re){const g=N(),u=$(),y=c(!0),k=c(""),S=c(!1),v=c(""),o=c(!1),p=c("请稍候...");let h=null,q="";function U(){return typeof navigator>"u"?!1:/wxwork/i.test(navigator.userAgent)}async function d(){S.value=!0,v.value="waiting";try{const t=await Q();k.value=`data:image/png;base64,${t.qrcode_png_base64}`,q=t.ticket,E()}catch(t){console.error("获取二维码失败:",t),l.error("获取二维码失败,请重试")}finally{S.value=!1}}async function x(){if(q)try{const t=await j(q);t.status==="scanned"?v.value="scanned":t.status==="confirmed"&&t.token?(_(),await P(t.token,t.user_info)):t.status==="expired"?(_(),l.warning("二维码已过期,请重新扫码"),d()):t.status==="cancelled"&&(_(),l.info("扫码已取消"),v.value="waiting",d())}catch(t){console.warn("轮询扫码状态失败:",t)}}function E(){_(),h=setInterval(x,2e3)}function _(){h&&(clearInterval(h),h=null)}async function P(t,e){o.value=!0,p.value="登录中...";try{if(e!=null&&e.is_new_user){g.push({name:"Bind",query:{userid:e.userid,name:e.name}});return}localStorage.setItem("admin_token",t),u.token=t,e&&(localStorage.setItem("admin_user_id",e.userid),u.adminUserId=e.userid,u.adminInfo={user_id:e.userid,name:e.name,status:"online"}),l.success("登录成功"),g.push("/")}catch(s){console.error("登录失败:",s),l.error("登录失败,请重试")}finally{o.value=!1}}async function T(t,e){o.value=!0,p.value="授权中...";try{const s=await W(t,e);if(s.is_new_user){g.push({name:"Bind",query:{userid:s.user_info.userid,name:s.user_info.name}});return}localStorage.setItem("admin_token",s.token),u.token=s.token,localStorage.setItem("admin_user_id",s.user_info.userid),u.adminUserId=s.user_info.userid,u.adminInfo={user_id:s.user_info.userid,name:s.user_info.name,status:"online"},l.success("登录成功"),g.push("/")}catch(s){console.error("OAuth回调处理失败:",s),l.error("授权失败,请重试")}finally{o.value=!1}}async function z(){const t=window.location.origin+"/itadmin/";try{const{getOAuthAuthorizeUrl:e}=await I(async()=>{const{getOAuthAuthorizeUrl:f}=await import("./auth-CFWKygdy.js");return{getOAuthAuthorizeUrl:f}},__vite__mapDeps([0,1,2,3])),s=await e(t);if(s.authorize_url){window.location.href=s.authorize_url;return}}catch(e){console.warn("从后端获取授权URL失败,尝试本地构造:",e)}{console.warn("未配置 VITE_WECOM_CORP_ID,无法跳转授权");return}}return R(async()=>{const t=new URLSearchParams(window.location.search),e=t.get("code"),s=t.get("state");if(e){await T(e,s||void 0);return}if(U()){o.value=!0,p.value="正在跳转企微授权...";try{await z()}catch(f){console.error("跳转授权失败:",f),y.value=!0,d()}finally{o.value=!1}}else y.value=!0,d()}),V(()=>{_()}),(t,e)=>{const s=b("el-icon"),f=b("el-button");return r(),i("div",G,[e[7]||(e[7]=a("div",{class:"login-bg"},[a("div",{class:"login-bg-gradient"})],-1)),a("div",H,[a("div",J,[a("div",K,[n(s,{size:28},{default:m(()=>[n(w(D))]),_:1})]),e[0]||(e[0]=a("h1",{class:"login-title"},"智能IT服务平台",-1)),e[1]||(e[1]=a("p",{class:"login-subtitle"},"管理后台",-1))]),y.value?(r(),i("div",X,[a("div",Y,[S.value?(r(),i("div",Z,[n(s,{class:"is-loading"},{default:m(()=>[n(w(O))]),_:1}),e[2]||(e[2]=a("p",null,"加载中...",-1))])):k.value?(r(),i("div",ee,[a("img",{src:k.value,alt:"企微扫码登录"},null,8,te)])):(r(),i("div",se,[e[4]||(e[4]=a("p",null,"获取二维码失败",-1)),n(f,{size:"small",onClick:d},{default:m(()=>[...e[3]||(e[3]=[C("重试",-1)])]),_:1})]))]),e[6]||(e[6]=a("p",{class:"qr-hint"},"请使用企业微信扫码登录",-1)),v.value==="scanned"?(r(),i("p",ae,[n(s,null,{default:m(()=>[n(w(M))]),_:1}),e[5]||(e[5]=C(" 已扫码,请在手机确认 ",-1))])):A("",!0)])):A("",!0),o.value?(r(),i("div",ne,[n(s,{class:"is-loading",size:"32"},{default:m(()=>[n(w(O))]),_:1}),a("p",null,B(p.value),1)])):A("",!0)])])}}}),_e=F(oe,[["__scopeId","data-v-79a59725"]]);export{_e as default};