This commit is contained in:
fuenmao
2026-09-21 16:12:48 +08:00
parent e4070f207c
commit 2769773667
4 changed files with 165 additions and 51 deletions
+34 -16
View File
@@ -9,7 +9,7 @@ const router = useRouter()
const mode = ref<'login' | 'register'>('login')
const loading = ref(false)
const form = reactive({ phone: '', password: '', displayName: '' })
const title = computed(() => mode.value === 'login' ? '欢迎回来' : '创建健康档案')
const title = computed(() => mode.value === 'login' ? '欢迎回来' : '开启专属健康档案')
async function submit() {
loading.value = true
@@ -31,20 +31,41 @@ async function submit() {
<template>
<main class="auth-page">
<section class="brand-panel">
<div class="brand-mark">常</div>
<div class="brand-badge">
<span class="brand-badge-icon">常</span>
<span>一人一方 · 康养管理</span>
</div>
<p class="eyebrow">EVERGREEN HEALTH</p>
<h1>一人一方<br />健康与空间协同管理</h1>
<p class="brand-copy">从睡眠、运动与饮食开始,让环境与健康方案每天同步。</p>
<div class="feature-row">
<span>个性方案</span><span>智能场景</span><span>持续反馈</span>
<h1>一人一方<br />健康与空间协同</h1>
<p class="brand-copy">以睡眠为切入点,融合五感空间与动态健康方案,开启日常健康管理。</p>
<div class="feature-pill-row">
<span>🌿 六维处方</span><span>🌙 五感微环境</span><span>📊 闭环调理</span>
</div>
</section>
<section class="auth-card">
<div class="auth-tab-switch">
<button
type="button"
:class="{ active: mode === 'login' }"
@click="mode = 'login'"
>
账号登录
</button>
<button
type="button"
:class="{ active: mode === 'register' }"
@click="mode = 'register'"
>
注册建档
</button>
</div>
<div class="auth-heading">
<p class="eyebrow">常青树健康管理</p>
<h2>{{ title }}</h2>
<p>{{ mode === 'login' ? '登录后查看今日健康方案' : '第一步,建立您的专属健康账户' }}</p>
<h2 style="font-size: 20px; font-weight: 700; color: #142e27; margin-bottom: 4px;">{{ title }}</h2>
<p style="color: #72847d; font-size: 13px; margin-bottom: 16px;">
{{ mode === 'login' ? '登录后查看今日健康方案与空间联动' : '第一步,填写信息创建您的专属健康档案' }}
</p>
</div>
<van-form @submit="submit">
@@ -60,25 +81,22 @@ async function submit() {
type="tel"
label="手机号"
maxlength="11"
placeholder="请输入手机号"
placeholder="请输入 11 位手机号"
:rules="[{ pattern: /^1[3-9]\d{9}$/, message: '请输入正确的手机号' }]"
/>
<van-field
v-model="form.password"
type="password"
label="密码"
placeholder="至少 8 位"
placeholder="至少 8 位密码"
:rules="[{ required: true, message: '请输入至少 8 位密码' }]"
/>
<van-button block round color="#0c5045" native-type="submit" :loading="loading">
{{ mode === 'login' ? '登录' : '注册并继续' }}
{{ mode === 'login' ? '登 录' : '创建档案并继续' }}
</van-button>
</van-form>
<button class="text-button" type="button" @click="mode = mode === 'login' ? 'register' : 'login'">
{{ mode === 'login' ? '还没有账户?立即注册' : '已有账户?返回登录' }}
</button>
<p class="privacy-note">继续即表示您同意仅将健康信息用于生成个人健康管理建议。</p>
<p class="privacy-note">🔒 数据安全说明:所有健康数据仅用于为您生成生活方式干预建议。</p>
</section>
</main>
</template>