/** * 测试用户管理API */ const axios = require('axios'); const API_BASE_URL = 'http://localhost:5350/api'; // 测试用户登录并获取token async function testLogin() { try { console.log('测试用户登录...'); const response = await axios.post(`${API_BASE_URL}/auth/login`, { username: 'admin', password: '123456' }); if (response.data.success) { console.log('✓ 登录成功'); console.log('Token:', response.data.token); return response.data.token; } else { console.log('✗ 登录失败:', response.data.message); return null; } } catch (error) { console.log('✗ 登录请求失败:', error.message); return null; } } // 测试获取用户列表 async function testGetUsers(token) { try { console.log('\n测试获取用户列表...'); const response = await axios.get(`${API_BASE_URL}/users`, { headers: { 'Authorization': `Bearer ${token}` } }); if (response.data.success) { console.log('✓ 获取用户列表成功'); console.log('用户数量:', response.data.data.length); response.data.data.forEach(user => { console.log(`- ${user.username} (${user.email}) - 角色: ${user.role}`); }); return true; } else { console.log('✗ 获取用户列表失败:', response.data.message); return false; } } catch (error) { console.log('✗ 获取用户列表请求失败:', error.message); return false; } } // 测试创建用户 async function testCreateUser(token) { try { console.log('\n测试创建用户...'); const newUser = { username: 'testuser_' + Date.now(), email: `test_${Date.now()}@example.com`, password: '123456', role: 'user' }; const response = await axios.post(`${API_BASE_URL}/users`, newUser, { headers: { 'Authorization': `Bearer ${token}`, 'Content-Type': 'application/json' } }); if (response.data.success) { console.log('✓ 创建用户成功'); console.log('新用户ID:', response.data.data.id); return response.data.data.id; } else { console.log('✗ 创建用户失败:', response.data.message); return null; } } catch (error) { console.log('✗ 创建用户请求失败:', error.response?.data?.message || error.message); return null; } } // 主测试函数 async function runTests() { console.log('开始测试用户管理API...'); console.log('=' .repeat(50)); // 1. 测试登录 const token = await testLogin(); if (!token) { console.log('\n测试终止:无法获取认证token'); return; } // 2. 测试获取用户列表 await testGetUsers(token); // 3. 测试创建用户 const newUserId = await testCreateUser(token); // 4. 再次获取用户列表,验证新用户是否创建成功 if (newUserId) { console.log('\n验证新用户是否创建成功...'); await testGetUsers(token); } console.log('\n测试完成!'); } // 运行测试 runTests().catch(console.error);