从消息、通讯录到群聊、发现,熏弟覆盖 IM 的关键一环,功能对齐真实 App。
消息、通讯录、群聊、发现四大 Tab 覆盖完整社交链路,单群消息统一时间线漫游。
文本、图片、语音、视频、文件、表情、名片、位置、系统消息,一应俱全。
持久化 + ACK + 幂等 + 序列号,保证消息不丢、不重、有序送达。
用户级 sync_seq 单调游标,多设备一致;换机重装可增量拉取历史。
在可撤回时间窗内撤回消息,各端与会话摘要同步更新。
群主 / 管理员分级、成员禁言、转让与移除,群组秩序尽在掌握。
read_seq 支撑多端已读同步,presence 实时反映在线/离线。
搜索添加、验证申请、二维码/扫码,快速建立联系人关系链。
同名 token 覆盖的深灰质感;会话内本地关键词检索历史消息。
以序列号双轨与 ACK 确认构建可靠投递,配合用户收件箱实现多端增量同步。
上行发送 → 逻辑层处理 → 确认与推送
四层职责单一、边界明确;先交付单机版核心,预留分布式水平扩展能力。
WebSocket 长连接 · 无业务、不碰数据库
coder/websocket 握手与连接生命周期、协议编解码、心跳保活、单机连接路由与上下行。
Gin HTTP API + gRPC 内部服务
鉴权、消息、会话、群组、关系、同步、在线等业务服务,扩散投递编排与序列号/ID 申请。
PostgreSQL 持久化 + Redis 缓存/序列/状态
PG 存消息、会话、用户、群组;Redis 提供原子 INCR、在线状态与分布式锁。
etcd 服务发现/配置 + 雪花 ID
服务注册与发现、配置热更新、雪花 workerID 分配、分布式锁;单机可降级为静态配置。
技术栈
90% 以上面积由页面底 + 白色卡片 + 灰阶文字构成,仅核心操作与品牌识别使用主色。
brand
#1FD79F
brand_dark
#14B583
success
warning
error
info
ink
mist
sm 6 · md 10 · card 16 · sheet 20 · pill 999