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