# (简化)创建多窗口类型节目
该接口在 2.6.6-20240611 版本之后支持
说明:
以下都是使用同一个接口,regions 中参数不同。可以制作不同节目,或多种类型节目。
regions代表不同窗口的集合,regionType表示窗口类型。regionType有以下几种类型:
1、"document":文件窗口。
2、"lineText": 文本窗口。
3、"clock"。时钟窗口。
4、"weather"。天气窗口
5、"web"。网页窗口。
6、"countDown"。倒计时窗口。
7、"environment"。环境窗口。
8、"rss"。新闻窗口。
在regions中的顺序代表该窗口层级,往后层级越高,即后边会覆盖前边。
# 创建网页节目
# URL: /wp-json/wp/v2/programs/simplifyCreate
Method: POST
Controller: ProgramInfoController
Request:
| 字段名 | 必选 | 类型 | 说明 | 示例 |
|---|---|---|---|---|
| programName | 是 | String | 节目名 | "programName" |
| screenWidth | 是 | Integer | 屏幕宽 | 512 |
| screenHeight | 是 | Integer | 屏幕高 | 256 |
| regions | 是 | Array | 窗口 | |
| regionType | 是 | String | 窗口类型 | "web",表示网页窗口。 |
| url | 是 | String | 网页 URL | "https://www.baidu.com/" |
| durationMillis | 否 | Integer | 播放时长 | 8000 |
| rect | 否 | Object | 窗口的位置 | |
| rectHeight | 否 | Integer | 框的高度 | 256 |
| rectWidth | 否 | Integer | 框的宽度 | 512 |
| x | 否 | Integer | X 坐标 | 0 |
| y | 否 | Integer | Y 坐标 | 0 |
{
"programName": "programName",
"screenWidth": 512,
"screenHeight": 256,
"regions": [
{
"regionType": "web",
"url": "https://www.baidu.com/",
"durationMillis": 8000,
"rect": {
"rectHeight": 256,
"rectWidth": 512,
"x": 0,
"y": 0
}
}
]
}
Response:
{
"programId": 16989
}
# 创建文件节目或同步节目
# URL: /wp-json/wp/v2/programs/simplifyCreate
Method: POST
Controller: ProgramInfoController
Request:
| 字段名 | 必选 | 类型 | 说明 | 示例 |
|---|---|---|---|---|
| programName | 是 | String | 节目名 | "programName" |
| screenWidth | 是 | Integer | 屏幕宽 | 680 |
| screenHeight | 是 | Integer | 屏幕高 | 512 |
| regions | 是 | Array | 窗口 | |
| regionType | 是 | String | 窗口类型 | "document": 表示文件窗口 |
| syncProgram | 否 | Integer | 同步节目,0: 普通文件节目,1:同步节目 | 0 |
| medium | 是 | Array | 素材列表 | |
| mediaId | 是 | Integer | 素材ID | 13789 |
| durationMillis | 否 | Integer | 播放时长 | 8000 |
| constrainedProportion | 是 | Integer | 是否约束比例,0:不保持宽高比,1:约束比例 | 1 |
| rect | 否 | Object | 窗口的位置 | |
| rectHeight | 否 | Integer | 框的高 | 256 |
| rectWidth | 否 | Integer | 框的宽 | 580 |
| x | 否 | Integer | 框的位置坐标x | 0 |
| y | 否 | Integer | 框的位置坐标y | 0 |
{
"programName": "programName",
"screenWidth": 680,
"screenHeight": 512,
"regions": [
{
"regionType": "document",
"syncProgram": 0,
// 素材列表,最少包含一个。
"medium": [
{
"mediaId": 13789,
"durationMillis": 8000,
"constrainedProportion": 0
},
{
"mediaId": 16110,
"constrainedProportion": 1
}
],
"rect": {
"rectHeight": 256,
"rectWidth": 580,
"x": 0,
"y": 0
}
}
]
}
Response:
{
"programId": 16989
}
# 创建单行文本或多行文本节目
# URL: /wp-json/wp/v2/programs/simplifyCreate
Method: POST
Controller: ProgramInfoController
Request:
| 字段名 | 必选 | 类型 | 说明 | 示例 |
|---|---|---|---|---|
| programName | 是 | String | 节目名 | "programName" |
| screenWidth | 是 | Integer | 屏幕宽 | 1280 |
| screenHeight | 是 | Integer | 屏幕高 | 512 |
| regions | 是 | Array | 窗口 | |
| regionType | 是 | String | 区域类型 | "lineText":表示文本窗口 |
| text | 是 | String | 文本内容 | "文本内容" |
| textType | 否 | Integer | 文本类型,0:单行文本, 1:多行文本 | 1 |
| fontColor | 否 | String | 字体颜色 | "0xFFffffff" |
| fontSize | 否 | Integer | 字体大小 | 48 |
| fontName | 否 | String | 字体名称 | "SimHei" |
| durationMillis | 否 | Integer | 播放时长,单位ms | 8000 |
| effect | 否 | Integer | 显示效果,0:自动分页,1:单页,2:连续移动。 | 0 |
| isHeadConnectTail | 否 | Integer | 首尾相连,(0:否;1:是)当 effect 为2时,才生效 | 0 |
| rect | 否 | Object | 窗口的位置 | |
| rectHeight | 否 | Integer | 框的高 | 256 |
| rectWidth | 否 | Integer | 框的宽 | 580 |
| x | 否 | Integer | 框的位置坐标x | 0 |
| y | 否 | Integer | 框的位置坐标y | 0 |
| centeralAlign | 否 | Integer | 在框内的位置,水平对齐 (0: 左对齐; 1: 居中; 2: 右对齐) | 1 |
{
"programName": "programName",
"screenWidth": 1280,
"screenHeight": 512,
"regions": [
{
"regionType": "lineText",
"text": "文本内容",
"textType": 1,
"fontColor": "0xFFffffff",
"fontSize": 48,
"fontName": "SimHei",
"durationMillis": 8000,
"effect": 0,
"isHeadConnectTail": 0,
"rect": {
"rectHeight": 256,
"rectWidth": 580,
"x": 0,
"y": 0,
"centeralAlign": 1
}
}
]
}
Response:
{
"programId": 16989
}
# 创建时钟节目
# URL: /wp-json/wp/v2/programs/simplifyCreate
Method: POST
Controller: ProgramInfoController
Request:
| 字段名 | 必选 | 类型 | 说明 | 示例 |
|---|---|---|---|---|
| programName | 是 | String | 节目名 | "programName" |
| screenWidth | 是 | Integer | 屏幕宽 | 512 |
| screenHeight | 是 | Integer | 屏幕高 | 256 |
| regions | 是 | Array | 窗口 | |
| regionType | 是 | String | 窗口类型 | "clock":表示时钟窗口 |
| clockType | 否 | Integer | 时钟类型, 0: 数字时钟,1:模拟时钟 | 0 |
| isMultiLine | 否 | Integer | 是否多行显示,0:单行显示,1 多行显示 | 1 |
| durationMillis | 否 | Integer | 播放时长,单位ms | 8000 |
| textPrefix | 否 | String | 时钟前面的文字 | "" |
| fontColor | 否 | String | 字体颜色 | "0xFFffffff" |
| fontSize | 否 | Integer | 字体大小 | 22 |
| fontName | 否 | String | 字体名称 | "SimHei" |
| rect | 否 | Object | 框的位置 | |
| rectHeight | 否 | Integer | 所在框的高 | 256 |
| rectWidth | 否 | Integer | 所在框的宽 | 512 |
| x | 否 | Integer | 框的位置坐标x | 0 |
| y | 否 | Integer | 框的位置坐标y | 0 |
| centeralAlign | 否 | Integer | 在框内的位置,水平对齐 (0: 左对齐; 1: 居中; 2: 右对齐) | 1 |
{
"programName": "programName",
"screenWidth": 512,
"screenHeight": 256,
"regions": [
{
"regionType": "clock",
"clockType": 0,
"isMultiLine": 1,
"durationMillis": 8000,
"textPrefix":"",
"fontColor": "0xFFffffff",
"fontSize": 22,
"fontName": "SimHei",
"rect": {
"rectHeight": 256,
"rectWidth": 512,
"x": 0,
"y": 0,
"centeralAlign": 1
}
}
]
}
Response:
{
"programId": 16989
}
# 创建天气节目
# URL: /wp-json/wp/v2/programs/simplifyCreate
Method: POST
Controller: ProgramInfoController
Request:
| 字段名 | 必选 | 类型 | 说明 | 示例 |
|---|---|---|---|---|
| programName | 是 | String | 节目名 | "programName" |
| screenWidth | 是 | Integer | 屏幕宽 | 1280 |
| screenHeight | 是 | Integer | 屏幕高 | 512 |
| regions | 是 | Array | 窗口 | |
| regionType | 是 | String | 区域类型 | "weather":表示天气窗口 |
| regionName | 是 | String | 天气的区域名称 | "北京" |
| isMultiLine | 否 | Integer | 是否多行显示 (0:否;1:是) | 1 |
| fontColor | 否 | String | 文本颜色 | "0xFFffffff" |
| fontSize | 否 | Integer | 字体大小 | 48 |
| fontName | 否 | String | 字体名称 | "SimHei" |
| durationMillis | 否 | Integer | 播放时长,单位 ms | 8000 |
| moveType | 否 | Integer | 显示效果,0翻页、1左移、2右移、3上移、4下移 | 0 |
| moveSpeed | 否 | Integer | 显示效果为移动时,移动速度 | 60 |
| isShowWeather | 否 | Integer | 是否显示天气,0:否;1:是 | 1 |
| weatherPrefix | 否 | String | 天气前缀 | "" |
| isShowTemperature | 否 | Integer | 是否显示实时温度,0:否;1:是 | 1 |
| temperaturePrefix | 否 | String | 温度前缀 | "" |
| isShowWind | 否 | Integer | 是否显示风力,0:否;1:是 | 1 |
| windPrefix | 否 | String | 风力前缀 | "" |
| isShowHumidity | 否 | Integer | 是否显示湿度,0:否;1:是 | 1 |
| humidityPrefix | 否 | String | 湿度前缀 | "" |
| isShowAir | 否 | Integer | 是否显示空气质量,0:否;1:是 | 1 |
| airPrefix | 否 | String | 空气质量前缀 | "" |
| isShowColdIndex | 否 | Integer | 是否显示穿衣指数,0:否;1:是 | 1 |
| coldIndexPrefix | 否 | String | 穿衣指数前缀 | "" |
| rect | 否 | Object | 窗口的位置 | |
| rectHeight | 否 | Integer | 所在框的高 | 256 |
| rectWidth | 否 | Integer | 所在框的宽 | 512 |
| x | 否 | Integer | 框的位置坐标 x | 0 |
| y | 否 | Integer | 框的位置坐标 y | 0 |
| centeralAlign | 否 | Integer | 在框内的位置,水平对齐 (0: 左对齐; 1: 居中; 2: 右对齐) | 1 |
{
"programName": "programName",
"screenWidth": 1280,
"screenHeight": 512,
"regions": [
{
"regionType": "weather",
"regionName": "北京",
"isMultiLine": 1,
"fontColor": "0xFFffffff",
"fontSize": 48,
"fontName": "SimHei",
"durationMillis": 8000,
"moveType": 0,
"moveSpeed": 60,
"isShowWeather": 1,
"weatherPrefix": "",
"isShowTemperature": 1,
"temperaturePrefix": "",
"isShowWind": 1,
"windPrefix": "",
"isShowHumidity": 1,
"humidityPrefix": "",
"isShowAir": 1,
"airPrefix": "",
"isShowColdIndex": 1,
"coldIndexPrefix": "",
"rect": {
"rectHeight": 256,
"rectWidth": 512,
"x": 0,
"y": 0,
"centeralAlign": 1
}
}
]
}
Response:
{
"programId": 16989
}
# 创建倒计时节目
# URL: /wp-json/wp/v2/programs/simplifyCreate
Method: POST
Controller: ProgramInfoController
Request:
| 字段名 | 必选 | 类型 | 说明 | 示例 |
|---|---|---|---|---|
| programName | 是 | String | 节目名 | "programName" |
| screenWidth | 是 | Integer | 屏幕宽 | 512 |
| screenHeight | 是 | Integer | 屏幕高 | 256 |
| regions | 是 | Array | 窗口 | |
| regionType | 是 | String | 窗口类型 | "countDown":表示倒计时窗口 |
| endDateTime | 是 | String | 倒计时终点日期时间 | "2025-01-19 20:43:54" |
| durationMillis | 否 | Integer | 持续时间毫秒 | 8000 |
| prefix | 否 | String | 前缀文本 | "" |
| displayStyle | 否 | Integer | 显示风格, (0: 888天88小时08分08秒; 1: 888天88:08:08) | 0 |
| isMultiLine | 否 | Integer | 是否多行显示 (0: 否; 1: 是) | 0 |
| fontSize | 否 | Integer | 文本字体大小 | 16 |
| fontName | 否 | String | 文本字体名称 | "SimHei" |
| isShowDayCount | 否 | Integer | 是否显示天数 (0: 否; 1: 是) | 1 |
| dayCountColor | 否 | String | 天数颜色 | "0xFFff0000" |
| isShowHourCount | 否 | Integer | 是否显示小时数 (0: 否; 1: 是) | 1 |
| hourCountColor | 否 | String | 小时数颜色 | "0xFFff0000" |
| isShowMinuteCount | 否 | Integer | 是否显示分钟数 (0: 否; 1: 是) | 1 |
| minuteCountColor | 否 | String | 分钟数颜色 | "0xFF00ff00" |
| isShowSecondCount | 否 | Integer | 是否显示秒数 (0: 否; 1: 是) | 1 |
| secondCountColor | 否 | String | 秒数颜色 | "0xFF0000ff" |
| rect | 否 | Object | 窗口的位置 | |
| rectHeight | 否 | Integer | 所在框的高 | 256 |
| rectWidth | 否 | Integer | 所在框的宽 | 512 |
| x | 否 | Integer | 框的位置坐标 x | 0 |
| y | 否 | Integer | 框的位置坐标 y | 0 |
| centeralAlign | 否 | Integer | 在框内的位置,水平对齐 (0: 左对齐; 1: 居中; 2: 右对齐) | 1 |
{
"programName": "programName",
"screenWidth": 512,
"screenHeight": 256,
"regions": [
{
"regionType": "countDown",
"endDateTime": "2025-01-19 20:43:54",
"durationMillis": 8000,
"prefix": "",
"displayStyle": 0,
"isMultiLine": 0,
"fontSize": 16,
"fontName": "SimHei",
"isShowDayCount": 1,
"dayCountColor": "0xFFff0000",
"isShowHourCount": 1,
"hourCountColor": "0xFFff0000",
"isShowMinuteCount": 1,
"minuteCountColor": "0xFF00ff00",
"isShowSecondCount": 1,
"secondCountColor": "0xFF0000ff",
"rect": {
"rectHeight": 256,
"rectWidth": 512,
"x": 0,
"y": 0,
"centeralAlign": 1
}
}
]
}
Response:
{
"programId": 16989
}
# 创建环境节目
# URL: /wp-json/wp/v2/programs/simplifyCreate
Method: POST
Controller: ProgramInfoController
Request:
| 字段名 | 必选 | 类型 | 说明 | 示例 |
|---|---|---|---|---|
| programName | 是 | String | 节目名 | "programName" |
| screenWidth | 是 | Integer | 屏幕宽 | 512 |
| screenHeight | 是 | Integer | 屏幕高 | 256 |
| regions | 是 | Array | 窗口 | |
| regionType | 是 | String | 窗口类型 | "environment":表示环境窗口 |
| environmentType | 是 | Integer | 环境窗口类型。21:湿度、22:温度、23:噪声、24:空气指数、28:烟雾 | 22 |
| prefix | 否 | String | 固定文本前缀。当 type 为 28(烟雾)时,为大于临界值时显示的固定文本。 | "" |
| suffix | 否 | String | 固定文本后缀。当 type 为 28(烟雾)时,为小于临界值时显示的固定文本。 | "" |
| temperatureShowAsFahrenheit | 否 | Integer | 温度是否显示为华氏度(°F)。0:否(°C),1:是(°F),仅温度特有 | 0 |
| temperatureOffset | 否 | Integer | 温度偏移量,仅温度特有 | 2 |
| smokeStandard | 否 | Integer | 烟雾临界值(ppm),仅烟雾特有 | 50 |
| fontSize | 否 | Integer | 字体大小 | 14 |
| fontName | 否 | String | 字体名称 | "SimHei" |
| textColor | 否 | String | 字体颜色,如 "0xFFffffff" | "0xFFffffff" |
| backColor | 否 | String | 背景颜色,如 "0xFF000000" | "0xFF000000" |
| durationMillis | 否 | Integer | 播放时间,单位 ms | 10000 |
| rect | 否 | Object | 窗口的位置 | {} |
| rectHeight | 否 | Integer | 所在框的高 | 256 |
| rectWidth | 否 | Integer | 所在框的宽 | 512 |
| x | 否 | Integer | 框的位置坐标 x | 0 |
| y | 否 | Integer | 框的位置坐标 y | 0 |
| centeralAlign | 否 | Integer | 在框内的位置,水平对齐 (0: 左对齐; 1: 居中; 2: 右对齐) | 1 |
{
"programName": "Play-environment",
"screenWidth": 512,
"screenHeight": 512,
"regions": [
{
"regionType": "environment",
"durationMillis": 8000,
"environmentType": 22,
"prefix": "当前温度: ",
"suffix": "°F",
"temperatureShowAsFahrenheit": 1,
"temperatureOffset": 1,
"smokeStandard": 100,
"fontName": "SimHei",
"fontSize": 22,
"textColor": "0xFFffffff",
"backColor": "0xFF000000",
"rect": {
"rectHeight": 256,
"rectWidth": 256,
"x": 0,
"y": 0,
"centeralAlign": 1
}
}
]
}
Response:
{
"programId": 16989
}
# 创建新闻节目
# URL: /wp-json/wp/v2/programs/simplifyCreate
Method: POST
Controller: ProgramInfoController
Request:
| 字段名 | 必选 | 类型 | 说明 | 示例 |
|---|---|---|---|---|
| programName | 是 | String | 节目名 | "programName" |
| screenWidth | 是 | Integer | 屏幕宽 | 512 |
| screenHeight | 是 | Integer | 屏幕高 | 256 |
| regions | 是 | Array | 窗口 | |
| regionType | 是 | String | 窗口类型 | "rss":表示新闻窗口 |
| rssUrl | 是 | String | 新闻聚合路径 | "https://www.yahoo.com/news/rss" |
| refreshIntervalMs | 否 | Integer | 刷新间隔时间,单位毫秒 | 600000 |
| fontSize | 否 | Integer | 字体大小,单位像素 | 18 |
| textColor | 否 | String | 字体颜色,使用16进制颜色码表示 | "0xFFFFFFFF" |
| scrollSpeed | 否 | Integer | 滚动速度,单位(px/s) | 60 |
| durationMillis | 否 | Integer | 播放时长,单位 ms | 9000 |
| rect | 否 | Object | 框的位置 | { } |
| rectHeight | 否 | Integer | 所在框的高 | 256 |
| rectWidth | 否 | Integer | 所在框的宽 | 512 |
| x | 否 | Integer | 框的位置坐标 x | 0 |
| y | 否 | Integer | 框的位置坐标 y | 0 |
| centeralAlign | 否 | Integer | 在框内的位置,水平对齐 (0: 左对齐; 1: 居中; 2: 右对齐) | 1 |
{
"programName": "Play-rss",
"screenWidth": 512,
"screenHeight": 512,
"regions": [
{
"regionType": "rss",
"durationMillis": 15000,
"fontSize": 20,
"rssUrl": "https://www.yahoo.com/news/rss",
"refreshIntervalMs": 300000,
"scrollSpeed": 60,
"textColor": "0xFFFFFFFF",
"rect": {
"rectHeight": 256,
"rectWidth": 256,
"x": 0,
"y": 0,
"centeralAlign": 1
}
}
]
}
Response:
{
"programId": 16989
}
# 创建多种类型窗口的节目
说明:
这个示例是展示regions 中多种窗口的最简参数设置。各个窗口更详细参数可看不同窗口详细示例。
# URL: /wp-json/wp/v2/programs/simplifyCreate
Method: POST
Controller: ProgramInfoController
Request:
{
// 节目名
"programName": "programName",
// 屏幕宽
"screenWidth": 1280,
// 屏幕高
"screenHeight": 512,
// 窗口
"regions": [
// 文件窗口
{
// regionType 类型,这个必须有,不同窗口类型对应不同。
"regionType": "document",
// 是否是同步节目, 0: 普通文件节目,1:同步节目
"syncProgram": 0,
// 素材列表,最少包含一个。
"medium": [
{
"mediaId": 13789, // 素材id
// 播放时长, 单位ms。素材类型为 image 时可自己设置,默认为 8000ms, vieo 和 gif 会从从云平台获取播放时长
"durationMillis": 8000
}
]
},
// 单行或多行文本窗口
{
"regionType": "lineText",
// 文本内容
"text": "文本内容"
},
// 时钟窗口
{
"regionType": "clock",
// 时钟类型, 0: 数字时钟,1:模拟时钟
"clockType": 0,
},
// 天气
{
"regionType": "weather",
// 天气的区域名称
"regionName": "北京"
},
// web 窗口
{
"regionType": "web",
// 网页 url
"url": "https://www.baidu.com/"
},
// 倒计时窗口
{
"regionType": "countDown",
// 倒计时终点日期和时间 ("2024-01-19 20:43:54")
"endDateTime": "2025-01-20 10:56:06"
}
]
}
Response:
{
"programId": 16989
}