From 28e86b114746d2a7230019cb916baa4df4d1bb82 Mon Sep 17 00:00:00 2001 From: yuyx <237899745@qq.com> Date: Wed, 7 Jan 2026 12:57:03 +0800 Subject: [PATCH] Fix kdocs login status detection --- services/kdocs_uploader.py | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/services/kdocs_uploader.py b/services/kdocs_uploader.py index 0f17d47..1c5446f 100644 --- a/services/kdocs_uploader.py +++ b/services/kdocs_uploader.py @@ -204,9 +204,13 @@ class KDocsUploader: if login_btn.is_visible(timeout=1500): return False except Exception: - return True + return False return True + def _has_saved_login_state(self) -> bool: + storage_state = getattr(config, "KDOCS_LOGIN_STATE_FILE", "data/kdocs_login_state.json") + return os.path.exists(storage_state) + def _ensure_login_dialog(self) -> None: try: login_btn = self._page.get_by_role("button", name="登录并加入编辑") @@ -264,7 +268,7 @@ class KDocsUploader: if not self._open_document(doc_url): return {"success": False, "error": self._last_error or "打开文档失败"} - if self._is_logged_in(): + if self._has_saved_login_state() and self._is_logged_in(): self._login_required = False self._last_login_ok = True self._save_login_state() @@ -307,6 +311,8 @@ class KDocsUploader: if not self._open_document(doc_url): return {"success": False, "logged_in": False, "error": self._last_error or "打开文档失败"} logged_in = self._is_logged_in() + if not self._has_saved_login_state(): + logged_in = False self._last_login_ok = logged_in self._login_required = not logged_in if logged_in: