Pine
d70d9d5fbd
feat: add SFX volume control and improve audio feedback
...
- Implemented separate sound effects volume control in settings.
- Updated backend to handle new `sfx_volume` parameter.
- Enhanced UI to include sound effects volume slider in admin panel.
- Integrated sound effects for various user interactions (clicks, navigation, alerts).
- Added a new global sound engine to manage audio synthesis without external files.
- Updated documentation for Docker deployment and Windows packaging.
- Refactored audio context management to ensure sound effects are available post user interaction.
2026-08-18 07:14:13 +08:00
Pine
66b6a7fbbd
feat(admin): 管理后台加入「大屏控制(MQTT 指令)」面板,覆盖全部前端命令
...
- routers.py:_VALID_DISPLAY_ACTIONS 扩展为全命令白名单
(navigate/navigate_rel/vision_set/ai_input/ai_preset/ai_company/ai_zone/
voice_start/voice_stop/voice_refresh/play/pause/next/prev/set_mode/play_target/
alert/show_card/minimize/settings_changed/playlist_changed)
- admin.html:新增控制面板(页面导航含/voice+左右、视觉开关、AI 提问/预设/企业/分区、
语音启停/刷新、媒体控制、全局通知)
- admin.js:data-mqtt 按钮(完整指令 JSON)→ /api/display/command;
AI 提问/通知输入框回车发送
2026-08-18 02:32:27 +08:00
Pine
c55835fb7d
fix: 管理后台连接状态 + 修复按钮无响应
...
连接状态(正式):
- /api/display/state 扩展:screens_online(大屏心跳统计,opc/display/heartbeat)+ last_command(最近指令与发布结果)
- 前端大屏每 10s 上报心跳(稳定 client_id),后端 30s TTL 统计在线大屏数
- 管理台新增「连接状态」卡片:后端/MQTT/在线大屏/最近指令,3s 轮询刷新
按钮无响应根治:
- admin.js 改为 document 事件委托(data-nav/data-control/data-action/复制/预览),不再依赖逐个绑定
- /static 与 /admin 响应加 no-cache 头,杜绝旧 JS/CSS 缓存导致的按钮失效
- SSE 不再自动重载页面(避免与操作回调双重重载清掉反馈);立即播放改为 toast 不重载
2026-08-17 21:54:28 +08:00
Pine
1a95ecbacb
feat: 管理后台补齐完整功能
...
- 页面切换卡片:数据大屏/数字孪生/AI 助手/媒体轮播 → MQTT navigate 控制所有大屏
- 立即播放:新增 POST /api/playlist/play(加入播放列表 + MQTT play_target),
MediaScreen 监听 play_target 跳转并播放指定媒体
- 远程 URL 支持两种操作:添加到媒体库 / 加入播放列表
- 本地媒体卡片显示 FastAPI 输出 URL(/file/...)+ 一键复制
- 预览弹窗增加「立即播放」;新增 page-switch/media-url/copy-btn 样式
2026-08-17 21:38:04 +08:00
Pine
00cb76c73f
feat: 管理后台迁移至 FastAPI + Jinja2 服务端渲染
...
- GET /admin:Jinja 模板渲染(登录页 / 管理台),媒体库、播放列表、设置由服务端渲染
- POST /admin/login:表单登录 + HMAC 签名 Cookie(DPM_ADMIN_SECRET),GET /admin/logout 退出
- /static/admin.css + admin.js:动态操作(上传进度/播放控制/设置/SSE 状态/预览弹窗)调 REST 后整页刷新
- 前端移除 React Admin 页面与 /admin 路由(Admin.jsx 删除);媒体/播放列表接口保持不变
- 依赖改用 uv 管理(pyproject.toml + uv.lock,含 jinja2),README 更新启动方式
2026-08-17 21:30:44 +08:00