SSOLogin-deda9c1c.js 3.4 KB

1
  1. import{ar as z,d as K,K as M,u as N,r as I,f as U,L as R,a as l,M as Z,y as j,a6 as A,o as p,c as y,g as n,w as i,h as E,q as S,F as P,v as H,x as Q,t as W,bb as C,Y as X,Z as $,af as ee,aY as se,B as ae,D as te,G as oe,_ as re,__tla as le}from"./index-519c938b.js";import ne,{__tla as ie}from"./LoginFormTitle-5b0be7fb.js";import{u as ce,L as T,__tla as ue}from"./useLogin-4af69728.js";let V,pe=Promise.all([(()=>{try{return le}catch{}})(),(()=>{try{return ie}catch{}})(),(()=>{try{return ue}catch{}})()]).then(async()=>{let b,k,L;b={class:"form-cont"},k={key:0},L={key:1},V=re(K({name:"SSOLogin",__name:"SSOLogin",setup(de){const c=M(),{currentRoute:D}=N(),{getLoginState:F,setLoginState:Y}=ce(),O=I({name:"",logo:""}),s=U({responseType:"",clientId:"",redirectUri:"",state:"",scopes:[]}),B=R(()=>l(F)===T.SSO),u=U({scopes:[]}),d=I(!1),G=async()=>{if(c.query.client_id===void 0)return;if(s.responseType=c.query.response_type,s.clientId=c.query.client_id,s.redirectUri=c.query.redirect_uri,s.state=c.query.state,c.query.scope&&(s.scopes=c.query.scope.split(" ")),s.scopes.length>0){const e=await x(!0,s.scopes,[]);if(e)return void(location.href=e)}const t=await(a=s.clientId,z.get({url:"/system/oauth2/authorize?clientId="+a}));var a;let o;if(O.value=t.client,s.scopes.length>0){o=[];for(const e of t.scopes)s.scopes.indexOf(e.key)>=0&&o.push(e)}else{o=t.scopes;for(const e of o)s.scopes.push(e.key)}for(const e of o)e.value&&u.scopes.push(e.key)},q=async t=>{let a,o;t?(a=u.scopes,o=s.scopes.filter(e=>a.indexOf(e)===-1)):(a=[],o=s.scopes),d.value=!0;try{const e=await x(!1,a,o);if(!e)return;location.href=e}finally{d.value=!1}},x=(t,a,o)=>((e,m,h,f,_,g,r)=>{const v={};for(const w of g)v[w]=!0;for(const w of r)v[w]=!1;return z.post({url:"/system/oauth2/authorize",headers:{"Content-type":"application/x-www-form-urlencoded"},params:{response_type:e,client_id:m,redirect_uri:h,state:f,auto_approve:_,scope:JSON.stringify(v)}})})(s.responseType,s.clientId,s.redirectUri,s.state,t,a,o),J=t=>{switch(t){case"user.read":return"\u8BBF\u95EE\u4F60\u7684\u4E2A\u4EBA\u4FE1\u606F";case"user.write":return"\u4FEE\u6539\u4F60\u7684\u4E2A\u4EBA\u4FE1\u606F";default:return t}};return Z(()=>D.value,t=>{t.name==="SSOLogin"&&(Y(T.SSO),G())},{immediate:!0}),(t,a)=>{const o=X,e=$,m=ee,h=se,f=ae,_=te,g=oe;return j((p(),y("div",b,[n(ne,{style:{width:"100%"}}),n(e,{class:"form",style:{float:"none"},value:"uname"},{default:i(()=>[n(o,{label:l(O).name,name:"uname"},null,8,["label"])]),_:1}),E("div",null,[n(g,{model:l(u),class:"login-form"},{default:i(()=>[S(" \u6B64\u7B2C\u4E09\u65B9\u5E94\u7528\u8BF7\u6C42\u83B7\u5F97\u4EE5\u4E0B\u6743\u9650\uFF1A "),n(f,{prop:"scopes"},{default:i(()=>[n(h,{modelValue:l(u).scopes,"onUpdate:modelValue":a[0]||(a[0]=r=>l(u).scopes=r)},{default:i(()=>[(p(!0),y(P,null,H(l(s).scopes,r=>(p(),Q(m,{key:r,label:r,style:{display:"block","margin-bottom":"-10px"}},{default:i(()=>[S(W(J(r)),1)]),_:2},1032,["label"]))),128))]),_:1},8,["modelValue"])]),_:1}),n(f,{class:"w-1/1"},{default:i(()=>[n(_,{loading:l(d),class:"w-6/10",type:"primary",onClick:a[1]||(a[1]=C(r=>q(!0),["prevent"]))},{default:i(()=>[l(d)?(p(),y("span",L,"\u6388 \u6743 \u4E2D...")):(p(),y("span",k,"\u540C\u610F\u6388\u6743"))]),_:1},8,["loading"]),n(_,{class:"w-3/10",onClick:a[2]||(a[2]=C(r=>q(!1),["prevent"]))},{default:i(()=>[S("\u62D2\u7EDD")]),_:1})]),_:1})]),_:1},8,["model"])])],512)),[[A,l(B)]])}}}),[["__file","D:/zx/mall-newfeifan-zx-business/src/views/Login/components/SSOLogin.vue"]])});export{pe as __tla,V as default};