本文档基于 flask_api.py 整理,描述了 TV Show 控制系统的后端接口。
基础信息
5050@login_required)
{"success": False, "message": "未登录"}/login/loginPOSTapplication/x-www-form-urlencodedusername: 用户名 (默认: admin)password: 密码 (默认: HNYZ0821)/logoutGET/api/led/statusGET响应示例:
{
"success": true,
"data": {
"is_running": true,
"message": "灯效正在运行"
}
}
/api/led/startPOSTContent-Type: application/jsonjson
{
"exhibit_id": 1 // (必填) 展品ID,整数 >= 0
}
响应示例:
{
"success": true,
"message": "展品 1 的灯效已启动",
"data": { "exhibit_id": 1, "is_running": true }
}
/api/led/stopPOSTjson
{
"success": true,
"message": "灯效已停止",
"data": { "is_running": false }
}
/api/kodi/statusGET/api/kodi/clientsGET/api/kodi/videosGET/api/kodi/startPOSTContent-Type: application/json请求参数:
{
"video_id": 1, // (必填) 视频ID,整数 >= 0
"volume": 50 // (可选) 音量,0-100 的整数,不填则不改变音量
}
json
{
"success": true,
"message": "Kodi开始/切换播放 视频ID=1 音量=50",
"data": { "video_id": 1, "volume": 50 }
}
/api/kodi/set_volumePOSTContent-Type: application/json请求参数:
{
"volume": 60 // (必填) 音量值,0-100
}
/api/kodi/play_imagePOST方式一 (文件上传):
multipart/form-datafile: (文件对象) 图片文件 (支持 jpg, png, jpeg, gif, bmp, webp)kodi_client_index: (整数) 客户端索引方式二 (JSON URL):
application/jsonjson
{
"image_url": "http://example.com/image.jpg",
"kodi_client_index": 0
}
/api/kodi/play_rtspPOSTContent-Type: application/json请求参数:
{
"rtsp_url": "rtsp://...", // (必填) RTSP流地址
"kodi_client_index": 0, // (必填) 客户端索引
"volume": 0 // (可选) 音量,默认0
}
/api/kodi/revoke_individual_statePOST/api/kodi/start_all_appsPOST注意: 以下接口均为异步执行,API 会立即返回成功消息,实际操作在后台进行。
/api/mitv/turn_onPOSTContent-Type: application/jsonjson
{
"kodi_id": 1 // (必填) 对应 Kodi 客户端的 ID/索引
}
/api/mitv/turn_offPOSTContent-Type: application/jsonjson
{
"kodi_id": 1
}
### 唤醒所有电视
- 接口地址: /api/mitv/turn_on_all
- 请求方式: POST
- 说明: 发送指令唤醒配置中的所有电视。
### 息屏所有电视
- 接口地址: /api/mitv/turn_off_all
- 请求方式: POST
- 说明: 发送指令息屏配置中的所有电视。
---
## 5. 其他
### 文件访问
- 接口地址: /uploads/<filename>
- 请求方式: GET
- 说明: 访问通过 /api/kodi/play_image 接口上传的图片文件。