chenyao
2025-02-28 32fe6e21781de5ff3218ffe71454a023c56ef50e
航线和视频 飞完立即清除
2 files modified
1 files added
330 ■■■■■ changed files
src/views/DronePilotDetails.vue 25 ●●●● patch | view | raw | blame | history
src/views/hooks/droneFly.ts 12 ●●●●● patch | view | raw | blame | history
src/views/hooks/test.json 293 ●●●●● patch | view | raw | blame | history
src/views/DronePilotDetails.vue
@@ -7,11 +7,11 @@
    />
    <div id="landscapeBox" class="landscape-box" :style="{ width: boxWidth + 'px', height: boxHeight + 'px'}">
      <div id="videoModule" class="l-video" :style="{ width: screenWidthVideo + 'px', height: (screenHeightVideo) + 'px'}">
        <video v-show="videoUrl && droneInfo.mode_code != 14" ref="videoPlayerBig" :style="{ width: screenWidthVideo + 'px', height: screenHeightVideo + 'px'}" controls autoplay muted playsinline style="text-align: left; object-fit: fill">
        <video v-show="videoUrl" ref="videoPlayerBig" :style="{ width: screenWidthVideo + 'px', height: screenHeightVideo + 'px'}" controls autoplay muted playsinline style="text-align: left; object-fit: fill">
          Your browser is too old which doesn't support HTML5 video.
        </video>
        <el-empty v-show="videoUrl == ''&& droneInfo.mode_code == 14" description="当前设备已关机,无法进行直播" :image="imageUrl"></el-empty>
        <div v-if="videoUrl && droneInfo.mode_code != 14" class="center-point"></div>
        <el-empty v-show="videoUrl == ''" description="当前设备已关机,无法进行直播" :image="imageUrl"></el-empty>
        <div v-if="videoUrl" class="center-point"></div>
        <div class="right-box">
          <ptzControl :sn="sn" :osdVisible="sbInfo"/>
          <controlConsole :sn="sn" :osdVisible="sbInfo" :cesiumViewe="globalViewer" />
