# 频道设置

本文档主要讲述 `频道模块(channel)` 提供的频道设置相关的 API 文档，详细内容见下文：

## 一、观看页设置

### 1.1 获取观看页设置

用于获取管理后台设置的观看页设置信息。

**Api 方法：** `getWatchSetting(): ChannelWatchSetting`

**返回值说明：** 频道观看页设置，`ChannelWatchSetting` 类型，详细类型说明如下

| 属性名                  | 说明       | 类型        |
| -------------------- | -------- | --------- |
| `watchEnabled`       | 观看页开关    | `boolean` |
| `mobileWatchEnabled` | 移动端观看页开关 | `boolean` |
| `splashEnabled`      | 引导页开关    | `boolean` |

**示例：**

```js
const setting = watchCore.channel.getWatchSetting();
if (!setting.watchEnabled) { alert('当前观看页暂未开放'); }
if (isMobile && !setting.mobileWatchEnabled) { alert('暂不支持移动端观看'); }
```

## 二、页面布局

### 2.1 获取频道布局设置

用于获取管理后台的页面布局相关设置。

**Api 方法：** `getLayoutSetting(): ChannelLayoutSetting`

**返回值说明：** 频道布局设置，`ChannelLayoutSetting` 类型，详细类型说明如下

| 属性名                    | 说明         | 类型                     |
| ---------------------- | ---------- | ---------------------- |
| `mainScreenLayoutMode` | 三分屏主屏幕布局模式 | `MainScreenLayoutMode` |
| `mobileSplashLayout`   | 移动端引导页布局   | `MobileSplashLayout`   |
| `mobileWatchLayout`    | 移动端观看页布局   | `MobileWatchLayout`    |

**示例：**

```js
const setting = watchCore.channel.getLayoutSetting();
console.log('三分屏主屏布局模式：', setting.mainScreenLayoutMode);
console.log('移动端引导页布局：', setting.mobileSplashLayout);
console.log('移动端观看页页布局：', setting.mobileWatchLayout);
```

## 三、皮肤主题

### 3.1 获取频道皮肤主题设置

用于获取管理后台的皮肤主题设置。

**Api 方法：** `getThemeSetting(): ChannelThemeSetting`

**返回值说明：** 频道皮肤主题设置，`ChannelThemeSetting` 类型，详细类型说明如下

| 属性名                                  | 说明               | 类型                     |
| ------------------------------------ | ---------------- | ---------------------- |
| `pageSkin`                           | 观看页皮肤            | `ChannelWatchPageSkin` |
| `browserFavIcon`                     | 浏览器标签页图标         | `undefined \| string`  |
| `channelCoverImg`                    | 频道图标图片地址         | `string`               |
| `splashImg`                          | 引导页封面图           | `undefined \| string`  |
| `mobileSplashLargeImg`               | 移动端引导页大图         | `undefined \| string`  |
| `pcWatchBackgroundImage`             | PC 端观看页背景图       | `undefined \| string`  |
| `mobileChatBackgroundImage`          | 移动端聊天室背景图        | `undefined \| string`  |
| `mobileChatBackgroundImageAmbiguity` | 聊天室背景图模糊，0 ～ 100 | `undefined \| number`  |
| `portraitBackgroundImage`            | 竖屏背景图            | `undefined \| string`  |
| `portraitBackgroundImageAmbiguity`   | 竖屏背景图透明度，0 ～ 100 | `undefined \| number`  |

**示例：**

```js
const setting = watchCore.channel.getThemeSetting();
console.log('皮肤风格：', setting.pageSkin);
console.log('直播间图标：', setting.channelCoverImg);
```
