HttpPlugin — Web UI + REST API
基于 warp 的 HTTP 服务插件,提供完整的控制 API 和实时 WebSocket 事件。
模块
| 文件 | 说明 |
|---|---|
mod.rs |
HttpPlugin 实现、HttpState 共享状态、WebSocket 事件编码 |
routes.rs |
全部 HTTP 路由定义、请求处理、内嵌 Web UI HTML |
API 端点
播放控制
GET /api/status— 播放状态POST /api/play/pause/next/previousPOST /api/goto— 跳转到指定索引GET /api/playlist— 播放列表POST /api/scene— 切换场景POST /api/trigger— 发送触发器
配置管理
GET /api/config— 完整配置GET /api/config/display— 显示配置POST /api/config— 更新配置(热重载)
媒体管理
GET /api/videos— 视频文件列表POST /api/videos/upload— 上传视频DELETE /api/videos/:name— 删除视频
WiFi / BLE
GET /api/wifi/status/scan/connect/ap/start/ap/stopPOST /api/ble/start/stop/GET /api/ble/status
插件管理 (动态插件)
GET /api/plugins— 列出所有插件状态GET /api/plugins/:id— 插件详情POST /api/plugins/:id/enable/disable/rollback/switchPOST /api/plugins/install— 远程安装POST /api/plugins/check-updates— 检查更新
WebSocket
ws://host:port/ws— 实时事件推送
依赖
- 依赖 VideoPlugin(启动顺序)