1.5 KiB
1.5 KiB
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 string(chi 会正确解码 query string)。如需修改其他资产页面的删除逻辑,同样使用 ID。
待改进:告警置信度语义不一致
现象:告警中心的"置信度"字段:
- 陌生人脸告警:显示 0.08(相似度越低越严重)
- 劳保鞋告警:显示 0.55(置信度越高越严重)
两者方向相反,用户无法通过数值判断紧急程度。
根因:陌生人脸告警上报的是识别相似度(vs 已知人员的距离),而非"陌生度"。正确做法应报 1 - similarity,使方向统一为"越高越严重"。
改进方向:edge-server 侧修改陌生人脸告警的上报逻辑,管理端无需改动。