UnisKB/static/admin/assets/index-DsYuLdEw.js

3 lines
10 KiB
JavaScript

const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./dingtalkQrCode-BE05KMdA.js","./logo_dingtalk-CyDPr22R.js","./admin-BbBlJvSj.js","./admin-Bbyck9zg.css","./dingtalkQrCode-CulsC8mV.css","./larkQrCode-zZ72TVqi.js","./logo_lark-DULIW3z6.js","./wecomQrCode-BzC3q_e1.js","./wecomQrCode-DezZNILo.css"])))=>i.map(i=>d[i]);
import{ay as Y,aA as Z,aB as r,b6 as ee,aD as R,aE as i,aF as L,aG as f,aW as C,aY as te,cq as se,cr as re,b1 as w,aX as q,cs as F,az as ie,ct as ue,aQ as G,aC as b,bF as N,aO as ce,b7 as de,b8 as pe,aH as m,aJ as P,cu as fe,aI as _,aK as H,b2 as J,bc as me,co as W,cv as ge,c0 as ve,cw as he,c1 as _e,cf as ye}from"./admin-BbBlJvSj.js";import{_ as be,a as we,f as M,d as ke}from"./index-DyCsjfy2.js";import{L as Ce,a as xe}from"./LoginContainer-w79yexiC.js";import{a as X}from"./auth-setting-CAYdhbbD.js";import{C as Ae}from"./index-DvaaCd3s.js";const Ie={key:0,class:"text-center mt-16"},Le=Y({__name:"QrCodeTab",props:{tabs:{},defaultTab:{}},setup(B){const{login:x}=Z(),p=B,u=r(""),I=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),I.value=await c(),T(u.value),console.log(p.defaultTab),p.defaultTab&&$(p.defaultTab)});const T=g=>{const v=I.value.find(D=>D.auth_type===g);v&&v.config&&(S.value=v.config)},$=g=>{u.value=g,T(g)};return(g,v)=>{const D=R("el-tab-pane"),s=R("el-tabs");return i(),L(s,{modelValue:u.value,"onUpdate:modelValue":v[0]||(v[0]=k=>u.value=k),onTabChange:$},{default:f(()=>[(i(!0),C(q,null,te(B.tabs,k=>(i(),L(D,{key:k.key,label:k.value,name:k.key},{default:f(()=>[k.key===u.value?(i(),C("div",Ie,[(i(),L(se(re(()=>be(Object.assign({"./dingtalkQrCode.vue":()=>F(()=>import("./dingtalkQrCode-BE05KMdA.js"),__vite__mapDeps([0,1,2,3,4]),import.meta.url),"./larkQrCode.vue":()=>F(()=>import("./larkQrCode-zZ72TVqi.js"),__vite__mapDeps([5,6,2,3]),import.meta.url),"./wecomQrCode.vue":()=>F(()=>import("./wecomQrCode-BzC3q_e1.js"),__vite__mapDeps([7,2,3,8]),import.meta.url)}),`./${k.key}QrCode.vue`,2))),{config:S.value},null,8,["config"]))])):w("",!0)]),_:2},1032,["label","name"]))),128))]),_:1},8,["modelValue"])}}}),$e={style:{display:"flex","align-items":"center","justify-content":"center"}},De={key:0,class:"mb-24"},Ee={key:1},Re={class:"mb-24"},Se={class:"mb-24"},Oe={key:0,class:"mb-24"},Ve={class:"flex-between w-full"},Qe=["src"],Pe={class:"operate-container flex-between mt-12"},Te={key:2},Be={key:3,class:"login-gradient-divider lighter mt-24"},Ue={class:"text-center mt-16"},Fe=Y({__name:"index",setup(B){const x=ie(),{login:p,user:u,theme:I}=Z(),{locale:S}=ue({useScope:"global"}),c=r(!1),T=G(),$=r(""),g=r(),v=r(null),D=r(""),s=r({username:"",password:"",captcha:""}),k=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=()=>{g.value&&g.value.validate(t=>{if(t)if(c.value=!0,A.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),y=e.encrypt(o,"RSAES-PKCS1-V1_5"),n=M.util.encode64(y);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 h=s.value.username;c.value=!1,U(h)})}})};function U(t){ge.getCaptcha(t).then(e=>{e&&e.data&&e.data.captcha&&($.value=e.data.captcha)}).catch(e=>{console.error("Failed to get captcha:",e)})}function ae(t){U(t)}N(()=>{u.asyncGetProfile().then(t=>{u.isPE()||u.isEE()?X.getLoginAuthSetting().then(e=>{if(Object.keys(e.data).length>0?v.value=e.data:v.value={max_attempts:1,default_value:"LOCAL"},T.query.login_mode!=="manual"){const o=v.value.default_value;["lark","wecom","dingtalk"].includes(o)?(V("QR_CODE",!1),D.value=o):V(o,!1)}}):v.value={max_attempts:1,default_value:"LOCAL"}})});const E=r([""]),j=r([""]),A=r(""),O=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=I.themeInfo)!=null&&e.slogan)||"融合AI-RAG技术的智能知识问答及思维导图综合平台"==((a=I.themeInfo)==null?void 0:a.slogan)?b("theme.defaultSlogan"):(o=I.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,y=`${o.redirectUrl}`;let n;if(t==="CAS")n=o.ldpUri,n+=n.indexOf("?")!==-1?`&service=${encodeURIComponent(y)}`:`?service=${encodeURIComponent(y)}`;else if(t==="OIDC"){const h=o.scope||"openid+profile+email";n=`${o.authEndpoint}?client_id=${o.clientId}&redirect_uri=${y}&response_type=code&scope=${h}`,o.state&&(n+=`&state=${o.state}`)}else t==="OAuth2"&&(n=`${o.authEndpoint}?client_id=${o.clientId}&response_type=code&redirect_uri=${y}&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 V(t,e=!0){var a;if(A.value=t==="LDAP"?t:"",t==="QR_CODE"){A.value=t,O.value=!0;return}O.value=!1,s.value={username:"",password:"",captcha:""},ne(t,e),(a=g.value)==null||a.clearValidate()}return N(()=>{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=G(),e=r(t.fullPath),a=new URLSearchParams(e.value.split("?")[1]),o=a.get("client"),y=()=>{const h=a.get("corpId");h&&ke.runtime.permission.requestAuthCode({corpId:h}).then(l=>{console.log("DingTalk client request success:",l),p.dingOauth2Callback(l.code).then(()=>{x.push({name:"home"})})})},n=()=>{const h=a.get("appId"),l=()=>{var d;(d=window.tt)==null||d.requestAuthCode({appId:h,success:Q=>{p.larkCallback(Q.code).then(()=>{x.push({name:"home"})})},fail:Q=>{_e(Q)}})};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:h,scopeList:[],success:d=>{p.larkCallback(d.code).then(()=>{x.push({name:"home"})})},fail:d=>{const{errno:Q}=d;Q===103&&l()}}):l()}).catch(d=>{console.error("SDK 加载失败:",d)})};switch(o){case"dingtalk":y();break;case"lark":n();break}}),(t,e)=>{const a=R("el-input"),o=R("el-form-item"),y=R("el-form"),n=R("el-button"),h=de("loading");return c.value?w("",!0):pe((i(),L(xe,{key:0},{default:f(()=>[m(Ce,{subTitle:le.value},{logo:f(()=>[_("div",$e,[m(Ae),e[8]||(e[8]=_("h1",{style:{"font-size":"18px","font-weight":"600",margin:"0",background:"linear-gradient(90deg, #6B47E5, #1E71C7)","-webkit-background-clip":"text","-webkit-text-fill-color":"transparent"}},"AI-RAG",-1))])]),default:f(()=>[O.value?w("",!0):(i(),C("h2",De,P(A.value||t.$t("views.login.title")),1)),O.value?w("",!0):(i(),C("div",Ee,[m(y,{class:"login-form",rules:k.value,model:s.value,ref_key:"loginFormRef",ref:g,onKeyup:fe(K,["enter"])},{default:f(()=>[_("div",Re,[m(o,{prop:"username"},{default:f(()=>[m(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})]),_("div",Se,[m(o,{prop:"password"},{default:f(()=>[m(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})]),A.value!=="LDAP"&&$.value?(i(),C("div",Oe,[m(o,{prop:"captcha"},{default:f(()=>[_("div",Ve,[m(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"]),_("img",{src:$.value,alt:"",height:"38",class:"ml-8 cursor border border-r-6",onClick:e[4]||(e[4]=l=>U(s.value.username))},null,8,Qe)])]),_:1})])):w("",!0)]),_:1},8,["rules","model"]),m(n,{size:"large",type:"primary",class:"w-full",onClick:K,loading:c.value},{default:f(()=>[H(P(t.$t("views.login.buttons.login")),1)]),_:1},8,["loading"]),_("div",Pe,[m(n,{loading:c.value,class:"forgot-password",onClick:e[5]||(e[5]=l=>J(x).push("/forgot_password")),link:"",type:"primary"},{default:f(()=>[H(P(t.$t("views.login.forgotPassword"))+"? ",1)]),_:1},8,["loading"])])])),O.value?(i(),C("div",Te,[m(Le,{tabs:z.value,"default-tab":D.value},null,8,["tabs","default-tab"])])):w("",!0),E.value.length>1?(i(),C("div",Be,[_("span",null,P(t.$t("views.login.moreMethod")),1)])):w("",!0),_("div",Ue,[(i(!0),C(q,null,te(E.value,l=>(i(),C(q,null,[l!==""&&A.value!==l&&l!=="QR_CODE"?(i(),L(n,{circle:"",key:l,class:"login-button-circle color-secondary",onClick:d=>V(l)},{default:f(()=>{var d;return[_("span",{style:me({"font-size":l==="OAUTH2"?"8px":"10px",color:(d=J(I).themeInfo)==null?void 0:d.theme})},P(l),5)]}),_:2},1032,["onClick"])):w("",!0),l==="QR_CODE"&&A.value!==l?(i(),L(n,{circle:"",key:l,class:"login-button-circle color-secondary",onClick:e[6]||(e[6]=d=>V("QR_CODE"))},{default:f(()=>[...e[9]||(e[9]=[_("img",{src:we,width:"25px"},null,-1)])]),_:1})):w("",!0),l===""&&A.value!==""?(i(),L(n,{circle:"",key:l,class:"login-button-circle color-secondary",style:{"font-size":"24px"},icon:"UserFilled",onClick:e[7]||(e[7]=d=>V(""))})):w("",!0)],64))),256))])]),_:1},8,["subTitle"])]),_:1})),[[h,c.value]])}}}),Ge=ye(Fe,[["__scopeId","data-v-3644f670"]]);export{Ge as default};