Commit 384e2be8 authored by 郭阔's avatar 郭阔

feat(latest): 最近抓取分页,每页 10 场(页码导航+上下页)

parent 049dc070
......@@ -1450,7 +1450,15 @@ def latest_content():
get_business_result(run["data"])[0]),
})
cards.sort(key=lambda c: c["run_at"], reverse=True)
return render_template("latest.html", cards=cards[:80])
total = len(cards)
per_page = 10
pages = max(1, (total + per_page - 1) // per_page)
try:
page = max(1, min(pages, int(request.args.get("page", 1))))
except ValueError:
page = 1
return render_template("latest.html", cards=cards[(page - 1) * per_page:page * per_page],
page=page, pages=pages, total=total)
@app.route("/schedules")
......
{% extends "base.html" %}
{% block title %}最近抓取 — News Harvester{% endblock %}
{% block title %}最近抓取 — News Harvester{% if pages > 1 %}
<div style="display:flex;gap:6px;justify-content:center;align-items:center;margin:16px 0;flex-wrap:wrap">
{% if page > 1 %}<a class="btn btn-sm" href="?page={{ page - 1 }}">← 上一页</a>{% endif %}
{% for p in range(1, pages + 1) %}
{% if p == page %}<span class="btn btn-sm" style="background:#2a3a5a;cursor:default">{{ p }}</span>
{% else %}<a class="btn btn-sm" href="?page={{ p }}">{{ p }}</a>{% endif %}
{% endfor %}
{% if page < pages %}<a class="btn btn-sm" href="?page={{ page + 1 }}">下一页 →</a>{% endif %}
</div>
{% endif %}
{% endblock %}
{% block extra_head %}
<style>
details.lcard { background:#161923; border:1px solid #2a2d37; border-radius:6px; margin:10px 0; padding:0; }
......@@ -12,12 +23,23 @@
ul.arts li { padding:4px 0; display:flex; align-items:center; gap:8px; flex-wrap:wrap; }
ul.arts li .t { flex:1 1 auto; min-width:200px; }
</style>
{% if pages > 1 %}
<div style="display:flex;gap:6px;justify-content:center;align-items:center;margin:16px 0;flex-wrap:wrap">
{% if page > 1 %}<a class="btn btn-sm" href="?page={{ page - 1 }}">← 上一页</a>{% endif %}
{% for p in range(1, pages + 1) %}
{% if p == page %}<span class="btn btn-sm" style="background:#2a3a5a;cursor:default">{{ p }}</span>
{% else %}<a class="btn btn-sm" href="?page={{ p }}">{{ p }}</a>{% endif %}
{% endfor %}
{% if page < pages %}<a class="btn btn-sm" href="?page={{ page + 1 }}">下一页 →</a>{% endif %}
</div>
{% endif %}
{% endblock %}
{% block content %}
<h1>最近抓取</h1>
<p style="color:#666;font-size:13px">
最近 24 小时内每次运行各一张卡片(同源多场并列,如补跑+定时各一张),按运行时间倒序;点击标题打开原文链接。
最近 24 小时内每次运行各一张卡片(共 {{ total }} 场),按运行时间倒序,每页 10 场;点击标题打开原文链接。
带已取尽标记=该源近期无新文章(正常),空列表=本次未交付(看上次运行详情排查)。
</p>
......@@ -50,4 +72,15 @@
</details>
{% endfor %}
{% if pages > 1 %}
<div style="display:flex;gap:6px;justify-content:center;align-items:center;margin:16px 0;flex-wrap:wrap">
{% if page > 1 %}<a class="btn btn-sm" href="?page={{ page - 1 }}">← 上一页</a>{% endif %}
{% for p in range(1, pages + 1) %}
{% if p == page %}<span class="btn btn-sm" style="background:#2a3a5a;cursor:default">{{ p }}</span>
{% else %}<a class="btn btn-sm" href="?page={{ p }}">{{ p }}</a>{% endif %}
{% endfor %}
{% if page < pages %}<a class="btn btn-sm" href="?page={{ page + 1 }}">下一页 →</a>{% endif %}
</div>
{% endif %}
{% endblock %}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment