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