Zzc f60ecb002c feat(video): 将实际视频播放与OSS源集成
向VideoMonitorItem组件添加视频元素以实现实时播放,更新视频监视器常量以使用OSS URL,并实现从OSS配置生成资源URL的工具函数。这将占位符内容替换为功能性的视频流。
2025-11-19 11:12:18 +08:00

105 lines
3.3 KiB
JavaScript

/**
* 3D态势感知常量配置
*/
import { getVideoUrl } from '@shared/utils'
// 视频监控视角类型
export const VIDEO_TYPES = {
PERSONNEL: 'personnel', // 单兵视角
DRONE: 'drone', // 无人机视角
VEHICLE_EXTERNAL: 'vehicle_external', // 指挥车外部视角
VEHICLE_MEETING: 'vehicle_meeting' // 指挥车会议视角
}
// 视频监控列表
export const VIDEO_MONITORS = [
{
id: 1,
type: VIDEO_TYPES.PERSONNEL,
title: '单兵(张三三)设备视角',
// videoSrc: getVideoUrl('demo/ylzg/单兵视角.mp4'), // 从 OSS 获取视频 URL
videoSrc: 'http://222.212.85.86:9000/300bdf2b-a150-406e-be63-d28bd29b409f/demo/ylzg/单兵视角.mp4',
dateRange: '2025/9/1-2025/12/1', // 日期范围
hasAudio: true,
hasMegaphone: true,
hasZoom: true,
hasDirectionControl: false // 是否显示方向控制(操作台)
},
{
id: 2,
type: VIDEO_TYPES.DRONE,
title: '无人机(001)视角',
// videoSrc: getVideoUrl('demo/ylzg/无人机视角.mp4'), // 从 OSS 获取视频 URL
videoSrc: 'http://222.212.85.86:9000/300bdf2b-a150-406e-be63-d28bd29b409f/demo/ylzg/无人机视角.mp4',
dateRange: '2025/9/1-2025/12/1',
hasAudio: false,
hasMegaphone: true,
hasZoom: true,
hasDirectionControl: true // 无人机有方向控制
},
{
id: 3,
type: VIDEO_TYPES.VEHICLE_EXTERNAL,
title: '指挥车外部视角',
// videoSrc: getVideoUrl('demo/ylzg/单兵视角.mp4'), // 暂时使用单兵视角视频
videoSrc: 'http://222.212.85.86:9000/300bdf2b-a150-406e-be63-d28bd29b409f/demo/ylzg/单兵视角.mp4',
dateRange: '2025/9/1-2025/12/1',
hasAudio: true,
hasMegaphone: true,
hasZoom: true,
hasDirectionControl: false
},
{
id: 4,
type: VIDEO_TYPES.VEHICLE_MEETING,
title: '指挥车会议视角',
// videoSrc: getVideoUrl('demo/ylzg/无人机视角.mp4'), // 暂时使用无人机视角视频
videoSrc: 'http://222.212.85.86:9000/300bdf2b-a150-406e-be63-d28bd29b409f/demo/ylzg/无人机视角.mp4',
dateRange: '2025/9/1-2025/12/1',
hasAudio: true,
hasMegaphone: true,
hasZoom: true,
hasDirectionControl: false
}
]
// 方向枚举(用于视角控制)
export const DIRECTIONS = {
LEFT: 'left',
RIGHT: 'right',
UP: 'up',
DOWN: 'down'
}
// 现场设备标签页
export const DISPATCH_TABS = [
{ key: 'personnel', label: '现场单兵', count: 23 },
{ key: 'equipment', label: '现场设备', count: 21 },
{ key: 'drone', label: '现场无人机', count: 21 }
]
// 响应等级
export const RESPONSE_LEVELS = [
{ value: 1, label: '一级', color: '#FF0624' },
{ value: 2, label: '二级', color: '#FF800B' },
{ value: 3, label: '三级', color: '#FFC107' },
{ value: 4, label: '四级', color: '#11BB77' }
]
// 地图观看设备功能
export const DEVICE_WATCH = {
key: 'watchDevice',
label: '正在观看卫星设备',
icon: '正在观看卫星设备'
}
// 地图测量工具(按设计图顺序排列)
export const MAP_TOOLS = [
{ key: 'modelCompare', label: '模型对比', icon: '模型对比' },
{ key: 'measurePosition', label: '测量位置', icon: '测量位置' },
{ key: 'measureDistance', label: '测量距离', icon: '测量距离' },
{ key: 'measureVolume', label: '测量方量', icon: '测量方量' },
{ key: 'clearPoints', label: '清除点', icon: '清除点' }
]