Files
wecom_it_smart_desk/frontend-admin/dist-old/assets/Login-DQqUrkbw.js
T

3 lines
7.7 KiB
JavaScript
Raw Normal View History

const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/index-CMW9Tl_L.js","assets/index-BYp6OBwf.js","assets/index-DpwyG6Fg.css"])))=>i.map(i=>d[i]);
import{d as F,o as G,a as H,b as _,c as v,e as l,f as s,w as r,g as q,h as X,i as j,r as p,_ as V,j as w,E as b,u as Y,k as c,l as Z,m as M,n as L,t as W,p as ee,q as D,s as oe,v as te,x as ne,y as se}from"./index-BYp6OBwf.js";import{u as le}from"./admin-BbnaYI80.js";import{_ as ae}from"./_plugin-vue_export-helper-DlAUqK2U.js";import"./index-CMW9Tl_L.js";const ie={class:"login-page"},re={class:"login-card"},de={class:"login-logo"},ue={class:"login-logo-icon"},ce={key:0,style:{"text-align":"center","margin-bottom":"12px"}},pe={class:"qr-login"},fe={class:"qr-container"},ge={key:0,class:"qr-loading"},_e={key:1,class:"qr-code"},me=["src"],ve={key:2,class:"qr-error"},we={key:1,class:"password-login"},ye={class:"login-tips"},ke=F({__name:"Login",setup(Ce){const z=Y(),f=le(),O=p(),d=se({userId:"",password:"",otpCode:""}),S=p(!1),y=p(""),U=p(!1),I=p(""),E=p(!1),k=p(""),P=p(!1);let h=null,A="";const T=p(!1),B={userId:[{required:!0,message:"请输入账号",trigger:"blur"}],password:[{required:!0,message:"请输入密码",trigger:"blur"}],otpCode:[{required:!0,message:"请输入 OTP 验证码",trigger:"blur"},{len:6,message:"验证码为 6 位数字",trigger:"blur"}]};async function N(){T.value=!0;try{if(!/wxwork/i.test(navigator.userAgent)){T.value=!1;return}if(typeof window.wx<"u")try{const e=window.location.href.split("#")[0],o=(await V(async()=>{const{default:u}=await import("./index-CMW9Tl_L.js").then(a=>a.i);return{default:u}},__vite__mapDeps([0,1,2]))).default,n=await o.get("/wecom/jsapi-config",{params:{url:e}});console.log("[Admin Login] 获取到企微 JS-SDK 配置:",n),await new Promise(u=>{window.wx.config({beta:!0,debug:!1,appId:n.corp_id,timestamp:n.timestamp,nonceStr:n.nonce_str,signature:n.signature,jsApiList:["agentConfig"]}),u()});const g=(await new Promise((u,a)=>{window.wx.agentConfig({corpid:n.corp_id,agentid:n.agent_id,timestamp:n.timestamp,nonceStr:n.nonce_str,signature:n.signature,success:R=>u(R),fail:R=>a(new Error(R.errMsg||"agentConfig 失败"))})})).userId;if(g){console.log("[Admin Login] 获取到企微用户 ID:",g),I.value=g;const a=await o.get("/wecom/check-role",{params:{userid:g}});console.log("[Admin Login] 用户角色:",a),a.role}}catch(e){console.warn("[Admin Login] 企微 JS-SDK 检测失败:",e)}else console.log("[Admin Login] 无企微 JS-SDK,使用默认登录")}catch(i){console.error("企微客户端检测失败:",i)}finally{T.value=!1}}async function Q(){E.value=!0;try{const e=await(await V(async()=>{const{default:o}=await import("./index-CMW9Tl_L.js").then(t=>t.i);return{default:o}},__vite__mapDeps([0,1,2]))).default.post("/auth_wecom/jsdk-login",{userid:I.value,login_source:"wecom_jsdk_admin"});if(e!=null&&e.token){const{token:o,employee_id:t,name:n}=e;localStorage.setItem("admin_token",o),t&&localStorage.setItem("admin_user_id",t),f.token=o,f.adminUserId=t,b.success("登录成功"),z.push("/")}else throw new Error("免密登录失败")}catch(i){console.error("企微免密登录失败:",i),b.error("免密登录失败,请使用其他方式")}finally{E.value=!1}}async function K(){P.value=!0;try{const e=await(await V(async()=>{const{default:o}=await import("./index-CMW9Tl_L.js").then(t=>t.i);return{default:o}},__vite__mapDeps([0,1,2]))).default.post("/auth_qrcode/create");e.qrcode_png_base64?k.value=`data:image/png;base64,${e.qrcode_png_base64}`:e.qrcode_url&&(k.value=e.qrcode_url),e.ticket&&(A=e.ticket,J())}catch(i){console.error("获取二维码失败:",i)}finally{P.value=!1}}async function $(){if(A)try{const e=await(await V(async()=>{const{default:g}=await import("./index-CMW9Tl_L.js").then(u=>u.i);return{default:g}},__vite__mapDeps([0,1,2]))).default.get(`/auth_qrcode/poll/${A}`);if(!e)return;const{status:o,token:t,employee_id:n,name:m}=e;o==="confirmed"&&t?(x(),localStorage.setItem("admin_token",t),n&&localStorage.setItem("admin_user_id",n),f.token=t,f.adminUserId=n,b.success("扫码登录成功"),z.push("/")):o==="expired"&&(x(),k.value="",b.warning("二维码已过期,请刷新"))}catch(i){console.warn("轮询扫码状态失败:",i)}}function J(){x(),h=setInterval($,2e3)}