Files
xiaomubiao-master/PURE_MANUAL_DEBUG_GUIDE.md
2026-05-22 16:13:20 +08:00

152 lines
4.0 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 🎮 纯手动调试模式使用指南
## ✅ 完成修改
我已经按照您的要求,**完全移除了自动更新功能**,现在系统运行在**纯手动调试模式**下。
## 🔧 修改内容
### **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. **享受**完全可控的调试环境
现在系统完全按照您的要求运行:**没有自动更新,只有手动调试**!🎯🛠️✨