Files
nxxmdata/backend/test-api-response.js
2025-09-22 19:09:45 +08:00

89 lines
2.9 KiB
JavaScript

/**
* 测试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);