feat: 聊天室管理接入实时语音子系统
Sync source to CNB / Sync Git ref (push) Skipped

- 顶部展示语音运行时状态:状态标签、LiveKit 版本、下载进度,未就绪时每 5 秒轮询
- 部署失败或不支持平台时提供重新部署入口
- 语音库配置弹窗:启用开关、目录、镜像地址、公网地址、监听地址、信令与媒体端口、启动超时、外部 IP 与节点 IP
- 语音日志弹窗:增量拉取、自动刷新开关、手动刷新、最多保留 2000 条
- 房间语音容量设置:参与人数与旁听人数上限
- 补充语音相关 API 与类型定义
- 中英文各补 26 个文案
This commit is contained in:
AxTps committed 2026-10-18 12:29:45 +08:00
1 parent ac38c98203
commit 667c1a0900
4 files changed
+603 -4

No files matched your search

+53 -1
View File
@@ -12317,5 +12317,57 @@
"app.skin-site.chat.admin.audit-title": {"message": "Room audit"},
"app.skin-site.chat.admin.audit-empty": {"message": "No audit records yet."},
"app.skin-site.chat.admin.audit-target": {"message": "Target: {name}"},
"app.skin-site.chat.admin.close": {"message": "Close"}
"app.skin-site.chat.admin.close": {"message": "Close"},
"app.skin-site.chat.voice-runtime-title": {"message": "Realtime voice runtime"},
"app.skin-site.chat.voice-logs": {"message": "View logs"},
"app.skin-site.chat.voice-config": {"message": "Configure runtime"},
"app.skin-site.chat.voice-retry": {"message": "Retry deployment"},
"app.skin-site.chat.voice-config-title": {"message": "Voice runtime configuration"},
"app.skin-site.chat.voice-logs-title": {"message": "LiveKit logs"},
"app.skin-site.chat.voice-capacity-title": {"message": "Voice capacity"},
"app.skin-site.chat.voice-capacity": {"message": "Voice capacity"},
"app.skin-site.chat.participant-limit": {"message": "Participant limit"},
"app.skin-site.chat.listener-limit": {"message": "Listener limit"},
"app.skin-site.chat.voice-capacity-updated": {"message": "Voice capacity updated."},
"app.skin-site.chat.voice-enabled": {"message": "Enable realtime voice"},
"app.skin-site.chat.voice-runtime-path": {"message": "Runtime directory"},
"app.skin-site.chat.voice-mirror": {"message": "Mirror base URL"},
"app.skin-site.chat.voice-public-url": {"message": "Public URL"},
"app.skin-site.chat.voice-bind": {"message": "Bind address"},
"app.skin-site.chat.voice-signal-port": {"message": "Signal port"},
"app.skin-site.chat.voice-rtc-tcp-port": {"message": "Media TCP port"},
"app.skin-site.chat.voice-rtc-udp-port": {"message": "Media UDP port"},
"app.skin-site.chat.voice-startup-timeout": {"message": "Startup timeout (s)"},
"app.skin-site.chat.voice-use-external-ip": {"message": "Use external IP"},
"app.skin-site.chat.voice-node-ip": {"message": "Node IP"},
"app.skin-site.chat.voice-saved": {"message": "Voice configuration saved."},
"app.skin-site.chat.voice-logs-auto-refresh": {"message": "Auto refresh"},
"app.skin-site.chat.voice-logs-refresh": {"message": "Refresh"},
"app.skin-site.chat.voice-logs-empty": {"message": "No logs yet."},
"app.skin-site.chat.admin.voice-runtime-title": {"message": "Realtime voice runtime"},
"app.skin-site.chat.admin.voice-logs": {"message": "View logs"},
"app.skin-site.chat.admin.voice-config": {"message": "Configure runtime"},
"app.skin-site.chat.admin.voice-retry": {"message": "Retry deployment"},
"app.skin-site.chat.admin.voice-config-title": {"message": "Voice runtime configuration"},
"app.skin-site.chat.admin.voice-logs-title": {"message": "LiveKit logs"},
"app.skin-site.chat.admin.voice-capacity-title": {"message": "Voice capacity"},
"app.skin-site.chat.admin.voice-capacity": {"message": "Voice capacity"},
"app.skin-site.chat.admin.participant-limit": {"message": "Participant limit"},
"app.skin-site.chat.admin.listener-limit": {"message": "Listener limit"},
"app.skin-site.chat.admin.voice-capacity-updated": {"message": "Voice capacity updated."},
"app.skin-site.chat.admin.voice-enabled": {"message": "Enable realtime voice"},
"app.skin-site.chat.admin.voice-runtime-path": {"message": "Runtime directory"},
"app.skin-site.chat.admin.voice-mirror": {"message": "Mirror base URL"},
"app.skin-site.chat.admin.voice-public-url": {"message": "Public URL"},
"app.skin-site.chat.admin.voice-bind": {"message": "Bind address"},
"app.skin-site.chat.admin.voice-signal-port": {"message": "Signal port"},
"app.skin-site.chat.admin.voice-rtc-tcp-port": {"message": "Media TCP port"},
"app.skin-site.chat.admin.voice-rtc-udp-port": {"message": "Media UDP port"},
"app.skin-site.chat.admin.voice-startup-timeout": {"message": "Startup timeout (s)"},
"app.skin-site.chat.admin.voice-use-external-ip": {"message": "Use external IP"},
"app.skin-site.chat.admin.voice-node-ip": {"message": "Node IP"},
"app.skin-site.chat.admin.voice-saved": {"message": "Voice configuration saved."},
"app.skin-site.chat.admin.voice-logs-auto-refresh": {"message": "Auto refresh"},
"app.skin-site.chat.admin.voice-logs-refresh": {"message": "Refresh"},
"app.skin-site.chat.admin.voice-logs-empty": {"message": "No logs yet."}
}
+53 -1
View File
@@ -12148,5 +12148,57 @@
"app.skin-site.chat.admin.audit-title": {"message": "房间审计"},
"app.skin-site.chat.admin.audit-empty": {"message": "暂无审计记录。"},
"app.skin-site.chat.admin.audit-target": {"message": "对象:{name}"},
"app.skin-site.chat.admin.close": {"message": "关闭"}
"app.skin-site.chat.admin.close": {"message": "关闭"},
"app.skin-site.chat.voice-runtime-title": {"message": "实时语音库"},
"app.skin-site.chat.voice-logs": {"message": "查看日志"},
"app.skin-site.chat.voice-config": {"message": "配置语音库"},
"app.skin-site.chat.voice-retry": {"message": "重新部署"},
"app.skin-site.chat.voice-config-title": {"message": "语音库配置"},
"app.skin-site.chat.voice-logs-title": {"message": "LiveKit 日志"},
"app.skin-site.chat.voice-capacity-title": {"message": "语音容量"},
"app.skin-site.chat.voice-capacity": {"message": "语音容量"},
"app.skin-site.chat.participant-limit": {"message": "参与人数上限"},
"app.skin-site.chat.listener-limit": {"message": "旁听人数上限"},
"app.skin-site.chat.voice-capacity-updated": {"message": "语音容量已更新。"},
"app.skin-site.chat.voice-enabled": {"message": "启用实时语音"},
"app.skin-site.chat.voice-runtime-path": {"message": "语音库目录"},
"app.skin-site.chat.voice-mirror": {"message": "镜像基础地址"},
"app.skin-site.chat.voice-public-url": {"message": "公网访问地址"},
"app.skin-site.chat.voice-bind": {"message": "监听地址"},
"app.skin-site.chat.voice-signal-port": {"message": "信令端口"},
"app.skin-site.chat.voice-rtc-tcp-port": {"message": "媒体 TCP 端口"},
"app.skin-site.chat.voice-rtc-udp-port": {"message": "媒体 UDP 端口"},
"app.skin-site.chat.voice-startup-timeout": {"message": "启动等待时间(秒)"},
"app.skin-site.chat.voice-use-external-ip": {"message": "使用外部 IP"},
"app.skin-site.chat.voice-node-ip": {"message": "节点 IP"},
"app.skin-site.chat.voice-saved": {"message": "语音库配置已保存。"},
"app.skin-site.chat.voice-logs-auto-refresh": {"message": "自动刷新"},
"app.skin-site.chat.voice-logs-refresh": {"message": "刷新"},
"app.skin-site.chat.voice-logs-empty": {"message": "暂无日志。"},
"app.skin-site.chat.admin.voice-runtime-title": {"message": "实时语音库"},
"app.skin-site.chat.admin.voice-logs": {"message": "查看日志"},
"app.skin-site.chat.admin.voice-config": {"message": "配置语音库"},
"app.skin-site.chat.admin.voice-retry": {"message": "重新部署"},
"app.skin-site.chat.admin.voice-config-title": {"message": "语音库配置"},
"app.skin-site.chat.admin.voice-logs-title": {"message": "LiveKit 日志"},
"app.skin-site.chat.admin.voice-capacity-title": {"message": "语音容量"},
"app.skin-site.chat.admin.voice-capacity": {"message": "语音容量"},
"app.skin-site.chat.admin.participant-limit": {"message": "参与人数上限"},
"app.skin-site.chat.admin.listener-limit": {"message": "旁听人数上限"},
"app.skin-site.chat.admin.voice-capacity-updated": {"message": "语音容量已更新。"},
"app.skin-site.chat.admin.voice-enabled": {"message": "启用实时语音"},
"app.skin-site.chat.admin.voice-runtime-path": {"message": "语音库目录"},
"app.skin-site.chat.admin.voice-mirror": {"message": "镜像基础地址"},
"app.skin-site.chat.admin.voice-public-url": {"message": "公网访问地址"},
"app.skin-site.chat.admin.voice-bind": {"message": "监听地址"},
"app.skin-site.chat.admin.voice-signal-port": {"message": "信令端口"},
"app.skin-site.chat.admin.voice-rtc-tcp-port": {"message": "媒体 TCP 端口"},
"app.skin-site.chat.admin.voice-rtc-udp-port": {"message": "媒体 UDP 端口"},
"app.skin-site.chat.admin.voice-startup-timeout": {"message": "启动等待时间(秒)"},
"app.skin-site.chat.admin.voice-use-external-ip": {"message": "使用外部 IP"},
"app.skin-site.chat.admin.voice-node-ip": {"message": "节点 IP"},
"app.skin-site.chat.admin.voice-saved": {"message": "语音库配置已保存。"},
"app.skin-site.chat.admin.voice-logs-auto-refresh": {"message": "自动刷新"},
"app.skin-site.chat.admin.voice-logs-refresh": {"message": "刷新"},
"app.skin-site.chat.admin.voice-logs-empty": {"message": "暂无日志。"}
}