后端改为使用日志记录器管理日志
This commit is contained in:
+49
-44
@@ -1,6 +1,11 @@
|
||||
const PixivBackend = require('./core');
|
||||
const proxyConfig = require('./config');
|
||||
const readline = require('readline');
|
||||
const { defaultLogger } = require('./utils/logger');
|
||||
|
||||
// 创建logger实例
|
||||
const logger = defaultLogger.child('TestLogin');
|
||||
|
||||
|
||||
// 创建命令行交互接口
|
||||
const rl = readline.createInterface({
|
||||
@@ -19,84 +24,84 @@ function askQuestion(question) {
|
||||
|
||||
// 测试登录流程
|
||||
async function testLogin() {
|
||||
console.log('=== Pixiv 登录测试脚本 ===\n');
|
||||
logger.info('=== Pixiv 登录测试脚本 ===\n');
|
||||
|
||||
try {
|
||||
// 1. 设置代理环境变量
|
||||
console.log('1. 设置代理配置...');
|
||||
logger.info('1. 设置代理配置...');
|
||||
proxyConfig.setEnvironmentVariables();
|
||||
|
||||
// 2. 初始化后端
|
||||
console.log('\n2. 初始化 Pixiv 后端...');
|
||||
logger.info('\n2. 初始化 Pixiv 后端...');
|
||||
const backend = new PixivBackend();
|
||||
await backend.init();
|
||||
|
||||
// 3. 检查登录状态
|
||||
console.log('\n3. 检查当前登录状态...');
|
||||
logger.info('\n3. 检查当前登录状态...');
|
||||
const loginStatus = backend.getLoginStatus();
|
||||
console.log('登录状态:', loginStatus);
|
||||
logger.info('登录状态:', loginStatus);
|
||||
|
||||
if (loginStatus.isLoggedIn) {
|
||||
console.log('✅ 已登录,用户:', loginStatus.username);
|
||||
logger.info('✅ 已登录,用户:', loginStatus.username);
|
||||
return;
|
||||
}
|
||||
|
||||
// 4. 获取登录URL
|
||||
console.log('\n4. 获取登录URL...');
|
||||
logger.info('\n4. 获取登录URL...');
|
||||
const loginData = backend.getLoginUrl();
|
||||
console.log('请访问以下URL进行登录:');
|
||||
console.log(loginData.login_url);
|
||||
console.log('\n登录完成后,请复制回调URL中的code参数');
|
||||
logger.info('请访问以下URL进行登录:');
|
||||
logger.info(loginData.login_url);
|
||||
logger.info('\n登录完成后,请复制回调URL中的code参数');
|
||||
|
||||
// 5. 等待用户输入授权码
|
||||
const code = await askQuestion('\n请输入授权码 (code参数): ');
|
||||
|
||||
if (!code || code.trim() === '') {
|
||||
console.log('❌ 未输入授权码,测试终止');
|
||||
logger.info('❌ 未输入授权码,测试终止');
|
||||
return;
|
||||
}
|
||||
|
||||
// 6. 处理登录回调
|
||||
console.log('\n5. 处理登录回调...');
|
||||
logger.info('\n5. 处理登录回调...');
|
||||
const loginResult = await backend.handleLoginCallback(code.trim());
|
||||
|
||||
if (loginResult.success) {
|
||||
console.log('✅ 登录成功!');
|
||||
console.log('用户信息:', loginResult.user);
|
||||
logger.info('✅ 登录成功!');
|
||||
logger.info('用户信息:', loginResult.user);
|
||||
|
||||
// 7. 再次检查登录状态
|
||||
console.log('\n6. 验证登录状态...');
|
||||
logger.info('\n6. 验证登录状态...');
|
||||
const finalStatus = backend.getLoginStatus();
|
||||
console.log('最终登录状态:', finalStatus);
|
||||
logger.info('最终登录状态:', finalStatus);
|
||||
|
||||
// 8. 测试获取用户信息
|
||||
console.log('\n7. 测试获取用户信息...');
|
||||
logger.info('\n7. 测试获取用户信息...');
|
||||
const auth = backend.getAuth();
|
||||
const userInfo = await auth.getUserInfo();
|
||||
|
||||
if (userInfo.success) {
|
||||
console.log('✅ 获取用户信息成功:', userInfo.user);
|
||||
logger.info('✅ 获取用户信息成功:', userInfo.user);
|
||||
} else {
|
||||
console.log('❌ 获取用户信息失败:', userInfo.error);
|
||||
logger.info('❌ 获取用户信息失败:', userInfo.error);
|
||||
}
|
||||
|
||||
} else {
|
||||
console.log('❌ 登录失败:', loginResult.error);
|
||||
logger.info('❌ 登录失败:', loginResult.error);
|
||||
}
|
||||
|
||||
} catch (error) {
|
||||
console.error('❌ 测试过程中发生错误:', error.message);
|
||||
console.error('错误详情:', error);
|
||||
logger.error('❌ 测试过程中发生错误:', error.message);
|
||||
logger.error('错误详情:', error);
|
||||
} finally {
|
||||
// 清理资源
|
||||
rl.close();
|
||||
console.log('\n=== 测试完成 ===');
|
||||
logger.info('\n=== 测试完成 ===');
|
||||
}
|
||||
}
|
||||
|
||||
// 测试重新登录功能
|
||||
async function testRelogin() {
|
||||
console.log('=== 测试重新登录功能 ===\n');
|
||||
logger.info('=== 测试重新登录功能 ===\n');
|
||||
|
||||
try {
|
||||
// 设置代理
|
||||
@@ -110,21 +115,21 @@ async function testRelogin() {
|
||||
const loginStatus = backend.getLoginStatus();
|
||||
|
||||
if (loginStatus.isLoggedIn) {
|
||||
console.log('✅ 检测到已保存的登录信息');
|
||||
console.log('用户:', loginStatus.username);
|
||||
console.log('用户ID:', loginStatus.user_id);
|
||||
logger.info('✅ 检测到已保存的登录信息');
|
||||
logger.info('用户:', loginStatus.username);
|
||||
logger.info('用户ID:', loginStatus.user_id);
|
||||
} else {
|
||||
console.log('❌ 没有保存的登录信息,无法测试重新登录');
|
||||
logger.info('❌ 没有保存的登录信息,无法测试重新登录');
|
||||
}
|
||||
|
||||
} catch (error) {
|
||||
console.error('❌ 重新登录测试失败:', error.message);
|
||||
logger.error('❌ 重新登录测试失败:', error.message);
|
||||
}
|
||||
}
|
||||
|
||||
// 测试登出功能
|
||||
async function testLogout() {
|
||||
console.log('=== 测试登出功能 ===\n');
|
||||
logger.info('=== 测试登出功能 ===\n');
|
||||
|
||||
try {
|
||||
// 设置代理
|
||||
@@ -138,27 +143,27 @@ async function testLogout() {
|
||||
const logoutResult = backend.logout();
|
||||
|
||||
if (logoutResult.success) {
|
||||
console.log('✅ 登出成功');
|
||||
logger.info('✅ 登出成功');
|
||||
|
||||
// 验证登出状态
|
||||
const loginStatus = backend.getLoginStatus();
|
||||
console.log('登出后状态:', loginStatus);
|
||||
logger.info('登出后状态:', loginStatus);
|
||||
} else {
|
||||
console.log('❌ 登出失败');
|
||||
logger.info('❌ 登出失败');
|
||||
}
|
||||
|
||||
} catch (error) {
|
||||
console.error('❌ 登出测试失败:', error.message);
|
||||
logger.error('❌ 登出测试失败:', error.message);
|
||||
}
|
||||
}
|
||||
|
||||
// 主函数
|
||||
async function main() {
|
||||
console.log('请选择测试功能:');
|
||||
console.log('1. 测试完整登录流程');
|
||||
console.log('2. 测试重新登录');
|
||||
console.log('3. 测试登出');
|
||||
console.log('4. 运行所有测试');
|
||||
logger.info('请选择测试功能:');
|
||||
logger.info('1. 测试完整登录流程');
|
||||
logger.info('2. 测试重新登录');
|
||||
logger.info('3. 测试登出');
|
||||
logger.info('4. 运行所有测试');
|
||||
|
||||
const choice = await askQuestion('\n请输入选择 (1-4): ');
|
||||
|
||||
@@ -173,22 +178,22 @@ async function main() {
|
||||
await testLogout();
|
||||
break;
|
||||
case '4':
|
||||
console.log('\n=== 运行所有测试 ===\n');
|
||||
logger.info('\n=== 运行所有测试 ===\n');
|
||||
await testLogin();
|
||||
console.log('\n' + '='.repeat(50) + '\n');
|
||||
logger.info('\n' + '='.repeat(50) + '\n');
|
||||
await testRelogin();
|
||||
console.log('\n' + '='.repeat(50) + '\n');
|
||||
logger.info('\n' + '='.repeat(50) + '\n');
|
||||
await testLogout();
|
||||
break;
|
||||
default:
|
||||
console.log('❌ 无效选择');
|
||||
logger.info('❌ 无效选择');
|
||||
rl.close();
|
||||
}
|
||||
}
|
||||
|
||||
// 如果直接运行此脚本
|
||||
if (require.main === module) {
|
||||
main().catch(console.error);
|
||||
main().catch(logger.error);
|
||||
}
|
||||
|
||||
module.exports = {
|
||||
|
||||
Reference in New Issue
Block a user