Files
niumalll/test_logout.js

76 lines
2.1 KiB
JavaScript
Raw Normal View History

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();
}