goldpankit
Version:
GoldPanKit是一款极速研发套件,可在套件中快速构建各类技术框架和项目。开源作者可发布自己的项目,并为其设定金额,实现开源项目的盈利。
2 lines (1 loc) • 2.27 kB
JavaScript
import{_,r,o as p,g as U,w as f,a as o,m as y,n as g,Z as I,c as u,b as c,t as i,j as V,e as b}from"./index-99dec0ae.js";const k={name:"AvatarUploader",props:{modelValue:{required:!0}},methods:{handleAvatarSuccess(e){if(!e.success){this.$tip.apiFailed(e);return}this.$emit("update:modelValue",e.data.accessUri)},beforeAvatarUpload(e){return e.size/1024/1024>2?(this.$tip.error("Avatar picture size can not exceed 2MB!"),!1):!0}}},A=["src"];function w(e,t,d,m,s,a){const n=r("el-upload");return p(),U(n,{class:"avatar-uploader",action:"/remote-api/upload/image","show-file-list":!1,accept:".jpeg,.png,.jpg,.gif","on-success":a.handleAvatarSuccess,"before-upload":a.beforeAvatarUpload},{default:f(()=>[o("img",{src:e.getAccessUri(d.modelValue),class:"avatar"},null,8,A)]),_:1},8,["on-success","before-upload"])}const $=_(k,[["render",w],["__scopeId","data-v-b341388d"]]);const x={components:{AvatarUploader:$},computed:{...y(["userInfo"])},data(){return{copyUserInfo:null,isWorking:!1}},watch:{userInfo:{immediate:!0,handler:function(){this.copyUserInfo=JSON.parse(JSON.stringify(this.userInfo))}}},methods:{...g(["setUserInfo"]),save(){this.isWorking||(this.isWorking=!0,I(this.copyUserInfo).then(()=>{this.setUserInfo(this.copyUserInfo),this.$tip.success(this.$t("common.saveSuccessfully"))}).catch(e=>{this.$tip.apiFailed(e)}).finally(()=>{this.isWorking=!1}))}}},S={class:"page"},N={key:0,class:"wrap"},B={class:"avatar-wrap"},C={class:"introduce-wrap"},W={class:"opera"};function j(e,t,d,m,s,a){const n=r("AvatarUploader"),v=r("el-input"),h=r("el-button");return p(),u("div",S,[s.copyUserInfo!=null?(p(),u("div",N,[o("div",B,[c(n,{modelValue:s.copyUserInfo.avatar,"onUpdate:modelValue":t[0]||(t[0]=l=>s.copyUserInfo.avatar=l)},null,8,["modelValue"]),o("h2",null,i(s.copyUserInfo.username),1)]),o("div",C,[o("label",null,i(e.$t("common.introduce")),1),c(v,{modelValue:s.copyUserInfo.introduce,"onUpdate:modelValue":t[1]||(t[1]=l=>s.copyUserInfo.introduce=l),type:"textarea",rows:5},null,8,["modelValue"])]),o("div",W,[c(h,{type:"primary",size:"large",disabled:s.isWorking,onClick:a.save},{default:f(()=>[b(i(e.$t("common.save")),1)]),_:1},8,["disabled","onClick"])])])):V("",!0)])}const F=_(x,[["render",j],["__scopeId","data-v-d456370f"]]);export{F as default};