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.8 KiB

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

import{d as a,r as e,o as l,b as s,e as t,l as u,k as n,v as r,t as c,u as o,x as d,y as i,E as v,z as _,I as p,R as m,f,T as h,U as y,V as b,W as k,X as V}from"./index-BznAv2H5.js";import{g,l as w,u as x,s as T}from"./localProfile.DvYQ1Tv3.js";import{_ as U}from"./_plugin-vue_export-helper.BCo6x5W8.js";const j=U(a({__name:"profile",setup(a){const U=e(!0),j=e(!1),C=e(!1),z=e({real_name:"",phone:"",id_card:"",avatar_url:""});function F(a){z.value.real_name=a.real_name||"",z.value.phone=a.phone||"",z.value.id_card=a.id_card||"",z.value.avatar_url=a.avatar_url||""}function I(){C.value?h({count:1,sizeType:["compressed"],sourceType:["album","camera"],success:async a=>{const e=a.tempFilePaths[0];if(e)try{y({title:"上传中"});const{url:a}=await b(e);z.value.avatar_url=a}catch(l){f({title:(null==l?void 0:l.message)||"上传失败",icon:"none"})}finally{k()}}}):f({title:"请先通过微信登录后再上传头像",icon:"none"})}async function P(){if(z.value.real_name.trim())if(/^1\d{10}$/.test(z.value.phone.trim()))if(!z.value.id_card||/^\d{17}[\dXx]$/.test(z.value.id_card.trim())){j.value=!0;try{const a={real_name:z.value.real_name.trim(),phone:z.value.phone.trim(),id_card:z.value.id_card.trim()||void 0,avatar_url:z.value.avatar_url||void 0};C.value&&await x(a),T({real_name:a.real_name,phone:a.phone,id_card:a.id_card,avatar_url:a.avatar_url}),f({title:"保存成功",icon:"success"})}catch(a){f({title:(null==a?void 0:a.message)||"保存失败",icon:"none"})}finally{j.value=!1}}else f({title:"身份证号格式不正确",icon:"none"});else f({title:"请填写11位手机号",icon:"none"});else f({title:"请填写姓名",icon:"none"})}function X(){V()}return l(()=>{!async function(){U.value=!0,C.value=!!u(n.accessToken);try{if(C.value)try{const a=await g();z.value.real_name=a.real_name||"",z.value.phone=a.phone||"",z.value.id_card=a.id_card||"",z.value.avatar_url=a.avatar_url||""}catch{const a=w();a&&F(a)}else{const a=w();a&&F(a)}}finally{U.value=!1}}()}),(a,e)=>{const l=d,u=r,n=v,f=p,h=m;return c(),s(u,{class:"page"},{default:t(()=>[o(u,{class:"nav"},{default:t(()=>[o(l,{class:"back",onClick:X},{default:t(()=>[i("")]),_:1}),o(l,{class:"nav-title"},{default:t(()=>[i("我的信息")]),_:1}),o(u,{class:"nav-placeholder"})]),_:1}),U.value?(c(),s(u,{key:0,class:"loading"},{default:t(()=>[i("加载中…")]),_:1})):(c(),s(u,{key:1,class:"content"},{default:t(()=>[o(u,{class:"avatar-block"},{default:t(()=>[o(u,{class:"avatar-wrap",onClick:I},{default:t(()=>[z.value.avatar_url?(c(),s(n,{key:0,class:"avatar",src:z.value.avatar_url,mode:"aspectFill"},null,8,["src"])):(c(),s(u,{key:1,class:"avatar placeholder"})),o(u,{class:"avatar-tip"},{default:t(()=>[i(_(C.value?"点击更换头像":"登录后可上传头像"),1)]),_:1})]),_:1})]),_:1}),o(u,{class:"card"},{default:t(()=>[o(u,{class:"row"},{default:t(()=>[o(l,{class:"label"},{default:t(()=>[i("姓名")]),_:1}),o(f,{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}),o(u,{class:"row"},{default:t(()=>[o(l,{class:"label"},{default:t(()=>[i("手机号")]),_:1}),o(f,{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}),o(u,{class:"row last"},{default:t(()=>[o(l,{class:"label"},{default:t(()=>[i("身份证")]),_:1}),o(f,{modelValue:z.value.id_card,"onUpdate:modelValue":e[2]||(e[2]=a=>z.value.id_card=a),class:"input",maxlength:"18",placeholder:"选填","placeholder-class":"ph"},null,8,["modelValue"])]),_:1})]),_:1}),o(h,{class:"btn",disabled:j.value,onClick:P},{default:t(()=>[i(_(j.value?"保存中…":"保存"),1)]),_:1},8,["disabled"])]),_:1}))]),_:1})}}}),[["__scopeId","data-v-1b7b0015"]]);export{j as default};