const axios = require('axios'); const API_BASE_URL = 'http://localhost:5352/api/device-warning'; const api = axios.create({ baseURL: API_BASE_URL, timeout: 10000, headers: { 'Content-Type': 'application/json', 'Authorization': 'Bearer test-token' } }); async function testDeviceWarningAPI() { console.log('开始测试设备预警API...\n'); try { // 测试获取预警统计 console.log('1. 测试获取预警统计...'); const statsResponse = await api.get('/stats'); console.log('预警统计:', statsResponse.data); console.log('✅ 获取预警统计成功\n'); // 测试获取设备预警列表 console.log('2. 测试获取设备预警列表...'); const listResponse = await api.get('/', { params: { page: 1, pageSize: 10, deviceType: '智能项圈' } }); console.log('设备预警列表:', listResponse.data); console.log('✅ 获取设备预警列表成功\n'); // 测试根据ID获取详情 if (listResponse.data.data && listResponse.data.data.list.length > 0) { const firstWarning = listResponse.data.data.list[0]; console.log('3. 测试获取设备预警详情...'); const detailResponse = await api.get(`/${firstWarning.id}`); console.log('设备预警详情:', detailResponse.data); console.log('✅ 获取设备预警详情成功\n'); // 测试更新预警状态 console.log('4. 测试更新预警状态...'); const updateResponse = await api.patch(`/${firstWarning.id}/status`, { status: 'resolved', resolvedBy: '测试用户' }); console.log('更新预警状态:', updateResponse.data); console.log('✅ 更新预警状态成功\n'); } // 测试创建新的设备预警 console.log('5. 测试创建设备预警...'); const createData = { farmName: '测试养殖场', farmerName: '测试养殖户', phone: '138****8888', deviceType: '智能耳标', deviceNumber: 'TEST001', alertType: '设备离线', alertLevel: 'high', description: '测试预警', location: '测试位置', batteryLevel: 20, signalStrength: 30, temperature: 25.5 }; const createResponse = await api.post('/', createData); console.log('创建设备预警:', createResponse.data); console.log('✅ 创建设备预警成功\n'); // 测试更新设备预警 if (createResponse.data.data) { console.log('6. 测试更新设备预警...'); const updateData = { description: '更新后的测试预警', batteryLevel: 15 }; const updateResponse = await api.put(`/${createResponse.data.data.id}`, updateData); console.log('更新设备预警:', updateResponse.data); console.log('✅ 更新设备预警成功\n'); // 测试删除设备预警 console.log('7. 测试删除设备预警...'); const deleteResponse = await api.delete(`/${createResponse.data.data.id}`); console.log('删除设备预警:', deleteResponse.data); console.log('✅ 删除设备预警成功\n'); } console.log('🎉 所有设备预警API测试通过!'); } catch (error) { console.error('❌ API测试失败:', error.response ? error.response.data : error.message); } } testDeviceWarningAPI();