Просмотр исходного кода

Merge branch 'cfclub' of https://git.iwintrue.com/liaoxg/cfc into cfclub

Xiaogang Liao 2 месяцев назад
Родитель
Сommit
02e4a9c09e

+ 0 - 1
.omo/config.jsonc

@@ -1 +0,0 @@
-{"codegraph":{"enabled":true,"auto_provision":true,"telemetry":false}}

+ 1 - 1
cfc-web/.last_build_commit

@@ -1 +1 @@
-9c8908fe52e5e8ecf6d3a2b3bef595dba068abb3
+58115bebefdfeed800beab56ec4a3a04885a9234

+ 2 - 2
cfc-web/package-lock.json

@@ -1,12 +1,12 @@
 {
   "name": "cfc-web",
-  "version": "1.0.898",
+  "version": "1.0.901",
   "lockfileVersion": 3,
   "requires": true,
   "packages": {
     "": {
       "name": "cfc-web",
-      "version": "1.0.898",
+      "version": "1.0.901",
       "dependencies": {
         "@wangeditor/editor": "^5.1.23",
         "@wangeditor/editor-for-vue": "^1.0.2",

+ 1 - 1
cfc-web/package.json

@@ -1,6 +1,6 @@
 {
   "name": "cfc-web",
-  "version": "1.0.899",
+  "version": "1.0.902",
   "private": true,
   "scripts": {
     "dev": "vue-cli-service serve",

+ 22 - 0
cfc-web/public/CHANGELOG-v1.0.md

@@ -4,6 +4,28 @@
 
 ---
 
+## v1.0.902 (2026-08-09)
+
+### 文档
+- 健康数据中心实现计划(12任务,3批次)
+
+
+## v1.0.901 (2026-08-09)
+
+### 文档
+- 健康数据中心实现计划(12任务,3批次)
+
+
+## v1.0.900 (2026-08-09)
+
+### 新功能
+- 新增LifetimeStatsMapper消费/销售滚动365天聚合查询
+- getPricingPlans 改读membership_levels并过滤LIFETIME(下线sys_config价格)
+- 插入LIFETIME终身会员等级行(migration 204)
+- membership_levels 添加原价列并幂等同步价格(migration 203)
+- 会员等级实体/DTO增加原价字段, 升级记录增加审批字段
+
+
 ## v1.0.899 (2026-08-09)
 
 ### Bug 修复

+ 23 - 1
cfc-web/public/CHANGELOG.md

@@ -1,6 +1,6 @@
 # 更新日志
 
-> 当前版本: v1.0.899
+> 当前版本: v1.0.902
 
 ## 历史版本
 
@@ -8,6 +8,28 @@
 
 ---
 
+## v1.0.902 (2026-08-09)
+
+### 文档
+- 健康数据中心实现计划(12任务,3批次)
+
+
+## v1.0.901 (2026-08-09)
+
+### 文档
+- 健康数据中心实现计划(12任务,3批次)
+
+
+## v1.0.900 (2026-08-09)
+
+### 新功能
+- 新增LifetimeStatsMapper消费/销售滚动365天聚合查询
+- getPricingPlans 改读membership_levels并过滤LIFETIME(下线sys_config价格)
+- 插入LIFETIME终身会员等级行(migration 204)
+- membership_levels 添加原价列并幂等同步价格(migration 203)
+- 会员等级实体/DTO增加原价字段, 升级记录增加审批字段
+
+
 ## v1.0.899 (2026-08-09)
 
 ### Bug 修复

+ 355 - 0
docs/superpowers/specs/2026-08-09-health-data-center-plan.md

@@ -0,0 +1,355 @@
+# 健康数据中心 — 实现计划
+
+**源文档**: docs/superpowers/specs/2026-08-08-health-data-center-design.md
+**日期**: 2026-08-09
+**分支**: cfclub
+
+---
+
+## 一、Codebase 现状核查(与 spec 差异)
+
+| 项 | spec 描述 | 实际现状 | 影响 |
+|---|---|---|---|
+| 身维度首页路径 | `pages/body/index.vue` | **不存在**;实际为 `pages/body-detail/index.vue`(pages.json:883-890) | 改造目标文件需修正 |
+| 迁移编号 | spec §8.2 写"迁移194" | 当前最高迁移为 **迁移203**(notices表) | 新迁移编号应为 迁移204 |
+| dimension-questionnaire 维度 | spec §6.1 要新增 cognitive/mental/relationship | 现有仅 7 个体质维度(growth/sleep/vision/immunity/nutrition/gut/exercise) | 需新增题目+后端 DIMENSIONS 列表扩展 |
+| LangGraph 端点 | spec §7.2 调用 `analysis/run` | Python 侧 `/api/v1/analysis/run` 存在(`cfc-langgraph/app/api/adapter.py:124`);Java 侧需走 AiGateway | 需补充 AiGateway 方法 |
+| health_plans 表 | spec §7.3 建表 | 不存在 | 需新建 |
+| RadarChart 复用 | spec 未说明 | `components/RadarChart.vue:34-43` 已支持 props `{dimensions, scores, avgScores}` | **无需扩展**,直接复用 |
+
+---
+
+## 二、任务分解
+
+### Batch A — 数据库 + 实体(串行,依赖无)
+
+**任务 1: 迁移204 — 创建 health_plans 表**
+
+文件: `cfc-backend/src/main/java/com/etotem/cfc/config/DatabaseInitializer.java`(在迁移203后追加)
+
+DDL(与 spec §7.3 一致,补充 deleted 字段支持软删除):
+```sql
+CREATE TABLE IF NOT EXISTS health_plans (
+  id BIGINT AUTO_INCREMENT PRIMARY KEY,
+  family_id BIGINT NOT NULL COMMENT '家庭ID',
+  member_ids VARCHAR(200) NOT NULL COMMENT '目标成员ID列表(逗号分隔)',
+  dimensions VARCHAR(100) NOT NULL COMMENT '维度列表(逗号分隔)',
+  goal TEXT NOT NULL COMMENT '用户输入的目标',
+  plan_content TEXT COMMENT 'LangGraph生成的方案内容(JSON/HTML)',
+  member_name VARCHAR(50) COMMENT '成员名称摘要',
+  deleted TINYINT DEFAULT 0 COMMENT '软删标记(0=正常 1=已删)',
+  created_at DATETIME DEFAULT CURRENT_TIMESTAMP,
+  updated_at DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
+  INDEX idx_family (family_id),
+  INDEX idx_created (created_at)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='健康方案汇总记录';
+```
+
+同步修改 `cfc-backend/src/main/resources/schema.sql`(文件末尾追加 CREATE TABLE)。
+
+**QA 场景**:
+- `mvn clean compile` 通过
+- 启动后查日志 "已创建health_plans表"
+- 连接数据库执行 `DESCRIBE health_plans` 确认字段存在
+
+---
+
+**任务 2: HealthPlan 实体 + Mapper**
+
+新建:
+- `cfc-backend/src/main/java/com/etotem/cfc/entity/HealthPlan.java`(字段与 DDL 一一对应)
+- `cfc-backend/src/main/java/com/etotem/cfc/mapper/HealthPlanMapper.java`(extends BaseMapper<HealthPlan>)
+
+**QA 场景**:
+- `mvn clean compile` 通过,无编译错误
+
+---
+
+### Batch B — 服务层 + API 契约(可并行)
+
+**任务 3: HealthPlanService + ServiceImpl**
+
+新建:
+- `cfc-backend/src/main/java/com/etotem/cfc/service/HealthPlanService.java`
+- `cfc-backend/src/main/java/com/etotem/cfc/service/impl/HealthPlanServiceImpl.java`
+
+接口方法:
+```java
+Long savePlan(Long familyId, Long adminId, String memberIds, String dimensions, String goal, String planContent, String memberName);
+List<HealthPlan> listPlans(Long familyId, Integer page, Integer size);
+HealthPlan getPlan(Long id, Long userId);   // 校验 familyId 归属
+void deletePlan(Long id, Long userId);      // 软删除:deleted=1,校验归属
+```
+
+**QA 场景**:
+- `mvn clean compile` 通过
+- 单元测试(如有)或手动调接口验证 CRUD
+
+---
+
+**任务 4: AiGateway — 新增 generateHealthPlan 方法**
+
+文件: `cfc-backend/src/main/java/com/etotem/cfc/service/AiGateway.java`
+
+新增方法(与现有 `generateQuestionnaire` 行185-216 模式一致):
+```java
+public String generateHealthPlan(Map<String, Object> inputs) {
+    if (!enabled || baseUrl == null) return null;
+    try {
+        String url = baseUrl + "/api/v1/analysis/run";
+        HttpEntity<String> entity = new HttpEntity<>(JSON.toJSONString(inputs), headers());
+        ResponseEntity<String> resp = restTemplate.postForEntity(url, entity, String.class);
+        // 解析返回的 content/result 字段
+        return extractContent(resp.getBody());
+    } catch (Exception e) {
+        log.warn("AiGateway generateHealthPlan 失败: {}", e.getMessage());
+        return null;
+    }
+}
+```
+
+**QA 场景**:
+- `mvn clean compile` 通过
+- 单元测试或手动调 AiGateway(Python 服务未运行时返回 null,不抛异常)
+
+---
+
+**任务 5: DimensionScoreService DIMENSIONS 列表扩展**
+
+文件: `cfc-backend/src/main/java/com/etotem/cfc/service/impl/DimensionScoreServiceImpl.java`
+
+在 `DIMENSIONS` 列表(行39-47)末尾追加:
+```java
+new String[]{"cognitive",    "认知能力"},
+new String[]{"mental",       "心理健康"},
+new String[]{"relationship", "关系质量"},
+```
+
+**注意**: `submitQuestionnaire` 方法(行208-237)无维度白名单校验,传入新维度码可直接写入 health_dimension_scores 表。但 `getDimensionOverview` 和 `getDimensionHistory` 依赖 DIMENSIONS 列表来展示,扩展后前端可正常获取数据。
+
+**QA 场景**:
+- `mvn clean compile` 通过
+- 调 `POST /api/dimension/overview?dimension=cognitive` 返回数据结构与现有维度一致
+
+---
+
+**任务 6: 前端 API 函数声明(无需等后端编译)**
+
+文件: `cfc-frontend/utils/api.js`
+
+新增:
+```javascript
+export const generateHealthPlan = (data) => {
+  return request('/api/health/plan/generate', 'POST', data)
+}
+export const getHealthPlanList = (familyId) => {
+  return request('/api/health/plan/list', 'POST', { familyId })
+}
+export const saveHealthPlan = (data) => {
+  return request('/api/health/plan/save', 'POST', data)
+}
+export const deleteHealthPlan = (id) => {
+  return request('/api/health/plan/delete', 'POST', { id })
+}
+```
+
+**QA 场景**:
+- 语法检查:`node -e "require('./utils/api.js')"` 无 Unexpected token
+
+---
+
+**任务 7: pages.json 注册 health-plan-summary 页面**
+
+文件: `cfc-frontend/pages.json`,在 `pages/health` 分包末尾追加:
+```json
+{
+  "path": "health-plan-summary",
+  "style": {
+    "navigationBarTitleText": "方案汇总"
+  }
+}
+```
+
+**QA 场景**:
+- HBuilderX 或命令行检查 pages.json JSON 语法:`node -e "JSON.parse(require('fs').readFileSync('pages.json','utf8'))"` 无异常
+
+---
+
+### Batch C — Controller 层(依赖 Batch A+B 的实体/服务)
+
+**任务 8: HealthPlanController(小程序前端接口)**
+
+新建: `cfc-backend/src/main/java/com/etotem/cfc/controller/health/HealthPlanController.java`
+
+端点:
+| 方法 | 路径 | 说明 |
+|---|---|---|
+| POST | `/api/health/plan/generate` | 调 LangGraph 生成方案并返回结果 |
+| POST | `/api/health/plan/save` | 保存方案到 health_plans 表 |
+| POST | `/api/health/plan/list` | 查询当前用户家庭的历史方案列表 |
+| POST | `/api/health/plan/detail` | 查询方案详情 |
+| POST | `/api/health/plan/delete` | 软删除方案 |
+
+**QA 场景**:
+- `mvn clean compile` 通过
+- 用 curl 手动调 `/api/health/plan/list` 返回 JSON(未登录返回 401)
+
+---
+
+**任务 9: AdminHealthPlanController(管理后台接口,可选 MVP)**
+
+新建: `cfc-backend/src/main/java/com/etotem/cfc/controller/admin/AdminHealthPlanController.java`
+
+端点:
+- `POST /api/admin/health-plans/list` — 分页查询全平台方案列表
+- `POST /api/admin/health-plans/delete` — 管理员强制删除
+
+**QA 场景**:
+- `mvn clean compile` 通过
+
+---
+
+### Batch D — 小程序前端页面(依赖 Batch C 的 API 端点)
+
+**任务 10: dimension-questionnaire.vue 扩展**
+
+文件: `cfc-frontend/pages/body-detail/dimension-questionnaire.vue`(546 行)
+
+改动:
+1. `dimensions` 数组(行95-103)新增 3 项(spec §6.1)
+2. `questions` 对象(行105-221)新增 cognitive/mental/relationship 三组题库(spec §6.2-6.4,每组 8 题)
+3. `onLoad` 增加 `dim` 参数支持(spec §6.5):
+   ```javascript
+   onLoad(options) {
+     if (options.dim) {
+       this.selectedDimension = options.dim
+       this.step = 2  // 跳过选维度,直接进入答题
+     }
+     // 原有逻辑保留
+   }
+   ```
+4. 答题完成结果页新增"返回数据中心"按钮(跳回 body-detail/index.vue)
+
+**QA 场景**:
+- HBuilderX 打包无语法错误
+- 微信开发者工具打开 `/pages/body-detail/dimension-questionnaire?dim=cognitive&memberId=1`,直接进入答题页
+
+---
+
+**任务 11: body-detail/index.vue 改造为健康数据中心**
+
+文件: `cfc-frontend/pages/body-detail/index.vue`(676 行)
+
+改造要点:
+1. **新增 Tab 栏**(PageBanner 下方):身(橙)/智(靛)/心(粉)/行(绿),切换时仅刷新雷达图区域
+2. **雷达图随 Tab 切换**:
+   - 身 → 现有七维雷达图(growth/sleep/vision/immunity/nutrition/gut/exercise)
+   - 智 → 五维蛛网图(记忆力/注意力/逻辑推理/空间想象/语言表达),color=#6366F1
+   - 心 → 五维图(情绪稳定性/抗压能力/自我认知/社交意愿/幸福感),color=#FF6B9D
+   - 行 → 五维图(亲子关系/夫妻关系/亲友关系/同事关系/社区参与),color=#10B981
+3. **移除 funcList 功能网格**(运动/饮食/作息/冥想/舌诊/健康维度)
+4. **新增"看见·健康数据中心"区块**:
+   - 数据采集卡片1:上传健康报告 → `/pages/health/report-upload`
+   - 数据采集卡片2:在线测评(认知/心理/关系 三个入口,各带开始/已完成分数)
+   - 数据查看卡片:最近报告/测评摘要(无数据时显示空状态提示)
+   - 方案汇总卡片:上次方案摘要 + [生成新方案] 按钮 → `/pages/health/health-plan-summary`
+5. **弱化活动/商品/文章区**(收窄宽度至 80%,opacity 0.7)
+6. 保留:RadarChart、FamilyMemberStrip、FamilyEnergyBar、AIFloatingAvatar
+
+**QA 场景**:
+- HBuilderX 打包无语法错误
+- 微信开发者工具:切换身/智/心/行 Tab,雷达图标签和颜色随之变化;无数据时显示"上传报告后显示个人数据"
+
+---
+
+**任务 12: 新建 health-plan-summary.vue**
+
+新文件: `cfc-frontend/pages/health/health-plan-summary.vue`
+
+页面结构(spec §7.1):
+- 顶部导航栏(← 返回)
+- 生成新方案表单:
+  - 维度多选(健康/认知/心理/社会性)
+  - 成员多选(从家庭列表选取,调用 getVisibleFamilyMembers)
+  - 目标输入框(textarea,placeholder:"例如:改善孩子睡眠质量")
+  - [生成方案] 按钮 → 调 generateHealthPlan API
+- 方案结果展示区(HTML 富文本渲染):
+  - [保存方案] → 调 saveHealthPlan API
+  - [重新生成] → 再次调 generateHealthPlan
+- 历史方案列表(按时间倒序,调 getHealthPlanList)
+
+**QA 场景**:
+- HBuilderX 打包无语法错误
+- 微信开发者工具:填写表单 → 生成方案 → 保存 → 返回列表出现新条目
+
+---
+
+## 三、依赖关系图
+
+```
+任务1 (迁移204) ──→ 任务2 (实体+Mapper) ──→ 任务3 (Service)
+                                                       │
+任务6 (API函数) ←──────────────────────────────────────┘
+任务7 (pages.json) ←───────────────────────────────────┘
+                                                       │
+                              ┌────────────────────────┼────────────────────────┐
+                              ▼                        ▼                        ▼
+                         任务4 (AiGateway)       任务5 (DIMENSIONS)      任务8 (Controller)
+                              │                        │                        │
+                              └────────────────────────┴────────────────────────┘
+                                                       │
+                                              任务9 (AdminController,可选)
+                                                       │
+                              ┌────────────────────────┴────────────────────────┐
+                              ▼                                                 ▼
+                         任务10 (问卷扩展)                              任务11 (body-detail改造)
+                              │                                                 │
+                              └────────────────────────┬────────────────────────┘
+                                                       ▼
+                                                 任务12 (方案汇总页)
+```
+
+---
+
+## 四、执行顺序(3个批次)
+
+### 批次 1(串行,无并行依赖)
+- 任务 1 → 任务 2(实体依赖 DDL)
+
+### 批次 2(4项可并行)
+- 任务 3(HealthPlanService,依赖任务2)
+- 任务 4(AiGateway,无依赖)
+- 任务 5(DIMENSIONS扩展,无依赖)
+- 任务 6(API函数声明,无依赖)
+- 任务 7(pages.json注册,无依赖)
+
+### 批次 3(串行,依赖批次2)
+- 任务 8(Controller,依赖任务3+4)
+- 任务 10(问卷扩展,依赖任务5)
+- 任务 11(body-detail改造,依赖任务8 API端点)
+- 任务 12(方案汇总页,依赖任务8+10+11)
+
+---
+
+## 五、风险点
+
+| 风险 | 影响 | 缓解 |
+|---|---|---|
+| LangGraph Python 服务 `/analysis/run` 未部署或返回异常 | 方案生成功能不可用 | AiGateway 已有熔断器,返回 null;Controller 层做 mock fallback(返回预置方案文本) |
+| body-detail/index.vue 现有样式复杂(676行,含大量残留样式) | 改造时易引入样式冲突 | 保留 RadarChart/FamilyMemberStrip/FamilyEnergyBar 组件引用,仅替换 funcList 下方区块;新样式加 `.health-center-` 前缀避免冲突 |
+| dimension-questionnaire 跳转 URL 参数变化 | 现有链接失效 | `dim` 参数为可选,不传时走原有选维度流程 |
+| 五维雷达图标签数据从哪来 | 智/心/行 Tab 的 radarDimensions 如何填充 | 复用 `getDimensionOverview`,传 dimension=cognitive/mental/relationship;后端 DIMENSIONS 列表扩展后,返回对应五维分值 |
+| 迁移204 幂等性 | 重复部署不报错 | 使用 `CREATE TABLE IF NOT EXISTS`(与现有迁移203一致) |
+
+---
+
+## 六、验收标准
+
+1. **任务1+2**: `mvn clean compile` 通过;数据库有 health_plans 表,含 deleted 字段
+2. **任务3+8**: 调 `POST /api/health/plan/save` 写入一条记录;调 `POST /api/health/plan/list` 返回该记录
+3. **任务4**: AiGateway.generateHealthPlan 在无 Python 服务时返回 null(不抛异常)
+4. **任务5**: 调 `POST /api/dimension/overview?dimension=cognitive` 返回正常数据结构(即使分值为0)
+5. **任务10**: 微信开发者工具打开 `?dim=cognitive&memberId=1` 直接进入答题页,8题完整可作答
+6. **任务11**: 切换身/智/心/行 Tab,雷达图标签和颜色正确变化;数据中心区块可见
+7. **任务12**: 生成方案 → 保存 → 返回列表出现新条目;历史方案可点击查看
+8. **编译**: 无 Java 编译错误(`mvn clean compile`);无 Vue/JS 语法错误(HBuilderX 打包无 Unexpected token)

+ 263 - 0
docs/superpowers/specs/2026-08-09-login-before-redesign.md

@@ -0,0 +1,263 @@
+# 登录前页面改版设计
+
+**日期**: 2026-08-09
+**关联设计**: 健康数据中心设计 (2026-08-08)
+**状态**: 设计稿
+
+---
+
+## 一、目标
+
+1. 提升登录转化率:用户登录后能立刻获得可感知的价值
+2. 为健康数据中心改版做准备:四个维度页面登录后需展示底部"维度介绍卡片"
+3. 保持品牌调性:五维幸福、科技+温情
+
+---
+
+## 二、登录前各核心页面设计
+
+### 2.1 首页(pages/index-home/index.vue)
+
+**当前状态**(游客态 discover-container :184-316):
+- PageBanner「浠艾福 · Care Family」
+- 五维沙盘 preview 模式(badge「登录查看完整报告」)
+- 热门推荐商品 / 热门活动 / 推荐阅读(占位卡)
+- 底部固定「登录/注册」按钮
+
+**改版设计**:
+
+```
+┌────────────────────────────────┐
+│  🏠 浠艾福 · Care Family       │  ← PageBanner(保留)
+├────────────────────────────────┤
+│  给全家的一站式幸福提案         │  ← 新增:品牌定位语
+│  身·心·智·行·富 五维成长       │
+├────────────────────────────────┤
+│  [五维沙盘 preview 模式]       │  ← 保留,点击跳转登录
+├────────────────────────────────┤
+│  🔥 热门推荐                    │
+│  ┌──────┐ ┌──────┐ ┌──────┐  │
+│  │商品卡│ │商品卡│ │商品卡│  │
+│  └──────┘ └──────┘ └──────┘  │
+├────────────────────────────────┤
+│  📰 近期活动                    │
+│  ┌──────────────────────┐    │
+│  │活动卡(标题+时间+图标)│    │
+│  └──────────────────────┘    │
+├────────────────────────────────┤
+│  📖 精选文章                    │
+│  ┌──────┐ ┌──────┐ ┌──────┐  │
+│  │文章卡│ │文章卡│ │文章卡│  │
+│  └──────┘ └──────┘ └──────┘  │
+├────────────────────────────────┤
+│  👤 登录/注册  ← 底部固定按钮  │
+│  已有账号?立即登录 ›          │
+└────────────────────────────────┘
+```
+
+**改动点**:
+- PageBanner 下方新增品牌定位语区块(橙色渐变底)
+- 热门内容区保留,增强视觉吸引力
+- 底部登录按钮升级为渐变主按钮(#F97316→#FB923C)
+- 新增"已有账号?立即登录 ›"链接,引导快速登录
+
+---
+
+### 2.2 健康页(pages/body-detail/index.vue)
+
+**当前状态**(游客态 :39-48):
+- LoginGuideCard「登录后查看全家健康数据」+ 3 条权益
+- HealthTips(悬挂引用,实际不渲染)
+- 七维雷达图(人群均值)+ 功能入口 grid(全部需要登录)
+
+**改版设计**:
+
+```
+┌────────────────────────────────┐
+│  🌏 身 · 主动健康              │  ← PageBanner(保留)
+├────────────────────────────────┤
+│  身体健康是幸福的基础           │  ← 新增:品牌定位语
+│  科学管理全家健康数据           │
+├────────────────────────────────┤
+│  📊 七维健康数据                │  ← 雷达图(保留,人群均值展示)
+│  [雷达图 + 同龄平均值提示]      │
+├────────────────────────────────┤
+│  💡 您还没有健康数据            │  ← 新增:LoginGuideCard 升级版
+│  · 查看全家身体能量数据         │
+│  · 上传体检/肠道/舌诊报告       │  ← 更新:具体化权益
+│  · 记录每日健康打卡,获取能量   │
+│  [🔒 立即登录]                  │
+├────────────────────────────────┤
+│  📋 功能入口                    │
+│  ┌────┐ ┌────┐ ┌────┐ ┌────┐ │
+│  │运动│ │饮食│ │作息│ │冥想│ │
+│  └────┘ └────┘ └────┘ └────┘ │
+├────────────────────────────────┤
+│  🔬 精准营养(登录后)          │  ← 保留现有登录区块
+│  [上传健康报告卡片]             │
+├────────────────────────────────┤
+│  AIFloatingAvatar              │  ← 保留
+└────────────────────────────────┘
+```
+
+**改动点**:
+- 新增品牌定位语(橙色渐变底,与首页一致)
+- LoginGuideCard 文案更新:具体化"上传报告""记录打卡"等权益
+- HealthTips 替换为更简洁的引导文案
+- 精准营养区块(目前仅上传报告卡)保留
+- 修复 funcList 中的死链(/pages/body/exercise-record、/pages/body/sleep-record 改为 /pages/body-detail/exercise-record 等,或移除)
+
+---
+
+### 2.3 成长页(pages/mind-detail/index.vue)
+
+**当前状态**(游客态 :30-38):
+- LoginGuideCard「登录后查看心理成长报告」+ 3 条权益
+- 功能入口 grid 8 项(仅"阅读"无需登录)
+
+**改版设计**:
+
+```
+┌────────────────────────────────┐
+│  🔥 心 · 大爱相随              │  ← PageBanner(保留)
+├────────────────────────────────┤
+│  心智成长 · 智慧人生           │  ← 新增:品牌定位语
+│  关注全家心理健康              │
+├────────────────────────────────┤
+│  💡 探索心理成长                │  ← 新增: LoginGuideCard 升级版
+│  · EMI 心理测评四维分析         │
+│  · 大五人格报告 + 情绪趋势      │
+│  · 专属文章 + 情绪打卡         │
+│  [🔒 立即登录]                  │
+├────────────────────────────────┤
+│  📋 功能入口                    │
+│  ┌────┐ ┌────┐ ┌────┐ ┌────┐ │
+│  │阅读│ │测评│ │档案│ │打卡│ │
+│  └────┘ └────┘ └────┘ └────┘ │
+│  ┌────┐ ┌────┐ ┌────┐ ┌────┐ │
+│  │趋势│ │自评│ │天盘│ │疏导│ │
+│  └────┘ └────┘ └────┘ └────┘ │
+├────────────────────────────────┤
+│  AIFloatingAvatar              │  ← 保留
+└────────────────────────────────┘
+```
+
+**改动点**:
+- 新增品牌定位语
+- LoginGuideCard 文案更新:具体化"EIMI 测评""大五人格""情绪趋势"等权益
+- 功能入口保留,但需确认各入口的跳转链接是否正确
+
+---
+
+### 2.4 我的页(pages/profile-main/profile.vue)
+
+**当前状态**(游客态 :5-10):
+- login-prompt 区块:大图标 + 标题「登录浠艾福」+ 描述 + 渐变按钮
+
+**改版设计**:
+
+```
+┌────────────────────────────────┐
+│                                 │
+│           👤                    │
+│       登录浠艾福                 │
+│                                 │
+│   登录后查看个人资料             │
+│   积分记录、能量数据、家庭管理   │
+│                                 │
+│  ┌──────────────────────┐      │
+│  │   登录 / 注册         │      │  ← 渐变主按钮(#667eea→#764ba2)
+│  └──────────────────────┘      │
+│                                 │
+│  ─────── 或 ───────             │
+│                                 │
+│  暂不登录,先逛逛 ›             │  ← 新增:跳过入口
+│                                 │
+├────────────────────────────────┤
+│  AIFloatingAvatar              │  ← 保留
+└────────────────────────────────┘
+```
+
+**改动点**:
+- 视觉优化:增大图标,增强品牌感
+- 描述文案更新:具体化"积分、能量、家庭管理"
+- 新增"暂不登录,先逛逛"链接(跳转 index-home)
+- 颜色与登录页保持一致(紫渐变 #667eea→#764ba2)
+
+---
+
+## 三、登录后各维度底部"维度介绍卡片"设计
+
+### 3.1 卡片结构
+
+```
+┌────────────────────────────────┐
+│  [维度图标]  [维度名称]         │  ← 头部:图标 + 名称
+│  [维度英文] [核心定位语]         │  ← 副标题
+├────────────────────────────────┤
+│  ● 核心功能 1                    │
+│  ● 核心功能 2                    │
+│  ● 核心功能 3                    │
+├────────────────────────────────┤
+│  [了解更多 ›]                   │  ← 跳转知识库/文章
+└────────────────────────────────┘
+```
+
+### 3.2 各维度卡片内容
+
+| 维度 | 图标 | 名称 | 定位语 | 核心功能 |
+|------|------|------|--------|---------|
+| 身 | 🌏 | 身 · 主动健康 | 科学管理全家健康数据 | 七维雷达图 · 健康报告 · 能量打卡 · 精准营养 |
+| 心 | 🔥 | 心 · 大爱相随 | 关注全家心理健康成长 | EMI 测评 · 情绪趋势 · 家庭天盘 · 疏导工具 |
+| 智 | ⚡ | 智 · 赋能未来 | 提升全家认知与学习能力 | 认知雷达 · 认知训练 · 测评预约 · 成长档案 |
+| 行 | 🌿 | 行 · 人际和谐 | 改善全家关系与沟通能力 | 关系问卷 · 互动记录 · 任务协作 · 家庭挑战 |
+
+### 3.3 视觉规范
+
+- **背景色**:对应维度色 + 渐变(从亮到淡)
+  - 身:#FFF7ED → rgba(255,140,66,0.15)
+  - 心:#FFF0F5 → rgba(255,107,157,0.15)
+  - 智:#F0F0FF → rgba(99,102,241,0.15)
+  - 行:#F0FFF4 → rgba(16,185,129,0.15)
+- **字体**:名称 28rpx bold,定位语 22rpx #666,功能列表 24rpx #333
+- **圆角**:16rpx
+- **阴影**:0 2rpx 8rpx rgba(0,0,0,0.04)
+- **位置**:插入在 bottom-spacer 之前(AIFloatingAvatar 之前)
+
+### 3.4 实现位置
+
+| 页面 | 插入位置 | 当前行号 |
+|------|---------|---------|
+| body-detail/index.vue | bottom-spacer 之前 | 94 |
+| mind-detail/index.vue | bottom-spacer 之前 | 132 |
+| wisdom-detail/index.vue | bottom-spacer 之前 | 107 |
+| action-detail/member-action-detail.vue | DimensionProducts 之后 | 60 |
+
+---
+
+## 四、实施步骤
+
+1. **登录前改版**(3 个页面)
+   - [ ] body-detail/index.vue:品牌定位语 + LoginGuideCard 升级
+   - [ ] mind-detail/index.vue:品牌定位语 + LoginGuideCard 升级
+   - [ ] profile-main/profile.vue:视觉优化 + 新增跳过入口
+
+2. **登录后介绍卡片**(4 个维度)
+   - [ ] body-detail/index.vue:新增 身维度介绍卡片
+   - [ ] mind-detail/index.vue:新增 心维度介绍卡片
+   - [ ] wisdom-detail/index.vue:新增 智维度介绍卡片
+   - [ ] action-detail/member-action-detail.vue:新增 行维度介绍卡片
+
+3. **统一组件**(可选)
+   - [ ] 新建 DimensionIntroCard.vue 组件,支持 props: dimCode, title, subtitle, features[]
+   - [ ] 四个页面复用同一组件
+
+---
+
+## 五、验收标准
+
+1. 游客访问首页:可见品牌定位语 + 热门内容 + 登录按钮
+2. 游客访问身/心/智页面:可见品牌定位语 + LoginGuideCard + 功能入口预览
+3. 游客访问我的页:可见登录引导 + "暂不登录"跳转入口
+4. 登录后访问各维度页面:底部可见对应维度介绍卡片(图标+名称+定位语+功能列表)
+5. 卡片样式:颜色、圆角、阴影与规范一致