From d09a9a3a0e7518b4796bfa0f2e55c902f2edfb19 Mon Sep 17 00:00:00 2001 From: yangzhe Date: Wed, 9 Jul 2025 15:37:12 +0800 Subject: [PATCH 1/2] =?UTF-8?q?feat:=20=E8=BF=98=E5=8E=9F=E4=B8=AA?= =?UTF-8?q?=E4=BA=BA=E4=BF=A1=E6=81=AF=E9=A1=B5=E9=9D=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- common/http.api.js | 6 +- pages.json | 8 + pages/home/userInfo/index.vue | 330 ++++++++++++++++++ pages/login/login/index.vue | 298 ++++++++++++++-- static/common/images/icon_password.png | Bin 0 -> 3370 bytes static/common/images/icon_phoneNumber.png | Bin 0 -> 3186 bytes .../common/images/icon_verificationCode.png | Bin 0 -> 3813 bytes static/common/images/images_bg_dialog.png | Bin 0 -> 32097 bytes 8 files changed, 618 insertions(+), 24 deletions(-) create mode 100644 pages/home/userInfo/index.vue create mode 100644 static/common/images/icon_password.png create mode 100644 static/common/images/icon_phoneNumber.png create mode 100644 static/common/images/icon_verificationCode.png create mode 100644 static/common/images/images_bg_dialog.png diff --git a/common/http.api.js b/common/http.api.js index 24fd3bf..49c2af6 100644 --- a/common/http.api.js +++ b/common/http.api.js @@ -93,6 +93,9 @@ const install = (Vue, vm) => { // 发送消息 let SendMessageApi = (params = {}) => vm.$u.post('api/ChatAI/CreateChat', params); + // 获取图形验证码 + let GetCaptcha = (params = {}) => vm.$u.get('api/Login/GetCaptcha', params); + // 将各个定义的接口名称,统一放进对象挂载到vm.$u.api(因为vm就是this,也即this.$u.api)下 vm.$u.api = { LoginApp, @@ -132,7 +135,8 @@ const install = (Vue, vm) => { getVerifyInfo, getInfoByCard, updateCard, - SendMessageApi + SendMessageApi, + GetCaptcha }; } diff --git a/pages.json b/pages.json index f210c44..4ae8a6e 100644 --- a/pages.json +++ b/pages.json @@ -66,6 +66,14 @@ "navigationStyle": "custom" } }, + { + "path": "pages/home/userInfo/index", + "style": { + "navigationBarTitleText": "个人信息", + "enablePullDownRefresh": false, + "navigationStyle": "custom" + } + }, { "path": "pages/login/login/login", "style": { diff --git a/pages/home/userInfo/index.vue b/pages/home/userInfo/index.vue new file mode 100644 index 0000000..5e29740 --- /dev/null +++ b/pages/home/userInfo/index.vue @@ -0,0 +1,330 @@ + + + + + diff --git a/pages/login/login/index.vue b/pages/login/login/index.vue index b2ce040..28edfca 100644 --- a/pages/login/login/index.vue +++ b/pages/login/login/index.vue @@ -37,40 +37,98 @@ - 手机号 + + 手机号 + {{ errors.phone }} - 密码 + 密码 + {{ + errors.password + }} - 验证码 + + + 图形验证码 + + + + + + + {{ + errors.captcha + }} + + + + + + 验证码 - 获取验证码 + {{ codeText }} + {{ errors.code }} @@ -85,22 +143,196 @@ export default { data() { return { - isTeacher: true, // 是否是教师 + isTeacher: false, // 是否是教师 phone: "", password: "", code: "", + captcha: "", // 图形验证码 + captchaId: "", // 图形验证码ID + captchaUrl: "", // 图形验证码URL,实际使用时需替换 loginType: "code", // 默认验证码登录,与图片一致 + codeText: "获取验证码", + countdown: 60, + timer: null, + errors: { + phone: "", + password: "", + code: "", + captcha: "", + }, }; }, + mounted() { + this.refreshCaptcha(); + }, + beforeDestroy() { + if (this.timer) { + clearInterval(this.timer); + } + }, methods: { switchLoginType(type) { this.loginType = type; + this.clearErrors(); }, + + // 刷新图形验证码 + refreshCaptcha() { + // 获取图形验证码 + this.$u.api.GetCaptcha().then((res) => { + console.log("获取图形验证码...", res); + this.captchaId = res.captchaId; + this.captchaUrl = "data:image/png;base64," + res.imageBase64; + }); + }, + + // 获取短信验证码 getCode() { - // 获取验证码 + if (!this.validatePhone()) { + return; + } + + if (this.loginType === "code" && !this.validateCaptcha()) { + return; + } + + if (this.codeText !== "获取验证码") { + return; + } + + // 模拟发送验证码 + this.startCountdown(); + + // 实际应用中应该调用API发送验证码 + uni.showToast({ + title: "验证码已发送", + icon: "success", + }); }, + + // 开始倒计时 + startCountdown() { + this.countdown = 60; + this.codeText = `${this.countdown}秒后重新获取`; + this.timer = setInterval(() => { + this.countdown--; + this.codeText = `${this.countdown}秒后重新获取`; + if (this.countdown <= 0) { + clearInterval(this.timer); + this.codeText = "获取验证码"; + } + }, 1000); + }, + + // 校验手机号 + validatePhone() { + if (!this.phone) { + this.errors.phone = "请输入手机号"; + return false; + } + + if (!/^1[3-9]\d{9}$/.test(this.phone)) { + this.errors.phone = "手机号格式不正确"; + return false; + } + + this.errors.phone = ""; + return true; + }, + + // 校验密码 + validatePassword() { + if (!this.password) { + this.errors.password = "请输入密码"; + return false; + } + + // if (this.password.length < 6) { + // this.errors.password = "密码不能少于6位"; + // return false; + // } + + this.errors.password = ""; + return true; + }, + + // 校验图形验证码 + validateCaptcha() { + if (!this.captcha) { + this.errors.captcha = "请输入图形验证码"; + return false; + } + + // if (this.captcha.length < 4) { + // this.errors.captcha = "图形验证码错误请重新输入"; + // return false; + // } + + // 实际应用中应该验证图形验证码是否正确 + this.errors.captcha = ""; + return true; + }, + + // 校验短信验证码 + validateCode() { + if (!this.code) { + this.errors.code = "请输入验证码"; + return false; + } + + if (this.code.length < 4) { + this.errors.code = "验证码错误请重新输入"; + return false; + } + + this.errors.code = ""; + return true; + }, + + // 清除所有错误提示 + clearErrors() { + this.errors = { + phone: "", + password: "", + code: "", + captcha: "", + }; + }, + + // 登录 login() { - // 登录 + let isValid = true; + + // 校验手机号 + if (!this.validatePhone()) { + isValid = false; + } + + // 根据登录类型校验其他字段 + if (this.loginType === "psd") { + if (!this.validatePassword()) { + isValid = false; + } + } else { + if (!this.validateCaptcha()) { + isValid = false; + } + + if (!this.validateCode()) { + isValid = false; + } + } + + if (!isValid) { + return; + } + + // 校验通过,执行登录 + uni.showLoading({ + title: "登录中...", + }); + + }, }, }; @@ -116,7 +348,7 @@ export default { flex-direction: column; box-sizing: border-box; - background-image: url(/static//common/images/images_bg.png); + background-image: url(/static/common/images/images_bg.png); background-repeat: no-repeat; background-size: 100% 100%; background-position: 50%; @@ -130,7 +362,7 @@ export default { .logo-container { display: flex; align-items: center; - margin-bottom: 20rpx; + margin-bottom: 32rpx; .logo-icon { width: 48rpx; @@ -217,23 +449,18 @@ export default { .form-label { display: block; position: relative; - padding-left: 30rpx; + // padding-left: 30rpx; font-family: PingFang SC; font-size: 28rpx; color: #333333; margin-bottom: 16rpx; + } - &::before { - content: ""; - position: absolute; - left: 0; - top: 50%; - transform: translateY(-50%); - width: 20rpx; - height: 20rpx; - border: 2rpx solid #4370fe; - border-radius: 4rpx; - } + .image_icon { + width: 28rpx; + height: 28rpx; + vertical-align: text-top; + margin-right: 16rpx; } &:nth-child(2) { @@ -264,13 +491,38 @@ export default { right: 0; top: 50%; transform: translateY(-50%); + width: 220rpx; height: 60rpx; line-height: 60rpx; - padding: 0 30rpx; + padding-left: 30rpx; color: #4370fe; font-size: 28rpx; - border-left: 1px solid #557bf9; + border-left: 1px solid #b7c1ff; } + + .captcha-img { + position: absolute; + right: 0; + top: 50%; + transform: translateY(-50%); + height: 60rpx; + width: 220rpx; + padding-left: 30rpx; + border-left: 1px solid #b7c1ff; + + image { + width: 80%; + height: 100%; + } + } + } + + .error-tip { + display: block; + font-size: 24rpx; + color: #FF6481; + margin-top: 10rpx; + padding-left: 10rpx; } } } diff --git a/static/common/images/icon_password.png b/static/common/images/icon_password.png new file mode 100644 index 0000000000000000000000000000000000000000..ab913f3819aa659102fc998e9305431bf96e471a GIT binary patch literal 3370 zcmcIndvp_38c%sYtW;5u3OWuJTIpn7dCf=)v?;boYE8=$tRA?TxoHNHnc10XlVF8K zMcVp6RE`2w@dW~&wyyqBA7{H_EmB;0tt-1I9z6?3_ACoZu^vJ3PLhV=wt^4lOp=*< zfA{--_q)IEyEhHxWw&IG${uC0STajXJU;Y$Bl_fw7>2%Yy7N{y`WdN~EYK~M(PPa| zhGl)zH5SXLda2TH_`P#^L5Wy_s05%j7Euw}VwpZ8rUGFJG_U}ymSi`6{H=BzlSDT@ z-|nTnY7q=cB}+9}v9zpGSh_^uM0`d8Ha*580}*HdEEWmNIv;c63A;RcHk(NtOF)bz zZhV&M5c7M>u_8r-n8QjD0!1;Hle5we8|$F*F@|C&l43}jB`BJwoIJx|sS8KmG%?8g zJhM~2(3=|%8HUP}WHcJJMp>((Rg*Nwai$H1ArOMlDBDKchS z1OcVSaN~$+ataYOZC2J(VL|~TV?ZToD`ie80ThKaPOZ_x3Fo3f!Z3_L+0YS|PGeD& zyxugtU$c=&8m$|}wTMw_ZvCS5%D4(iAJml^O@PI<$m8T*V!Gjj=R$K4!x20^SPdzL zqKA|Lf{^Y$FBFCp9KfO3a~>4NqyeC2Pa3N7MH&Q#qE#wNxK}&nz1%Pc1sBVmFUg`3 z)$`1Wrv^X|FrXVpLb4N-6RD_@W_Xt7?aVaF#Zy!g>P6BNfdPI3<|=8LM>p#_53Gn% zFn&R(DDXi=ivYB6QUp{(QkAO{-n?GERMrh33$WDV#t~JkB#FFWr$xX9X+jX~4uTPE zED>;V0%7MEmy33>E=owUMdLk+P-BY99G}cDQ4x@h^lI>2fTKBq4iX~8*$EqKa}u0G zbfFly!~n}OF2LG)+1#c{D8)gzuT_(kh%8c~K(Wxl5~9OtBVf>GCjg*0g0clgN?;j^ zwlg?(&To+tRy407qL{ON+e?dz$~7e@g;9s@yQL5-EiQ7O*3m)-6a{^`} zy7Asdzp3ePO|sF+Q0O9Q^E)+Y!3Fxyb1qqk@Zz zchYP$1W}-VM%qc3t^|!J(BQ0U6x|D^4ml8c9n}6jbvEFj7zf7@_8_E)0BaMFfL$!X z*hQC!G}@25rzDG>~)YFH8ynMKyhVrmmh zXDwzZ*tr@tV9-RUNqscX*GrlL_B;B!pyDpBWcI7LOSwp-d5TDu0rIC6BKht~Msl{f zHi_Mt@2?hItOn6`&7=CC-VuIT?N0hve(N4!swOeqC>pJGN`1~Gpo|S^4I}yecA03cYL*){`vD?DJrS^?ePqws-m>in+$fCKM z>avb>E^+>=HB-6ijrd(dBd157J!1?zvSrV-o)cW&!b!W1RF3|#?Zo@3y=NxDlzpi#tTW)vPTK_-lPZkgQ=((JoO2^YppS>;& zzOLhp@0Hw9p^RYhXAf*U{E4gZ*qpDc8V4;dJF|`fbKZP->fV;DDV+-k|E;X<(6;}S zMFsw{#~Ur#llIqwne(@P+;IIJL&~>oXz$6`6qxtt%fBCc>YJlaHB7i>{K>(s&0}^y zwdUKy+rNm9U)VKtedBAPt|!L4^HPE3C4SugF$Y#v#AiOfa^2rgJUQmW{kgAqcB{%v zV&n(+fKTI9Sc!XF;O_3>>Z}n}KUlIKTDy0~J9yo+tW7Uo`PY%)&gS>_`XIk+N?=j9 zbL)@_U)2}OtMV&0u4p*^GJe^aFIRkiwrbVlnenX|hqnxSVsm!+Gw9{JmK6m#%j(uX zdo%u3d-2tIdv1OE!DSDtkCtbC1a5n5dD9;@W!$kj>xTbbUASviTSL##?cMLzwLcO% z)YWnHpIP5*%=*L$Ui`~3rfc4C$IfuUYxli5X_q>pW$TcAc})|D&QoC+J-G4m|E~Vn m|J>%rea_G8TXvlIcIvhvLTf=?V5j+SrnI=s(_Fad-X8&j%Zobz literal 0 HcmV?d00001 diff --git a/static/common/images/icon_phoneNumber.png b/static/common/images/icon_phoneNumber.png new file mode 100644 index 0000000000000000000000000000000000000000..b55bcd04077df7e1fa85ee99cf0054ebe22268fa GIT binary patch literal 3186 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 a1sDK2rvvp8a3m=J0000 Date: Wed, 9 Jul 2025 15:39:37 +0800 Subject: [PATCH 2/2] =?UTF-8?q?fix:=20=E4=BF=AE=E6=94=B9=E5=93=8D=E5=BA=94?= =?UTF-8?q?=E6=8B=A6=E6=88=AA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- common/http.interceptor.js | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/common/http.interceptor.js b/common/http.interceptor.js index 7c5c0eb..47f1e11 100644 --- a/common/http.interceptor.js +++ b/common/http.interceptor.js @@ -54,7 +54,9 @@ const install = (Vue, vm) => { // uni.navigateTo({ // url: "/pages/login/login/login", // }); - return false; + return res; + // return false; + } } }