本票交付首条链:既有设备选择/详情 → 最新指标 TAB → 监控 → 中心面板 → 驾驶舱视频专用接口 → 可见播放状态与自身资源释放。不是管理端页面复制,不新增台账、信令或媒体系统。
用户明确选择浏览器原生 WebRTC / video,不复制参考仓中来源/版本未明确且缺 Wasm 的 Jessibuca。详情见来源核查。
linkedom@0.18.15(ISC),通过 yarn add --dev --exact --ignore-scripts 安装,整次安装明确跳过所有脚本;没有新增canvas或播放SDK。新增锁文件均为测试DOM依赖闭包,原生产依赖版本未升级。LinkeDOM不是完整浏览器,不能验证真实媒体/布局/焦点像素行为。代码在独立后端仓库,复用01的VideoDeviceService和会话表:
方法与路径(/api/cockpit/v1前缀) |
输入 | 公开结果 |
|---|---|---|
GET /video/device |
query deviceCode,原样业务编码 |
设备编码/名称、typeCode、bound、逐项能力与不可用原因 |
POST /video/live |
JSON {deviceCode} |
独立sessionId/sessionToken、LIVE、媒体白名单 |
POST /video/sessions/{id}/heartbeat |
JSON {sessionToken} |
匹配sessionId、ACTIVE;不证明画面健康 |
POST /video/sessions/{id}/stop |
JSON {sessionToken} |
匹配sessionId、STOPPED,自身观看资源幂等释放;不是云台STOP |
后端适配按equipment_code精确查询并二次核对,斜杠/空格/百分号不重复解码;只有type20与真实合法绑定支持本票实时能力。历史/云台能力不因GB28181而默认支持。
安全配置仅增加device GET和三条POST精确例外,并在既有全驾驶舱GET规则之前限制其余video路径;旧 /api/video 与其他业务写权限不变。Controller成功/失败均no-store,固定中文分类与请求/服务时间,不透明透传底层错误或秘密。
媒体输出不含内部ID/国标绑定/stream/proxyKey/内部token。URL白名单拒绝userinfo、fragment与未知query;实际上游rtc/rtcs映射到webrtc。不剥掉密码后假报可用。不能发布媒体时释放新会话,失败明确CLEANUP_UNCONFIRMED。API免业务登录不证明部署内网隔离;媒体URL的网络访问安全不由CORS/隐藏按钮提供。
01的迁移脚本尚未执行;部署本票代码前必须先核对并执行迁移。现有01对未知启动/底层迟到取消的边界仍有效,后续03与07负责强化和真实验证。
--baseline-only 用开始时前端基点与已提交详情入口快照运行同一13项:全通过,不在夹具中重写产品接线。既有其它在制源文件不混入纯本票验证;工作树验证亦通过。既有mapService/panelBlocks重复键警告未在本票扩大修复。maven.test.failure.ignore=true仅用于收齐结果,退出0不代表全绿。复现命令(不启动服务):
node tests/cockpit-video/run.mjs
node tests/cockpit-video/run.mjs --baseline-only
node tests/cockpit-video/player.mjs
node tests/cockpit-video/session.mjs
# 在 E:/pipe-ner-server 根目录
JAVA_TOOL_OPTIONS=-Dfile.encoding=UTF-8 mvn -o -pl pipe-network-service/zksy-admin -am -Dtest=CockpitVideoControllerTest,VideoDeviceCompatibilityTest,VideoSessionCompatibilityTest -Dsurefire.failIfNoSpecifiedTests=false test
JAVA_TOOL_OPTIONS=-Dfile.encoding=UTF-8 mvn -o -pl pipe-network-service/zksy-admin -am -Dmaven.test.failure.ignore=true test
start在await stop()之后捕获代次,可能越过同轮close或新设备打开。已恢复停止前捕获代次,并以公开会话start(A)/start(B)、start(A)/stop()驱动两个回归,RED→GREEN;其余没有确证02缺项或越界。前后端实现及离线回归已完成,02已关闭并回写真实验收边界;前端cafb1652/02f33d6、后端01a66fad独立提交,未推送。Standards最终硬违规0、遗留建议0;Spec原P1已闭合,最终无未修复的02确证阻断。本文补记最终读回结果,不改变源代码审查范围。本记录不宣称真实视频交付。由于项目规则已跳过应用build/debug、浏览器调试/截图、服务启停、真实数据库迁移和设备操作。所有实际验证均限定在用户已授权的离线编译/测试范围。