From d7e19dcd52321a8cc24324ea5a254a14bbfc9814 Mon Sep 17 00:00:00 2001 From: KenanZhu <3471685733@qq.com> Date: Thu, 28 May 2026 11:33:17 +0800 Subject: [PATCH] =?UTF-8?q?refactor(pages):=20=E8=B0=83=E6=95=B4=E9=A2=84?= =?UTF-8?q?=E7=BA=A6=E6=A3=80=E6=9F=A5=E6=B5=81=E7=A8=8B=E9=A1=BA=E5=BA=8F?= =?UTF-8?q?=EF=BC=8C=E6=95=B0=E6=8D=AE=E6=A0=A1=E9=AA=8C=E5=89=8D=E7=BD=AE?= =?UTF-8?q?=E4=BB=A5=E9=81=BF=E5=85=8D=E6=97=A0=E6=95=88=E6=B5=8F=E8=A7=88?= =?UTF-8?q?=E5=99=A8=E6=93=8D=E4=BD=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 将 ReserveChecker.check(纯数据校验)移至 RecordChecker.canReserve(浏览器查询)之前, 解决 canReserve 在校验前使用未规范化日期的隐式缺陷,并避免无效配置触发昂贵的页面导航操作。 Co-Authored-By: Claude Opus 4.7 --- src/pages/AutoLib.py | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/src/pages/AutoLib.py b/src/pages/AutoLib.py index 6b608e0..18f5b00 100644 --- a/src/pages/AutoLib.py +++ b/src/pages/AutoLib.py @@ -233,6 +233,7 @@ class AutoLib(MsgBase): # result : -1 - terminate, 0 - success, 1 - failed, 2 - passed result: int = 2 + # login auto_captcha: bool = login_config.get("auto_captcha", True) if not self.__login_page.login( @@ -249,10 +250,11 @@ class AutoLib(MsgBase): "auto_checkin": run_mode_raw & 0x2, "auto_renewal": run_mode_raw & 0x4, } + # reserve if run_mode["auto_reserve"]: - if self.__record_checker.canReserve(self.__shell, reserve_info["date"]): - if self.__reserve_checker.check(reserve_info): + if self.__reserve_checker.check(reserve_info): + if self.__record_checker.canReserve(self.__shell, reserve_info["date"]): ctx = ReserveContext( username=username, date=reserve_info["date"], @@ -273,10 +275,10 @@ class AutoLib(MsgBase): else: result = 1 else: - result = 1 + self._showTrace(f"用户 {username} 无法预约, 已跳过") + result = 2 else: - self._showTrace(f"用户 {username} 无法预约, 已跳过") - result = 2 + result = 1 # checkin last_result: int = result @@ -317,8 +319,11 @@ class AutoLib(MsgBase): # logout if not self.__shell.logout(): + self._showTrace(f"用户 {username} 退出登录失败, 尝试直接重载页面") if not self.__initDriverUrl(): + self._showTrace(f"用户 {username} 重载页面失败, 无法继续操作, 该任务已终止 !") return -1 + self._showTrace(f"用户 {username} 已退出登录") return result def run(