dengjie commit : 上传头像和收藏产品

This commit is contained in:
dengjie
2023-01-30 14:40:45 +08:00
parent 78c7cbf3ec
commit 66e1fdd8a8
5 changed files with 60 additions and 33 deletions

View File

@@ -1,6 +1,6 @@
<template>
<view>
<productsBtn :type="1" ref="browseHistory"></productsBtn>
<productsBtn :type="2" ref="browseHistory"></productsBtn>
<!-- <view style="margin:0 20rpx;">
<u-overlay :show="!isLoad">
<login @success="reOnLoad()" @fail="failToLoad()"></login>

View File

@@ -23,6 +23,9 @@
</template>
<script>
import {
apiService
} from '../../service/request'
import login from 'pages/my/login/login'
export default {
components: {
@@ -30,7 +33,7 @@
},
data() {
return {
avatar: 'https://cdn.uviewui.com/uview/album/2.jpg',
avatar: '',
model: {
userInfo: {
name: ''
@@ -40,6 +43,7 @@
}
},
onLoad() {
this.getUser()
if (!uni.getStorageSync('loginToken') || uni.getStorageSync('loginToken').length === 0) {
this.isLoad = false
// uni.navigateTo({
@@ -50,45 +54,66 @@
this.isLoad = true
},
methods: {
//修改头像
//获取头像昵称
getUser() {
this.$apiServe.getUser().then(res => {
console.log('头像昵称', res.data);
var data = res.data.data
this.avatar = data.avatar
this.model.userInfo.name = data.nickname
}).finally(_ => {})
},
updatePromise(filePath) {
return new Promise((resolve, reject) => {
const token = uni.getStorageSync('loginToken')
const a = uni.uploadFile({
url: apiService.uploadImgUrl + '/upload/image/',
filePath: filePath,
name: 'file',
header: {
"Content-Type": "multipart/form-data",
'Authorization': token
},
success: (res) => {
console.log('上传头像', JSON.parse(res.data));
// setTimeout(() => {
resolve(JSON.parse(res.data).data.uri)
// }, 1000)
}
});
})
},
//点击头像修改
changeAvatar() {
uni.chooseImage({ // 从本地相册选择图片或使用相机拍照。
count: 1, //默认选择1张图片
sizeType: ['original', 'compressed'], //original 原图compressed 压缩图,默认二者都有
success: (res) => {
console.log(res.tempFilePaths[0]); //成功则返回图片的本地文件路径列表 tempFilePaths
this.avatar = res.tempFilePaths[0] //更新本地浏览头像图片
// this.update(res.tempFilePaths[0]) //上传图片
}
});
},
update(filePath) {
const _this = this
const token = uni.getStorageSync('loginToken')
const res = uni.uploadFile({
url: _this.action, //仅为示例,非真实的接口地址
filePath: filePath,
name: 'file',
header: {
'Authorization': token
},
success: (res) => {
// console.log(JSON.parse(res.data).data) 处理格式
this.weChatRegister({
headimg: REQUEST_BASE_URL + '/' + JSON.parse(res.data).data
}) //将真实图片地址请求给后端做修改
// console.log(res.tempFilePaths[0]); //成功则返回图片的本地文件路径列表 tempFilePaths
// this.avatar = res.tempFilePaths[0] //更新本地浏览头像图片
if (res.tempFilePaths[0]) {
this.updatePromise(res.tempFilePaths[0]) //上传图片
}
const result = this.updatePromise(res.tempFilePaths[0])
result.then(value => {
this.avatar = value
})
}
});
},
//提交头像和昵称
handleSubmit() {
console.log('昵称', this.model.userInfo.name);
console.log('头像', this.avatar);
this.$apiServe.updateUser({
nickname: this.model.userInfo.name,
avatar: this.avatar
}).then(res => {
console.log('修改头像昵称==', res);
this.$toast.success(res.data.msg)
uni.reLaunch({
url: '/pages/my/my'
})
}).finally(_ => {})
},
reOnLoad() {

View File

@@ -1,6 +1,6 @@
<template>
<view>
<productsBtn :type="2"></productsBtn>
<productsBtn :type="1"></productsBtn>
<!-- <view style="margin:0 20rpx;">
<u-overlay :show="!isLoad">
<login @success="reOnLoad()" @fail="failToLoad()"></login>