# coding=utf-8 import uiautomator2 as u2 import time import logging import sys import os project_root = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) if project_root not in sys.path: sys.path.append(project_root) from WeiXin.WxUtil import analyze_chat_image # 配置日志 log_dir = os.path.join(os.path.dirname(os.path.abspath(__file__)), "Logs") if not os.path.exists(log_dir): os.makedirs(log_dir) logging.basicConfig( level=logging.INFO, format='%(asctime)s - %(name)s - %(levelname)s - %(message)s', handlers=[ logging.FileHandler(os.path.join(log_dir, "T2_GetHistory.log"), encoding='utf-8'), logging.StreamHandler() ] ) logger = logging.getLogger("T2_GetHistory") def get_history(target_name="对方"): logger.info("开始执行 T2: 获取当前屏幕对话历史...") try: d = u2.connect() logger.info(f"设备连接成功: {d.info.get('serial')}") except Exception as e: logger.error(f"设备连接失败: {e}") return # 截图 screenshot_dir = os.path.join(os.path.dirname(os.path.abspath(__file__)), "Screenshots") if not os.path.exists(screenshot_dir): os.makedirs(screenshot_dir) timestamp = time.strftime("%Y%m%d_%H%M%S") filename = f"T2_history_{timestamp}.jpg" save_path = os.path.join(screenshot_dir, filename) try: d.screenshot(save_path) logger.info(f"截图已保存: {save_path}") analyzed_filename = f"T2_history_{timestamp}_analyzed.jpg" analyzed_path = os.path.join(screenshot_dir, analyzed_filename) # 调用 WxUtil 中的分析函数 dialogue_log = analyze_chat_image(save_path, analyzed_path, target_name=target_name) logger.info("✅ T2 执行完成。历史对话如下:") if dialogue_log: for log in dialogue_log: print(log) # 打印到控制台 else: logger.info("未提取到对话内容或当前屏幕无对话气泡。") except Exception as e: logger.error(f"❌ T2 执行失败: {e}") if __name__ == "__main__": get_history()