mirror of
http://36.133.248.69:3088/admin/RentWeAppFront.git
synced 2026-03-08 09:52:26 +08:00
90 lines
2.2 KiB
Vue
90 lines
2.2 KiB
Vue
<template>
|
||
<view>
|
||
<u-navbar :is-back="true" title="设置头像" :border-bottom="false"></u-navbar>
|
||
<view class="wrap">
|
||
<u-upload :custom-btn="true" ref="uUpload" :auto-upload="true" :action="action" :max-size="10 * 1024 * 1024" max-count="1" width="690" height="690" :size-type="siteType">
|
||
<view slot="addBtn" class="slot-btn" hover-class="slot-btn__hover" hover-stay-time="150">
|
||
<u-icon name="plus" size="60" :color="$u.color['lightColor']"></u-icon>
|
||
</view>
|
||
</u-upload>
|
||
<view class="u-m-t-20 btn">
|
||
<u-button type="primary" @click="subProfile">提交</u-button>
|
||
</view>
|
||
</view>
|
||
</view>
|
||
</template>
|
||
|
||
<script>
|
||
import config from "@/common/config.js" // 全局配置文件
|
||
export default {
|
||
data() {
|
||
return {
|
||
// 服务器地址
|
||
action: config.staticUrl + '/common/upload',
|
||
siteType:['compressed']
|
||
};
|
||
},
|
||
methods: {
|
||
subProfile() {
|
||
let files = [];
|
||
// 通过filter,筛选出上传进度为100的文件(因为某些上传失败的文件,进度值不为100,这个是可选的操作)
|
||
files = this.$refs.uUpload.lists.filter(val => {
|
||
return val.progress == 100;
|
||
})
|
||
if(this.$u.test.isEmpty(files)){
|
||
return this.$mytip.toast('请选择图片')
|
||
}
|
||
let imageList = files.map(val => {
|
||
return {
|
||
// imgUrl: val.response.url,
|
||
imgUrl: val.response.fileName
|
||
}
|
||
})
|
||
let avatar = imageList[0].imgUrl
|
||
let vuex_user = uni.getStorageSync('lifeData').vuex_user
|
||
let user = vuex_user.user
|
||
let userId = user.userId;
|
||
this.$u.put("api/profile/updateProfile",{
|
||
userId:userId,
|
||
avatar:avatar,
|
||
}).then(data => {
|
||
// 关闭
|
||
user.avatar = avatar
|
||
this.$u.vuex('vuex_user', vuex_user);
|
||
this.$mytip.toast('头像修改成功')
|
||
setTimeout(()=>{
|
||
uni.$emit('updateAvatar', {});
|
||
uni.switchTab({
|
||
url: '/pages/center/center'
|
||
})
|
||
},1000);
|
||
});
|
||
},
|
||
}
|
||
};
|
||
</script>
|
||
|
||
<style>
|
||
page{
|
||
background-color: #FFFFFF;
|
||
}
|
||
</style>
|
||
<style scoped lang="scss">
|
||
.wrap {
|
||
padding: 30rpx;
|
||
}
|
||
|
||
.slot-btn {
|
||
width: 690rpx;
|
||
height: 690rpx;
|
||
display: flex;
|
||
justify-content: center;
|
||
align-items: center;
|
||
background: rgb(244, 245, 246);
|
||
border-radius: 10rpx;
|
||
}
|
||
|
||
.slot-btn__hover {
|
||
background-color: rgb(235, 236, 238);
|
||
}
|
||
</style> |