服务端
Gin 处理 API,GORM 管理 MySQL,MongoDB 承载消息文档,Redis 负责缓存、队列、在线状态与限流。
后端入口在 `backend/cmd/server/main.go`,业务拆在 handlers、services、models、ws、mq、cache 等目录;客户端按 feature-first 管理。

Gin 处理 API,GORM 管理 MySQL,MongoDB 承载消息文档,Redis 负责缓存、队列、在线状态与限流。
WebSocket Hub 管理多设备连接、会话订阅、广播、心跳、重连、消息队列和在线状态推送。
Flutter + Riverpod + GoRouter + Dio + Isar,跨移动端、桌面端和 Web,支持本地缓存与断网重发。
Agora Token 生成、CallKit 来电、PiP 悬浮窗、通话记录和多端状态终止。
Vue3 + Vite + TypeScript + Element Plus + Pinia + ECharts,构成完整管理后台。
提供 Docker、docker-compose、宝塔、Nginx、systemd、SQL 初始化等部署资料。
| 目录 | 职责 | 官网呈现价值 |
|---|---|---|
| `lib/` | Flutter 客户端核心功能和共享组件 | 多端体验、聊天社交、钱包、通话和本地缓存。 |
| `backend/` | Go 后端 API、WebSocket、MQ、缓存和部署 | 性能、并发、私有化、可扩展业务能力。 |
| `admin/` | Vue3 管理后台 | 运营、审核、报表、系统配置和支付管理。 |
| `admin-kf/` | 独立客服工作台 | 获客承接、客服绑定、欢迎语和私域服务。 |
| `assets/` | 图片、图标、表情、声音、贴纸 | 产品完整度和可运营内容生态。 |
技术架构页需要把“高并发 IM”讲清楚:业务接口负责校验和落库,实时链路负责推送,缓存与队列负责削峰和状态同步。
Flutter 先创建本地消息状态,Dio 调用消息接口;断网时进入离线队列,网络恢复后自动重试。
Go 后端校验 JWT、设备、会话成员、禁言、黑名单、撤回时限和上传权限,再进入服务层处理。
Redis 生成消息序号与短时状态,MongoDB 存储消息文档,MySQL 保持会话、群组、用户和钱包结构化数据。
Hub 按用户、设备、会话维度推送新消息、已读、输入中、群资料变更和在线状态。
Redis MQ 处理推送、同步、延迟任务和失败重试,降低高峰时主链路压力。
后台可查看会话、消息、举报、动态、钱包和运行状态,形成线上运营闭环。