feat: auto-prepare chrome for collection
This commit is contained in:
+33
-2
@@ -200,8 +200,8 @@ class CollectTab(QWidget):
|
||||
def _show_account_guide(self, message):
|
||||
full_message = (
|
||||
f"{message}\n\n"
|
||||
"本轮采集已中止,不会自动打开账号 Chrome。\n"
|
||||
"请先到「④ 账号管理」配置账号、启动对应账号 Chrome,并确认已人工登录蝦皮。"
|
||||
"本轮采集已中止。\n"
|
||||
"请先到「④ 账号管理」检查账号配置、Chrome 路径和登录状态。"
|
||||
)
|
||||
QMessageBox.warning(self, "账号未就绪", full_message)
|
||||
self._set_status(full_message.replace("\n", " "))
|
||||
@@ -647,6 +647,7 @@ class CollectTab(QWidget):
|
||||
skipped=payload.get("skipped", 0),
|
||||
failed=payload.get("failed", 0),
|
||||
)
|
||||
self._show_collect_account_summary(payload, message)
|
||||
if payload.get("collected", 0) > 0:
|
||||
batch_id = self._active_batch_id()
|
||||
if batch_id and self._start_write_back(batch_id, auto=True):
|
||||
@@ -674,6 +675,12 @@ class CollectTab(QWidget):
|
||||
"以下账号 Chrome 未启动或调试端口不可访问:"
|
||||
+ "、".join(self._account_label(item) for item in not_running)
|
||||
)
|
||||
launch_failed = payload.get("launch_failed") or []
|
||||
if launch_failed:
|
||||
lines.append(
|
||||
"以下账号 Chrome 启动失败:"
|
||||
+ "、".join(self._account_label(item) for item in launch_failed)
|
||||
)
|
||||
logged_out = payload.get("logged_out") or []
|
||||
if logged_out:
|
||||
lines.append(
|
||||
@@ -682,6 +689,30 @@ class CollectTab(QWidget):
|
||||
)
|
||||
self._show_account_guide("\n".join(lines))
|
||||
|
||||
def _show_collect_account_summary(self, payload, message):
|
||||
launched = payload.get("launched_accounts") or []
|
||||
reused = payload.get("reused_accounts") or []
|
||||
login_required = payload.get("login_required_accounts") or []
|
||||
if not launched and not reused and not login_required:
|
||||
return
|
||||
lines = [message]
|
||||
if launched:
|
||||
lines.append(
|
||||
"本轮已自动启动账号 Chrome:"
|
||||
+ "、".join(self._account_label(item) for item in launched)
|
||||
)
|
||||
if login_required:
|
||||
lines.append(
|
||||
"以下账号需要补登录:"
|
||||
+ "、".join(self._account_label(item) for item in login_required)
|
||||
)
|
||||
lines.append("采集结束后不会自动关闭账号 Chrome,请按需自行关闭。")
|
||||
text = "\n".join(lines)
|
||||
if login_required:
|
||||
QMessageBox.warning(self, "采集完成", text)
|
||||
else:
|
||||
QMessageBox.information(self, "采集完成", text)
|
||||
|
||||
def _account_label(self, item):
|
||||
if isinstance(item, dict):
|
||||
name = item.get("account_name") or item.get("alias") or ""
|
||||
|
||||
Reference in New Issue
Block a user