From ccda9ec2fe70d8f51ef184eafc04b78d22dfbabd Mon Sep 17 00:00:00 2001 From: litian <C21AF165> Date: 星期三, 26 六月 2024 15:02:28 +0800 Subject: [PATCH] 小程序,教材,课程 --- packagePersonal/pages/userSetting/index.js | 121 ++++++++++++++++++++++++++++++++++------ 1 files changed, 103 insertions(+), 18 deletions(-) diff --git a/packagePersonal/pages/userSetting/index.js b/packagePersonal/pages/userSetting/index.js index 1fcc0ea..7329d10 100644 --- a/packagePersonal/pages/userSetting/index.js +++ b/packagePersonal/pages/userSetting/index.js @@ -10,7 +10,7 @@ data: { userInfo: {}, defaultAvatarUrl: 'https://cdn-we-retail.ym.tencent.com/miniapp/usercenter/icon-user-center-avatar@2x.png', - userInfoBox: false, + editType: '', userInfoForm: { icon: '', @@ -24,6 +24,9 @@ emailError: false, imgCode: '', countDown: 0, + mailCountDown: 0, + userInfoBox: false, + height: '', //灞忓箷楂樺害 }, /** @@ -46,7 +49,15 @@ * 鐢熷懡鍛ㄦ湡鍑芥暟--鐩戝惉椤甸潰鏄剧ず */ onShow() { - + var that = this; + // 鍔ㄦ�佽幏鍙栧睆骞曢珮搴� + wx.getSystemInfo({ + success: (result) => { + that.setData({ + height: result.windowHeight + }); + }, + }) }, // 鑾峰彇鐧诲綍鐢ㄦ埛韬唤 getUserInfo() { @@ -64,8 +75,8 @@ if (teacherRole && teacherInfos) { defaultUser = { ...teacherInfos, - nickName: nickNameData ? JSON.parse(nickNameData.data).nickName : teacherInfos.name, - icon: nickNameData ? JSON.parse(nickNameData.data).icon : WeChatInfo.icon, + 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', roleId: teacherRole.role.id, @@ -75,8 +86,8 @@ } else if (WeChatInfo) { defaultUser = { ...WeChatInfo, - nickName: nickNameData ? JSON.parse(nickNameData.data).nickName : WeChatInfo.name, - icon: JSON.parse(nickNameData.data).icon ? JSON.parse(nickNameData.data).icon : WeChatInfo.icon, + nickName: nickNameData && JSON.parse(nickNameData.data).nickName ? JSON.parse(nickNameData.data).nickName : WeChatInfo.name, + icon: nickNameData && JSON.parse(nickNameData.data).icon ? JSON.parse(nickNameData.data).icon : WeChatInfo.icon, userId: res.userId, phoneNumber: phoneInfo?.credential, Email: emailInfo?.credential @@ -107,7 +118,7 @@ editType: info, "userInfoForm.captcha": "", "userInfoForm.code": "", - "userInfoForm.nickName": '' + "userInfoForm.nickName": this.data.userInfo.nickName, }); } this.getImgCapcha() @@ -116,6 +127,7 @@ this.setData({ userInfoBox: e.detail.visible, countDown: 0, + mailCountDown: 0 }); }, editIconInfo(e) { @@ -207,11 +219,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, }); } }, @@ -220,11 +238,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, }); } }, @@ -251,6 +277,7 @@ }, getPhoneCode() { + if (this.data.countDown > 0) return false if (this.data.userInfoForm.phone && this.data.userInfoForm.captcha) { app.MG.identity .getPhoneCode({ @@ -287,14 +314,14 @@ getSecond(time) { let timer = null if (!timer) { - let countDown = time; this.setData({ countDown: time, }); + let conut = this.data.countDown; timer = setInterval(() => { - countDown-- + conut-- this.setData({ - countDown: countDown, + countDown: conut, }); if (this.data.countDow == 0) { clearInterval(timer) @@ -320,7 +347,7 @@ duration: 1000 }) // 寮�鍚煭淇¢獙璇佸�掕鏃� - this.getSecond(60) + this.getSecondEmail(60) } else { wx.showToast({ title: '閭楠岃瘉鐮佸彂閫佸け璐�', @@ -338,9 +365,35 @@ }) } }, + getSecondEmail(time) { + if (this.data.mailCountDown <= 0) { + this.setData({ + mailCountDown: time, + }); + + let timer = setInterval(() => { + let count = this.data.mailCountDown - 1; + this.setData({ + mailCountDown: count, + }); + + if (count === 0) { + clearInterval(timer); + } + }, 1000); + } + }, 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({ @@ -366,6 +419,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 @@ -397,6 +466,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 -- Gitblit v1.9.1