添加后端接口修改前端及小程序
This commit is contained in:
150
test-auth.js
Normal file
150
test-auth.js
Normal file
@@ -0,0 +1,150 @@
|
||||
const axios = require('axios');
|
||||
|
||||
// 设置axios实例
|
||||
const api = axios.create({
|
||||
baseURL: 'http://localhost:5352/api',
|
||||
timeout: 5000
|
||||
});
|
||||
|
||||
// 登录凭证
|
||||
const credentials = {
|
||||
username: 'admin',
|
||||
password: '123456'
|
||||
};
|
||||
|
||||
// 存储登录后的token
|
||||
let authToken = null;
|
||||
|
||||
console.log('开始测试政府管理系统登录和退出功能');
|
||||
console.log('======================================');
|
||||
|
||||
// 测试登录功能
|
||||
async function testLogin() {
|
||||
console.log('\n1. 测试登录功能');
|
||||
try {
|
||||
const response = await api.post('/auth/login', credentials);
|
||||
console.log('登录请求状态码:', response.status);
|
||||
console.log('登录响应数据:', response.data);
|
||||
|
||||
if (response.status === 200 && response.data.code === 200 && response.data.data.token) {
|
||||
authToken = response.data.data.token;
|
||||
console.log('✅ 登录成功,已获取token');
|
||||
return true;
|
||||
} else {
|
||||
console.log('❌ 登录失败:', response.data.message || '未知错误');
|
||||
return false;
|
||||
}
|
||||
} catch (error) {
|
||||
console.log('❌ 登录请求失败:', error.message);
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
// 测试获取用户信息功能
|
||||
async function testUserInfo() {
|
||||
if (!authToken) {
|
||||
console.log('\n2. 测试获取用户信息功能 - 跳过,未登录');
|
||||
return false;
|
||||
}
|
||||
|
||||
console.log('\n2. 测试获取用户信息功能');
|
||||
try {
|
||||
const response = await api.get('/auth/userinfo', {
|
||||
headers: {
|
||||
'Authorization': `Bearer ${authToken}`
|
||||
}
|
||||
});
|
||||
console.log('用户信息请求状态码:', response.status);
|
||||
console.log('用户信息响应数据:', response.data);
|
||||
|
||||
if (response.status === 200 && response.data.code === 200) {
|
||||
console.log('✅ 获取用户信息成功');
|
||||
console.log(' 用户名:', response.data.data.username);
|
||||
console.log(' 角色:', response.data.data.role);
|
||||
console.log(' 姓名:', response.data.data.name);
|
||||
return true;
|
||||
} else {
|
||||
console.log('❌ 获取用户信息失败:', response.data.message || '未知错误');
|
||||
return false;
|
||||
}
|
||||
} catch (error) {
|
||||
console.log('❌ 获取用户信息请求失败:');
|
||||
if (error.response) {
|
||||
console.log(' 状态码:', error.response.status);
|
||||
console.log(' 响应数据:', error.response.data);
|
||||
} else {
|
||||
console.log(' 错误信息:', error.message);
|
||||
}
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
// 测试退出登录功能
|
||||
async function testLogout() {
|
||||
if (!authToken) {
|
||||
console.log('\n3. 测试退出登录功能 - 跳过,未登录');
|
||||
return false;
|
||||
}
|
||||
|
||||
console.log('\n3. 测试退出登录功能');
|
||||
try {
|
||||
const response = await api.post('/auth/logout', {}, {
|
||||
headers: {
|
||||
'Authorization': `Bearer ${authToken}`
|
||||
}
|
||||
});
|
||||
console.log('退出登录请求状态码:', response.status);
|
||||
console.log('退出登录响应数据:', response.data);
|
||||
|
||||
if (response.status === 200 && response.data.code === 200) {
|
||||
console.log('✅ 退出登录成功');
|
||||
// 验证token是否失效
|
||||
try {
|
||||
const checkResponse = await api.get('/auth/userinfo', {
|
||||
headers: {
|
||||
'Authorization': `Bearer ${authToken}`
|
||||
}
|
||||
});
|
||||
console.log('❌ 退出登录后token仍然有效,这可能是一个安全问题');
|
||||
} catch (checkError) {
|
||||
console.log('✅ 退出登录后token已失效,符合预期');
|
||||
}
|
||||
return true;
|
||||
} else {
|
||||
console.log('❌ 退出登录失败:', response.data.message || '未知错误');
|
||||
return false;
|
||||
}
|
||||
} catch (error) {
|
||||
console.log('❌ 退出登录请求失败:');
|
||||
if (error.response) {
|
||||
console.log(' 状态码:', error.response.status);
|
||||
console.log(' 响应数据:', error.response.data);
|
||||
} else {
|
||||
console.log(' 错误信息:', error.message);
|
||||
}
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
// 运行完整测试
|
||||
async function runTests() {
|
||||
const loginSuccess = await testLogin();
|
||||
const userInfoSuccess = loginSuccess ? await testUserInfo() : false;
|
||||
const logoutSuccess = loginSuccess ? await testLogout() : false;
|
||||
|
||||
console.log('\n测试总结');
|
||||
console.log('==========');
|
||||
console.log('登录功能测试:', loginSuccess ? '通过 ✅' : '失败 ❌');
|
||||
console.log('获取用户信息测试:', userInfoSuccess ? '通过 ✅' : '失败 ❌');
|
||||
console.log('退出登录功能测试:', logoutSuccess ? '通过 ✅' : '失败 ❌');
|
||||
|
||||
if (loginSuccess && userInfoSuccess && logoutSuccess) {
|
||||
console.log('\n🎉 所有测试通过!登录和退出登录功能正常工作。');
|
||||
console.log('建议前端检查路由跳转和页面渲染逻辑,确保登录成功后能正确跳转到主页。');
|
||||
} else {
|
||||
console.log('\n❌ 部分测试失败,需要进一步排查问题。');
|
||||
}
|
||||
}
|
||||
|
||||
// 开始测试
|
||||
runTests();
|
||||
Reference in New Issue
Block a user