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

docs: 五维功能-能量映射文档 + 缺失功能补全实施计划

- 新增 2026-07-12-dimension-features-energy-map.md(各维度功能清单与能量值)
- 新增 2026-07-12-wuxing-ke-full-design.md(五克完整设计)
- 新增 2026-07-12-wuxing-homepage-and-conversion-algorithm.md(首页+转化算法)
- 新增 2026-07-12-dimension-pages-gap-fix.md(分阶段实施计划)
- 更新 2026-06-08-five-dimension-wuxing-philosophy.md(克哲学对齐新理解)
asus 3 месяцев назад
Родитель
Сommit
aa4ceb45dc

+ 249 - 0
docs/superpowers/plans/2026-07-12-dimension-pages-gap-fix.md

@@ -0,0 +1,249 @@
+# 五维页面缺失功能补全实施计划
+
+**状态:** 待实施
+**日期:** 2026-07-12
+**分支:** cfclub
+**优先级顺序:** Phase 1 小缺口 → Phase 2 珍珠图/圈子 → Phase 3 富重建
+
+---
+
+## Phase 1:小缺口修补(身·智·心)
+
+### P1-1 身页:健康打卡入口
+
+**文件:**
+- `cfc-frontend/pages/body/index.vue`
+- `cfc-frontend/components/HealthCheckinCard.vue`(新建)
+
+**需求:**
+在身页 DimensionTasks 上方加一个"健康打卡"卡片,调用已有 `health_checkin` API(awardEnergy→身)。
+
+**改动:**
+| 文件 | 改动 |
+|:-----|:------|
+| 新建 `components/HealthCheckinCard.vue` | 打卡卡片组件:今日状态展示 + 打卡按钮 + 连续天数 |
+| `pages/body/index.vue` | 在 FamilyEnergyBar 下方、HealthDimensionsSection 上方插入 `<HealthCheckinCard>` |
+
+**API 依赖:**
+- `POST /api/health/checkin` — 已有,返回今日是否已打卡
+- `POST /api/energy/overview` — 已有,获取身维度能量
+
+**验收:**
+- [ ] 未登录不显示
+- [ ] 已打卡显示"今日已打卡 ✓" + 连续天数
+- [ ] 未打卡显示打卡按钮,点击后调用 API
+
+---
+
+### P1-2 智页:阅读时长展示
+
+**文件:**
+- `cfc-frontend/pages/wisdom/index.vue`
+
+**需求:**
+在认知雷达图下方增加"本月阅读"概览卡片,展示近30天总阅读时长。
+
+**改动:**
+| 文件 | 改动 |
+|:-----|:------|
+| `pages/wisdom/index.vue` | 在认知雷达下方增加阅读统计卡片区块 |
+
+**API 依赖:**
+- `POST /api/article/reading-stats` — 需要确认是否存在,若不存在需后端新增
+- 或复用已有 `DanAssessmentResult` 的阅读时长字段
+
+**验收:**
+- [ ] 显示"本月阅读 X 小时",换算关系 3600秒=1小时
+- [ ] 无阅读数据显示"暂无阅读记录"
+- [ ] 点击跳转阅读详情页
+
+---
+
+### P1-3 心页:天盘相性入门版
+
+**文件:**
+- `cfc-frontend/pages/mind/index.vue`
+- `cfc-backend/.../controller/TianpanController.java`(确认已有)
+
+**需求:**
+在心页 EMI 雷达下方增加"家庭天盘"概览卡片,展示天盘相性分析结果。
+
+**改动:**
+| 文件 | 改动 |
+|:-----|:------|
+| `pages/mind/index.vue` | 在 EMI 雷达和 DimensionArticles 之间插入天盘相性卡片 |
+| 后端 `TianpanService` | 确认已提供相性分析 API |
+
+**API 依赖:**
+- `POST /api/tianpan/compatibility` — 确认已有
+
+**验收:**
+- [ ] 展示家庭各成员之间的相性评分(简化版)
+- [ ] 相性低时显示预警提示
+- [ ] 点击跳转天盘详情页
+
+---
+
+## Phase 2:珍珠图/圈子系统(行)
+
+### 范围
+
+全新功能,影响行页面和富页面(圈子入口)。
+
+### 数据模型
+
+```sql
+-- 圈子表
+CREATE TABLE social_circle (
+  id BIGINT AUTO_INCREMENT PRIMARY KEY,
+  name VARCHAR(100) NOT NULL COMMENT '圈子名称',
+  type VARCHAR(50) NOT NULL COMMENT '类型: topic/activity/hobby/ability/product/health/provider',
+  match_source VARCHAR(50) NOT NULL COMMENT '匹配源: article/activity/game/assessment/product/health_report/teacher',
+  source_id BIGINT COMMENT '匹配源ID',
+  member_count INT DEFAULT 0 COMMENT '成员数',
+  created_at DATETIME DEFAULT CURRENT_TIMESTAMP
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='社交圈/珍珠';
+
+-- 圈子成员表
+CREATE TABLE social_circle_member (
+  id BIGINT AUTO_INCREMENT PRIMARY KEY,
+  circle_id BIGINT NOT NULL,
+  member_id BIGINT NOT NULL COMMENT '用户ID',
+  member_type VARCHAR(20) NOT NULL COMMENT 'parent/child',
+  joined_at DATETIME DEFAULT CURRENT_TIMESTAMP,
+  UNIQUE KEY uk_circle_member (circle_id, member_id)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='圈子成员';
+```
+
+### 后端改动
+
+| 文件 | 改动 |
+|:-----|:------|
+| 新建 `entity/SocialCircle.java` | 圈子实体 |
+| 新建 `entity/SocialCircleMember.java` | 圈子成员实体 |
+| 新建 `mapper/SocialCircleMapper.java` | 圈子 Mapper |
+| 新建 `mapper/SocialCircleMemberMapper.java` | 圈子成员 Mapper |
+| 新建 `service/CircleMatchService.java` | 圈子匹配引擎——基于身·心·智·富共同点发现圈子 |
+| 新建 `service/CircleService.java` | 圈子 CRUD + 成员管理 |
+| 新建 `controller/CircleController.java` | `POST /api/circle/list`, `/join`, `/leave`, `/discover` |
+| `config/DatabaseInitializer.java` | 添加建表迁移 |
+
+### 匹配引擎逻辑
+
+```
+CircleMatchService.discover(childId):
+  1. 共同活动 (行): 查 Activity 中参与同一活动的其他用户 → type=activity
+  2. 共同认知能力 (智): 查 DAN COG 子分差值 < 10 的其他用户 → type=ability
+  3. 共同情绪特征 (心): 查 DAN EMI 子分相近 → type=topic
+  4. 共同身体状况 (身): 查 HealthReport 指标相近 → type=health
+  5. 共同产品 (富): 查 ProductOrder 购买了同商品 → type=product
+  6. 共同服务商 (富·行): 查绑定了同一位 teacher → type=provider
+  7. 合并去重,排除已加入的圈子和自己
+```
+
+### 前端改动
+
+| 文件 | 改动 |
+|:-----|:------|
+| 新建 `components/PearlDiagram.vue` | 珍珠图可视化——以珍珠串形式展示圈子列表 |
+| 新建 `components/CircleCard.vue` | 单个圈子卡片——显示头像聚合 + 圈子名 + 匹配源图标 |
+| 新建 `components/CircleDetail.vue` | 圈子详情页——成员列表 + 互动入口 |
+| `pages/action/index.vue` | 在 FamilyRelationshipSection 上方插入 PearlDiagram |
+| `utils/api.js` | 新增圈子相关 API 方法 |
+
+### 验收
+
+- [ ] 发现页面展示推荐圈子,按匹配度排序
+- [ ] 每个圈显示来源类型(活动/能力/健康/产品等)
+- [ ] 用户可加入/退出圈子
+- [ ] 圈子成员数实时更新
+- [ ] 行页面显示已加入的圈子(珍珠图)
+
+---
+
+## Phase 3:富页面重建
+
+### 范围
+
+将 `pages/wealth/index.vue` 从"个人设置页"完全重建为"富维度展示页"。
+
+### 页面布局(从上到下)
+
+```
+PageBanner (保持不变)
+FamilyEnergyBar (新增——当前缺失)
+  ↓
+用户卡片 (精简版,仅保留头像+昵称+角色切换)
+  ↓
+富维度评分 (新增)
+  ├─ 家长: 金钱收入 | 社会成就 | 资源网络(章鱼图入口)
+  └─ 孩子: 学业成绩 | 积分效率
+  ↓
+身克富预警 (新增——当身<40 且 富>60 时显示)
+  ↓
+章鱼图 (新增——嵌入 FamilyRelationGraph)
+  ↓
+圈子入口 (新增——显示参与中的圈子)
+  ↓
+推广收益 (从当前页面保留)
+  ↓
+菜单列表 (精简版——移除行动数据,保留积分/邀请/会员/退出)
+```
+
+### 后端改动
+
+| 文件 | 改动 |
+|:-----|:------|
+| `dto/MemberEnergyDTO.java` | 增加富子维度字段(wealthEducation/wealthPoints/wealthIncome/wealthAchievement/wealthNetwork) + 身克富字段(bodyWealthStatus/bodyWealthMessage) |
+| `service/EnergyService.java` | 重构 calcParentWealth/calcChildWealth 拆子维度,新增身克富检测 |
+| 新建 `controller/WealthDetailController.java` | `POST /api/energy/wealth-detail` 返回子维度+身克富状态 |
+| `controller/EnergyController.java` | 现有 getEnergyOverview 需要返回富子维度 |
+
+### 前端改动
+
+| 文件 | 改动 |
+|:-----|:------|
+| `pages/wealth/index.vue` | **完全重写**——新布局替换现有页面 |
+| 新建 `components/WealthSubScores.vue` | 富子维度评分展示卡片(角色感知) |
+| 新建 `components/BodyWealthAlert.vue` | 身克富预警条 |
+| `utils/api.js` | 新增 wealthDetail API |
+
+### 行动数据迁移
+
+当前富页面的"行动数据"(任务数/购买数/活动数/课程数)应移除。这些数据属于行维度,可选择在行页面增加一个统计摘要。
+
+### 验收
+
+- [ ] 富维度子维度评分正常展示(家长/孩子差异)
+- [ ] 身克富预警在条件触发时显示
+- [ ] 章鱼图(FamilyRelationGraph)嵌入显示
+- [ ] 圈子入口展示已加入圈子
+- [ ] 推广收益数据保留正常
+- [ ] 菜单列表不再包含"行动数据"
+- [ ] 五维能量条正常展示
+
+---
+
+## 执行顺序
+
+```
+Phase 1 (并行3项,预计 1-2 天)
+  ├── P1-1 身:健康打卡入口
+  ├── P1-2 智:阅读时长展示
+  └── P1-3 心:天盘相性
+
+Phase 2 (珍珠图/圈子,预计 3-5 天)
+  ├── 数据模型 + 迁移
+  ├── 匹配引擎
+  ├── API CRUD
+  └── 前端组件
+
+Phase 3 (富重建,预计 3-5 天)
+  ├── 后端 DTO + Service + API
+  ├── 前端页面重写
+  └── 组件开发
+```
+
+---
+
+*关联文档: [五维功能-能量映射](../specs/2026-07-12-dimension-features-energy-map.md), [五维首页与转化算法](../specs/2026-07-12-wuxing-homepage-and-conversion-algorithm.md)*

+ 217 - 35
docs/superpowers/specs/2026-06-08-five-dimension-wuxing-philosophy.md

@@ -1,14 +1,22 @@
 # 五维全景 · 五行哲学体系
 
-**日期:** 2026-06-08
+**日期:** 2026-06-08(最后更新:2026-07-12)
 **状态:** 已确认
-**版本:** v1.0
+**版本:** v2.0
+
+**关联文档:**
+- [五相克完整设计](./2026-07-12-wuxing-ke-full-design.md) — 每个克关系的四层解读 + 杠杆算法 + 前端展示
+- [首页与能量转化算法设计](./2026-07-12-wuxing-homepage-and-conversion-algorithm.md) — 生克一体算法 + 首页重构方案
 
 ---
 
 ## 概述
 
-浠艾福五维全景幸福矩阵以**五行(金木水火土)**为哲学基础,建立五维之间的相生与相克关系。五维并非各自孤立,而是像一个有机生态系统——相生让系统前进,相克让系统不翻车。这套体系是后续所有能量算法、健康指数计算、产品与服务设计的理论根基。
+浠艾福五维全景幸福矩阵以**五行(金木水火土)**为哲学基础,建立五维之间的相生与相克关系。五维并非各自孤立,而是像一个有机生态系统——**相生让系统前进,相克让系统不翻车**。
+
+**v2.0 更新核心:** 将"克"从"制约/惩罚"层面升级为"平衡信号/引导"层面——克不是封路,是敲钟。生与克共同构成一套制动与驱动系统:生是油门(驱动、滋养、赋能),克是刹车(校准、平衡、警报)。两者缺一不可。
+
+> 详细生克一体化算法见 [首页与能量转化算法设计](./2026-07-12-wuxing-homepage-and-conversion-algorithm.md)
 
 ---
 
@@ -18,10 +26,22 @@
 |:----:|:----:|----------|----------|
 | **智**(赋能未来) | **金** | 金主义,刚健、锐利、珍贵。智慧如金石,能开凿财富之门。 | 金生水 → **智生富** |
 | **富**(利他创富) | **水** | 水主智,亦主流动、滋养、生财。财富如水,顺势而为,利他而丰。 | 水生木 → **富生行** |
