From 0d98d4f0c249c6b2148201a304ae6259bf1e717b Mon Sep 17 00:00:00 2001 From: betasecond Date: Wed, 18 Jun 2025 16:01:28 +0800 Subject: [PATCH] feat: implement user registration API and connect to UI --- pages/index.vue | 12 ++++++++++-- server/api/register.post.ts | 21 +++++++++++++++++++++ 2 files changed, 31 insertions(+), 2 deletions(-) create mode 100644 server/api/register.post.ts diff --git a/pages/index.vue b/pages/index.vue index 7e4bc70..f61dc48 100644 --- a/pages/index.vue +++ b/pages/index.vue @@ -118,7 +118,15 @@ async function handleLogin() { } async function handleRegister() { - // TODO: Implement register logic - console.log('Registering with data:', registerForm); + try { + const response = await $fetch('/api/register', { + method: 'POST', + body: registerForm + }); + message.value = response.message; + showLogin(); + } catch (error: any) { + message.value = error.data?.message || '注册失败'; + } } \ No newline at end of file diff --git a/server/api/register.post.ts b/server/api/register.post.ts new file mode 100644 index 0000000..e3fe311 --- /dev/null +++ b/server/api/register.post.ts @@ -0,0 +1,21 @@ +import { defineEventHandler, readBody, setResponseStatus } from 'h3'; + +export default defineEventHandler(async (event) => { + const body = await readBody(event); + + const { name, gender, contact, idCard, password } = body; + + if (!name || !gender || !contact || !idCard || !password) { + setResponseStatus(event, 400); + return { + message: '请填写完整信息', + }; + } + + // TODO: Add database logic to save the user + console.log('Registering new user:', { name, gender, contact, idCard }); + + return { + message: '注册成功!', + }; +}); \ No newline at end of file