频道设置
本文档主要讲述 频道模块(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 |
十一、其他开关
11.1 获取频道顶部引导条配置
Api 方法: getTopGuideSetting(): ChannelTopGuideSetting
从 v2.0.0 版本开始支持
返回值说明: 顶部引导条配置,ChannelTopGuideSetting 类型,详细类型说明如下
| 属性名 | 说明 | 类型 |
|---|---|---|
topGuideBarEnabled |
引导条开关 | boolean |
topGuideBarLogo |
顶部 LOGO | string |
topGuideBarContent |
引导条文案 | string |
topGuideBarButtonContent |
按钮文案 | string |
topGuideBarAndroidRedirectUrl |
跳转链接:安卓 | string |
topGuideBarIosRedirectUrl |
跳转链接:iOS | string |
topGuideBarHarmonyOSRedirectUrl |
跳转链接:鸿蒙 | string |
topGuideBarCloseable |
是否允许关闭 | boolean |
11.2 获取在线列表开关
Api 方法: getOnlineListEnabled(): boolean
从 v1.8.0 版本开始支持
11.3 获取管理员公告跑马灯开关
Api 方法: getManagerBulletinMarqueeEnabled(): boolean
从 v2.0.0 版本开始支持
11.4 获取频道消息特效配置
Api 方法: getEffectSetting(): ChannelEffectSetting
从 v2.0.0 版本开始支持
返回值说明: 频道消息特效设置,ChannelEffectSetting 类型,详细类型说明如下
| 属性名 | 说明 | 类型 |
|---|---|---|
visitEffectEnabled |
访问特效开关 | boolean |
joinVisitEffectTip |
用户访问直播间 | string |
productEffectEnabled |
购买转化特效开关 | boolean |
clickOrdinaryProductEffectTip |
用户点击商品-普通商品 | string |
clickFinancialProductEffectTip |
用户点击商品-金融商品 | string |
clickJobProductEffectTip |
用户点击商品-职位商品 | string |
orderProductEffectTip |
用户下单商品-普通商品 | string |
interactionEffectEnabled |
参与互动特效开关 | boolean |
checkinInteractionEffectTip |
用户签到成功 | string |
donateInteractionEffectTip |
用户打赏成功特效 | string |
11.5 需要隐藏观众昵称
Api 方法: needHideViewerNickname(): boolean
从 v2.0.0 版本开始支持
11.6 获取回放开关
Api 方法: getEnablePlayback(): boolean
从 v2.3.0 版本开始支持
11.7 获取上一次推流时间
Api 方法: getLastPushStreamTime(): number
从 v2.3.0 版本开始支持
11.8 获取直播介绍内容图片压缩开关
Api 方法: getCompressImageEnabled(): boolean
从 v2.5.0 版本开始支持
11.9 获取混合流渲染模式
混合流渲染模式,默认是填黑模式,如果需要剪裁模式,请在观看页设置中开启剪裁模式
填黑模式: 这个模式下会严格保持源视频的宽高比进行等比缩放,渲染容器与源视频比例不一致会露出背景
剪裁模式: 这个模式下会严格按照目的视频的宽高比对源视频剪裁之后再拉伸,并填满画布
Api 方法: getMixStreamRenderMode(): MixStreamRenderMode
从 v2.5.0 版本开始支持
返回值说明: MixStreamRenderMode 类型
11.10 获取禁推流开关
Api 方法: getBanPushStream(): boolean
从 v2.5.0 版本开始支持
从 v2.7.0 版本废弃,请改用 getPlaybackForbiddenEnabled
11.11 获取回放禁流开关
Api 方法: getPlaybackForbiddenEnabled(): boolean
从 2.7.0 版本开始支持
11.12 获取安卓增强全屏模式开关
Api 方法: getAndroidFullScreenEnhancedEnabled(): boolean
从 v2.5.0 版本开始支持
11.13 获取低延迟智能播放开关
Api 方法: getLowLatencyIntelligentPlayEnabled(): boolean
从 v2.5.0 版本开始支持
11.14 获取直播广场配置
Api 方法: getLiveSquareConfig(): undefined | LiveSquare
从 v2.6.0 版本开始支持
返回值说明: undefined | LiveSquare 类型
11.15 获取是否显示回放待生成文本开关
Api 方法: getShowPlaybackWaitTextEnabled(): boolean
从 v2.9.0 版本开始支持
11.16 获取商品库横屏位置配置
Api 方法: getProductEntryLandscapePosition(): string
从 v2.13.0 版本开始支持
11.17 获取小班课频道是否允许登录
Api 方法: getSmallClassLoginEnabled(): Promise<boolean>
从 v2.13.0 版本开始支持
返回值说明: Promise<boolean> 类型
