feat: integrate iFinD data and refine intelligent workspaces

This commit is contained in:
leefer
2026-07-28 16:38:56 +08:00
parent 6adeb54458
commit f4b2d7152a
22 changed files with 6481 additions and 389 deletions
+180 -145
View File
@@ -3,12 +3,26 @@
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="color-scheme" content="light">
<meta name="color-scheme" content="light dark">
<title>小白复盘</title>
<script>
(() => {
let theme = "light";
try {
theme = localStorage.getItem("xiaobaiTheme") === "dark" ? "dark" : "light";
} catch (_error) {
theme = "light";
}
document.documentElement.dataset.theme = theme;
document.documentElement.style.colorScheme = theme;
})();
</script>
<link rel="stylesheet" href="/styles.css">
<link rel="stylesheet" href="/renovation.css?v=20260725-5">
<link rel="stylesheet" href="/redesign-v2.css?v=20260726-33">
<link rel="stylesheet" href="/design-system.css?v=20260726-7">
<link rel="stylesheet" href="/redesign-v2.css?v=20260726-34">
<link rel="stylesheet" href="/design-system.css?v=20260728-4">
<link rel="stylesheet" href="/theme.css?v=20260728-1">
<link rel="stylesheet" href="/wentian-v2.css?v=20260728-7">
</head>
<body>
<section id="authGate" class="auth-gate" aria-label="账号登录">
@@ -47,6 +61,7 @@
<button id="nextDate" class="icon-button" type="button" title="后一个交易日" aria-label="后一个交易日"><i data-lucide="chevron-right"></i></button>
</div>
<button id="globalSearchButton" class="icon-button global-search-button" type="button" title="全局搜索(Ctrl+K" aria-label="全局搜索"><i data-lucide="search"></i></button>
<button id="themeToggle" class="icon-button theme-toggle" type="button" title="切换到夜间模式" aria-label="切换到夜间模式" aria-pressed="false"><i data-lucide="moon"></i></button>
<button id="alertButton" class="icon-button alert-button" type="button" title="提醒中心" aria-label="提醒中心"><i data-lucide="bell"></i><span id="alertBadge" class="alert-badge" hidden>0</span></button>
<button id="assistantButton" class="icon-button assistant-button" type="button" title="复盘助手" aria-label="复盘助手"><i data-lucide="message-circle-more"></i></button>
<button id="headerMenuButton" class="icon-button header-menu-button" type="button" title="打开命令菜单" aria-label="打开命令菜单" aria-expanded="false" aria-controls="headerCommandGroup"><i data-lucide="ellipsis"></i></button>
@@ -498,40 +513,49 @@
</div>
</section>
<section id="heavenView" class="workspace-view member-feature-view">
<section id="heavenView" class="workspace-view member-feature-view heaven-shell wt">
<div class="member-gate" hidden><div class="member-gate-icon"><i data-lucide="lock-keyhole"></i></div><div><strong>问天仅对会员开放</strong><span>开通会员后可使用观势、观气、观心及平台解读。会员状态可从顶部账号标识进入。</span></div></div>
<div class="section-toolbar heaven-toolbar">
<div class="section-title-group">
<h2><span class="heaven-title-seal" aria-hidden="true"></span></h2>
<span id="heavenDataDate" class="section-subtitle">--</span>
<header class="wt-head">
<div class="wt-title-line">
<h1 class="wt-serif"></h1>
<span id="heavenDataDate">--</span>
</div>
</div>
<div class="heaven-tabs" role="tablist" aria-label="问天模块">
<button class="heaven-tab active" type="button" data-heaven-panel="trend">观势</button>
<button class="heaven-tab" type="button" data-heaven-panel="fortune">观气</button>
<button class="heaven-tab" type="button" data-heaven-panel="heart">观心</button>
</div>
<p class="heaven-proverb">遇事不决可问春风,春风不语即随本心</p>
<div id="heavenNotice" class="inline-notice" hidden></div>
<div class="verse wt-serif">观天之道 · 执天之行</div>
<nav class="wt-tabs" aria-label="问天模块">
<button class="wt-tab wt-serif on" type="button" data-heaven-panel="trend" aria-current="page">观势<small>三才六爻 · 量化成卦</small></button>
<button class="wt-tab wt-serif" type="button" data-heaven-panel="fortune">观气<small>五运六气 · 日辰生克</small></button>
<button class="wt-tab wt-serif" type="button" data-heaven-panel="heart">观心<small>静心占卜 · 第一念</small></button>
</nav>
</header>
<p class="heaven-proverb wt-serif">遇事不决可问春风,春风不语即随本心</p>
<div id="heavenNotice" class="inline-notice" role="status" hidden></div>
<section id="heavenTrendPanel" class="heaven-panel active-heaven-panel">
<div class="heaven-controls">
<div class="heaven-stock-query">
<label class="form-field"><span>股票代码或名称</span><input id="heavenStockInput" type="text" inputmode="text" maxlength="30" placeholder="例如 600000 或 浦发银行"></label>
<label class="form-field" for="heavenStockInput"><span>股票代码或名称</span><input id="heavenStockInput" type="text" inputmode="text" maxlength="30" autocomplete="off" placeholder="例如 600000 或 浦发银行"></label>
<div id="heavenStockIdentity" class="heaven-stock-identity" aria-live="polite" hidden>
<span>当前标的</span>
<span>当前标的</span>
<strong id="heavenStockName">--</strong>
<small id="heavenStockSector">--</small>
<span id="heavenStockTaxonomy">申万二级 ·</span>
<strong id="heavenStockSector">--</strong>
</div>
</div>
<div class="heaven-trend-actions">
<button id="loadHeavenSelectionButton" class="button" type="button">载入</button>
<button id="historyTrendButton" class="button" type="button"><i data-lucide="history"></i><span>历史记录</span></button>
<button id="historyTrendButton" class="button" type="button">历史记录</button>
<button id="interpretTrendButton" class="button primary" type="button" disabled>解势</button>
</div>
</div>
<div id="heavenTrendEmpty" class="heaven-trend-empty" role="status">请输入股票代码或股票名称</div>
<div class="heaven-trend-layout" hidden>
<div class="cast-hint wt-serif">载入,以指数为天、行业为人、个股为地,六爻皆由行情量化而成</div>
<div class="wt-stage">
<div class="stars" id="stars" aria-hidden="true"></div>
<svg class="bagua" id="baguaSvg" width="560" height="560" viewBox="0 0 300 300" aria-hidden="true"></svg>
<div id="heavenTrendEmpty" class="wt-empty" role="status">
<div class="big wt-serif">三才六爻</div>
<p class="wt-serif">指数外显为上爻 · 内核为五爻 · 行业外显为四爻 · 内核为三爻 · 个股外显为二爻 · 内核为初爻<br>六爻皆由行情量化而成 —— 输入标的,点「载入」成卦</p>
</div>
<div class="heaven-trend-layout stage-in" hidden>
<section class="hexagram-board">
<div class="hexagram-heading">
<div><span class="metric-label">三才六爻</span><h3 id="marketHexagramName">--</h3></div>
@@ -551,184 +575,164 @@
<div class="trend-score-marks"><span>-100 · 势衰</span><span>0</span><span>+100 · 势盛</span></div>
</div>
<div id="threeTalentReadings" class="three-talent-readings"></div>
<div id="heavenIndexStrip" class="heaven-index-strip"></div>
<details class="trend-evidence-panel">
<summary>三才取象之据<i data-lucide="chevron-down" aria-hidden="true"></i></summary>
<div id="heavenTrendEvidence" class="trend-evidence-body"></div>
</details>
<div class="heaven-hex-transition" aria-label="本卦与之卦">
<figure class="compact-hex-figure">
<div id="heavenOriginalHexLines" class="compact-hex-lines" aria-hidden="true"></div>
<figcaption><strong>本卦 · <b id="heavenOriginalHexName">--</b></strong><small id="heavenOriginalHexDetail">--</small></figcaption>
</figure>
<div class="compact-hex-change"><i aria-hidden="true"></i><span>动而之卦</span></div>
<figure class="compact-hex-figure">
<div id="heavenChangedHexLines" class="compact-hex-lines" aria-hidden="true"></div>
<figcaption><strong>之卦 · <b id="heavenChangedHexName">--</b></strong><small id="heavenChangedHexDetail">--</small></figcaption>
</figure>
</div>
</section>
</div>
<section id="heavenCalibrationPanel" class="heaven-calibration-panel" aria-labelledby="heavenCalibrationTitle" hidden>
<div class="heaven-calibration-heading">
<div>
<span class="metric-label">量化数据安全门</span>
<h3 id="heavenCalibrationTitle">六爻数据校验</h3>
</div>
</div>
<details id="heavenCalibrationPanel" class="heaven-calibration-panel" hidden>
<summary class="heaven-calibration-heading">
<div><span class="metric-label">量化数据安全门</span><h3 id="heavenCalibrationTitle">六爻数据校验</h3></div>
<div class="heaven-calibration-summary">
<span><i class="status-dot passed"></i>通过</span>
<span><i class="status-dot failed"></i>未通过</span>
<span><i class="status-dot manual"></i>用户补录</span>
<strong id="heavenCalibrationStatus">等待载入</strong>
<b class="fold-label">展开</b>
</div>
</summary>
<div class="calibration-body">
<p>系统只接收客观行情数据,所有补录仍按原量化公式计算阴阳与动爻。</p>
<form id="heavenCalibrationForm">
<div id="heavenLineChecks" class="heaven-line-checks" aria-live="polite"></div>
<label class="form-field calibration-note-field"><span>补录说明</span><input id="heavenCalibrationNote" type="text" maxlength="200" placeholder="可选:记录数据来源或补录原因"></label>
<div class="dialog-actions heaven-calibration-actions">
<button id="resetHeavenCalibrationButton" class="button" type="button">恢复自动数据</button>
<button id="applyHeavenCalibrationButton" class="button primary" type="submit">重新校验并成卦</button>
</div>
</form>
</div>
<p>系统只接收客观行情数据,所有补录仍按原量化公式计算阴阳与动爻。</p>
<form id="heavenCalibrationForm">
<div id="heavenLineChecks" class="heaven-line-checks" aria-live="polite"></div>
<label class="form-field calibration-note-field"><span>补录说明</span><input id="heavenCalibrationNote" type="text" maxlength="200" placeholder="可选:记录数据来源或补录原因"></label>
<div class="dialog-actions heaven-calibration-actions">
<button id="resetHeavenCalibrationButton" class="button" type="button">恢复自动数据</button>
<button id="applyHeavenCalibrationButton" class="button primary" type="submit">重新校验并成卦</button>
</div>
</form>
</section>
</details>
</section>
<section id="heavenFortunePanel" class="heaven-panel">
<div class="fortune-heading">
<div class="fortune-calendar-heading"><span id="fortuneLunarDate" class="metric-label">--</span><h3 id="fortunePillars">--</h3></div>
<div class="fortune-calendar-heading"><span id="fortuneLunarDate" class="metric-label">--</span><h3 id="fortunePillars" class="wt-serif">--</h3></div>
<div class="fortune-heading-actions">
<label class="qi-time-field"><span>观测日期</span><input id="qiObservationDate" type="date"></label>
<button id="historyFortuneButton" class="button" type="button"><i data-lucide="history"></i><span>历史记录</span></button>
<button id="interpretFortuneButton" class="button primary" type="button">解运</button>
<button id="historyFortuneButton" class="button" type="button">历史记录</button>
<button id="interpretFortuneButton" class="button primary" type="button" disabled>解运</button>
</div>
</div>
<div class="qi-hero">
<section class="human-field-panel qi-climate-panel">
<canvas id="qiFieldCanvas" aria-hidden="true"></canvas>
<div class="qi-climate-center">
<span class="qi-section-mark">壹 · 天</span>
<div class="qi-climate-heading">
<div><span>今日气候</span><h3 id="qiClimateKeyword">--</h3></div>
<strong id="qiClimateTone">--</strong>
</div>
<p id="humanFieldSummary" class="human-field-summary">--</p>
</div>
<div class="fortune-stage">
<div class="stars" id="fortuneStars" aria-hidden="true"></div>
<svg class="bagua fortune-bagua" id="fortuneBagua" width="560" height="560" viewBox="0 0 300 300" aria-hidden="true"></svg>
<section class="qi-climate-panel">
<span class="qi-section-mark">壹 · 天</span>
<p class="qi-climate-caption wt-serif">今日气候</p>
<h3 id="qiClimateKeyword" class="wt-serif">气机待察</h3>
<strong id="qiClimateTone" class="wt-serif">--</strong>
<p id="humanFieldSummary" class="human-field-summary">--</p>
</section>
<section class="five-phase-panel">
<div class="workspace-heading"><h3>五行流转</h3><span>强弱 · 心性 · 流向</span></div>
<div id="fivePhaseBalance" class="five-phase-balance"></div>
</section>
</div>
<section class="qi-framework-panel">
<div class="workspace-heading"><h3>三层气机</h3><span id="qiFrameworkPrinciple">--</span></div>
<div id="qiFrameworkLayers" class="qi-framework-layers"></div>
</section>
<section class="qi-instincts-panel">
<div class="human-field-grid">
<div><span><i data-lucide="heart-pulse"></i>容易生起</span><strong id="humanEmotionList">--</strong></div>
<div><span><i data-lucide="scan-eye"></i>判断偏差</span><strong id="humanBiasList">--</strong></div>
<div><span><i data-lucide="mouse-pointer-click"></i>操作惯性</span><strong id="humanOperation">--</strong></div>
<div><span><i data-lucide="shield-check"></i>风险与制衡</span><strong id="humanBalanceActions">--</strong></div>
</div>
</section>
<section class="personal-fortune-panel">
<div class="workspace-heading"><h3>个人影响</h3><span>日主、十神喜恶、五行喜忌与当日作用</span></div>
<div id="personalProfileEmpty" class="personal-profile-empty">
<span>当前账号尚未设置个人命理资料</span>
<button id="openPersonalSettingsButton" class="button" type="button">前往设置</button>
</div>
<div id="personalFortuneResult" class="personal-fortune-result" hidden></div>
</section>
<section class="qi-use-panel">
<div class="workspace-heading"><div><span>叁 · 用</span><h3 id="phaseSectorTitle">五行行业归属</h3></div><span id="phaseSectorContext">传统取象 · 手动归类优先</span></div>
<div id="qiUseMap" class="qi-use-map">
<div id="qiUseSources" class="qi-use-sources" aria-label="五行气场来源"></div>
<svg id="qiUseConnections" class="qi-use-connections" aria-hidden="true"></svg>
<div id="phaseSectorList" class="phase-sector-list qi-sector-groups" aria-label="五行行业归类"></div>
</div>
</section>
<details class="phase-sector-panel qi-evidence-panel">
<summary class="qi-evidence-summary">
<div><span>次要信息</span><h3>历法细目与归类管理</h3></div>
<span>展开查看推演依据</span>
<i data-lucide="chevron-down" aria-hidden="true"></i>
</summary>
<div class="qi-evidence-body">
<section class="qi-detail-section">
<div class="workspace-heading"><h3>历法细目</h3><span>中运、司天、在泉与节气定位</span></div>
<div id="fortuneMetrics" class="fortune-metrics"></div>
<aside class="fortune-basics">
<section class="qi-framework-panel">
<div class="workspace-heading"><div><span>贰 · 气</span><h3 class="wt-serif">三层气机</h3></div><button class="text-fold-button" type="button" data-fold-target="qiFrameworkLayers">收起</button></div>
<p id="qiFrameworkPrinciple" class="qi-framework-principle">--</p>
<div id="qiFrameworkLayers" class="qi-framework-layers"></div>
</section>
<details id="sectorPhaseManager" class="sector-phase-manager">
<summary class="sector-phase-manager-heading"><strong>管理手动归类</strong><span>精确名称优先</span><i data-lucide="chevron-down" aria-hidden="true"></i></summary>
<div class="sector-phase-manager-body">
<form id="sectorPhaseForm" class="sector-phase-form">
<input id="sectorPhaseName" type="text" maxlength="50" placeholder="行业或题材名称" aria-label="行业或题材名称" required>
<select id="sectorPhaseElement" aria-label="五行归类"><option value="木"></option><option value="火"></option><option value="土"></option><option value="金"></option><option value="水"></option></select>
<button class="button" type="submit">保存归类</button>
</form>
<div id="sectorPhaseOverrides" class="sector-phase-overrides"></div>
</div>
</details>
</div>
<section class="personal-fortune-panel">
<div class="workspace-heading"><div><span>叁 · 人</span><h3 class="wt-serif">个人合参</h3></div></div>
<div id="personalProfileEmpty" class="personal-profile-empty"><span>当前账号尚未设置个人命理资料</span></div>
<div id="personalFortuneResult" class="personal-fortune-result" hidden></div>
</section>
</aside>
</div>
<details id="fortuneSectorCatalog" class="fortune-sector-catalog">
<summary>
<span><small>五行取象</small><strong class="wt-serif">五行对应行业</strong></span>
<span class="fortune-sector-summary-hint">展开查看全部行业 <i aria-hidden="true"></i></span>
</summary>
<div id="fortuneSectorGroups" class="fortune-sector-groups"></div>
</details>
<p id="fortuneNotice" class="heaven-footnote"></p>
<div class="wentian-legacy-hooks" hidden aria-hidden="true">
<canvas id="qiFieldCanvas"></canvas>
<div id="heavenIndexStrip"></div><div id="heavenTrendEvidence"></div>
<div id="fortuneMetrics"></div><div id="fivePhaseBalance"></div>
<div id="humanEmotionList"></div><div id="humanBiasList"></div><div id="humanOperation"></div><div id="humanBalanceActions"></div>
<div id="phaseSectorTitle"></div><div id="phaseSectorContext"></div>
<div id="qiUseMap"><div id="qiUseSources"></div><svg id="qiUseConnections"></svg><div id="phaseSectorList"></div></div>
<button id="openPersonalSettingsButton" type="button"></button>
<details id="sectorPhaseManager"><summary>归类管理</summary><form id="sectorPhaseForm"><input id="sectorPhaseName"><select id="sectorPhaseElement"><option value="木"></option></select><button type="submit">保存</button></form><div id="sectorPhaseOverrides"></div></details>
</div>
</section>
<section id="heavenHeartPanel" class="heaven-panel">
<canvas id="heartDustCanvas" class="heart-dust-canvas" aria-hidden="true"></canvas>
<div id="heartLamp" class="heart-lamp" aria-hidden="true"></div>
<div class="heart-toolbar-controls">
<button id="historyHeartButton" class="heart-history-button" type="button" aria-label="查看观心历史记录" title="历史记录">
<i data-lucide="history"></i><span>历史记录</span>
</button>
<button id="heartSoundToggle" class="heart-sound-toggle" type="button" aria-pressed="false" aria-label="开启观心声音" title="声音">
<i data-lucide="volume-x"></i><span>静音</span>
</button>
<div class="heart-journey" aria-label="观心进程">
<span class="active" data-heart-step="intro"><i></i>静心</span><b></b>
<span data-heart-step="breathing"><i></i>呼吸</span><b></b>
<span data-heart-step="casting"><i></i>起卦</span><b></b>
<span data-heart-step="reveal"><i></i>察念</span><b></b>
<span data-heart-step="interpretation"><i></i>解卦</span>
</div>
<div id="heartRitualCurtain" class="heart-ritual-curtain" aria-hidden="true">
<i class="heart-daybreak-dark"></i><strong>观 心</strong><span>心静,而后问</span>
</div>
<div id="heartIntro" class="heart-stage active-heart-stage">
<div class="heart-stage-shell">
<canvas id="heartDustCanvas" hidden></canvas><div id="heartLamp" hidden></div><div id="heartRitualCurtain" hidden></div><div id="heartLineTexts" hidden></div>
<div class="stars" id="heartStars" aria-hidden="true"></div>
<svg class="bagua heart-bagua" id="heartBagua" width="560" height="560" viewBox="0 0 300 300" aria-hidden="true"></svg>
<div id="heartWhispers" class="heart-whispers" aria-hidden="true"></div>
<div class="heart-toolbar-controls">
<button id="historyHeartButton" class="button" type="button">历史记录</button>
<button id="heartSoundToggle" class="button" type="button" aria-pressed="false">静音</button>
</div>
<div id="heartIntro" class="heart-stage active-heart-stage">
<div class="heart-stage-inner">
<span class="heart-stage-index heart-rise" data-heart-delay="0">观心 · 一</span>
<h3 class="heart-rise" data-heart-delay="420">把所问之事留在心里</h3>
<h3 class="heart-rise wt-serif" data-heart-delay="420">把所问之事留在心里</h3>
<div class="heart-guidance heart-rise" data-heart-delay="900">
<p>只问一事,不必说出来。</p>
<p>心里默念它发生的对象与时间。</p>
<p>不求一个喜欢的答案,只看自己真正担心什么。</p>
</div>
<blockquote class="heart-motto heart-rise" data-heart-delay="1500">遇事不决可问春风,春风不语即随本心</blockquote>
<blockquote class="heart-motto heart-rise wt-serif" data-heart-delay="1500">遇事不决可问春风,春风不语即随本心</blockquote>
<button id="startBreathingButton" class="button primary heart-rise" data-heart-delay="2200" type="button">开始静心</button>
</div>
</div>
<div id="heartBreathing" class="heart-stage">
<button class="button heart-return-button" type="button" data-heart-return><i data-lucide="arrow-left"></i><span>返回</span></button>
<button class="button heart-return-button" type="button" data-heart-return>← 返回</button>
<div class="heart-stage-inner breathing-stage">
<span class="heart-stage-index">观心 · 二</span>
<div id="breathingScene" class="breathing-scene" data-phase="prepare">
<div class="heart-breath-ripple" aria-hidden="true"><span></span><span></span><span></span><i></i></div>
<b id="breathingPhase" class="breathing-phase" role="status" aria-live="polite"></b>
</div>
<h3 id="breathingPrompt">放松片刻,准备呼吸</h3>
<h3 id="breathingPrompt" class="wt-serif">放松片刻,准备呼吸</h3>
<div class="heart-incense" aria-hidden="true"><i id="heartIncenseEmber"></i></div>
<button id="beginCastingButton" class="button primary" type="button" disabled>静心完成,开始起卦</button>
</div>
</div>
<div id="heartCasting" class="heart-stage">
<button class="button heart-return-button" type="button" data-heart-return><i data-lucide="arrow-left"></i><span>返回</span></button>
<button class="button heart-return-button" type="button" data-heart-return>← 返回</button>
<div class="heart-casting-layout">
<section class="heart-hexagram-shell">
<div class="workspace-heading"><h3>从初爻起</h3><span id="castingProgress">0 / 6</span></div>
<div class="workspace-heading"><h3 class="wt-serif">从初爻起</h3><span id="castingProgress">0 / 6</span></div>
<div id="heartCastingLines" class="hexagram-lines ritual-lines"></div>
</section>
<section class="casting-action-panel">
<span class="heart-stage-index">观心 · 三</span>
<div id="coinResult" class="heart-coins" aria-label="三枚铜钱">
<div class="heart-coin" data-coin-index="0"><div class="heart-coin-inner"><span class="heart-coin-face front"></span><span class="heart-coin-face back"></span></div><i class="heart-coin-ring"></i></div>
<div class="heart-coin" data-coin-index="1"><div class="heart-coin-inner"><span class="heart-coin-face front"></span><span class="heart-coin-face back"></span></div><i class="heart-coin-ring"></i></div>
<div class="heart-coin" data-coin-index="2"><div class="heart-coin-inner"><span class="heart-coin-face front"></span><span class="heart-coin-face back"></span></div><i class="heart-coin-ring"></i></div>
<div class="heart-coin" data-coin-index="0"><div class="heart-coin-inner"><span class="heart-coin-face front" aria-label="字面"><b class="coin-glyph coin-glyph-top"></b><b class="coin-glyph coin-glyph-right"></b><b class="coin-glyph coin-glyph-bottom"></b><b class="coin-glyph coin-glyph-left"></b><i class="coin-hole"></i></span><span class="heart-coin-face back" aria-label="背面"><b class="coin-glyph coin-glyph-top"></b><b class="coin-glyph coin-glyph-bottom"></b><i class="coin-hole"></i></span></div><i class="heart-coin-ring"></i></div>
<div class="heart-coin" data-coin-index="1"><div class="heart-coin-inner"><span class="heart-coin-face front" aria-label="字面"><b class="coin-glyph coin-glyph-top"></b><b class="coin-glyph coin-glyph-right"></b><b class="coin-glyph coin-glyph-bottom"></b><b class="coin-glyph coin-glyph-left"></b><i class="coin-hole"></i></span><span class="heart-coin-face back" aria-label="背面"><b class="coin-glyph coin-glyph-top"></b><b class="coin-glyph coin-glyph-bottom"></b><i class="coin-hole"></i></span></div><i class="heart-coin-ring"></i></div>
<div class="heart-coin" data-coin-index="2"><div class="heart-coin-inner"><span class="heart-coin-face front" aria-label="字面"><b class="coin-glyph coin-glyph-top"></b><b class="coin-glyph coin-glyph-right"></b><b class="coin-glyph coin-glyph-bottom"></b><b class="coin-glyph coin-glyph-left"></b><i class="coin-hole"></i></span><span class="heart-coin-face back" aria-label="背面"><b class="coin-glyph coin-glyph-top"></b><b class="coin-glyph coin-glyph-bottom"></b><i class="coin-hole"></i></span></div><i class="heart-coin-ring"></i></div>
</div>
<h3 id="castingPrompt">心中默念所问之事,然后掷出初爻</h3>
<h3 id="castingPrompt" class="wt-serif">心中默念所问之事,然后掷出初爻</h3>
<button id="tossCoinsButton" class="heart-cast-button" type="button"><i class="heart-hold-charge" aria-hidden="true"></i><span>按住<br>摇初爻</span></button>
</section>
</div>
</div>
<div id="heartReveal" class="heart-stage">
<button class="button heart-return-button" type="button" data-heart-return><i data-lucide="arrow-left"></i><span>返回</span></button>
<button class="button heart-return-button" type="button" data-heart-return>← 返回</button>
<div class="heart-reveal-layout">
<section class="hexagram-board heart-reveal-board">
<div class="hexagram-heading">
@@ -740,18 +744,17 @@
</section>
<section class="heart-first-thought">
<span class="heart-stage-index">观心 · 四</span>
<h3>先不解卦</h3>
<h3 class="wt-serif">先不解卦</h3>
<p id="heartFirstThoughtPrompt">看见卦象与爻辞后,心里升起的第一念是什么?</p>
<p>不要修饰,也不必记录。只需看见它。</p>
<button id="interpretHeartButton" class="button primary" type="button">我已察念,开始解卦</button>
</section>
</div>
<div id="heartLineTexts" class="heart-line-texts" aria-label="六爻爻辞,悬停、点击或聚焦查看"></div>
</div>
<div id="heartInterpretationStage" class="heart-stage">
<div class="heart-interpretation-heading">
<div><span class="heart-stage-index">观心 · 五</span><h3 id="heartReadTitle">解卦</h3><small id="heartReadChange">--</small></div>
<div><span class="heart-stage-index">观心 · 五</span><h3 id="heartReadTitle" class="wt-serif">解卦</h3><small id="heartReadChange">--</small></div>
<div class="heart-read-actions"><button id="viewHeartReadingButton" class="button primary" type="button">查看解卦</button><button id="restartHeartButton" class="button" type="button">重新观心</button></div>
</div>
<p id="heartReadGuaci" class="heart-read-guaci">--</p>
@@ -759,7 +762,8 @@
<div id="heartReadLines" class="heart-read-lines"></div>
<div id="heartReadTexts" class="heart-read-texts"></div>
</div>
<p class="heart-read-motto">一念既察,卦只是镜。</p>
<p class="heart-read-motto wt-serif">一念既察,卦只是镜。</p>
</div>
</div>
<p class="heaven-footnote heart-footnote">观心用于观察念头与执着,不用于替代交易计划或预测涨跌。</p>
</section>
@@ -1305,8 +1309,8 @@
</div>
<div class="dragon-head-actions-v2">
<div class="dragon-view-tabs-v2" role="group" aria-label="龙虎榜视图">
<button class="active" type="button" aria-pressed="true">每日明细</button>
<button id="dragonProfilesButton" type="button" aria-pressed="false" title="游资档案暂未开放" disabled>游资档案</button>
<button id="dragonDailyButton" class="active" type="button" data-dragon-view-mode="daily" aria-pressed="true">每日明细</button>
<button id="dragonProfilesButton" type="button" data-dragon-view-mode="profiles" aria-pressed="false">游资档案</button>
</div>
<button id="dragonRefreshButton" class="button dragon-action-v2" type="button"><i data-lucide="refresh-cw"></i><span>刷新</span></button>
<button id="dragonExportButton" class="button dragon-action-v2" type="button"><i data-lucide="download"></i><span>导出 CSV</span></button>
@@ -1350,6 +1354,36 @@
<div id="unclassifiedSeatList" class="unclassified-seat-list"></div>
</details>
</div>
<section id="dragonProfilesContent" class="hot-money-profiles-v2" hidden aria-label="游资档案">
<header class="hot-money-profile-toolbar-v2">
<div class="dragon-filter-copy-v2">
<h3>游资名录</h3>
<span>公开收录的游资简介与关联营业部</span>
</div>
<div id="hotMoneyProfileSummary" class="hot-money-profile-summary-v2" aria-label="名录统计"></div>
<label class="dragon-search-v2 hot-money-profile-search-v2">
<i data-lucide="search" aria-hidden="true"></i>
<span class="visually-hidden">搜索游资档案</span>
<input id="hotMoneyProfileSearch" type="search" placeholder="搜索游资、简介或营业部" autocomplete="off">
</label>
</header>
<div class="hot-money-profile-workspace-v2">
<section class="hot-money-profile-directory-v2" aria-label="游资名录列表">
<header class="hot-money-profile-directory-head-v2">
<strong>全部游资</strong>
<span id="hotMoneyProfileResultCount">0 位</span>
</header>
<div id="hotMoneyProfileList" class="hot-money-profile-list-v2" role="listbox" aria-label="选择游资档案"></div>
</section>
<article id="hotMoneyProfileDetail" class="hot-money-profile-detail-v2" aria-live="polite">
<div class="hot-money-profile-empty-v2">
<i data-lucide="contact" aria-hidden="true"></i>
<strong>选择一位游资查看档案</strong>
</div>
</article>
</div>
</section>
</section>
<section id="reviewWorkspaceView" class="workspace-view page redesigned-review-view">
@@ -1466,7 +1500,7 @@
</form>
</dialog>
<dialog id="heavenReadingDialog" class="settings-dialog heaven-reading-dialog" aria-labelledby="heavenReadingDialogTitle">
<dialog id="heavenReadingDialog" class="settings-dialog heaven-reading-dialog wentian-v2-dialog" aria-labelledby="heavenReadingDialogTitle">
<div class="dialog-header">
<div><span id="heavenReadingEyebrow" class="dialog-eyebrow">问天 · 观势</span><h2 id="heavenReadingDialogTitle">解读</h2></div>
<button id="closeHeavenReadingDialog" class="icon-button" type="button" aria-label="关闭" title="关闭"><i data-lucide="x"></i></button>
@@ -1786,6 +1820,7 @@
<form id="systemMarketForm" class="settings-section">
<div class="settings-section-heading"><h3>公共行情</h3><span id="systemDataStatus">待检查</span></div>
<label class="form-field"><span>Tushare Token</span><input id="systemTokenInput" type="password" autocomplete="off" minlength="20" placeholder="留空保留现有 Token"></label>
<label class="form-field"><span>iFinD Refresh Token</span><input id="systemIfindTokenInput" type="password" autocomplete="off" maxlength="2048" placeholder="留空保留现有 Token"></label>
<label class="switch-control"><input id="systemBackgroundRefresh" type="checkbox"><span>启用交易时段后台刷新</span></label>
<p class="form-hint">所有用户读取同一份后台快照,页面不会随后台任务自动重绘。</p>
<div class="dialog-actions admin-inline-actions"><button id="adminRefreshButton" class="button" type="button"><i data-lucide="refresh-cw"></i>立即后台刷新</button><button class="button primary" type="submit">保存行情配置</button></div>
@@ -1837,7 +1872,7 @@
<script src="/vendor/lucide.min.js" defer></script>
<script src="/ui-core.js" defer></script>
<script src="/heaven-loading.js" defer></script>
<script src="/app.js" defer></script>
<script src="/heaven-loading-v2.js?v=20260728-2" defer></script>
<script src="/app.js?v=20260728-2" defer></script>
</body>
</html>