|
|
@ -3,40 +3,52 @@ |
|
|
|
<el-card class="member-box-card"> |
|
|
|
<div class="member-info-view"> |
|
|
|
<p class="title pl-10">个人信息</p> |
|
|
|
<div v-if="userInfo" class="account-info-view"> |
|
|
|
<div v-if="userInfo" |
|
|
|
class="account-info-view"> |
|
|
|
<table> |
|
|
|
<tbody> |
|
|
|
<tr> |
|
|
|
<td width="80" style="text-align: right;">用户名:</td> |
|
|
|
<td width="80" |
|
|
|
style="text-align: right;">用户名:</td> |
|
|
|
<td> |
|
|
|
{{ userInfo.name }} |
|
|
|
<el-button type="text" @click="editNameDialogVisible=true"> |
|
|
|
<el-button type="text" |
|
|
|
@click="editNameDialogVisible=true"> |
|
|
|
修改 |
|
|
|
</el-button> |
|
|
|
</td> |
|
|
|
</tr> |
|
|
|
<tr> |
|
|
|
<td width="80" style="text-align: right;">账号邮箱:</td> |
|
|
|
<td width="80" |
|
|
|
style="text-align: right;">账号邮箱:</td> |
|
|
|
<td> |
|
|
|
{{ userInfo.email }} |
|
|
|
<el-button type="text" @click="emailDialogVisible=true">绑定</el-button> |
|
|
|
<el-button type="text" |
|
|
|
@click="emailDialogVisible=true">绑定</el-button> |
|
|
|
</td> |
|
|
|
</tr> |
|
|
|
<tr> |
|
|
|
<td width="80" style="text-align: right;">密码:</td> |
|
|
|
<td width="80" |
|
|
|
style="text-align: right;">密码:</td> |
|
|
|
<td> |
|
|
|
****** |
|
|
|
<el-button type="text" @click="pwdDialogVisible=true">修改</el-button> |
|
|
|
<el-button type="text" |
|
|
|
@click="pwdDialogVisible=true">修改</el-button> |
|
|
|
</td> |
|
|
|
</tr> |
|
|
|
<tr> |
|
|
|
<td width="80" style="text-align: right;">手机号:</td> |
|
|
|
<td width="80" |
|
|
|
style="text-align: right;">手机号:</td> |
|
|
|
<td> |
|
|
|
{{ userInfo.phoneNumber }} |
|
|
|
<el-button v-if="userInfo.phoneNumber" type="text" @click="phoneDialogVisible=true"> |
|
|
|
<el-button v-if="userInfo.phoneNumber" |
|
|
|
type="text" |
|
|
|
@click="phoneDialogVisible=true"> |
|
|
|
修改 |
|
|
|
</el-button> |
|
|
|
<el-button v-else type="text" @click="phoneDialogVisible=true">绑定</el-button> |
|
|
|
<el-button v-else |
|
|
|
type="text" |
|
|
|
@click="phoneDialogVisible=true">绑定</el-button> |
|
|
|
</td> |
|
|
|
</tr> |
|
|
|
</tbody> |
|
|
@ -49,66 +61,70 @@ |
|
|
|
:url="getUploadUrl()" |
|
|
|
:headers="getUploadHeader()" |
|
|
|
img-format="png" |
|
|
|
@crop-upload-success="cropUploadSuccess" |
|
|
|
/> |
|
|
|
<el-avatar |
|
|
|
style="width: 100px; height: 100px;" |
|
|
|
@crop-upload-success="cropUploadSuccess" /> |
|
|
|
<el-avatar style="width: 100px; height: 100px;" |
|
|
|
:src="userInfo.avatar" |
|
|
|
@click.native="showUploadAvatar=true" |
|
|
|
/> |
|
|
|
@click.native="showUploadAvatar=true" /> |
|
|
|
<div style="margin-left: 10px; margin-top: 5px;"> |
|
|
|
<el-button @click.native="showUploadAvatar=true">更换头像</el-button> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
<p class="title pl-10">第三方账号</p> |
|
|
|
<div v-if="userInfo" class="account-info-view"> |
|
|
|
<div v-if="userInfo" |
|
|
|
class="account-info-view"> |
|
|
|
<div style="margin-left: 30px; display: flex; flex-direction: row;"> |
|
|
|
<div class="account-icon-view"> |
|
|
|
<font-icon class="fab fa-weixin icon" :style="{color:userInfo.wxName?'#3F9F3F':''}" /> |
|
|
|
<font-icon class="fab fa-weixin icon" |
|
|
|
:style="{color:userInfo.wxName?'#3F9F3F':''}" /> |
|
|
|
<span v-if="userInfo.wxName"> |
|
|
|
{{ userInfo.wxName }}(已绑定) |
|
|
|
</span> |
|
|
|
<el-button v-else type="text" @click="bindWxHandle">绑定</el-button> |
|
|
|
<el-button v-else |
|
|
|
type="text" |
|
|
|
@click="bindWxHandle">绑定</el-button> |
|
|
|
<el-dialog title="微信扫描二维码绑定" |
|
|
|
width="400px" |
|
|
|
center |
|
|
|
:visible.sync="bindWxDialogVisible" |
|
|
|
> |
|
|
|
<el-image |
|
|
|
style="width: 150px; height: 150px; display: block; margin: 0 auto;" |
|
|
|
:visible.sync="bindWxDialogVisible"> |
|
|
|
<el-image style="width: 150px; height: 150px; display: block; margin: 0 auto;" |
|
|
|
:src="bindWxQrcode" |
|
|
|
fit="fill" |
|
|
|
/> |
|
|
|
fit="fill" /> |
|
|
|
</el-dialog> |
|
|
|
</div> |
|
|
|
<div class="account-icon-view"> |
|
|
|
<font-icon class="fa fa-qq icon" :style="{color:userInfo.qqName?'#078DF0':''}" /> |
|
|
|
<font-icon class="fa fa-qq icon" |
|
|
|
:style="{color:userInfo.qqName?'#078DF0':''}" /> |
|
|
|
<span v-if="userInfo.qqName"> |
|
|
|
{{ userInfo.qqName }}(已绑定) |
|
|
|
</span> |
|
|
|
<el-button v-else type="text" @click="redirectUrl(qqLoginAuthorizeUrl)">绑定</el-button> |
|
|
|
<el-button v-else |
|
|
|
type="text" |
|
|
|
@click="redirectUrl(qqLoginAuthorizeUrl)">绑定</el-button> |
|
|
|
</div> |
|
|
|
<div class="account-icon-view"> |
|
|
|
<font-icon class="fa fa-weibo icon" /> |
|
|
|
<span v-if="userInfo.wbName"> |
|
|
|
{{ userInfo.wbName }}(已绑定) |
|
|
|
</span> |
|
|
|
<el-button v-else type="text">绑定</el-button> |
|
|
|
<el-button v-else |
|
|
|
type="text">绑定</el-button> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
</el-card> |
|
|
|
<div> |
|
|
|
<el-dialog |
|
|
|
title="修改用户名" |
|
|
|
<el-dialog title="修改用户名" |
|
|
|
:visible.sync="editNameDialogVisible" |
|
|
|
width="450px" |
|
|
|
center |
|
|
|
> |
|
|
|
<el-form ref="updateNameForm" :model="userInfoForm" :rules="userInfoRules" label-width="80px"> |
|
|
|
<el-form-item label="新用户名" prop="name"> |
|
|
|
center> |
|
|
|
<el-form ref="updateNameForm" |
|
|
|
:model="userInfoForm" |
|
|
|
:rules="userInfoRules" |
|
|
|
label-width="80px"> |
|
|
|
<el-form-item label="新用户名" |
|
|
|
prop="name"> |
|
|
|
<el-input v-model="userInfoForm.name" /> |
|
|
|
</el-form-item> |
|
|
|
</el-form> |
|
|
@ -121,85 +137,94 @@ |
|
|
|
this.updateUserHandle() |
|
|
|
} |
|
|
|
}) |
|
|
|
}" |
|
|
|
>保存</el-button> |
|
|
|
}">保存</el-button> |
|
|
|
</span> |
|
|
|
</el-dialog> |
|
|
|
<el-dialog |
|
|
|
title="修改密码" |
|
|
|
<el-dialog title="修改密码" |
|
|
|
:visible.sync="pwdDialogVisible" |
|
|
|
width="450px" |
|
|
|
center |
|
|
|
> |
|
|
|
center> |
|
|
|
<el-form ref="updatePassWordForm" |
|
|
|
style="width: 300px;" |
|
|
|
:model="userPwdForm" :rules="userPwdRules" label-width="120px" |
|
|
|
> |
|
|
|
<el-form-item label="输入旧密码" prop="oldPassword"> |
|
|
|
<el-input v-model="userPwdForm.oldPassword" placeholder="请输入旧密码" show-password /> |
|
|
|
:model="userPwdForm" |
|
|
|
:rules="userPwdRules" |
|
|
|
label-width="120px"> |
|
|
|
<el-form-item label="输入旧密码" |
|
|
|
prop="oldPassword"> |
|
|
|
<el-input v-model="userPwdForm.oldPassword" |
|
|
|
placeholder="请输入旧密码" |
|
|
|
show-password /> |
|
|
|
</el-form-item> |
|
|
|
<el-form-item label="输入新密码" prop="password"> |
|
|
|
<el-input v-model="userPwdForm.password" placeholder="请输入新密码" show-password /> |
|
|
|
<el-form-item label="输入新密码" |
|
|
|
prop="password"> |
|
|
|
<el-input v-model="userPwdForm.password" |
|
|
|
placeholder="请输入新密码" |
|
|
|
show-password /> |
|
|
|
</el-form-item> |
|
|
|
<el-form-item label="重复输入密码" prop="repeatPassword"> |
|
|
|
<el-input v-model="userPwdForm.repeatPassword" placeholder="请重复输入密码" show-password /> |
|
|
|
<el-form-item label="重复输入密码" |
|
|
|
prop="repeatPassword"> |
|
|
|
<el-input v-model="userPwdForm.repeatPassword" |
|
|
|
placeholder="请重复输入密码" |
|
|
|
show-password /> |
|
|
|
</el-form-item> |
|
|
|
</el-form> |
|
|
|
<span slot="footer" class="dialog-footer"> |
|
|
|
<span slot="footer" |
|
|
|
class="dialog-footer"> |
|
|
|
<el-button type="primary" |
|
|
|
@click="()=>{this.pwdDialogVisible = false;this.updateUserPwdHandle()}" |
|
|
|
>完 成</el-button> |
|
|
|
@click="()=>{this.pwdDialogVisible = false;this.updateUserPwdHandle()}">完 成</el-button> |
|
|
|
</span> |
|
|
|
</el-dialog> |
|
|
|
<el-dialog |
|
|
|
title="修改邮箱" |
|
|
|
<el-dialog title="修改邮箱" |
|
|
|
:visible.sync="emailDialogVisible" |
|
|
|
width="450px" |
|
|
|
center |
|
|
|
> |
|
|
|
center> |
|
|
|
<el-form ref="updateEmailForm" |
|
|
|
style="width: 80%;" |
|
|
|
:model="userInfoForm" :rules="userInfoRules" label-width="80px" |
|
|
|
> |
|
|
|
<el-form-item label="邮箱" prop="email"> |
|
|
|
<el-input v-model="userInfoForm.email" placeholder="请输入邮箱" /> |
|
|
|
:model="userInfoForm" |
|
|
|
:rules="userInfoRules" |
|
|
|
label-width="80px"> |
|
|
|
<el-form-item label="邮箱" |
|
|
|
prop="email"> |
|
|
|
<el-input v-model="userInfoForm.email" |
|
|
|
placeholder="请输入邮箱" /> |
|
|
|
</el-form-item> |
|
|
|
</el-form> |
|
|
|
<span slot="footer" class="dialog-footer"> |
|
|
|
<span slot="footer" |
|
|
|
class="dialog-footer"> |
|
|
|
<el-button v-prevent-re-click |
|
|
|
type="primary" |
|
|
|
@click="()=>{this.pwdDialogVisible = false;this.sendUpdateEmail()}" |
|
|
|
>发送验证邮件</el-button> |
|
|
|
@click="()=>{this.pwdDialogVisible = false;this.sendUpdateEmail()}">发送验证邮件</el-button> |
|
|
|
</span> |
|
|
|
</el-dialog> |
|
|
|
<el-dialog |
|
|
|
title="修改手机号" |
|
|
|
<el-dialog title="修改手机号" |
|
|
|
:visible.sync="phoneDialogVisible" |
|
|
|
width="450px" |
|
|
|
center |
|
|
|
> |
|
|
|
center> |
|
|
|
<el-form ref="updatePhoneForm" |
|
|
|
:model="userInfoForm" :rules="userInfoRules" label-width="120px" |
|
|
|
> |
|
|
|
<el-form-item label="手机号" prop="phoneNumber"> |
|
|
|
<el-input v-model="userInfoForm.phoneNumber" placeholder="请输入手机号" /> |
|
|
|
:model="userInfoForm" |
|
|
|
:rules="userInfoRules" |
|
|
|
label-width="120px"> |
|
|
|
<el-form-item label="手机号" |
|
|
|
prop="phoneNumber"> |
|
|
|
<el-input v-model="userInfoForm.phoneNumber" |
|
|
|
placeholder="请输入手机号" /> |
|
|
|
</el-form-item> |
|
|
|
<el-form-item label="输入验证码" prop="code"> |
|
|
|
<el-input v-model="userInfoForm.code" placeholder="请输入验证码" |
|
|
|
style="display: inline-block; width: 60%;" |
|
|
|
/> |
|
|
|
<el-form-item label="输入验证码" |
|
|
|
prop="code"> |
|
|
|
<el-input v-model="userInfoForm.code" |
|
|
|
placeholder="请输入验证码" |
|
|
|
style="display: inline-block; width: 60%;" /> |
|
|
|
<el-button v-prevent-re-click |
|
|
|
style="display: inline-block; width: 40%;" |
|
|
|
@click.native="sendUpdatePhoneNumber" |
|
|
|
> |
|
|
|
@click.native="sendUpdatePhoneNumber"> |
|
|
|
{{ phoneValidateCodeBtnText }} |
|
|
|
</el-button> |
|
|
|
</el-form-item> |
|
|
|
</el-form> |
|
|
|
<span slot="footer" class="dialog-footer"> |
|
|
|
<span slot="footer" |
|
|
|
class="dialog-footer"> |
|
|
|
<el-button type="primary" |
|
|
|
@click="()=>{this.phoneDialogVisible = false;this.updateUserPhoneHandle()}" |
|
|
|
>完 成</el-button> |
|
|
|
@click="()=>{this.phoneDialogVisible = false;this.updateUserPhoneHandle()}">完 成</el-button> |
|
|
|
</span> |
|
|
|
</el-dialog> |
|
|
|
</div> |
|
|
@ -210,7 +235,7 @@ |
|
|
|
import myUpload from 'vue-image-crop-upload' |
|
|
|
import constants from '@/utils/constants' |
|
|
|
import FontIcon from '@/components/FontIcon' |
|
|
|
import {getCurrentDomain} from '@/utils' |
|
|
|
import { getCurrentDomain } from '@/utils' |
|
|
|
|
|
|
|
export default { |
|
|
|
name: 'Member', |
|
|
@ -218,7 +243,7 @@ export default { |
|
|
|
FontIcon, |
|
|
|
myUpload |
|
|
|
}, |
|
|
|
data() { |
|
|
|
data () { |
|
|
|
let validateRePass = (rule, value, callback) => { |
|
|
|
if (value === '') { |
|
|
|
callback(new Error('请再次输入密码')) |
|
|
@ -233,42 +258,42 @@ export default { |
|
|
|
phoneValidateCodeBtnText: '发送验证码', |
|
|
|
userInfoRules: { |
|
|
|
name: [ |
|
|
|
{required: true, trigger: 'blur', message: '请输入昵称'} |
|
|
|
{ required: true, trigger: 'blur', message: '请输入昵称' } |
|
|
|
], |
|
|
|
email: [ |
|
|
|
{required: true, trigger: 'blur', message: '请输入邮箱'}, |
|
|
|
{ required: true, trigger: 'blur', message: '请输入邮箱' }, |
|
|
|
{ |
|
|
|
pattern: /^[a-zA-Z0-9_.-]+@[a-zA-Z0-9-]+(\.[a-zA-Z0-9-]+)*\.[a-zA-Z0-9]{2,6}$/, |
|
|
|
message: '请输入正确的邮箱' |
|
|
|
} |
|
|
|
], |
|
|
|
phoneNumber: [ |
|
|
|
{required: true, trigger: 'blur', message: '请输入手机号'}, |
|
|
|
{ required: true, trigger: 'blur', message: '请输入手机号' }, |
|
|
|
{ |
|
|
|
pattern: /^(?:0|86|\+86)?1[3456789]\d{9}$/, |
|
|
|
message: '请输入正确的手机号' |
|
|
|
} |
|
|
|
], code: [ |
|
|
|
{required: true, trigger: 'blur', message: '请输入验证码'} |
|
|
|
{ required: true, trigger: 'blur', message: '请输入验证码' } |
|
|
|
] |
|
|
|
}, |
|
|
|
userPwdRules: { |
|
|
|
oldPassword: [ |
|
|
|
{required: true, trigger: 'blur', message: '请输入旧密码'}, |
|
|
|
{ required: true, trigger: 'blur', message: '请输入旧密码' }, |
|
|
|
{ |
|
|
|
pattern: constants.passwordReg, |
|
|
|
message: constants.passwordRegDesc |
|
|
|
} |
|
|
|
], |
|
|
|
password: [ |
|
|
|
{required: true, trigger: 'blur', message: '请输入新密码'}, |
|
|
|
{ required: true, trigger: 'blur', message: '请输入新密码' }, |
|
|
|
{ |
|
|
|
pattern: constants.passwordReg, |
|
|
|
message: constants.passwordRegDesc |
|
|
|
} |
|
|
|
], |
|
|
|
repeatPassword: [ |
|
|
|
{required: true, trigger: 'blur', validator: validateRePass} |
|
|
|
{ required: true, trigger: 'blur', validator: validateRePass } |
|
|
|
] |
|
|
|
}, |
|
|
|
bindWxDialogVisible: false, |
|
|
@ -289,16 +314,16 @@ export default { |
|
|
|
bindWxTimer: null |
|
|
|
} |
|
|
|
}, |
|
|
|
created() { |
|
|
|
created () { |
|
|
|
this.queryUserInfo() |
|
|
|
this.getQQLoginAuthorizeUrl() |
|
|
|
this.getBindWxQrCode() |
|
|
|
}, |
|
|
|
destroyed() { |
|
|
|
destroyed () { |
|
|
|
clearInterval(this.bindWxTimer) |
|
|
|
}, |
|
|
|
methods: { |
|
|
|
queryUserInfo() { |
|
|
|
queryUserInfo () { |
|
|
|
this.$api.get(`${process.env.VUE_APP_API_ROOT_TDUCK}/user/current/detail`).then(res => { |
|
|
|
if (res.data) { |
|
|
|
this.userInfo = res.data |
|
|
@ -308,20 +333,20 @@ export default { |
|
|
|
} |
|
|
|
}) |
|
|
|
}, |
|
|
|
getUploadHeader() { |
|
|
|
getUploadHeader () { |
|
|
|
return { |
|
|
|
'token': this.$store.getters['user/isLogin'] |
|
|
|
} |
|
|
|
}, |
|
|
|
getUploadUrl() { |
|
|
|
return `${process.env.VUE_APP_API_ROOT}/user/file/upload` |
|
|
|
getUploadUrl () { |
|
|
|
return `${process.env.VUE_APP_API_ROOT}${process.env.VUE_APP_API_ROOT_TDUCK}/user/file/upload` |
|
|
|
}, |
|
|
|
getBindWxQrCode() { |
|
|
|
getBindWxQrCode () { |
|
|
|
this.$api.get(`${process.env.VUE_APP_API_ROOT_TDUCK}/user/bind/wx/qrcode`).then(res => { |
|
|
|
this.bindWxQrcode = res.data |
|
|
|
}) |
|
|
|
}, |
|
|
|
updateUserPwdHandle() { |
|
|
|
updateUserPwdHandle () { |
|
|
|
this.$refs['updatePassWordForm'].validate(valid => { |
|
|
|
if (valid) { |
|
|
|
this.$api.post(`${process.env.VUE_APP_API_ROOT_TDUCK}/user/update/password`, this.userPwdForm).then(res => { |
|
|
@ -336,10 +361,10 @@ export default { |
|
|
|
}) |
|
|
|
|
|
|
|
}, |
|
|
|
sendUpdateEmail() { |
|
|
|
sendUpdateEmail () { |
|
|
|
this.$refs['updateEmailForm'].validateField('email', err => { |
|
|
|
if (!err) { |
|
|
|
this.$api.get(`${process.env.VUE_APP_API_ROOT_TDUCK}/user/update-email/msg`, {params: {email: this.userInfoForm.email}}).then(res => { |
|
|
|
this.$api.get(`${process.env.VUE_APP_API_ROOT_TDUCK}/user/update-email/msg`, { params: { email: this.userInfoForm.email } }).then(res => { |
|
|
|
if (res.data) { |
|
|
|
this.msgSuccess('发送成功,请去您的邮箱查看') |
|
|
|
this.emailDialogVisible = false |
|
|
@ -348,7 +373,7 @@ export default { |
|
|
|
} |
|
|
|
}) |
|
|
|
}, |
|
|
|
sendUpdatePhoneNumber() { |
|
|
|
sendUpdatePhoneNumber () { |
|
|
|
this.$refs['updatePhoneForm'].validateField('phoneNumber', err => { |
|
|
|
if (!err) { |
|
|
|
this.$api.get(`${process.env.VUE_APP_API_ROOT_TDUCK}/user/update-phone/code?phoneNumber=${this.userInfoForm.phoneNumber}`).then(() => { |
|
|
@ -366,7 +391,7 @@ export default { |
|
|
|
} |
|
|
|
}) |
|
|
|
}, |
|
|
|
updateUserHandle() { |
|
|
|
updateUserHandle () { |
|
|
|
this.$api.post(`${process.env.VUE_APP_API_ROOT_TDUCK}/user/update`, this.userInfoForm).then(res => { |
|
|
|
if (res.data) { |
|
|
|
this.msgSuccess('保存成功') |
|
|
@ -376,16 +401,16 @@ export default { |
|
|
|
}) |
|
|
|
}, |
|
|
|
// qq登录授权地址 |
|
|
|
getQQLoginAuthorizeUrl() { |
|
|
|
getQQLoginAuthorizeUrl () { |
|
|
|
let reUrl = getCurrentDomain() + '/redirect/bindqq' |
|
|
|
this.$api.get(`${process.env.VUE_APP_API_ROOT_TDUCK}/login/qq/authorize/url`, {params: {redirectUri: reUrl}}).then(res => { |
|
|
|
this.$api.get(`${process.env.VUE_APP_API_ROOT_TDUCK}/login/qq/authorize/url`, { params: { redirectUri: reUrl } }).then(res => { |
|
|
|
this.qqLoginAuthorizeUrl = res.data |
|
|
|
}) |
|
|
|
}, |
|
|
|
redirectUrl(url) { |
|
|
|
redirectUrl (url) { |
|
|
|
window.open(url) |
|
|
|
}, |
|
|
|
updateUserPhoneHandle() { |
|
|
|
updateUserPhoneHandle () { |
|
|
|
this.$refs['updatePhoneForm'].validateField(['phoneNumber', 'code'], err => { |
|
|
|
if (!err) { |
|
|
|
this.$api.post(`${process.env.VUE_APP_API_ROOT_TDUCK}/user/update/phone-number`, this.userInfoForm).then(() => { |
|
|
@ -395,12 +420,12 @@ export default { |
|
|
|
} |
|
|
|
}) |
|
|
|
}, |
|
|
|
bindWxHandle() { |
|
|
|
bindWxHandle () { |
|
|
|
this.bindWxDialogVisible = true |
|
|
|
this.bindWxTimer = setInterval(() => { |
|
|
|
this.$api.get(`${process.env.VUE_APP_API_ROOT_TDUCK}/user/current/detail`).then(res => { |
|
|
|
if (res.data) { |
|
|
|
let {wxName} = res.data |
|
|
|
let { wxName } = res.data |
|
|
|
if (wxName) { |
|
|
|
this.msgSuccess('绑定成功') |
|
|
|
clearInterval(this.bindWxTimer) |
|
|
@ -411,7 +436,7 @@ export default { |
|
|
|
}) |
|
|
|
}, 5 * 1000) |
|
|
|
}, |
|
|
|
cropUploadSuccess(res) { |
|
|
|
cropUploadSuccess (res) { |
|
|
|
this.userInfoForm.avatar = res.data |
|
|
|
this.updateUserHandle() |
|
|
|
} |
|
|
@ -465,5 +490,4 @@ export default { |
|
|
|
.account-avatar-view { |
|
|
|
width: 180px; |
|
|
|
} |
|
|
|
|
|
|
|
</style> |
|
|
|