/** * 测试API响应 * @file test-api-response.js * @description 测试智能项圈预警API是否返回正确的数据 */ const axios = require('axios'); const BASE_URL = 'http://localhost:5350/api/smart-alerts/public'; async function testApiResponse() { console.log('🔍 测试智能项圈预警API响应...\n'); try { // 1. 测试获取预警列表 console.log('1. 测试获取预警列表...'); const listResponse = await axios.get(`${BASE_URL}/collar`, { params: { page: 1, limit: 5 } }); console.log('API响应状态:', listResponse.status); console.log('API响应数据:', JSON.stringify(listResponse.data, null, 2)); if (listResponse.data.success) { const data = listResponse.data.data || []; console.log(`\n数据条数: ${data.length}`); // 查找项圈22012000107的数据 const targetCollar = data.find(item => item.collarNumber == 22012000107); if (targetCollar) { console.log('\n找到项圈22012000107的数据:'); console.log('电量:', targetCollar.battery); console.log('温度:', targetCollar.temperature); console.log('预警类型:', targetCollar.alertType); console.log('预警级别:', targetCollar.alertLevel); console.log('完整数据:', JSON.stringify(targetCollar, null, 2)); } else { console.log('\n未找到项圈22012000107的数据'); console.log('可用的项圈编号:'); data.forEach(item => { console.log(`- ${item.collarNumber}`); }); } } // 2. 测试搜索特定项圈 console.log('\n2. 测试搜索项圈22012000107...'); const searchResponse = await axios.get(`${BASE_URL}/collar`, { params: { search: '22012000107', page: 1, limit: 10 } }); if (searchResponse.data.success) { const searchData = searchResponse.data.data || []; console.log(`搜索到 ${searchData.length} 条数据`); searchData.forEach((item, index) => { console.log(`\n搜索结果${index + 1}:`); console.log('项圈编号:', item.collarNumber); console.log('电量:', item.battery); console.log('温度:', item.temperature); console.log('预警类型:', item.alertType); console.log('预警级别:', item.alertLevel); }); } // 3. 测试统计数据 console.log('\n3. 测试统计数据...'); const statsResponse = await axios.get(`${BASE_URL}/collar/stats`); console.log('统计数据:', JSON.stringify(statsResponse.data, null, 2)); } catch (error) { console.error('❌ API测试失败:', error.message); if (error.response) { console.error('响应状态:', error.response.status); console.error('响应数据:', error.response.data); } } } // 运行测试 testApiResponse().catch(console.error);