const axios = require('axios'); // 配置axios实例 const api = axios.create({ baseURL: 'http://localhost:5352/api', timeout: 10000, headers: { 'Content-Type': 'application/json' } }); // 测试退出登录功能 async function testLogout() { console.log('开始测试退出登录功能...'); try { // 1. 首先登录获取token console.log('1. 登录获取token...'); const loginResponse = await api.post('/auth/login', { username: 'admin', password: '123456' }); if (loginResponse.data.code !== 200) { console.error('登录失败,无法继续测试退出登录:', loginResponse.data.message); return; } const token = loginResponse.data.data.token; console.log('登录成功,获取到token:', token); // 2. 使用获取到的token发送退出登录请求 console.log('\n2. 测试退出登录...'); const logoutResponse = await api.post('/auth/logout', {}, { headers: { 'Authorization': `Bearer ${token}` } }); console.log('退出登录响应:', logoutResponse.data); if (logoutResponse.data.code === 200) { console.log('退出登录成功!'); // 3. 验证token是否仍然有效(尝试用相同token获取用户信息) console.log('\n3. 验证退出登录后token是否失效...'); try { const userInfoResponse = await api.get('/auth/userinfo', { headers: { 'Authorization': `Bearer ${token}` } }); console.log('用户信息响应:', userInfoResponse.data); if (userInfoResponse.data.code === 200) { console.warn('警告: 退出登录后token仍然有效,建议实现token黑名单机制'); } else { console.log('验证成功: 退出登录后token已失效'); } } catch (error) { console.log('验证成功: 退出登录后token已失效'); } } else { console.error('退出登录失败:', logoutResponse.data.message); } } catch (error) { console.error('测试过程中发生错误:', error.response ? error.response.data : error.message); } } // 运行测试 console.log('准备运行退出登录功能测试...'); testLogout().then(() => { console.log('\n退出登录功能测试完成'); });