From ebc6e7ee67f13e7aa311e737dfcb4c5caed112ee Mon Sep 17 00:00:00 2001
From: liukangdong <898885815@qq.com>
Date: 星期四, 15 八月 2024 18:23:57 +0800
Subject: [PATCH] ll

---
 wechat_jiaxuan/pages/userinfo/index.js |  254 ++++++++++++++++++++++++++++++++++++++++++++++----
 1 files changed, 233 insertions(+), 21 deletions(-)

diff --git a/wechat_jiaxuan/pages/userinfo/index.js b/wechat_jiaxuan/pages/userinfo/index.js
index 2401160..18074ca 100644
--- a/wechat_jiaxuan/pages/userinfo/index.js
+++ b/wechat_jiaxuan/pages/userinfo/index.js
@@ -1,58 +1,270 @@
-// pages/userinfo/index.js
+import {
+  uploadUrl,
+  editMember,
+  getMemberInfo,
+  getWxMiniPhone
+} from '../../api/index'
 Page({
 
   /**
    * 椤甸潰鐨勫垵濮嬫暟鎹�
    */
   data: {
+    imgurl: "",
+    imgurlFull: "",
     name: "",
-    // 鍩庡競銆傚湴鍧�
-    region: [],
-    address: ''
-  },
-  onLoad(options) {
+    nickname: "",
+    phone: "",
+    address: '',
+    latitude: '',
+    longitude: '',
+    district: '',
+    housearea: '',
+    
+    addrValues: [],
+    addr: {},
+    areaData: [],
 
+    showHouseType: false,
+    houseType: {
+      val1: '',
+      val2: '',
+      val3: '',
+      val4: '',
+      val5: '',
+    }
+  },
+  onLoad() {
+    wx.getUserInfo({
+      success: function(res) {
+        console.log('res', res);
+        var userInfo = res.userInfo
+        var nickName = userInfo.nickName
+        var avatarUrl = userInfo.avatarUrl
+        var gender = userInfo.gender //鎬у埆 0锛氭湭鐭ャ��1锛氱敺銆�2锛氬コ
+        var province = userInfo.province
+        var city = userInfo.city
+        var country = userInfo.country
+      }
+    })
+    this.initData()
   },
   onSubmit() {
+    const {
+      imgurl,
+      name,
+      nickname,
+      phone,
+      address,
+      latitude,
+      longitude,
+      district,
+      housearea,
+      houseType,
+      addr
+    } = this.data
+    if (!nickname) return wx.showToast({
+      title: '璇疯緭鍏ユ樀绉�',
+      icon: 'none'
+    })
+    editMember({
+      ...addr,
+      name: name || '',
+      nickname: nickname || '',
+      phone: phone || '',
+      address: address || '',
+      latitude: latitude || '',
+      longitude: longitude || '',
+      district: district || '',
+      housearea: housearea || '',
+      imgurl: imgurl || null,
+      housetype: houseType.val1 + '-' + houseType.val2 + '-' + houseType.val3 + '-' + houseType.val4 + '-' + houseType.val5
+    }).then(res => {
+      wx.setStorageSync('member', res.data)
+      wx.showToast({
+        title: '淇濆瓨鎴愬姛',
+        icon: 'none'
+      })
+    })
+  },
+  initData() {
+    getMemberInfo().then(res => {
+      if(res.data.housetype){
+        const temp = res.data.housetype.split('-')
+        let houseType = {
+          val1: temp[0],
+          val2: temp[1],
+          val3: temp[2],
+          val4: temp[3],
+          val5: temp[4],
+        }
+        this.setData({houseType})
+      }
+      this.setData({
+        imgurlFull: res.data.imgurl ? res.data.prefix + res.data.imgurl : '',
+        imgurl: res.data.imgurl,
+        name: res.data.name || '',
+        nickname: res.data.nickname || '',
+        phone: res.data.phone || '',
+        address: res.data.address || '',
+        latitude: res.data.latitude || '',
+        longitude: res.data.longitude || '',
+        district: res.data.district || '',
+        housearea: res.data.housearea || '',
+        addrValues: [res.data.provinceCode, res.data.cityCode, res.data.areaCode],
+        addr: {
+          provinceCode: res.data.provinceCode,
+          provinceName: res.data.provinceName,
+          cityCode: res.data.cityCode,
+          cityName: res.data.cityName,
+          areaCode: res.data.areaCode,
+          areaName: res.data.areaName,
+        }
 
+      })
+    })
+  },
+  regionChange(e) {
+    console.log(e) 
+    if(e.detail.value &&e.detail.value.length ==3){
+      var tn = e.detail.label.split("-")
+      const addr = {
+        provinceCode: e.detail.value[0] ,
+        provinceName: tn[0],
+        cityCode:  e.detail.value[1] ,
+        cityName:  tn[1],
+        areaCode: e.detail.value[2] ,
+        areaName:  tn[2]
+      }
+      this.setData({ addr, showAreaList: false })
+      console.log('selectedOptions', addr);
+    } 
+  },
+  // positionChange (e) {
+  //   console.log(e.detail.value)
+  //   const names = e.detail.value
+  //   const codes = e.detail.code
+  //   let addr = {
+  //     provinceCode: codes[0] + '00',
+  //     provinceName: names[0],
+  //     cityCode: codes[1] + '00',
+  //     cityName: names[1],
+  //     areaCode: codes[2] + '00',
+  //     areaName: names[2],
+  //   }
+  //   this.setData({ addr })
+  //   console.log('addr', this.data.addr);
+  // },
+  getBindchooseavatar(e) {
+    console.log('e', e);
+    var that = this
+    if (e.detail.avatarUrl) {
+      wx.uploadFile({
+        url: uploadUrl,
+        filePath: e.detail.avatarUrl,
+        formData: {
+          folder: "member"
+        },
+        name: 'file',
+        success (res) {
+          let data = JSON.parse(res.data)
+          that.setData({
+            imgurl: data.data.imgaddr,
+            imgurlFull: data.data.url,
+          })
+          console.log('imgurlFull', this.data);
+        }
+      })
+    }
+  },
+  getPhoneNumber (e) {
+    const data = { ...e.detail }
+    getWxMiniPhone({
+      encryptedData: data.encryptedData,
+      iv: data.iv,
+      sessionKey: wx.getStorageSync('sessionKey') || data.iv,
+    }).then(res => {
+      this.setData({
+        phone: res.data
+      })
+    })
+  },
+  getNickName(e) {
+    this.setData({ nickname: e.detail.value })
   },
   changeAddr() {
-    console.log('鐐瑰嚮浜�');
+    // console.log('鐐瑰嚮浜�');
     wx.chooseLocation({
       type: 'wgs84',
       success: (res) => {
         console.log('res', res);
+        this.setData({
+          longitude: res.longitude,
+          latitude: res.latitude,
+          address: res.address,
+        })
+        console.log('address', this.data.address);
       }
     })
   },
-  bindRegionChange(e) {
-    console.log('picker鍙戦�侀�夋嫨鏀瑰彉锛屾惡甯﹀�间负', e.detail.value)
+  openHouse() {
     this.setData({
-      region: e.detail.value
+      showHouseType: true
+    })
+  },
+  onClose() {
+    this.setData({
+      showHouseType: false
+    })
+  },
+  houseBlur(e) {
+    const {
+      str
+    } = e.currentTarget.dataset
+    const {
+      value
+    } = e.detail
+    const houseType = {
+      ...this.data.houseType
+    }
+    houseType[str] = value
+    this.setData({
+      houseType
     })
   },
   selMedia() {
-    console.log('dianjile');
     wx.chooseMedia({
       count: 1,
       mediaType: ['image'],
       sourceType: ['album', 'camera'],
       maxDuration: 16,
       camera: 'back',
-      success(res) {
-        console.log(res.tempFiles[0].tempFilePath)
-        console.log(res.tempFiles[0].size)
+      success: (res) => {
+        // console.log(res.tempFiles[0].tempFilePath)
+        // console.log(res.tempFiles[0].size)
+        wx.uploadFile({
+          url: uploadUrl, //浠呬负绀轰緥锛岄潪鐪熷疄鐨勬帴鍙e湴鍧�
+          filePath: res.tempFiles[0].tempFilePath,
+          name: 'file',
+          formData: {
+            folder: 'member'
+          },
+          header: {
+            token: wx.getStorageSync('token')
+          },
+          success: (ress) => {
+            // console.log('ress', JSON.parse(ress.data));
+            let data = JSON.parse(ress.data)
+            this.setData({
+              imgurl: data.data.imgaddr,
+              imgurlFull: data.data.url,
+            })
+          }
+        })
       }
     })
   },
   onReady() {
-
-  },
-
-  /**
-   * 鐢熷懡鍛ㄦ湡鍑芥暟--鐩戝惉椤甸潰鏄剧ず
-   */
-  onShow() {
 
   },
 

--
Gitblit v1.9.3