143 lines
3.6 KiB
JavaScript
143 lines
3.6 KiB
JavaScript
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); |