|
|
|
@ -34,7 +34,6 @@
|
|
|
|
|
v-if="loadControlVisible"
|
|
|
|
|
@changeLoadControl="changeLoadControl"
|
|
|
|
|
:msgData="msgData"
|
|
|
|
|
:uavStatus="uavStatus"
|
|
|
|
|
:cameraType="cameraType"
|
|
|
|
|
/>
|
|
|
|
|
<!-- 飞行控制 -->
|
|
|
|
@ -42,7 +41,6 @@
|
|
|
|
|
@changeFlightControl="changeFlightControl"
|
|
|
|
|
@clickTakeOff="clickTakeOff"
|
|
|
|
|
@clickFlyTo="clickFlyTo"
|
|
|
|
|
:uavStatus="uavStatus"
|
|
|
|
|
v-if="flightControlVisible"
|
|
|
|
|
/>
|
|
|
|
|
<!-- 一键起飞表单 -->
|
|
|
|
@ -127,9 +125,34 @@
|
|
|
|
|
onMounted(() => {
|
|
|
|
|
destroyConnection();
|
|
|
|
|
createConnection(connectCallback);
|
|
|
|
|
// setTimeout(() => {
|
|
|
|
|
// changeSelect();
|
|
|
|
|
// }, 1000);
|
|
|
|
|
setTimeout(() => {
|
|
|
|
|
const topicUrl = 'thing/product/' + airPortInfo.sn + '/osd';
|
|
|
|
|
const topicUAVUrl = 'thing/product/' + UAVinfo.sn + '/osd';
|
|
|
|
|
// 接收消息
|
|
|
|
|
getClient().on('message', (topic, message) => {
|
|
|
|
|
const rs = JSON.parse(message);
|
|
|
|
|
if (rs) {
|
|
|
|
|
msgData.value = {
|
|
|
|
|
topic: topic,
|
|
|
|
|
message: rs,
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
if (topic == topicUAVUrl) {
|
|
|
|
|
if (rs.data.latitude && rs.data.longitude) {
|
|
|
|
|
uavTrack.value = rs.data;
|
|
|
|
|
}
|
|
|
|
|
} else if (topic == topicUrl) {
|
|
|
|
|
if (rs.data.latitude && rs.data.longitude) {
|
|
|
|
|
airPort.value.latitude = rs.data.latitude;
|
|
|
|
|
airPort.value.longitude = rs.data.longitude;
|
|
|
|
|
}
|
|
|
|
|
if (rs.data.sub_device) {
|
|
|
|
|
uavStatus.value = rs.data.sub_device.device_online_status;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
}, 1000);
|
|
|
|
|
});
|
|
|
|
|
watch(
|
|
|
|
|
() => connected.value,
|
|
|
|
@ -197,12 +220,11 @@
|
|
|
|
|
};
|
|
|
|
|
const cameraType = ref('wide');
|
|
|
|
|
const changeCameraType = (value: any) => {
|
|
|
|
|
console.log(value);
|
|
|
|
|
cameraType.value = value;
|
|
|
|
|
};
|
|
|
|
|
const msgData = ref({});
|
|
|
|
|
const changeSelect = async (value?: any) => {
|
|
|
|
|
createConnection(connectCallback);
|
|
|
|
|
// createConnection(connectCallback);
|
|
|
|
|
// 页面初始化
|
|
|
|
|
// 机场直播
|
|
|
|
|
airportLiveVisible.value = false;
|
|
|
|
@ -227,33 +249,6 @@
|
|
|
|
|
const topicUAVUrl = 'thing/product/' + UAVinfo.sn + '/osd';
|
|
|
|
|
// 订阅飞行器消息
|
|
|
|
|
clientSubscribe(topicUAVUrl, { qos: 0 });
|
|
|
|
|
|
|
|
|
|
if (!value) {
|
|
|
|
|
// 接收消息
|
|
|
|
|
getClient().on('message', (topic, message) => {
|
|
|
|
|
const rs = JSON.parse(message);
|
|
|
|
|
if (rs) {
|
|
|
|
|
msgData.value = {
|
|
|
|
|
topic: topic,
|
|
|
|
|
message: rs,
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
if (topic == topicUAVUrl) {
|
|
|
|
|
if (rs.data.latitude && rs.data.longitude) {
|
|
|
|
|
uavTrack.value = rs.data;
|
|
|
|
|
}
|
|
|
|
|
} else if (topic == topicUrl) {
|
|
|
|
|
if (rs.data.latitude && rs.data.longitude) {
|
|
|
|
|
airPort.value.latitude = rs.data.latitude;
|
|
|
|
|
airPort.value.longitude = rs.data.longitude;
|
|
|
|
|
}
|
|
|
|
|
if (rs.data.sub_device) {
|
|
|
|
|
uavStatus.value = rs.data.sub_device.device_online_status;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
};
|
|
|
|
|
</script>
|
|
|
|
|
<style lang="less" scoped>
|
|
|
|
|