From bf483860821fb7a3dbeb9c76192c1c1e3e35f1df Mon Sep 17 00:00:00 2001
From: 罗广辉 <guanghui.luo@foxmail.com>
Date: Thu, 17 Apr 2025 18:14:13 +0800
Subject: [PATCH] feat: 控制台云台回中功能
---
src/hooks/controlDrone/useManualControl.js | 20 ++++++++++++--------
1 files changed, 12 insertions(+), 8 deletions(-)
diff --git a/src/hooks/controlDrone/useManualControl.js b/src/hooks/controlDrone/useManualControl.js
index 4dc12ff..f1295a2 100644
--- a/src/hooks/controlDrone/useManualControl.js
+++ b/src/hooks/controlDrone/useManualControl.js
@@ -40,7 +40,6 @@
let genPortOne = true //是一代机场
const mqttHooks = useMqtt(mqttState,deviceTopicInfo)
let seq = 0
- let throttledPtz = null
function handlePublish(params) {
const body = {
@@ -131,24 +130,29 @@
activeCodeKey.value = keyCode
break
case 'ArrowUp':
- ptzThrottle[0]()
+ if (activeCodeKey.value === keyCode) return
+ myInterval = setInterval(()=>ptzControl('up'), 50)
+ activeCodeKey.value = keyCode
break
case 'ArrowDown':
- ptzThrottle[1]()
+ if (activeCodeKey.value === keyCode) return
+ myInterval = setInterval(()=>ptzControl('down'), 50)
+ activeCodeKey.value = keyCode
break
case 'ArrowLeft':
- ptzThrottle[2]()
+ if (activeCodeKey.value === keyCode) return
+ myInterval = setInterval(()=>ptzControl('left'), 50)
+ activeCodeKey.value = keyCode
break
case 'ArrowRight':
- ptzThrottle[3]()
+ if (activeCodeKey.value === keyCode) return
+ myInterval = setInterval(()=>ptzControl('right'), 50)
+ activeCodeKey.value = keyCode
break
default:
break
}
}
-
- // 云台控制节流list
- const ptzThrottle = ['up','down','left','right'].map(key => throttle(()=>ptzControl(key), 500))
// 云台上下左右
function ptzControl(key) {
--
Gitblit v1.9.3