Przeglądaj źródła

feat(body): 创建身维度5个详情页面并绑定快捷入口

- 新增运动/饮食/作息/菌群/冥想5个信息展示页面
- 均在 pages/health/ 分包下注册
- funcList 6个按钮全部绑定正确页面路径
- 修复舌诊路径缺失前缀问题
User 4 miesięcy temu
rodzic
commit
23d28b3ee3

+ 20 - 0
cfc-frontend/pages.json

@@ -596,6 +596,26 @@
         {
           "path": "tongue-index",
           "style": { "navigationBarTitleText": "舌诊分析" }
+        },
+        {
+          "path": "exercise-index",
+          "style": { "navigationBarTitleText": "运动" }
+        },
+        {
+          "path": "diet-index",
+          "style": { "navigationBarTitleText": "饮食" }
+        },
+        {
+          "path": "sleep-index",
+          "style": { "navigationBarTitleText": "作息" }
+        },
+        {
+          "path": "gut-index",
+          "style": { "navigationBarTitleText": "菌群" }
+        },
+        {
+          "path": "meditation-index",
+          "style": { "navigationBarTitleText": "冥想" }
         }
       ]
     },

+ 6 - 6
cfc-frontend/pages/body/index.vue

@@ -259,12 +259,12 @@ export default {
       bodyArticles: [],
       dimensionData: null,
       funcList: [
-        { icon: '\u{1F3C3}', label: '运动', needLogin: true, page: '' },
-        { icon: '\u{1F957}', label: '饮食', needLogin: true, page: '' },
-        { icon: '\u{1F634}', label: '作息', needLogin: true, page: '' },
-        { icon: '\u{1F9A0}', label: '菌群', needLogin: true, page: '' },
-        { icon: '\u{1F9D8}', label: '冥想', needLogin: true, page: '' },
-        { icon: '\u{1F4CA}', label: '舌诊', needLogin: true, page: 'tongue-index' }
+        { icon: '\u{1F3C3}', label: '运动', needLogin: true, page: '/pages/health/exercise-index' },
+        { icon: '\u{1F957}', label: '饮食', needLogin: true, page: '/pages/health/diet-index' },
+        { icon: '\u{1F634}', label: '作息', needLogin: true, page: '/pages/health/sleep-index' },
+        { icon: '\u{1F9A0}', label: '菌群', needLogin: true, page: '/pages/health/gut-index' },
+        { icon: '\u{1F9D8}', label: '冥想', needLogin: true, page: '/pages/health/meditation-index' },
+        { icon: '\u{1F4CA}', label: '舌诊', needLogin: true, page: '/pages/health/tongue-index' }
       ],
       healthTips: [
         { id: 1, title: '儿童每日运动指南', summary: '不同年龄段儿童每天需要多少运动量?科学运动助力健康成长。' },

+ 194 - 0
cfc-frontend/pages/health/diet-index.vue

@@ -0,0 +1,194 @@
+<template>
+  <view class="page">
+    <view class="nav-bar">
+      <view class="nav-back" @tap="goBack">
+        <text class="back-text">‹ 返回</text>
+      </view>
+      <text class="nav-title">饮食</text>
+    </view>
+
+    <scroll-view class="content" scroll-y>
+      <view class="card">
+        <view class="card-accent"></view>
+        <view class="card-body">
+          <text class="card-title">均衡膳食指南</text>
+          <view class="info-list">
+            <view class="info-item">
+              <text class="info-age">🌾 谷物类</text>
+              <text class="info-desc">每餐应有适量主食,优先选择全谷物和杂粮,如糙米、燕麦、全麦面包,提供持续能量。</text>
+            </view>
+            <view class="info-item">
+              <text class="info-age">🥩 蛋白质</text>
+              <text class="info-desc">每天摄入足量优质蛋白,来源包括鱼、禽肉、蛋、豆制品和奶制品,促进生长发育。</text>
+            </view>
+            <view class="info-item">
+              <text class="info-age">🥦 蔬菜水果</text>
+              <text class="info-desc">每天吃 5 份以上蔬菜水果,不同颜色搭配,获取丰富的维生素、矿物质和膳食纤维。</text>
+            </view>
+            <view class="info-item">
+              <text class="info-age">🥛 奶制品</text>
+              <text class="info-desc">每天 300-500ml 奶制品,如牛奶、酸奶、奶酪,补充钙质和蛋白质,强健骨骼。</text>
+            </view>
+          </view>
+        </view>
+      </view>
+
+      <view class="card">
+        <view class="card-accent"></view>
+        <view class="card-body">
+          <text class="card-title">儿童营养要点</text>
+          <view class="info-list">
+            <view class="info-item">
+              <text class="info-age">钙</text>
+              <text class="info-desc">促进骨骼和牙齿发育。来源:牛奶、酸奶、豆腐、绿叶蔬菜、小鱼干。</text>
+            </view>
+            <view class="info-item">
+              <text class="info-age">铁</text>
+              <text class="info-desc">预防贫血,保证大脑供氧。来源:红肉、动物肝脏、菠菜、豆类、强化谷物。</text>
+            </view>
+            <view class="info-item">
+              <text class="info-age">蛋白质</text>
+              <text class="info-desc">身体组织和细胞的基础材料。来源:鸡蛋、鱼肉、鸡胸肉、牛奶、豆制品。</text>
+            </view>
+            <view class="info-item">
+              <text class="info-age">维生素</text>
+              <text class="info-desc">维持免疫力和新陈代谢。来源:各类蔬菜水果,特别是橙子、胡萝卜、西兰花。</text>
+            </view>
+          </view>
+        </view>
+      </view>
+
+      <view class="card">
+        <view class="card-accent"></view>
+        <view class="card-body">
+          <text class="card-title">饮食搭配建议</text>
+          <view class="info-list">
+            <view class="info-item">
+              <text class="info-age">重视早餐</text>
+              <text class="info-desc">早餐提供全天 25-30% 的能量,保证谷物、蛋白质、水果搭配,开启活力一天。</text>
+            </view>
+            <view class="info-item">
+              <text class="info-age">减少糖分</text>
+              <text class="info-desc">控制含糖饮料和零食摄入,减少龋齿和肥胖风险,培养清淡口味。</text>
+            </view>
+            <view class="info-item">
+              <text class="info-age">充足饮水</text>
+              <text class="info-desc">每天饮水 800-1400ml(根据年龄),以白开水为主,少量多次,保持身体水分平衡。</text>
+            </view>
+          </view>
+        </view>
+      </view>
+    </scroll-view>
+  </view>
+</template>
+
+<script>
+export default {
+  data() {
+    return {}
+  },
+  methods: {
+    goBack: function() {
+      uni.navigateBack()
+    }
+  }
+}
+</script>
+
+<style scoped>
+.page {
+  min-height: 100vh;
+  background-color: #F5F7FA;
+  display: flex;
+  flex-direction: column;
+}
+
+.nav-bar {
+  display: flex;
+  align-items: center;
+  justify-content: center;
+  height: 88rpx;
+  padding-top: var(--status-bar-height, 0);
+  background-color: #FFFFFF;
+  position: relative;
+  border-bottom: 1rpx solid #f0f0f0;
+}
+
+.nav-back {
+  position: absolute;
+  left: 30rpx;
+  top: 50%;
+  transform: translateY(-50%);
+  padding: 10rpx;
+}
+
+.back-text {
+  font-size: 28rpx;
+  color: #333;
+}
+
+.nav-title {
+  font-size: 32rpx;
+  font-weight: 600;
+  color: #333;
+}
+
+.content {
+  flex: 1;
+  padding: 30rpx;
+}
+
+.card {
+  display: flex;
+  background-color: #FFFFFF;
+  border-radius: 20rpx;
+  margin-bottom: 30rpx;
+  box-shadow: 0 2rpx 12rpx rgba(0, 0, 0, 0.06);
+  overflow: hidden;
+}
+
+.card-accent {
+  width: 8rpx;
+  background-color: #FF8C42;
+  flex-shrink: 0;
+}
+
+.card-body {
+  flex: 1;
+  padding: 30rpx;
+}
+
+.card-title {
+  font-size: 30rpx;
+  font-weight: 600;
+  color: #333;
+  margin-bottom: 24rpx;
+  display: block;
+}
+
+.info-list {
+  display: flex;
+  flex-direction: column;
+  gap: 20rpx;
+}
+
+.info-item {
+  display: flex;
+  flex-direction: column;
+  gap: 6rpx;
+}
+
+.info-age {
+  font-size: 26rpx;
+  font-weight: 500;
+  color: #FF8C42;
+  display: block;
+}
+
+.info-desc {
+  font-size: 24rpx;
+  color: #666;
+  line-height: 1.6;
+  display: block;
+}
+</style>

+ 186 - 0
cfc-frontend/pages/health/exercise-index.vue

@@ -0,0 +1,186 @@
+<template>
+  <view class="page">
+    <view class="nav-bar">
+      <view class="nav-back" @tap="goBack">
+        <text class="back-text">‹ 返回</text>
+      </view>
+      <text class="nav-title">运动</text>
+    </view>
+
+    <scroll-view class="content" scroll-y>
+      <view class="card">
+        <view class="card-accent"></view>
+        <view class="card-body">
+          <text class="card-title">每日运动建议</text>
+          <view class="info-list">
+            <view class="info-item">
+              <text class="info-age">3-6 岁(学龄前)</text>
+              <text class="info-desc">每天至少 60 分钟中等强度运动,以游戏和趣味活动为主,如跑步、跳跃、球类游戏。</text>
+            </view>
+            <view class="info-item">
+              <text class="info-age">6-12 岁(学龄期)</text>
+              <text class="info-desc">每天 60 分钟以上中等强度运动,每周至少 3 次高强度有氧运动,如游泳、骑自行车、跳绳。</text>
+            </view>
+            <view class="info-item">
+              <text class="info-age">12-18 岁(青少年)</text>
+              <text class="info-desc">每天 60 分钟中高强度运动,每周 3 次力量训练,培养终身运动习惯。</text>
+            </view>
+          </view>
+        </view>
+      </view>
+
+      <view class="card">
+        <view class="card-accent"></view>
+        <view class="card-body">
+          <text class="card-title">运动类型推荐</text>
+          <view class="info-list">
+            <view class="info-item">
+              <text class="info-age">🏃 有氧运动</text>
+              <text class="info-desc">提高心肺功能,增强耐力。推荐:跑步、游泳、骑自行车、跳绳、球类运动。</text>
+            </view>
+            <view class="info-item">
+              <text class="info-age">💪 力量训练</text>
+              <text class="info-desc">增强肌肉力量和骨骼密度。推荐:俯卧撑、仰卧起坐、深蹲、弹力带训练。</text>
+            </view>
+            <view class="info-item">
+              <text class="info-age">🧘 柔韧性训练</text>
+              <text class="info-desc">改善身体灵活性,预防运动损伤。推荐:拉伸、瑜伽、舞蹈、体操。</text>
+            </view>
+          </view>
+        </view>
+      </view>
+
+      <view class="card">
+        <view class="card-accent"></view>
+        <view class="card-body">
+          <text class="card-title">运动安全提示</text>
+          <view class="info-list">
+            <view class="info-item">
+              <text class="info-age">做好热身</text>
+              <text class="info-desc">运动前进行 5-10 分钟动态热身,如慢跑、关节活动,预防肌肉拉伤。</text>
+            </view>
+            <view class="info-item">
+              <text class="info-age">补充水分</text>
+              <text class="info-desc">运动前中后适量饮水,每 15-20 分钟补充 100-150ml 水,避免脱水。</text>
+            </view>
+            <view class="info-item">
+              <text class="info-age">正确姿势</text>
+              <text class="info-desc">保持正确运动姿势,避免过度训练。如有不适立即停止,必要时就医。</text>
+            </view>
+          </view>
+        </view>
+      </view>
+    </scroll-view>
+  </view>
+</template>
+
+<script>
+export default {
+  data() {
+    return {}
+  },
+  methods: {
+    goBack: function() {
+      uni.navigateBack()
+    }
+  }
+}
+</script>
+
+<style scoped>
+.page {
+  min-height: 100vh;
+  background-color: #F5F7FA;
+  display: flex;
+  flex-direction: column;
+}
+
+.nav-bar {
+  display: flex;
+  align-items: center;
+  justify-content: center;
+  height: 88rpx;
+  padding-top: var(--status-bar-height, 0);
+  background-color: #FFFFFF;
+  position: relative;
+  border-bottom: 1rpx solid #f0f0f0;
+}
+
+.nav-back {
+  position: absolute;
+  left: 30rpx;
+  top: 50%;
+  transform: translateY(-50%);
+  padding: 10rpx;
+}
+
+.back-text {
+  font-size: 28rpx;
+  color: #333;
+}
+
+.nav-title {
+  font-size: 32rpx;
+  font-weight: 600;
+  color: #333;
+}
+
+.content {
+  flex: 1;
+  padding: 30rpx;
+}
+
+.card {
+  display: flex;
+  background-color: #FFFFFF;
+  border-radius: 20rpx;
+  margin-bottom: 30rpx;
+  box-shadow: 0 2rpx 12rpx rgba(0, 0, 0, 0.06);
+  overflow: hidden;
+}
+
+.card-accent {
+  width: 8rpx;
+  background-color: #FF8C42;
+  flex-shrink: 0;
+}
+
+.card-body {
+  flex: 1;
+  padding: 30rpx;
+}
+
+.card-title {
+  font-size: 30rpx;
+  font-weight: 600;
+  color: #333;
+  margin-bottom: 24rpx;
+  display: block;
+}
+
+.info-list {
+  display: flex;
+  flex-direction: column;
+  gap: 20rpx;
+}
+
+.info-item {
+  display: flex;
+  flex-direction: column;
+  gap: 6rpx;
+}
+
+.info-age {
+  font-size: 26rpx;
+  font-weight: 500;
+  color: #FF8C42;
+  display: block;
+}
+
+.info-desc {
+  font-size: 24rpx;
+  color: #666;
+  line-height: 1.6;
+  display: block;
+}
+</style>

+ 233 - 0
cfc-frontend/pages/health/gut-index.vue

@@ -0,0 +1,233 @@
+<template>
+  <view class="page">
+    <view class="nav-bar">
+      <view class="nav-back" @tap="goBack">
+        <text class="back-text">‹ 返回</text>
+      </view>
+      <text class="nav-title">菌群</text>
+    </view>
+
+    <scroll-view class="content" scroll-y>
+      <view class="card">
+        <view class="card-accent"></view>
+        <view class="card-body">
+          <text class="card-title">认识肠道菌群</text>
+          <text class="card-desc">肠道菌群是生活在人体肠道内的微生物群落,被称为人体的"第二基因组"。它们对健康起着至关重要的作用:</text>
+          <view class="info-list">
+            <view class="info-item">
+              <text class="info-age">帮助消化吸收</text>
+              <text class="info-desc">分解食物中的纤维素,合成维生素 K 和 B 族维生素,促进营养吸收。</text>
+            </view>
+            <view class="info-item">
+              <text class="info-age">增强免疫力</text>
+              <text class="info-desc">调节免疫系统功能,抵抗有害菌入侵,减少过敏和感染风险。</text>
+            </view>
+            <view class="info-item">
+              <text class="info-age">影响情绪和认知</text>
+              <text class="info-desc">通过"肠脑轴"影响神经递质产生,对情绪、压力和睡眠有重要作用。</text>
+            </view>
+          </view>
+        </view>
+      </view>
+
+      <view class="card">
+        <view class="card-accent"></view>
+        <view class="card-body">
+          <text class="card-title">有益菌食物</text>
+          <view class="info-list">
+            <view class="info-item">
+              <text class="info-age">🥛 发酵乳制品</text>
+              <text class="info-desc">酸奶、开菲尔、发酵乳富含益生菌,直接补充肠道有益菌群。</text>
+            </view>
+            <view class="info-item">
+              <text class="info-age">🥒 发酵蔬菜</text>
+              <text class="info-desc">泡菜、酸菜、纳豆等发酵食品含有丰富益生菌和酶,促进肠道健康。</text>
+            </view>
+            <view class="info-item">
+              <text class="info-age">🌿 高纤维食物</text>
+              <text class="info-desc">燕麦、香蕉、洋葱、大蒜、芦笋等富含益生元,为有益菌提供养料。</text>
+            </view>
+            <view class="info-item">
+              <text class="info-age">🍎 多酚类食物</text>
+              <text class="info-desc">蓝莓、可可、绿茶、核桃富含多酚,促进有益菌生长,抑制有害菌。</text>
+            </view>
+          </view>
+        </view>
+      </view>
+
+      <view class="card">
+        <view class="card-accent"></view>
+        <view class="card-body">
+          <text class="card-title">维护肠道健康</text>
+          <view class="info-list">
+            <view class="info-item">
+              <text class="info-age">均衡饮食</text>
+              <text class="info-desc">多样化饮食,多吃蔬菜水果和全谷物,为肠道菌群提供丰富的营养来源。</text>
+            </view>
+            <view class="info-item">
+              <text class="info-age">充足水分</text>
+              <text class="info-desc">每天饮用足够的水,促进肠道蠕动,帮助消化和排便。</text>
+            </view>
+            <view class="info-item">
+              <text class="info-age">规律运动</text>
+              <text class="info-desc">适度运动促进肠道蠕动,增加肠道菌群多样性,改善肠道环境。</text>
+            </view>
+            <view class="info-item">
+              <text class="info-age">合理使用抗生素</text>
+              <text class="info-desc">抗生素会破坏肠道菌群平衡,遵医嘱使用,必要时补充益生菌。</text>
+            </view>
+          </view>
+        </view>
+      </view>
+
+      <view class="action-section">
+        <view class="action-btn" @tap="goToReportUpload">
+          <text class="action-btn-text">上传检测报告</text>
+        </view>
+      </view>
+    </scroll-view>
+  </view>
+</template>
+
+<script>
+export default {
+  data() {
+    return {}
+  },
+  methods: {
+    goBack: function() {
+      uni.navigateBack()
+    },
+    goToReportUpload: function() {
+      uni.navigateTo({
+        url: '/pages/health/report-upload'
+      })
+    }
+  }
+}
+</script>
+
+<style scoped>
+.page {
+  min-height: 100vh;
+  background-color: #F5F7FA;
+  display: flex;
+  flex-direction: column;
+}
+
+.nav-bar {
+  display: flex;
+  align-items: center;
+  justify-content: center;
+  height: 88rpx;
+  padding-top: var(--status-bar-height, 0);
+  background-color: #FFFFFF;
+  position: relative;
+  border-bottom: 1rpx solid #f0f0f0;
+}
+
+.nav-back {
+  position: absolute;
+  left: 30rpx;
+  top: 50%;
+  transform: translateY(-50%);
+  padding: 10rpx;
+}
+
+.back-text {
+  font-size: 28rpx;
+  color: #333;
+}
+
+.nav-title {
+  font-size: 32rpx;
+  font-weight: 600;
+  color: #333;
+}
+
+.content {
+  flex: 1;
+  padding: 30rpx;
+}
+
+.card {
+  display: flex;
+  background-color: #FFFFFF;
+  border-radius: 20rpx;
+  margin-bottom: 30rpx;
+  box-shadow: 0 2rpx 12rpx rgba(0, 0, 0, 0.06);
+  overflow: hidden;
+}
+
+.card-accent {
+  width: 8rpx;
+  background-color: #FF8C42;
+  flex-shrink: 0;
+}
+
+.card-body {
+  flex: 1;
+  padding: 30rpx;
+}
+
+.card-title {
+  font-size: 30rpx;
+  font-weight: 600;
+  color: #333;
+  margin-bottom: 16rpx;
+  display: block;
+}
+
+.card-desc {
+  font-size: 24rpx;
+  color: #666;
+  line-height: 1.6;
+  display: block;
+  margin-bottom: 20rpx;
+}
+
+.info-list {
+  display: flex;
+  flex-direction: column;
+  gap: 20rpx;
+}
+
+.info-item {
+  display: flex;
+  flex-direction: column;
+  gap: 6rpx;
+}
+
+.info-age {
+  font-size: 26rpx;
+  font-weight: 500;
+  color: #FF8C42;
+  display: block;
+}
+
+.info-desc {
+  font-size: 24rpx;
+  color: #666;
+  line-height: 1.6;
+  display: block;
+}
+
+.action-section {
+  display: flex;
+  justify-content: center;
+  padding: 20rpx 0 40rpx;
+}
+
+.action-btn {
+  background-color: #FF8C42;
+  border-radius: 40rpx;
+  padding: 24rpx 80rpx;
+  box-shadow: 0 4rpx 12rpx rgba(255, 140, 66, 0.3);
+}
+
+.action-btn-text {
+  font-size: 28rpx;
+  color: #FFFFFF;
+  font-weight: 500;
+}
+</style>

+ 198 - 0
cfc-frontend/pages/health/meditation-index.vue

@@ -0,0 +1,198 @@
+<template>
+  <view class="page">
+    <view class="nav-bar">
+      <view class="nav-back" @tap="goBack">
+        <text class="back-text">‹ 返回</text>
+      </view>
+      <text class="nav-title">冥想</text>
+    </view>
+
+    <scroll-view class="content" scroll-y>
+      <view class="card">
+        <view class="card-accent"></view>
+        <view class="card-body">
+          <text class="card-title">冥想的好处</text>
+          <view class="info-list">
+            <view class="info-item">
+              <text class="info-age">减轻压力</text>
+              <text class="info-desc">冥想能降低皮质醇水平,缓解焦虑和紧张,让身心回归平静状态。</text>
+            </view>
+            <view class="info-item">
+              <text class="info-age">提升专注力</text>
+              <text class="info-desc">定期冥想训练能增强注意力持续时间,改善学习和工作效率。</text>
+            </view>
+            <view class="info-item">
+              <text class="info-age">情绪调节</text>
+              <text class="info-desc">培养对自己情绪的觉察能力,减少情绪波动,增强心理韧性。</text>
+            </view>
+            <view class="info-item">
+              <text class="info-age">改善睡眠</text>
+              <text class="info-desc">睡前冥想帮助放松身心,改善入睡困难和睡眠质量。</text>
+            </view>
+          </view>
+        </view>
+      </view>
+
+      <view class="card">
+        <view class="card-accent"></view>
+        <view class="card-body">
+          <text class="card-title">入门冥想方法</text>
+          <view class="info-list">
+            <view class="info-item">
+              <text class="info-age">呼吸觉察</text>
+              <text class="info-desc">专注于自己的呼吸,感受气息进出鼻腔和腹部的起伏,思绪游离时温和地带回呼吸上。</text>
+            </view>
+            <view class="info-item">
+              <text class="info-age">身体扫描</text>
+              <text class="info-desc">从头顶到脚趾,依次关注身体各个部位,觉察感受而不评判,释放紧张。</text>
+            </view>
+            <view class="info-item">
+              <text class="info-age">慈心冥想</text>
+              <text class="info-desc">在心中默念祝福语,将善意和温暖从自己扩展到家人、朋友乃至所有人。</text>
+            </view>
+            <view class="info-item">
+              <text class="info-age">行走冥想</text>
+              <text class="info-desc">在缓慢行走中关注脚步的每一个动作,感受脚底与地面的接触,动静结合。</text>
+            </view>
+          </view>
+        </view>
+      </view>
+
+      <view class="card">
+        <view class="card-accent"></view>
+        <view class="card-body">
+          <text class="card-title">亲子冥想</text>
+          <view class="info-list">
+            <view class="info-item">
+              <text class="info-age">短时开始</text>
+              <text class="info-desc">从每次 3-5 分钟开始,逐渐延长,保持轻松有趣,不要强迫孩子。</text>
+            </view>
+            <view class="info-item">
+              <text class="info-age">引导想象</text>
+              <text class="info-desc">用生动的故事引导孩子想象,如在森林中散步、躺在云朵上,激发好奇心。</text>
+            </view>
+            <view class="info-item">
+              <text class="info-age">融入游戏</text>
+              <text class="info-desc">用趣味方式练习,如"气球呼吸"(吸气鼓腹像气球)、"小火山"(呼气释放能量)。</text>
+            </view>
+            <view class="info-item">
+              <text class="info-age">睡前实践</text>
+              <text class="info-desc">将冥想融入睡前 routine,帮助孩子安静下来,提升睡眠质量和安全感。</text>
+            </view>
+          </view>
+        </view>
+      </view>
+    </scroll-view>
+  </view>
+</template>
+
+<script>
+export default {
+  data() {
+    return {}
+  },
+  methods: {
+    goBack: function() {
+      uni.navigateBack()
+    }
+  }
+}
+</script>
+
+<style scoped>
+.page {
+  min-height: 100vh;
+  background-color: #F5F7FA;
+  display: flex;
+  flex-direction: column;
+}
+
+.nav-bar {
+  display: flex;
+  align-items: center;
+  justify-content: center;
+  height: 88rpx;
+  padding-top: var(--status-bar-height, 0);
+  background-color: #FFFFFF;
+  position: relative;
+  border-bottom: 1rpx solid #f0f0f0;
+}
+
+.nav-back {
+  position: absolute;
+  left: 30rpx;
+  top: 50%;
+  transform: translateY(-50%);
+  padding: 10rpx;
+}
+
+.back-text {
+  font-size: 28rpx;
+  color: #333;
+}
+
+.nav-title {
+  font-size: 32rpx;
+  font-weight: 600;
+  color: #333;
+}
+
+.content {
+  flex: 1;
+  padding: 30rpx;
+}
+
+.card {
+  display: flex;
+  background-color: #FFFFFF;
+  border-radius: 20rpx;
+  margin-bottom: 30rpx;
+  box-shadow: 0 2rpx 12rpx rgba(0, 0, 0, 0.06);
+  overflow: hidden;
+}
+
+.card-accent {
+  width: 8rpx;
+  background-color: #FF8C42;
+  flex-shrink: 0;
+}
+
+.card-body {
+  flex: 1;
+  padding: 30rpx;
+}
+
+.card-title {
+  font-size: 30rpx;
+  font-weight: 600;
+  color: #333;
+  margin-bottom: 24rpx;
+  display: block;
+}
+
+.info-list {
+  display: flex;
+  flex-direction: column;
+  gap: 20rpx;
+}
+
+.info-item {
+  display: flex;
+  flex-direction: column;
+  gap: 6rpx;
+}
+
+.info-age {
+  font-size: 26rpx;
+  font-weight: 500;
+  color: #FF8C42;
+  display: block;
+}
+
+.info-desc {
+  font-size: 24rpx;
+  color: #666;
+  line-height: 1.6;
+  display: block;
+}
+</style>

+ 190 - 0
cfc-frontend/pages/health/sleep-index.vue

@@ -0,0 +1,190 @@
+<template>
+  <view class="page">
+    <view class="nav-bar">
+      <view class="nav-back" @tap="goBack">
+        <text class="back-text">‹ 返回</text>
+      </view>
+      <text class="nav-title">作息</text>
+    </view>
+
+    <scroll-view class="content" scroll-y>
+      <view class="card">
+        <view class="card-accent"></view>
+        <view class="card-body">
+          <text class="card-title">睡眠时长建议</text>
+          <view class="info-list">
+            <view class="info-item">
+              <text class="info-age">3-5 岁(学龄前)</text>
+              <text class="info-desc">每天推荐 10-13 小时睡眠(含午睡),养成固定作息,促进大脑和身体发育。</text>
+            </view>
+            <view class="info-item">
+              <text class="info-age">6-12 岁(学龄期)</text>
+              <text class="info-desc">每天推荐 9-11 小时睡眠,保证充足休息,提升学习注意力和记忆力。</text>
+            </view>
+            <view class="info-item">
+              <text class="info-age">13-18 岁(青少年)</text>
+              <text class="info-desc">每天推荐 8-10 小时睡眠,帮助身体恢复和激素调节,维持良好精神状态。</text>
+            </view>
+          </view>
+        </view>
+      </view>
+
+      <view class="card">
+        <view class="card-accent"></view>
+        <view class="card-body">
+          <text class="card-title">优质睡眠习惯</text>
+          <view class="info-list">
+            <view class="info-item">
+              <text class="info-age">固定作息时间</text>
+              <text class="info-desc">每天同一时间上床和起床,包括周末,帮助身体建立稳定的生物钟。</text>
+            </view>
+            <view class="info-item">
+              <text class="info-age">睡前放松仪式</text>
+              <text class="info-desc">睡前三十分钟进行安静活动,如阅读、听轻音乐、深呼吸,让身心逐渐放松。</text>
+            </view>
+            <view class="info-item">
+              <text class="info-age">减少屏幕时间</text>
+              <text class="info-desc">睡前 1 小时停止使用电子设备,蓝光会抑制褪黑素分泌,影响入睡。</text>
+            </view>
+            <view class="info-item">
+              <text class="info-age">舒适睡眠环境</text>
+              <text class="info-desc">保持卧室安静、黑暗、凉爽,选择舒适的床垫和枕头,营造良好的睡眠氛围。</text>
+            </view>
+          </view>
+        </view>
+      </view>
+
+      <view class="card">
+        <view class="card-accent"></view>
+        <view class="card-body">
+          <text class="card-title">作息规律建议</text>
+          <view class="info-list">
+            <view class="info-item">
+              <text class="info-age">合理作息框架</text>
+              <text class="info-desc">以 21:00-7:00 为参考睡眠时段,根据年龄调整,保证上学日与节假日作息一致。</text>
+            </view>
+            <view class="info-item">
+              <text class="info-age">午睡要适度</text>
+              <text class="info-desc">学龄前儿童可午睡 1-2 小时,学龄期如有需要控制在 30 分钟内,避免影响夜间睡眠。</text>
+            </view>
+            <view class="info-item">
+              <text class="info-age">过渡期调整</text>
+              <text class="info-desc">节假日前后逐渐调整作息,每次调整 15-30 分钟,让孩子平稳过渡,避免睡眠紊乱。</text>
+            </view>
+          </view>
+        </view>
+      </view>
+    </scroll-view>
+  </view>
+</template>
+
+<script>
+export default {
+  data() {
+    return {}
+  },
+  methods: {
+    goBack: function() {
+      uni.navigateBack()
+    }
+  }
+}
+</script>
+
+<style scoped>
+.page {
+  min-height: 100vh;
+  background-color: #F5F7FA;
+  display: flex;
+  flex-direction: column;
+}
+
+.nav-bar {
+  display: flex;
+  align-items: center;
+  justify-content: center;
+  height: 88rpx;
+  padding-top: var(--status-bar-height, 0);
+  background-color: #FFFFFF;
+  position: relative;
+  border-bottom: 1rpx solid #f0f0f0;
+}
+
+.nav-back {
+  position: absolute;
+  left: 30rpx;
+  top: 50%;
+  transform: translateY(-50%);
+  padding: 10rpx;
+}
+
+.back-text {
+  font-size: 28rpx;
+  color: #333;
+}
+
+.nav-title {
+  font-size: 32rpx;
+  font-weight: 600;
+  color: #333;
+}
+
+.content {
+  flex: 1;
+  padding: 30rpx;
+}
+
+.card {
+  display: flex;
+  background-color: #FFFFFF;
+  border-radius: 20rpx;
+  margin-bottom: 30rpx;
+  box-shadow: 0 2rpx 12rpx rgba(0, 0, 0, 0.06);
+  overflow: hidden;
+}
+
+.card-accent {
+  width: 8rpx;
+  background-color: #FF8C42;
+  flex-shrink: 0;
+}
+
+.card-body {
+  flex: 1;
+  padding: 30rpx;
+}
+
+.card-title {
+  font-size: 30rpx;
+  font-weight: 600;
+  color: #333;
+  margin-bottom: 24rpx;
+  display: block;
+}
+
+.info-list {
+  display: flex;
+  flex-direction: column;
+  gap: 20rpx;
+}
+
+.info-item {
+  display: flex;
+  flex-direction: column;
+  gap: 6rpx;
+}
+
+.info-age {
+  font-size: 26rpx;
+  font-weight: 500;
+  color: #FF8C42;
+  display: block;
+}
+
+.info-desc {
+  font-size: 24rpx;
+  color: #666;
+  line-height: 1.6;
+  display: block;
+}
+</style>