#!/usr/bin/env python3 # -*- coding: utf-8 -*- from __future__ import annotations import threading from typing import Optional from app_logger import get_logger from browser_installer import check_and_install_browser from playwright_automation import PlaywrightBrowserManager logger = get_logger("browser_manager") _browser_manager: Optional[PlaywrightBrowserManager] = None _lock = threading.Lock() def get_browser_manager() -> Optional[PlaywrightBrowserManager]: return _browser_manager def init_browser_manager() -> bool: global _browser_manager with _lock: if _browser_manager is not None: return True logger.info("正在初始化Playwright浏览器管理器...") if not check_and_install_browser(log_callback=lambda msg, account_id=None: logger.info(str(msg))): logger.error("浏览器环境检查失败!") return False _browser_manager = PlaywrightBrowserManager( headless=True, log_callback=lambda msg, account_id=None: logger.info(str(msg)), ) logger.info("Playwright浏览器管理器创建成功!") return True