PageSourceSearch

https://asset.bizlysis.ai/bizlysis_ai/ai-web/assets/PhoneModal-CSov5aZm.js

js bizlysis.ai collected 2026-10-05 11:51:54 UTC 5,211 bytes, 1 lines download raw bytes

1import{aD as D,o as F,w as H,b as j,an as c,a5 as O,a7 as T,ad as s,a8 as f,f as r,u as t,E as U,ag as x,r as W,l as p,e as Z}from"./vendor-vue-gs8sh0JI.js";import{g as G,A as J,s as K}from"./user-CCLuX1OC.js";import{_ as Q}from"./main-DglEQP9h.js";import{Z as i}from"./vendor-antd-CgIzqa9F.js";import"./index-DIj3bZk5.js";import"./vendor-element-plus-U41TSfPj.js";const X={class:"phone-modal-content"},Y={class:"phone-input-wrapper"},ee={class:"code-input-wrapper"},ae={class:"modal-actions"},oe=Object.assign({name:"PhoneModal"},{__name:"PhoneModal",props:{visible:{type:Boolean,default:!1},userInfo:{type:Object,default:()=>({})}},emits:["update:visible","success"],setup(S,{emit:z}){const{t:e,locale:q}=D(),E=S,C=z,g=p(),_=p(!1),b=p(!1),d=p(0);let m=null;const a=W({name:"",phone:"",areaCode:"+86",code:""}),u=p([]),h=p(!1),L=async()=>{if(!(h.value||u.value.length>0)){h.value=!0;try{const o=await G();(o==null?void 0:o.code)===200&&(o!=null&&o.data)?u.value=o.data.map(n=>({code:n.area_code,name:n.country,nameEn:n.country_en})):u.value=[{code:"+86",name:"中国",nameEn:"China"},{code:"+1",name:"美国",nameEn:"United States"}]}catch(o){console.error("获取区号列表失败:",o),u.value=[{code:"+86",name:"中国",nameEn:"China"},{code:"+1",name:"美国",nameEn:"United States"}]}finally{h.value=!1}}};F(()=>{L()});const $={name:[{required:!0,message:e("personalCenter.phoneModal.nameRequired"),trigger:"blur"}],phone:[{required:!0,message:e("personalCenter.phoneModal.phoneRequired"),trigger:"blur"},{pattern:/^1[3-9]\d{9}$/,message:e("personalCenter.phoneModal.phoneInvalid"),trigger:"blur"}],code:[{required:!0,message:e("personalCenter.phoneModal.codeRequired"),trigger:"blur"},{pattern:/^\d{6}$/,message:e("personalCenter.phoneModal.codeInvalid"),trigger:"blur"}]},P=Z(()=>a.phone&&/^1[3-9]\d{9}$/.test(a.phone));H(()=>E.visible,o=>{o?(a.name=E.userInfo.username||"",a.phone="",a.areaCode="+86",a.code="",g.value&&g.value.clearValidate()):M()});const k=async()=>{if(!P.value){i.warning(e("personalCenter.phoneModal.phoneInvalidWarning"));return}try{b.value=!0,await K({phone:a.phone,area_code:a.areaCode}),i.success(e("personalCenter.phoneModal.codeSent")),A()}catch(o){console.error("发送验证码失败:",o),i.error(e("personalCenter.phoneModal.codeSendFailed"))}finally{b.value=!1}},A=()=>{d.value=60,m=setInterval(()=>{d.value--,d.value<=0&&M()},1e3)},M=()=>{m&&(clearInterval(m),m=null),d.value=0},N=async()=>{try{_.value=!0;const o={name:a.name,phone:a.phone,area_code:a.areaCode,code:a.code};await J(o),i.success(e("personalCenter.phoneModal.updateSuccess")),C("success"),y()}catch(o){console.error("更新用户信息失败:",o),i.error(e("personalCenter.phoneModal.updateFailed"))}finally{_.value=!1}},y=()=>{C("update:visible",!1)};return j(()=>{M()}),(o,n)=>{const w=c("a-input"),v=c("a-form-item"),R=c("a-select"),I=c("a-button"),B=c("a-form"),V=c("a-modal");return O(),T(V,{visible:S.visible,title:t(e)("personalCenter.phoneModal.title"),footer:null,centered:"",width:"400px",class:"phone-modal",onCancel:y,"onUpdate:visible":n[4]||(n[4]=l=>C("update:visible",l))},{default:s(()=>[f("div",X,[r(B,{ref_key:"formRef",ref:g,model:a,rules:$,layout:"vertical",onFinish:N},{default:s(()=>[r(v,{label:t(e)("personalCenter.phoneModal.nameLabel"),name:"name"},{default:s(()=>[r(w,{value:a.name,"onUpdate:value":n[0]||(n[0]=l=>a.name=l),placeholder:t(e)("personalCenter.phoneModal.namePlaceholder"),size:"large"},null,8,["value","placeholder"])]),_:1},8,["label"]),r(v,{label:t(e)("personalCenter.phoneModal.phoneLabel"),name:"phone"},{default:s(()=>[f("div",Y,[r(v,{name:"areaCode",rules:[{required:!0,message:"请选择区号",trigger:"change"}],"no-style":!0},{default:s(()=>[r(R,{value:a.areaCode,"onUpdate:value":n[1]||(n[1]=l=>a.areaCode=l),class:"area-code-select",options:u.value.map(l=>({value:l.code,label:`${l.code} ${t(q)==="zh"||t(q)==="zh-CN"?l.name:l.nameEn}`})),loading:h.value,placeholder:t(e)("formAreaCode"),"dropdown-match-select-width":!1,dropdownClassName:"area-code-dropdown",size:"large"},null,8,["value","options","loading","placeholder"])]),_:1}
1),r(w,{value:a.phone,"onUpdate:value":n[2]||(n[2]=l=>a.phone=l),placeholder:t(e)("personalCenter.phoneModal.phonePlaceholder"),size:"large",maxlength:"11",class:"phone-input"},null,8,["value","placeholder"])])]),_:1},8,["label"]),r(v,{label:t(e)("personalCenter.phoneModal.codeLabel"),name:"code"},{default:s(()=>[f("div",ee,[r(w,{value:a.code,"onUpdate:value":n[3]||(n[3]=l=>a.code=l),placeholder:t(e)("personalCenter.phoneModal.codePlaceholder"),size:"large",maxlength:"6"},null,8,["value","placeholder"]),r(I,{disabled:!P.value||d.value>0,loading:b.value,onClick:k,class:"send-code-btn"},{default:s(()=>[U(x(d.value>0?`${d.value}s`:t(e)("personalCenter.phoneModal.sendCode")),1)]),_:1},8,["disabled","loading"])])]),_:1},8,["label"]),f("div",ae,[r(I,{onClick:y,class:"cancel-btn"},{default:s(()=>[U(x(t(e)("cancel")),1)]),_:1}),r(I,{type:"primary","html-type":"submit",loading:_.value,class:"submit-btn"},{default:s(()=>[U(x(t(e)("personalCenter.phoneModal.confirm")),1)]),_:1},8,["loading"])])]),_:1},8,["model"])])]),_:1}
1,8,["visible","title"])}}}),ce=Q(oe,[["__scopeId","data-v-f3c1ed0a"]]);export{ce 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.