| | |
| | | <script setup> |
| | | import { onMounted, ref } from 'vue' |
| | | import { BASE_URL } from '../../config/baseUrl'; |
| | | import { editUserInfoApi,getUserInfo } from '../../api/index.js' |
| | | const isEdit = ref(false) |
| | | const editForm = ref({id:'',userName:'',userPhone:''}) |
| | | const userInfo = ref(JSON.parse(uni.getStorageSync('userInfo'))) |
| | | //修改用户头像 |
| | | function changeImg(){ |
| | | uni.chooseImage({ |
| | | success: async(res) =>{ |
| | | //建立表单,请求参数传表单形式 |
| | | let fileForm = { |
| | | file1:res.tempFiles, |
| | | path:'qingyuan' |
| | | } |
| | | uni.uploadFile({ |
| | | url:BASE_URL+ '/file/upload', |
| | | filePath:res.tempFilePaths[0], |
| | | name: 'file', |
| | | formData:fileForm, |
| | | success: async(success) => { |
| | | console.log('success',success); |
| | | let dataObj = JSON.parse(success.data) |
| | | let headImgStatic = BASE_URL + '/upload' + dataObj.data.newFileName |
| | | await editUserInfoApi({id:userInfo.value.id,headImg:headImgStatic}).then(async(res) =>{ |
| | | if(res.code == 200){ |
| | | uni.showToast({ |
| | | title: '修改成功!', |
| | | duration: 1000, |
| | | }); |
| | | await getUserInfo().then((res) =>{ |
| | | userInfo.value.headImg = res.data.userInfo.headImg |
| | | uni.setStorageSync('userInfo',JSON.stringify(userInfo.value)) |
| | | }) |
| | | }else{ |
| | | uni.showToast({ |
| | | title: '网络错误!请重试', |
| | | duration: 1000, |
| | | icon:'none' |
| | | }); |
| | | } |
| | | }) |
| | | }, |
| | | fail: (err) => { |
| | | uni.showToast({ |
| | | title: '上传失败,请重试', |
| | | duration: 2000, |
| | | icon:'none' |
| | | }); |
| | | console.log('err',err,res.tempFilePaths[0]) |
| | | } |
| | | }); |
| | | } |
| | | }); |
| | | } |
| | | //修改用户信息 |
| | | function edit(){ |
| | | editForm.value.id = userInfo.value.id |
| | | editForm.value.userName = userInfo.value.userName |
| | |
| | | <view class="info-up"> |
| | | <view class="info-img"> |
| | | <text>头像</text> |
| | | <image src='../../static/images/index/head.png' alt=''></image> |
| | | <view class="img-box" @click="changeImg"> |
| | | <image v-if="userInfo.headImg" :src='userInfo.headImg' alt=''></image> |
| | | <image v-else src='../../static/images/index/head.png' alt=''></image> |
| | | <image src='../../static/images/other/more.png' alt=''></image> |
| | | </view> |
| | | </view> |
| | | <view class="info-name"> |
| | | <text>用户名称</text> |
| | |
| | | display: flex; |
| | | justify-content:space-between; |
| | | align-items:center; |
| | | image{ |
| | | width:100rpx; |
| | | height:100rpx; |
| | | border-radius: 50rpx; |
| | | .img-box{ |
| | | display: flex; |
| | | align-items: center; |
| | | image:first-child{ |
| | | width:100rpx; |
| | | height:100rpx; |
| | | border-radius: 50rpx; |
| | | margin-right:10rpx; |
| | | } |
| | | image:last-child{ |
| | | width:30rpx; |
| | | height:36rpx; |
| | | border-radius: 50rpx; |
| | | } |
| | | } |
| | | } |
| | | .info-name{ |