import logging import re import requests from typing import Dict, Any class AuthManager: """ AuthManager类用于管理身份验证过程,包括获取API密钥、用户信息和处理刷新令牌等操作。 """ def __init__(self, email: str, password: str): self.email = email self.password = password self.api_key: str = "" self.user_info: Dict[str, Any] = {} self.refresh_token: str = "" self.logger = logging.getLogger(__name__) logging.basicConfig(level=logging.INFO) with requests.Session() as self.session: self.login() self.fetch_apikey() self.log_values() def log_values(self) -> None: """记录刷新令牌到日志中。""" self.logger.info(f"\033[92mRefresh Token: {self.refresh_token}\033[0m") def fetch_apikey(self) -> str: """获取API密钥。""" if self.api_key: return self.api_key try: url = "https://chat.notdiamond.ai/login" headers = { 'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/128.0.0.0 Safari/537.36' } response = self.session.get(url, headers=headers) response.raise_for_status() match = re.search(r'