| | |
| | | <view class="bgc-ff"> |
| | | <view class="form-item flex j-c-s-b a-i-c"> |
| | | <text class="f-30">头像</text> |
| | | <button class="avatar-wrapper" open-type="chooseAvatar" @chooseavatar="chooseAvatar" > |
| | | <u-avatar :src="avatar" size="50"></u-avatar> |
| | | <button class="avatar-wrapper" open-type="chooseAvatar" @chooseavatar="chooseAvatar"> |
| | | <u-avatar :src="avatar" size="50"></u-avatar> |
| | | </button> |
| | | </view> |
| | | <view class="form-item flex j-c-s-b a-i-c"> |
| | | <text class="f-30">昵称</text> |
| | | <view class="nickname"> |
| | | <input class="nickname-value" type="nickname" placeholder="请输入昵称" v-model="info.realName" @blur="getInputValue" /> |
| | | <input class="nickname-value" type="nickname" placeholder="请输入昵称" v-model="info.realName" |
| | | @blur="getInputValue" /> |
| | | </view> |
| | | |
| | | |
| | | </view> |
| | | </view> |
| | | <footer-btn text="确定" @click="submitInfo" /> |
| | | <footer-btn text="确定" @click="submitInfo" /> |
| | | <zmm-watermark :watermark="watermark"></zmm-watermark> |
| | | </view> |
| | | </template> |
| | | |
| | | <script> |
| | | |
| | | import { updateUserInfo } from "@/api/user.js" |
| | | import { |
| | | updateUserInfo |
| | | } from "@/api/user.js" |
| | | import { |
| | | Base64 |
| | | } from '@/utils/base64.js'; |
| | |
| | | minioBaseUrl |
| | | } from '@/common/setting' |
| | | export default { |
| | | data(){ |
| | | return{ |
| | | avatar:"", |
| | | info:{ |
| | | avatar:"", |
| | | realName:"", |
| | | id:"", |
| | | deptId:"" |
| | | data() { |
| | | return { |
| | | avatar: "", |
| | | info: { |
| | | avatar: "", |
| | | realName: "", |
| | | id: "", |
| | | deptId: "" |
| | | }, |
| | | header: {}, |
| | | uploadConfig: { |
| | | url: prodUrl + "/blade-resource/oss/endpoint/put-file", |
| | | header: {}, |
| | | }, |
| | | watermark: "" |
| | | } |
| | | }, |
| | | onLoad() { |
| | | let { |
| | | nick_name, |
| | | phone |
| | | } = uni.getStorageSync("userInfo"); |
| | | // this.watermark = `${nick_name} ${phone}` |
| | | this.watermark = `<h5>${nick_name}</h5><br><p style="font-size:11px;">${phone}</p>` |
| | | |
| | | |
| | | this.getHeader() |
| | | let { avatar,real_name,user_id,dept_id } = uni.getStorageSync("userInfo"); |
| | | if(avatar){ |
| | | let { |
| | | avatar, |
| | | real_name, |
| | | user_id, |
| | | dept_id |
| | | } = uni.getStorageSync("userInfo"); |
| | | if (avatar) { |
| | | this.avatar = `${minioBaseUrl}${avatar}` |
| | | }else { |
| | | } else { |
| | | this.avatar = avatar; |
| | | } |
| | | this.info.avatar = avatar; |
| | |
| | | this.info.id = user_id |
| | | this.info.deptId = dept_id |
| | | }, |
| | | methods:{ |
| | | |
| | | methods: { |
| | | |
| | | //获取头部 |
| | | getHeader() { |
| | | let accessToken = uni.getStorageSync('accessToken'); |
| | |
| | | myHeader['Authorization'] = 'Basic ' + Base64.encode(clientId + ':' + clientSecret); |
| | | this.uploadConfig.header = myHeader |
| | | }, |
| | | |
| | | chooseAvatar(e){ |
| | | |
| | | chooseAvatar(e) { |
| | | let { |
| | | avatarUrl |
| | | } = e.detail |
| | | this.uploadAvatar(avatarUrl) |
| | | }, |
| | | |
| | | uploadAvatar(url){ |
| | | |
| | | uploadAvatar(url) { |
| | | uni.uploadFile({ |
| | | url:this.uploadConfig.url, |
| | | url: this.uploadConfig.url, |
| | | filePath: url, |
| | | name: 'file', |
| | | header: this.uploadConfig.header, |
| | | success:(res)=> { |
| | | success: (res) => { |
| | | let data = JSON.parse(res.data); |
| | | console.log(data.data); |
| | | this.info.avatar = data.data.name; |
| | |
| | | } |
| | | }) |
| | | }, |
| | | |
| | | getInputValue(e){ |
| | | |
| | | getInputValue(e) { |
| | | console.log(e); |
| | | this.info.realName = e.detail.value; |
| | | }, |
| | | |
| | | |
| | | submitInfo(){ |
| | | updateUserInfo(this.info).then(res=>{ |
| | | if(res.code == 200){ |
| | | |
| | | |
| | | submitInfo() { |
| | | updateUserInfo(this.info).then(res => { |
| | | if (res.code == 200) { |
| | | uni.showToast({ |
| | | title:res.msg |
| | | title: res.msg |
| | | }) |
| | | setTimeout(()=>{ |
| | | let userInfo = uni.getStorageSync("userInfo"); |
| | | userInfo.avatar = this.info.avatar; |
| | | userInfo.real_name = this.info.realName; |
| | | this.$u.vuex('userInfo',userInfo); |
| | | setTimeout(() => { |
| | | let userInfo = uni.getStorageSync("userInfo"); |
| | | userInfo.avatar = this.info.avatar; |
| | | userInfo.real_name = this.info.realName; |
| | | this.$u.vuex('userInfo', userInfo); |
| | | uni.navigateBack() |
| | | },300) |
| | | }, 300) |
| | | } |
| | | }) |
| | | } |
| | | |
| | | |
| | | } |
| | | } |
| | | </script> |
| | | |
| | | <style lang="scss"> |
| | | page{ |
| | | background-color:#f5f5f5; |
| | | page { |
| | | background-color: #f5f5f5; |
| | | } |
| | | .form-item{ |
| | | padding:30rpx; |
| | | border-bottom:1px solid #f5f5f5; |
| | | |
| | | .form-item { |
| | | padding: 30rpx; |
| | | border-bottom: 1px solid #f5f5f5; |
| | | } |
| | | .avatar-wrapper{ |
| | | border:none; |
| | | |
| | | .avatar-wrapper { |
| | | border: none; |
| | | background: transparent; |
| | | margin:0; |
| | | padding:0; |
| | | margin: 0; |
| | | padding: 0; |
| | | } |
| | | .avatar-wrapper::after{ |
| | | border:none; |
| | | margin:0; |
| | | |
| | | .avatar-wrapper::after { |
| | | border: none; |
| | | margin: 0; |
| | | } |
| | | .nickname{ |
| | | width:80%; |
| | | .nickname-value{ |
| | | width:100%; |
| | | |
| | | .nickname { |
| | | width: 80%; |
| | | |
| | | .nickname-value { |
| | | width: 100%; |
| | | text-align: right; |
| | | } |
| | | } |