| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384 |
- import time
- from typing import Optional, Tuple
- from utils.device_id import get_device_id
- from utils.registration import validate_registration
- from regex import T
- from utils.logger import chat_logger
- class RegistrationManager:
- """注册状态管理器"""
- def __init__(self, check_interval: int = 3600):
- self._is_registered: Optional[bool] = None
- self._last_check_time: float = 0
- self._check_interval = check_interval # 检查间隔(秒)
- async def check_registration(self) -> bool:
- """检查注册状态,带缓存"""
- current_time = time.time()
- # 如果缓存未过期,直接返回缓存结果
- if (
- self._is_registered is True
- and current_time - self._last_check_time < self._check_interval
- ):
- return self._is_registered
- try:
- is_valid, message = await self._check_license_validity()
- self._is_registered = is_valid
- self._last_check_time = current_time
- if is_valid:
- chat_logger.info(f"✅ {message}")
- else:
- chat_logger.warning(f"❌ {message}")
- return is_valid
- except Exception as e:
- chat_logger.error(f"注册检查失败: {str(e)}")
- # 检查失败时保守处理
- self._is_registered = False
- return False
- async def _check_license_validity(self) -> Tuple[bool, str]:
- """实际的注册检查逻辑"""
- secret_key = "ialwayslovelongjoe"
- try:
- is_valid, message, reg_info = validate_registration(
- secret_key, get_device_id
- )
- print(f"验证结果: {is_valid}")
- print(f"消息: {message}")
- if reg_info:
- print(f"注册信息: {reg_info}")
- return is_valid, message # 临时返回True
- except Exception as e:
- chat_logger.error(f"许可证检查异常: {str(e)}")
- return False, message
- def force_refresh(self):
- """强制刷新注册状态"""
- self._is_registered = None
- self._last_check_time = 0
- chat_logger.info("强制刷新注册状态")
- def get_status(self):
- """获取当前状态信息"""
- return {
- "is_registered": self._is_registered,
- "last_check_time": self._last_check_time,
- "check_interval": self._check_interval,
- }
- # 全局实例
- registration_manager = RegistrationManager()
|