Files
nxxmdata/government-backend/test-nginx-fix.js
2025-10-23 17:26:47 +08:00

143 lines
3.6 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.

const axios = require('axios');
// 测试修复后的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'
},
// 银行端API测试
{
name: '银行端API',
url: '/bank/api/auth/login',
method: 'POST',
expected: 'bank'
},
// 保险端API测试
{
name: '保险端API',
url: '/insurance/api/auth/login',
method: 'POST',
expected: 'insurance'
},
// 养殖端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}`);
const response = await axios({
method: api.method,
url: `${baseURL}${api.url}`,
timeout: 10000,
headers: {
'Content-Type': 'application/json'
}
});
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)}`);
// 检查是否是路径重复错误
if (error.response.data && JSON.stringify(error.response.data).includes('government/government')) {
console.log(`🚨 发现路径重复错误!`);
}
}
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
});
// 等待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('⚠️ 部分接口测试失败,请检查配置');
}
console.log('\n修复说明:');
console.log('✅ 将养殖端API路径从 /api/ 改为 /farm-api/');
console.log('✅ 避免与政府端 /api/ 路径冲突');
console.log('✅ 政府端API现在可以正常访问');
}
// 运行测试
runTests().catch(console.error);