@@ -287,7 +287,7 @@
}
// 无人机相关信息
const droneInfo = ref({})
// const droneInfo = ref({})
// 监听ws
const messageHandler = async (payload: any) => {
@@ -299,16 +299,26 @@
      store.commit('SET_GATEWAY_INFO', payload.data)
      break
    }
    case EBizCode.DeviceOsd: {
    case EBizCode.DeviceOsd: { // 无人机的
      store.commit('SET_DEVICE_INFO', payload.data)
      store.commit('SET_WS_MESSAGE', payload)
      // console.log('对对对', payload.data.host.mode_code)
      droneInfo.value = payload.data.host
      // droneInfo.value = payload.data.host
      // if (!payload.data.host || payload.data.host.mode_code == 14) {
      //   videoUrl.value = ''
      // }
      getviewDrone(payload)
      break
    }
    case EBizCode.DockOsd: { // 机场
      store.commit('SET_DOCK_INFO', payload.data)
      break
    }
    case EBizCode.DeviceOffline: {
      store.commit('SET_DEVICE_OFFLINE', payload.data)
      if (!payload.data.online_status) {
        videoUrl.value = ''
      }
      break
    }
    case EBizCode.FlightTaskProgress: { // 获取进度
@@ -578,6 +588,9 @@
onBeforeUnmount(() => {
  window.removeEventListener('orientationchange', checkOrientation);
  window.removeEventListener('resize', checkOrientation);
  // removeAllPoint()
  // removeAllDataSource()
  // 销毁地图实例
  if (window.cesiumViewer && !window.cesiumViewer.isDestroyed()) {
    window.cesiumViewer.destroy();
src/views/hooks/droneFly.ts
@@ -7,7 +7,7 @@
import { useMyStore } from '@/store'
import { getTwoPointInfo } from '@/api/manage'
const { getEntityById, removeById, globalCesium, addLeftClickEvent, removeLeftClickEvent, flyTo } = cesiumOperation()
const { getEntityById, removeById, globalCesium, removeAllPoint, addLeftClickEvent, removeLeftClickEvent, flyTo } = cesiumOperation()
// 无人机实体
let droneEntity = null
@@ -63,7 +63,7 @@
      // 当飞机模型存在
      if (droneEntity) {
        //  且在空中飞行时,实时更新飞机模型的位置
        if (deviceInfo.mode_code && [3, 4, 5, 9, 10, 16].includes(deviceInfo.mode_code)) {
        if (deviceInfo.mode_code && [3, 4, 5, 9, 10, 16, 17].includes(deviceInfo.mode_code)) {
          if (store.currentAngle == 3) {
            viewInfoFrustum?.clear()
          } else {
@@ -96,6 +96,9 @@
        } else {
          removeById('drone_fly')
          droneEntity = null
          removeById('me_dw')
          myAppEntity = null
  
          lastTime = null
          viewInfoFrustum?.clear()
@@ -103,9 +106,10 @@
  
          window.cesiumViewer.camera.lookAtTransform(globalCesium.Matrix4.IDENTITY)
          store.commit('SET_CURRENTANGLE', 1)
          removeAllPoint()
        }
      } else {
        if (deviceInfo.mode_code && [3, 4, 5, 9, 10].includes(deviceInfo.mode_code)) {
        if (deviceInfo.mode_code && [3, 4, 5, 9, 10, 17].includes(deviceInfo.mode_code)) {
          // 暂时把视锥代码注释掉
          initCreateFrustum(deviceInfo, viewDroneInfo)
          addFlyGltf(
@@ -146,7 +150,7 @@
        })
      }
      
      if (data.deviceInfo[data.currentSn].mode_code && [3, 4, 5, 9, 10].includes(deviceInfo.mode_code)) {
      if (data.deviceInfo[data.currentSn].mode_code && [3, 4, 5, 9, 10, 17].includes(deviceInfo.mode_code)) {
        if (switchSaving) return (switchSaving = false)
        const newPositions = globalCesium.Cartesian3.fromDegrees(
          data.deviceInfo[data.currentSn].longitude,
src/views/hooks/test.json
New file
@@ -0,0 +1,293 @@
[
  {
      "payload_index": "88-0-0",
      "gimbal_pitch": 0,
      "gimbal_roll": 0,
      "gimbal_yaw": 129.3,
      "measure_target_altitude": 63.10000228881836,
      "measure_target_distance": 6.800000190734863,
      "measure_target_latitude": 28.624647955787974,
      "measure_target_longitude": 115.85635808986208,
      "measure_target_error_state": 0
  }
]
[
  {
      "payload_index": "88-0-0",
      "gimbal_pitch": 0,
      "gimbal_roll": 0,
      "gimbal_yaw": 129.3,
      "measure_target_altitude": 63.10000228881836,
      "measure_target_distance": 6.800000190734863,
      "measure_target_latitude": 28.624647955787974,
      "measure_target_longitude": 115.85635808986208,
      "measure_target_error_state": 0
  }
]
{
  "host": {
      "attitude_head": 124.7,
      "attitude_pitch": 0,
      "attitude_roll": 0.3,
      "elevation": 0,
      "battery": {
          "batteries": [
              {
                  "firmware_version": "29.02.01.41",
                  "index": 0,
                  "loop_times": 1,
                  "capacity_percent": 50,
                  "sn": "7PAPMCSCA001JU",
                  "sub_type": 0,
                  "temperature": 24.9,
                  "type": 0,
                  "voltage": 15050
              }
          ],
          "capacity_percent": 50,
          "landing_power": 0,
          "remain_flight_time": 0,
          "return_home_power": 0
      },
      "firmware_version": "12.00.0106",
      "gear": 1,
      "height": 63.10512161254883,
      "home_distance": 0.653381109237671,
      "horizontal_speed": 0,
      "latitude": 28.624682953335515,
      "longitude": 115.85630050035225,
      "mode_code": 0,
      "total_flight_distance": 6016.419651580858,
      "total_flight_time": 0,
      "vertical_speed": 0,
      "wind_direction": 0,
      "wind_speed": 0,
      "position_state": {
          "gps_number": 32,
          "is_fixed": 0,
          "quality": 5,
          "rtk_number": 46
      },
      "payloads": [
          {
              "payload_index": "88-0-0",
              "gimbal_pitch": 0,
              "gimbal_roll": 0,
              "gimbal_yaw": 129.3,
              "measure_target_altitude": 63.10000228881836,
              "measure_target_distance": 6.800000190734863,
              "measure_target_latitude": 28.624647955787974,
              "measure_target_longitude": 115.85635808986208,
              "measure_target_error_state": 0
          }
      ],
      "storage": {
          "total": 60382000,
          "used": 27000
      },
      "night_lights_state": 0,
      "height_limit": 120,
      "distance_limit_status": {
          "state": 0,
          "distance_limit": 5000
      },
      "obstacle_avoidance": {
          "horizon": 1,
          "upside": 0,
          "downside": 1
      },
      "activation_time": 1738959793,
      "cameras": [
          {
              "camera_mode": 0,
              "liveview_world_region": {
                  "bottom": 0.556653380393982,
                  "left": 0.43964454531669617,
                  "right": 0.565058410167694,
                  "top": 0.431435763835907
              },
              "payload_index": "88-0-0",
              "photo_state": 0,
              "record_time": 0,
              "recording_state": 0,
              "remain_photo_num": 9503,
              "remain_record_duration": 0,
              "zoom_factor": 7
          }
      ],
      "rc_lost_action": 2,
      "rth_altitude": 120,
      "total_flight_sorties": 0,
      "exit_wayline_when_rc_lost": 0,
      "track_id": ""
  },
  "sn": "1581F7FVC251800C5W24"
}
[
  {
      "payload_index": "88-0-0",
      "gimbal_pitch": 0,
      "gimbal_roll": 0,
      "gimbal_yaw": 129.3,
      "measure_target_altitude": 63.10000228881836,
      "measure_target_distance": 6.800000190734863,
      "measure_target_latitude": 28.62464794726932,
      "measure_target_longitude": 115.85635819107856,
      "measure_target_error_state": 0
  }
]
[
  {
      "payload_index": "88-0-0",
      "gimbal_pitch": 0,
      "gimbal_roll": 0,
      "gimbal_yaw": 129.3,
      "measure_target_altitude": 63.10000228881836,
      "measure_target_distance": 6.800000190734863,
      "measure_target_latitude": 28.62464794726932,
      "measure_target_longitude": 115.85635819107856,
      "measure_target_error_state": 0
  }
]
[
  {
      "payload_index": "88-0-0",
      "gimbal_pitch": 0,
      "gimbal_roll": 0,
      "gimbal_yaw": 129.3,
      "measure_target_altitude": 63.10000228881836,
      "measure_target_distance": 6.800000190734863,
      "measure_target_latitude": 28.624647947124036,
      "measure_target_longitude": 115.85635819620202,
      "measure_target_error_state": 0
  }
]
[
  {
      "payload_index": "88-0-0",
      "gimbal_pitch": 0,
      "gimbal_roll": 0,
      "gimbal_yaw": 129.3,
      "measure_target_altitude": 63.10000228881836,
      "measure_target_distance": 6.800000190734863,
      "measure_target_latitude": 28.624647947124036,
      "measure_target_longitude": 115.85635819620202,
      "measure_target_error_state": 0
  }
]
[
  {
      "payload_index": "88-0-0",
      "gimbal_pitch": 0,
      "gimbal_roll": 0,
      "gimbal_yaw": 129.3,
      "measure_target_altitude": 63.10000228881836,
      "measure_target_distance": 6.800000190734863,
      "measure_target_latitude": 28.624648145304633,
      "measure_target_longitude": 115.85635829380271,
      "measure_target_error_state": 0
  }
]
[
  {
      "payload_index": "88-0-0",
      "gimbal_pitch": 0,
      "gimbal_roll": 0,
      "gimbal_yaw": 129.3,
      "measure_target_altitude": 63.10000228881836,
      "measure_target_distance": 6.800000190734863,
      "measure_target_latitude": 28.624648145304633,
      "measure_target_longitude": 115.85635829380271,
      "measure_target_error_state": 0
  }
]
[
  {
      "payload_index": "88-0-0",
      "gimbal_pitch": 0,
      "gimbal_roll": 0,
      "gimbal_yaw": 129.3,
      "measure_target_altitude": 63.10000228881836,
      "measure_target_distance": 6.800000190734863,
      "measure_target_latitude": 28.624648234306836,
      "measure_target_longitude": 115.85635818486095,
      "measure_target_error_state": 0
  }
]
[
  {
      "payload_index": "88-0-0",
      "gimbal_pitch": 0,
      "gimbal_roll": 0,
      "gimbal_yaw": 129.3,
      "measure_target_altitude": 63.20000076293945,
      "measure_target_distance": 6.800000190734863,
      "measure_target_latitude": 28.624648344714267,
      "measure_target_longitude": 115.85635829084707,
      "measure_target_error_state": 0
  }
]
[
  {
      "payload_index": "88-0-0",
      "gimbal_pitch": 0,
      "gimbal_roll": 0,
      "gimbal_yaw": 129.3,
      "measure_target_altitude": 63.20000076293945,
      "measure_target_distance": 6.800000190734863,
      "measure_target_latitude": 28.624648344714267,
      "measure_target_longitude": 115.85635829084707,
      "measure_target_error_state": 0
  }
]
[
  {
      "payload_index": "88-0-0",
      "gimbal_pitch": 0,
      "gimbal_roll": 0,
      "gimbal_yaw": 129.3,
      "measure_target_altitude": 63.4000015258789,
      "measure_target_distance": 6.800000190734863,
      "measure_target_latitude": 28.624647746962893,
      "measure_target_longitude": 115.8563580886594,
      "measure_target_error_state": 0
  }
]
[
  {
      "payload_index": "88-0-0",
      "gimbal_pitch": 0,
      "gimbal_roll": 0,
      "gimbal_yaw": 129.3,
      "measure_target_altitude": 63.4000015258789,
      "measure_target_distance": 6.800000190734863,
      "measure_target_latitude": 28.624647746962893,
      "measure_target_longitude": 115.8563580886594,
      "measure_target_error_state": 0
  }
]
[
  {
      "payload_index": "88-0-0",
      "gimbal_pitch": 0,
      "gimbal_roll": 0,
      "gimbal_yaw": 129.2,
      "measure_target_altitude": 63.5,
      "measure_target_distance": 6.800000190734863,
      "measure_target_latitude": 28.624648387113627,
      "measure_target_longitude": 115.85635872364763,
      "measure_target_error_state": 0
  }
]