海狸IM 2.1 移动端解读:Flutter 客户端界面与功能
海狸IM 是一个基于 MIT 协议开源、支持私有化部署的即时通讯平台,后端采用 Go + Go-Zero 微服务。它的客户端覆盖桌面端(Electron + Vue 3)、移动端和运营管理后台三套,共用同一套账号与后端。本文聚焦移动端——用 Flutter 构建的 Android / iOS 应用,基于真实界面梳理它提供的功能和用法,不评价、不对比,只讲清楚「手机上能做什么、怎么用」。
一、移动端是什么
移动端面向的是触屏、碎片化的使用场景,设计上强调打开快、单手可操作、扫码这类手机专属能力。
- 技术选型:移动端基于 Flutter 构建,一套 Dart 代码同时编译出 Android 和 iOS 两个安装包,界面与交互在两端保持一致;对做二次开发的开发者来说,只需维护一套代码。
- 账号互通:它和桌面端、管理后台共用同一后端与账号体系,消息走 WebSocket 实时推送,所以电脑上发的消息手机能收到,反过来也一样。
- 覆盖场景:移动端覆盖沟通、社交与轻量办公,是桌面端的延伸入口。
补充一句技术栈背景:海狸IM 后端是 Go + Go-Zero 微服务,实时通信基于 WebSocket,音视频基于 LiveKit;移动端用 Flutter 实现双端一致。后面不堆术语,主要带你看界面和用法。
二、登录与账号
任何 IM 的第一步都是登录。移动端支持密码登录,也支持 OAuth 授权码登录 + 移动端扫码确认。
日常用得最多的是密码登录,忘记密码也能在手机上直接走找回密码流程,不用切回电脑。
另一种情况是 OAuth 授权码登录 + 移动端扫码确认:当你在桌面端或网页里点开某个接入了海狸IM 的第三方应用、需要授权时,手机会弹出确认提示,点一下「确认」就完成登录,全程不用反复输账号密码。在私有化部署中,多个内部系统接入海狸IM 做统一授权时,这条链路可以减少重复输密码。


三、聊天
聊天是移动端使用频率最高的模块,能力基本和桌面端对齐:消息列表、语音、Markdown、图片、私聊设置、表情商店。
消息列表按时间排序,未读消息用红点标出,并且和桌面端实时同步——电脑上看过的会话,手机上红点也会消。

Markdown 渲染对开发者很关键。在群里发需求、贴代码片段时,代码块、列表、加粗在手机上排版正常,不会因换行乱掉。下图是一条带代码块的消息在手机上的效果。

图片预览点开能看大图、双指缩放、长按保存,日常传图够用。

私聊设置里可以置顶、开消息免打扰、清空聊天记录。置顶把重要的人钉在列表最上面,免打扰让群消息不弹通知但又不漏看。

表情商店内置一套表情,能下载也能把自己常用的收藏起来。

四、好友
加人和管理人,在手机上往往是顺手的事——看到二维码扫一下、搜个昵称加一下。
好友列表按分组排列,能备注、能看到在线状态。备注名只在你这边显示。

别人加你的申请会汇总到新的朋友,在这里统一通过或忽略。

点进某个好友详情,能看到资料、改备注、直接发起会话。

添加好友 / 搜索好友支持按账号或昵称搜索,搜不到也能直接填账号添加。


扫码是手机端的常用能力:加好友、加群、加入圈子,打开扫一扫对着码即可。

五、群
群聊是协作的主场。移动端建群、管群和桌面端一致。
从好友列表里发起群聊,多选几个人就能建群。

群列表里是我加入的所有群,配合消息列表的红点,能快速定位哪个群在喊你。

群聊设置里集中了群成员管理、群公告、入群申请、消息免打扰。群公告适合发长期有效的信息,免打扰适合把「只看不聊」的群静音。

六、朋友圈
朋友圈是海狸IM 里偏「社交」的一块,发动态、看动态、点赞评论。移动端是刷朋友圈的主要场景,红点和桌面端同步。
朋友圈详情是图文动态一条条往下刷,配图、文字排版都针对手机屏宽做了适配。

看到有意思的可以点赞,也能回复某条具体评论,互动方式和常见社交产品一致。

七、我的与设置
最后是「我」这一侧——个人资料、二维码,以及一些基础设置。
个人中心里是资料、我的二维码。我的二维码可以让人扫它直接加你为好友,线下交换联系方式时用得上。


通用设置包含通知、隐私、存储等基础项。通知决定消息要不要弹横幅,存储决定缓存清不清理。

检查更新能在客户端内直接检测新版本。

八、移动端还支持什么
除了上面这条主线,移动端在工程里还实现了圈子、工作台、OAuth 扫码等模块,并且和桌面端数据互通。
- 圈子:带主题的社区板块,可以在手机上刷动态、参与讨论;
- 工作台:桌面端嵌的第三方应用入口,手机上同样能打开,外出时用工作台处理审批类事务;
- OAuth 扫码确认:前面登录里提到的「手机确认即登录」,就是在这里落地的。
这些模块和前面讲的是同一套账号、同一套后端,体验是连贯的,按自己的使用节奏去探索即可。

