feat: 管理后台补齐完整功能
- 页面切换卡片:数据大屏/数字孪生/AI 助手/媒体轮播 → MQTT navigate 控制所有大屏 - 立即播放:新增 POST /api/playlist/play(加入播放列表 + MQTT play_target), MediaScreen 监听 play_target 跳转并播放指定媒体 - 远程 URL 支持两种操作:添加到媒体库 / 加入播放列表 - 本地媒体卡片显示 FastAPI 输出 URL(/file/...)+ 一键复制 - 预览弹窗增加「立即播放」;新增 page-switch/media-url/copy-btn 样式
This commit is contained in:
@@ -223,6 +223,16 @@ async def remove_playlist(body: PathBody):
|
||||
return {"ok": True}
|
||||
|
||||
|
||||
@router.post("/api/playlist/play")
|
||||
async def play_playlist_item(body: PathBody):
|
||||
"""指定媒体立即播放:加入播放列表(如未在)→ MQTT 广播 play_target → 大屏跳转播放"""
|
||||
path = body.path
|
||||
storage.add_to_playlist(path)
|
||||
hub.publish_command("playlist_changed")
|
||||
cmd = hub.publish_command("play_target", {"path": path})
|
||||
return {"ok": True, "cmd_id": cmd.get("cmd_id")}
|
||||
|
||||
|
||||
# ==================== 播放控制 / 状态 ====================
|
||||
|
||||
_CONTROL_ACTIONS = {"play", "pause", "next", "prev"}
|
||||
|
||||
Reference in New Issue
Block a user