关系管理功能需求分析
一、当前实现范围
关系管理是浠艾福平台的核心基础能力——以家庭为单位的服务平台,关系管理贯穿家庭构成、服务商绑定、社会联系人等场景。当前已实现以下能力:
1.1 家庭内部关系
| 能力 |
数据结构 |
前端 |
后端 API |
状态 |
| 家庭创建 |
family 表 |
— |
FamilyController |
✅ |
| 家庭成员添加 |
family_members 表 |
add-member.vue |
FamilyMembersController.add |
✅ |
| 家庭成员列表 |
family_members 表 |
family-members.vue |
FamilyMembersController.list |
✅ |
| 成员关系类型编辑 |
family_members.relationshipType |
RelationshipPicker.vue 组件 |
FamilyMembersController.update |
✅ |
| 切换成员视角 |
family_members 表 |
family-members.vue |
FamilyMembersController.switch |
✅ |
| 踢出成员 |
family_members 表 |
family-members.vue |
FamilyMembersController.kick |
✅ |
| 孩子管理 |
关联 family_members+user |
children.vue / create-child.vue / edit-child.vue |
家长端接口 |
✅ |
| 关系类型字典 CRUD |
relationship_types 表 |
RelationshipTypes.vue(管理端) |
RelationshipTypeAdminController |
✅ |
| 家庭邀请码 |
family.inviteCode |
小程序码 |
FamilyController |
✅ |
| 家庭邀请处理 |
family_invitation 表 |
落地页 |
FamilyInviteController |
✅ |
| 家庭地址编辑 |
family 表地址字段 |
address-edit.vue |
— |
✅ |
| 家庭属性配置 |
family_member_attributes 表 |
— |
FamilyAttributeController |
✅ |
| 家庭关系图 |
Canvas 绘制 |
FamilyRelationGraph.vue 组件 |
前端绘制 |
✅ |
1.2 社会联系人(非家庭成员)
| 能力 |
数据结构 |
前端 |
后端 API |
状态 |
| 联系人列表 |
contacts 表 |
ContactCard.vue 组件 |
ContactController.list |
✅ |
| 创建联系人 |
contacts 表 |
表单 |
ContactController.create |
✅ |
| 编辑联系人 |
contacts 表 |
表单 |
ContactController.update |
✅ |
| 删除联系人 |
contacts 表 |
删除操作 |
ContactController.delete |
✅ |
| 联系人详情 |
contacts 表 |
ContactCard.vue |
ContactController.detail |
✅ |
| 手机通讯录导入 |
contacts 表 |
ContactImport.vue 组件 |
ContactController.importPhone |
✅ |
| 互动记录 |
contacts 表 + contactCount |
— |
ContactController.interaction |
✅ |
1.3 服务商-家庭绑定
| 能力 |
数据结构 |
前端 |
后端 API |
状态 |
| 家长-规划师绑定 |
guide_family_relations + family.teacherId |
绑定页面 |
BindController |
✅ |
| 规划师邀请绑定 |
guide_family_relations |
邀请链接 |
BindInviteController |
✅ |
| 规划师家庭列表 |
guide_family_relations |
FamilyList.vue(管理端) |
GuideFamilyService |
✅ |
| 规划师-家庭关系 |
guide_family_relations(relationType, status) |
— |
GuideFamilyRelationService |
✅ |
1.4 其他关系
| 能力 |
数据结构 |
状态 |
| 分销关系 |
distribution_relation 表 |
✅ 存在但未见前端对接 |
| 家庭会员关系 |
family_memberships 表 |
✅ 基础实现 |
| 成员属性扩展 |
family_member_attributes 表 |
✅ |
二、现有功能覆盖评估
已覆盖的维度(5分/5分)
- 成员 CRUD:完整的家庭成员增删改查
- 关系类型字典:管理端可配置
- 关系图可视化:Canvas 绘制家庭关系图
- 联系人管理:社会联系人 CRUD + 手机导入
- 规划师-家庭绑定:两端双向绑定流程
- 邀请机制:通过邀请码加入家庭
部分覆盖的维度(3分/5分)
- 关系类型体系:只有 typeKey/typeName/capabilityRole 三要素,缺少关系属性(如"亲密度"、"关系年限"、"共同居住"等)
- 家庭关系图交互:仅查看,不支持在图上直接编辑
- 联系人与家庭成员的打通:联系人和家庭成员互不关联,无法将联系人直接邀请为家庭成员
- 关系历史/时间线:成员关系变更没有记录
未覆盖的维度(0分/5分)
- 关系统计分析:无任何关系数据统计功能
- 关系事件提醒:无生日提醒、纪念日提醒等
- 家庭成员角色/标签:无自定义标签(如"主要照顾者"、"紧急联系人"等)
- 关系健康度评估:无关系质量打分、互动频率分析
- 多家庭归属:一个人是否可属于多个家庭
- 家庭树谱系图:跨代家庭关系展示
三、功能需求建议
P0 - 核心补齐(建议立即纳入)
3.1 关系类型体系扩展
- 问题:当前关系类型只有 typeKey/typeName/capabilityRole,无法表达关系的多维属性
- 需求:
- 关系属性扩展:亲属关系可配置"父系/母系"、"血缘/姻亲"等维度
- 关系有效期:临时关系(如"保姆")可设置有效期
- 关系等级:成员在家庭中的权限等级(管理员/普通成员/受限成员)
- 涉及范围:
RelationshipType 实体扩展、family_members 加字段
3.2 联系人→家庭成员升级路径
- 问题:联系人与家庭成员是两套独立的数据,无法互通
- 需求:
- 联系人的"邀请加入家庭"操作
- 联系人详情页显示"已在家庭中"的状态
- 导入手机通讯录后,自动匹配已注册用户,显示"可邀请加入家庭"提示
- 涉及范围:
ContactController 新增邀请接口、ContactCard.vue 扩展
3.3 家庭关系时间线
- 问题:家庭成员的关系变更、加入、离开无历史记录
- 需求:
- 记录家庭成员每次关系类型变更
- 记录新成员加入时间、退出时间
- 可在家庭关系图中按时间节点回溯关系状态
- 涉及范围:新增
family_member_logs 表、更新时间线组件
P1 - 体验增强(建议下个迭代)
3.4 家庭关系图增强
- 单击节点显示成员详情(弹窗)
- 双击节点切换为该成员视角(复用现有 switch 能力)
- 关系线 hover 显示关系类型名称
- 支持按关系类型筛选显示/隐藏
- 支持缩放和平移(大数据量家庭)
3.5 家庭成员标签系统
- 可为成员添加自定义标签(如"接送人"、"紧急联系人"、"过敏体质"等)
- 标签在家庭关系图中以图标展示
- 标签由家长管理
3.6 关系事件提醒
- 成员生日提醒
- 关系纪念日提醒(如 "爸爸加入家庭一周年")
- 互动频率低提醒(如 "和孩子已 7 天未互动")
P2 - 高阶能力(建议规划)
3.7 关系健康度评估
- 基于互动频率、任务完成情况、能量流动方向等,计算成员之间的关系健康度
- 关系健康度在家庭关系图中以颜色/动画表现
- 低健康度时 AI 提醒并提供改善建议
3.8 多家庭/跨家庭场景
- 一个人可同时属于多个家庭(如祖父母属于多个子女家庭)
- 跨家庭能量互动、任务协作
- 家庭联姻关系管理(两个家庭因婚姻关系关联)
3.9 家族谱系(Tree)
- 支持跨代关系展示(祖父母→父母→子女)
- 支持"家庭成员"和"已故长辈"的标注
- 族谱导出(图片/PDF)
四、现有数据模型改进建议
4.1 relationship_types 表扩展
-- 当前字段:typeKey, typeName, capabilityRole, sortOrder, enabled
-- 建议新增:
ALTER TABLE relationship_types ADD COLUMN category VARCHAR(32) DEFAULT 'family' COMMENT '分类: family/contact/workplace';
ALTER TABLE relationship_types ADD COLUMN is_blood_relation TINYINT(1) DEFAULT 0 COMMENT '是否血缘关系';
ALTER TABLE relationship_types ADD COLUMN is_immediate_family TINYINT(1) DEFAULT 0 COMMENT '是否直系亲属';
4.2 family_members 表扩展
-- 当前字段:userId, familyId, relationshipType, nickname, avatar, etc.
-- 建议新增:
ALTER TABLE family_members ADD COLUMN is_primary TINYINT(1) DEFAULT 0 COMMENT '是否主要家庭成员';
ALTER TABLE family_members ADD COLUMN permission_level VARCHAR(16) DEFAULT 'member' COMMENT '权限等级: admin/member/restricted';
ALTER TABLE family_members ADD COLUMN joined_at DATETIME COMMENT '加入时间';
4.3 新增表:family_member_tags
CREATE TABLE family_member_tags (
id BIGINT AUTO_INCREMENT PRIMARY KEY,
family_id BIGINT NOT NULL,
member_id BIGINT NOT NULL,
tag_name VARCHAR(32) NOT NULL COMMENT '标签名',
tag_type VARCHAR(16) DEFAULT 'custom' COMMENT '标签类型: system/custom',
created_at DATETIME
);
4.4 新增表:family_member_logs
CREATE TABLE family_member_logs (
id BIGINT AUTO_INCREMENT PRIMARY KEY,
family_id BIGINT NOT NULL,
member_id BIGINT NOT NULL,
action VARCHAR(32) NOT NULL COMMENT '操作: join/leave/change_role/change_relation',
old_value VARCHAR(64) COMMENT '旧值',
new_value VARCHAR(64) COMMENT '新值',
operator_id BIGINT COMMENT '操作人',
created_at DATETIME
);
4.5 contacts 表扩展
-- 建议新增字段:
ALTER TABLE contacts ADD COLUMN family_member_id BIGINT DEFAULT NULL COMMENT '关联的家庭成员ID';
ALTER TABLE contacts ADD COLUMN invited_status VARCHAR(16) DEFAULT 'none' COMMENT '邀请加入家庭状态: none/invited/accepted/declined';
五、优先级建议
| 优先级 |
需求 |
工作估 |
依赖 |
| P0 |
关系类型体系扩展(属性/有效期/权限) |
2-3 天 |
后端实体改、管理端 UI |
| P0 |
联系人→家庭成员升级路径 |
3-4 天 |
后端 API + 前端组件 |
| P0 |
家庭关系时间线 |
3-5 天 |
新建表 + 后端 + 前端 |
| P1 |
关系图增强交互 |
2-3 天 |
前端组件改 |
| P1 |
成员标签系统 |
2-3 天 |
新建表 + 管理端 |
| P1 |
关系事件提醒 |
2-3 天 |
定时任务 + 消息推送 |
| P2 |
关系健康度评估 |
5-7 天 |
AI 分析 + 可视化 |
| P2 |
多家庭场景 |
5-8 天 |
架构级改动 |
| P2 |
家族谱系 |
4-6 天 |
前端组件 + 后端 |
六、总结
当前关系管理功能覆盖了基本 CRUD 和核心流程(家庭构成、联系人管理、服务商绑定),已经是一个可用的基础版本。主要短板在于:
- 数据隔离:联系人和家庭成员是两套独立数据,缺少互通路径
- 历史缺失:关系变更无记录,无法回溯
- 交互单薄:关系图展示能力强但交互弱(仅查看、无编辑)
- 智能不足:无关系分析、健康度评估等 AI 能力
建议 P0 需求在 1-2 个迭代内完成,补齐基础能力;P1 优化体验;P2 作为 AI 差异化能力规划。
文档版本: v0.1
日期: 2026-06-26