const axios = require('axios'); // 后端API基础URL const API_BASE_URL = 'http://localhost:4330/api'; // 登录信息 const loginData = { username: 'admin', password: 'admin123' }; // 测试登出功能 const testLogout = async () => { try { console.log('开始测试登出功能...'); // 1. 先登录获取token console.log('1. 登录获取token...'); const loginResponse = await axios.post(`${API_BASE_URL}/auth/login`, loginData); console.log('登录响应完整数据:', loginResponse.data); if (!loginResponse.data.success) { console.error('登录失败:', loginResponse.data.message); return; } // 根据之前的修改,token应该在data对象中 let token = null; if (loginResponse.data.data && loginResponse.data.data.access_token) { token = loginResponse.data.data.access_token; } else if (loginResponse.data.token) { token = loginResponse.data.token; } if (!token) { console.error('❌ 无法从登录响应中获取token'); return; } console.log('登录成功,获取到token:', token.substring(0, 20) + '...'); // 2. 调用登出接口 console.log('\n2. 调用登出接口...'); const logoutResponse = await axios.post( `${API_BASE_URL}/auth/logout`, {}, { headers: { Authorization: `Bearer ${token}` } } ); console.log('登出响应状态码:', logoutResponse.status); console.log('登出响应数据:', logoutResponse.data); if (logoutResponse.status === 200 && logoutResponse.data.success) { console.log('\n✅ 登出功能测试成功!'); } else { console.error('❌ 登出功能测试失败:', logoutResponse.data); } } catch (error) { console.error('❌ 测试过程中发生错误:', error.message); if (error.response) { console.error('错误状态码:', error.response.status); console.error('错误响应数据:', error.response.data); } } }; // 执行测试 if (require.main === module) { testLogout(); }