Fix kdocs login status detection

This commit is contained in:
2026-01-07 12:57:03 +08:00
parent 1e216ea356
commit 28e86b1147

View File

@@ -204,8 +204,12 @@ class KDocsUploader:
if login_btn.is_visible(timeout=1500): if login_btn.is_visible(timeout=1500):
return False return False
except Exception: except Exception:
return False
return True return True
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: def _ensure_login_dialog(self) -> None:
try: try:
@@ -264,7 +268,7 @@ class KDocsUploader:
if not self._open_document(doc_url): if not self._open_document(doc_url):
return {"success": False, "error": self._last_error or "打开文档失败"} 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._login_required = False
self._last_login_ok = True self._last_login_ok = True
self._save_login_state() self._save_login_state()
@@ -307,6 +311,8 @@ class KDocsUploader:
if not self._open_document(doc_url): if not self._open_document(doc_url):
return {"success": False, "logged_in": False, "error": self._last_error or "打开文档失败"} return {"success": False, "logged_in": False, "error": self._last_error or "打开文档失败"}
logged_in = self._is_logged_in() logged_in = self._is_logged_in()
if not self._has_saved_login_state():
logged_in = False
self._last_login_ok = logged_in self._last_login_ok = logged_in
self._login_required = not logged_in self._login_required = not logged_in
if logged_in: if logged_in: