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

74 lines
2.7 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

/**
* API访问测试脚本
* @file test-api-access.js
* @description 测试API接口是否正常访问
*/
const axios = require('axios');
async function testApiAccess() {
console.log('🔍 测试API访问...\n');
const baseUrl = 'http://localhost:5350';
try {
// 1. 测试服务器根路径
console.log('1. 测试服务器根路径...');
const rootResponse = await axios.get(`${baseUrl}/`);
console.log('✅ 服务器根路径正常:', rootResponse.data);
// 2. 测试API文档访问
console.log('\n2. 测试API文档访问...');
const docsResponse = await axios.get(`${baseUrl}/api-docs/`);
console.log('✅ API文档页面正常访问');
// 3. 测试Swagger JSON
console.log('\n3. 测试Swagger JSON...');
const swaggerResponse = await axios.get(`${baseUrl}/api-docs/swagger.json`);
console.log('✅ Swagger JSON正常:', swaggerResponse.data.info.title);
// 4. 测试智能耳标预警API
console.log('\n4. 测试智能耳标预警API...');
const eartagStatsResponse = await axios.get(`${baseUrl}/api/smart-alerts/public/eartag/stats`);
console.log('✅ 智能耳标预警统计API正常:', eartagStatsResponse.data.success);
// 5. 测试智能项圈预警API
console.log('\n5. 测试智能项圈预警API...');
const collarStatsResponse = await axios.get(`${baseUrl}/api/smart-alerts/public/collar/stats`);
console.log('✅ 智能项圈预警统计API正常:', collarStatsResponse.data.success);
// 6. 检查Swagger JSON中的路径
console.log('\n6. 检查Swagger JSON中的路径...');
const paths = Object.keys(swaggerResponse.data.paths || {});
const smartAlertPaths = paths.filter(path => path.includes('/smart-alerts/public'));
console.log('📋 找到的智能预警API路径:');
smartAlertPaths.forEach(path => {
console.log(` - ${path}`);
});
if (smartAlertPaths.length === 0) {
console.log('❌ 未找到智能预警API路径可能是Swagger配置问题');
} else {
console.log(`✅ 找到 ${smartAlertPaths.length} 个智能预警API路径`);
}
} catch (error) {
console.error('❌ 测试失败:', error.message);
if (error.code === 'ECONNREFUSED') {
console.log('💡 建议: 请确保服务器已启动 (npm start)');
} else if (error.response) {
console.log('💡 建议: 检查API路径和端口配置');
console.log(' 状态码:', error.response.status);
console.log(' 响应:', error.response.data);
}
}
}
// 如果直接运行此脚本
if (require.main === module) {
testApiAccess().catch(console.error);
}
module.exports = { testApiAccess };