feat(player): 接入创蓝短信手机注册与登录页优化

新增 SMS 验证码注册、8 国手机号选择与 Redis 频控;优化登录/注册 UI 及图形验证码样式。

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
2026-06-12 10:25:59 +08:00
parent 168aecfd5c
commit db28390be9
39 changed files with 1521 additions and 107 deletions

View File

@@ -93,9 +93,28 @@ const i18n = createI18n({
register_failed: '注册失败,请重试',
continue_browsing: '暂不登录',
username_placeholder: '请输入账号',
login_account: '手机号 / 账号',
login_account_placeholder: '本地号码或账号',
login_username_placeholder: '手机号(含区号)或账号',
confirm_password: '确认密码',
password_mismatch: '两次密码不一致',
password_placeholder: '请输入密码',
login_btn: '登录',
login_failed: '登录失败,请重试',
phone: '手机号',
phone_placeholder: '请输入手机号',
phone_local_placeholder: '请输入手机号',
phone_required: '请填写手机号',
phone_invalid: '手机号格式无效,请检查位数与号码',
phone_country_unsupported: '暂不支持该国家/地区',
sms_code: '短信验证码',
sms_code_placeholder: '6 位验证码',
sms_code_required: '请填写短信验证码',
sms_required: '请先获取短信验证码',
send_sms: '获取验证码',
resend_sms: '{sec}s 后重试',
country_search: '搜索国家或区号',
country_not_found: '未找到匹配国家',
},
support: {
short: '客服',
@@ -476,9 +495,28 @@ const i18n = createI18n({
register_failed: 'Registration failed, please try again',
continue_browsing: 'Skip login',
username_placeholder: 'Enter username',
login_account: 'Phone / Username',
login_account_placeholder: 'Local number or username',
login_username_placeholder: 'Registered phone (with country code) or username',
confirm_password: 'Confirm password',
password_mismatch: 'Passwords do not match',
password_placeholder: 'Enter password',
login_btn: 'Log In',
login_failed: 'Login failed, please try again',
phone: 'Phone',
phone_placeholder: 'Enter phone number',
phone_local_placeholder: 'Enter phone number',
phone_required: 'Phone number is required',
phone_invalid: 'Invalid phone number format',
phone_country_unsupported: 'This country or region is not supported',
sms_code: 'SMS Code',
sms_code_placeholder: '6-digit code',
sms_code_required: 'Please enter the SMS code',
sms_required: 'Please request an SMS code first',
send_sms: 'Get Code',
resend_sms: 'Retry in {sec}s',
country_search: 'Search country or code',
country_not_found: 'No matching country',
},
support: {
short: 'Support',
@@ -865,9 +903,28 @@ const i18n = createI18n({
register_failed: 'Pendaftaran gagal, sila cuba lagi',
continue_browsing: 'Langkau log masuk',
username_placeholder: 'Masukkan nama pengguna',
login_account: 'Telefon / Akaun',
login_account_placeholder: 'Nombor tempatan atau akaun',
login_username_placeholder: 'Telefon berdaftar (dengan kod negara) atau akaun',
confirm_password: 'Sahkan kata laluan',
password_mismatch: 'Kata laluan tidak sepadan',
password_placeholder: 'Masukkan kata laluan',
login_btn: 'Log Masuk',
login_failed: 'Log masuk gagal, sila cuba lagi',
phone: 'Telefon',
phone_placeholder: 'Masukkan nombor telefon',
phone_local_placeholder: 'Masukkan nombor telefon',
phone_required: 'Nombor telefon diperlukan',
phone_invalid: 'Format nombor telefon tidak sah',
phone_country_unsupported: 'Negara atau wilayah ini tidak disokong',
sms_code: 'Kod SMS',
sms_code_placeholder: 'Kod 6 digit',
sms_code_required: 'Sila masukkan kod SMS',
sms_required: 'Sila minta kod SMS dahulu',
send_sms: 'Dapatkan Kod',
resend_sms: 'Cuba lagi dalam {sec}s',
country_search: 'Cari negara atau kod',
country_not_found: 'Tiada negara sepadan',
},
support: {
short: 'Sokongan',