更新记录

1.0.1(2026-06-04)

优化细节

1.0.0(2026-06-04)

上线


平台兼容性

云端兼容性

阿里云 腾讯云 支付宝云

uni-app(5.0)

Vue2 Vue2插件版本 Vue3 Vue3插件版本 Chrome Chrome插件版本 Safari Safari插件版本 app-vue app-nvue Android iOS 鸿蒙
1.0.1 1.0.1 1.0.1 1.0.1 - - - - -
微信小程序 微信小程序插件版本 支付宝小程序 抖音小程序 百度小程序 快手小程序 京东小程序 鸿蒙元服务 QQ小程序 飞书小程序 小红书小程序 快应用-华为 快应用-联盟
1.0.1 - - - - - - - - - - -

其他

多语言 暗黑模式 宽屏模式
× ×

云函数类插件通用教程

使用云函数类插件的前提是:使用HBuilderX 2.9+


插件介绍

插件包含 主播推流端观众播放端、全套的聊天互动带货功能,欢迎大家体验。

接入前提

该插件是云端一体页面模版,不是完整项目,仅是直播模块。如您原有项目需要增加直播功能,则可以考虑该插件。

另外需要您对照下表,确定下原有项目是否支持接入该插件:

uniCloud vue版本 客户端 直播服务商
已接入uniCloud和uni-id ✅ vue2 ✅ 微信小程序 ✅ uni直播 ✅
已接入uniCloud,但未使用uni-id ❌ vue3 ✅ H5 ✅(推流功能除外) 腾讯云 ✅
未接入uniCloud ❌ APP ❌(未做测试,暂视为不支持) 迅课云 ✅

微信小程序端 推拉流需在小程序后台开通live-pusher和live-player两个组件,如您资质不满足,可使用迅课直播插件实现(收费,名额有限)

开通直播带货需要您原项目中有完整的商品下单体系,直播间会跳转到您配置的商品详情页,详见插件配置文件。

项目预览

接入流程

  1. 从插件市场购买或试用(试用版不支持本地调用云函数,可在HX控制台选择“连接云端云函数“);
  2. 填写插件配置文件 uni_modules/uni-config-center/uniCloud/cloudfunctions/common/uni-config-center/yan-live/config.js,填写完成后 一定要右键uni-config-center目录上传公共模块;
  3. 基于demo完善商品接口 uni_modules/yan-live/uniCloud/cloudfunctions/yan-live-cb-co/goods.js,不开启带货功能 则忽略;
  4. 基于demo完善直播访问鉴权接口 uni_modules/yan-live/uniCloud/cloudfunctions/yan-live-cb-co/demo-auth.js,不开启鉴权功能 则忽略,详见插件配置文件 liveAuthHook 模块;
  5. 云服务空间初始化向导 - 选择云空间 - 勾选部署所有云函数 勾选初始化数据库;
  6. 在项目manifest中开启uniPush2.0,在DCloud开发者后台 将云服务空间与uniPush关联,关联后需重新运行项目;
  7. 在uni直播控制台-直播设置-空间授权中添加当前服务空间;
  8. 根据第2步中配置角色,使用管理员或者主播身份的账号打开直播管理页面,路径:/uni_modules/yan-live/pages/live/manage,可在项目中合适的位置添加管理入口;
  9. 观众打开直播大厅页面查看效果,路径:/uni_modules/yan-live/pages/live/list。

功能清单

功能 介绍
直播推流 在插件内推流、复制地址使用obs推流
直播拉流 在不同的端 不同设备 会提供不同格式的流来播放直播。延迟:rtmp 2-5s、flv 2-5s、hls 10-20s
直播彩排 创建直播时可设置为彩排,彩排不会出现在直播大厅中,仅可分享给好友
直播回放 直播结束后可开启,支持设置禁用操作控件,类似伪直播的效果(注意合规性)
直播间管理 支持配置用户角色来区分哪些用户可创建及管理直播间
直播大厅 插件提供直播列表页面,按直播状态分多个tab展示
直播组件 插件提供直播列表组件,可自定义查询参数,嵌入您原项目页面内部
直播聊天室 消息互动、引用、点赞、撤回、禁言、拉黑
直播带货 商品管理、上下链接、支付回传。 -- 带货统计 ❌(暂未支持)
直播跑马灯 在观众端播放器中显示文字跑马灯,支持配置文本内容
关注主播 用户可查询所关注主播的直播计划
角色分配 管理员、主播、直播助理
分享分销 有限支持,详见下方解释 查看
其他 更多细节功能不一一列举
提需求💡 如插件未完全满足您的需求,可联系 ☎️+V 181-3789-3380(建议优先通过官方交流群联系)

项目依赖

uni-id-pages

插件使用了uni-id-pages提供的token和用户信息。

uni-push2.0

基于uni-push2.0实现直播相关的即时通信yan-live-im。官方的uni-im非常优秀,但对于直播互动来说略显臃肿,且需要大量改造,因此开发了更适合直播更轻量的live-im。

注意事项:如果你的原项目中使用了uni.offPushMessage且没有传入参数,则会移除App级别的所有已注册的事件监听器,【有可能】会导致直播间用户接收不到消息,和off的时机有关。

uni-push需关联服务空间,关联后需重新运行项目

uni-search-bar

搜索栏组件

uni-datetime-picker

日期选择组件

数据表

表名 解释
yan-live 直播表 包含直播基本信息和主播及助理信息
yan-live-user 直播用户表 包含push核心字段push_clientid
yan-live-msg 直播聊天室消息表,仅存储真正的消息。如撤回的动作本身不属于消息,仅通过im推送 但不会入库
yan-live-goods 直播商品表(对您的商品表的简单备份)
yan-live-follow 用户关注主播表
yan-live-msg-temp 临时消息表,App端消息有800字符限制,过长的消息体在app端仅通过push无法搞定

yan-live-msg-temp表暂未启用,因为App端大多功能都没测试 🐶

分享与分销

分享

小程序端 使用官方api分享

H5端 原计划两种方案:

1.生成分享海报(放弃);

弊端:可能会存在跨域问题,还需要引入额外的二维码插件。

2.微信JSAPI自定义分享。

大概率您的h5项目已经开发相关功能,而且与微信服务端的交互本就不在本插件的业务范围,故该功能继续交由您来完成。插件内会在合适的时机将分享信息通过uni.$emit传递给您,您需在App.vue中接收,代码如下:

onLaunch: function() {
    console.log('App Launch')
    uni.$on('yan-live-share-h5', (data={})=>{
        // console.log(data); // imgUrl、link、title
        setTimeout(()=>{
            // 模拟微信jsapi ready完成
            data.success && data.success()
        },300)
    })
},

关于H5分享,如果您有其他想要的实现方式可以联系作者

分销

插件不负责为您处理账号邀请关系的绑定。
如果用户B是通过用户A的邀请链接进入直播间,那么用户B在点击商品卡片时会携带用户A的id一起跳转至您的商品详情页。
您能接收到的全部参数有:goods_id(商品id 必传)、live_id(直播id 必传)、inviter_id(邀请人id)

隐私、权限声明

1. 本插件需要申请的系统权限列表:

推流需要摄像头和麦克风

2. 本插件采集的数据、发送的服务器地址、以及数据用途说明:

插件不采集任何数据

3. 本插件是否包含广告,如包含需详细说明广告表达方式、展示频率:

暂无用户评论。