| | |
| | | * @Author: shuishen 1109946754@qq.com |
| | | * @Date: 2025-04-19 13:13:15 |
| | | * @LastEditors: shuishen 1109946754@qq.com |
| | | * @LastEditTime: 2025-04-19 14:15:02 |
| | | * @LastEditTime: 2025-04-19 15:04:15 |
| | | * @FilePath: \command-center-dashboard\src\components\CurrentTaskDetails\CurrentTaskDetails.vue |
| | | * @Description: |
| | | * |
| | |
| | | <TaskDetailsHead /> |
| | | <TaskDetailsLeft /> |
| | | </template> |
| | | |
| | | <!-- 控制面板,里面有方法需要立即执行,不可用v-if --> |
| | | <!-- <ControlPanel />--> |
| | | <ControlPanel v-show="!isAutoControl" /> |
| | | <img alt="" :src="amplifyImg" class="amplify" @click="isMaxMap = !isMaxMap" /> |
| | | </div> |
| | |
| | | const trueAltitude = ref('') // 真实高度 |
| | | const isAiLive = ref(false) // 是ai直播 |
| | | const video_id = ref('') // 直播视频id |
| | | |
| | | const isShow = defineModel('show') // 是否显示当前任务详情 |
| | | const props = defineProps(['id']) |
| | | const currentLiveUrl = ref('') // 当前直播地址 |
| | |
| | | let { taskDetails, workspace_id, getTaskDetails } = useTaskDetails(getDeviceLiveUrl) |
| | | let { wsInfo, removeWS } = useDroneWS(workspace_id) //ws信息,是一个ref对象 |
| | | |
| | | provide('wsInfo', wsInfo) |
| | | provide('deviceOsdInfo', deviceOsdInfo) |
| | | provide('dockOsdInfo', wsInfo?.value?.dock_osd) |
| | | provide('dockSn', dockSn) |
| | | provide('droneSn', droneSn) |
| | | provide('isAutoControl', isAutoControl) |
| | | provide('lineQuality', lineQuality) |
| | | provide('taskDetailsViewer', taskDetailsViewer) |
| | | provide('taskDetails', taskDetails) |
| | | provide('trueAltitude', trueAltitude) |
| | | provide('isAiLive', isAiLive) |
| | | provide('video_id', video_id) |
| | | provide('client_id', client_id) |
| | | |
| | | watch( |
| | | wsInfo, |
| | | () => { |
| | |
| | | }, |
| | | { deep: true } |
| | | ) |
| | | provide('wsInfo', wsInfo) |
| | | |
| | | provide('isAutoControl', isAutoControl) |
| | | provide('lineQuality', lineQuality) |
| | | provide('taskDetailsViewer', taskDetailsViewer) |
| | | provide('taskDetails', taskDetails) |
| | | provide('deviceOsdInfo', deviceOsdInfo) |
| | | provide('dockOsdInfo', wsInfo?.value?.dock_osd) |
| | | provide('dockSn', dockSn) |
| | | provide('droneSn', droneSn) |
| | | provide('trueAltitude', trueAltitude) |
| | | provide('isAiLive', isAiLive) |
| | | provide('video_id', video_id) |
| | | |
| | | const getAiLiveUrl = async () => { |
| | | const res = await getLiveAiLinkApi({ |
| | |
| | | } |
| | | |
| | | // 获取无人机直播url |
| | | async function getDroneLiveUrl() { |
| | | async function getDroneLiveUrl(reset = false) { |
| | | currentLiveUrl.value = '' |
| | | await nextTick() |
| | | const res = await liveStart(droneSn.value, lineQuality.value) |
| | | currentLiveUrl.value = res.data.data.rtcs_url |
| | | video_id.value = res.data.data.video_id |
| | | isAiLive.value = false |
| | | reset && ElMessage.success('刷新成功') |
| | | } |
| | | |
| | | // 无人机直播画质切换 |
| | |
| | | position: absolute; |
| | | left: 340px; |
| | | bottom: 183px; |
| | | width: 22px; |
| | | height: 22px; |
| | | } |
| | | } |
| | | </style> |