优化864登录三态展示并更新适配路线文档
This commit is contained in:
41
robot.py
41
robot.py
@@ -446,6 +446,10 @@ class Robot:
|
||||
"logged_in": False,
|
||||
"active": False,
|
||||
"status": "idle",
|
||||
"provider_name": "",
|
||||
"provider_stage": "bootstrap",
|
||||
"connection_ready": False,
|
||||
"login_required": False,
|
||||
"status_text": "尚未进入扫码登录流程",
|
||||
"current": {},
|
||||
"history": [],
|
||||
@@ -485,10 +489,21 @@ class Robot:
|
||||
with self._ipad_login_qr_lock:
|
||||
login_state_flag = bool(self.ipad_login_qr_state.get("logged_in", False))
|
||||
qr_status = str(self.ipad_login_qr_state.get("status", "idle") or "idle")
|
||||
provider_name = str(
|
||||
self.ipad_login_qr_state.get("provider_name", self.ipad_config.get("server_type", "") if self.ipad_config else "")
|
||||
or ""
|
||||
).strip()
|
||||
provider_stage = str(self.ipad_login_qr_state.get("provider_stage", "bootstrap") or "bootstrap").strip()
|
||||
connection_ready = bool(self.ipad_login_qr_state.get("connection_ready", False))
|
||||
login_required = bool(self.ipad_login_qr_state.get("login_required", False))
|
||||
state = {
|
||||
"logged_in": bool(self.wxid) or login_state_flag or qr_status in {"confirmed", "logged_in"},
|
||||
"active": bool(self.ipad_login_qr_state.get("active", False)),
|
||||
"status": qr_status,
|
||||
"provider_name": provider_name,
|
||||
"provider_stage": provider_stage,
|
||||
"connection_ready": connection_ready,
|
||||
"login_required": login_required,
|
||||
"status_text": str(
|
||||
self.ipad_login_qr_state.get("status_text", "尚未进入扫码登录流程") or "尚未进入扫码登录流程"
|
||||
),
|
||||
@@ -520,6 +535,13 @@ class Robot:
|
||||
status = str((payload or {}).get("status", "waiting") or "waiting").strip() or "waiting"
|
||||
status_text = str((payload or {}).get("status_text", "等待扫码登录") or "等待扫码登录").strip()
|
||||
login_source = str((payload or {}).get("login_source", "fresh_qr") or "fresh_qr").strip()
|
||||
provider_name = str(
|
||||
(payload or {}).get("provider_name", self.ipad_config.get("server_type", "") if self.ipad_config else "")
|
||||
or ""
|
||||
).strip()
|
||||
provider_stage = str((payload or {}).get("provider_stage", "waiting_scan") or "waiting_scan").strip()
|
||||
connection_ready = bool((payload or {}).get("connection_ready", False))
|
||||
login_required = bool((payload or {}).get("login_required", True))
|
||||
expires_in = (payload or {}).get("expires_in")
|
||||
expires_in = None if expires_in in (None, "") else max(0, int(expires_in))
|
||||
current_record = {
|
||||
@@ -530,6 +552,10 @@ class Robot:
|
||||
"status": status,
|
||||
"status_text": status_text,
|
||||
"login_source": login_source,
|
||||
"provider_name": provider_name,
|
||||
"provider_stage": provider_stage,
|
||||
"connection_ready": connection_ready,
|
||||
"login_required": login_required,
|
||||
"updated_at": now_ts,
|
||||
"updated_at_text": time.strftime("%Y-%m-%d %H:%M:%S", time.localtime(now_ts)),
|
||||
}
|
||||
@@ -559,6 +585,10 @@ class Robot:
|
||||
"logged_in": False,
|
||||
"active": status != "confirmed",
|
||||
"status": status,
|
||||
"provider_name": provider_name,
|
||||
"provider_stage": provider_stage,
|
||||
"connection_ready": connection_ready,
|
||||
"login_required": login_required,
|
||||
"status_text": status_text,
|
||||
"current": current_record,
|
||||
"history": history_records,
|
||||
@@ -571,6 +601,13 @@ class Robot:
|
||||
status = str((payload or {}).get("status", "idle") or "idle").strip() or "idle"
|
||||
status_text = str((payload or {}).get("status_text", "登录流程已结束") or "登录流程已结束").strip()
|
||||
cleared_uuid = str((payload or {}).get("uuid", "") or "").strip()
|
||||
provider_name = str(
|
||||
(payload or {}).get("provider_name", self.ipad_config.get("server_type", "") if self.ipad_config else "")
|
||||
or ""
|
||||
).strip()
|
||||
provider_stage = str((payload or {}).get("provider_stage", "logged_in") or "logged_in").strip()
|
||||
connection_ready = bool((payload or {}).get("connection_ready", True))
|
||||
login_required = bool((payload or {}).get("login_required", False))
|
||||
|
||||
with self._ipad_login_qr_lock:
|
||||
history_records = list(self.ipad_login_qr_state.get("history", []) or [])
|
||||
@@ -586,6 +623,10 @@ class Robot:
|
||||
"logged_in": status in {"confirmed", "logged_in"} or bool(self.wxid),
|
||||
"active": False,
|
||||
"status": status,
|
||||
"provider_name": provider_name,
|
||||
"provider_stage": provider_stage,
|
||||
"connection_ready": connection_ready,
|
||||
"login_required": login_required,
|
||||
"status_text": status_text,
|
||||
"current": {},
|
||||
"history": history_records[:3],
|
||||
|
||||
Reference in New Issue
Block a user