-| **行**(快乐知行) | **木** | 木主生发、舒展、行动。有财富支撑,实践更自由,活力如草木生长。 | 木生火 → **行生心** |
-| **心**(子女传承) | **火** | 火主礼,光明、温暖、传递。家族大爱如火焰,以心传心,生生不息。 | 火生土 → **心生身** |
+| **行**(人际和谐) | **木** | 木主生发、舒展、连接。有财富支撑,社交更自由;人际关系如草木生长,滋养家庭。 | 木生火 → **行生心** |
+| **心**(大爱相随) | **火** | 火主礼,光明、温暖、传递。家族大爱如火焰,以心传心,生生不息。 | 火生土 → **心生身** |
 | **身**(主动健康) | **土** | 土主承载,脾胃之本,健康之基。身心安定,方能孕育智慧。 | 土生金 → **身生智** |
 
+### 维度定义更新(v2.0)
+
+| 维度 | 核心 | 子维度(孩子) | 子维度(成人) |
+|:----:|:----:|:--------------|:--------------|
+| **身** | 主动健康——体质、精力、睡眠 | 健康报告overallScore、运动任务 | 任务完成率、健康报告 |
+| **智** | 赋能未来——认知能力、逻辑、知识 | DAN COG六子分加权 | 学习/培训任务完成率 |
+| **富** | 利他创富——金钱、成就、资源 | 积分获取效率+学业成绩+社交筹码 | 积分总量+成就/资源(待补) |
+| **行** | 人际和谐——陪伴在场、关系密度、利他行为 | 家庭共同任务+活动参与+分享行为 | 家人互动任务+社交活跃+推荐行为 |
+| **心** | 大爱相随——情绪稳定、理解包容、传承传递 | 情绪打卡+DAN EMI+家庭天盘+传承 | (暂无数据源,回0) |
+
+> 详细子维度定义和权重见 [五相克完整设计](./2026-07-12-wuxing-ke-full-design.md#维度体系总览)
+
 ### 相生链
 
 ```
@@ -30,24 +50,78 @@
 
 相生的核心价值:**循环促进,生生不息**。每个维度都在为下一个维度积蓄能量,形成正向螺旋上升。
 
+**相生算法(v2.0):**
+
+每个生关系在上游>60且下游<80时,给予小幅增益:
+
+```
+心生身(火生土):心>60 且 身<80 → gain = (心-50)/100×10,上限≤80-身
+身生智(土生金):身>60 且 智<80 → gain = (身-50)/100×10,上限≤80-智
+智生富(金生水):智>60 且 富<80 → gain = (智-50)/100×10,上限≤80-富
+富生行(水生木):富>60 且 行<80 → gain = (富-50)/100×10,上限≤80-行
+行生心(木生火):行>60 且 心<80 → gain = (行-50)/100×10,上限≤80-心
+```
+
+上游从50分起每多10分→+1分增益,最大单次+5分;同时被增益方不能突破80分(留成长空间)。
+
 ---
 
-## 2. 相克关系(正向解读)
+## 2. 相克关系(v2.0 更新)
 
-| 相克 | 对应五维互动 | 平衡意义("克"的正向解读) |
-|:----:|-------------|---------------------------|
-| **木克土**(行克身) | 快乐行动 对 身体健康的制约 | 运动、户外活动过度会损耗身体(如运动损伤、过度疲劳)。提醒"行"要有度,避免透支健康。 |
-| **土克水**(身克富) | 身体健康 对 财富追求的制约 | 身体若出问题,会直接消耗财富(医疗开支、收入中断)。警示不能为求富而牺牲健康,健康是财富的"刹车"。 |
-| **水克火**(富克心) | 物质财富 对 家族爱心传承的制约 | 过度追逐财富容易让人冷漠、疏于陪伴家人,冲淡温情与孝道。提醒"富"要服务于"心",莫让铜臭覆盖大爱。 |
-| **火克金**(心克智) | 情感与传承 对 智慧培养的制约 | 过分沉溺于家族情感、家长制关怀,可能会压制孩子独立智慧的成长(如过度保护、代替决策)。提醒爱心需留出理性空间。 |
-| **金克木**(智克行) | 智慧规划 对 快乐行动的制约 | 过于精密的计划、心智测评、理性分析,可能让人失去随性实践的快乐,陷入"想太多而做太少"。提醒智慧要为行动松绑。 |
+### 核心理念:「克」是信号,不是惩罚
 
-### 相克循环
+| 旧理解 | 新理解 |
+|:-------|:-------|
+| 克=制约/惩罚/扣分 | 克=平衡信号/引导/提醒 |
+| 触发即扣分 | 先提醒,持续偏差才微调 |
+| 单向负面 | 双向检查——克方太强或被克方太弱都要点 |
+| 惩罚性文案 | 建设性文案,给出行动方向 |
+
+### 克的核心表达
+
+```
+克 = 系统在看,在提醒的方向,不是系统在罚,在禁止的方向
+```
+
+### 相克关系总表
+
+| 相克 | 对应五维互动 | 平衡意义 | 核心提醒 |
+|:----:|-------------|----------|:---------|
+| **木克土**(行克身) | 行动社交 对 身体健康 | 运动、社交、行动都在身体允许范围内,不过度透支 | "行动力很强,但身体在报警了" |
+| **土克水**(身克富) | 健康 对 财富追求 | 健康是创富的底盘,身体不好财富没有意义 | "身体是赚钱的本钱" |
+| **水克火**(富克心) | 物质财富 对 心理素养 | 财富与心理承受力要匹配,德要配位 | "财富涨了,心也得跟上" |
+| **火克金**(心克智) | 情感关爱 对 智慧培养 | 情绪稳定、包容力够,智力潜能才能发挥 | "心平才能静智" |
+| **金克木**(智克行) | 认知分析 对 人际关系 | 聪明不等于会相处,人际不是逻辑题 | "朋友不是用逻辑交来的" |
+
+### 克的四层解读(v2.0 新增)
+
+每个克关系包含四个角度,不局限于单向制约:
+
+| 层 | 含义 | 作用 |
+|:--:|------|:----:|
+| **角度① 透支型** | 克方过度膨胀,被克方被压制 | **校准触发**——最痛的问题,系统需要警示 |
+| **角度② 谨慎型** | 克方太弱,被克方盲目发展 | **引导触发**——不扣分但提示方向 |
+| **角度③ 替代型** | 一方替代另一方的本质价值 | **检测触发**——检测行为层面的偏斜 |
+| **角度④ 平衡态** | 双方相互制衡,共生 | **正向标记**——理想状态,鼓励维持 |
+
+### 克环
 
 ```
 行(木) ──克──→ 身(土) ──克──→ 富(水) ──克──→ 心(火) ──克──→ 智(金) ──克──→ 行(木)
 ```
 
+### 五条平衡法则
+
+| 法则 | 含义 | 应用场景 | 四层角度 |
+|:----:|------|----------|:--------:|
+| 行克身 | 不要为了活动透支体力 | 活动设计需考虑适龄适量 | 透支→谨慎→替代→平衡 |
+| 身克富 | 不要用健康换金钱 | 产品推荐需平衡健康与商业 | 透支→稀释→替代→平衡 |
+| 富克心 | 不要让财富吞噬亲情 | 创客生态需强调家庭陪伴优先 | 爆发→评判→替代→平衡 |
+| 心克智 | 不要让感情遮蔽理性 | 家庭教育需平衡关爱与独立 | 过度保护→理性冷淡→替代→平衡 |
+| 智克行 | 不要让计划杀死行动力 | 测评结果应导向行动建议 | 认知孤独→盲目社交→替代→平衡 |
+
+> 每个克关系的完整四层解读、用户画像、杠杆算法见 [五相克完整设计](./2026-07-12-wuxing-ke-full-design.md)
+
 ---
 
 ## 3. 相生相克总图
@@ -55,7 +129,7 @@
 ```
               相生 → (促进)
               相克 → (制约)
-              
+               
                     心(火) 顶
                    ↙    ↘
                 生       克
@@ -68,6 +142,20 @@
               左下         右下
 ```
 
+### 系统展示(v2.0)
+
+在五维行星盘(WuxingSandbox)中,相生和相克通过两层粒子流可视化:
+
+```
+· 金色粒子 = 相生(沿 身→智→富→行→心→身 顺时针流动)
+· 红色粒子 = 相克(沿 行→身→富→心→智→行 逆时针流动)
+
+· 粒子密度反映生/克当前强度
+· 所有维度分值均衡 → 金色粒子占主导
+· 某个克关系激活 → 对应臂红色粒子增多
+· 点击维度 → 进入该维度详情页
+```
+
 ---
 
 ## 4. 核心哲学:动态平衡,过犹不及
@@ -77,45 +165,104 @@
 - **相生让车前进** — 各维度互相滋养,形成正向循环
 - **相克让车不翻** — 每个维度都有其制约机制,防止任何一维过度膨胀
 
-### 五条平衡法则
+### 生与克的关系(v2.0 更新)
 
-| 法则 | 含义 | 应用场景 |
-|------|------|----------|
-| 行克身 | 不要为了活动透支体力 | 活动设计需考虑适龄、适量,避免过度消耗 |
-| 身克富 | 不要用健康换金钱 | 产品推荐需平衡健康价值与商业利益 |
-| 富克心 | 不要让财富吞噬亲情 | 创客生态需强调家庭陪伴优先于创收 |
-| 心克智 | 不要让感情遮蔽理性 | 家庭教育需平衡关爱与独立成长空间 |
-| 智克行 | 不要让计划杀死行动力 | 测评结果应导向行动建议,而非停留在分析 |
+```
+生 = 油门(驱动、滋养、赋能)
+克 = 刹车(校准、平衡、警报)
+
+只生不克 → 维度膨胀,系统崩盘
+只克不生 → 维度萎缩,没有成长动力
+有生有克 → 动态平衡,持续发展
+```
+
+### 能量转化算法原则(v2.0 具体化)
+
+算法分三轮单遍执行,不迭代:
+
+```
+第1轮:原始分计算(独立算每个维度)
+  ↓
+第2轮:克校准(检测5个克关系,只触发最痛一层,直接微调权重)
+  ↓
+第3轮:生增益(检测5个生关系,上游好则下游小幅加值)
+  ↓
+最终分 = 原始分 × 克系数 + 生增益
+```
+
+**克系数公式:**
+
+```
+penalty = 0.5 + 0.5 × (被克方分 / 100.0)
+· 被克方0分 → penalty=0.5(最多打对折)
+· 被克方100分 → penalty=1.0(不打折)
+· penalty只适用于最严重的透支型克关系
+```
+
+> 完整系数表和触发条件见 [首页与能量转化算法设计](./2026-07-12-wuxing-homepage-and-conversion-algorithm.md)
 
 ---
 
 ## 5. 对系统设计的指导
 
-### 5.1 维度顺序
+### 5.1 维度显示顺序
+
+五维在系统中的**默认展示顺序**遵循五行相生的实际流向:
+
+```
+土 → 金 → 水 → 木 → 火
+身 → 智 → 富 → 行 → 心
+```
 
-五维在系统中的默认排序遵循**相生链**:
+在五维行星盘(WuxingSandbox)中,维度按五行固定序绕圈排列,最低分维度放在最上方(顶部突出需要关注):
 
 ```
-智 → 富 → 行 → 心 → 身
+// 五行固定序:body(土) → wisdom(金) → wealth(水) → action(木) → mind(火)
+var order = ['body', 'wisdom', 'wealth', 'action', 'mind']
 ```
 
-### 5.2 健康指数算法原则
+> 注:旧版曾在其他位置使用 `智→富→行→心→身` 顺序,现已统一为 `身→智→富→行→心`。
+
+### 5.2 健康指数算法(v2.0 更新)
+
+能量计算三步骤:
 
-健康指数的计算应体现相生相克关系:
+**第1步:各维度独立原始分**
 
-- **相生加分**:若某维度能量高,其"生"的目标维度可获得一定加成(如智高则富的增长有增益)
-- **相克扣分**:若某维度能量远高于其"克"的目标维度,应触发平衡扣分(反映过度失衡)
-- **理想状态**:五维能量分布相对均衡,而非某一维独大
+当前已有实现(EnergyService),家长和孩子的数据源不同。
 
-> 具体算法待定,本原则为算法设计的理论依据。
+**第2步:克校准(按克环顺序)**
+
+```
+applyActionBodyRestraint(行分, 身分)    → 身←行克身校准
+applyBodyWealthRestraint(身分, 富分)    → 富←身克富校准
+applyWealthHeartRestraint(富分, 心分)  → 心←富克心校准
+applyMindWisdomRestraint(心分, 智分)   → 智←心克智校准
+applyWisdomActionRestraint(智分, 行分) → 行←智克行校准
+```
+
+**第3步:生增益(按相生环顺序)**
+
+```
+applyMindBodyBoost(心分, 身分)         → 身←心生身增益
+applyBodyWisdomBoost(身分, 智分)       → 智←身生智增益
+applyWisdomWealthBoost(智分, 富分)     → 富←智生富增益
+applyWealthActionBoost(富分, 行分)     → 行←富生行增益
+applyActionMindBoost(行分, 心分)       → 心←行生心增益
+```
+
+**最终分** = 克调整后分 + 生增益,综合分 = 五维平均
 
 ### 5.3 内容与服务推荐
 
-推荐算法可参考相生关系做交叉推荐:
+推荐算法可参考相生相克关系做交叉推荐:
 
 - 用户在"智"维度参与度高 → 推荐"富"维度相关内容(智生富)
 - 用户在"行"维度活跃 → 提醒关注"身"维度状态(行克身,需平衡)
-- 用户在"富"维度获得收益 → 引导参与"行"维度活动(水生木)
+- 用户在"富"维度获得收益 → 引导参与"行"维度活动(富生行)
+- 当某克关系激活 → 推送对应恢复性内容(如行克身→推荐休息类)
+
+> 详细推荐映射表见 [五相克完整设计](./2026-07-12-wuxing-ke-full-design.md#产品推荐联动)
 
 ### 5.4 数据模型中的五行字段
 
@@ -123,11 +270,37 @@
 
 | code | element |
 |------|---------|
+| body | 土 |
 | wisdom | 金 |
 | wealth | 水 |
 | action | 木 |
 | mind | 火 |
-| body | 土 |
+
+### 5.5 DTO扩展(v2.0 新增)
+
+`MemberEnergyDTO` 新增以下字段用于承载克关系状态和心的子维度:
+
+```java
+// ===== 克关系标记(5组 status + message) =====
+String actionBodyStatus;   // 行克身:overdraw|penalty|cautious|balanced|normal
+String actionBodyMessage;
+String bodyWealthStatus;   // 身克富
+String bodyWealthMessage;
+String wisdomActionStatus; // 智克行
+String wisdomActionMessage;
+String wealthHeartStatus;  // 富克心
+String wealthHeartMessage;
+String mindWisdomStatus;   // 心克智
+String mindWisdomMessage;
+
+// ===== 心的子维度(仅孩子) =====
+Integer heartEmotionStable;
+Integer heartUnderstanding;
+Integer heartLegacy;
+
+// ===== 生增益明细(可选) =====
+List<BoostDetail> boostDetails;
+```
 
 ---
 
@@ -141,3 +314,12 @@
 ```
 
 五维五行体系不仅是系统设计的基础,也是品牌叙事的核心。对外传播时,可将五维与五行结合呈现,增强文化深度与记忆点。
+
+---
+
+## 附录:文档演变
+
+| 版本 | 日期 | 变更内容 |
+|:----:|:----:|----------|
+| v1.0 | 2026-06-08 | 初稿,定义五维↔五行对应、相生相克原则 |
+| v2.0 | 2026-07-12 | ①克从"惩罚"升级为"信号/平衡";②维度定义细化(行→人际和谐、心三层拆分)③完整生克算法;④扩展DTO;⑤跨文档引用 |

+ 555 - 0
docs/superpowers/specs/2026-07-12-dimension-features-energy-map.md

@@ -0,0 +1,555 @@
+# 五维功能清单与能量映射:每个维度有什么功能 + 每个功能提供多少能量
+
+**日期:** 2026-07-12
+**状态:** 初稿
+**关联文档:** [五维能量系统设计](./2026-06-05-five-dimension-energy-design.md), [五维相克完整设计](./2026-07-12-wuxing-ke-full-design.md), [首页与转化算法](./2026-07-12-wuxing-homepage-and-conversion-algorithm.md), [五行哲学](./2026-06-08-five-dimension-wuxing-philosophy.md)
+
+---
+
+## 概述
+
+本文档定义**每个维度有哪些功能、每个功能做什么、每个功能提供多少能量**。
+
+系统有两套并行的能量体系:
+
+| 体系 | 用途 | 范围 |
+|:----|:-----|:-----|
+| **能量账本 (Ledger)** | 孩子消耗性能量(发/扣,有日上限) | 孩子端功能激励(任务/打卡/游戏/活动) |
+| **五维评分 (Score)** | 0-100 维度的健康评分(无消耗,纯评估) | 家长 + 孩子,综合评估 |
+
+账本能量通过 `awardEnergy()` 方法发放,通过 `EnergySourceConfig` 表配置到各维度。
+评分通过 `calcChildEnergy()` / `calcParentEnergy()` 计算,是各维度数据源的加权综合。
+
+---
+
+## 一、能量账本体系 (Ledger)
+
+### 1.1 现有 sourceType 总览
+
+目前系统有 **14 种来源类型** 可发放能量:
+
+| # | sourceType | 中文名 | 触发时机 | 能量范围 | 维度映射 |
+|:-:|:-----------|:-------|:---------|:---------|:---------|
+| 1 | `task` | 任务奖励 | 孩子完成任务(状态→completed) | 1-30 | 按任务category配置 |
+| 2 | `activity` | 活动参与 | 孩子参加活动签到 | 5-20 | 按活动类型配置 |
+| 3 | `streak` | 连续打卡里程碑 | 达到连续打卡天数里程碑 | 5-30 | 默认→行(action) |
+| 4 | `product` | 商品购买 | 购买商品/套餐 | 10-50 | 按商品类型配置 |
+| 5 | `onboarding` | 新手引导 | 完成新手引导步骤 | 5-10 | 默认→行(action) |
+| 6 | `invite_milestone` | 邀请里程碑 | 成功邀请新用户 | 10-30 | 默认→行(action) |
+| 7 | `health_checkin` | 健康打卡 | 每日健康数据打卡 | 3-10 | 默认→身(body) |
+| 8 | `growth_day` | 成长日奖励 | 完成当日成长任务 | 5-15 | 按任务类型配置 |
+| 9 | `game` | 小游戏 | 完成小游戏(舒尔特/猜数字/数独) | 3-15 | 按游戏类型配置 |
+| 10 | `checkin` | 每日签到 | 每日签到 | 1-5 | 默认→行(action) |
+| 11 | `emotion_checkin` | 情绪打卡 | 记录当日情绪 | 5 | 硬编码→心(mind) |
+| 12 | `dimension` | 维度能量同步 | 五维评分≥阈值时同步发能量 | 5-20 | 按评分维度配置 |
+| 13 | `appointment` | 测评预约 | 完成测评预约/到场 | 10-30 | 按预约类型配置 |
+| 14 | `article` | 文章互动 | 阅读/点赞/评论文章 | 2-10 | 按文章维度配置 |
+
+### 1.2 日上限配置
+
+```java
+// EnergyService.java
+GLOBAL_DAILY_LIMIT = 200      // 全局每日最多 200 能量
+
+// 按维度
+body   (身)   50/天
+mind   (心)   40/天
+wisdom (智)   80/天
+action (行)   60/天
+wealth (富)   50/天
+```
+
+### 1.3 维度比例配置(Fallback 链)
+
+`EnergySourceConfig` 表配置每类来源的维度比例:
+
+```
+明确配置 → sourceType + sourceId 精确匹配 → 使用配置比例
+无配置     → Fallback 默认 → 行(action) 100%
+```
+
+**建议的新 Fallback 链**(本文档提出):
+
+```
+明确配置 → sourceType + sourceId 精确匹配
+         → sourceType 通用配置(sourceId=0)
+         → 根据 sourceType 智能默认
+         → 行(action) 100%(兜底)
+```
+
+### 1.4 各 sourceType 的能量值建议
+
+以下是基于现有代码经验 + 产品价值评估的**建议能量值**:
+
+| sourceType | 单次发放 | 频率上限 | 说明 |
+|:-----------|:---------|:---------|:------|
+| task | 任务难度×3(例:简单3、中等6、挑战15) | 按任务频率 | 鼓励完成 |
+| activity | 5-20,参与+10,积极互动+20 | 每活动1次 | 活动参与激励 |
+| streak | 连续3天=5, 7天=10, 14天=20, 30天=30 | 里程碑发放 | 鼓励坚持 |
+| product | 订单额/100(保底5,上限50) | 每订单1次 | 消费激励 |
+| onboarding | 5-10,完成所有步骤额外+20 | 一次性 | 新手引导 |
+| invite_milestone | 邀请1人=10,3人=20,5人=30 | 里程碑发放 | 社交裂变 |
+| health_checkin | 3/次,连续7天额外+10 | 每日1次 | 健康习惯 |
+| growth_day | 完成度×15(全部完成=15) | 每日1次 | 成长任务 |
+| game | 分数/10(最低3,上限15) | 每局1次 | 认知训练 |
+| checkin | 1/次,连续7天额外+5 | 每日1次 | 签到习惯 |
+| emotion_checkin | 5/次 | 每日1次 | 情绪觉察 |
+| dimension | 评分×0.2(评分80=16能量) | 每周1次 | 评分同步激励 |
+| appointment | 预约=10,到场=20,出结果=30 | 每次1次 | 测评闭环 |
+| article | 阅读=2,点赞=5,评论=8 | 每篇1次 | 内容互动 |
+
+---
+
+## 二、五维评分体系 (Score) — 每个维度的功能清单
+
+以下以 **孩子** 视角为主,同时注明 **家长** 的差异。
+
+### 2.1 身 (Body · 土 · 主动健康)
+
+#### 功能列表
+
+| 功能 | 数据源 | 家长/孩子 | 评分权重(孩子) | 能量账本关联 |
+|:-----|:-------|:----------|:----------------:|:------------|
+| **① 健康报告** | `HealthReport.overallScore`(体检/菌群/营养报告) | 孩子优先 | 主要(≥60%) | — |
+| **② 运动任务** | `Task` 中 category∈{运动,体育,户外,健康} 完成率 | 两者 | 降级使用(无报告时100%) | task→身 |
+| **③ 健康打卡** | `health_checkin` 打卡频率 | 孩子 | — | health_checkin |
+| **④ 体质调理** | 精准营养方案跟进(待实现) | 两者 | 待定 | — |
+
+#### 评分算法
+
+```
+孩子:
+  IF 有健康报告(overallScore) THEN 取overallScore
+  ELSE 运动/户外类任务完成率(近365天)
+
+家长:
+  1. 优先:孩子健康报告(取任意一个孩子的第一份报告)
+  2. 降级:运动/户外任务完成率
+```
+
+#### 能量账本中"身"的来源
+
+| 来源 | 单次能量 | 说明 |
+|:-----|:---------|:------|
+| health_checkin | 3-10/次 | 每日健康数据打卡 |
+| task(运动/户外类) | 按任务难度 3-20 | 运动任务完成 |
+| product(健康商品) | 5-30 | 购买健康类商品 |
+
+---
+
+### 2.2 心 (Mind · 火 · 大爱相随)
+
+#### 功能列表
+
+| 功能 | 数据源 | 家长/孩子 | 评分权重(孩子) | 能量账本关联 |
+|:-----|:-------|:----------|:----------------:|:------------|
+| **① DAN EMI测评** | `DanAssessmentResult` 的 emotionManagement + empathy + socialAdaptability + selfMotivation 平均分 | 孩子 | **70%** | — |
+| **② 先天心基分** | `FamilyMemberAttributes.mindBaseScore` | 孩子 | **30%**(有DAN时) | — |
+| **③ 情绪打卡** | `emotion_checkin` 打卡频率 → modifier | 孩子 | modifier±5% | emotion_checkin(5/次) |
+| **④ 亲子任务** | Task 中 category∈{学习,阅读,亲子,情感,成长} 完成率 | 两者 | Fallback降级 | task→心 |
+| **⑤ 家庭天盘相性** | 天盘中成员关系质量(待实现) | 两者 | 待定 | — |
+| **⑥ 传承记录** | 家训阅读、给孩子的信(待实现) | 家长 | 待定 | article→心 |
+
+#### 评分算法
+
+```
+孩子:
+  IF 有DAN EMI:
+    base = EMI四子分平均 × 0.70
+    IF 有先天心基分:
+      base += 先天心基分 × 0.30
+    score = base × (1 + behaviorModifier)   // modifier: -20% ~ +20%
+  ELSE IF 有先天心基分:
+    score = 先天心基分 × (1 + behaviorModifier)
+  ELSE:
+    score = 学习/阅读/亲子类任务完成率(近365天)
+
+家长:
+  学习/阅读/亲子类任务完成率(近365天)
+  (家长缺少DAN和先天数据,暂用任务完成率)
+```
+
+**behaviorModifier 构成(孩子):**
+- 任务完成率 ±5%(学习/阅读/亲子/好习惯/运动类,近90天)
+- 游戏表现 ±5%(所有游戏平均分)
+-  clamped 到 ±20%
+
+#### 能量账本中"心"的来源
+
+| 来源 | 单次能量 | 说明 |
+|:-----|:---------|:------|
+| emotion_checkin | 5/次,日上限1次 | 情绪打卡 |
+| task(情感/成长类) | 5-15/次 | 亲子情感任务 |
+| article(心理/亲子类) | 2-8/次 | 阅读心理文章 |
+
+---
+
+### 2.3 智 (Wisdom · 金 · 赋能未来)
+
+#### 功能列表
+
+| 功能 | 数据源 | 家长/孩子 | 评分权重(孩子) | 能量账本关联 |
+|:-----|:-------|:----------|:----------------:|:------------|
+| **① DAN COG测评** | `DanAssessmentResult` 六子分加权平均:注意15%+专注15%+记忆20%+逻辑20%+感知15%+空间15% | 孩子 | **70%** | — |
+| **② 先天智基分** | `FamilyMemberAttributes.wisdomBaseScore` | 孩子 | **30%**(有DAN时) | — |
+| **③ 小游戏** | `GameRecord` 舒尔特方格/猜数字/数独 得分 | 孩子 | modifier±5% | game→智 |
+| **④ 阅读时长** | `ArticleReadingRecord` 近30天总阅读时长 | 孩子 | Fallback 33% | article→智 |
+| **⑤ 测评Overall** | `DanAssessmentResult.overallScore` | 孩子 | Fallback 33% | appointment→智 |
+| **⑥ 学习任务** | Task 中 category∈{学习,培训,技能,阅读,知识} 完成率 | 两者 | Fallback 降级/家长100% | task→智 |
+
+#### 评分算法
+
+```
+孩子:
+  IF 有DAN COG:
+    danScore = 注意×0.15 + 专注×0.15 + 记忆×0.20 + 逻辑×0.20 + 感知×0.15 + 空间×0.15
+    base = danScore × 0.70
+    IF 有先天智基分:
+      base += 先天智基分 × 0.30
+    score = base × (1 + behaviorModifier)
+  ELSE IF 有先天智基分:
+    score = 先天智基分 × (1 + behaviorModifier)
+  ELSE (旧逻辑Fallback):
+    score = 游戏平均分×34% + 测评Overall×33% + 阅读时长×33%
+
+家长:
+  学习/培训/技能类任务完成率(近365天)
+```
+
+#### 能量账本中"智"的来源
+
+| 来源 | 单次能量 | 说明 |
+|:-----|:---------|:------|
+| game | 得分/10(最低3,上限15) | 认知训练小游戏 |
+| article(知识类) | 2-8/次 | 阅读知识文章 |
+| task(学习/培训类) | 5-20/次 | 学习任务 |
+| appointment(测评) | 10-30/次 | 完成测评预约 |
+
+---
+
+### 2.4 行 (Action · 木 · 人际和谐)
+
+#### 圈子(珍珠图)概念
+
+圈子是行的核心社交机制。基于用户在其他三个维度(身·心·智)上的**共同话题、共同参与、共同爱好、共同能力**,自动或半自动形成社交圈,每个圈如同一颗"珍珠",多个圈串联成**珍珠图**。
+
+```
+身(健康/运动) ──┐
+心(情绪/亲子) ──┼──┐
+智(学习/游戏) ──┘  │
+                    ├──→ 共同点匹配 → 圈子/珍珠 → 行(社交行动)
+富(产品/服务) ────┘  │
+                    │
+身(身体状况) ──────┘
+```
+
+珍珠图 vs 章鱼图:
+
+| 维度 | 图 | 核心 | 表达 |
+|:----:|:--:|:-----|:-----|
+| **行** | **珍珠图** | 多维度共同点匹配 → 形成圈 | "我们有什么共同点" |
+| **富** | **章鱼图** | 现有重要关系组件 FamilyRelationGraph | "我认识谁" |
+
+珍珠图中的每个圈可以基于(来源覆盖所有维度):
+- **共同话题**(心·智):同一篇文章/测评的讨论组
+- **共同参与**(行·身):同一活动/任务的参与者
+- **共同爱好**(身·心):运动偏好/游戏偏好/阅读偏好相似的用户
+- **共同能力**(智):DAN 测评某子分接近(如逻辑能力相近的圈子)
+- **共同产品**(富):购买了同一商品/套餐的用户
+- **共同身体状况**(身):健康报告指标相似(如同为过敏体质、维生素D偏低)
+- **共同服务商身份**(富·行):绑定了同一位成长规划师/同一种 vendor_type
+
+#### 功能列表
+
+| 功能 | 数据源 | 家长/孩子 | 评分权重(孩子) | 能量账本关联 |
+|:-----|:-------|:----------|:----------------:|:------------|
+| **① 连续打卡** | `FamilyMember.streakDays` | 孩子 | **30%** | streak→行, checkin→行 |
+| **② 习惯任务** | Task 中 category∈{好习惯,习惯,自理,家务} 完成率 | 孩子 | **40%** | task→行 |
+| **③ 社交参与** | 活动参与/分享/邀请/社区互动,以及**圈子/珍珠图**内的互动频率 | 孩子 | **30%** | activity→行, invite_milestone→行 |
+| **④ 自律任务** | Task 中 category∈{习惯,自律,家务,自理,作息} 完成率 | 家长 | 家长100% | task→行 |
+
+#### 评分算法
+
+```
+孩子:
+  streakScore = 连续天数/参考上限 × 100           (打卡30%)
+  habitScore  = 好习惯/自理/家务类任务完成率       (习惯40%)
+  socialScore = 活动参与频率 + 圈子互动热度 + 邀请/分享行为 (社交30%)
+  score = streakScore × 0.3 + habitScore × 0.4 + socialScore × 0.3
+
+家长:
+  习惯/自律/家务/自理/作息类任务完成率(近365天)
+```
+
+**关于参考上限**:取当前孩子连续打卡天数 与 系统最高里程牌天数 的较大值。
+如果孩子打卡30天,系统最高里程碑也是30天,则 `streakScore = 30/30×100 = 100`。
+
+#### 能量账本中"行"的来源
+
+| 来源 | 单次能量 | 说明 |
+|:-----|:---------|:------|
+| checkin(签到) | 1-5/次 | 每日签到 |
+| streak(里程碑) | 5-30/里程碑 | 连续打卡奖励 |
+| task(习惯/家务类) | 3-15/次 | 习惯任务 |
+| activity | 5-20/次 | 活动参与 |
+| **所有 Fallback 默认** | 按sourceType | 无配置时默认100%→行 |
+
+---
+
+### 2.5 富 (Wealth · 水 · 利他创富)
+
+#### 功能列表
+
+| 功能 | 数据源 | 家长/孩子 | 评分权重(孩子) | 能量账本关联 |
+|:-----|:-------|:----------|:----------------:|:------------|
+| **① 积分获取效率** | 近1年正向积分 / 同期可用积分上限 | 孩子 | **60%** | — |
+| **② 学业成绩** | DanAssessmentResult 近3次 overviewScore 加权+进步趋势 | 孩子 | **40%** | appointment→富 |
+| **③ 金钱/收入** | 用户积分总量 / 500(参考上限) | 家长 | **50%** | product→富 |
+| **④ 社会成就** | 职称/奖项(待实现) | 家长 | **30%**(占位) | — |
+| **⑤ 资源网络** | **章鱼图**——现有 `FamilyRelationGraph` 组件,展示家庭重要关系网络及联系人管理 | 家长 | **20%** | ContactCard, ContactImport→富 |
+
+#### 评分算法
+
+```
+孩子(社交已移至行维度):
+  educationScore = 近3次DAN overallScore加权(权重递减: 0.5/0.3/0.2) + 进步加分(比上次提升≥5分加5%)
+  pointsScore = 近1年已得积分 / 同期任务总积分 × 100
+  score = education × 0.4 + points × 0.6
+
+家长:
+  incomeScore = totalPoints / 500 × 100 (上限100)
+  achievementScore = 0(待实现)
+  networkScore = 章鱼图关系网络活跃度(重要关系数量 + 互动频率折算)
+  score = income × 0.5 + achievement × 0.3 + network × 0.2
+```
+
+#### 能量账本中"富"的来源
+
+| 来源 | 单次能量 | 说明 |
+|:-----|:---------|:------|
+| product(高价值) | 消费额/100(保底5) | 消费反馈 |
+| invite_milestone | 10-30/里程碑 | 社交贡献 |
+| growth_day | 5-15/天 | 成长日任务 |
+| onboarding | 5-10/步 | 新手指引 |
+
+---
+
+## 三、功能-维度-能量全景映射表
+
+### 3.1 孩子端完整映射
+
+| 功能 | 所属维度 | 作用方式 | 单次/周期能量 | 日上限贡献 |
+|:-----|:---------|:---------|:-------------|:----------|
+| 健康报告解析 | 身(主要) | 评分数据源 | —(影响评分) | — |
+| 运动任务 | 身(主要)+行(次) | 评分+账本 | 3-20/次 | body=50 |
+| 健康打卡 | 身(主要) | 账本 | 3-10/次 | body=50 |
+| DAN EMI测评 | 心(主要) | 评分数据源 | —(影响评分) | — |
+| 情绪打卡 | 心(主要) | 账本+评分modifier | 5/次 | mind=40 |
+| 亲子任务 | 心(主要)+行(次) | 评分+账本 | 5-15/次 | mind=40 |
+| DAN COG测评 | 智(主要) | 评分数据源 | —(影响评分) | — |
+| 小游戏 | 智(主要)+心(次) | 评分modifier+账本 | 3-15/局 | wisdom=80 |
+| 阅读文章 | 智(主要)+心(次) | 评分+账本 | 2-8/篇 | wisdom=80 |
+| 学习任务 | 智(主要) | 评分+账本 | 5-20/次 | wisdom=80 |
+| 连续打卡 | 行(主要) | 评分+账本 | 1-5/天 | action=60 |
+| 习惯任务 | 行(主要)+身(次) | 评分+账本 | 3-15/次 | action=60 |
+| 活动参与 | 行(主要)+心(次) | 评分+账本 | 5-20/次 | action=60 |
+| 社交邀请 | 行(主要) | 评分+账本 | 10-30/里程碑 | action=60 |
+| 积分获取 | 富(主要) | 评分数据源 | —(影响评分) | — |
+| 邀请好友 | 富(主要)+行(次) | 账本 | 10-30/里程碑 | wealth=50 |
+| 成长日任务 | 富(主要)+智(次) | 账本 | 5-15/天 | wealth=50 |
+| 测评预约 | 智(主要)+心(次) | 账本 | 10-30/次 | wisdom=80 |
+| 商品购买 | 按商品类型 | 账本 | 5-50/次 | 按维度 |
+| 新手指引 | 行(主要) | 账本 | 5-10/步(一次性) | 不限制 |
+
+### 3.2 家长端完整映射
+
+| 功能 | 所属维度 | 作用方式 | 数据源 |
+|:-----|:---------|:---------|:-------|
+| 孩子健康报告间接 | 身 | 评分(取第一个孩子报告) | HealthReport |
+| 运动健康类任务 | 身 | 评分(降级) | Task完成率 |
+| 学习/培训类任务 | 智 | 评分 | Task完成率 |
+| 亲子/成长类任务 | 心 | 评分 | Task完成率 |
+| 习惯/自律类任务 | 行 | 评分 | Task完成率 |
+| 积分总量 | 富 | 评分 | totalPoints / 500 |
+
+家长端**没有能量账本**——家长不消耗/积累能量,只有五维评分(健康指数)。
+
+---
+
+## 四、系统实现要点
+
+### 4.1 需要新增的 sourceType 配置
+
+建议在 `DatabaseInitializer` 中预置以下通用配置(sourceId=0 表示通用):
+
+```sql
+-- 身(body) 来源
+('health_checkin', 0, '健康打卡', @bodyId, 10000),  -- 100% 身
+
+-- 心(mind) 来源
+('emotion_checkin', 0, '情绪打卡', @mindId, 10000),  -- 100% 心
+
+-- 智(wisdom) 来源
+('game', 0, '小游戏', @wisdomId, 10000),             -- 100% 智(暂定)
+('article', 0, '文章', @wisdomId, 6000),              -- 60% 智
+('article', 0, '文章', @mindId, 4000),                -- 40% 心
+('appointment', 0, '测评预约', @wisdomId, 10000),     -- 100% 智
+
+-- 行(action) 来源
+('checkin', 0, '每日签到', @actionId, 10000),          -- 100% 行
+('streak', 0, '连续打卡', @actionId, 10000),           -- 100% 行
+('activity', 0, '活动参与', @actionId, 10000),         -- 100% 行(暂定)
+
+-- 富(wealth) 来源
+('growth_day', 0, '成长日奖励', @wealthId, 10000),     -- 100% 富
+('invite_milestone', 0, '邀请里程碑', @wealthId, 10000), -- 100% 富
+```
+
+### 4.2 日上限配置调整建议
+
+| 维度 | 当前 | 建议 | 理由 |
+|:-----|:-----|:-----|:------|
+| body | 50 | **50** | 健康打卡(3-10) + 运动任务,合理 |
+| mind | 40 | **50** | 情绪打卡(5) + 亲子任务,目前偏低 |
+| wisdom | 80 | **80** | 游戏(15) + 阅读(8) + 学习任务(20),认知类应最多 |
+| action | 60 | **60** | 签到(5) + 习惯任务(15) + 活动(20),合理 |
+| wealth | 50 | **50** | 成长日(15) + 邀请(30),合理 |
+
+### 4.3 MemberEnergyDTO 待扩展字段(从 v2.0 设计)
+
+```java
+// 新增字段(当前只有bodyScore/mindScore/wisdomScore/actionScore/wealthScore/overallScore)
+private Integer bodyScore;
+private Integer mindScore;
+private Integer wisdomScore;
+private Integer actionScore;
+private Integer wealthScore;
+private Integer overallScore;
+
+// 需要新增:
+// 子维度(心)
+private Integer mindEmotionStable;    // 情绪稳定性
+private Integer mindUnderstanding;   // 理解包容
+private Integer mindLegacy;          // 传承传递
+
+// 子维度(富)
+// 孩子
+private Integer wealthEducation;     // 学业成绩
+private Integer wealthSocial;        // 社交筹码
+private Integer wealthPoints;        // 规则博弈
+// 家长
+private Integer wealthIncome;        // 金钱/收入
+private Integer wealthAchievement;   // 社会成就
+private Integer wealthNetwork;       // 资源网络
+
+// 克状态(5个)
+private String bodyWealthStatus;     // 身克富: normal/overdraw/penalty
+private String bodyWealthMessage;    // 用户可见消息
+// ... 其余4个克类似
+```
+
+### 4.4 未实现功能(待开发象限)
+
+| 功能 | 所属维度 | 优先级 | 当前状态 |
+|:-----|:---------|:------|:---------|
+| 体质调理方案跟进 | 身 | P1 | 未实现 |
+| 精准营养推荐反馈 | 身 | P1 | 部分实现 |
+| 家庭天盘相性分析 | 心 | P2 | 待实现 |
+| 传承传递(家训/信件) | 心 | P2 | 待实现 |
+| **珍珠图/圈子系统** | **行** | **P1** | **待实现** |
+| 家长社会成就数据 | 富 | P2 | 待实现 |
+| 家长资源网络数据(章鱼图) | 富 | P2 | **已有FamilyRelationGraph组件**,需接入评分 |
+| 孩子社交筹码数据 | 富 | P2 | 已移至行 |
+
+---
+
+## 五、能量分配示例
+
+### 例1:孩子完成运动任务(跳绳10分钟)
+
+```
+Task: 跳绳10分钟, category="运动", points=5
+时间线:
+  TaskService → awardEnergy(childId, "task", taskId, 3, "任务奖励", null)
+
+EnergySourceConfig 查找:
+  sourceType="task", sourceId=taskId → 没有精确配置
+  → 当前 Fallback: 行(action) 100%
+  → 建议 Fallback: 按 category 映射
+    category="运动" → body 80% + action 20%
+
+分配:
+  total=3, body=2, action=1
+  body日上限检查: 今日已有40 → +2 < 50 → OK
+  → body余额+2, action余额+1
+```
+
+### 例2:孩子完成情绪打卡
+
+```
+EmotionCheckin → awardEnergy(childId, "emotion_checkin", checkinId, 5, "情绪打卡奖励", 0)
+
+EnergySourceConfig:
+  sourceType="emotion_checkin" → mind 100%
+
+分配:
+  total=5, mind=5
+  mind日上限检查: 今日已有35 → +5 > 40 → ❌ 超过上限,本次不发放
+  → 提示"今日心维度能量已达上限"
+```
+
+### 例3:孩子完成DAN测评
+
+```
+AssessmentAppointment → 到场触发
+  awardEnergy(childId, "appointment", appointmentId, 20, "测评到场", null)
+
+EnergySourceConfig:
+  sourceType="appointment" → wisdom 100%
+
+分配:
+  total=20, wisdom=20
+  wisdom日上限检查: 今日已有30 → +20 < 80 → OK
+  → wisdom余额+20
+```
+
+---
+
+## 附录:代码中关键方法签名
+
+```java
+// EnergyService.java
+
+// 账本发放
+public Map<String, Integer> awardEnergy(Long childId, String sourceType, Long sourceId,
+                                        Integer totalAmount, String description,
+                                        Integer daysToExpire)
+
+// 账本扣除
+public int deductEnergy(Long childId, Long dimensionId, Integer amount, String reason)
+
+// 配置来源->维度比例
+public void configureSourceRatios(String sourceType, Long sourceId, String sourceName,
+                                  List<Map<String, Object>> ratios)
+
+// 评分计算
+private MemberEnergyDTO calcParentEnergy(User parent)
+private MemberEnergyDTO calcChildEnergy(FamilyMember child)
+
+// 各维度评分
+private int calcParentBody(User parent)
+private int calcParentMind(User parent)
+private int calcParentWisdom(User parent)
+private int calcParentAction(User parent)
+private int calcParentWealth(User parent)
+
+private int calcChildBody(FamilyMember child)
+private int calcChildMind(FamilyMember child)
+private int calcChildWisdom(FamilyMember child)
+private int calcChildAction(FamilyMember child)
+private int calcChildWealth(FamilyMember child)
+```
+
+---
+
+*本文档应与 `2026-06-05-five-dimension-energy-design.md`(系统设计)和 `2026-07-12-wuxing-ke-full-design.md`(相克关系)配合阅读。*

+ 562 - 0
docs/superpowers/specs/2026-07-12-wuxing-homepage-and-conversion-algorithm.md

@@ -0,0 +1,562 @@
+# 五维首页与能量转化算法设计:相生相克一体融合
+
+**日期:** 2026-07-12
+**状态:** 设计稿 v1
+**关联文档:** [五克完整设计](./2026-07-12-wuxing-ke-full-design.md), [旧富维度计划](../plans/2026-07-12-wealth-dimension-redesign.md)
+
+---
+
+## 一、核心理念:「克」是信号,不是惩罚
+
+### 理念梳理
+
+"克"在系统中的含义不是惩罚或封路,而是**校准和提醒**:
+
+| 旧理解 | 新理解 |
+|:-------|:-------|
+| 克=制约/惩罚/扣分 | 克=平衡信号/引导/提醒 |
+| 触发即扣分 | 先提醒,持续偏差才微调 |
+| 单向负面 | 双向检查——克方太强或被克方太弱都要点 |
+| 惩罚性文案 | 建设性文案,给出行动方向 |
+
+### 克的核心表达
+
+```
+克 = 系统在看,在提醒的方向,不是系统在罚,在禁止的方向
+```
+
+| 克关系 | 核心提醒 |
+|:-------|:---------|
+| 行克身 | 行动要在身体允许范围内——"运动社交很好,但身体在报警了" |
+| 身克富 | 健康是创富的底盘——"身体是赚钱的本钱,先照看好再去追" |
+| 富克心 | 德要配位,财富跟心理承受力要匹配——"财富涨了,心也得跟上" |
+| 心克智 | 情绪稳,智力才能发挥——"心平才能静智" |
+| 智克行 | 聪明不等于会相处——"人际不是逻辑题" |
+
+### 生与克的关系
+
+五维本质是一套**制动与驱动系统**:
+
+```
+生 = 油门(驱动、滋养、赋能)
+克 = 刹车(校准、平衡、警报)
+
+两者缺一不可:
+· 只生不克 → 维度膨胀,系统崩盘
+· 只克不生 → 维度萎缩,没有成长动力
+· 有生有克 → 动态平衡,持续发展
+```
+
+---
+
+## 二、能量转化算法:生克一体
+
+### 2.1 算法流程
+
+```
+第1轮:原始分计算(独立算每个维度,互不依赖)
+  ↓
+第2轮:克校准(检测5个克关系,只触发最痛一层)
+  ↓
+第3轮:生增益(检测5个生关系,上游好则下游小幅提升)
+  ↓
+最终分 = (原始分 × 克调整系数) + 生增益
+```
+
+**关键原则:单轮通过,不迭代。**
+
+因为迭代意味着行→身→富→心→智→行 循环推导,第2轮行的变化触发第3轮,没有收敛终点。
+
+### 2.2 克调整系数(校准信号)
+
+| 克方向 | 触发条件 | 系数 | 信号强度 |
+|:-------|:---------|:----|:---------|
+| 行克身 | 行>75 且 身<40 | 0.5~0.9 | 🔴透支——调整行动量 |
+|  | 行>60 且 身<30 | 0.3~0.7 | 🔴严重透支 |
+|  | 行>80 且 身<50 | 0.7~0.95 | 🟡轻度预警 |
+| 身克富 | 身<40 且 富>60 | 0.5~0.9 | 🔴健康拖累财富 |
+|  | 身<30 且 富>40 | 0.3~0.7 | 🔴严重 |
+| 智克行 | 智<30 且 行>50 | 0.6~0.95 | 🟡盲目行动 |
+|  | 智<20 且 行>60 | 0.4~0.8 | 🔴缺乏方向 |
+| 富克心 | 富>70 且 情绪<40 | 0.4~0.8 | 🔴财富伤情 |
+|  | 富>60 且 包容<40 | 不扣分只提示 | 🟡评判倾向 |
+| 心克智 | 心>70 且 智<40 | 0.5~0.9 | 🔴过度保护 |
+|  | 心<30 且 智>70 | 不扣分只提示 | 🟡理性冷漠 |
+
+**系数公式:**
+
+```java
+// penalty从0(完全封锁)到1(完全正常)
+// 被克方越低 → penalty越低(问题越严重)
+double penalty = 0.5 + 0.5 × (被克方分 / 100.0);
+
+// 极端情况
+// 被克方0分 → penalty = 0.5(最多打对折)
+// 被克方100分 → penalty = 1.0(不打折)
+```
+
+### 2.3 生增益系数(滋养赋能)
+
+| 生方向 | 触发条件 | 增益值 | 哲学含义 |
+|:-------|:---------|:-------|:---------|
+| 身生智 | 身>60 且 智<80 | +2~8 | 精神好,思维清晰 |
+| 智生富 | 智>60 且 富<80 | +2~8 | 智慧创造财富 |
+| 富生行 | 富>60 且 行<80 | +2~8 | 有资源就更愿意社交 |
+| 行生心 | 行>60 且 心<80 | +2~8 | 人际关系滋养情绪 |
+| 心生身 | 心>60 且 身<80 | +2~8 | 心情好身体就好 |
+
+**增益公式:**
+
+```java
+// 上游越好 → 增益越大
+double boost = (上游分 - 50) / 100.0 × 10;
+// 上游60分 → +1分
+// 上游80分 → +3分
+// 上游100分 → +5分
+// 但被克方不能超过80(给成长留空间)
+boost = Math.min(boost, 80 - 被克方);
+```
+
+### 2.4 完整伪代码
+
+```java
+public MemberEnergyDTO calculateFamilyMemberEnergy(User parent / FamilyMember child) {
+    // === 第1轮:独立算分 ===
+    int bodyRaw = calcBody(member);
+    int mindRaw = calcMind(member);
+    int wisdomRaw = calcWisdom(member);
+    int actionRaw = calcAction(member);
+    int wealthRaw = calcWealth(member);
+
+    // === 第2轮:克校准 ===
+    WuxingRestraintResult restraint = new WuxingRestraintResult();
+
+    // 顺序:行→身→富→心→智→行(克环)
+    int actionAfterKe = actionRaw;
+    int bodyAfterKe = applyActionBodyRestraint(actionRaw, bodyRaw, restraint);
+    int wealthAfterKe = applyBodyWealthRestraint(bodyAfterKe, wealthRaw, restraint);
+    int heartTotal = computeHeartTotal(mindRaw, ...);  // 心的子维度加权
+    int mindAfterKe = applyWealthHeartRestraint(wealthAfterKe, heartTotal, restraint);
+    int wisdomAfterKe = applyMindWisdomRestraint(mindAfterKe, wisdomRaw, restraint);
+    actionAfterKe = applyWisdomActionRestraint(wisdomAfterKe, actionRaw, restraint);
+
+    // === 第3轮:生增益 ===
+    int bodyFinal = applyMindBodyBoost(mindAfterKe, bodyAfterKe);  // 心生身
+    int mindFinal = applyActionMindBoost(actionAfterKe, mindAfterKe); // 行生心
+    int wisdomFinal = applyBodyWisdomBoost(bodyFinal, wisdomAfterKe); // 身生智
+    int actionFinal = applyWealthActionBoost(wealthAfterKe, actionAfterKe); // 富生行
+    int wealthFinal = applyWisdomWealthBoost(wisdomFinal, wealthAfterKe); // 智生富
+
+    // === 最终 ===
+    dto.setBodyScore(clamp(bodyFinal, 0, 100));
+    dto.setMindScore(clamp(mindFinal, 0, 100));
+    dto.setWisdomScore(clamp(wisdomFinal, 0, 100));
+    dto.setActionScore(clamp(actionFinal, 0, 100));
+    dto.setWealthScore(clamp(wealthFinal, 0, 100));
+    dto.setOverallScore((bodyFinal + mindFinal + wisdomFinal + actionFinal + wealthFinal) / 5);
+
+    // 携带克关系状态,供前端展示
+    dto.mergeRestraintStatus(restraint);
+
+    return dto;
+}
+```
+
+---
+
+## 三、首页设计(家长端登录后)
+
+### 3.1 整体结构
+
+从当前的"仪表盘+操作清单"改为**"五维能量为先,数据为辅,操作为后"**:
+
+```
+┌─────────────────────────────────┐
+│ [Banner: 家庭名称 + 综合能量值]   │  ← 顶部状态
+├─────────────────────────────────┤
+│ [五维行星盘 — 五行能量全景]        │  ← 核心视觉
+│  · 五颗星 = 五个维度              │
+│  · 星环半径=维度分值               │
+│  · 连线=生克关系(实线=相生,虚线=克)│
+│  · 点击维度 → 进入维度详情页        │
+├─────────────────────────────────┤
+│ [克关系状态条 — 最多显示1条]        │  ← 核心提醒
+│  只显示最需要关注的克关系           │
+│  "行动力很强,身体在报警"           │
+├─────────────────────────────────┤
+│ [相生指引 + 推荐动作]              │  ← 行动引导
+│  基于克关系的行动建议               │
+│  "建议增加休息类任务" → 一键添加    │
+├─────────────────────────────────┤
+│ [成员列表 — 家庭能量排行]           │  ← 社交对比
+│  每个成员的五维小图                │
+│  家长/孩子分开显示                 │
+├─────────────────────────────────┤
+│ [快捷数据]                        │  ← 次要信息
+│  任务完成率 + 积分 + 待办          │
+├─────────────────────────────────┤
+│ [内容推荐]                        │  ← 发现内容
+│  活动/商品/文章                   │
+│  (与当前克关系推荐关联)            │
+└─────────────────────────────────┘
+```
+
+### 3.2 五维行星盘(核心视觉)
+
+保留现有的 WuxingSandbox 整体框架,但新增:
+
+**克关系视觉化:**
+
+```
+身高分——→富(虚线+⚠️ 当身克富激活时)
+身低分——→富(实线 正常相生)
+
+激活的克关系在行星盘上用红色虚线 + 闪烁小箭头表示
+未激活的克关系用灰色半透明虚线
+相生用金色实线 + 流向箭头
+```
+
+**相生流向动画增强:**
+
+```
+在原有粒子流基础上,增加第二层粒子流:
+· 金色粒子 = 相生(沿身→智→富→行→心→身顺时针)
+· 红色粒子 = 相克(沿行→身→富→心→智→行逆时针)
+
+两种粒子流密度反映当前生/克强度
+所有维度分值均衡时 → 金色粒子占主导
+某个克关系激活时 → 对应臂的红色粒子增多
+```
+
+**中心太极调整:**
+
+```
+阳面(白)=家庭综合能量值
+阴面(黑)=最低维度分值("短板"提醒)
+
+点击 → 切换家庭/成员视图(保持现有功能)
+```
+
+### 3.3 克关系状态条(核心提醒)
+
+出现在行星盘下方,**每次只显示1条最关键的提醒**:
+
+```
+优先级排序(从高到低):
+1. 透支型克(行克身、身克富、富克心)→ 红色 + 行动建议
+2. 预警型克(智克行、心克智)→ 橙色 + 意识引导
+3. 平衡态 → 绿色 + 肯定
+4. 无触发 → 不显示
+```
+
+**状态条模板:**
+
+```html
+<view class="ke-bar" :class="'ke-' + keStatus" v-if="keMessage">
+  <view class="ke-bar-icon">
+    <text>{{ keIcon }}</text>
+  </view>
+  <view class="ke-bar-content">
+    <text class="ke-bar-title">{{ keTitle }}</text>
+    <text class="ke-bar-desc">{{ keMessage }}</text>
+    <view class="ke-bar-action" @click="onKeAction(keAction)">
+      <text>{{ keActionText }}</text>
+    </view>
+  </view>
+</view>
+```
+
+**各状态的图标和色彩:**
+
+| 类型 | status | 图标 | 背景色 | 例子 |
+|:----|:-------|:-----|:-------|:-----|
+| 透支 | overdraw | ⚠️ | 红橙渐变 | 行克身·透支 |
+| 预警 | cautious | 💡 | 暖黄渐变 | 富克心·预判 |
+| 平衡 | balanced | 🌟 | 绿渐变 | 行身平衡 |
+| 沉默 | normal | — | 不显示 | — |
+
+### 3.4 相生指引 + 推荐动作
+
+根据克关系状态,生成对应的行动建议:
+
+| 克状态 | 推荐动作 | 一键链接 |
+|:-------|:---------|:---------|
+| 行克身·透支 | "建议增加休息类任务" | 跳转到创建休息任务 |
+| 身克富·稀释 | "先做一次健康测评" | 跳转到健康测评 |
+| 身克富·透支 | "建议减少加班任务" | 跳转任务调整 |
+| 智克行·盲目 | "先做一次认知测评再行动" | 跳转到DAN测评 |
+| 智克行·孤独 | "建议参加一次亲子活动" | 跳转活动列表 |
+| 富克心·判断 | "试试情绪打卡,记录感受" | 跳转情绪打卡 |
+| 心克智·保护 | "给孩子一个独立任务" | 跳转创建独立任务 |
+| 平衡态 | "保持现状,坚持打卡" | 跳转打卡 |
+
+### 3.5 成员列表(家庭能量排行)
+
+```
+┌─ 家庭成员 ──────────────────────┐
+│  👨 爸爸    80 79 65 72 88      │
+│  👩 妈妈    82 85 70 68 90      │
+│  👦 小明    75 70 88 85 ...     │
+│  👧 小红    65 60 70 75 ...     │
+│  📊 家庭平均 78 75 72 75 ...    │
+└─────────────────────────────────┘
+```
+
+每个行显示成员名称 + 五维简短数字。点击进入该成员的五维详情。
+
+### 3.6 与现有关联
+
+**现有组件保持:**
+- PageBanner(顶部Banner)
+- WuxingSandbox(五维行星盘,增强克/生视觉)
+- AIFloatingAvatar(AI助手)
+- DimensionActivities(活动推荐,相关推荐过滤)
+- DimensionProducts(商品推荐)
+
+**需要新增的组件:**
+- `KeStatusBar` — 克关系状态条组件
+- `KeActionCard` — 相生指引+推荐动作卡片
+
+**需要修改的组件:**
+- `WuxingSandbox` — 增加克关系粒子流、状态传递
+- `parent-index.vue` — 整体重新编排,以五维为核心
+
+---
+
+## 四、首页设计(孩子端登录后)
+
+### 4.1 孩子端原则
+
+- **更简单、更视觉化** — 孩子不懂文字太多
+- **即时反馈** — 像玩游戏一样看到能量变化
+- **克关系不直接暴露** — 转化为"怪兽"或"挑战"提示
+
+### 4.2 孩子端首页结构
+
+```
+┌─────────────────────────────────┐
+│ [我的能量星球]                    │  ← 简化版五维星盘
+│  五个小星球+轨道,分值=星球大小    │
+│  转动动画                        │
+├─────────────────────────────────┤
+│ [今日能量]                        │  ← 大数字
+│  🌟 综合能量 78%                  │
+├─────────────────────────────────┤
+│ [需要关注!] — 最多1条             │  ← 克提醒(儿童版)
+│  "你的行动力太强了,身体需要休息!"  │
+│  [添加休息任务]                    │
+├─────────────────────────────────┤
+│ [成长数据]                        │
+│  连续打卡 15天 🔥                  │
+│  积分 2350 ⭐                     │
+├─────────────────────────────────┤
+│ [我的任务]                        │  ← 待办事项
+│  □ 晨跑30分钟                     │
+│  □ 阅读20分钟                     │
+├─────────────────────────────────┤
+│ [本周排行]                        │
+│  家人们的能量排名                  │
+└─────────────────────────────────┘
+```
+
+孩子端的"克"提醒翻译:
+
+| 克状态 | 孩子端文案 |
+|:-------|:-----------|
+| 行克身 | "你的运动超能力需要充电啦!" |
+| 身克富 | "身体健康才能赚更多星星✨" |
+| 富克心 | 不直接展示(家长端显示) |
+| 心克智 | "心情好,学习才会好!" |
+| 智克行 | 不直接展示(家长端显示) |
+
+---
+
+## 五、能量转化算法细节
+
+### 5.1 克的系数表(完整)
+
+```
+行克身:
+  行 > 75, 身 < 40:   penalty = 0.5 + 0.5 × (身/100),  起点0.5, 身100=1.0
+  行 > 60, 身 < 30:   penalty = 0.3 + 0.7 × (身/100),  起点0.3, 身100=1.0
+
+身克富:
+  身 < 40, 富 > 60:   penalty = 0.5 + 0.5 × (身/100),  起点0.5, 身100=1.0
+  身 < 50, 富 > 身+20: 不扣分,只提醒
+
+智克行:
+  智 < 30, 行 > 50:   penalty = 0.6 + 0.4 × (智/100),  起点0.6, 智100=1.0
+  智 > 80, 行 < 40:   不扣分,只提醒
+
+富克心:
+  富 > 70, 情绪 < 40: penalty = 0.4 + 0.6 × (情绪/100), 起点0.4, 情绪100=1.0
+  富 > 60, 包容 < 40: 不扣分,只提醒
+  富 > 60, 传承 < 20: 不扣分,只提醒
+
+心克智:
+  心 > 70, 智 < 40:   penalty = 0.5 + 0.5 × (智/100),  起点0.5, 智100=1.0
+  智 > 70, 心 < 40:   不扣分,只提醒
+```
+
+### 5.2 生的增益表(完整)
+
+```
+心生身(心→身):
+  心 > 60 且 身 < 80:  boost = (心 - 50) / 100 × 10, 上限 = 80 - 身
+
+身生智(身→智):
+  身 > 60 且 智 < 80:  boost = (身 - 50) / 100 × 10, 上限 = 80 - 智
+
+智生富(智→富):
+  智 > 60 且 富 < 80:  boost = (智 - 50) / 100 × 10, 上限 = 80 - 富
+
+富生行(富→行):
+  富 > 60 且 行 < 80:  boost = (富 - 50) / 100 × 10, 上限 = 80 - 行
+
+行生心(行→心):
+  行 > 60 且 心 < 80:  boost = (行 - 50) / 100 × 10, 上限 = 80 - 心
+```
+
+### 5.3 单轮通过的理由
+
+为什么只做一轮不做迭代?
+
+```
+第2轮输出 = 克效(原始) + 生效(克效)
+第3轮输出 = 克效(第2轮) + 生效(第2轮)
+...
+
+假设第2轮行的分因智克行被调低
+第3轮行生心 → 心因行被调低调
+第4轮心克智 → 智又因心调低
+...
+
+每次迭代都在放大"生"和"克"的波动
+多轮后可能导致所有维度收敛到50分(趋同)
+或发散到极端(0分/100分)
+
+单轮通过:
+· 克只看原始分(最真实的状态反映)
+· 生只看克调整后分(一次校准)
+· 避免收敛/发散问题
+· 结果稳定可预期
+```
+
+---
+
+## 六、生克合并后的前端展示逻辑
+
+### 6.1 每个维度页面的关系图
+
+以"身"页面为例:
+
+```
+┌─ 身 · 维度详情 ──────────────────┐
+│                                   │
+│  身 78分                          │
+│  较上周 +3%                       │
+│                                   │
+│  ——— 相生关系 ———                  │
+│  ❤️ 心 → 🌏 身 (+2分) [心生身]    │
+│                                   │
+│  ——— 相克关系 ———                  │
+│  🌿 行  ⊖  🌏 身 (行克身·预警)    │
+│  🌏 身  ⊖  💧 富 (身克富·正常)    │
+│                                   │
+│  ——— 子维度权重 ———                │
+│  · 体质状况    40%  → 68分        │
+│  · 运动任务    30%  → 82分        │
+│  · 先天体质    30%  → 84分        │
+└───────────────────────────────────┘
+```
+
+### 6.2 前端数据模型
+
+```javascript
+// 从后端返回的 MemberEnergyDTO 扩展
+{
+  memberId: 1,
+  memberType: 'parent',
+  name: '爸爸',
+  bodyScore: 78,
+  mindScore: 75,
+  wisdomScore: 65,
+  actionScore: 45,
+  wealthScore: 82,
+  overallScore: 69,
+
+  // 克关系状态(后端计算好)
+  restraintStatuses: [
+    {
+      keType: 'action_body',    // 克类型
+      status: 'overdraw',       // overdraw|penalty|cautious|balanced|normal
+      title: '行克身·透支',      // 标题
+      message: '行动力很强,但身体在报警。适度暂停,是另一种前进',
+      action: '/pages/tasks/create-task?category=休息',
+      actionText: '添加休息任务'
+    }
+  ],
+
+  // 生增益明细
+  boostDetails: [
+    { from: 'mind', to: 'body', boost: 2, type: 'sheng' }
+  ],
+
+  // 心的子维度
+  heartEmotionStable: 65,
+  heartUnderstanding: 70,
+  heartLegacy: 0
+}
+```
+
+---
+
+## 七、修改计划
+
+### 7.1 后端
+
+| # | 文件 | 操作 | 内容 |
+|:-:|:-----|:-----|:-----|
+| 1 | `MemberEnergyDTO.java` | 修改 | 新增克状态字段、生增益字段、心子维度 |
+| 2 | `EnergyService.java` | 修改 | 克环校准(5方法) + 生环增益(5方法) + 统一入口 |
+| 3 | `EnergyController.java` | 检查 | 返回新DTO字段是否需要调整Controller |
+
+### 7.2 前端
+
+| # | 文件 | 操作 | 内容 |
+|:-:|:-----|:-----|:-----|
+| 1 | `components/KeStatusBar.vue` | 新建 | 克关系状态条组件 |
+| 2 | `components/KeActionCard.vue` | 新建 | 相生指引+推荐动作卡片 |
+| 3 | `components/wuxing-sandbox-helpers/render.js` | 修改 | 增加克粒子流、相生金色粒子 |
+| 4 | `components/wuxing-sandbox.vue` | 修改 | 传递克状态、增加克视觉、生+克粒子层 |
+| 5 | `pages/index/parent-index.vue` | 重构 | 以五维为核心重新编排 |
+| 6 | `pages/index/child-index.vue` | 重构 | 孩子端简化版 |
+
+### 7.3 不做的事
+
+- 不新建数据库表(克状态和生增益在内存计算)
+- 不改schema.sql和DatabaseInitializer
+- 不改Mapper
+- 不改前端pages.json和路由
+- 不删现有功能(只重新编排和增加)
+
+---
+
+## 八、实施顺序
+
+```
+Phase 1(文档+后端算法):
+  1. 完善DTO扩展
+  2. 实现克环5方法 + 生环5方法
+  3. 实现统一入口(第1轮+第2轮+第3轮)
+  4. 编译验证
+
+Phase 2(前端组件):
+  5. KeStatusBar 组件开发
+  6. KeActionCard 组件开发
+  7. WuxingSandbox 克/生视觉增强
+
+Phase 3(页面重构):
+  8. parent-index.vue 重构
+  9. child-index.vue 简化
+```

+ 631 - 0
docs/superpowers/specs/2026-07-12-wuxing-ke-full-design.md

@@ -0,0 +1,631 @@
+# 五维相克关系完整设计:三个角度 × 五个克 × 系统实现
+
+**日期:** 2026-07-12
+**状态:** 初稿
+**分支:** cfclub
+
+---
+
+## 概述
+
+本文档统一定义五维五行相克关系的三层解读框架,以及每个克关系在能量算法、前端展示、产品推荐上的系统体现。
+
+这是对 [`2026-06-08-five-dimension-wuxing-philosophy.md`](./2026-06-08-five-dimension-wuxing-philosophy.md) 的补充和落地方案。该文档定义了五行哲学框架,本文档定义每个克关系的**产品化解读**和**系统实现**。
+
+---
+
+## 核心框架:克关系的三层解读
+
+每个"克"关系都包含四个角度,而不是单一的"谁制约谁":
+
+| 层 | 含义 | 作用 |
+|:--:|------|:----:|
+| **角度① 被克方透支** | 克方过度膨胀,被克方被压制 | **预警触发**——最痛的问题,系统需要警示 |
+| **角度② 克方不足** | 克方太弱,被克方盲目发展 | **引导触发**——不扣分但提示方向 |
+| **角度③ 克方替代被克方** | 克方本质与被克方冲突,有取代性的行为但没有本质替代 | **检测触发**——检测行为层面的偏斜 |
+| **角度④ 平衡态** | 克方与被克方相互制衡,共生 | **正向标记**——理想状态,鼓励维持 |
+
+### 克环
+
+五行相克循环:
+
+```
+行(木) ──克──→ 身(土) ──克──→ 富(水) ──克──→ 心(火) ──克──→ 智(金) ──克──→ 行(木)
+```
+
+---
+
+## 维度体系总览
+
+### 五个维度的完整定义
+
+| 维度 | 五行 | 核心 | 方向 |
+|:----:|:----:|------|:----:|
+| **身** | 土 | 主动健康——体质、精力、睡眠 | 内化·生存 |
+| **智** | 金 | 赋能未来——认知能力、逻辑、知识 | 内化·思辨 |
+| **富** | 水 | 利他创富——金钱、成就、资源 | 外化·调动 |
+| **行** | 木 | 人际和谐——陪伴在场、关系密度、利他 | 外化·连接 |
+| **心** | 火 | 大爱相随——情绪稳定、理解包容、传承 | 内化·情感 |
+
+### 维度数据的多角色差异
+
+| 子维度 | 成人 | 孩子 |
+|:-------|:-----|:-----|
+| **身·体质** | 任务完成率、健康报告 | 健康报告overallScore、运动任务完成率 |
+| **智·认知** | 学习/培训任务完成率 | DAN COG六子分加权 |
+| **富·金钱/收入** | 积分总量折算 | 积分获取效率 |
+| **富·成就/地位** | 职称、奖项(待补) | 学业成绩(Dan AssessmentResult overallScore) |
+| **富·资源网络** | 推荐团队规模(待补) | 活动参与度(待补) |
+| **行·陪伴在场** | 与家人互动任务完成率(待补) | 家庭共同任务参与率 |
+| **行·关系密度** | 社交活跃度(待补) | 活动参与次数(待补) |
+| **行·利他行为** | 推荐/分享行为 | 分享学习用品、帮助他人(待补) |
+| **心·情绪稳定** | (暂无数据,回0) | 情绪打卡trend + DAN EMI 情绪管理三子分 |
+| **心·理解包容** | (暂无数据,回0) | DAN EMI 同理心+社会适应 + 家庭天盘相性 |
+| **心·传承传递** | (暂无数据,回0) | (待补:家训阅读、给孩子的信) |
+
+---
+
+## 克①:行克身(木克土)
+
+### 本质
+
+> 行动对身体的制约——运动、户外活动过度会损耗身体(运动损伤、过度疲劳)。
+
+行的本质是"关系、社交、行动";身的本质是"健康、体质、精力"。行克身指:**过度社交/活动/行动会透支身体机能**。
+
+### 四层角度
+
+| 角度 | 场景 | 用户画象 |
+|:----:|------|:---------|
+| **①透支型** | 行高身低:活动狂、社交达人,结果是慢性疲劳、运动损伤 | "社交达人"、"深夜下班还去聚会" |
+| **②谨慎型** | 行低身高:宅、不社交,但身体保养得很好 | "养生专家"、"宅家'">"但缺少社会连接 |
+| **③替代型** | 用"健康管理"替代实际行动——养生焦虑>实际出门活动 | "一天测5次血压的手机养生族" |
+| **④平衡型** | 行养身:适度运动、规律社交、身心兼修 | "每周运动3次+见2个朋友"的理想状态 |
+
+### 系统实现
+
+#### 杠杆
+
+```java
+private int applyActionBodyRestraint(int actionScore, int bodyScore, MemberEnergyDTO dto) {
+    if (actionScore > 75 && bodyScore < 40) {
+        double penalty = 0.5 + 0.5 * (bodyScore / 100.0);
+        int adjusted = (int) Math.round(bodyScore * penalty);
+        dto.setActionBodyStatus("overdraw");
+        dto.setActionBodyMessage("行动力很强,但身体在报警。适度暂停,是另一种前进");
+        return Math.min(adjusted, bodyScore);
+    }
+    if (actionScore > 60 && bodyScore > 60) {
+        dto.setActionBodyStatus("balanced");
+        dto.setActionBodyMessage("身心兼修,动态平衡");
+        return bodyScore;
+    }
+    if (bodyScore > 70 && actionScore < 30) {
+        dto.setActionBodyStatus("cautious");
+        dto.setActionBodyMessage("身体底子好,但缺少行动。出门走走,也是养生的一部分");
+        return bodyScore;
+    }
+    dto.setActionBodyStatus("normal");
+    return bodyScore;
+}
+```
+
+#### 前端展示
+
+身页面顶部状态条:
+
+```
+┌─ 行身关系 ───────────────────────┐
+│  🌿 行 78分  |  🌏 身 35分        │
+│  ⚠️ 行动力很强,但身体在报警       │
+│  适度暂停,是另一种前进            │
+└──────────────────────────────────┘
+```
+
+---
+
+## 克②:身克富(土克水)
+
+### 本质
+
+> 健康对财富的制约——身体是"参赛资格",不是财富的"生产者"(身生智→智生富)。身体出问题,直接消耗财富(医疗开支、收入中断)并削弱创富能力(没有精力追逐机会)。
+
+### 四层角度
+
+| 角度 | 场景 | 用户画像 |
+|:----:|------|:---------|
+| **①透支型** | 富高身低:用健康换钱,身体换来的钱迟早还给医院 | "996打工人"、"创业过劳" |
+| **②稀释型** | 身高低富:健康正在消耗财富存量 | "老病号"、"慢性病患者" |
+| **③替代型** | 用"我在养生"代替"我在赚钱"——养生焦虑过度消费 | "保健品囤积狂"、"过度医疗焦虑" |
+| **④平衡型** | 健康是创富底盘:身体好+财富好,双优状态 | "精力充沛的创业者" |
+
+### 系统实现
+
+#### 杠杆
+
+```java
+private int applyBodyWealthRestraint(int bodyScore, int wealthScore, MemberEnergyDTO dto) {
+    if (bodyScore == 0 && wealthScore == 0) {
+        dto.setBodyWealthStatus("normal");
+        dto.setBodyWealthMessage("");
+        return wealthScore;
+    }
+
+    // 角度①:透支型——身低但富高,预警不下调
+    if (bodyScore < 50 && wealthScore > bodyScore + 20) {
+        dto.setBodyWealthStatus("overdraw");
+        dto.setBodyWealthMessage("您的健康分较低,当前财富增长可能以健康为代价");
+        return wealthScore;
+    }
+
+    // 角度②:稀释型——身严重偏低,直接打折
+    if (bodyScore < 40) {
+        double penalty = 0.5 + 0.5 * (bodyScore / 100.0);
+        int adjusted = (int) Math.round(wealthScore * penalty);
+        dto.setBodyWealthStatus("penalty");
+        dto.setBodyWealthMessage("健康正在拖累您的财富创造力,建议优先改善身体状况");
+        return Math.min(adjusted, wealthScore);
+    }
+
+    // 角度③:替代型检测——养生行为>>创富行为(待补数据源)
+
+    // 角度④:平衡态
+    dto.setBodyWealthStatus("normal");
+    if (bodyScore >= 70 && wealthScore >= 60) {
+        dto.setBodyWealthMessage("身体是财富的底盘,您处于双优状态");
+    } else if (bodyScore >= 70 && wealthScore < 40) {
+        dto.setBodyWealthMessage("您的健康基础很好,是启动创富的好时机");
+    } else {
+        dto.setBodyWealthMessage("");
+    }
+    return wealthScore;
+}
+```
+
+---
+
+## 克③:智克行(金克木)
+
+### 本质
+
+> 认知对关系的制约——"智"是内化的个人认知能力,"行"是外化的人际连接能力。两者本质冲突:**用分析代替共情,用评判代替陪伴,用思考代替行动**。
+
+行的核心重新定义为三个子维度:**陪伴在场、关系密度、利他行为**,"智"与"行"的冲突本质是"分析逻辑"与"同理心人际"之间的天然矛盾。
+
+### 四层角度
+
+| 角度 | 场景 | 用户画像 |
+|:----:|------|:---------|
+| **①认知孤独型** | 智高行低:成绩好被孤立,用逻辑与人交往=把朋友当问题解决 | "独来独往的学霸"、"太聪明没朋友" |
+| **②盲目社交型** | 行高智低:人缘好但缺方向,容易被带偏 | "受同伴影响大的孩子"、"社交但不上进" |
+| **③替代型** | 用"我在思考/分析"代替"我去行动/处关系"——智成了行动的借口 | "我在调研竟品所以不拜访客户" |
+| **④平衡型** | 智行并进:有深度认知,也有社交温度 | "班干部+成绩好"、"既能独立工作又融入团队" |
+
+### 系统实现
+
+#### 杠杆
+
+```java
+private int applyWisdomActionRestraint(int wisdomScore, int actionScore, MemberEnergyDTO dto) {
+    // 角度②:盲目社交型——智低行高,行动效率打折
+    if (wisdomScore < 30 && actionScore > 50) {
+        double penalty = 0.6 + 0.4 * (wisdomScore / 100.0);
+        int adjusted = (int) Math.round(actionScore * penalty);
+        dto.setWisdomActionStatus("blind");
+        dto.setWisdomActionMessage("行动力很强,但有方向会让努力更有效。建议先做一次测评");
+        return Math.min(adjusted, actionScore);
+    }
+
+    // 角度①:认知孤独型——智高行低,不下调只预警
+    if (wisdomScore > 80 && actionScore < 40) {
+        dto.setWisdomActionStatus("paralysis");
+        dto.setWisdomActionMessage("聪明不等于会相处。朋友不是用逻辑交来的");
+        return actionScore;
+    }
+
+    // 角度④:平衡型
+    dto.setWisdomActionStatus("balanced");
+    if (wisdomScore >= 60 && actionScore >= 60) {
+        dto.setWisdomActionMessage("知行合一状态,继续保持");
+    } else if (actionScore >= 60 && wisdomScore < 50) {
+        dto.setWisdomActionMessage("行动力很好,建议增加测评了解方向");
+    } else {
+        dto.setWisdomActionMessage("");
+    }
+    return actionScore;
+}
+```
+
+---
+
+## 克④:富克心(水克火)
+
+### 本质
+
+> 财富对"心"三个层面的侵蚀。
+
+"心"的核心是三个独特的内在维度:
+
+| 维度 | 含义 | 方向 |
+|:----:|------|:----:|
+| **心·情绪稳定** | 遇事不慌、自我调节、不情绪化 | **内向·稳自己** |
+| **心·理解包容** | 理解他人、接纳不同、不轻易评判 | **内向·懂他人** |
+| **心·传承传递** | 家族价值观、生命意义的精神留传 | **内向·留精神** |
+
+**陪伴在场归"行"(行·陪伴在场)**,不属于"心"——陪伴是"在不在",心是"在不在状态"。
+
+### 四层角度
+
+| 角度 | 场景 | 用户画像 |
+|:----:|------|:---------|
+| **①情绪爆发型** | 富高心低(情绪层):钱壮胆,在外克制回家发泄,家人成出气筒 | "外面是好好先生,回家就发脾气" |
+| **②评判型** | 富高心低(包容层):站在财富成就的高度评判他人"不够努力" | "成功创业者看不起职场员工" |
+| **③替代型** | 用钱替代情感投入:送礼/报班代替陪伴、红包代替探望 | "给孩子一堆课但没时间一起玩" |
+| **④平衡型** | 富养心:用资源换回陪伴时间,财富服务于情感建设 | "财务自由用来陪家人旅行" |
+
+### 心的子维度算法
+
+```java
+// 心·情绪稳定 = 情绪打卡趋势×50% + DAN EMI情绪管理三子分×50%
+private int calcHeartEmotionStable(Long childId, DanAssessmentResult dan) {
+    EmotionTrendVO trend = emotionCheckinService.getTrend(childId, "month");
+    int checkinScore = safeScore(trend.getAverageMoodScore());
+
+    int danEmotion = 50;
+    if (dan != null) {
+        int ems = safeScore(dan.getEmotionManagementScore());
+        int resilience = safeScore(dan.getResilienceScore());
+        int stress = safeScore(dan.getStressCopingScore());
+        danEmotion = (ems + resilience + stress) / 3;
+    }
+
+    return clamp((int) Math.round(checkinScore * 0.5 + danEmotion * 0.5), 0, 100);
+}
+
+// 心·理解包容 = DAN EMI 同理心+社会适应×70% + 家庭天盘相性×30%
+private int calcHeartUnderstanding(Long childId, DanAssessmentResult dan, Long familyId) {
+    if (dan == null) return 50;
+    int empathy = safeScore(dan.getEmpathyScore());
+    int social = safeScore(dan.getSocialAdaptabilityScore());
+    int danScore = (empathy + social) / 2;
+
+    // 家庭天盘相性(待补数据对接)
+    // int tianpanScore = getFamilyCompatibilityAverage(familyId);
+    // return clamp((int) Math.round(danScore * 0.7 + tianpanScore * 0.3), 0, 100);
+
+    return clamp(danScore, 0, 100);
+}
+
+// 心·传承传递(第一阶段回0占位)
+private int calcHeartLegacy(Long childId) {
+    return 0;
+}
+
+// 心总评分
+// 心 = 情绪稳定×0.40 + 理解包容×0.40 + 传承传递×0.20
+```
+
+### 杠杆
+
+```java
+private int applyWealthHeartRestraint(int wealthScore, int heartScore, MemberEnergyDTO dto) {
+    int emotionStable = dto.getHeartEmotionStable() != null ? dto.getHeartEmotionStable() : 50;
+    int understanding = dto.getHeartUnderstanding() != null ? dto.getHeartUnderstanding() : 50;
+    int legacy = dto.getHeartLegacy() != null ? dto.getHeartLegacy() : 50;
+
+    // 从底层往上检测——先看情绪,再看包容,最后看传承
+    if (wealthScore > 70 && emotionStable < 40) {
+        double penalty = 0.4 + 0.6 * (emotionStable / 100.0);
+        int adjusted = (int) Math.round(heartScore * penalty);
+        dto.setWealthHeartStatus("eruption");
+        dto.setWealthHeartMessage("财富给了底气,也偷走了对家人的耐心。先稳住情绪,再谈其他");
+        return Math.min(adjusted, heartScore);
+    }
+
+    if (wealthScore > 60 && understanding < 40) {
+        dto.setWealthHeartStatus("judgmental");
+        dto.setWealthHeartMessage("站在高处久了,可能忘了普通人走路的难处");
+        return heartScore;
+    }
+
+    if (wealthScore > 60 && legacy < 20) {
+        dto.setWealthHeartStatus("materialized");
+        dto.setWealthHeartMessage("留给孩子的只有存款,价值观也需要传下去");
+        return heartScore;
+    }
+
+    if (wealthScore > 70 && heartScore > 65) {
+        dto.setWealthHeartStatus("nourished");
+        dto.setWealthHeartMessage("您的财富正在滋养家庭情感,这是最好的传承");
+        return heartScore;
+    }
+
+    dto.setWealthHeartStatus("normal");
+    dto.setWealthHeartMessage("");
+    return heartScore;
+}
+```
+
+### 富克心的检测优先级
+
+只触发最痛的一层,不堆叠提示:
+
+```
+检测顺序(从下往上):
+1. 情绪稳定 < 40 且 富 > 70 → eruption(情绪爆发型)
+2. 理解包容 < 40 且 富 > 60 → judgmental(评判型)
+3. 传承传递 < 20 且 富 > 60 → materialized(物质替代型)
+4. 都没命中 → normal / nourished
+```
+
+---
+
+## 克⑤:心克智(火克金)
+
+### 本质
+
+> 情感与关爱对理性培养的制约——心盛则智衰。
+
+心的核心是情绪稳定、理解包容、传承传递;智的核心是逻辑、分析、知识积累。两者的冲突是**感性对理性的压制**。
+
+### 四层角度
+
+| 角度 | 场景 | 用户画像 |
+|:----:|------|:---------|
+| **①过度保护型** | 心高智低:凡事替孩子想好做好决定好,孩子没有独立思考机会 | "包办型家长"、"直升机父母" |
+| **②理性冷淡型** | 智高心低:成绩好但与家人疏离 | "高智商低情商"、"理性不和父母沟通" |
+| **③替代型** | 用"爱"替代"教"——只表扬不批评、只温柔不严格,孩子学不会反思 | "赞美教育过度"、"娃碰不得挫折" |
+| **④平衡型** | 心养智:温和坚定+留空间,爱与理性并行 | "懂孩子又不过度保护"、"陪伴式教育" |
+
+### 系统实现
+
+```java
+private int applyMindWisdomRestraint(int mindScore, int wisdomScore, MemberEnergyDTO dto) {
+    // 角度①:心高智低——过度保护压制智慧成长
+    if (mindScore > 70 && wisdomScore < 40) {
+        double penalty = 0.5 + 0.5 * (wisdomScore / 100.0);
+        int adjusted = (int) Math.round(wisdomScore * penalty);
+        dto.setMindWisdomStatus("overprotect");
+        dto.setMindWisdomMessage("放手让孩子试错,是培养智慧的第一步");
+        return Math.min(adjusted, wisdomScore);
+    }
+
+    // 角度②:智高心低——不扣智,只提示
+    if (wisdomScore > 70 && mindScore < 40) {
+        dto.setMindWisdomStatus("cold_wise");
+        dto.setMindWisdomMessage("智慧需要温度,不然长大了只会做事不会做人");
+        return wisdomScore;
+    }
+
+    // 角度④:平衡型
+    if (mindScore > 60 && wisdomScore > 60) {
+        dto.setMindWisdomStatus("balanced");
+        dto.setMindWisdomMessage("爱与理性并行,是最好的教育");
+        return wisdomScore;
+    }
+
+    dto.setMindWisdomStatus("normal");
+    return wisdomScore;
+}
+```
+
+---
+
+## 统一算法框架
+
+### 通用杠杆模式
+
+每个克关系用一个统一接口:
+
+```java
+public class WuxingRestraintResult {
+    private String status;         // 状态标识
+    private String message;        // 用户可见消息
+    private int adjustedScore;     // 调整后的被克方分值
+}
+
+// 在 calcParentEnergy / calcChildEnergy 末尾统一调用
+private void applyAllRestraints(MemberEnergyDTO dto) {
+    // 行克身
+    int bodyAdjusted = applyActionBodyRestraint(
+        safeScore(dto.getActionScore()), safeScore(dto.getBodyScore()), dto);
+    dto.setBodyScore(bodyAdjusted);
+
+    // 身克富
+    int wealthAdjusted = applyBodyWealthRestraint(
+        safeScore(dto.getBodyScore()), safeScore(dto.getWealthScore()), dto);
+    dto.setWealthScore(wealthAdjusted);
+
+    // 富克心 — 使用心的加权总分
+    int heartScore = computeHeartTotal(dto);
+    int heartAdjusted = applyWealthHeartRestraint(
+        safeScore(dto.getWealthScore()), heartScore, dto);
+    dto.setMindScore(heartAdjusted);  // mind对应五行之火
+
+    // 心克智
+    int wisdomAdjusted = applyMindWisdomRestraint(
+        heartScore, safeScore(dto.getWisdomScore()), dto);
+    dto.setWisdomScore(wisdomAdjusted);
+
+    // 智克行
+    int actionAdjusted = applyWisdomActionRestraint(
+        safeScore(dto.getWisdomScore()), safeScore(dto.getActionScore()), dto);
+    dto.setActionScore(actionAdjusted);
+}
+```
+
+### 执行顺序
+
+相克环是环形的,但应用杠杆需要顺序以避免循环依赖。使用上下文已经算好的值:
+
+```
+第1轮计算:所有维度独立算分(不依赖其他维度)
+↓
+第2轮克杠杆:
+  1. 行克身(用行动分支和身体分支)
+  2. 身克富(用使用身调后的分支和财富分支)
+  3. 富克心(用使用富的调后分支和心的子维度)
+  4. 心克智(用使用心的调后分和智的原始分)
+  5. 智克行(用使用智的调后分和行的原始分)
+```
+
+注意:**克杠杆只在第1轮之后执行一次,不做迭代**。因为多轮迭代会导致收敛问题(比如行→身→富→心→智→行,第2轮行的变化又会触发第3轮)。
+
+### DTO 扩展
+
+```java
+// MemberEnergyDTO.java 新增字段
+
+// ===== 身克富标记 =====
+private String bodyWealthStatus;
+private String bodyWealthMessage;
+
+// ===== 智克行标记 =====
+private String wisdomActionStatus;
+private String wisdomActionMessage;
+
+// ===== 富克心标记 =====
+private String wealthHeartStatus;
+private String wealthHeartMessage;
+
+// ===== 心克智标记 =====
+private String mindWisdomStatus;
+private String mindWisdomMessage;
+
+// ===== 行克身标记 =====
+private String actionBodyStatus;
+private String actionBodyMessage;
+
+// ===== 心的子维度 =====
+private Integer heartEmotionStable;
+private Integer heartUnderstanding;
+private Integer heartLegacy;
+```
+
+---
+
+## 前端展示设计
+
+### 状态条通用组件
+
+在每个维度页面的头部,展示该维度涉及的克关系:
+
+| 页面 | 展示的克关系 |
+|:----:|:-----------:|
+| 身(`pages/body/index.vue`) | 行克身状态条 |
+| 智(`pages/wisdom/index.vue`) | 心克智状态条 |
+| 富(`pages/wealth/index.vue`) | 身克富状态条 |
+| 行(`pages/action/index.vue`) | 智克行状态条 |
+| 心(`pages/mind/index.vue`) | 富克心状态条 |
+
+### 状态条样式
+
+三种视觉模式:
+
+| status | 主题色 | 装饰符号 | 消息风格 |
+|:------:|:------:|:--------:|:---------|
+| normal | 灰 | 无 | 不显示(无声) |
+| *透支/预警 | 琥珀色 | ⚠️ | 警示语气 |
+| *透支/惩罚 | 红色 | 🔻 | 建议语气 |
+| *平衡/滋养 | 品牌色 | 🌟 | 肯定语气 |
+
+template 模式:
+
+```html
+<view class="restraint-bar" :class="'status-' + status" v-if="message">
+  <view class="restraint-content">
+    <text class="restraint-icon">{{ iconMap[status] }}</text>
+    <text class="restraint-message">{{ message }}</text>
+  </view>
+</view>
+```
+
+### 状态条内容
+
+```
+┌─ 行克身 ────────────────────────┐
+│  🌿 行 78分  |  🌏 身 35分       │
+│  ⚠️ 行动力很强,但身体在报警      │
+└──────────────────────────────────┘
+```
+
+```
+┌─ 身克富 ────────────────────────┐
+│  🌏 身 82分  |  💧 富 45分       │
+│  💡 健康基础很好,是启动创富的好时机  │
+└──────────────────────────────────┘
+```
+
+```
+┌─ 智克行 ────────────────────────┐
+│  ⚔️ 智 85分  |  🌿 行 30分       │
+│  ⚠️ 聪明不等于会相处              │
+└──────────────────────────────────┘
+```
+
+```
+┌─ 富克心 ────────────────────────┐
+│  💧 富 75分  |  🔥 心 35分       │
+│  ⚠️ 财富给了底气,也偷走了对家人的耐心 │
+└──────────────────────────────────┘
+```
+
+```
+┌─ 心克智 ────────────────────────┐
+│  🔥 心 75分  |  ⚔️ 智 30分       │
+│  ⚠️ 放手让孩子试错,是培养智慧的第一步 │
+└──────────────────────────────────┘
+```
+
+---
+
+## 产品推荐联动
+
+### 克关系 → 推荐映射
+
+| 克关系状态 | 系统动作 | 推荐内容 |
+|:---------:|:--------:|:---------|
+| actionBody = overdraw | 推荐静养/放松类内容 | 冥想、瑜伽、轻运动 |
+| bodyWealth = overdraw | 隐藏新的创富推荐 | 健康干预、休息 |
+| bodyWealth = penalty | 推送医疗/康复资源 | 健康检查、调理方案 |
+| wisdomAction = paralysis | 推送"行动导向"内容 | 打卡挑战、户外活动 |
+| wisdomAction = blind | 推荐测评/学习 | 认知测评、方向指引 |
+| wealthHeart = eruption | 推送情绪管理内容 | 情绪打卡、情绪日记 |
+| wealthHeart = judgmental | 推送同理心内容 | 家庭天盘、家庭成员故事 |
+| wealthHeart = materialized | 推送陪伴任务 | 家庭互动任务、亲子活动 |
+| mindWisdom = overprotect | 推荐"放手"内容 | 让孩子做主任务、独立挑战 |
+| mindWisdom = cold_wise | 推荐家庭互动 | 共情训练、陪伴打卡 |
+
+---
+
+## 修改文件清单
+
+| # | 文件 | 操作 | 说明 |
+|:-:|:-----|:----|:-----|
+| 1 | `MemberEnergyDTO.java` | 修改 | 新增5组克标记、3个心子维度 |
+| 2 | `EnergyService.java` | 修改 | 新增5个杠杆方法 + 统一调用接口 + 心子维度算法 |
+| 3 | `pages/body/index.vue` | 修改 | 新增行克身状态条 |
+| 4 | `pages/wisdom/index.vue` | 修改 | 新增心克智状态条 |
+| 5 | `pages/wealth/index.vue` | 修改 | 新增身克富状态条(已计划) |
+| 6 | `pages/action/index.vue` | 修改 | 新增智克行状态条 |
+| 7 | `pages/mind/index.vue` | 修改 | 新增富克心状态条 + 心三层展示 |
+| 8 | 执行计划 | 执行 | 按 2026-07-12-wealth-dimension-redesign.md → 扩展为五克完整实现 |
+
+## 不做的事
+
+- 不改 schema.sql(不新建表)
+- 不改 DatabaseInitializer(无需迁移)
+- 不改 EnergySandboxDTO(家庭聚合不受影响)
+- 不改任何 Mapper
+- 暂不实现"心·传承传递"和"行·陪伴在场/利他行为"的数据源(占位回0)
+
+---
+
+## 附录:与富维度重构的关系
+
+本文档(五克完整设计)是 [`2026-07-12-wealth-dimension-redesign.md`](../plans/2026-07-12-wealth-dimension-redesign.md) 的补充。实际开发时两者按以下优先级执行:
+
+```
+Phase 1: 富维度重构(子维度+身克富杠杆+小程序富页)
+Phase 2: 五克完整实现(剩余4个克关系+5个状态条组件)
+```