产品动态

Like 五端源码升级:Flutter+Go+IM 三端互通,直播带货 + 短视频全量开源

高染网络·2026-06-12·280 阅读

摘要:我最近对 Like 源码做了重大更新,移动端 Flutter 3.10+、后端 Go 1.25、后台 Vue 3,实现了短视频、直播、商城、IM 四功能一体化,一套代码覆盖 iOS、Android、Web。新增直播带货挂商品、SVGA 礼物、弹幕 Redis 缓冲、视频打赏,后台 RBAC 权限精确到 API 级别。

从去年启动 Like 项目到现在,我终于把三端完整开源版推出来了。

先说移动端:基于 Flutter 3.10 + Dart 3.x,一套代码跑通 iOS、Android、Web,后续 Windows 和 macOS 也能直接打包。视频播放用了 video_player 配合自己写的 VideoPool 控制器池,解决列表滑动时的内存抖动。直播走 Agora RTC 6.5,token 实时从后端下发,弹幕通过 WebSocket 推送。支付集成了支付宝官方 tobias 插件,亲测双端回调正常。

后端重构为 Go 1.25 + Gin + GORM

之前用 Java 太重,这次换 Go 后性能提升明显。WebSocket 基于 gorilla/websocket 实现了 Hub 模式,单机撑住万级并发没问题。JWT 分用户态(7 天过期)和管理员态(24 小时),用户踢人下线直接改 Redis 里的 token 黑名单。MySQL 8.0 存核心数据,Redis 6 做缓存和弹幕队列。

后台 Vue 3 + Vite 5 + Arco Design Pro

管理面板完全重写,RBAC 权限精确到 API 级别——管理员、角色、菜单、接口四级,客户要求改权限时不用动代码。ECharts 做的数据报表,日活、充值、视频播放量一目了然。原来的后台用的是 Element UI,这次换成 Arco 后表单校验和列表筛选流畅很多。

短视频与直播打通

短视频模块做了抖音同款的上下滑全屏 Feed,双击爱心动画和单击暂停都实现了。右侧栏集成关注、点赞、评论、收藏、分享,音乐旋转盘直接复用。评论支持子评论和 @ 人,弹幕用 Redis 缓冲两小时滚动展示。

直播新增带货功能:主播开播时能选择商品挂到直播间,用户点击底部购物袋直接跳商品详情。礼物系统支持 SVGA 动画和多档梯度,主播分成自动入钱包。弹幕写入走 Redis -> 异步批量入库,高峰期没崩过。

IM 与视频打赏

即时通讯基于 Go 的 WebSocket,单聊群聊都做了。视频打赏金额直接进作者钱包,平台抽成比例后台可配置。用户中心增加了隐私设置、多设备管理和四维封禁(直播/视频/社区/私信)。

这套源码适合有独立部署能力、想做垂直短视频或直播带货的团队。Flutter 端暂时没做暗黑主题,不过框架留了接口,二次开发不费劲。更多细节看部署文档吧。