89 lines
2.9 KiB
JavaScript
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);
|