const http = require('http'); console.log('测试products模块...'); // 首先获取token const loginData = JSON.stringify({ username: 'admin', password: 'X123c321@' }); const loginOptions = { hostname: 'localhost', port: 3002, path: '/api/auth/login', method: 'POST', headers: { 'Content-Type': 'application/json', 'Content-Length': Buffer.byteLength(loginData) } }; console.log('1. 获取token...'); const loginReq = http.request(loginOptions, (loginRes) => { let loginData = ''; loginRes.setEncoding('utf8'); loginRes.on('data', (chunk) => { loginData += chunk; }); loginRes.on('end', () => { try { const parsed = JSON.parse(loginData); if (loginRes.statusCode === 200 && parsed.success && parsed.data && parsed.data.token) { const token = parsed.data.token; console.log(`✅ 获取token成功: ${token.substring(0, 30)}...`); // 测试获取商品列表 testGetProducts(token); } else { console.log('❌ 获取token失败'); console.log('响应:', parsed); process.exit(1); } } catch (e) { console.log('解析登录响应失败:', e.message); process.exit(1); } }); }); loginReq.on('error', (e) => { console.error(`登录请求失败: ${e.message}`); process.exit(1); }); loginReq.write(loginData); loginReq.end(); function testGetProducts(token) { console.log('\n2. 测试获取商品列表...'); const options = { hostname: 'localhost', port: 3002, path: '/api/products', method: 'GET', headers: { 'Authorization': `Bearer ${token}` } }; console.log(`发送请求到: ${options.method} http://${options.hostname}:${options.port}${options.path}`); const req = http.request(options, (res) => { console.log(`状态码: ${res.statusCode}`); let data = ''; res.setEncoding('utf8'); res.on('data', (chunk) => { data += chunk; }); res.on('end', () => { console.log('\n响应体:'); try { const parsed = JSON.parse(data); console.log(JSON.stringify(parsed, null, 2)); if (res.statusCode === 200 && parsed.success && Array.isArray(parsed.data)) { console.log(`\n✅ products模块迁移成功!`); console.log(`获取到 ${parsed.data.length} 个商品`); if (parsed.data.length > 0) { console.log(`第一个商品: ${parsed.data[0].name} (${parsed.data[0].code})`); } } else { console.log('\n❌ products模块迁移失败'); console.log('响应不符合预期'); process.exit(1); } } catch (e) { console.log('解析响应失败:', e.message); console.log('原始响应:', data); process.exit(1); } }); }); req.on('error', (e) => { console.error(`请求失败: ${e.message}`); process.exit(1); }); req.end(); }