頻道設定
本文檔主要講述 频道模块(channel) 提供的頻道設定相關的 API 文件,詳細內容見下文:
一、觀看頁設定
1.1 取得觀看頁設定
用於取得管理後台設定的觀看頁設定資訊。
Api 方法: getWatchSetting(): ChannelWatchSetting
回傳值說明: 頻道觀看頁設定,ChannelWatchSetting 類型,詳細類型說明如下
| 屬性名 | 說明 | 類型 |
|---|---|---|
watchEnabled |
觀看頁開關 | boolean |
mobileWatchEnabled |
行動端觀看頁開關 | boolean |
splashEnabled |
引導頁開關 | boolean |
範例:
const setting = watchCore.channel.getWatchSetting();
if (!setting.watchEnabled) { alert('当前观看页暂未开放'); }
if (isMobile && !setting.mobileWatchEnabled) { alert('暂不支持移动端观看'); }
二、頁面廣告
2.1 取得頻道頁面廣告設定
用於取得管理後台設定的頁面廣告設定資訊。
從 v1.2.0 開始可以透過 PlvChannelModule.generateDefaultPageAdvertSetting() 來取得預設配置
Api 方法: getPageAdvertSetting(): ChannelAdvertSetting
回傳值說明: 頻道頁面廣告設定,ChannelAdvertSetting 類型,詳細類型說明如下
| 屬性名 | 說明 | 類型 |
|---|---|---|
pageAdvertEnabled |
頁面廣告開關 | boolean |
closeAdvertEnabled |
允許關閉頁面廣告 | boolean |
pageAdvertList |
頁面廣告列表 | PageAdvertItem[] |
範例:
const setting = watchCore.channel.getPageAdvertSetting();
console.log('页面广告开关:', setting.pageAdvertEnabled);
console.log('允许关闭页面广告:', setting.closeAdvertEnabled);
2.2 取得頻道頁面廣告列表
用於取得管理後台設定的頁面廣告列表。
Api 方法: getPageAdvertList(): PageAdvertItem[]
回傳值說明: 廣告列表,PageAdvertItem[] 類型
範例:
const advertList = watchCore.channel.getPageAdvertList();
advertList.forEach((item, index) => {
console.log('广告内容', index, item.content);
console.log('广告类型', index, item.advertType); // PageAdvertType
console.log('跳转地址', index, item.href);
});
Interface 介面: PageAdvertItem 頁面廣告資訊
| 屬性名 | 說明 | 類型 |
|---|---|---|
content |
廣告內容 | string |
advertType |
廣告類型 | PageAdvertType |
href |
跳轉位址 | string |
jumpWay |
跳轉方式 | LinkJumpWay |
link |
跳轉連結 | string |
mobileLink |
行動端跳轉連結 | string |
mobileAppLink |
行動端app跳轉連結 | string |
mobileAppLinkJumpWay |
行動端 app 跳轉方式 | LinkJumpWay |
pcLink |
PC端跳轉連結 | string |
pcLinkJumpWay |
PC端跳轉方式 | LinkJumpWay |
wxMiniprogramAppId |
微信小程式應用id | string |
wxMiniprogramLink |
微信小程式內頁面路徑及參數 | string |
wxMiniprogramOriginalId |
微信小程式原始id | string |
iosLink |
iOS 跳轉連結 | string |
androidLink |
Android 跳轉連結 | string |
harmonyLink |
harmony 跳轉連結 | string |
hrefType |
跳轉類型 | string |
Enum 列舉: PageAdvertType 頁面廣告類型
| 常數 | 列舉成員 | 說明 |
|---|---|---|
'text' |
PageAdvertType.Text |
文字廣告 |
'image' |
PageAdvertType.Image |
圖片廣告 |
三、圖示廣告
3.1 取得頻道圖示廣告設定
Api 方法: getImgAdvertSetting(): ChannelIconAdvertSetting
從 v2.0.0 版本開始支援
回傳值說明: 頻道圖示廣告設定,ChannelIconAdvertSetting 類型,詳細類型說明如下
| 屬性名 | 說明 | 類型 |
|---|---|---|
imgAdvertEnabled |
圖示廣告開關 | boolean |
closeImgAdvertEnabled |
圖示廣告是否可關閉 | boolean |
imgAdvertList |
圖示廣告列表 | IconAdvertItem[] |
範例:
const iconSetting = watchCore.channel.getImgAdvertSetting();
console.log('图标广告开关:', iconSetting.iconAdvertEnabled);
console.log('关闭按钮是否显示:', iconSetting.closeIconAdvertEnabled);
3.2 取得頻道圖示廣告列表
Api 方法: getIconAdvertList(): IconAdvertItem[]
從 v2.0.0 版本開始支援
回傳值說明: IconAdvertItem[] 類型
四、頁尾
4.1 取得頻道頁尾設定
用於取得管理後台的頁尾資訊。
Api 方法: getPageFooterSetting(): ChannelPageFooterSetting
回傳值說明: 頁尾設定,ChannelPageFooterSetting 類型,詳細類型說明如下
| 屬性名 | 說明 | 類型 |
|---|---|---|
footerEnabled |
頁尾開關 | boolean |
footerText |
頁尾文案 | string |
footerLink |
頁尾完整連結 | string |
footerTextLinkProtocol |
頁尾連結域名,如:https:// | string |
footerTextLinkUrl |
頁尾連結位址,如:www.polyv.net | string |
copyrightInfoList |
版權資訊 HTML 片段列表 | string[] |
範例:
const footerSetting = watchCore.channel.getPageFooterSetting();
console.log('页脚开关:', footerSetting.footerEnabled);
console.log('页脚文案:', footerSetting.footerText);
console.log('页脚链接:', footerSetting.footerLink);
五、公眾號關注
5.1 取得頻道關注設定
用於取得管理後台的關注設定資訊。
Api 方法: getFollowSetting(): ChannelFollowSetting
回傳值說明: 頻道關注設定,ChannelFollowSetting 類型,詳細類型說明如下
| 屬性名 | 說明 | 類型 |
|---|---|---|
followEnabled |
關注開關 | boolean |
followAutoShow |
主動彈窗 | boolean |
followEntrance |
入口文案 | string |
followImage |
二維碼圖片 | undefined | string |
followTips |
行動端彈窗提示文案 | undefined | string |
pcFollowTips |
PC端彈窗提示文案 | undefined | string |
範例:
const setting = watchCore.channel.getFollowSetting();
console.log('关注开关:', setting.followEnabled);
console.log('入口文案:', setting.followEntrance);
console.log('二维码图片:', setting.followImage);
六、多語言
6.1 取得頻道多語言設定
用於取得後台的多語言設定資訊。
Api 方法: getLangSetting(): ChannelLangSetting
回傳值說明: 頻道多語言設定,ChannelLangSetting 類型,詳細類型說明如下
| 屬性名 | 說明 | 類型 |
|---|---|---|
preferRecommendSetting |
優先使用推薦配置 | boolean |
englishSettingEnabled |
雙語介面開關 | boolean |
aiTranslationEnabled |
AI 多語言翻譯開關 | boolean |
langSwitchEnabled |
多語言開關 | boolean |
isShowSevenLanguage |
是否顯示七國多語言 | boolean |
japLangEnabled |
是否將英文選擇文案替換成日語文案 | boolean |
isFollowBrowserLang |
是否跟隨瀏覽器語言 | boolean |
defaultLangType |
觀看頁預設配置的語言類型 | LanguageType |
範例:
const setting = watchCore.channel.getLangSetting();
console.log('多语言开关:', setting.langSwitchEnabled);
console.log('双语界面开关:', setting.englishSettingEnabled);
console.log('是否跟随浏览器语言:', setting.isFollowBrowserLang);
console.log('默认的语言类型:', setting.defaultLangType);
七、頁面佈局
7.1 取得頻道佈局設定
用於取得管理後台的頁面佈局相關設定。
Api 方法: getLayoutSetting(): ChannelLayoutSetting
回傳值說明: 頻道佈局設定,ChannelLayoutSetting 類型,詳細類型說明如下
| 屬性名 | 說明 | 類型 |
|---|---|---|
mainScreenLayoutMode |
三分屏主螢幕佈局模式 | MainScreenLayoutMode |
mobileSplashLayout |
行動端引導頁佈局 | MobileSplashLayout |
mobileWatchLayout |
行動端觀看頁佈局 | MobileWatchLayout |
範例:
const setting = watchCore.channel.getLayoutSetting();
console.log('三分屏主屏布局模式:', setting.mainScreenLayoutMode);
console.log('移动端引导页布局:', setting.mobileSplashLayout);
console.log('移动端观看页页布局:', setting.mobileWatchLayout);
八、皮膚主題
8.1 取得觀看頁主題樣式配置
當 themeStyleType 為 ChannelWatchThemeStyleType.Theme 時,可以傳入主題來取得相關的樣式配置
v1 春節皮膚位址 'https://s2.videocc.net/watch-theme/spring/v1/config.json' v2 春節皮膚位址 'https://s2.videocc.net/watch-theme/spring/v2/config.json' v2 黑鏡皮膚位址 'https://s2.videocc.net/watch-theme/black-golden/v2/config.json'
Api 方法: getWatchThemeStyleConfig(theme: string, opts?: Object): Promise<T>
從 v2.14.0 版本開始支援
參數說明:
theme:
string類型,必傳opts:
Object類型,選傳,預設{},詳細類型說明如下
| 參數名 | 說明 | 類型 | 必須 | 預設值 |
|---|---|---|---|---|
url |
- | string |
否 | - |
回傳值說明: Promise<T> 類型
8.2 取得頻道皮膚主題設定
用於取得管理後台的皮膚主題設定。
從 v1.2.0 開始可以透過 PlvChannelModule.generateDefaultThemeSetting() 來取得預設配置
Api 方法: getThemeSetting(): ChannelThemeSetting
回傳值說明: 頻道皮膚主題設定,ChannelThemeSetting 類型,詳細類型說明如下
| 屬性名 | 說明 | 類型 |
|---|---|---|
pageSkin |
觀看頁皮膚 | ChannelWatchPageSkin |
watchTheme |
觀看頁主題 | null | string |
styleType |
樣式類型 | ChannelWatchThemeStyleType |
browserFavIcon |
瀏覽器標籤頁圖示 | string |
channelCoverImg |
頻道圖示圖片位址 | string |
splashImg |
引導頁封面圖 | string |
splashImgBackgroundId |
引導頁封面圖背景 id | undefined | number |
mobileSplashLargeImg |
行動端引導頁大圖 | string |
pcWatchBackgroundImage |
PC 端觀看頁背景圖 | undefined | string |
mobileChatBackgroundType |
行動端聊天室背景圖類型 | BackgroundType |
mobileChatBackgroundImage |
行動端聊天室背景圖 | undefined | string |
mobileChatBackgroundImageAmbiguity |
聊天室背景圖模糊,0 ~ 100 | undefined | number |
portraitBackgroundType |
直式背景圖類型 | BackgroundType |
portraitBackgroundImage |
直式背景圖 | undefined | string |
portraitBackgroundImageAmbiguity |
直式背景圖透明度,0 ~ 100 | undefined | number |
playerBackgroundType |
播放器背景圖類型 | BackgroundType |
playerBackgroundImage |
播放器背景圖 | undefined | string |
playerBackgroundImageAmbiguity |
播放器背景圖透明度,0 ~ 100 | undefined | number |
descInfoCardEnabled |
直播介紹資訊卡片開關,預設開啟 | boolean |
範例:
const setting = watchCore.channel.getThemeSetting();
console.log('皮肤风格:', setting.pageSkin);
console.log('直播间图标:', setting.channelCoverImg);
8.3 取得商品庫圖示配置
Api 方法: getProductIconConfig(): undefined | ProductIconConfig
從 v2.14.0 版本開始支援
回傳值說明: undefined | ProductIconConfig 類型
九、流多軌配置/雙流配置
9.1 取得頻道流多軌配置
多軌配置和多線路不同,多線路取得的其實還是同個源,但是多軌是取得不同的推流來源
Api 方法: getChannelStreamTrackConfig(): ChannelStreamTrackConfig
從 v1.8.0 版本開始支援
回傳值說明: 頻道流多軌配置(雙流),ChannelStreamTrackConfig 類型,詳細類型說明如下
| 屬性名 | 說明 | 類型 |
|---|---|---|
type |
多軌配置類 | ChannelStreamTrackType |
trackList |
多軌列表 | ChannelStreamTrackItem[] |
十、用戶分組
10.1 取得頻道用戶分組配置
Api 方法: getChannelViewerGroupConfig(): ChannelViewerGroupConfig
從 v2.16.0 版本開始支援
回傳值說明: 頻道用戶分組配置,ChannelViewerGroupConfig 類型,詳細類型說明如下
| 屬性名 | 說明 | 類型 |
|---|---|---|
chatViewerGroupEnabled |
聊天用戶分組功能開關 | boolean |
channelViewerGroupEnabled |
頻道用戶分組功能開關 | boolean |
onlyGroupWatchEnabled |
限制僅分組用戶允許觀看開關 | boolean |
notInGroupCanWatchEnabled |
不在頻道用戶分組列表時是否能觀看 | boolean |
