You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

2 lines
3.0 KiB

import{d as a,e,j as l,k as s,l as t,g as n,S as u,n as r,U as c,p as o,q as v,y as i,z as d,D as _,v as p,I as m,V as f,s as h,W as y,a as b,X as k,c as g,_ as V}from"./index-CalkcR7d.js";import{g as w,l as j,u as x,s as P}from"./localProfile.FuJ6lVhu.js";const T=V(a({__name:"profile",setup(a){const V=e(!0),T=e(!1),U=e(!1),z=e({real_name:"",phone:"",avatar_url:""});function B(a){z.value.real_name=a.real_name||"",z.value.phone=a.phone||"",z.value.avatar_url=a.avatar_url||""}function C(){U.value?y({count:1,sizeType:["compressed"],sourceType:["album","camera"],success:async a=>{const e=a.tempFilePaths[0];if(e)try{b({title:"上传中"});const{url:a}=await k(e);z.value.avatar_url=a}catch(l){h({title:(null==l?void 0:l.message)||"上传失败",icon:"none"})}finally{g()}}}):h({title:"请先通过微信登录后再上传头像",icon:"none"})}async function F(){if(z.value.real_name.trim())if(/^1\d{10}$/.test(z.value.phone.trim())){T.value=!0;try{const a={real_name:z.value.real_name.trim(),phone:z.value.phone.trim(),avatar_url:z.value.avatar_url||void 0};U.value&&await x(a),P({real_name:a.real_name,phone:a.phone,avatar_url:a.avatar_url}),h({title:"保存成功",icon:"success"})}catch(a){h({title:(null==a?void 0:a.message)||"保存失败",icon:"none"})}finally{T.value=!1}}else h({title:"请填写11位手机号",icon:"none"});else h({title:"请填写姓名",icon:"none"})}return l(()=>{!async function(){V.value=!0,U.value=!!n(u.accessToken);try{if(U.value)try{const a=await w();z.value.real_name=a.real_name||"",z.value.phone=a.phone||"",z.value.avatar_url=a.avatar_url||""}catch{const a=j();a&&B(a)}else{const a=j();a&&B(a)}}finally{V.value=!1}}()}),(a,e)=>{const l=c("SubPageBackBtn"),n=r,u=d,h=p,y=m,b=f;return o(),s(n,{class:"page"},{default:t(()=>[v(l),V.value?(o(),s(n,{key:0,class:"loading"},{default:t(()=>[i("加载中…")]),_:1})):(o(),s(n,{key:1,class:"content"},{default:t(()=>[v(n,{class:"avatar-block"},{default:t(()=>[v(n,{class:"avatar-wrap",onClick:C},{default:t(()=>[z.value.avatar_url?(o(),s(u,{key:0,class:"avatar",src:z.value.avatar_url,mode:"aspectFill"},null,8,["src"])):(o(),s(n,{key:1,class:"avatar placeholder"})),v(n,{class:"avatar-tip"},{default:t(()=>[i(_(U.value?"点击更换头像":"登录后可上传头像"),1)]),_:1})]),_:1})]),_:1}),v(n,{class:"card"},{default:t(()=>[v(n,{class:"row"},{default:t(()=>[v(h,{class:"label"},{default:t(()=>[i("姓名")]),_:1}),v(y,{modelValue:z.value.real_name,"onUpdate:modelValue":e[0]||(e[0]=a=>z.value.real_name=a),class:"input",placeholder:"必填","placeholder-class":"ph"},null,8,["modelValue"])]),_:1}),v(n,{class:"row last"},{default:t(()=>[v(h,{class:"label"},{default:t(()=>[i("手机号")]),_:1}),v(y,{modelValue:z.value.phone,"onUpdate:modelValue":e[1]||(e[1]=a=>z.value.phone=a),class:"input",type:"number",maxlength:"11",placeholder:"必填","placeholder-class":"ph"},null,8,["modelValue"])]),_:1})]),_:1}),v(b,{class:"btn",disabled:T.value,onClick:F},{default:t(()=>[i(_(T.value?"保存中…":"保存"),1)]),_:1},8,["disabled"])]),_:1}))]),_:1})}}}),[["__scopeId","data-v-f84b8690"]]);export{T as default};