1111
This commit is contained in:
+34
-16
@@ -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>
|
||||
|
||||
Reference in New Issue
Block a user