220 lines
7.2 KiB
Vue
220 lines
7.2 KiB
Vue
<template>
|
|
<view class="u-p-30">
|
|
<!-- <u-navbar title="修改资料" :title-size="32" title-color="#000" :is-back="false">
|
|
</u-navbar> -->
|
|
<view class="margin-top: 30vh;">
|
|
<view class="u-flex u-row-center">
|
|
<button open-type="chooseAvatar" @chooseavatar="chooseAvatar">
|
|
<view class="avatar">
|
|
<image mode="aspectFill" v-if="src" :src="src">
|
|
</image>
|
|
<image v-else mode="aspectFill" src="/static/man.png">
|
|
</image>
|
|
</view>
|
|
</button>
|
|
</view>
|
|
<view>
|
|
<image src="@/me/static/ymf/1b3d78fa5f92af069751ea64d493c0d85050b1e03cc5b-tPC378.png" mode=""></image>
|
|
<image src="@/me/static/ymf/390e926273eea85c894e613d42c9931ee2cd1f0a200fd-ApyNVV.png" mode=""></image>
|
|
<image src="@/me/static/ymf/79cbb0e34c24915f1883feaa3cf3179b0a1ceb1362a18-unU6xQ.png" mode=""></image>
|
|
<image src="@/me/static/ymf/cb319b604e49b816971b708b1231321318e0023610d8c-I24hXU.jpg" mode=""></image>
|
|
<image src="@/me/static/ymf/cf2d172a6da494b2e577f699254a780907b7c222246d7-ehahn1.png" mode=""></image>
|
|
<image src="@/me/static/ymf/eaae3095c9e433fb8a015aaebbe52047009dd863ff2b9-igSItK.png" mode=""></image>
|
|
<image src="@/me/static/ymf/f3c60c6f31c74bdf38ba2d8993bcb443ab9bc335cc875-xfx4CJ.png" mode=""></image>
|
|
<image src="@/me/static/ymf/c93b4cc9363d52cba140f7239516344ece9388141079a4-do8mFc.png" mode=""></image>
|
|
<image src="@/me/static/ymf/031da1e7f043de5d5e1ee355994a93e5ec983aca44dc-sZf0Vl_fw1200.jpg" mode=""></image>
|
|
<image src="@/me/static/ymf/c4e6c5023b94de32df2f51d9ebd633790cc6125a88e4-TIyAcR_fw1200.jpg" mode=""></image>
|
|
<image src="@/me/static/ymf/f7da7a8ca57f9f0d56bbb3d7be1d1c86f96304ce4b3a-iVbD8U_fw1200.jpg" mode=""></image>
|
|
<image src="@/me/static/ymf/2e521eee5a8c80ea6879028ee866c5d0531bc4f1d5e48-Bh95lN_fw1200.jpg" mode=""></image>
|
|
<image src="@/me/static/ymf/38cf4e97e52b50be9dcdcdc1352c497e1acc9266cd52-aUOrxn_fw1200.webp" mode=""></image>
|
|
<image src="@/me/static/ymf/73170e6a596b72538dbe743b06ef8b96e4885aff5b4c3-MsouS7_fw1200.jpg" mode=""></image>
|
|
<image src="@/me/static/ymf/e9f9cb6b95c21c714015f15c372f595367aa553f443a-WpOCNo_fw1200.webp" mode=""></image>
|
|
<image src="@/me/static/ymf/f5d96faaa94cb0151a5c95db44e27b80ed6eeac5cb32-rApi2S_fw1200.webp" mode=""></image>
|
|
<image src="@/me/static/ymf/0e114b9ac6afc2b4c0f29520178be64915a111e218a8b5-mbMpg2_fw1200.jpg" mode=""></image>
|
|
<image src="@/me/static/ymf/4783f7272bf31eeafbe1362605477de14b7cd3da24b0-ggkAnW_fw658webp.webp" mode=""></image>
|
|
<image src="@/me/static/ymf/8dce1d3c3a8287c35bc1bf394048d57a64acfa047d4e-6wXnWE_fw658webp.webp" mode=""></image>
|
|
<image src="@/me/static/ymf/ff919b6254e376cc902c89afdcc194ac2ab39c93793b-8TdL1Z_fw658webp.webp" mode=""></image>
|
|
<image src="@/me/static/ymf/3c9a5848127a67f98e25176a042511b89afd31daccc2f-5EHbxD_fw658webp.webp" mode=""></image>
|
|
<image src="@/me/static/ymf/6c9e57bcbcb047039a8edb30ecdd3b912bac99555a8fc-9EK0oO_fw658webp.webp" mode=""></image>
|
|
<image src="@/me/static/ymf/78a020586cfbb791918b767520a8ff3c2ab9660f1ee1b-GX4zcc_fw658webp.webp" mode=""></image>
|
|
<image src="@/me/static/ymf/babf535567728d84346fbb13348e94aae3ec8f82106e2-QKPJoe_fw658webp.webp" mode=""></image>
|
|
<image src="@/me/static/ymf/d1e4d760358ba0733faee6bcad1e23cb4a1d6d76ba290-O3hUrf_fw240webp.webp" mode=""></image>
|
|
<image src="@/me/static/ymf/dcb5a4b0b1060b569f9fc618e6e2708b584f7def1cadf-R7jpIr_fw658webp.webp" mode=""></image>
|
|
<image src="@/me/static/ymf/e4330f184149f502f4948ce3b60059edaffc9c3d94ca4-B11p5c_fw658webp.webp" mode=""></image>
|
|
<image src="@/me/static/ymf/fa22e2a27871e5f8841e8abb12cc4347a6b9440816068-3XsAnJ_fw658webp.webp" mode=""></image>
|
|
</view>
|
|
<view class="u-m-t-40 u-flex">
|
|
<view>昵称</view>
|
|
<view class="u-flex-1 u-p-l-30"><input @blur="onblur" type="nickname" v-model="nickname" placeholder="请输入昵称">
|
|
</view>
|
|
</view>
|
|
<view class=" fixed_b">
|
|
<button class="xz-button" @click="submit">提交</button>
|
|
</view>
|
|
</view>
|
|
<u-toast ref="uToast"></u-toast>
|
|
</view>
|
|
</template>
|
|
|
|
<script>
|
|
import config from '@/common/config/config.js'
|
|
export default {
|
|
data() {
|
|
return {
|
|
config,
|
|
src: '',
|
|
nickname: '',
|
|
timer:null
|
|
};
|
|
},
|
|
onUnload() {
|
|
clearInterval(this.timer)
|
|
},
|
|
methods: {
|
|
onblur(e) {
|
|
console.log(e);
|
|
this.nickname = e.detail.value
|
|
},
|
|
chooseAvatar(e) {
|
|
console.log(e);
|
|
// this.src = e.detail.avatarUrl
|
|
const _this = this
|
|
const token = uni.getStorageSync('token') || ''
|
|
uni.showLoading({
|
|
title:'图片上传中'
|
|
})
|
|
console.log(e.detail.avatarUrl);
|
|
uni.uploadFile({
|
|
url: config.fileServe,
|
|
method: 'POST',
|
|
filePath: e.detail.avatarUrl,
|
|
name: 'file',
|
|
header: {
|
|
'Authorization': token
|
|
},
|
|
success: (response) => {
|
|
console.log(response);
|
|
if(response.statusCode!==200){
|
|
uni.hideLoading()
|
|
return _this.$refs.uToast.show({
|
|
title: '上传失败' ,
|
|
type: 'error'
|
|
})
|
|
}
|
|
const data = JSON.parse(response.data)
|
|
_this.$refs.uToast.show({
|
|
title: data.code == 200 ? '上传成功' : data.message,
|
|
type: data.code == 200 ? 'success' : 'error'
|
|
})
|
|
if(data.code == 200){
|
|
_this.src=data.data
|
|
}
|
|
uni.hideLoading()
|
|
}
|
|
})
|
|
},
|
|
getuserinfo() {
|
|
this.$api({
|
|
url: "/u/info"
|
|
}).then(res => {
|
|
console.log(res);
|
|
if(res.code==401){
|
|
return this.token=''
|
|
}
|
|
const defaultimg='https://thirdwx.qlogo.cn/mmopen/vi_32/POgEwh4mIHO4nibH0KlMECNjjGxQUq24ZEaGT4poC6icRiccVGKSyXwibcPq4BWmiaIGuG1icwxaQX6grC9VemZoJ8rg/132'
|
|
this.src=res.data.avatarurl!=defaultimg?res.data.avatarurl:''
|
|
this.nickname=res.data.username!='微信用户'?res.data.username:''
|
|
})
|
|
},
|
|
submit() {
|
|
if(!this.src){
|
|
return this.$refs.uToast.show({
|
|
title:'请上传头像',
|
|
type:'error'
|
|
})
|
|
}
|
|
if(!this.nickname){
|
|
return this.$refs.uToast.show({
|
|
title:'请输入昵称',
|
|
type:'error'
|
|
})
|
|
}
|
|
this.$api({
|
|
url:"u/update",
|
|
method:'POST',
|
|
data:{
|
|
nickname:this.nickname,
|
|
avatarUrl:this.src
|
|
}
|
|
}).then(res=>{
|
|
this.$refs.uToast.show({
|
|
title: res.code == 200 ? '修改成功' : res.message,
|
|
type: res.code == 200 ? 'success' : 'error'
|
|
})
|
|
if(res.code==200){
|
|
this.timer=setTimeout(()=>{
|
|
uni.switchTab({
|
|
url:'/pages/index/index2'
|
|
})
|
|
},1000)
|
|
}
|
|
|
|
})
|
|
}
|
|
},
|
|
onUnload() {},
|
|
onLoad() {
|
|
this.getuserinfo()
|
|
}
|
|
}
|
|
</script>
|
|
|
|
<style lang="scss">
|
|
.fixed_b{
|
|
|
|
}
|
|
.xz-button {
|
|
width: 100%;
|
|
box-sizing: border-box;
|
|
background-color: #41b883;
|
|
color: #fff;
|
|
border: none;
|
|
padding: 2px 25px;
|
|
text-align: center;
|
|
text-decoration: none;
|
|
display: inline-block;
|
|
font-size: 14px;
|
|
margin: 4px 2px;
|
|
cursor: pointer;
|
|
border-radius: 10px;
|
|
margin-bottom: 10px;
|
|
}
|
|
button::after {
|
|
border: none;
|
|
}
|
|
|
|
.avatar {
|
|
height: 140rpx;
|
|
width: 140rpx;
|
|
display: flex;
|
|
justify-content: center;
|
|
align-items: center;
|
|
border-radius: 30%;
|
|
overflow: hidden;
|
|
}
|
|
|
|
.avatar image {
|
|
height: 140rpx;
|
|
width: 140rpx;
|
|
}
|
|
|
|
button {
|
|
display: flex;
|
|
justify-content: center;
|
|
align-items: center;
|
|
background-color: transparent;
|
|
border: none;
|
|
padding: 0;
|
|
margin: 0;
|
|
}
|
|
</style> |