+ 启用账号
+ {{ enabled_accounts|length }}
+
-
+ 总账号 {{ accounts|length }}
+
diff --git a/DouYinSparkFlow/config.json b/DouYinSparkFlow/config.json index dc68a70..0d0a0a2 100644 --- a/DouYinSparkFlow/config.json +++ b/DouYinSparkFlow/config.json @@ -35,6 +35,5 @@ "happyNewYear": { "enabled": true, "messageTemplate": "\r\n" - }, - "useProtocolSender": false -} \ No newline at end of file + } +} diff --git a/DouYinSparkFlow/core/tasks.py b/DouYinSparkFlow/core/tasks.py index f327e65..a6288e0 100644 --- a/DouYinSparkFlow/core/tasks.py +++ b/DouYinSparkFlow/core/tasks.py @@ -374,7 +374,18 @@ def _select_due_targets(user, send_window, now): microsecond=0, ) if now < window_start or now > window_end: - return [], [], [(target, _scheduled_send_time(user, target, send_window, now)) for target in targets], [] + already_sent = [] + pending_targets = [] + queued_failures = [] + for target_name in targets: + if _target_sent_today(user, target_name, now): + already_sent.append(target_name) + continue + if _target_failed_today(user, target_name, now): + queued_failures.append(target_name) + continue + pending_targets.append((target_name, _scheduled_send_time(user, target_name, send_window, now))) + return [], already_sent, pending_targets, queued_failures due_targets = [] already_sent = [] diff --git a/DouYinSparkFlow/webui/app.py b/DouYinSparkFlow/webui/app.py index d9cc4e7..6e43fee 100644 --- a/DouYinSparkFlow/webui/app.py +++ b/DouYinSparkFlow/webui/app.py @@ -575,9 +575,9 @@ def create_app(): pid = run_task_now() if pid == -1: - flash(request, "Failed to start failed-target retry run. Check server logs for details.", "error") + flash(request, "Failed to start the full resend run. Check server logs for details.", "error") else: - flash(request, f"Triggered a failed-target retry run in the background (pid {pid}).", "success") + flash(request, f"Triggered a full resend run in the background (pid {pid}).", "success") return redirect("/") @app.post("/ops/proxy/refresh") diff --git a/DouYinSparkFlow/webui/ops.py b/DouYinSparkFlow/webui/ops.py index 8a36213..bdfe93a 100644 --- a/DouYinSparkFlow/webui/ops.py +++ b/DouYinSparkFlow/webui/ops.py @@ -196,7 +196,6 @@ def run_task_now(): cwd=cwd, env={ "SPARKFLOW_MANUAL_RUN": "1", - "SPARKFLOW_MANUAL_FAILED_ONLY": "1", "PYTHONUNBUFFERED": "1", }, ) diff --git a/DouYinSparkFlow/webui/templates/base.html b/DouYinSparkFlow/webui/templates/base.html index b58e20c..d364ca7 100644 --- a/DouYinSparkFlow/webui/templates/base.html +++ b/DouYinSparkFlow/webui/templates/base.html @@ -1,41 +1,57 @@ +{% set current_nav %}{% block nav_key %}dashboard{% endblock %}{% endset %}
-登录完成后,再点击“保存当前登录账号”,把当前浏览器中的账号写入后台。
+直接在网页中操作远端浏览器完成扫码、验证码与创作者中心登录,登录完成后可一键保存当前账号。
展示今天的成功、失败、待发送与待补发状态。失败目标可在详情页单独重试。
-| 账号 | -今日成功 | -失败待补发 | -待发送 | -未处理 | -最后失败原因 | -
|---|---|---|---|---|---|
| {{ row.username }} {{ row.unique_id }} |
- {{ row.sent_targets|length }} | -{{ row.failed_targets|length }} | -{{ row.pending_targets|length }} | -{{ row.unprocessed_targets|length }} | -{{ row.last_failure_reason or "-" }} | -
| 暂无发送状态摘要。 | |||||
多账号、目标好友、启停状态、交互式登录同步都在这里集中管理。
-持续轮询远端交互式桌面状态