状态: 待实施 日期: 2026-07-12 分支: cfclub 优先级顺序: Phase 1 小缺口 → Phase 2 珍珠图/圈子 → Phase 3 富重建
文件:
cfc-frontend/pages/body/index.vuecfc-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 — 已有,获取身维度能量验收:
文件:
cfc-frontend/pages/wisdom/index.vue需求: 在认知雷达图下方增加"本月阅读"概览卡片,展示近30天总阅读时长。
改动:
| 文件 | 改动 |
|:-----|:------|
| pages/wisdom/index.vue | 在认知雷达下方增加阅读统计卡片区块 |
API 依赖:
POST /api/article/reading-stats — 需要确认是否存在,若不存在需后端新增DanAssessmentResult 的阅读时长字段验收:
文件:
cfc-frontend/pages/mind/index.vuecfc-backend/.../controller/TianpanController.java(确认已有)需求: 在心页 EMI 雷达下方增加"家庭天盘"概览卡片,展示天盘相性分析结果。
改动:
| 文件 | 改动 |
|:-----|:------|
| pages/mind/index.vue | 在 EMI 雷达和 DimensionArticles 之间插入天盘相性卡片 |
| 后端 TianpanService | 确认已提供相性分析 API |
API 依赖:
POST /api/tianpan/compatibility — 确认已有验收:
全新功能,影响行页面和富页面(圈子入口)。
-- 圈子表
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 方法 |
将 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 |
当前富页面的"行动数据"(任务数/购买数/活动数/课程数)应移除。这些数据属于行维度,可选择在行页面增加一个统计摘要。
Phase 1 (并行3项,预计 1-2 天)
├── P1-1 身:健康打卡入口
├── P1-2 智:阅读时长展示
└── P1-3 心:天盘相性
Phase 2 (珍珠图/圈子,预计 3-5 天)
├── 数据模型 + 迁移
├── 匹配引擎
├── API CRUD
└── 前端组件
Phase 3 (富重建,预计 3-5 天)
├── 后端 DTO + Service + API
├── 前端页面重写
└── 组件开发