feat(v2): T-309 test-connection button with result popup

Adds a 测试连接摄像头 button next to save; it builds the RTSP URL from the
current form fields and runs ffprobe (8s timeout) off the UI thread, then
shows a result popup (success WxH@fps, or a redacted failure). Exports
config.BuildRTSPURL and source.Probe/Redact for it. Cross-compiles for
Windows; config/source tests pass.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
ila
2026-07-23 22:05:52 +08:00
co-authored by Claude Opus 4.8
parent aced262f6b
commit 4b7dfc2db6
4 changed files with 138 additions and 6 deletions
+3 -2
View File
@@ -187,8 +187,9 @@ func settingsFor(cfg config.Config, configPath string) ui.Settings {
EventSummary: fmt.Sprintf("确认 %.1f 秒;水平角 %.0f°;快速下移=%t;下肢=%t",
cfg.Event.ConfirmWindowSeconds, cfg.Event.HorizontalAngleThresholdDegrees,
cfg.Event.RequireRapidDrop, cfg.Event.RequireLowerBody),
ConfigPath: configPath,
Camera: cameraFieldsFrom(configPath),
FFprobePath: cfg.Tools.FFprobePath,
ConfigPath: configPath,
Camera: cameraFieldsFrom(configPath),
Params: ui.ParamFields{
KeypointConfidence: float64(cfg.Event.KeypointConfidenceThreshold),
ConfirmWindowSeconds: cfg.Event.ConfirmWindowSeconds,