fix:修复移动端注册页面的一些bug

This commit is contained in:
3030332422
2025-09-29 14:21:41 +08:00
parent 48feea55fe
commit a4433ebe68
4 changed files with 22 additions and 32 deletions
+1
View File
@@ -48,6 +48,7 @@ export default {
'register.loginNow': 'Login Now', 'register.loginNow': 'Login Now',
'register.selectCountry': 'Select Country/Region', 'register.selectCountry': 'Select Country/Region',
'register.confirm': 'Confirm', 'register.confirm': 'Confirm',
'register.captchaSendSuccess': 'Verification code sent successfully',
// Home page // Home page
'home.pageTitle': 'Home', 'home.pageTitle': 'Home',
+1
View File
@@ -48,6 +48,7 @@ export default {
'register.loginNow': '立即登录', 'register.loginNow': '立即登录',
'register.selectCountry': '选择国家/地区', 'register.selectCountry': '选择国家/地区',
'register.confirm': '确认', 'register.confirm': '确认',
'register.captchaSendSuccess': '验证码发送成功',
// 首页 // 首页
'home.pageTitle': '首页', 'home.pageTitle': '首页',
+1
View File
@@ -48,6 +48,7 @@ export default {
'register.loginNow': '立即登錄', 'register.loginNow': '立即登錄',
'register.selectCountry': '選擇國家/地區', 'register.selectCountry': '選擇國家/地區',
'register.confirm': '確認', 'register.confirm': '確認',
'register.captchaSendSuccess': '驗證碼發送成功',
// 首頁 // 首頁
'home.pageTitle': '首頁', 'home.pageTitle': '首頁',
@@ -166,7 +166,7 @@ async function sendSmsVerification() {
captchaId: formData.value.captchaId, captchaId: formData.value.captchaId,
}) })
toast.success(t('message.registerSuccess')) toast.success(t('register.captchaSendSuccess'))
// 开始倒计时 // 开始倒计时
smsCountdown.value = 60 smsCountdown.value = 60
@@ -193,13 +193,8 @@ async function sendSmsVerification() {
// 注册 // 注册
async function handleRegister() { async function handleRegister() {
// 表单验证 // 表单验证
if (registerType.value === 'username') { if (enableMobileRegister.value) {
if (!formData.value.username) { // 手机号注册验证
toast.warning(t('register.enterUsername'))
return
}
}
else {
if (!formData.value.mobile) { if (!formData.value.mobile) {
toast.warning(t('register.enterPhone')) toast.warning(t('register.enterPhone'))
return return
@@ -215,6 +210,13 @@ async function handleRegister() {
return return
} }
} }
else {
// 用户名注册验证
if (!formData.value.username) {
toast.warning(t('register.enterUsername'))
return
}
}
if (!formData.value.password) { if (!formData.value.password) {
toast.warning(t('register.enterPassword')) toast.warning(t('register.enterPassword'))
@@ -259,7 +261,7 @@ async function handleRegister() {
// 构建注册数据 // 构建注册数据
const registerData = { const registerData = {
username: registerType.value === 'mobile' ? `${selectedAreaCode.value}${formData.value.mobile}` : formData.value.username, username: enableMobileRegister.value ? `${selectedAreaCode.value}${formData.value.mobile}` : formData.value.username,
password: encryptedPassword, password: encryptedPassword,
captchaId: formData.value.captchaId, captchaId: formData.value.captchaId,
areaCode: formData.value.areaCode, areaCode: formData.value.areaCode,
@@ -272,7 +274,9 @@ async function handleRegister() {
// 跳转到登录页 // 跳转到登录页
setTimeout(() => { setTimeout(() => {
uni.navigateBack() uni.redirectTo({
url: '/pages/login/index'
})
}, 1000) }, 1000)
} }
catch (error: any) { catch (error: any) {
@@ -294,7 +298,9 @@ async function handleRegister() {
// 返回登录 // 返回登录
function goBack() { function goBack() {
uni.navigateBack() uni.redirectTo({
url: '/pages/login/index'
})
} }
// 页面加载时获取验证码 // 页面加载时获取验证码
@@ -339,7 +345,7 @@ onMounted(async () => {
<view class="form-container"> <view class="form-container">
<view class="form"> <view class="form">
<!-- 手机号注册 --> <!-- 手机号注册 -->
<template v-if="registerType === 'mobile'"> <template v-if="enableMobileRegister">
<view class="input-group"> <view class="input-group">
<view class="input-wrapper mobile-wrapper"> <view class="input-wrapper mobile-wrapper">
<view class="area-code-selector" @click="openAreaCodeSheet"> <view class="area-code-selector" @click="openAreaCodeSheet">
@@ -418,7 +424,7 @@ onMounted(async () => {
</view> </view>
<!-- 手机验证码输入框 --> <!-- 手机验证码输入框 -->
<view v-if="registerType === 'mobile'" class="input-group"> <view v-if="enableMobileRegister" class="input-group">
<view class="input-wrapper sms-wrapper"> <view class="input-wrapper sms-wrapper">
<wd-input <wd-input
v-model="formData.mobileCaptcha" v-model="formData.mobileCaptcha"
@@ -457,25 +463,6 @@ onMounted(async () => {
</text> </text>
</view> </view>
<!-- 注册方式切换 -->
<view v-if="enableMobileRegister" class="register-type-switch">
<view class="switch-tabs">
<view
class="switch-tab"
:class="{ active: registerType === 'username' }"
@click="toggleRegisterType"
>
<wd-icon name="user" />
</view>
<view
class="switch-tab"
:class="{ active: registerType === 'mobile' }"
@click="toggleRegisterType"
>
<wd-icon name="phone" />
</view>
</view>
</view>
</view> </view>
</view> </view>