Merge branch 'main' of ssh://git.wash-painting.cn:2222/cg/-----
This commit is contained in:
10
pnpm-lock.yaml
generated
10
pnpm-lock.yaml
generated
@@ -18,8 +18,8 @@ importers:
|
|||||||
specifier: ^2.3.2
|
specifier: ^2.3.2
|
||||||
version: 2.3.2(vue@3.5.25)
|
version: 2.3.2(vue@3.5.25)
|
||||||
DroneCtrl:
|
DroneCtrl:
|
||||||
specifier: 1.0.1
|
specifier: 1.0.2
|
||||||
version: 1.0.1
|
version: 1.0.2
|
||||||
axios:
|
axios:
|
||||||
specifier: ^1.13.2
|
specifier: ^1.13.2
|
||||||
version: 1.13.2
|
version: 1.13.2
|
||||||
@@ -252,8 +252,8 @@ packages:
|
|||||||
'@vueuse/shared@9.13.0':
|
'@vueuse/shared@9.13.0':
|
||||||
resolution: {integrity: sha512-UrnhU+Cnufu4S6JLCPZnkWh0WwZGUp72ktOF2DFptMlOs3TOdVv8xJN53zhHGARmVOsz5KqOls09+J1NR6sBKw==}
|
resolution: {integrity: sha512-UrnhU+Cnufu4S6JLCPZnkWh0WwZGUp72ktOF2DFptMlOs3TOdVv8xJN53zhHGARmVOsz5KqOls09+J1NR6sBKw==}
|
||||||
|
|
||||||
DroneCtrl@1.0.1:
|
DroneCtrl@1.0.2:
|
||||||
resolution: {integrity: sha512-3ibzb0sXZGXAkbSTg4Zb8heTx6ASBkWaI2yAO8V+4/Y2ygULruPCzb8o3c89wWlnfQQ/AALWlNmkpVV/ezBujQ==}
|
resolution: {integrity: sha512-EQWN1q8S4mN64gMlBQkQyJIYSBVE75YLPsYI+L/67TPypOyGWnI/kxCYMPY1hNVB8sIxJO0Z3DU3wlKxwg4Qiw==}
|
||||||
|
|
||||||
async-validator@4.2.5:
|
async-validator@4.2.5:
|
||||||
resolution: {integrity: sha512-7HhHjtERjqlNbZtqNqy2rckN/SpOOlmDliet+lP7k+eKZEjPk3DgyeU9lIXLdeLz0uBbbVp+9Qdow9wJWgwwfg==}
|
resolution: {integrity: sha512-7HhHjtERjqlNbZtqNqy2rckN/SpOOlmDliet+lP7k+eKZEjPk3DgyeU9lIXLdeLz0uBbbVp+9Qdow9wJWgwwfg==}
|
||||||
@@ -781,7 +781,7 @@ snapshots:
|
|||||||
- '@vue/composition-api'
|
- '@vue/composition-api'
|
||||||
- vue
|
- vue
|
||||||
|
|
||||||
DroneCtrl@1.0.1: {}
|
DroneCtrl@1.0.2: {}
|
||||||
|
|
||||||
async-validator@4.2.5: {}
|
async-validator@4.2.5: {}
|
||||||
|
|
||||||
|
|||||||
75
src/App.vue
75
src/App.vue
@@ -427,6 +427,7 @@ const wsConnected = ref(false)
|
|||||||
const droneData = ref(null)
|
const droneData = ref(null)
|
||||||
const isFlying = ref(false)
|
const isFlying = ref(false)
|
||||||
const droneMarker = ref(null)
|
const droneMarker = ref(null)
|
||||||
|
const drone2Marker = ref(null)
|
||||||
let wsClient = null
|
let wsClient = null
|
||||||
let mockDataGenerator = null
|
let mockDataGenerator = null
|
||||||
const isInFence = ref(true)
|
const isInFence = ref(true)
|
||||||
@@ -558,42 +559,43 @@ let conn = null;
|
|||||||
// 初始化WebSocket连接
|
// 初始化WebSocket连接
|
||||||
const initWebSocket = () => {
|
const initWebSocket = () => {
|
||||||
// 使用模拟数据生成器(因为目前没有真实WebSocket服务器)
|
// 使用模拟数据生成器(因为目前没有真实WebSocket服务器)
|
||||||
mockDataGenerator = new MockWebSocketDataGenerator({
|
// mockDataGenerator = new MockWebSocketDataGenerator({
|
||||||
interval: 500, // 内部500ms生成一次数据(用于平滑)
|
// interval: 500, // 内部500ms生成一次数据(用于平滑)
|
||||||
startLat: 39.90923, // 北京天安门附近
|
// startLat: 39.90923, // 北京天安门附近
|
||||||
startLng: 116.397428,
|
// startLng: 116.397428,
|
||||||
speed: 0.00005 // 移动速度
|
// speed: 0.00005 // 移动速度
|
||||||
})
|
// })
|
||||||
|
|
||||||
// 监听数据(使用节流,大幅降低更新频率)
|
// // 监听数据(使用节流,大幅降低更新频率)
|
||||||
mockDataGenerator.start((data) => {
|
// mockDataGenerator.start((data) => {
|
||||||
const now = Date.now()
|
// const now = Date.now()
|
||||||
// 只更新数据状态,不触发地图更新
|
// // 只更新数据状态,不触发地图更新
|
||||||
droneData.value = data
|
// droneData.value = data
|
||||||
|
|
||||||
// 节流:降低地图更新频率
|
// // 节流:降低地图更新频率
|
||||||
if (now - lastUpdateTime >= UPDATE_INTERVAL) {
|
// if (now - lastUpdateTime >= UPDATE_INTERVAL) {
|
||||||
lastUpdateTime = now
|
// lastUpdateTime = now
|
||||||
handleDroneData(data)
|
// handleDroneData(data)
|
||||||
}
|
// }
|
||||||
})
|
// })
|
||||||
|
|
||||||
wsConnected.value = true
|
wsConnected.value = true
|
||||||
ElMessage.success('无人机数据连接成功(模拟模式)')
|
ElMessage.success('无人机数据连接成功')
|
||||||
}
|
}
|
||||||
|
|
||||||
// 起飞处理
|
// 起飞处理
|
||||||
const handleTakeoff = () => {
|
const handleTakeoff = () => {
|
||||||
// 检查是否已有围栏
|
// 检查是否已有围栏
|
||||||
if (fences.value.length === 0) {
|
// if (fences.value.length === 0) {
|
||||||
ElMessage.warning('请先绘制电子围栏后再起飞')
|
// ElMessage.warning('请先绘制电子围栏后再起飞')
|
||||||
return
|
// return
|
||||||
}
|
// }
|
||||||
|
|
||||||
// 如果未连接,先连接
|
// // 如果未连接,先连接
|
||||||
if (!wsConnected.value) {
|
// if (!wsConnected.value) {
|
||||||
initWebSocket()
|
// initWebSocket()
|
||||||
}
|
// }
|
||||||
|
ctrl.TakeoffAndAutoExecTask({});
|
||||||
|
|
||||||
// 设置飞行状态
|
// 设置飞行状态
|
||||||
isFlying.value = true
|
isFlying.value = true
|
||||||
@@ -622,7 +624,22 @@ const toggleWebSocket = () => {
|
|||||||
initWebSocket()
|
initWebSocket()
|
||||||
conn = ctrl.Message();
|
conn = ctrl.Message();
|
||||||
conn.onDroneGPS = (data) => {
|
conn.onDroneGPS = (data) => {
|
||||||
console.log(data);
|
// console.log(data);
|
||||||
|
const drone1 = data.drone_1;
|
||||||
|
const drone2 = data.drone_2;
|
||||||
|
const point = gcoord.transform(
|
||||||
|
[drone1.longitude, drone1.latitude],
|
||||||
|
gcoord.WGS84, // 当前坐标系
|
||||||
|
gcoord.GCJ02, // 目标坐标系
|
||||||
|
);
|
||||||
|
const point2 = gcoord.transform(
|
||||||
|
[drone2.longitude, drone2.latitude],
|
||||||
|
gcoord.WGS84, // 当前坐标系
|
||||||
|
gcoord.GCJ02, // 目标坐标系
|
||||||
|
);
|
||||||
|
console.log(point, point2);
|
||||||
|
// updateDroneMarker(point[0], point[1], drone1.heading);
|
||||||
|
// updateDrone2Marker(point2[0], point2[1], drone2.heading);
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -1466,6 +1483,10 @@ onUnmounted(() => {
|
|||||||
map?.remove(droneMarker.value)
|
map?.remove(droneMarker.value)
|
||||||
droneMarker.value = null
|
droneMarker.value = null
|
||||||
}
|
}
|
||||||
|
if (drone2Marker.value) {
|
||||||
|
map?.remove(drone2Marker.value)
|
||||||
|
drone2Marker.value = null
|
||||||
|
}
|
||||||
|
|
||||||
if (mouseTool) {
|
if (mouseTool) {
|
||||||
mouseTool.close()
|
mouseTool.close()
|
||||||
|
|||||||
@@ -98,7 +98,9 @@ function upload(url, params) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// export let host = `${window.location.protocol}//${window.location.host}`;
|
// export let host = `${window.location.protocol}//${window.location.host}`;
|
||||||
|
// export let host = "http://192.168.43.98:5678";
|
||||||
export let host = "http://192.168.3.81:5678";
|
export let host = "http://192.168.3.81:5678";
|
||||||
|
// export let host = "http://127.0.0.1:5678";
|
||||||
|
|
||||||
export const getConfig = () => {
|
export const getConfig = () => {
|
||||||
return {
|
return {
|
||||||
|
|||||||
@@ -5,4 +5,7 @@ import vue from '@vitejs/plugin-vue'
|
|||||||
export default defineConfig({
|
export default defineConfig({
|
||||||
plugins: [vue()],
|
plugins: [vue()],
|
||||||
base: "/web/",
|
base: "/web/",
|
||||||
|
optimizeDeps: {
|
||||||
|
exclude: ['DroneCtrl']
|
||||||
|
}
|
||||||
})
|
})
|
||||||
|
|||||||
Reference in New Issue
Block a user