外观
架构与职责
宿主负责账号与产品外壳,SDK 负责聊天体验,服务端保存业务数据并向所有已登录设备同步变化。
text
你的产品
├─ 宿主客户端:登录、注册、个人资料、根导航、系统推送入口
├─ 宿主后端:验证账号身份、保管 SDK Secret、获取 IM Token
└─ 泡泡 IM SDK:会话、通讯录、聊天、好友、群、媒体、音视频通话
│ HTTP + WebSocket
▼
泡泡 IM 服务端
├─ Webman HTTP:宿主与 SDK 接口、管理后台、资源访问
├─ GatewayWorker:唯一一套实时连接与事件分发
└─ MySQL / 资源存储:用户关系、消息、配置、媒体文件宿主与 SDK
| 责任 | 宿主 | SDK |
|---|---|---|
| 账号登录与身份恢复 | 验证宿主登录态 | 通过 Provider 获取 IM 凭证 |
| 会话和联系人 | 承载 SDK 根入口 | 管理列表、未读、缓存和内部导航 |
| 本人资料 | 保存产品账号资料 | 接收公开资料更新并同步界面 |
| 系统通知 | 申请权限、注册设备、接收平台通知 | 处理通知指向的聊天或通话 |
| 账号切换 | 更新 Provider 身份并调用登录 | 隔离账号状态与缓存 |
| 实时连接 | 无需维护第二条聊天连接 | 鉴权、重连和状态校准 |
客户端不保存 SDK Secret,也不直接连接数据库。restoreCachedSession 仅预热缓存;login 在首次权威同步成功后才表示登录完成。
服务端入口
/app/sdk/*是 SDK 协议;除签发 Token 外使用 IM Bearer Token。/app/auth/*等宿主接口使用宿主会话,服务于配套应用的登录、账号和资料。/admin/*为管理后台,使用管理员会话。/ws为实时入口,通过首帧 Token 认证。
服务端 web/app 保存通用业务能力,web/plugin/sdk 提供 SDK 协议与鉴权适配。扩展服务端时复用已有业务服务,不额外创建一套消息表、实时集群或账号映射。
