增加数据同步功能,支持从 akshare 拉取合约日线并自动计算振幅

This commit is contained in:
2026-07-24 21:41:38 +08:00
parent 1ff2aa17e8
commit a53b0fcc4c
3 changed files with 167 additions and 1 deletions
+17 -1
View File
@@ -5,6 +5,17 @@
{% block content %}
{# ── Sync Bar ── #}
<div style="display:flex;align-items:center;gap:12px;margin-bottom:20px;padding:14px 18px;background:var(--surface);border:1px solid var(--border);border-radius:10px;">
<span style="font-size:0.85rem;color:var(--sub);">数据同步</span>
<form method="post" action="/admin/sync" style="display:inline;">
<button type="submit" class="btn btn-primary" style="font-size:0.82rem;padding:6px 16px;">同步全部合约</button>
</form>
{% if request.query_params.get('synced') %}
<span style="font-size:0.82rem;color:var(--success-fg);">✓ 已同步 {{ request.query_params.synced }} 条</span>
{% endif %}
</div>
{# ── New Product ── #}
<div class="section-title">新建品种</div>
<div class="form-card" style="margin-bottom:24px;">
@@ -65,7 +76,12 @@
<span class="badge badge-down">停用</span>
{% endif %}
</td>
<td><a href="/contracts/{{ c.code }}" style="color:var(--accent);text-decoration:none;">查看 →</a></td>
<td>
<a href="/contracts/{{ c.code }}" style="color:var(--accent);text-decoration:none;">查看</a>
<form method="post" action="/admin/sync/{{ c.code }}" style="display:inline;margin-left:8px;">
<button style="background:none;border:none;color:var(--accent);cursor:pointer;font-size:0.78rem;">↻ 同步</button>
</form>
</td>
<td>
<form method="post" action="/admin/contract/{{ c.id }}/toggle" style="display:inline;">
<button style="background:none;border:none;color:var(--sub);cursor:pointer;font-size:0.82rem;">