safesight-control/docs/bugfix-record.md

1.5 KiB
Raw Blame History

Bug 修复记录

2026-07-26视频源中文名删除失败

现象:视频源用中文名时,删除提示"视频源已删除"但刷新后仍在列表。

根因chi.URLParam("name") 对中文路径返回 URL 编码值(如 %e6%9d%8e%e5%9b%9b),而非解码后的文本(李四。SQL DELETE WHERE name = '%e6%9d%8e%e5%9b%9b' 匹配不到实际行,静默失败。

修复:删除改用整数 ID/assets/video-sources/{id}/delete),彻底避免 URL 编码问题。同时为服务和存储层添加 DeleteVideoSourceByID(id) 方法。

影响范围:视频源页面新建、编辑、改名、删除均使用 ID 做主键,不再依赖 name 作为标识符。

教训URL 路径中的中文参数应避免使用,优先用整数 ID 或 query stringchi 会正确解码 query string。如需修改其他资产页面的删除逻辑同样使用 ID。


待改进:告警置信度语义不一致

现象:告警中心的"置信度"字段:

  • 陌生人脸告警:显示 0.08(相似度越低越严重)
  • 劳保鞋告警:显示 0.55(置信度越高越严重)

两者方向相反,用户无法通过数值判断紧急程度。

根因陌生人脸告警上报的是识别相似度vs 已知人员的距离),而非"陌生度"。正确做法应报 1 - similarity,使方向统一为"越高越严重"。

改进方向edge-server 侧修改陌生人脸告警的上报逻辑,管理端无需改动。