2 lines
3.7 KiB
JavaScript
2 lines
3.7 KiB
JavaScript
import{_ as a,k as e,C as s,$ as t,L as o,m as l,M as r,l as n,o as c,c as i,w as d,i as f,e as m,a1 as u,f as h,t as v,h as g,g as p,a2 as k,y as _}from"./index-a09151d6.js";import{A as y}from"./AppServer.888fd24d.js";import{b as I,a as U}from"./auth.b970b80f.js";const b=a({data:()=>({statusBarHeight:0,userInfo:{},form:{avatar:"",nickname:""},saving:!1}),onLoad(){const a=e();this.statusBarHeight=a.statusBarHeight||0,this.loadUserInfo()},methods:{loadUserInfo(){const a=I();a&&(this.userInfo=a,this.form={avatar:s.getImageUrl(a.avatar)||"",nickname:a.nickname||""}),this.fetchUserProfile()},async fetchUserProfile(){try{const a=new y,e=await a.GetUserProfile();0===e.code&&e.data&&(this.userInfo=e.data,this.form={avatar:s.getImageUrl(e.data.avatar)||"",nickname:e.data.nickname||""},U(e.data))}catch(a){console.error("获取用户信息失败:",a)}},chooseAvatar(){t({count:1,sizeType:["compressed"],sourceType:["album","camera"],success:a=>{const e=a.tempFilePaths[0];this.uploadAvatar(e)}})},async uploadAvatar(a){o({title:"上传中...",mask:!0});try{const e=new y,t=await e.UploadImage(a);if(0!==t.code||!t.data)throw new Error(t.message||"上传失败");this.form.avatar=s.getImageUrl(t.data.url),l({title:"头像上传成功",icon:"success"})}catch(e){console.error("上传头像失败:",e),l({title:"上传失败",icon:"none"})}finally{r()}},async handleSave(){if(this.form.nickname&&this.form.nickname.trim()){this.saving=!0;try{const a=new y,e={nickname:this.form.nickname.trim(),avatar:this.form.avatar},s=await a.UpdateUserProfile(e);if(0!==s.code)throw new Error(s.message||"保存失败");{const a={...this.userInfo,...e};U(a),l({title:"保存成功",icon:"success"}),setTimeout(()=>{this.goBack()},1e3)}}catch(a){console.error("保存失败:",a),l({title:a.message||"保存失败",icon:"none"})}finally{this.saving=!1}}else l({title:"请输入昵称",icon:"none"})},goBack(){n()}}},[["render",function(a,e,s,t,o,l){const r=f,n=g,y=p,I=k,U=_;return c(),i(r,{class:"container"},{default:d(()=>[m(r,{class:"header"},{default:d(()=>[m(r,{class:"status-bar",style:u({height:o.statusBarHeight+"px"})},null,8,["style"]),m(r,{class:"header-content"},{default:d(()=>[m(r,{class:"back-button",onClick:l.goBack},{default:d(()=>[m(n,{class:"back-icon"},{default:d(()=>[h("‹")]),_:1})]),_:1},8,["onClick"]),m(n,{class:"header-title"},{default:d(()=>[h(v(a.$t("profile.title")||"个人资料"),1)]),_:1}),m(r,{class:"header-placeholder"})]),_:1})]),_:1}),m(r,{class:"content"},{default:d(()=>[m(r,{class:"avatar-section"},{default:d(()=>[m(r,{class:"avatar-wrapper"},{default:d(()=>[m(y,{src:o.form.avatar||"/static/default-avatar.png",class:"avatar",mode:"aspectFill",onClick:l.chooseAvatar},null,8,["src","onClick"]),m(r,{class:"avatar-edit-icon"},{default:d(()=>[m(n,{class:"edit-icon"},{default:d(()=>[h("✏️")]),_:1})]),_:1})]),_:1})]),_:1}),m(r,{class:"form-section"},{default:d(()=>[m(r,{class:"form-item"},{default:d(()=>[m(n,{class:"form-label"},{default:d(()=>[h(v(a.$t("profile.nickname")||"昵称"),1)]),_:1}),m(I,{modelValue:o.form.nickname,"onUpdate:modelValue":e[0]||(e[0]=a=>o.form.nickname=a),class:"form-input",placeholder:a.$t("profile.nicknamePlaceholder")||"请输入昵称",maxlength:"20"},null,8,["modelValue","placeholder"])]),_:1}),m(r,{class:"form-item readonly"},{default:d(()=>[m(n,{class:"form-label"},{default:d(()=>[h("UID")]),_:1}),m(n,{class:"form-value"},{default:d(()=>[h(v(o.userInfo.uid||"-"),1)]),_:1})]),_:1})]),_:1}),m(r,{class:"button-section"},{default:d(()=>[m(U,{class:"save-button",onClick:l.handleSave,loading:o.saving,disabled:o.saving},{default:d(()=>[h(v(a.$t("common.save")||"保存"),1)]),_:1},8,["onClick","loading","disabled"])]),_:1})]),_:1})]),_:1})}],["__scopeId","data-v-9ea70e68"]]);export{b as default};
|