# 🔧 清除负载类型数据并重新加载

## ⚠️ 紧急修复步骤

如果负载类型页面仍然报错，请按照以下步骤操作：

### 步骤1：清除旧数据

**打开浏览器控制台**（按 `F12`），然后执行：

```javascript
// 清除负载类型数据
localStorage.removeItem('smart_agriculture_load_types');
console.log('✅ 负载类型数据已清除');
```

### 步骤2：强制刷新页面

按 `Ctrl + Shift + R` (Windows) 或 `Cmd + Shift + R` (Mac)

### 步骤3：验证数据

再次打开控制台，执行：

```javascript
// 查看新数据
const data = JSON.parse(localStorage.getItem('smart_agriculture_load_types') || '[]');
console.log('负载类型数据:', data);
console.log('数据条数:', data.length);
console.log('第一条数据:', data[0]);
console.log('是否有parameterDefinitions:', data[0]?.parameterDefinitions !== undefined);
```

### 步骤4：如果仍然报错

执行完整清理：

```javascript
// 清除所有可能冲突的数据
localStorage.removeItem('smart_agriculture_load_types');
localStorage.removeItem('smart_agriculture_device_types');
console.log('✅ 所有相关数据已清除');

// 刷新页面
location.reload();
```

## 📋 预期结果

清除数据后，系统会自动创建5条预置数据：

1. 北斗定位终端（2个参数）
2. 高清摄像头（2个参数）
3. 油耗传感器（1个参数）
4. 转速传感器（0个参数）
5. 温度传感器（0个参数）

## 🎯 一键修复脚本

复制以下完整脚本到控制台执行：

```javascript
(function() {
  console.log('🔧 开始修复负载类型数据...');
  
  // 清除旧数据
  localStorage.removeItem('smart_agriculture_load_types');
  localStorage.removeItem('smart_agriculture_device_types');
  console.log('✅ 旧数据已清除');
  
  // 创建标准数据
  const standardData = [
    {
      id: 'type-1',
      name: '北斗定位终端',
      manufacturer: '华为',
      model: 'BD-200',
      description: '高精度北斗定位终端，支持实时位置上报和轨迹记录',
      parameterDefinitions: [
        {
          key: 'reportInterval',
          label: '上报间隔',
          type: 'number',
          unit: '秒',
          required: true,
          defaultValue: 10,
          min: 1,
          max: 60,
          description: '位置数据上报时间间隔'
        },
        {
          key: 'accuracyMode',
          label: '精度模式',
          type: 'select',
          options: [
            { label: '高精度', value: 'high' },
            { label: '普通', value: 'normal' }
          ],
          defaultValue: 'high',
          description: '定位精度模式'
        }
      ],
      createdAt: new Date().toISOString(),
      updatedAt: new Date().toISOString()
    },
    {
      id: 'type-2',
      name: '高清摄像头',
      manufacturer: '海康威视',
      model: 'DS-2CD2345',
      description: '4K高清网络摄像头，支持夜视功能和远程监控',
      parameterDefinitions: [
        {
          key: 'resolution',
          label: '分辨率',
          type: 'select',
          options: [
            { label: '1080P', value: '1080p' },
            { label: '4K', value: '4k' }
          ],
          defaultValue: '4k'
        },
        {
          key: 'nightVision',
          label: '夜视功能',
          type: 'boolean',
          defaultValue: true
        }
      ],
      createdAt: new Date().toISOString(),
      updatedAt: new Date().toISOString()
    },
    {
      id: 'type-3',
      name: '油耗传感器',
      manufacturer: '博世',
      model: 'FS-100',
      description: '高精度油耗检测传感器，实时监测油耗数据',
      parameterDefinitions: [
        {
          key: 'sampleFrequency',
          label: '采集频率',
          type: 'number',
          unit: 'Hz',
          required: true,
          defaultValue: 1,
          min: 0.1,
          max: 10,
          description: '数据采集频率'
        }
      ],
      createdAt: new Date().toISOString(),
      updatedAt: new Date().toISOString()
    },
    {
      id: 'type-4',
      name: '转速传感器',
      manufacturer: '西门子',
      model: 'RS-500',
      description: '发动机转速实时监测传感器，支持异常报警',
      parameterDefinitions: [],
      createdAt: new Date().toISOString(),
      updatedAt: new Date().toISOString()
    },
    {
      id: 'type-5',
      name: '温度传感器',
      manufacturer: '霍尼韦尔',
      model: 'TS-300',
      description: '发动机温度监测传感器，支持高低温报警',
      parameterDefinitions: [],
      createdAt: new Date().toISOString(),
      updatedAt: new Date().toISOString()
    }
  ];
  
  // 保存新数据
  localStorage.setItem('smart_agriculture_load_types', JSON.stringify(standardData));
  console.log('✅ 标准数据已创建');
  console.log('📊 数据条数:', standardData.length);
  
  // 验证数据
  const saved = JSON.parse(localStorage.getItem('smart_agriculture_load_types'));
  console.log('✅ 数据验证通过');
  console.log('第一条数据:', saved[0]);
  
  // 刷新页面
  console.log('🔄 即将刷新页面...');
  setTimeout(() => {
    location.reload();
  }, 1000);
})();
```

## ❓ 常见问题

### Q: 为什么会出现这个错误？

**A**: 因为localStorage中可能存储了旧版本的数据，缺少`parameterDefinitions`字段。

### Q: 清除数据会丢失我的数据吗？

**A**: 只会清除负载类型数据，不会影响其他功能的数据。如果有重要数据，请先备份。

### Q: 如何备份数据？

**A**: 在清除前执行：
```javascript
const backup = localStorage.getItem('smart_agriculture_load_types');
console.log('备份数据:', backup);
// 复制控制台输出的数据保存到文本文件
```

### Q: 如何恢复备份？

**A**: 执行：
```javascript
const backupData = '这里粘贴备份的JSON数据';
localStorage.setItem('smart_agriculture_load_types', backupData);
location.reload();
```

## 🔍 调试信息

如果问题仍然存在，请提供以下信息：

```javascript
// 复制此脚本到控制台执行，然后发送输出结果
console.log('=== 调试信息 ===');
console.log('1. localStorage数据:');
console.log(localStorage.getItem('smart_agriculture_load_types'));
console.log('\n2. 浏览器信息:');
console.log('User Agent:', navigator.userAgent);
console.log('\n3. 当前URL:');
console.log(window.location.href);
```

---

**创建时间**: 2025-10-17  
**用途**: 修复负载类型数据错误  
**优先级**: 🔴 高
