100 lines
3.3 KiB
JavaScript
100 lines
3.3 KiB
JavaScript
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();
|