备份:修复前完整项目快照 2026-04-19
This commit is contained in:
@@ -0,0 +1,77 @@
|
||||
const http = require('http');
|
||||
|
||||
const BASE_URL = 'http://localhost:3002';
|
||||
|
||||
function testAPI(name, endpoint) {
|
||||
return new Promise((resolve) => {
|
||||
const req = http.get(`${BASE_URL}${endpoint}`, (res) => {
|
||||
let data = '';
|
||||
res.on('data', chunk => data += chunk);
|
||||
res.on('end', () => {
|
||||
try {
|
||||
const json = JSON.parse(data);
|
||||
resolve({
|
||||
name,
|
||||
endpoint,
|
||||
status: res.statusCode,
|
||||
success: json.success,
|
||||
dataCount: Array.isArray(json.data) ? json.data.length : (json.data ? Object.keys(json.data).length : 0)
|
||||
});
|
||||
} catch (e) {
|
||||
resolve({ name, endpoint, status: res.statusCode, success: false, error: e.message });
|
||||
}
|
||||
});
|
||||
});
|
||||
req.on('error', (e) => {
|
||||
resolve({ name, endpoint, status: 'ERROR', success: false, error: e.message });
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
async function runTests() {
|
||||
console.log('开始测试所有API...\n');
|
||||
|
||||
const tests = [
|
||||
{ name: '预算报价', endpoint: '/api/budget-projects' },
|
||||
{ name: '施工管理', endpoint: '/api/construction/my-projects' },
|
||||
{ name: '预支款', endpoint: '/api/advances' },
|
||||
{ name: '报销', endpoint: '/api/reimbursements' },
|
||||
{ name: '付款申请', endpoint: '/api/payment-requests' },
|
||||
{ name: '核销', endpoint: '/api/verifications' },
|
||||
{ name: '采购申请', endpoint: '/api/purchase-requests' },
|
||||
{ name: '汇率最新', endpoint: '/api/exchange-rates/latest' },
|
||||
{ name: '汇率历史', endpoint: '/api/exchange-rates/history' },
|
||||
{ name: '项目', endpoint: '/api/projects' },
|
||||
{ name: '分包商', endpoint: '/api/subcontractors' },
|
||||
{ name: '供应商', endpoint: '/api/suppliers' },
|
||||
{ name: '客户', endpoint: '/api/customers' }
|
||||
];
|
||||
|
||||
const results = [];
|
||||
|
||||
for (const test of tests) {
|
||||
const result = await testAPI(test.name, test.endpoint);
|
||||
results.push(result);
|
||||
const status = result.success ? '✅' : '❌';
|
||||
console.log(`${status} ${result.name}: ${result.endpoint} - 状态码: ${result.status}, 数据量: ${result.dataCount || 0}`);
|
||||
}
|
||||
|
||||
console.log('\n========================================');
|
||||
console.log('测试结果汇总');
|
||||
console.log('========================================');
|
||||
|
||||
const successCount = results.filter(r => r.success).length;
|
||||
const failCount = results.filter(r => !r.success).length;
|
||||
|
||||
console.log(`\n成功: ${successCount}/${results.length}`);
|
||||
console.log(`失败: ${failCount}/${results.length}\n`);
|
||||
|
||||
if (failCount > 0) {
|
||||
console.log('失败的API:');
|
||||
results.filter(r => !r.success).forEach(r => {
|
||||
console.log(` - ${r.name}: ${r.error || '未知错误'}`);
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
runTests();
|
||||
Reference in New Issue
Block a user