即时通信 IM 直播列表(uni-app 客户端)

这篇指导集成TUILiveKit直播列表页,包括核心文件集成、登录、自定义基座制作、页面注册与跳转,并支持自定义直播间文字样式及每行展示数量。 – 集成步骤:需完成核心文件拷贝、登录、自定义基座制作,并在pages.json注册页面后通过uni.navigateTo跳转。 – UI定制:支持修改直播间名称等文字的字体、大小、颜色,以及调整每行展示的直播间数量。

相关产品
即时通信 IM 产品页,含版本规格、价格与购买入口。

这篇会指导你如何快速集成直播列表页,体验查看直播列表以及预览直播间信息功能。

一、步骤1:集成核心文件

已集成核心文件请忽略,已经按照 代码集成指引 将 TUILiveKit 的 pages、uni_modules等核心文件拷贝到了你的项目中。

二、步骤2:完成登录

已登录请忽略该步骤,你的应用已经调用了 登录接口 并成功登录。这是使用所有功能的基础

三、步骤3:制作并使用自定义基座

已制作自定义基座请忽略,由于直播功能依赖原生插件,你必须在 HBuilderX 中为你的项目制作并使用自定义调试基座来运行。

四、步骤4:注册直播列表页面

现在,你需要在 pages.json 文件中告诉你的应用,这个新页面是存在的。

打开你项目根目录下的 pages.json 文件,在 "pages" 数组中,添加以下对象来注册直播列表页。

{ "pages": [ // … 你项目已有的其他页面配置 { "path": "pages/scenes/live/livelist/index", "style": { "navigationBarTitleText": "在线直播" } }, ] // … 其他配置}

五、步骤5:跳转直播列表页面

在你需要展示直播列表的地方(具体由你的业务决定,在其点击事件里执行),调用 uni.navigateTo 或 uni.redirectTo 方法,即可进入直播列表页面

// 示例:在一个按钮的点击事件中function startBroadcast() { uni.redirectTo({ url: '/pages/scenes/live/livelist/index', // URL 对应 pages.json 中配置的 path });}

六、定制你的 UI

根据上述功能展示图,我们也支持你根据项目需求对直播列表页面进行 UI 定制能力。主要可供定制的能力如下表所示。

类别 功能 描述
直播间列表 自定义直播间列表区域展示 支持:直播间信息文字调整大小、字体、颜色修改每行展示直播间数量

七、直播间信息文字调整大小、字体、颜色

uniapp 对 nvue 页面限制字体的大小和颜色只能在 text 标签上设置,对于你想修改的文字,直接修改其 css 样式即可,下方示例以 “直播间名称” 为例

<text class="live-title" :lines="1">{{ live.liveName }}</text>.live-title { font-size: 28rpx; font-weight: 500; color: #fff; margin-bottom: 8rpx; lines: 1; max-width: 400rpx; overflow: hidden; text-overflow: ellipsis;}

修改其 css 属性:

<text class="live-title" :lines="1">{{ live.liveName }}</text>.live-title { font-size: 35rpx; font-weight: 500; color: pink; margin-bottom: 8rpx; lines: 1; max-width: 400rpx; overflow: hidden; text-overflow: ellipsis;}

最终效果如下:

八、修改每行展示直播间数量

通过设置每行展示的元素数量来修改每行展示的直播间数量:

<cell v-for="(row, rowIndex) in groupedLiveList" :key="`row-${rowIndex}-${row[0]?.liveId || 'empty'}`"> ……</cell>const groupedLiveList = computed(() => { const groups = []; for (let i = 0; i < liveList.value.length; i += 2) { const row = liveList.value.slice(i, i + 2); // 将直播列表分组,每行两个元素 groups.push(row); } return groups;});

修改每行展示的直播间数量,示例为每行展示一个:

<cell v-for="(row, rowIndex) in groupedLiveList" :key="`row-${rowIndex}-${row[0]?.liveId || 'empty'}`"> ……</cell>const groupedLiveList = computed(() => { const groups = []; for (let i = 0; i < liveList.value.length; i += 1) { const row = liveList.value.slice(i, i + 1); // 将直播列表分组,每行一个元素 groups.push(row); } return groups;});

最终效果:

九、其他参考文档

·TUILiveKit uni-app 主播开播页

·TUILiveKit uni-app 观众观看页

赞 (0)
上一篇 4天前
下一篇 4天前