From f10fddc59a85a817c8570108e86731246a0b9d91 Mon Sep 17 00:00:00 2001
From: 3030332422 <3030332422@qq.com>
Date: Tue, 30 Sep 2025 17:52:38 +0800
Subject: [PATCH] =?UTF-8?q?update=EF=BC=9A=E6=96=B0=E5=A2=9E=E7=A7=BB?=
=?UTF-8?q?=E5=8A=A8=E7=AB=AF=E5=BF=98=E8=AE=B0=E5=AF=86=E7=A0=81=E5=89=8D?=
=?UTF-8?q?=E7=AB=AF=E9=A1=B5=E9=9D=A2?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
main/manager-mobile/src/i18n/en.ts | 25 +-
main/manager-mobile/src/i18n/zh_CN.ts | 25 +-
main/manager-mobile/src/i18n/zh_TW.ts | 29 +-
.../src/pages/forgot-password/index.vue | 622 ++++++++++++++++++
main/manager-mobile/src/pages/login/index.vue | 42 +-
5 files changed, 720 insertions(+), 23 deletions(-)
create mode 100644 main/manager-mobile/src/pages/forgot-password/index.vue
diff --git a/main/manager-mobile/src/i18n/en.ts b/main/manager-mobile/src/i18n/en.ts
index fbc7be20..3618ea9d 100644
--- a/main/manager-mobile/src/i18n/en.ts
+++ b/main/manager-mobile/src/i18n/en.ts
@@ -19,8 +19,7 @@ export default {
'login.enterCaptcha': 'Please enter verification code',
'login.loginButton': 'Login',
'login.loggingIn': 'Logging in...',
- 'login.noAccount': 'did not have an account?',
- 'login.registerNow': 'Register Now',
+ 'login.noAccount': 'Sign Up',
'login.enterPhone': 'Please enter phone number',
'login.selectCountry': 'Select Country/Region',
'login.confirm': 'Confirm',
@@ -30,6 +29,7 @@ export default {
'login.requiredCaptcha': 'Verification code cannot be empty',
'login.requiredMobile': 'Please enter a valid phone number',
'login.captchaError': 'Graphic verification code error',
+ 'login.forgotPassword': 'Forgot Password',
// Register page
'register.pageTitle': 'Register',
@@ -189,6 +189,27 @@ export default {
'common.unknownError': 'Unknown error',
'common.networkError': 'Network error',
+ // Retrieve Password page
+ 'retrievePassword.title': 'Reset Password',
+ 'retrievePassword.subtitle': 'Recover your account password via mobile number',
+ 'retrievePassword.mobileRequired': 'Please enter mobile number',
+ 'retrievePassword.inputCorrectMobile': 'Please enter a valid mobile number',
+ 'retrievePassword.captchaRequired': 'Please enter graphic verification code',
+ 'retrievePassword.mobileCaptchaRequired': 'Please enter SMS verification code',
+ 'retrievePassword.newPasswordRequired': 'Please enter new password',
+ 'retrievePassword.confirmNewPasswordRequired': 'Please confirm new password',
+ 'retrievePassword.passwordsNotMatch': 'Passwords do not match',
+ 'retrievePassword.mobilePlaceholder': 'Please enter mobile number',
+ 'retrievePassword.captchaPlaceholder': 'Please enter graphic verification code',
+ 'retrievePassword.mobileCaptchaPlaceholder': 'Please enter SMS verification code',
+ 'retrievePassword.newPasswordPlaceholder': 'Please enter new password',
+ 'retrievePassword.confirmNewPasswordPlaceholder': 'Please confirm new password',
+ 'retrievePassword.getMobileCaptcha': 'Get Code',
+ 'retrievePassword.captchaSendSuccess': 'Verification code sent successfully',
+ 'retrievePassword.passwordUpdateSuccess': 'Password reset successfully',
+ 'retrievePassword.resetButton': 'Reset Password',
+ 'retrievePassword.goToLogin': 'Back to Login',
+
// SM2 encryption related error messages
'sm2.publicKeyNotConfigured': 'SM2 public key not configured, please contact administrator',
'sm2.encryptionFailed': 'Password encryption failed',
diff --git a/main/manager-mobile/src/i18n/zh_CN.ts b/main/manager-mobile/src/i18n/zh_CN.ts
index 5b25c57b..c1e9b856 100644
--- a/main/manager-mobile/src/i18n/zh_CN.ts
+++ b/main/manager-mobile/src/i18n/zh_CN.ts
@@ -19,8 +19,7 @@ export default {
'login.enterCaptcha': '请输入验证码',
'login.loginButton': '登录',
'login.loggingIn': '登录中...',
- 'login.noAccount': '还没有账户?',
- 'login.registerNow': '立即注册',
+ 'login.noAccount': '新用户注册',
'login.enterPhone': '请输入手机号码',
'login.selectCountry': '选择国家/地区',
'login.confirm': '确认',
@@ -30,6 +29,7 @@ export default {
'login.requiredCaptcha': '验证码不能为空',
'login.requiredMobile': '请输入正确的手机号码',
'login.captchaError': '图形验证码错误',
+ 'login.forgotPassword': '忘记密码',
// 注册页面
'register.pageTitle': '注册',
@@ -265,6 +265,27 @@ export default {
'settings.selectLanguage': '选择语言',
'settings.languageChanged': '语言切换成功',
+ // 重置密码页面
+ 'retrievePassword.title': '重置密码',
+ 'retrievePassword.subtitle': '通过手机号找回您的账户密码',
+ 'retrievePassword.mobileRequired': '请输入手机号码',
+ 'retrievePassword.inputCorrectMobile': '请输入正确的手机号码',
+ 'retrievePassword.captchaRequired': '请输入图形验证码',
+ 'retrievePassword.mobileCaptchaRequired': '请输入短信验证码',
+ 'retrievePassword.newPasswordRequired': '请输入新密码',
+ 'retrievePassword.confirmNewPasswordRequired': '请确认新密码',
+ 'retrievePassword.passwordsNotMatch': '两次输入的密码不一致',
+ 'retrievePassword.mobilePlaceholder': '请输入手机号码',
+ 'retrievePassword.captchaPlaceholder': '请输入图形验证码',
+ 'retrievePassword.mobileCaptchaPlaceholder': '请输入短信验证码',
+ 'retrievePassword.newPasswordPlaceholder': '请输入新密码',
+ 'retrievePassword.confirmNewPasswordPlaceholder': '请确认新密码',
+ 'retrievePassword.getMobileCaptcha': '获取验证码',
+ 'retrievePassword.captchaSendSuccess': '验证码发送成功',
+ 'retrievePassword.passwordUpdateSuccess': '密码重置成功',
+ 'retrievePassword.resetButton': '重置密码',
+ 'retrievePassword.goToLogin': '返回登录',
+
// 消息提示
'message.loginSuccess': '登录成功!',
'message.loginFail': '登录失败',
diff --git a/main/manager-mobile/src/i18n/zh_TW.ts b/main/manager-mobile/src/i18n/zh_TW.ts
index 617aa5fb..8040dc0c 100644
--- a/main/manager-mobile/src/i18n/zh_TW.ts
+++ b/main/manager-mobile/src/i18n/zh_TW.ts
@@ -19,8 +19,7 @@ export default {
'login.enterCaptcha': '請輸入驗證碼',
'login.loginButton': '登錄',
'login.loggingIn': '登錄中...',
- 'login.noAccount': '還沒有賬戶?',
- 'login.registerNow': '立即註冊',
+ 'login.noAccount': '新用戶註冊',
'login.enterPhone': '請輸入手機號碼',
'login.selectCountry': '選擇國家/地區',
'login.confirm': '確認',
@@ -30,6 +29,32 @@ export default {
'login.requiredCaptcha': '驗證碼不能為空',
'login.requiredMobile': '請輸入正確的手機號碼',
'login.captchaError': '圖形驗證碼錯誤',
+ 'login.forgotPassword': '忘記密碼',
+
+ // 忘記密碼頁面
+ 'retrievePassword.title': '重置密碼',
+ 'retrievePassword.subtitle': '請輸入您的手機號碼以重置密碼',
+ 'retrievePassword.mobileRequired': '請輸入手機號碼',
+ 'retrievePassword.inputCorrectMobile': '請輸入正確的手機號碼',
+ 'retrievePassword.captchaRequired': '請輸入圖形驗證碼',
+ 'retrievePassword.mobileCaptchaRequired': '請輸入手機驗證碼',
+ 'retrievePassword.newPasswordRequired': '請輸入新密碼',
+ 'retrievePassword.confirmNewPasswordRequired': '請確認新密碼',
+ 'retrievePassword.passwordsNotMatch': '兩次輸入的密碼不一致',
+ 'retrievePassword.mobilePlaceholder': '請輸入手機號碼',
+ 'retrievePassword.captchaPlaceholder': '請輸入圖形驗證碼',
+ 'retrievePassword.mobileCaptchaPlaceholder': '請輸入手機驗證碼',
+ 'retrievePassword.newPasswordPlaceholder': '請輸入新密碼',
+ 'retrievePassword.confirmNewPasswordPlaceholder': '請確認新密碼',
+ 'retrievePassword.confirmPasswordPlaceholder': '請確認新密碼',
+ 'retrievePassword.captchaSendSuccess': '驗證碼發送成功',
+ 'retrievePassword.passwordUpdateSuccess': '密碼更新成功',
+ 'retrievePassword.getCaptcha': '獲取驗證碼',
+ 'retrievePassword.getMobileCaptcha': '獲取驗證碼',
+ 'retrievePassword.resend': '重新發送',
+ 'retrievePassword.resetPasswordButton': '重置密碼',
+ 'retrievePassword.resetButton': '重置密碼',
+ 'retrievePassword.goToLogin': '返回登錄',
// 註冊頁面
'register.pageTitle': '註冊',
diff --git a/main/manager-mobile/src/pages/forgot-password/index.vue b/main/manager-mobile/src/pages/forgot-password/index.vue
new file mode 100644
index 00000000..486321fa
--- /dev/null
+++ b/main/manager-mobile/src/pages/forgot-password/index.vue
@@ -0,0 +1,622 @@
+
+{
+ "layout": "default",
+ "style": {
+ "navigationStyle": "custom",
+ "navigationBarTitleText": "ForgotPassword"
+ }
+}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ selectedAreaCode }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{
+ smsCountdown > 0
+ ? `${smsCountdown}${t("register.secondsLater")}`
+ : t("retrievePassword.getMobileCaptcha")
+ }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ loading ? t("common.loading") : t("retrievePassword.resetButton") }}
+
+
+
+
+
+ {{ t("retrievePassword.goToLogin") }}
+
+
+
+
+
+
+
+
diff --git a/main/manager-mobile/src/pages/login/index.vue b/main/manager-mobile/src/pages/login/index.vue
index 0a87707e..ffb8e740 100644
--- a/main/manager-mobile/src/pages/login/index.vue
+++ b/main/manager-mobile/src/pages/login/index.vue
@@ -116,6 +116,13 @@ function goToRegister() {
})
}
+// 跳转到忘记密码页面
+function goToForgotPassword() {
+ uni.navigateTo({
+ url: '/pages/forgot-password/index',
+ })
+}
+
// 生成UUID
function generateUUID() {
return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, (c) => {
@@ -369,13 +376,18 @@ onMounted(async () => {
{{ loading ? t('login.loggingIn') : t('login.loginButton') }}
-
-
- {{ t('login.noAccount') }}
-
-
- {{ t('login.registerNow') }}
-
+
+
+
+ {{ t('login.noAccount') }}
+
+
+
+
+
+ {{ t('login.forgotPassword') }}
+
+
@@ -665,10 +677,14 @@ onMounted(async () => {
}
}
- .forgot-password {
- text-align: right;
+ .hint-row {
+ display: flex;
+ justify-content: space-between;
+ align-items: center;
margin-bottom: 30rpx;
+ }
+ .forgot-password {
.forgot-text {
color: #667eea;
font-size: 26rpx;
@@ -706,14 +722,6 @@ onMounted(async () => {
}
.register-hint {
- text-align: center;
-
- .hint-text {
- color: #666666;
- font-size: 26rpx;
- margin-right: 8rpx;
- }
-
.register-link {
color: #667eea;
font-size: 26rpx;