Files
AutoLogon/main.py
T
2025-10-18 22:26:14 +08:00

64 lines
2.1 KiB
Python

import time
from typing import Dict, List, Any
from config import ConfigManager
from login_manager import LoginManager
from logger_config import global_logger as logger
class AutoLoginApp:
"""
自动登录应用主类
"""
def __init__(self):
"""
初始化自动登录应用
"""
self.config_manager = ConfigManager()
self.login_manager = LoginManager()
def run(self):
"""
运行自动登录应用
"""
logger.info("===== 自动登录应用启动 =====")
# 直接调用LoginManager的run函数处理所有网站
self.login_manager.run()
# 从配置管理器直接获取duration参数
duration = self.login_manager.get_duration()
logger.info(f"延时 {duration} 秒后获取所有页面cookies")
time.sleep(duration)
# 调用save_cookies函数获取并保存所有网站的cookies到config.json
try:
all_cookies = self.login_manager.save_cookies()
logger.info(f"成功获取并保存 {len(all_cookies)} 个网站的cookies到config.json文件")
except Exception as e:
logger.error(f"获取或保存cookies时发生错误: {e}")
logger.info("===== 所有网站处理完成 =====")
# 从配置管理器直接获取AutoQuit配置并关闭浏览器
auto_quit = self.config_manager.load_config().get('AutoQuit', False)
if auto_quit:
try:
self.login_manager.close(True) # 直接传入True表示关闭浏览器
logger.info("已关闭浏览器")
except Exception as e:
logger.error(f"关闭浏览器时发生错误: {e}")
else:
logger.info("浏览器保持打开状态")
# 不再需要返回auto_quit值,因为它已经在方法内部使用
if __name__ == "__main__":
app = AutoLoginApp()
try:
app.run()
except KeyboardInterrupt:
logger.info("程序被用户中断")
except Exception as e:
logger.error(f"程序运行时发生错误: {e}")