外观
Day 3:社交图谱、联系人与邀请
当日成果
完成从搜索用户到建立、管理和解除关系的社交图谱,并保证 block、隐私和邀请 token 在四端一致。
能力边界
包括用户搜索、好友申请、联系人、备注名、block、presence privacy、个人邀请链接/二维码和官方联系人排序合同。
群邀请在 Day 4;动态可见性在 Day 8。
能力合同
| Capability ID | API | Admin | iOS | Android | 关键证据 |
|---|---|---|---|---|---|
| GRAPH-001 用户搜索 | ✓ | ✓ | ✓ | ✓ | privacy filter |
| GRAPH-002 好友申请 | ✓ | ✓ | ✓ | ✓ | state machine |
| GRAPH-003 联系人与备注 | ✓ | ✓ | ✓ | ✓ | projection repair |
| GRAPH-004 Block | ✓ | ✓ | ✓ | ✓ | cross-domain deny |
| GRAPH-005 个人邀请 | ✓ | ✓ | ✓ | ✓ | token replay/expiry |
调查提示
text
进入 SOCIAL-GRAPH。对照真实 schema 调查 Friendship、UserContact、FriendRequest、
FriendInvite 和 User 的关系,不从 userId 字段猜 relation。列出每种状态转换、权限、
幂等键、realtime 事件和客户端 repair 责任。1
2
3
2
3
学员决策
- 好友申请是否允许重复发送、撤销和重新申请。
- block 对既有会话、搜索、presence 和邀请的影响。
- 联系人备注名只归谁所有。
- 邀请 token 的有效期、次数和接受者约束。
Feature Goal
text
/goal 完成 SOCIAL-GRAPH 能力包,以状态机测试、block 跨域权限测试、邀请 token
重放测试、iOS/Android 整行导航验收和 realtime/REST repair 收敛为完成证据。
保持备注名私有、隐私过滤和服务端权限不可由客户端绕过。1
2
3
2
3
跨端实施面
- API:状态机、权限、搜索、邀请和 durable events。
- Admin:好友申请/邀请/关系的安全观测,避免无审计改写。
- iOS:联系人、好友申请、二维码、全行可点击导航。
- Android:Room projection、分页、邀请 deep link、共享列表组件。
Mandatory gates
- [ ] 非法状态转换被服务端拒绝。
- [ ] 重复请求幂等。
- [ ] block 覆盖搜索、申请、presence 和关系动作。
- [ ] 备注名不会泄漏给对方。
- [ ] token 过期、重放和错误用户路径通过。
- [ ] realtime 丢失后列表和角标可 repair。
- [ ] iOS/Android 中间空白区域也能触发导航行。
常见假完成
- 客户端隐藏按钮代替服务端权限。
- 角标只依赖本地事件,冷启动错误。
- block 只影响好友列表,不影响搜索和邀请。
- 联系人备注写回公开 profile。
Checkpoint
冻结 social graph 状态机、permission matrix、邀请 contract、跨端截图和 social-graph-green。