|
|
@@ -1,57 +1,35 @@
|
|
|
<template>
|
|
|
<view class="login-container">
|
|
|
- <!-- Logo 区 -->
|
|
|
- <view class="logo-section">
|
|
|
+ <!-- 顶部品牌区 -->
|
|
|
+ <view class="brand-section">
|
|
|
<image class="logo" src="/static/logo.png" mode="aspectFit" @error="handleImageError"></image>
|
|
|
<text class="app-name">浠艾福</text>
|
|
|
<text class="slogan">给全家的一站式主动健康方案</text>
|
|
|
- <text class="powered">亿图腾科技出品</text>
|
|
|
</view>
|
|
|
|
|
|
- <!-- 主动健康理念 -->
|
|
|
+ <!-- 主动健康理念 + 闭环 -->
|
|
|
<view class="concept-card">
|
|
|
- <view class="concept-title">什么是主动健康</view>
|
|
|
<view class="concept-desc">
|
|
|
- 不等问题发生,先一步<span class="concept-highlight">识别风险</span>、<span class="concept-highlight">主动干预</span>、<span class="concept-highlight">持续评估</span>——把全家健康管理融入每一天。
|
|
|
+ 不等问题发生,先一步<text class="concept-highlight">识别风险 · 主动干预 · 持续评估</text>,把全家健康管理融入每一天。
|
|
|
</view>
|
|
|
- </view>
|
|
|
-
|
|
|
- <!-- 主动健康闭环 -->
|
|
|
- <view class="section-block">
|
|
|
- <view class="section-label">主动健康闭环</view>
|
|
|
- <view
|
|
|
- v-for="(step, i) in loopSteps"
|
|
|
- :key="step.name"
|
|
|
- class="loop-step-wrap"
|
|
|
- >
|
|
|
- <view class="loop-step" :class="step.color">
|
|
|
- <view class="loop-step-icon"><text>{{ step.icon }}</text></view>
|
|
|
- <view class="loop-step-text">
|
|
|
- <text class="loop-step-name">{{ step.name }}</text>
|
|
|
- <text class="loop-step-desc">{{ step.desc }}</text>
|
|
|
- </view>
|
|
|
- </view>
|
|
|
- <view v-if="i < loopSteps.length - 1" class="loop-arrow"><text>↓</text></view>
|
|
|
+ <view class="loop-row">
|
|
|
+ <view class="loop-pill loop-pill-indigo"><text>🔍</text><text class="loop-pill-text">提前识别</text></view>
|
|
|
+ <text class="loop-arrow">→</text>
|
|
|
+ <view class="loop-pill loop-pill-green"><text>🛡️</text><text class="loop-pill-text">风险管控</text></view>
|
|
|
+ <text class="loop-arrow">→</text>
|
|
|
+ <view class="loop-pill loop-pill-amber"><text>⚡</text><text class="loop-pill-text">主动干预</text></view>
|
|
|
+ <text class="loop-arrow">→</text>
|
|
|
+ <view class="loop-pill loop-pill-red"><text>📊</text><text class="loop-pill-text">效果评估</text></view>
|
|
|
</view>
|
|
|
- <view class="loop-cycle"><text>🔄 持续优化 · 循环往复,主动健康永不止步</text></view>
|
|
|
</view>
|
|
|
|
|
|
- <!-- 五维能量 -->
|
|
|
- <view class="section-block">
|
|
|
- <view class="section-label">五维能量 · 五行相生</view>
|
|
|
- <view class="dims-card">
|
|
|
- <view
|
|
|
- v-for="dim in dimensions"
|
|
|
- :key="dim.name"
|
|
|
- class="dim-item"
|
|
|
- >
|
|
|
- <view class="dim-item-icon" :class="dim.color"><text>{{ dim.emoji }}</text></view>
|
|
|
- <view class="dim-item-text">
|
|
|
- <text class="dim-item-name">{{ dim.name }} · {{ dim.tag }}</text>
|
|
|
- <text class="dim-item-desc">{{ dim.desc }}</text>
|
|
|
- </view>
|
|
|
- </view>
|
|
|
- </view>
|
|
|
+ <!-- 五维标签 -->
|
|
|
+ <view class="dims-row">
|
|
|
+ <view class="dim-tag dim-tag-body"><text>🌏</text><text>身·健康</text></view>
|
|
|
+ <view class="dim-tag dim-tag-wisdom"><text>⚡</text><text>智·赋能</text></view>
|
|
|
+ <view class="dim-tag dim-tag-wealth"><text>💧</text><text>富·创富</text></view>
|
|
|
+ <view class="dim-tag dim-tag-action"><text>🌿</text><text>行·和谐</text></view>
|
|
|
+ <view class="dim-tag dim-tag-mind"><text>🔥</text><text>心·大爱</text></view>
|
|
|
</view>
|
|
|
|
|
|
<!-- 登录表单 -->
|
|
|
@@ -97,20 +75,7 @@ export default {
|
|
|
agreed: false,
|
|
|
nickname: '',
|
|
|
avatar: '',
|
|
|
- redirectUrl: '',
|
|
|
- loopSteps: [
|
|
|
- { icon: '🔍', name: '提前识别', desc: 'AI 多维评估,绘制健康基线', color: 'loop-indigo' },
|
|
|
- { icon: '🛡️', name: '风险管控', desc: '分级管控,不让隐患成问题', color: 'loop-green' },
|
|
|
- { icon: '⚡', name: '主动干预', desc: '任务与能量追踪,融入日常', color: 'loop-amber' },
|
|
|
- { icon: '📊', name: '效果评估', desc: '档案记录轨迹,数据持续优化', color: 'loop-red' }
|
|
|
- ],
|
|
|
- dimensions: [
|
|
|
- { emoji: '🌏', name: '身', tag: '根基永固', desc: '精准营养 · 健康报告 · 体质调理', color: 'dim-body' },
|
|
|
- { emoji: '⚡', name: '智', tag: '赋能未来', desc: '心智测评 · 素质培养 · 成长档案', color: 'dim-wisdom' },
|
|
|
- { emoji: '💧', name: '富', tag: '利他创富', desc: '创客生态 · 积分奖励', color: 'dim-wealth' },
|
|
|
- { emoji: '🌿', name: '行', tag: '人际和谐', desc: '亲子关系 · 夫妻情感 · 社交人脉', color: 'dim-action' },
|
|
|
- { emoji: '🔥', name: '心', tag: '大爱相随', desc: '情绪疏导 · 关系心理学', color: 'dim-mind' }
|
|
|
- ]
|
|
|
+ redirectUrl: ''
|
|
|
}
|
|
|
},
|
|
|
onLoad(options) {
|
|
|
@@ -310,226 +275,136 @@ export default {
|
|
|
<style scoped>
|
|
|
.login-container {
|
|
|
min-height: 100vh;
|
|
|
- background: linear-gradient(160deg, #FFF7ED 0%, #FED7AA 55%, #FB923C 100%);
|
|
|
- padding: 48rpx 40rpx 40rpx;
|
|
|
+ background: linear-gradient(180deg, #FFF9F0 0%, #FFEEDB 100%);
|
|
|
+ padding: 40rpx 36rpx 32rpx;
|
|
|
+ display: flex;
|
|
|
+ flex-direction: column;
|
|
|
}
|
|
|
|
|
|
-/* ===== Logo 区 ===== */
|
|
|
-.logo-section {
|
|
|
+/* ===== 顶部品牌区 ===== */
|
|
|
+.brand-section {
|
|
|
text-align: center;
|
|
|
- margin-bottom: 40rpx;
|
|
|
+ margin-bottom: 32rpx;
|
|
|
}
|
|
|
|
|
|
.logo {
|
|
|
- width: 120rpx;
|
|
|
- height: 120rpx;
|
|
|
- border-radius: 60rpx;
|
|
|
+ width: 104rpx;
|
|
|
+ height: 104rpx;
|
|
|
+ border-radius: 52rpx;
|
|
|
background: #fff;
|
|
|
- box-shadow: 0 8rpx 32rpx rgba(249,115,22,0.2);
|
|
|
+ box-shadow: 0 8rpx 24rpx rgba(249,115,22,0.2);
|
|
|
}
|
|
|
|
|
|
.app-name {
|
|
|
display: block;
|
|
|
- font-size: 52rpx;
|
|
|
+ font-size: 44rpx;
|
|
|
font-weight: bold;
|
|
|
- color: #fff;
|
|
|
- margin-top: 16rpx;
|
|
|
- letter-spacing: 8rpx;
|
|
|
+ color: #7C2D12;
|
|
|
+ margin-top: 14rpx;
|
|
|
+ letter-spacing: 6rpx;
|
|
|
}
|
|
|
|
|
|
.slogan {
|
|
|
display: block;
|
|
|
- font-size: 26rpx;
|
|
|
- color: rgba(255, 255, 255, 0.88);
|
|
|
+ font-size: 24rpx;
|
|
|
+ color: #9A3412;
|
|
|
margin-top: 8rpx;
|
|
|
}
|
|
|
|
|
|
-.powered {
|
|
|
- display: block;
|
|
|
- font-size: 20rpx;
|
|
|
- color: rgba(255, 255, 255, 0.55);
|
|
|
- margin-top: 12rpx;
|
|
|
-}
|
|
|
-
|
|
|
-/* ===== 主动健康理念 ===== */
|
|
|
+/* ===== 主动健康理念 + 闭环 ===== */
|
|
|
.concept-card {
|
|
|
- background: rgba(255, 255, 255, 0.22);
|
|
|
- border: 1rpx solid rgba(255, 255, 255, 0.35);
|
|
|
+ background: #fff;
|
|
|
border-radius: 20rpx;
|
|
|
- padding: 28rpx 32rpx;
|
|
|
- margin-bottom: 36rpx;
|
|
|
-}
|
|
|
-
|
|
|
-.concept-title {
|
|
|
- display: block;
|
|
|
- font-size: 30rpx;
|
|
|
- font-weight: bold;
|
|
|
- color: #fff;
|
|
|
- margin-bottom: 12rpx;
|
|
|
+ padding: 26rpx 28rpx;
|
|
|
+ margin-bottom: 24rpx;
|
|
|
+ box-shadow: 0 4rpx 16rpx rgba(249,115,22,0.08);
|
|
|
}
|
|
|
|
|
|
.concept-desc {
|
|
|
- font-size: 25rpx;
|
|
|
- color: rgba(255, 255, 255, 0.92);
|
|
|
- line-height: 1.7;
|
|
|
+ font-size: 24rpx;
|
|
|
+ color: #4B5563;
|
|
|
+ line-height: 1.6;
|
|
|
+ margin-bottom: 20rpx;
|
|
|
}
|
|
|
|
|
|
.concept-highlight {
|
|
|
- color: #FFD700;
|
|
|
+ color: #B45309;
|
|
|
font-weight: 600;
|
|
|
}
|
|
|
|
|
|
-/* ===== 章节块 ===== */
|
|
|
-.section-block {
|
|
|
- margin-bottom: 36rpx;
|
|
|
-}
|
|
|
-
|
|
|
-.section-label {
|
|
|
- display: block;
|
|
|
- font-size: 28rpx;
|
|
|
- font-weight: 600;
|
|
|
- color: #fff;
|
|
|
- margin-bottom: 20rpx;
|
|
|
- padding-left: 4rpx;
|
|
|
-}
|
|
|
-
|
|
|
-/* ===== 主动健康闭环 ===== */
|
|
|
-.loop-step-wrap {
|
|
|
- margin-bottom: 6rpx;
|
|
|
-}
|
|
|
-
|
|
|
-.loop-step {
|
|
|
+.loop-row {
|
|
|
display: flex;
|
|
|
align-items: center;
|
|
|
- gap: 20rpx;
|
|
|
- background: #fff;
|
|
|
- border-radius: 16rpx;
|
|
|
- padding: 22rpx 26rpx;
|
|
|
- box-shadow: 0 2rpx 10rpx rgba(0,0,0,0.05);
|
|
|
- border-left: 6rpx solid #6366F1;
|
|
|
+ gap: 6rpx;
|
|
|
}
|
|
|
|
|
|
-.loop-indigo { border-left-color: #6366F1; }
|
|
|
-.loop-green { border-left-color: #10B981; }
|
|
|
-.loop-amber { border-left-color: #F59E0B; }
|
|
|
-.loop-red { border-left-color: #EF4444; }
|
|
|
-
|
|
|
-.loop-step-icon {
|
|
|
- width: 64rpx;
|
|
|
- height: 64rpx;
|
|
|
- border-radius: 50%;
|
|
|
+.loop-pill {
|
|
|
+ flex: 1;
|
|
|
display: flex;
|
|
|
align-items: center;
|
|
|
justify-content: center;
|
|
|
- font-size: 32rpx;
|
|
|
- flex-shrink: 0;
|
|
|
-}
|
|
|
-
|
|
|
-.loop-indigo .loop-step-icon { background: rgba(99,102,241,0.12); }
|
|
|
-.loop-green .loop-step-icon { background: rgba(16,185,129,0.12); }
|
|
|
-.loop-amber .loop-step-icon { background: rgba(245,158,11,0.12); }
|
|
|
-.loop-red .loop-step-icon { background: rgba(239,68,68,0.12); }
|
|
|
-
|
|
|
-.loop-step-text {
|
|
|
- flex: 1;
|
|
|
- display: flex;
|
|
|
+ gap: 4rpx;
|
|
|
flex-direction: column;
|
|
|
- min-width: 0;
|
|
|
+ font-size: 20rpx;
|
|
|
+ padding: 10rpx 4rpx;
|
|
|
+ border-radius: 12rpx;
|
|
|
+ line-height: 1.3;
|
|
|
}
|
|
|
|
|
|
-.loop-step-name {
|
|
|
- font-size: 29rpx;
|
|
|
- font-weight: bold;
|
|
|
- color: #1F2937;
|
|
|
- margin-bottom: 4rpx;
|
|
|
+.loop-pill-text {
|
|
|
+ font-size: 20rpx;
|
|
|
+ font-weight: 500;
|
|
|
}
|
|
|
|
|
|
-.loop-step-desc {
|
|
|
- font-size: 23rpx;
|
|
|
- color: #6B7280;
|
|
|
- line-height: 1.5;
|
|
|
-}
|
|
|
+.loop-pill-indigo { background: #EEF2FF; color: #4F46E5; }
|
|
|
+.loop-pill-green { background: #D1FAE5; color: #047857; }
|
|
|
+.loop-pill-amber { background: #FEF3C7; color: #B45309; }
|
|
|
+.loop-pill-red { background: #FEE2E2; color: #B91C1C; }
|
|
|
|
|
|
.loop-arrow {
|
|
|
- text-align: center;
|
|
|
- padding: 8rpx 0;
|
|
|
- font-size: 28rpx;
|
|
|
- color: rgba(255,255,255,0.75);
|
|
|
-}
|
|
|
-
|
|
|
-.loop-cycle {
|
|
|
- text-align: center;
|
|
|
- margin-top: 18rpx;
|
|
|
- font-size: 22rpx;
|
|
|
- color: rgba(255,255,255,0.85);
|
|
|
-}
|
|
|
-
|
|
|
-/* ===== 五维能量 ===== */
|
|
|
-.dims-card {
|
|
|
- background: #fff;
|
|
|
- border-radius: 20rpx;
|
|
|
- padding: 28rpx;
|
|
|
- box-shadow: 0 4rpx 20rpx rgba(0,0,0,0.06);
|
|
|
-}
|
|
|
-
|
|
|
-.dim-item {
|
|
|
- display: flex;
|
|
|
- align-items: center;
|
|
|
- gap: 20rpx;
|
|
|
- padding: 12rpx 0;
|
|
|
-}
|
|
|
-
|
|
|
-.dim-item + .dim-item {
|
|
|
- border-top: 1rpx solid #F3F4F6;
|
|
|
+ font-size: 24rpx;
|
|
|
+ color: #D1D5DB;
|
|
|
+ flex-shrink: 0;
|
|
|
}
|
|
|
|
|
|
-.dim-item-icon {
|
|
|
- width: 72rpx;
|
|
|
- height: 72rpx;
|
|
|
- border-radius: 16rpx;
|
|
|
+/* ===== 五维标签 ===== */
|
|
|
+.dims-row {
|
|
|
display: flex;
|
|
|
- align-items: center;
|
|
|
justify-content: center;
|
|
|
- font-size: 34rpx;
|
|
|
- flex-shrink: 0;
|
|
|
+ gap: 8rpx;
|
|
|
+ margin-bottom: 24rpx;
|
|
|
+ flex-wrap: wrap;
|
|
|
}
|
|
|
|
|
|
-.dim-body .dim-item-icon { background: rgba(255,140,66,0.15); }
|
|
|
-.dim-wisdom .dim-item-icon { background: rgba(99,102,241,0.15); }
|
|
|
-.dim-wealth .dim-item-icon { background: rgba(245,158,11,0.15); }
|
|
|
-.dim-action .dim-item-icon { background: rgba(16,185,129,0.15); }
|
|
|
-.dim-mind .dim-item-icon { background: rgba(255,107,157,0.15); }
|
|
|
-
|
|
|
-.dim-item-text {
|
|
|
- flex: 1;
|
|
|
+.dim-tag {
|
|
|
display: flex;
|
|
|
- flex-direction: column;
|
|
|
- min-width: 0;
|
|
|
-}
|
|
|
-
|
|
|
-.dim-item-name {
|
|
|
- font-size: 29rpx;
|
|
|
- font-weight: bold;
|
|
|
- color: #1F2937;
|
|
|
- margin-bottom: 4rpx;
|
|
|
+ align-items: center;
|
|
|
+ gap: 4rpx;
|
|
|
+ font-size: 20rpx;
|
|
|
+ color: #fff;
|
|
|
+ font-weight: 500;
|
|
|
+ padding: 8rpx 14rpx;
|
|
|
+ border-radius: 24rpx;
|
|
|
+ white-space: nowrap;
|
|
|
}
|
|
|
|
|
|
-.dim-item-desc {
|
|
|
- font-size: 23rpx;
|
|
|
- color: #6B7280;
|
|
|
- line-height: 1.5;
|
|
|
-}
|
|
|
+.dim-tag-body { background: #F97316; }
|
|
|
+.dim-tag-wisdom { background: #6366F1; }
|
|
|
+.dim-tag-wealth { background: #D97706; }
|
|
|
+.dim-tag-action { background: #10B981; }
|
|
|
+.dim-tag-mind { background: #EC4899; }
|
|
|
|
|
|
/* ===== 登录表单 ===== */
|
|
|
.login-form {
|
|
|
background: #fff;
|
|
|
border-radius: 20rpx;
|
|
|
- padding: 40rpx;
|
|
|
+ padding: 36rpx 36rpx 28rpx;
|
|
|
+ margin-top: auto;
|
|
|
box-shadow: 0 4rpx 24rpx rgba(0,0,0,0.06);
|
|
|
}
|
|
|
|
|
|
.phone-section {
|
|
|
- margin-bottom: 28rpx;
|
|
|
+ margin-bottom: 24rpx;
|
|
|
}
|
|
|
|
|
|
.phone-btn {
|
|
|
@@ -558,23 +433,23 @@ export default {
|
|
|
/* ===== 跳过登录 ===== */
|
|
|
.skip-section {
|
|
|
text-align: center;
|
|
|
- margin-bottom: 24rpx;
|
|
|
+ margin-bottom: 20rpx;
|
|
|
}
|
|
|
|
|
|
.skip-btn {
|
|
|
- font-size: 28rpx;
|
|
|
+ font-size: 26rpx;
|
|
|
color: #F97316;
|
|
|
font-weight: 500;
|
|
|
- padding: 12rpx 24rpx;
|
|
|
+ padding: 10rpx 20rpx;
|
|
|
background: rgba(249, 115, 22, 0.08);
|
|
|
border-radius: 30rpx;
|
|
|
}
|
|
|
|
|
|
/* ===== 协议 ===== */
|
|
|
.agreement {
|
|
|
- margin-top: 8rpx;
|
|
|
+ margin-top: 4rpx;
|
|
|
text-align: center;
|
|
|
- font-size: 24rpx;
|
|
|
+ font-size: 22rpx;
|
|
|
line-height: 1.6;
|
|
|
}
|
|
|
|