圖文直播
更新時間:2024-06-04 09:32:36
本文件主要說明如何接入互動功能接收端的圖文直播元件,接入後可實現觀眾端顯示圖文直播內容。
在引入及使用本功能元件前,需要先對互動功能接收端SDK進行公共配置,詳情請查看:互動功能接收端 UI 元件 - 配置 SDK。
引入
線上檔案引入方式
// script 标签引入,根据版本号引入JS版本。
<script src="https://websdk.videocc.net/interactions-receive-sdk-ui-default/0.24.0/lib/MobileTuwen/MobileTuwen.umd.min.js"></script>
<script>
const MobileTuwen = window.PolyvIRScene.MobileTuwen.default;
</script>
import 方式引入(推薦)
import MobileTuwen from '@polyv/interactions-receive-sdk-ui-default/lib/MobileTuwen';
程式碼範例
先實例化SDK,然後將其傳入到圖文直播元件中,以便內部進行相應邏輯處理。
以 PC 端接入為例:
<template>
<div id="tuwenContain" class="plv-demo-tuwen">
<!-- 参考切换图文和图片模式的 demo代码,具体样式可按实际要求设计 -->
<button @click="changeType(1)">图文模式</button>
<button @click="changeType(2)">图片模式</button>
<div v-show="messageTotal > 0" class="plv-ia-tuwen-top">
<div class="plv-ia-tuwen-top__tip"> 共 {{ messageTotal }} 图文直播</div>
</div>
<Tuwen
ref="tuwen"
scroll-container="tuwenContain"
:tuwen-sdk="TuwenSdk"
:mode="mode"
:lang="lang"
:scroll-distance="scrollDistance"
:disable-preview="isWeChatPreview"
@change-message-total="changeMessageTotal"
@show-preview="showPreview"
/>
</div>
</template>
<script>
import { Tuwen } from '@polyv/interactions-receive-sdk';
import PcTuwen from '@polyv/interactions-receive-sdk-ui-default/lib/PcTuwen';
export default {
components: {
Tuwen: PcTuwen,
},
props: {
lang: {
type: String,
default: 'zh_CN',
}
},
data() {
return {
// 图文直播 SDK 实例
TuwenSdk: null,
mode: 1,
messageTotal: 0,
// 滚动底部距离阈值, 触发滚动加载
scrollDistance: 200
};
},
computed: {
// 判断是否在手机微信环境下,且配置wx可以使用微信图片预览功能,否则使用内部图片预览功能
isWeChatPreview() {
// TODO 参考代码
// return isMobile() && isWeixin() && window.wx
}
},
created() {
this.TuwenSdk = new Tuwen();
},
beforeDestroy() {
this.TuwenSdk?.destroy();
},
methods: {
changeType(val) {
this.mode = val;
},
changeMessageTotal(val) {
this.messageTotal = val;
},
// 微信环境下,使用 wx 图片预览功能体验更好。
async showPreview(arg) {
const { images, index } = arg;
if (this.isWeChatPreview) {
wx && wx.previewImage({
urls: images,
current: images[index]
});
}
}
}
};
</script>
<style lang="scss">
.plv-demo-tuwen {
padding: 0 16px;
height: 1600px;
overflow-y: scroll;
}
.plv-ia-tuwen-top {
display: flex;
justify-content: space-between;
align-items: center;
margin-bottom: 20px;
padding: 0 16px;
.plv-ia-tuwen-tip {
font-size: 12px;
color: #aaa;
}
}
</style>
Attributes
| 屬性名 | 類型 | 預設值 | 含義 |
|---|---|---|---|
| tuwenSdk | Object | null | 圖文直播 SDK 實例 |
| tuwenContain | String | '' | 圖文直播滾動容器id,用於監聽滾動載入 |
| lang | string:'zh_CN', 'en' | 'zh_CN' |
語言 |
| mode | Number:0, 1 | 1 | 顯示模式:1為圖文,2為圖片 |
| disable-preview | Boolean | false | 是否禁用圖片預覽功能 |
| scroll-distance | Number | 200 | 觸發載入的距離閾值 |
Events
| 事件名 | 參數類型 | 參數含義 | 說明 |
|---|---|---|---|
| change-message-total | number | 總訊息條數 | 顯示總條數 |
| show-preview | { images: [], index } | images: 圖片列表; index: 需要展示圖片的下標 | 用於外部實現圖片預覽功能,如微信圖片預覽 |
