From 9b95dadd2e9dc16c2f03468333d1a4df72740526 Mon Sep 17 00:00:00 2001
From: litian <C21AF165>
Date: 星期日, 07 四月 2024 15:11:12 +0800
Subject: [PATCH] 个人中心

---
 packagePersonal/pages/userSetting/index.js |  209 +++++++++++++++++++++++++++++++++++-----------------
 1 files changed, 140 insertions(+), 69 deletions(-)

diff --git a/packagePersonal/pages/userSetting/index.js b/packagePersonal/pages/userSetting/index.js
index eefb2a4..5a6bcc3 100644
--- a/packagePersonal/pages/userSetting/index.js
+++ b/packagePersonal/pages/userSetting/index.js
@@ -1,4 +1,5 @@
 const app = getApp()
+import SparkMD5 from 'spark-md5'
 import tool from "../../../assets/js/toolClass.js";
 import FormData from '../../../utils/formdata/index.js';
 Page({
@@ -63,7 +64,7 @@
         if (teacherRole && teacherInfos) {
           defaultUser = {
             ...teacherInfos,
-            nickName: nickNameData ? JSON.parse(nickNameData.data).nickName : teacherInfos.name,
+            nickName: nickNameData ? JSON.parse(nickNameData.data).nickName : WeChatInfo ? WeChatInfo.name : '',
             icon: nickNameData ? JSON.parse(nickNameData.data).icon : WeChatInfo ? WeChatInfo.icon : '',
             userId: res.userId,
             role: 'Teacher',
@@ -120,72 +121,78 @@
   editIconInfo(e) {
     var that = this;
     wx.chooseMedia({
-      // count: 1, // 榛樿9
+      count: 1, // 榛樿9
       sizeType: ['original', 'compressed'], // 鍙互鎸囧畾鏄師鍥捐繕鏄帇缂╁浘锛岄粯璁や簩鑰呴兘鏈�
       sourceType: ['album', 'camera'], // 鍙互鎸囧畾鏉ユ簮鏄浉鍐岃繕鏄浉鏈猴紝榛樿浜岃�呴兘鏈�
       success: function (res) {
-        // 杩斿洖閫夊畾鐓х墖鐨勬湰鍦版枃浠惰矾寰勫垪琛紝tempFilePath涔熷彲浠ヤ綔涓篿mg鏍囩鐨剆rc灞炴�ф樉绀哄浘鐗�
-        tool.getFileMd5(res.tempFiles[0]).then((e) => {
-          let formData = new FormData();
-          formData.append('Md5', e);
-          formData.append('FileName', e);
-          formData.append('FileType', res.tempFiles[0].fileType);
-          formData.appendFile("file", res.tempFiles[0].tempFilePath);
-          const data = formData.getData();
-          let _token = wx.getStorageSync(app.config.tokenKey);
-          let header = {};
-          if (_token == null) {
-            header["Authorization"] = `Basic ${Base64.encode(website.clientId + ":" + website.clientSecret)}`;
-          } else {
-            header["Authorization"] = `Bearer ` + _token;
-          }
-          new Promise((resolve, reject) => {
-            wx.request({
-              url: app.config.requestCtx + '/file/api/ApiUpload',
-              method: 'POST',
-              header: {
-                'content-type': data.contentType,
-                ...header
-              },
-              data: data.buffer,
-              success(res) {
-                if (res.statusCode == 200) {
-                  resolve(res.data);
-                  if (res.data) {
-                    that.setData({
-                      'userInfoForm.icon': app.config.requestCtx + `/file/GetPreViewImage?md5=` + e,
-                    });
-                    let userTypeInfo = {
-                      "requests": [{
-                        data: JSON.stringify({
-                          nickName: that.data.userInfo.nickName,
-                          icon: that.data.userInfoForm.icon
-                        }),
-                        name: '鐢ㄦ埛鏄电О澶村儚',
-                        type: 'nickName'
-                      }]
-                    }
-                    app.MG.identity.setAppUserInfo(userTypeInfo).then((res) => {
-                      if (res) {
-                        wx.showToast({
-                          title: "淇敼鎴愬姛",
-                          icon: 'success',
-                          duration: 1000,
-                        })
-                        this.getUserInfo()
-                        this.setData({
-                          userInfoBox: false,
-                        });
+        wx.getFileSystemManager().readFile({
+          filePath: res.tempFiles[0].tempFilePath, //閫夋嫨鍥剧墖杩斿洖鐨勭浉瀵硅矾寰�
+          // encoding: 'binary', //缂栫爜鏍煎紡
+          success: ress => {
+            //鎴愬姛鐨勫洖璋�
+            let spark = new SparkMD5.ArrayBuffer();
+            spark.append(ress.data);
+            let md5 = spark.end(false);
+            let formData = new FormData();
+            formData.append('Md5', md5);
+            formData.append('FileName', md5);
+            formData.append('FileType', res.tempFiles[0].fileType);
+            formData.appendFile("file", res.tempFiles[0].tempFilePath);
+            const data = formData.getData();
+            let _token = wx.getStorageSync(app.config.tokenKey);
+            let header = {};
+            if (_token == null) {
+              header["Authorization"] = `Basic ${Base64.encode(website.clientId + ":" + website.clientSecret)}`;
+            } else {
+              header["Authorization"] = `Bearer ` + _token;
+            }
+            new Promise((resolve, reject) => {
+              wx.request({
+                url: app.config.requestCtx + '/file/api/ApiUpload',
+                method: 'POST',
+                header: {
+                  'content-type': data.contentType,
+                  ...header
+                },
+                data: data.buffer,
+                success(res) {
+                  if (res.statusCode == 200) {
+                    resolve(res.data);
+                    if (res.data) {
+                      that.setData({
+                        'userInfoForm.icon': app.config.requestCtx + `/file/GetPreViewImage?md5=` + md5,
+                      });
+                      let userTypeInfo = {
+                        "requests": [{
+                          data: JSON.stringify({
+                            nickName: that.data.userInfo.nickName,
+                            icon: that.data.userInfoForm.icon
+                          }),
+                          name: '鐢ㄦ埛鏄电О澶村儚',
+                          type: 'nickName'
+                        }]
                       }
-                    })
+                      app.MG.identity.setAppUserInfo(userTypeInfo).then((res) => {
+                        if (res) {
+                          wx.showToast({
+                            title: "淇敼鎴愬姛",
+                            icon: 'success',
+                            duration: 1000,
+                          })
+                          that.getUserInfo()
+                          that.setData({
+                            userInfoBox: false,
+                          });
+                        }
+                      })
+                    }
+                  } else {
+                    reject('杩愯鏃堕敊璇�,璇风◢鍚庡啀璇�');
                   }
-                } else {
-                  reject('杩愯鏃堕敊璇�,璇风◢鍚庡啀璇�');
                 }
-              }
+              })
             })
-          })
-
+          }
         })
       }
     });
@@ -200,11 +207,17 @@
     const {
       phoneError
     } = this.data;
-    const isPhoneNumber = /^(13[0-9]|14[01456879]|15[0-35-9]|16[2567]|17[0-8]|18[0-9]|19[0-35-9])\d{8}$/.test(e.detail.value);
-    if (phoneError === isPhoneNumber) {
+    if (e.detail.value) {
+      const isPhoneNumber = /^(13[0-9]|14[01456879]|15[0-35-9]|16[2567]|17[0-8]|18[0-9]|19[0-35-9])\d{8}$/.test(e.detail.value);
+      if (phoneError === isPhoneNumber) {
+        this.setData({
+          phoneError: !isPhoneNumber,
+          "userInfoForm.phone": e.detail.value,
+        });
+      }
+    } else {
       this.setData({
-        phoneError: !isPhoneNumber,
-        "userInfoForm.phone": e.detail.value,
+        phoneError: false,
       });
     }
   },
@@ -213,11 +226,19 @@
     const {
       emailError
     } = this.data;
-    const isPhoneNumber = /^[a-zA-Z0-9_.-]+@[a-zA-Z0-9-]+(\.[a-zA-Z0-9-]+)*\.[a-zA-Z0-9]{2,6}$/.test(e.detail.value);
-    if (emailError === isPhoneNumber) {
+    if (e.detail.value) {
+      const isPhoneNumber = /^[a-zA-Z0-9_.-]+@[a-zA-Z0-9-]+(\.[a-zA-Z0-9-]+)*\.[a-zA-Z0-9]{2,6}$/.test(e.detail.value);
+      if (emailError === isPhoneNumber) {
+        this.setData({
+          emailError: !isPhoneNumber,
+        });
+      }
       this.setData({
-        emailError: !isPhoneNumber,
         "userInfoForm.email": e.detail.value,
+      });
+    } else {
+      this.setData({
+        emailError: false,
       });
     }
   },
@@ -312,8 +333,6 @@
               icon: 'none',
               duration: 1000
             })
-            // 寮�鍚煭淇¢獙璇佸�掕鏃�
-            this.getSecond(60)
           } else {
             wx.showToast({
               title: '閭楠岃瘉鐮佸彂閫佸け璐�',
@@ -334,6 +353,14 @@
 
   confirmInfo() {
     if (this.data.editType == 'nickName') {
+      if (!this.data.userInfoForm.nickName) {
+        wx.showToast({
+          title: '璇疯緭鍏ユ樀绉�',
+          icon: 'none',
+          duration: 1000
+        })
+        return false;
+      }
       let userTypeInfo = {
         "requests": [{
           data: JSON.stringify({
@@ -359,6 +386,22 @@
       })
 
     } else if (this.data.editType == 'phone') {
+      if (!this.data.userInfoForm.phone) {
+        wx.showToast({
+          title: '璇疯緭鍏ユ墜鏈哄彿',
+          icon: 'none',
+          duration: 1000
+        })
+        return false;
+      }
+      if (!this.data.userInfoForm.code) {
+        wx.showToast({
+          title: '璇疯緭鍏ラ獙璇佺爜',
+          icon: 'none',
+          duration: 1000
+        })
+        return false;
+      }
       let query = {
         phoneNumber: this.data.userInfoForm.phone,
         phoneCaptcha: this.data.userInfoForm.code
@@ -370,12 +413,18 @@
             icon: 'none',
             duration: 1000
           })
+          this.setData({
+            countDown: 0,
+          });
         } else if (res == '姝ゆ墜鏈哄彿鐮佸凡琚叾瀹冭处鍙风粦瀹�') {
           wx.showToast({
             title: res + ',璇锋洿鎹㈠叾浠栨墜鏈哄彿銆�',
             icon: 'none',
             duration: 1000
           })
+          this.setData({
+            countDown: 0,
+          });
         } else {
           wx.showToast({
             title: res,
@@ -390,6 +439,22 @@
         }
       })
     } else if (this.data.editType == 'email') {
+      if (!this.data.userInfoForm.email) {
+        wx.showToast({
+          title: '璇疯緭鍏ラ偖绠�',
+          icon: 'none',
+          duration: 1000
+        })
+        return false;
+      }
+      if (!this.data.userInfoForm.code) {
+        wx.showToast({
+          title: '璇疯緭鍏ラ獙璇佺爜',
+          icon: 'none',
+          duration: 1000
+        })
+        return false;
+      }
       let query = {
         eMail: this.data.userInfoForm.email,
         captcha: this.data.userInfoForm.code
@@ -430,6 +495,12 @@
     }
 
   },
+
+  onCloseProtocol() {
+    this.setData({
+      userInfoBox: false,
+    });
+  },
   /**
    * 椤甸潰鐩稿叧浜嬩欢澶勭悊鍑芥暟--鐩戝惉鐢ㄦ埛涓嬫媺鍔ㄤ綔
    */

--
Gitblit v1.9.1