Skip to content

Commit 0a3f571

Browse files
committed
v0.3.1 新增接口 set_config,用于设置相关配置,暂时仅提供前端 字幕打印机API地址设置功能
1 parent d3071f7 commit 0a3f571

4 files changed

Lines changed: 58 additions & 2 deletions

File tree

README.md

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -112,6 +112,27 @@ python:3.10.10
112112
|-------- |--------|----------|-------------- |
113113

114114

115+
### 响应
116+
117+
| 参数名 | 类型 | 描述 |
118+
|--------|-------- |--------------|
119+
| code | int | 状态码,200为成功,小于0为错误代码,大于0为部分成功代码 |
120+
| msg | string | 响应消息,描述请求的处理结果 |
121+
122+
## 设置相关配置
123+
124+
### 概述
125+
126+
- **请求地址:** `/set_config`
127+
- **请求类型:** POST
128+
- **描述:** 用于设置相关配置
129+
130+
### 请求参数
131+
132+
| 参数名 | 类型 | 是否必需 | 描述 |
133+
|-------- |--------|----------|-------------- |
134+
| captions_printer_api_url | string || 前端 字幕打印机API请求地址,例如:http://127.0.0.1:5500/send_message |
135+
115136
### 响应
116137

117138
| 参数名 | 类型 | 描述 |
@@ -121,6 +142,8 @@ python:3.10.10
121142
| msg | string | 响应消息,描述请求的处理结果 |
122143

123144
# 更新日志
145+
- v0.3.1
146+
- 新增接口 set_config,用于设置相关配置,暂时仅提供前端 字幕打印机API地址设置功能
124147

125148
- v0.3.0
126149
- show接口 新增参数 captions_printer 控制字幕打印机显示文本内容,不传则不发送

api_server.py

Lines changed: 19 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616
from utils.common import Common
1717
from utils.logger import Configure_logger
1818
from utils.video_generate import run_get_video
19-
from utils.models import ShowMessage, GetNonDefaultVideoCountResult, GetVideoQueueResult, CommonResult
19+
from utils.models import ShowMessage, GetNonDefaultVideoCountResult, GetVideoQueueResult, CommonResult, SetConfigMessage
2020

2121
# 获取 httpx 库的日志记录器
2222
httpx_logger = logging.getLogger("httpx")
@@ -257,6 +257,24 @@ async def get_video_queue():
257257
logging.error(traceback.format_exc())
258258
return CommonResult(code=-1, message=f"操作失败: {str(e)}")
259259

260+
# 设置配置
261+
@app.post("/set_config")
262+
async def set_config(msg: SetConfigMessage):
263+
try:
264+
await send_to_all_websockets(
265+
json.dumps(
266+
{
267+
"type": "set_config",
268+
"data": msg.dict()
269+
}
270+
)
271+
)
272+
await asyncio.sleep(0.5)
273+
return CommonResult(code=200, message="操作成功")
274+
except Exception as e:
275+
logging.error(traceback.format_exc())
276+
return CommonResult(code=-1, message=f"操作失败: {str(e)}")
277+
260278
def start_browser(stop_event):
261279
options = webdriver.ChromeOptions()
262280
# 设置为开发者模式,避免被浏览器识别为自动化程序

static/index.html

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,15 @@
2727
let currentVideo = video1; // 当前播放的视频元素
2828
let nextVideo = video2; // 下一个将要播放的视频元素
2929
let isWaitingForNextVideo = false; // 是否正在等待下一个视频加载
30+
let captions_printer_api_url = 'http://127.0.0.1:5500/send_message'; // 字幕打印机api地址
31+
32+
// 设置配置
33+
function set_config(data) {
34+
if ("captions_printer_api_url" in data.data) {
35+
captions_printer_api_url = data.data.captions_printer_api_url;
36+
console.log("字幕打印机api地址已更新为:" + captions_printer_api_url);
37+
}
38+
}
3039

3140
/**
3241
* 准备好下一个视频
@@ -113,7 +122,8 @@
113122

114123
// 发送到字幕打印机
115124
if ("captions_printer" in data) {
116-
getData('http://127.0.0.1:5500/send_message', {"content": data.captions_printer, "start_delay": data.captions_printer_start_delay})
125+
// 根据实际字幕打印机的接口进行修改
126+
getData(captions_printer_api_url, {"content": data.captions_printer, "start_delay": data.captions_printer_start_delay})
117127
.then(data => {
118128
console.log('成功:', data);
119129
})
@@ -170,6 +180,9 @@
170180
case 'get_video_queue':
171181
getVideoQueue();
172182
break;
183+
case 'set_config':
184+
set_config(data);
185+
break;
173186
}
174187
};
175188

utils/models.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,8 @@ class GetVideoQueueResult(BaseModel):
2020
data: list
2121
message: str
2222

23+
class SetConfigMessage(BaseModel):
24+
captions_printer_api_url: Optional[str] = Field(None)
2325

2426
"""
2527
通用

0 commit comments

Comments
 (0)