docs: 完成任务 #24 待验收归档

ila
2026-08-12 17:45:12 +08:00
parent 4e54f0a2ef
commit 0f3da06cbe
@@ -1,9 +1,9 @@
# 24 ONVIF与RTSP视频接入验证
# 24 ONVIF 与 RTSP 视频接入验证
- 类型:需求 / 缺陷 / 重构
- 所属 Epic:#
- 所属 MVP / 版本:#
- 状态:待验收 / 已完成
- 类型:需求
- 所属 Epic:#7
- 所属 MVP / 版本:#8
- 状态:待验收
- 日期:2026-08-12
- Gitea 工单:https://git.ilapage.cn/ila/yovision/issues/24
- Wiki 页面:Task-24-ONVIF与RTSP视频接入验证
@@ -11,32 +11,41 @@
## 背景与目标
<!-- 原来有什么问题,这次达到什么结果。 -->
支持获准网络中的摄像机发现或手工接入,读取并验证主辅 Profile。
## 最终方案
<!-- 说明实际实现。与建单方案不同之处必须写清原因。 -->
实现默认关闭的受控 WS-Discovery,仅允许显式配置的本机网卡 IP;支持无凭据 ONVIF 地址、Profile/StreamUri SOAP 解析、主辅分辨率分类和 RTSP TCP/OPTIONS 验证。认证失败、不可达、超时、校时与重探测状态可定位;凭据只经内部端口取得。
与已确认方案一致。为使用 #21 的模块注册和项目内窄端口,实施前已在工单评论中记录精确集成 write_path;未修改 contracts、Brain、Bell 或根级部署。
## 修改文件
- `<文件>`:<改动说明>
- Sense/server/app/sense/:本工单后端领域、适配器、服务、HTTP 与测试。
- Sense/server/cmd/sense/modules_*.go:独立模块注册文件。
- Sense/server/database/migrations/:本工单需要的 PostgreSQL 迁移(如适用)。
- Sense/ui/src/:本工单 API、页面、路由及明确需要的局部业务组件。
- Sense/tests/、Sense/testdata/:无生产数据、无真实秘密的验收说明与夹具。
## 验收结果
| 验收标准 | 结果 |
|---|---|
| | 通过 / 未通过 |
ONVIF XML 夹具、凭据 URI 拒绝、主辅 Profile、RTSP 状态映射和接入编排 race 测试通过。
工单保持 open / 待验收,未代替用户执行浏览器、真实设备或部署环境验收。
## 测试
- 执行命令:`<命令>`
- 结果:
- **未验证部分**:<!-- 必填;没有就写“无”。 -->
## 遗留问题
<!-- 没有就删除本节。 -->
- Go 1.26.5 go vet ./...:通过。
- Go 1.26.5 go test -race ./...:全部通过。
- Go 1.26.5 go test -count=1 ./...:全部通过。
- Go 1.26.5 go build ./...:通过。
- corepack pnpm@9.15.1 install --frozen-lockfile:通过。
- corepack pnpm@9.15.1 lint --quiet:通过。
- corepack pnpm@9.15.1 build:通过;仅有 Element Plus vendor bundle 体积建议警告。
- Sense 独立 smoke、Harness 严格检查和 31 项 Harness 测试:通过。
- **未验证部分**:未扫描真实网络,未验证具体摄像机的 WS-Security/厂商兼容、时间漂移恢复或真实 RTSP。
## 相关提交
- `<提交哈希>` <提交说明>
- $(System.Collections.Hashtable.commit) 本工单实现提交
- 5177861 docs: document Sense MVP operations (#22-#27)