3 lines
9.9 KiB
JavaScript
3 lines
9.9 KiB
JavaScript
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./dingtalkQrCode-DxNyAQS1.js","./logo_dingtalk-CyDPr22R.js","./chat-GejDyFYU.js","./chat-azucZSIg.css","./dingtalkQrCode-CulsC8mV.css","./larkQrCode-CxK5lKHc.js","./logo_lark-DULIW3z6.js","./wecomQrCode-BnEL34Fj.js","./wecomQrCode-DezZNILo.css"])))=>i.map(i=>d[i]);
|
|
import{ay as Y,aA as Z,aB as r,br as ee,aD as R,aE as $,aF as i,aG as f,bf as C,bh as te,bm as y,cp as se,cq as re,bg as q,cr as F,az as ie,cs as ue,b8 as N,aC as b,bV as G,b7 as ce,bs as de,bt as pe,aH as h,aI as k,aJ as Q,ct as fe,aK as H,bn as J,by as me,cn as W,cu as ge,c6 as ve,cv as he,c7 as _e,ce as be}from"./chat-GejDyFYU.js";import{_ as ye,a as we,f as M,d as ke}from"./index-DSf0vfF8.js";import{L as Ce,a as xe}from"./LoginContainer-SXg_pOy9.js";import{a as X}from"./auth-setting-F_h5eEPg.js";const Le={key:0,class:"text-center mt-16"},Ae=Y({__name:"QrCodeTab",props:{tabs:{},defaultTab:{}},setup(U){const{login:x}=Z(),p=U,u=r(""),A=r([]),S=r({app_key:"",app_secret:""});async function c(){try{return await x.getQrSource()}catch{return[]}}ee(async()=>{p.tabs.length>0&&(u.value=p.tabs[0].key),A.value=await c(),T(u.value),console.log(p.defaultTab),p.defaultTab&&D(p.defaultTab)});const T=m=>{const g=A.value.find(I=>I.auth_type===m);g&&g.config&&(S.value=g.config)},D=m=>{u.value=m,T(m)};return(m,g)=>{const I=R("el-tab-pane"),s=R("el-tabs");return i(),$(s,{modelValue:u.value,"onUpdate:modelValue":g[0]||(g[0]=w=>u.value=w),onTabChange:D},{default:f(()=>[(i(!0),C(q,null,te(U.tabs,w=>(i(),$(I,{key:w.key,label:w.value,name:w.key},{default:f(()=>[w.key===u.value?(i(),C("div",Le,[(i(),$(se(re(()=>ye(Object.assign({"./dingtalkQrCode.vue":()=>F(()=>import("./dingtalkQrCode-DxNyAQS1.js"),__vite__mapDeps([0,1,2,3,4]),import.meta.url),"./larkQrCode.vue":()=>F(()=>import("./larkQrCode-CxK5lKHc.js"),__vite__mapDeps([5,6,2,3]),import.meta.url),"./wecomQrCode.vue":()=>F(()=>import("./wecomQrCode-BnEL34Fj.js"),__vite__mapDeps([7,2,3,8]),import.meta.url)}),`./${w.key}QrCode.vue`,2))),{config:S.value},null,8,["config"]))])):y("",!0)]),_:2},1032,["label","name"]))),128))]),_:1},8,["modelValue"])}}}),$e={key:0,class:"mb-24"},De={key:1},Ie={class:"mb-24"},Ee={class:"mb-24"},Re={key:0,class:"mb-24"},Se={class:"flex-between w-full"},Ve=["src"],Oe={class:"operate-container flex-between mt-12"},Pe={key:2},Qe={key:3,class:"login-gradient-divider lighter mt-24"},Te={class:"text-center mt-16"},Ue=Y({__name:"index",setup(U){const x=ie(),{login:p,user:u,theme:A}=Z(),{locale:S}=ue({useScope:"global"}),c=r(!1),T=N(),D=r(""),m=r(),g=r(null),I=r(""),s=r({username:"",password:"",captcha:""}),w=r({username:[{required:!0,message:b("views.login.loginForm.username.requiredMessage"),trigger:"blur"}],password:[{required:!0,message:b("views.login.loginForm.password.requiredMessage"),trigger:"blur"}],captcha:[{required:!1,message:b("views.login.loginForm.captcha.requiredMessage"),trigger:"blur"}]}),K=()=>{m.value&&m.value.validate(t=>{if(t)if(c.value=!0,L.value==="LDAP")p.asyncLdapLogin(s.value).then(()=>{S.value=localStorage.getItem("MaxKB-locale")||W()||"en-US",x.push({name:"home"})}).catch(()=>{c.value=!1});else{const e=M.pki.publicKeyFromPem(u.rasKey),a=JSON.stringify(s.value),o=M.util.encodeUtf8(a),_=e.encrypt(o,"RSAES-PKCS1-V1_5"),n=M.util.encode64(_);p.asyncLogin({encryptedData:n,username:s.value.username}).then(()=>{S.value=localStorage.getItem("MaxKB-locale")||W()||"en-US",localStorage.setItem("workspace_id","default"),x.push({name:"home"})}).catch(()=>{const v=s.value.username;c.value=!1,B(v)})}})};function B(t){ge.getCaptcha(t).then(e=>{e&&e.data&&e.data.captcha&&(D.value=e.data.captcha)}).catch(e=>{console.error("Failed to get captcha:",e)})}function ae(t){B(t)}G(()=>{u.asyncGetProfile().then(t=>{u.isPE()||u.isEE()?X.getLoginAuthSetting().then(e=>{if(Object.keys(e.data).length>0?g.value=e.data:g.value={max_attempts:1,default_value:"LOCAL"},T.query.login_mode!=="manual"){const o=g.value.default_value;["lark","wecom","dingtalk"].includes(o)?(O("QR_CODE",!1),I.value=o):O(o,!1)}}):g.value={max_attempts:1,default_value:"LOCAL"}})});const E=r([""]),j=r([""]),L=r(""),V=r(!1),z=r([]);function oe(){return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(t){const e=Math.random()*16|0;return(t==="x"?e:e&3|8).toString(16)})}const le=ce(()=>{var e,a,o;return!((e=A.themeInfo)!=null&&e.slogan)||"融合AI-RAG技术的智能知识问答及思维导图综合平台"==((a=A.themeInfo)==null?void 0:a.slogan)?b("theme.defaultSlogan"):(o=A.themeInfo)==null?void 0:o.slogan});function ne(t,e=!0){t==="LDAP"||t===""||t==="LOCAL"||X.getLoginViewAuthSetting(t,c).then(a=>{if(!a.data||!a.data.config)return;const o=a.data.config,_=`${o.redirectUrl}`;let n;if(t==="CAS")n=o.ldpUri,n+=n.indexOf("?")!==-1?`&service=${encodeURIComponent(_)}`:`?service=${encodeURIComponent(_)}`;else if(t==="OIDC"){const v=o.scope||"openid+profile+email";n=`${o.authEndpoint}?client_id=${o.clientId}&redirect_uri=${_}&response_type=code&scope=${v}`,o.state&&(n+=`&state=${o.state}`)}else t==="OAuth2"&&(n=`${o.authEndpoint}?client_id=${o.clientId}&response_type=code&redirect_uri=${_}&state=${oe()}`,o.scope&&(n+=`&scope=${o.scope}`));n&&(e?ve(b("views.login.jump_tip"),"",{confirmButtonText:b("views.login.jump"),cancelButtonText:b("common.cancel"),confirmButtonClass:""}).then(()=>{window.location.href=n}).catch(()=>{}):(console.log("url",n),window.location.href=n))})}function O(t,e=!0){var a;if(L.value=t==="LDAP"?t:"",t==="QR_CODE"){L.value=t,V.value=!0;return}V.value=!1,s.value={username:"",password:"",captcha:""},ne(t,e),(a=m.value)==null||a.clearValidate()}return G(()=>{c.value=!0,u.asyncGetProfile().then(t=>{u.isPE()||u.isEE()?(p.getAuthType().then(e=>{const a=e.indexOf("LDAP");if(a!==-1){const[o]=e.splice(a,1);e.unshift(o)}E.value=[...E.value,...e]}).finally(()=>c.value=!1),p.getQrType().then(e=>{e.length>0&&(E.value=["QR_CODE",...E.value],j.value=e,j.value.forEach(a=>{z.value.push({key:a,value:a==="wecom"?b("views.system.authentication.scanTheQRCode.wecom"):a==="dingtalk"?b("views.system.authentication.scanTheQRCode.dingtalk"):b("views.system.authentication.scanTheQRCode.lark")})}))}).finally(()=>c.value=!1)):c.value=!1})}),ee(()=>{const t=N(),e=r(t.fullPath),a=new URLSearchParams(e.value.split("?")[1]),o=a.get("client"),_=()=>{const v=a.get("corpId");v&&ke.runtime.permission.requestAuthCode({corpId:v}).then(l=>{console.log("DingTalk client request success:",l),p.dingOauth2Callback(l.code).then(()=>{x.push({name:"home"})})})},n=()=>{const v=a.get("appId"),l=()=>{var d;(d=window.tt)==null||d.requestAuthCode({appId:v,success:P=>{p.larkCallback(P.code).then(()=>{x.push({name:"home"})})},fail:P=>{_e(P)}})};he("https://lf-scm-cn.feishucdn.com/lark/op/h5-js-sdk-1.5.35.js",{jsId:"lark-sdk",forceReload:!0}).then(()=>{window.tt?window.tt.requestAccess({appID:v,scopeList:[],success:d=>{p.larkCallback(d.code).then(()=>{x.push({name:"home"})})},fail:d=>{const{errno:P}=d;P===103&&l()}}):l()}).catch(d=>{console.error("SDK 加载失败:",d)})};switch(o){case"dingtalk":_();break;case"lark":n();break}}),(t,e)=>{const a=R("el-input"),o=R("el-form-item"),_=R("el-form"),n=R("el-button"),v=de("loading");return c.value?y("",!0):pe((i(),$(xe,{key:0},{default:f(()=>[h(Ce,{subTitle:le.value},{default:f(()=>[V.value?y("",!0):(i(),C("h2",$e,Q(L.value||t.$t("views.login.title")),1)),V.value?y("",!0):(i(),C("div",De,[h(_,{class:"login-form",rules:w.value,model:s.value,ref_key:"loginFormRef",ref:m,onKeyup:fe(K,["enter"])},{default:f(()=>[k("div",Ie,[h(o,{prop:"username"},{default:f(()=>[h(a,{size:"large",class:"input-item",modelValue:s.value.username,"onUpdate:modelValue":e[0]||(e[0]=l=>s.value.username=l),onBlur:e[1]||(e[1]=l=>ae(s.value.username)),placeholder:t.$t("views.login.loginForm.username.placeholder")},null,8,["modelValue","placeholder"])]),_:1})]),k("div",Ee,[h(o,{prop:"password"},{default:f(()=>[h(a,{type:"password",size:"large",class:"input-item",modelValue:s.value.password,"onUpdate:modelValue":e[2]||(e[2]=l=>s.value.password=l),placeholder:t.$t("views.login.loginForm.password.placeholder"),"show-password":""},null,8,["modelValue","placeholder"])]),_:1})]),L.value!=="LDAP"&&D.value?(i(),C("div",Re,[h(o,{prop:"captcha"},{default:f(()=>[k("div",Se,[h(a,{size:"large",class:"input-item",modelValue:s.value.captcha,"onUpdate:modelValue":e[3]||(e[3]=l=>s.value.captcha=l),placeholder:t.$t("views.login.loginForm.captcha.placeholder")},null,8,["modelValue","placeholder"]),k("img",{src:D.value,alt:"",height:"38",class:"ml-8 cursor border border-r-6",onClick:e[4]||(e[4]=l=>B(s.value.username))},null,8,Ve)])]),_:1})])):y("",!0)]),_:1},8,["rules","model"]),h(n,{size:"large",type:"primary",class:"w-full",onClick:K,loading:c.value},{default:f(()=>[H(Q(t.$t("views.login.buttons.login")),1)]),_:1},8,["loading"]),k("div",Oe,[h(n,{loading:c.value,class:"forgot-password",onClick:e[5]||(e[5]=l=>J(x).push("/forgot_password")),link:"",type:"primary"},{default:f(()=>[H(Q(t.$t("views.login.forgotPassword"))+"? ",1)]),_:1},8,["loading"])])])),V.value?(i(),C("div",Pe,[h(Ae,{tabs:z.value,"default-tab":I.value},null,8,["tabs","default-tab"])])):y("",!0),E.value.length>1?(i(),C("div",Qe,[k("span",null,Q(t.$t("views.login.moreMethod")),1)])):y("",!0),k("div",Te,[(i(!0),C(q,null,te(E.value,l=>(i(),C(q,null,[l!==""&&L.value!==l&&l!=="QR_CODE"?(i(),$(n,{circle:"",key:l,class:"login-button-circle color-secondary",onClick:d=>O(l)},{default:f(()=>{var d;return[k("span",{style:me({"font-size":l==="OAUTH2"?"8px":"10px",color:(d=J(A).themeInfo)==null?void 0:d.theme})},Q(l),5)]}),_:2},1032,["onClick"])):y("",!0),l==="QR_CODE"&&L.value!==l?(i(),$(n,{circle:"",key:l,class:"login-button-circle color-secondary",onClick:e[6]||(e[6]=d=>O("QR_CODE"))},{default:f(()=>[...e[8]||(e[8]=[k("img",{src:we,width:"25px"},null,-1)])]),_:1})):y("",!0),l===""&&L.value!==""?(i(),$(n,{circle:"",key:l,class:"login-button-circle color-secondary",style:{"font-size":"24px"},icon:"UserFilled",onClick:e[7]||(e[7]=d=>O(""))})):y("",!0)],64))),256))])]),_:1},8,["subTitle"])]),_:1})),[[v,c.value]])}}}),Ke=be(Ue,[["__scopeId","data-v-ae91bf5f"]]);export{Ke as default};
|