From a134b1b382744007dc29b2ae699d5db2eb9dca59 Mon Sep 17 00:00:00 2001 From: Jafeng <2998840497@qq.com> Date: Wed, 12 Nov 2025 09:42:42 +0800 Subject: [PATCH] =?UTF-8?q?fix:=E9=94=99=E8=AF=AF=E7=A0=81=E5=A4=84?= =?UTF-8?q?=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/features/auth/pages/RegisterPage.vue | 31 ++++++++++++++++--- 1 file changed, 26 insertions(+), 5 deletions(-) diff --git a/apps/frontend/src/features/auth/pages/RegisterPage.vue b/apps/frontend/src/features/auth/pages/RegisterPage.vue index 557b047..07efa02 100644 --- a/apps/frontend/src/features/auth/pages/RegisterPage.vue +++ b/apps/frontend/src/features/auth/pages/RegisterPage.vue @@ -18,6 +18,17 @@ const isLoading = ref(false); const errorMessage = ref(''); const submit = async () => { + const email = form.email.trim(); + const displayName = form.displayName.trim(); + + if (!displayName) { + errorMessage.value = '请输入昵称'; + return; + } + if (!email) { + errorMessage.value = '请输入邮箱地址'; + return; + } if (form.password !== form.confirmPassword) { errorMessage.value = '两次输入的密码不一致'; return; @@ -27,18 +38,28 @@ const submit = async () => { errorMessage.value = ''; try { const payload = { - email: form.email, + email, password: form.password, confirmPassword: form.confirmPassword, - displayName: form.displayName, + displayName, preferredCurrency: 'CNY' }; const { data } = await apiClient.post('/auth/register', payload); authStore.setSession(data.tokens, data.user); router.push('/'); - } catch (error) { - console.warn('register failed', error); - errorMessage.value = '注册失败,请稍后再试或联系支持。'; + } catch (err: any) { + console.warn('register failed', err); + const status = err?.response?.status as number | undefined; + const backendMsg = err?.response?.data?.message as string | undefined; + if (!status) { + errorMessage.value = '无法连接服务器,请检查网络或 API 地址配置。'; + } else if (status === 409) { + errorMessage.value = '该邮箱已注册,请直接登录或使用“忘记密码”。'; + } else if (status === 400 || status === 422) { + errorMessage.value = backendMsg ?? '输入不合法,请检查表单内容。'; + } else { + errorMessage.value = backendMsg ?? '注册失败,请稍后再试或联系支持。'; + } } finally { isLoading.value = false; }