全端源码交付
Flutter 客户端、Go 后端、管理后台、客服后台、静态官网和部署脚本一起交付,后续二开不被单一平台锁死。
壹信不是一个单页面演示,而是一套 Go 后端、Flutter 多端、管理后台、客服后台、WebSocket 实时通道、MySQL/MongoDB/Redis 数据层完整组合的私有化 IM 系统。
API、WebSocket、后台、客服后台、上传访问和官网静态资源统一反代。
即时通讯系统部署最怕“能跑但不稳”。壹信把接口、实时通道、数据层、后台配置、客服承接和客户端打包都拆清楚,交付时能按模块验收。
Flutter 客户端、Go 后端、管理后台、客服后台、静态官网和部署脚本一起交付,后续二开不被单一平台锁死。
HTTP API 负责业务请求,WebSocket 负责在线连接、新消息、多设备同步、广播和状态变化。
结构化业务进 MySQL,聊天消息进 MongoDB,高频状态、限流、队列和缓存交给 Redis。
后台能管理用户、会话、动态、举报、钱包、热更新、广播和系统配置,部署后可持续运营。
下面是官网展示版环境说明,方便客户预估服务器、域名、证书和第三方服务。正式交付时会按客户实际环境给出配置清单。
| 环境层 | 建议准备 | 作用 | 交付关注点 |
|---|---|---|---|
| 操作系统 | Linux 服务器、宝塔面板或容器环境 | 承载 Go 后端、Nginx、数据库、后台静态资源和上传目录。 | 生产环境建议固定目录、固定用户、日志与备份策略。 |
| 后端运行 | Go 构建环境或已编译 Linux 二进制 | 启动统一 API 服务、WebSocket、消息队列 worker、钱包定时任务和外部服务适配。 | 建议使用 systemd、守护进程或容器方式管理服务。 |
| 后台构建 | Node.js + pnpm | 构建管理后台和客服后台静态文件,由 Nginx 提供访问。 | 后台 API 地址、路由刷新、静态资源缓存需配置正确。 |
| 客户端打包 | Flutter SDK、Android/iOS/桌面平台构建环境 | 生成 Android、iOS、Web、Windows 等客户端包。 | 包名、签名、图标、App 名称、API 域名和推送配置需统一。 |
| 基础服务 | MySQL、MongoDB、Redis | 分别承担业务数据、消息文档、高频缓存/限流/队列。 | 生产环境需内网访问、独立账号、备份、监控和容量规划。 |
| 入口代理 | Nginx + HTTPS 证书 | 统一代理 API、WebSocket、后台、客服后台、上传文件和静态资源。 | WebSocket Upgrade、超时、上传大小、证书续期要重点检查。 |
部署前先把域名规划清楚,后续客户端打包、支付回调、推送、上传访问和 WebSocket 才不会反复返工。
用于客户端、管理后台、客服后台统一请求 `/api/v1`,建议全站 HTTPS,生产环境不直接暴露内部端口。
可与 API 同域,也可独立子域。Nginx 需要支持连接升级、长连接超时和跨端来源策略。
管理后台建议独立子域,启用 HTTPS、强密码、角色权限和演示环境隔离。
客服后台用于邀请码、欢迎语、邀请用户和接待看板,可按业务团队独立开放。
头像、图片、视频、语音、文件和发现页图标都依赖可访问的资源地址,建议接入 CDN 或对象存储扩展。
支付回调、用户协议、隐私政策、邀请注册链接和热更新资源都要在上线前统一确认。
这套系统的“牛”不在页面数量,而在每个服务都能支撑真实 IM 业务:消息、群组、钱包、通话、后台、客服和热更新都能串起来。
认证、用户、联系人、会话、消息、动态、钱包、音视频、会议、上传、后台和客服接口都从这里统一提供。
维护在线连接,推送新消息、已读状态、会话变更、动态通知、广播和多设备同步。
存储用户、联系人、群组频道、系统配置、钱包、会员、充值提现、红包转账和后台运营数据。
承载聊天消息和内容类文档,适合高频写入、灵活结构和历史消息检索扩展。
处理缓存、限流、短时状态、消息队列、在线协同和部分任务调度,提升系统响应稳定性。
承接 HTTPS、静态资源、API 转发、WebSocket 升级、上传访问、后台入口和跨端访问策略。
用户管理、会话治理、消息检索、动态审核、举报处理、钱包财务、系统配置、热更新和公告广播。
官方客服登录、资料、邀请码、邀请用户、欢迎语和客服看板,适合私域承接和运营转化。
客户真正关心的是“买完能不能跑、能不能改、能不能上线”。部署流程按阶段推进,问题更容易定位。
确认服务器系统、CPU/内存/磁盘、域名数量、备案情况、HTTPS 证书、数据库部署方式、是否使用宝塔或 Docker。
准备 MySQL、MongoDB、Redis、Nginx、Go 后端运行目录、后台静态目录和上传文件持久化目录。
配置数据库连接、对外访问地址、上传路径、WebSocket 策略、推送、短信、音视频、支付和钱包相关开关。
构建管理后台和客服后台,配置 API 地址,发布到 Nginx 静态站点,验证刷新路由和登录权限。
替换 App 名称、图标、包名、签名、API 地址、WebSocket 地址、推送参数和平台权限,再打包测试。
按登录、注册、联系人、单聊、群聊、文件上传、通话、动态、钱包、后台审核、客服承接、热更新逐项验收。
下面这张表适合客户、开发、部署和测试一起过。每一项都对应真实线上风险,过完再上线更稳。
| 检查项 | 说明 | 状态建议 |
|---|---|---|
| 域名与 HTTPS | API、WebSocket、后台、客服后台、Web 客户端、上传资源均应走 HTTPS。 | 上线前完成证书、反代和自动续期确认。 |
| 数据库初始化 | 导入 MySQL 初始化脚本,确认 MongoDB 与 Redis 可连接,业务表、消息库和缓存状态正常。 | 先在测试环境验证,再迁移到生产。 |
| 后端配置 | 确认运行模式、对外地址、上传目录、WebSocket 来源、队列、音视频、短信、推送和钱包策略。 | 生产环境必须独立配置,不能沿用演示环境。 |
| 客户端配置 | 替换 API 地址、WebSocket 地址、App 名称、图标、包名、签名、权限、推送和热更新参数。 | 打包前统一核对,避免安装后再返工。 |
| Nginx 代理 | 确认 `/api/v1`、WebSocket、上传资源、后台刷新路由、缓存策略和上传大小限制。 | 重点测试长连接、图片视频上传和后台刷新。 |
| 消息链路 | 测试单聊、群聊、撤回、编辑、转发、已读、表情回应、多设备同步和离线补拉。 | 建议多账号、多设备同时测试。 |
| 钱包链路 | 测试支付密码、充值、提现、红包、转账、会员、交易流水和后台审核。 | 涉及资金的功能必须单独做灰度和对账。 |
| 后台权限 | 确认超级管理员、普通管理员、演示管理员和客服权限范围。 | 上线前关闭或隔离演示账号写权限。 |
| 日志与备份 | 后端日志、Nginx 日志、数据库备份、上传目录备份和异常告警要能追踪。 | 建议上线前演练一次恢复流程。 |
| 第三方服务 | 短信、音视频、推送、支付、对象存储、CDN、热更新平台需使用生产参数。 | 所有生产参数由客户私有保管。 |
IM 系统上线后不是“放着不管”,要持续看在线连接、消息延迟、数据库容量、上传资源和第三方通道。
WebSocket 连接数、消息发送峰值、MongoDB 写入、Redis 命中和推送队列是 IM 系统的核心指标。
后台入口、管理员权限、钱包审核、支付回调、短信验证码和上传文件类型都需要独立风控。
MySQL、MongoDB、Redis 持久化、上传文件和配置文件都要纳入备份策略,不能只备份数据库。
用户增长后可逐步拆分数据库、Redis、上传资源、静态资源、后台和 API 服务,先监控再扩容。
用户协议、隐私政策、举报、敏感词、动态审核、账号注销和数据留存需要结合客户业务设置。
客户端小改可走热更新策略,涉及原生权限、SDK、签名、支付和推送能力时需要整包发布。
不必须。当前项目同时保留 Docker、docker-compose、宝塔和脚本化部署资料,客户可以根据服务器管理习惯选择。宝塔适合传统服务器交付,Docker 更适合容器化和测试环境。
IM 的实时消息依赖 WebSocket。Nginx 反代时要正确处理连接升级、HTTPS、超时、来源策略和长连接稳定性,否则会出现能登录但收不到实时消息的问题。
建议提前准备服务器、域名、SSL 证书、短信/推送/音视频/支付等第三方账号,以及 App 名称、Logo、包名、签名和上线平台资料。
常见遗漏是 WebSocket 代理、上传资源域名、推送生产证书、支付回调地址、后台演示账号权限、客户端包名签名和数据库备份。
官网只展示部署结构和交付边界,生产密钥、数据库账号、支付参数、短信参数、推送证书等只在客户私有环境中配置和保管。