63 lines
2.1 KiB
JavaScript
63 lines
2.1 KiB
JavaScript
import { Client } from 'ssh2';
|
||
|
||
const conn = new Client();
|
||
|
||
conn.on('ready', () => {
|
||
console.log('=== 测试后端API(使用用户ID) ===\n');
|
||
|
||
console.log('1. 获取用户列表:');
|
||
conn.exec('curl -s http://localhost:4000/api/users', (err, stream) => {
|
||
if (err) { console.log('ERR:', err); conn.end(); return; }
|
||
let output = '';
|
||
stream.on('data', (d) => output += d.toString());
|
||
stream.on('close', () => {
|
||
try {
|
||
const result = JSON.parse(output);
|
||
const users = result.data || [];
|
||
console.log('用户列表:');
|
||
users.forEach(user => {
|
||
console.log(` - id: ${user.id}, name: ${user.name}, phone: ${user.phone}`);
|
||
});
|
||
|
||
const ningze = users.find(u => u.name === '宁赜');
|
||
if (ningze) {
|
||
console.log(`\n2. 测试查询宁赜(ID:${ningze.id})的订单:`);
|
||
conn.exec(`curl -s "http://localhost:4000/api/orders?collector=${ningze.id}"`, (err, stream2) => {
|
||
if (err) { console.log('ERR:', err); conn.end(); return; }
|
||
let output2 = '';
|
||
stream2.on('data', (d) => output2 += d.toString());
|
||
stream2.on('close', () => {
|
||
try {
|
||
const result2 = JSON.parse(output2);
|
||
console.log(`返回订单数: ${result2.data?.length || 0}`);
|
||
if (result2.data && result2.data.length > 0) {
|
||
result2.data.forEach(order => {
|
||
console.log(` - 订单${order.id}: collector=${order.collector}, collectorId=${order.collectorId}`);
|
||
});
|
||
}
|
||
} catch (e) {
|
||
console.log('输出:', output2);
|
||
}
|
||
conn.end();
|
||
});
|
||
});
|
||
}
|
||
} catch (e) {
|
||
console.log('解析错误:', e.message);
|
||
console.log('输出:', output);
|
||
conn.end();
|
||
}
|
||
});
|
||
});
|
||
});
|
||
|
||
conn.on('error', (err) => {
|
||
console.log('连接错误:', err.message);
|
||
});
|
||
|
||
conn.connect({
|
||
host: 'hs.yifenbao.cn',
|
||
port: 22,
|
||
username: 'root',
|
||
password: 'Torch1112'
|
||
}); |