feat(hub): add macro calendar for pre-release risk alerts

Manual FOMC/CPI/employment entries in settings drive ±1h monitor banners without touching exchange instances.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
dekun
2026-06-18 11:52:30 +08:00
parent 3d29b4f9d9
commit e470c5952f
7 changed files with 932 additions and 3 deletions
+37 -2
View File
@@ -15,7 +15,7 @@
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
<link href="https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;500;600&family=Orbitron:wght@500;600;700&display=swap" rel="stylesheet" media="print" onload="this.media='all'" />
<noscript><link href="https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;500;600&family=Orbitron:wght@500;600;700&display=swap" rel="stylesheet" /></noscript>
<link rel="stylesheet" href="/assets/app.css?v=20260614-instance-nav-v2" />
<link rel="stylesheet" href="/assets/app.css?v=20260618-macro-calendar" />
<link rel="stylesheet" href="/assets/account_risk_badge.css?v=1" />
<link rel="stylesheet" href="/assets/dashboard.css?v=20260612-dash-monitor-count" />
</head>
@@ -115,6 +115,12 @@
</div>
</div>
</details>
<div id="monitor-macro-banner" class="monitor-macro-banner hidden" aria-live="polite">
<div class="monitor-macro-banner-inner">
<span class="monitor-macro-badge">宏观风控</span>
<span id="monitor-macro-banner-text" class="monitor-macro-text"></span>
</div>
</div>
<div id="monitor-alert-summary" class="monitor-alert-summary hidden" aria-live="polite"></div>
<div class="toolbar">
<button type="button" id="btn-monitor-refresh" class="primary">立即刷新</button>
@@ -615,6 +621,35 @@
</label>
<p class="settings-display-hint">保存至 hub_settings.json,换浏览器同样生效。关闭导航后对应页面将不可从顶栏进入。</p>
</div>
<div class="settings-macro-panel card">
<h3 class="settings-display-title">宏观关键数据(风控前置)</h3>
<p class="settings-display-hint">
手动录入 FOMC / CPI / 就业数据发布时间(北京时间)。监控区在发布前后各 1 小时提示风险:有仓注意仓位,无仓建议等待。仅提醒,不拦截下单。
</p>
<form id="macro-event-form" class="macro-event-form">
<label class="macro-event-field">
<span>数据名称</span>
<select id="macro-event-type" required>
<option value="fomc">FOMC 联邦基金利率</option>
<option value="cpi">美国 CPI 通胀</option>
<option value="employment">就业与劳工数据</option>
</select>
</label>
<label class="macro-event-field">
<span>发布时间(北京)</span>
<input id="macro-event-at" type="datetime-local" required />
</label>
<label class="macro-event-field macro-event-field-wide">
<span>备注(可选)</span>
<input id="macro-event-note" type="text" maxlength="500" placeholder="如:仅关注核心 CPI" autocomplete="off" />
</label>
<div class="macro-event-actions">
<button type="submit" id="macro-event-submit" class="primary">添加</button>
<button type="button" id="macro-event-cancel" class="ghost hidden">取消编辑</button>
</div>
</form>
<div id="macro-event-list" class="macro-event-list"></div>
</div>
<div class="toolbar">
<button type="button" id="btn-settings-save" class="primary">保存设置</button>
<button type="button" id="btn-settings-add">添加交易所</button>
@@ -654,6 +689,6 @@
<script src="/assets/dashboard.js?v=20260612-dash-monitor-count"></script>
<script src="/assets/ai_review_render.js?v=3"></script>
<script src="/assets/time_close_ui.js?v=2"></script>
<script src="/assets/app.js?v=20260614-instance-nav-v2"></script>
<script src="/assets/app.js?v=20260618-macro-calendar"></script>
</body>
</html>