1import{_ as J}from"./BPr1Kl4s.js";import{aW as Q,aX as ee,bt as te,a_ as ae,bk as B,aZ as c,c0 as oe,cA as ne,b3 as se,b1 as E,bg as h,b2 as r,b7 as d,b6 as m,b5 as k,b0 as V,bd as ie,be as re,bi as le,bh as ue,b_ as R,dP as ce,bj as de}from"./CiNRoiE3.js";import{B as me}from"./BCircczn.js";import{m as b}from"./CrbZpV0q.js";import{g as be,b as pe,c as ye,i as ve,j as fe,k as ge,S as _e}from"./lvCJ8xBj.js";import{u as he}from"./BW6LwiZ9.js";import{u as ke}from"./DhEGcc-H.js";import{u as Ce,e as we,g as Be,d as Ee}from"./DoGvtjV_.js";import{B as Ie}from"./COd31Nyq.js";import{u as Te}from"./BOdeFzaz.js";import{_ as Se}from"./D8uyv_Fq.js";import"./BnEJt4Z_.js";import"./A8VoMTam.js";import"./BBKnLJRi.js";import"./D7Pzj0xx.js";import"./rtYNqyHo.js";import"./DAkjLVFF.js";import"./DfEi2yCg.js";import"./CiiuIU4a.js";import"./wpJlZ_di.js";import"./4xWOKt-6.js";const Pe={class:"binding-page"},$e={class:"breadcrumb"},Ae={class:"binding-title"},xe={class:"binding-list"},Le={class:"binding-item-icon"},Ne=["src"],Ve={class:"binding-item-info"},Re={class:"binding-item-name"},De={class:"binding-item-desc"},Fe={class:"edit-verify"},Me=Q({__name:"account-binding",async setup(Ge){let y,I;const{t:a}=ee(),{linkWithLocale:T}=te(),{getCredential:D}=we(),{openIntercom:F}=ke(),{maskedEmail:S,maskedPhone:P,userEmail:M,userPhone:G,userInfo:U}=he(),{data:v,execute:j}=([y,I]=ae(()=>fe()),y=await y,I(),y),z=B(()=>{var t;const e=[];return(t=U.value)!=null&&t.google_auth&&e.push({type:1,label:a("my.formItem.gaCodeLabel"),placeholder:a("auth.sso.gaCodePlaceholder"),action:"paste"}),P.value&&e.push({type:2,label:a("my.formItem.verifyPhone",{phone:P.value}),placeholder:a("auth.sso.smsCodePlaceholder"),action:"send"}),S.value&&e.push({type:3,label:a("my.formItem.verifyEmail",{email:S.value}),placeholder:a("auth.sso.emailCodePlaceholder"),action:"send"}),e}),H=async e=>{const{error:t}=await ce({accountType:e===2?1:2,account:e===2?G.value:M.value,captchaType:"slider",codeType:7,source:"matrixport"});return!t.value},$=B(()=>{var e,t,n,i;return[{key:"google",providerName:"Google",title:a("my.security.binding.googleTitle"),icon:be,bound:!!((e=v.value)!=null&&e.bind_google),account:((t=v.value)==null?void 0:t.google_username)||""},{key:"apple",providerName:"Apple",title:a("my.security.binding.appleTitle"),icon:pe,bound:!!((n=v.value)!=null&&n.bind_apple),account:((i=v.value)==null?void 0:i.apple_username)||""}]}),K=B(()=>[{label:a("my.payPassword.breadcrumb.personalCenter"),link:T("/my/dashboard")},{label:a("my.payPassword.breadcrumb.accountSecurity"),link:T("/my/security")},{label:a("my.security.binding.title")}]),s=c(null),f=c(!1),l=c(null),p=c(2),C=c(!1),w=c(""),g=c(!1),{guard:O}=Te(),W=e=>{O(()=>{s.value||(l.value=e,p.value=e.bound?1:2,e.bound?C.value=!0:x())})},X=()=>{x()},{isMobile:Y}=oe(),{startRedirectAuth:Z}=Ce(),_=()=>p.value===2?"auth.sso.bindFailed":"my.security.binding.unbindFailed",A=async e=>{const t=l.value;if(!t)return;const{data:n,error:i}=await ge({credential:e,third_party_type:_e[t.key],...t.key==="apple"?{redirect_type:Be()}:{}});if(i.value||!n.value){b.error(L(i.value)||a(_()));return}w.value=n.value.auth_token,g.value=!1,f.value=!0},x=async()=>{const e=l.value;if(!(!e||s.value)){if(Y.value){try{Z(e.key,{scene:"edit",extra:{key:e.key,type:String(p.value)}})}catch(t){console.error("[sso] redirect auth failed:",t),b.error(a(_()))}return}s.value=e.key;try{await A(await D(e.key))}catch(t){(t instanceof Error?t.message:"").toLowerCase().includes("popup closed")||(console.error("[sso] edit auth failed:",t),b.error(a(_())))}finally{s.value=null}}};ne(async()=>{var n;const e=Ee("edit");if(!e)return;const t=$.value.find(i=>{var u;return i.key===((u=e.extra)==null?void 0:u.key)});if(t){if(l.value=t,p.value=((n=e.extra)==null?void 0:n.type)==="1"?1:2,e.error){e.error!=="user_cancel"&&b.error(a(_()));return}s.value=t.key;try{await A(e.credential)}finally{s.value=null}}});const L=e=>{const t=e;return t!=null&&t.data&&t.message||""},q=async e=>{const t=l.value;if(!t||!w.value||s.value)return;const n=p.value,i=n===2?"auth.sso.bindFailed":"my.security.binding.unbindFailed";s.value=t.key;try{const{error:u}=await ve({auth_token:w.value,type:n,twofas:e});if(u.value){g.value=!0,b.error(L(u.value)||a(i));return}b.success(a(n===2?"auth.sso.bindSuccess":"my.security.binding.unbindSuccess")),f.value=!1,await j()}finally{s.value=null}};return(e,t)=>{const n=J;return E(),se(n,null,{default:h(()=>{var i,u;return[r("div",Pe,[r("div",$e,[d(m(me),{component:m(Se),data:K.value},null,8,["component","data"])]),r("div",Ae,k(e.$t("my.security.binding.title")),1),r("div",xe,[(E(!0),V(ie,null,re($.value,o=>(E(),V("div",{key:o.key,class:"binding-item"},[r("span",Le,[r("img",{src:o.icon,alt:""},null,8,Ne)]),r("div",Ve,[r("div",Re,k(o.title),1),r("div",De,k(o.bound?e.$t("my.security.binding.boundDesc",{account:o.account}):e.$t("my.security.binding.unboundDesc",{provider:o.providerName})),1)]),d(Ie,null,{default:h(({disabled:N})=>[d(m(le),{size:"small",disabled:N||s.value!==null&&s.value!==o.key,loading:s.value===o.key,onClick:Ue=>W(o)},{default:h(()=>[ue(k(o.bound?e.$t("my.security.binding.unbind"):e.$t("my.security.binding.bindNow")),1)]),_:2},1032,["disabled","loading","onClick"])]),_:2},1024)]))),128))]),d(m(R),{visible:C.value,"onUpdate:visible":t[0]||(t[0]=o=>C.value=o),title:e.$t("my.security.binding.unbindModalTitle",{provider:(i=l.value)==null?void 0:i.providerName}),content:e.$t("my.security.binding.unbindModalDesc",{account:(u=l.value)==null?void 0:u.account}),"show-cancel":"",onConfirm:X}
1,null,8,["visible","title","content"]),d(m(R),{visible:f.value,"onUpdate:visible":t[2]||(t[2]=o=>f.value=o),size:"content",footer:!1},{default:h(()=>{var o;return[r("div",Fe,[d(ye,{methods:z.value,title:e.$t("auth.sso.identityVerify"),"submit-text":e.$t("auth.sso.submit"),submitting:s.value===((o=l.value)==null?void 0:o.key),error:g.value,"send-code":H,onSubmit:q,onGaHelp:m(F),onClearError:t[1]||(t[1]=N=>g.value=!1)},null,8,["methods","title","submit-text","submitting","error","onGaHelp"])])]}),_:1},8,["visible"])])]}),_:1})}}}),ut=de(Me,[["__scopeId","data-v-09f83d73"]]);export{ut as default};
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.