152 lines
4.0 KiB
Markdown
152 lines
4.0 KiB
Markdown
# 🎮 纯手动调试模式使用指南
|
||
|
||
## ✅ 完成修改
|
||
|
||
我已经按照您的要求,**完全移除了自动更新功能**,现在系统运行在**纯手动调试模式**下。
|
||
|
||
## 🔧 修改内容
|
||
|
||
### **1. 移除自动定时器**
|
||
- ✅ 删除了每2秒自动更新的 `setInterval` 定时器
|
||
- ✅ 移除了 `manualDebugMode` 开关逻辑
|
||
- ✅ 清理了重复的设备更新代码
|
||
|
||
### **2. 保留手动调试功能**
|
||
- ✅ 提取了设备更新核心逻辑到 `updateDeviceDataOnce()` 函数
|
||
- ✅ 保留了所有手动调试命令
|
||
- ✅ 优化了日志输出
|
||
|
||
### **3. 系统启动提示**
|
||
现在系统启动时会显示:
|
||
```
|
||
📋 自动更新已禁用,仅支持手动调试模式
|
||
🎮 使用以下命令进行手动调试:
|
||
- manualUpdateDevices() : 手动更新一次所有设备
|
||
- testQB303Data() : 测试QB303设备数据
|
||
- forceRefreshQB303() : 强制刷新QB303设备显示
|
||
```
|
||
|
||
## 🎯 可用的手动调试命令
|
||
|
||
### **基础设备管理**
|
||
```javascript
|
||
// 手动更新一次所有设备(无人机、无人车、QB303等)
|
||
manualUpdateDevices()
|
||
```
|
||
|
||
### **QB303设备专用**
|
||
```javascript
|
||
// 测试QB303设备数据(发送模拟WebSocket数据)
|
||
testQB303Data()
|
||
|
||
// 强制刷新QB303设备显示(清理重建)
|
||
forceRefreshQB303()
|
||
|
||
// 测试多个QB303设备
|
||
testMultipleQB303Data()
|
||
```
|
||
|
||
### **地图控制**
|
||
```javascript
|
||
// 清理地图上所有设备标记
|
||
clearAllDeviceMarkers()
|
||
|
||
// 重新初始化所有设备标记
|
||
initAllDeviceMarkers()
|
||
|
||
// 飞行到QB303设备位置
|
||
window.m3Data.map.flyTo({
|
||
destination: Cesium.Cartesian3.fromDegrees(112.895, 28.206, 1000)
|
||
});
|
||
```
|
||
|
||
### **数据检查**
|
||
```javascript
|
||
// 检查QB303设备数据
|
||
console.log('QB303设备数据:', window.m3Data.qb303DeviceData);
|
||
|
||
// 检查localStorage数据
|
||
console.log('本地存储数据:', JSON.parse(localStorage.getItem("index-otherEquipmentList") || "[]"));
|
||
|
||
// 检查图形图层
|
||
console.log('图形图层数量:', window.m3Data.graphicLayer.length);
|
||
```
|
||
|
||
## 🚀 现在的工作流程
|
||
|
||
### **1. 系统启动**
|
||
- 🛑 **不会有任何自动更新**
|
||
- 📋 系统提示手动调试模式已激活
|
||
- 🎮 显示可用的调试命令
|
||
|
||
### **2. 手动调试QB303设备**
|
||
```javascript
|
||
// 步骤1:发送测试数据
|
||
testQB303Data()
|
||
|
||
// 步骤2:如果不显示,强制刷新
|
||
forceRefreshQB303()
|
||
|
||
// 步骤3:手动更新设备(可选)
|
||
manualUpdateDevices()
|
||
|
||
// 步骤4:飞行到设备位置查看
|
||
window.m3Data.map.flyTo({
|
||
destination: Cesium.Cartesian3.fromDegrees(112.8945530952381, 28.20648476190476, 1000)
|
||
});
|
||
```
|
||
|
||
### **3. 按需更新其他设备**
|
||
```javascript
|
||
// 只有在需要时才手动更新
|
||
manualUpdateDevices()
|
||
```
|
||
|
||
## 📊 设备类型覆盖
|
||
|
||
`manualUpdateDevices()` 命令会更新以下所有设备类型:
|
||
|
||
- ✅ **无人机** (drone)
|
||
- ✅ **无人车** (rotDog)
|
||
- ✅ **其他设备** (deviceAir)
|
||
- ✅ **遥控器** (remoteControl)
|
||
- ✅ **巡飞弹** (cruiseMissile)
|
||
- ✅ **无人车PTZT** (wrcPtzt)
|
||
- ✅ **Y16设备** (hitDroneY)
|
||
- ✅ **QB303设备** (qb303DeviceData)
|
||
|
||
## 🎯 调试优势
|
||
|
||
### **完全控制**
|
||
- 🎮 您完全控制何时更新设备数据
|
||
- 🔍 可以精确观察每个步骤的效果
|
||
- 🛠️ 不会被后台自动更新干扰
|
||
|
||
### **性能优化**
|
||
- ⚡ 没有后台定时器消耗资源
|
||
- 💾 减少不必要的数据处理
|
||
- 🔋 降低系统负载
|
||
|
||
### **调试便利**
|
||
- 📝 清晰的日志输出
|
||
- 🎯 专注于特定问题
|
||
- 🔧 灵活的测试方式
|
||
|
||
## 🚨 重要提醒
|
||
|
||
1. **现在没有自动更新**:设备位置不会自动刷新
|
||
2. **需要手动触发**:使用 `manualUpdateDevices()` 更新设备
|
||
3. **WebSocket仍然工作**:QB303设备数据仍会通过WebSocket接收并存储到localStorage
|
||
4. **地图显示需要手动刷新**:使用调试命令更新地图显示
|
||
|
||
## 🎮 快速开始
|
||
|
||
现在您可以:
|
||
|
||
1. **刷新页面**看到新的启动提示
|
||
2. **执行** `testQB303Data()` 测试QB303设备
|
||
3. **使用** `manualUpdateDevices()` 按需更新设备
|
||
4. **享受**完全可控的调试环境
|
||
|
||
现在系统完全按照您的要求运行:**没有自动更新,只有手动调试**!🎯🛠️✨
|