feat(instance): add exchange account ledger tab with SSE sync

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
dekun
2026-08-10 09:51:45 +08:00
parent 425fc701bc
commit 245b85ad27
26 changed files with 1994 additions and 5 deletions
+10 -1
View File
@@ -155,6 +155,7 @@
</div>
<div class="top-nav">
<a href="/dashboard" data-embed-tab="dashboard" class="{% if page == 'dashboard' %}active{% endif %}"{% if not display.show_nav_dashboard %} style="display:none"{% endif %}>数据看板</a>
<a href="/account_ledger" data-embed-tab="account_ledger" class="{% if page == 'account_ledger' %}active{% endif %}"{% if not display.show_nav_account_ledger %} style="display:none"{% endif %}>账户流水</a>
<a href="/key_monitor" class="{% if page == 'key_monitor' %}active{% endif %}"{% if not display.show_nav_key_monitor %} style="display:none"{% endif %}>关键位监控</a>
<a href="/trade" class="{% if page == 'trade' %}active{% endif %}"{% if not display.show_nav_trade %} style="display:none"{% endif %}>实盘下单</a>
{% if not intraday_discipline and display.show_nav_strategy %}
@@ -197,6 +198,8 @@
<div class="grid">
{% if page == 'dashboard' %}
{% include 'dashboard_panel.html' %}
{% elif page == 'account_ledger' %}
{% include 'account_ledger_panel.html' %}
{% elif page == 'key_monitor' %}
{% include 'key_monitor_panel.html' %}
{% elif page == 'trade' %}
@@ -2028,6 +2031,7 @@ setInterval(refreshPriceSnapshotConditional, {{ price_refresh_seconds * 1000 }})
<script src="/static/records_review_page.js?v=4"></script>
<script src="/static/options_expiry_countdown.js?v=1"></script>
<script src="/static/instance_dashboard.js?v=5"></script>
<script src="/static/account_ledger.js?v=1"></script>
<script>
window.__INSTANCE_DISPLAY__ = {{ display | tojson }};
{% if page == 'dashboard' %}
@@ -2035,7 +2039,12 @@ document.addEventListener("DOMContentLoaded", function () {
if (window.InstanceDashboard) InstanceDashboard.init(true);
});
{% endif %}
{% if page == 'account_ledger' %}
document.addEventListener("DOMContentLoaded", function () {
if (window.AccountLedgerPage) AccountLedgerPage.boot();
});
{% endif %}
</script>
<script src="/static/instance_settings_prefs.js?v=18"></script>
<script src="/static/instance_settings_prefs.js?v=19"></script>
</body>
</html>