<template>
|
<u-upload
|
ref="upload"
|
:action="action"
|
:max-size="5 * 1024 * 1024"
|
max-count="1"
|
:before-upload="beforeUpload"
|
@on-success="onSuccess"
|
:custom-btn="true"
|
:auto-upload="autoUpload"
|
:show-progress="false"
|
:form-data="formData"
|
:multiple="false"
|
:deletable="false"
|
name="img"
|
:show-upload-list="true">
|
<u-avatar slot="addBtn" :src="avatar" size="140"></u-avatar>
|
<!-- <view slot="addBtn" class="wrap">
|
<view class="u-avatar-wrap">
|
<image class="u-avatar-demo" v-if="avatar" :src="avatar" mode="aspectFill"></image>
|
</view>
|
<u-button @tap="chooseAvatar">选择图片</u-button>
|
</view> -->
|
</u-upload>
|
</template>
|
|
<script>
|
let _this = {}
|
export default {
|
name:"oss-upload",
|
data() {
|
return {
|
avatar: require('../../static/img/touxiang.jpg'),
|
formData:{},
|
action:'http://39.96.92.240:8099/user/updateImg',
|
userId:'',
|
autoUpload:true,
|
};
|
},
|
created() {
|
console.log("--------created")
|
_this = this
|
// uni.$on('uAvatarCropper', path => {
|
// _this.avatar = path;
|
// 可以在此上传到服务端
|
// uni.uploadFile({
|
// url: 'http://192.168.100.17/index.php/index/index/upload',
|
// filePath: path,
|
// name: 'file',
|
// complete: (res) => {
|
// console.log(res);
|
// }
|
// });
|
// })
|
},
|
mounted() {
|
let userInfo = this.getStore('userInfo')
|
this.avatar = userInfo.img
|
if(this.avatar == '') {
|
this.avatar = '../../static/img/touxiang.jpg'
|
}
|
_this.userId = userInfo.id
|
_this.formData.userId=userInfo.id
|
},
|
|
methods: {
|
/* 上传前的钩子 */
|
beforeUpload(index,list) {
|
|
|
},
|
onSuccess(data, index, lists, name) {
|
// this.$refs.upload.remove(0)
|
this.avatar = data.obj.img
|
userInfo.img = data.obj.img;
|
// this.setStore("userInfo",data.obj)
|
this.$u.toast('修改成功')
|
|
}
|
}
|
}
|
</script>
|
|
<style lang="scss" scoped>
|
.wrap {
|
padding: 24rpx;
|
}
|
|
.u-avatar-wrap {
|
overflow: hidden;
|
margin-bottom: 20rpx;
|
}
|
|
/deep/.u-avatar-demo,.u-avatar__img {
|
width: 150rpx;
|
height: 150rpx;
|
border-radius: 100rpx;
|
}
|
/deep/ .u-list-item{
|
width: 150rpx!important;
|
height: 150rpx!important;;
|
border-radius: 100rpx;
|
}
|
</style>
|