import{_ as ge}from"./main-nav.vue_vue_type_style_index_0_lang-D7-FAbTY.js";import{d as _e,r as d,U as Y,b as we,f as _,q as t,t as b,Y as m,w as s,bq as r,k as v,G as p,P as he,z as U,I as ye,_ as q,A as R,j as i}from"./@vue-9sINKCPW.js";import{u as ke}from"./vuex--ttreJMD.js";import{a5 as H,a6 as be,a7 as Ce,a8 as Ie,a9 as Pe,aa as $e,ab as Be,_ as Ue}from"./index-DxHQoSDp.js";import{h as qe,m as Re,B as Ae,v as Se,e as ze,i as Ne,S as Ke,$ as De,L as xe,a0 as Fe,a1 as Te,c as Ve}from"./naive-ui-BJojRuLw.js";import{a2 as je}from"./@vicons-PCg97L0F.js";import"./vue-router-yrkFRUM9.js";import"./vooks-CfQnrjIt.js";import"./evtd-CI_DDEu_.js";import"./axios-t--hEgTQ.js";import"./moment-P60zs0je.js";/* empty css */import"./seemly-D-teBmey.js";import"./vueuc-DrMWnH2h.js";import"./@css-render-DN2R7sM6.js";import"./vdirs-DRH9Xvnd.js";import"./@juggle-C8OzoCMD.js";import"./css-render-BDrvWz3H.js";import"./@emotion-WldOFDRm.js";import"./lodash-es-TJvrUncL.js";import"./treemate-HRdUPn5m.js";import"./async-validator-9PlIezaS.js";import"./date-fns-Db9XENWt.js";const Ee={class:"base-line avatar"},Oe={class:"base-line"},Le={key:0},Me={class:"base-line"},Ge={key:0},We={key:1},Je={key:2,class:"phone-bind-wrap"},Ye={class:"captcha-img-wrap"},He={class:"captcha-img"},Qe=["src"],Xe={class:"form-submit-wrap"},Ze={key:0},et={key:1},tt={key:2,class:"phone-bind-wrap"},at={class:"captcha-img-wrap"},st={class:"captcha-img"},nt=["src"],ot={class:"form-submit-wrap"},lt={key:1,class:"phone-bind-wrap"},rt={class:"form-submit-wrap"},it=_e({__name:"Setting",setup(ut){const Q="/v1/attachment",X="Bearer "+localStorage.getItem("PAOPAO_TOKEN"),A=d("public/avatar"),Z="false".toLowerCase()==="true",o=ke(),P=d(!1),S=d(!1),z=d(!1),E=d(),O=d(),C=d(!1),N=d(!1),$=d(!1),B=d(!1),I=d(60),y=d(!1),k=d(!1),L=d(),M=d(),G=d(),W=d(),a=Y({id:"",b64s:"",imgCaptcha:"",phone:"",phone_captcha:"",password:"",old_password:"",reenteredPassword:""}),u=Y({id:"",b64s:"",imgCaptcha:"",activate_code:""}),ee=async n=>{var e,f;return A.value==="public/avatar"&&!["image/png","image/jpg","image/jpeg"].includes((e=n.file.file)==null?void 0:e.type)?(window.$message.warning("头像仅允许 png/jpg 格式"),!1):A.value==="image"&&((f=n.file.file)==null?void 0:f.size)>1048576?(window.$message.warning("头像大小不能超过1MB"),!1):!0},te=({file:n,event:e})=>{var f;try{let g=JSON.parse((f=e.target)==null?void 0:f.response);g.code===0&&A.value==="public/avatar"&&Be({avatar:g.data.content}).then(c=>{var K;window.$message.success("头像更新成功"),(K=E.value)==null||K.clear(),o.commit("updateUserinfo",{...o.state.userInfo,avatar:g.data.content})}).catch(c=>{console.log(c)})}catch{window.$message.error("上传失败")}},ae=(n,e)=>!!a.password&&a.password.startsWith(e)&&a.password.length>=e.length,se=(n,e)=>e===a.password,ne=()=>{var n;a.reenteredPassword&&((n=W.value)==null||n.validate({trigger:"password-input"}))},oe=n=>{var e;n.preventDefault(),(e=G.value)==null||e.validate(f=>{f||(N.value=!0,be({password:a.password,old_password:a.old_password}).then(g=>{N.value=!1,$.value=!1,window.$message.success("密码重置成功"),o.commit("userLogout"),o.commit("triggerAuth",!0),o.commit("triggerAuthKey","signin")}).catch(g=>{N.value=!1}))})},le=n=>{var e;n.preventDefault(),(e=L.value)==null||e.validate(f=>{f||(S.value=!0,Ce({phone:a.phone,captcha:a.phone_captcha}).then(g=>{S.value=!1,y.value=!1,window.$message.success("绑定成功"),o.commit("updateUserinfo",{...o.state.userInfo,phone:a.phone}),a.id="",a.b64s="",a.imgCaptcha="",a.phone="",a.phone_captcha=""}).catch(g=>{S.value=!1}))})},re=n=>{var e;n.preventDefault(),(e=M.value)==null||e.validate(f=>{if(u.imgCaptcha===""){window.$message.warning("请输入图片验证码");return}P.value=!0,f||(z.value=!0,Ie({activate_code:u.activate_code,captcha_id:u.id,imgCaptcha:u.imgCaptcha}).then(g=>{z.value=!1,k.value=!1,window.$message.success("激活成功"),o.commit("updateUserinfo",{...o.state.userInfo,activation:u.activate_code}),u.id="",u.b64s="",u.imgCaptcha="",u.activate_code=""}).catch(g=>{z.value=!1,g.code===20012&&F()}))})},x=()=>{H().then(n=>{a.id=n.id,a.b64s=n.b64s}).catch(n=>{console.log(n)})},F=()=>{H().then(n=>{u.id=n.id,u.b64s=n.b64s}).catch(n=>{console.log(n)})},ie=()=>{Pe({nickname:o.state.userInfo.nickname||""}).then(n=>{C.value=!1,window.$message.success("昵称修改成功")}).catch(n=>{C.value=!0})},ue=()=>{if(!(I.value>0&&B.value)){if(a.imgCaptcha===""){window.$message.warning("请输入图片验证码");return}P.value=!0,$e({phone:a.phone,img_captcha:a.imgCaptcha,img_captcha_id:a.id}).then(n=>{B.value=!0,P.value=!1,window.$message.success("发送成功");let e=setInterval(()=>{I.value--,I.value===0&&(clearInterval(e),I.value=60,B.value=!1)},1e3)}).catch(n=>{P.value=!1,n.code===20012&&x(),console.log(n)})}},de={phone:[{required:!0,message:"请输入手机号",trigger:["input"],validator:(n,e)=>/^[1]+[3-9]{1}\d{9}$/.test(e)}],phone_captcha:[{required:!0,message:"请输入手机验证码"}]},pe={activate_code:[{required:!0,message:"请输入激活码",trigger:["input"],validator:(n,e)=>/\d{6}$/.test(e)}]},ce={password:[{required:!0,message:"请输入新密码"}],old_password:[{required:!0,message:"请输入旧密码"}],reenteredPassword:[{required:!0,message:"请再次输入密码",trigger:["input","blur"]},{validator:ae,message:"两次密码输入不一致",trigger:"input"},{validator:se,message:"两次密码输入不一致",trigger:["blur","password-input"]}]},me=()=>{C.value=!0,setTimeout(()=>{var n;(n=O.value)==null||n.focus()},30)};return we(()=>{o.state.userInfo.id===0&&(o.commit("triggerAuth",!0),o.commit("triggerAuthKey","signin")),x(),F()}),(n,e)=>{const f=ge,g=Re,c=Ae,K=Se,w=ze,ve=Ne,D=qe,J=Ke,h=De,fe=xe,T=Te,V=Fe,j=Ve;return i(),_("div",null,[t(f,{title:"设置",theme:""}),t(D,{title:"基本信息",size:"small",class:"setting-card"},{default:s(()=>[v("div",Ee,[t(g,{class:"avatar-img",size:80,src:r(o).state.userInfo.avatar},null,8,["src"]),!r(o).state.profile.allowPhoneBind||r(o).state.profile.allowPhoneBind&&r(o).state.userInfo.phone&&r(o).state.userInfo.phone.length>0?(i(),b(K,{key:0,ref_key:"avatarRef",ref:E,action:Q,headers:{Authorization:X},data:{type:A.value},onBeforeUpload:ee,onFinish:te},{default:s(()=>[t(c,{size:"small"},{default:s(()=>e[22]||(e[22]=[p("更改头像")])),_:1})]),_:1},8,["headers","data"])):m("",!0)]),v("div",Oe,[e[23]||(e[23]=v("span",{class:"base-label"},"昵称",-1)),C.value?m("",!0):(i(),_("div",Le,U(r(o).state.userInfo.nickname),1)),he(t(w,{ref_key:"inputInstRef",ref:O,class:"nickname-input",value:r(o).state.userInfo.nickname,"onUpdate:value":e[0]||(e[0]=l=>r(o).state.userInfo.nickname=l),type:"text",size:"small",placeholder:"请输入昵称",onBlur:ie,maxlength:16},null,8,["value"]),[[ye,C.value]]),!C.value&&(!r(o).state.profile.allowPhoneBind||r(o).state.profile.allowPhoneBind&&r(o).state.userInfo.phone&&r(o).state.userInfo.phone.length>0&&r(o).state.userInfo.status==1)?(i(),b(c,{key:1,quaternary:"",round:"",type:"success",size:"small",onClick:me},{icon:s(()=>[t(ve,null,{default:s(()=>[t(r(je))]),_:1})]),_:1})):m("",!0)]),v("div",Me,[e[24]||(e[24]=v("span",{class:"base-label"},"用户名",-1)),p(" @"+U(r(o).state.userInfo.username),1)])]),_:1}),r(o).state.profile.allowPhoneBind?(i(),b(D,{key:0,title:"手机号",size:"small",class:"setting-card"},{default:s(()=>[r(o).state.userInfo.phone&&r(o).state.userInfo.phone.length>0?(i(),_("div",Ge,[p(U(r(o).state.userInfo.phone)+" ",1),!y.value&&r(o).state.userInfo.status==1?(i(),b(c,{key:0,quaternary:"",round:"",type:"success",onClick:e[1]||(e[1]=l=>y.value=!0)},{default:s(()=>e[25]||(e[25]=[p(" 换绑手机 ")])),_:1})):m("",!0)])):(i(),_("div",We,[t(J,{title:"手机绑定提示",type:"warning"},{default:s(()=>[e[26]||(e[26]=p(" 成功绑定手机后,才能进行换头像、发动态、回复等交互~")),e[27]||(e[27]=v("br",null,null,-1)),y.value?m("",!0):(i(),_("a",{key:0,class:"hash-link",onClick:e[2]||(e[2]=l=>y.value=!0)}," 立即绑定 "))]),_:1})])),y.value?(i(),_("div",Je,[t(j,{ref_key:"phoneFormRef",ref:L,model:a,rules:de},{default:s(()=>[t(h,{path:"phone",label:"手机号"},{default:s(()=>[t(w,{value:a.phone,"onUpdate:value":e[3]||(e[3]=l=>a.phone=l.trim()),placeholder:"请输入中国大陆手机号",onKeydown:e[4]||(e[4]=q(R(()=>{},["prevent"]),["enter"]))},null,8,["value"])]),_:1}),t(h,{path:"img_captcha",label:"图形验证码"},{default:s(()=>[v("div",Ye,[t(w,{value:a.imgCaptcha,"onUpdate:value":e[5]||(e[5]=l=>a.imgCaptcha=l),placeholder:"请输入图形验证码后获取验证码"},null,8,["value"]),v("div",He,[a.b64s?(i(),_("img",{key:0,src:a.b64s,onClick:x},null,8,Qe)):m("",!0)])])]),_:1}),t(h,{path:"phone_captcha",label:"短信验证码"},{default:s(()=>[t(fe,null,{default:s(()=>[t(w,{value:a.phone_captcha,"onUpdate:value":e[6]||(e[6]=l=>a.phone_captcha=l),placeholder:"请输入收到的短信验证码"},null,8,["value"]),t(c,{type:"primary",ghost:"",disabled:B.value,loading:P.value,onClick:ue},{default:s(()=>[p(U(I.value>0&&B.value?I.value+"s后重新发送":"发送验证码"),1)]),_:1},8,["disabled","loading"])]),_:1})]),_:1}),t(V,{gutter:[0,24]},{default:s(()=>[t(T,{span:24},{default:s(()=>[v("div",Xe,[t(c,{quaternary:"",round:"",onClick:e[7]||(e[7]=l=>y.value=!1)},{default:s(()=>e[28]||(e[28]=[p(" 取消 ")])),_:1}),t(c,{secondary:"",round:"",type:"primary",loading:S.value,onClick:le},{default:s(()=>e[29]||(e[29]=[p(" 绑定 ")])),_:1},8,["loading"])])]),_:1})]),_:1})]),_:1},8,["model"])])):m("",!0)]),_:1})):m("",!0),Z?(i(),b(D,{key:1,title:"激活码",size:"small",class:"setting-card"},{default:s(()=>[r(o).state.userInfo.activation&&r(o).state.userInfo.activation.length>0?(i(),_("div",Ze,[p(U(r(o).state.userInfo.activation)+" ",1),k.value?m("",!0):(i(),b(c,{key:0,quaternary:"",round:"",type:"success",onClick:e[8]||(e[8]=l=>k.value=!0)},{default:s(()=>e[30]||(e[30]=[p(" 重新激活 ")])),_:1}))])):(i(),_("div",et,[t(J,{title:"激活码激活提示",type:"warning"},{default:s(()=>[e[31]||(e[31]=p(" 成功激活后后,才能发(公开/好友可见)动态、回复~")),e[32]||(e[32]=v("br",null,null,-1)),k.value?m("",!0):(i(),_("a",{key:0,class:"hash-link",onClick:e[9]||(e[9]=l=>k.value=!0)}," 立即激活 "))]),_:1})])),k.value?(i(),_("div",tt,[t(j,{ref_key:"activateFormRef",ref:M,model:u,rules:pe},{default:s(()=>[t(h,{path:"activate_code",label:"激活码"},{default:s(()=>[t(w,{value:u.activate_code,"onUpdate:value":e[10]||(e[10]=l=>u.activate_code=l.trim()),placeholder:"请输入激活码",onKeydown:e[11]||(e[11]=q(R(()=>{},["prevent"]),["enter"]))},null,8,["value"])]),_:1}),t(h,{path:"img_captcha",label:"图形验证码"},{default:s(()=>[v("div",at,[t(w,{value:u.imgCaptcha,"onUpdate:value":e[12]||(e[12]=l=>u.imgCaptcha=l),placeholder:"请输入图形验证码后获取验证码"},null,8,["value"]),v("div",st,[u.b64s?(i(),_("img",{key:0,src:u.b64s,onClick:F},null,8,nt)):m("",!0)])])]),_:1}),t(V,{gutter:[0,24]},{default:s(()=>[t(T,{span:24},{default:s(()=>[v("div",ot,[t(c,{quaternary:"",round:"",onClick:e[13]||(e[13]=l=>k.value=!1)},{default:s(()=>e[33]||(e[33]=[p(" 取消 ")])),_:1}),t(c,{secondary:"",round:"",type:"primary",loading:z.value,onClick:re},{default:s(()=>e[34]||(e[34]=[p(" 激活 ")])),_:1},8,["loading"])])]),_:1})]),_:1})]),_:1},8,["model"])])):m("",!0)]),_:1})):m("",!0),t(D,{title:"账户安全",size:"small",class:"setting-card"},{default:s(()=>[e[38]||(e[38]=p(" 您已设置密码 ")),$.value?m("",!0):(i(),b(c,{key:0,quaternary:"",round:"",type:"success",onClick:e[14]||(e[14]=l=>$.value=!0)},{default:s(()=>e[35]||(e[35]=[p(" 重置密码 ")])),_:1})),$.value?(i(),_("div",lt,[t(j,{ref_key:"formRef",ref:G,model:a,rules:ce},{default:s(()=>[t(h,{path:"old_password",label:"旧密码"},{default:s(()=>[t(w,{value:a.old_password,"onUpdate:value":e[15]||(e[15]=l=>a.old_password=l),type:"password",placeholder:"请输入当前密码",onKeydown:e[16]||(e[16]=q(R(()=>{},["prevent"]),["enter"]))},null,8,["value"])]),_:1}),t(h,{path:"password",label:"新密码"},{default:s(()=>[t(w,{value:a.password,"onUpdate:value":e[17]||(e[17]=l=>a.password=l),type:"password",placeholder:"请输入新密码",onInput:ne,onKeydown:e[18]||(e[18]=q(R(()=>{},["prevent"]),["enter"]))},null,8,["value"])]),_:1}),t(h,{ref_key:"rPasswordFormItemRef",ref:W,first:"",path:"reenteredPassword",label:"重复密码"},{default:s(()=>[t(w,{value:a.reenteredPassword,"onUpdate:value":e[19]||(e[19]=l=>a.reenteredPassword=l),disabled:!a.password,type:"password",placeholder:"请再次输入密码",onKeydown:e[20]||(e[20]=q(R(()=>{},["prevent"]),["enter"]))},null,8,["value","disabled"])]),_:1},512),t(V,{gutter:[0,24]},{default:s(()=>[t(T,{span:24},{default:s(()=>[v("div",rt,[t(c,{quaternary:"",round:"",onClick:e[21]||(e[21]=l=>$.value=!1)},{default:s(()=>e[36]||(e[36]=[p(" 取消 ")])),_:1}),t(c,{secondary:"",round:"",type:"primary",loading:N.value,onClick:oe},{default:s(()=>e[37]||(e[37]=[p(" 更新 ")])),_:1},8,["loading"])])]),_:1})]),_:1})]),_:1},8,["model"])])):m("",!0)]),_:1})])}}}),zt=Ue(it,[["__scopeId","data-v-7bb19e7f"]]);export{zt as default};