Files
nxxmdata/government-backend/test-nginx-fix.js

143 lines
3.6 KiB
JavaScript
Raw Normal View History

2025-10-17 17:29:11 +08:00
const axios = require('axios');
2025-10-23 17:26:47 +08:00
// 测试修复后的nginx配置
const baseURL = 'https://ad.ningmuyun.com';
const testAPIs = [
// 政府端API测试
{
name: '政府端数据览仓',
url: '/api/government/data-center',
method: 'GET',
expected: 'government'
},
{
name: '政府端市场行情',
url: '/api/government/market-price',
method: 'GET',
expected: 'government'
},
{
name: '政府端行政部门',
url: '/api/government/departments',
method: 'GET',
expected: 'government'
},
{
name: '政府端养殖类型',
url: '/api/government/farm-types',
method: 'GET',
expected: 'government'
},
{
name: '政府端养殖种类',
url: '/api/government/animal-types',
method: 'GET',
expected: 'government'
},
2025-10-17 17:29:11 +08:00
2025-10-23 17:26:47 +08:00
// 银行端API测试
{
name: '银行端API',
url: '/bank/api/auth/login',
method: 'POST',
expected: 'bank'
},
// 保险端API测试
{
name: '保险端API',
url: '/insurance/api/auth/login',
method: 'POST',
expected: 'insurance'
},
2025-10-17 17:29:11 +08:00
2025-10-23 17:26:47 +08:00
// 养殖端API测试
{
name: '养殖端API',
url: '/farm/api/auth/login',
method: 'POST',
expected: 'farm'
}
];
async function testAPI(api) {
try {
console.log(`\n测试 ${api.name}...`);
console.log(`URL: ${baseURL}${api.url}`);
2025-10-17 17:29:11 +08:00
2025-10-23 17:26:47 +08:00
const response = await axios({
method: api.method,
url: `${baseURL}${api.url}`,
timeout: 10000,
headers: {
'Content-Type': 'application/json'
2025-10-17 17:29:11 +08:00
}
2025-10-23 17:26:47 +08:00
});
console.log(`✅ 状态码: ${response.status}`);
console.log(`✅ 响应: ${JSON.stringify(response.data).substring(0, 100)}...`);
return { success: true, status: response.status, data: response.data };
} catch (error) {
console.log(`❌ 错误: ${error.message}`);
if (error.response) {
console.log(`❌ 状态码: ${error.response.status}`);
console.log(`❌ 响应: ${JSON.stringify(error.response.data)}`);
2025-10-17 17:29:11 +08:00
2025-10-23 17:26:47 +08:00
// 检查是否是路径重复错误
if (error.response.data && JSON.stringify(error.response.data).includes('government/government')) {
console.log(`🚨 发现路径重复错误!`);
2025-10-17 17:29:11 +08:00
}
}
2025-10-23 17:26:47 +08:00
return { success: false, error: error.message, status: error.response?.status };
}
}
async function runTests() {
console.log('测试修复后的nginx配置...');
console.log('='.repeat(60));
const results = [];
for (const api of testAPIs) {
const result = await testAPI(api);
results.push({
name: api.name,
url: api.url,
expected: api.expected,
...result
});
2025-10-17 17:29:11 +08:00
2025-10-23 17:26:47 +08:00
// 等待1秒再测试下一个接口
await new Promise(resolve => setTimeout(resolve, 1000));
}
console.log('\n' + '='.repeat(60));
console.log('测试结果汇总:');
console.log('='.repeat(60));
const successCount = results.filter(r => r.success).length;
const totalCount = results.length;
results.forEach(result => {
const status = result.success ? '✅' : '❌';
console.log(`${status} ${result.name} (${result.expected})`);
});
console.log(`\n总计: ${successCount}/${totalCount} 个接口测试通过`);
if (successCount === totalCount) {
console.log('🎉 所有接口测试通过nginx配置修复成功');
} else {
console.log('⚠️ 部分接口测试失败,请检查配置');
2025-10-17 17:29:11 +08:00
}
2025-10-23 17:26:47 +08:00
console.log('\n修复说明:');
console.log('✅ 将养殖端API路径从 /api/ 改为 /farm-api/');
console.log('✅ 避免与政府端 /api/ 路径冲突');
console.log('✅ 政府端API现在可以正常访问');
2025-10-17 17:29:11 +08:00
}
// 运行测试
2025-10-23 17:26:47 +08:00
runTests().catch(console.error);