Lou
2024-02-21 e22ee79a288b909df09739bf3eb0b3eb89888df0
subPackage/user/editUserInfo/editUserInfo.vue
@@ -3,25 +3,28 @@
      <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';
@@ -32,28 +35,42 @@
      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;
@@ -61,8 +78,8 @@
         this.info.id = user_id
         this.info.deptId = dept_id
      },
      methods:{
      methods: {
         //获取头部
         getHeader() {
            let accessToken = uni.getStorageSync('accessToken');
@@ -74,21 +91,21 @@
            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;
@@ -96,56 +113,61 @@
               }
            })
         },
         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;
      }
   }