mirror of
https://github.com/KenanZhu/AutoLibrary.git
synced 2026-06-17 23:13:03 +08:00
refactor(pages): 调整预约检查流程顺序,数据校验前置以避免无效浏览器操作
将 ReserveChecker.check(纯数据校验)移至 RecordChecker.canReserve(浏览器查询)之前, 解决 canReserve 在校验前使用未规范化日期的隐式缺陷,并避免无效配置触发昂贵的页面导航操作。 Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
+10
-5
@@ -233,6 +233,7 @@ class AutoLib(MsgBase):
|
|||||||
|
|
||||||
# result : -1 - terminate, 0 - success, 1 - failed, 2 - passed
|
# result : -1 - terminate, 0 - success, 1 - failed, 2 - passed
|
||||||
result: int = 2
|
result: int = 2
|
||||||
|
|
||||||
# login
|
# login
|
||||||
auto_captcha: bool = login_config.get("auto_captcha", True)
|
auto_captcha: bool = login_config.get("auto_captcha", True)
|
||||||
if not self.__login_page.login(
|
if not self.__login_page.login(
|
||||||
@@ -249,10 +250,11 @@ class AutoLib(MsgBase):
|
|||||||
"auto_checkin": run_mode_raw & 0x2,
|
"auto_checkin": run_mode_raw & 0x2,
|
||||||
"auto_renewal": run_mode_raw & 0x4,
|
"auto_renewal": run_mode_raw & 0x4,
|
||||||
}
|
}
|
||||||
|
|
||||||
# reserve
|
# reserve
|
||||||
if run_mode["auto_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(
|
ctx = ReserveContext(
|
||||||
username=username,
|
username=username,
|
||||||
date=reserve_info["date"],
|
date=reserve_info["date"],
|
||||||
@@ -273,10 +275,10 @@ class AutoLib(MsgBase):
|
|||||||
else:
|
else:
|
||||||
result = 1
|
result = 1
|
||||||
else:
|
else:
|
||||||
result = 1
|
self._showTrace(f"用户 {username} 无法预约, 已跳过")
|
||||||
|
result = 2
|
||||||
else:
|
else:
|
||||||
self._showTrace(f"用户 {username} 无法预约, 已跳过")
|
result = 1
|
||||||
result = 2
|
|
||||||
|
|
||||||
# checkin
|
# checkin
|
||||||
last_result: int = result
|
last_result: int = result
|
||||||
@@ -317,8 +319,11 @@ class AutoLib(MsgBase):
|
|||||||
|
|
||||||
# logout
|
# logout
|
||||||
if not self.__shell.logout():
|
if not self.__shell.logout():
|
||||||
|
self._showTrace(f"用户 {username} 退出登录失败, 尝试直接重载页面")
|
||||||
if not self.__initDriverUrl():
|
if not self.__initDriverUrl():
|
||||||
|
self._showTrace(f"用户 {username} 重载页面失败, 无法继续操作, 该任务已终止 !")
|
||||||
return -1
|
return -1
|
||||||
|
self._showTrace(f"用户 {username} 已退出登录")
|
||||||
return result
|
return result
|
||||||
|
|
||||||
def run(
|
def run(
|
||||||
|
|||||||
Reference in New Issue
Block a user