Update README and project cleanup

This commit is contained in:
inkling
2026-04-08 14:52:09 +08:00
commit fafd267288
71 changed files with 14865 additions and 0 deletions

123
public/index.html Normal file
View File

@@ -0,0 +1,123 @@
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>洋葱客户大数据标签系统</title>
<link rel="preconnect" href="https://fonts.googleapis.com">
<link href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&family=JetBrains+Mono:wght@400;500&display=swap" rel="stylesheet">
<link rel="stylesheet" href="style.css">
</head>
<body>
<!-- Top Bar -->
<header class="topbar">
<div class="topbar-left">
<div class="brand">
<div class="brand-icon">
<!-- Simplified Onion Icon -->
<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2">
<path stroke-linecap="round" stroke-linejoin="round" d="M12 2C6.48 2 2 6.48 2 12C2 17.52 6.48 22 12 22C17.52 22 22 17.52 22 12C22 6.48 17.52 2 12 2Z" />
<path stroke-linecap="round" stroke-linejoin="round" d="M12 6C8.69 6 6 8.69 6 12C6 15.31 8.69 18 12 18C15.31 18 18 15.31 18 12C18 8.69 15.31 6 12 6Z" />
</svg>
</div>
<div class="brand-text">
<span class="brand-name">洋葱客户大数据标签系统</span>
<span class="brand-sub">AMBER ONION DATA INTELLIGENCE</span>
</div>
</div>
</div>
<div class="topbar-center">
<!-- 原 result-counter 已移至底部 -->
</div>
<div class="topbar-right">
<button class="action-btn primary" id="btnCompute" onclick="compute()" disabled style="display:none">
<span class="btn-icon"></span> 实时计算
</button>
<button class="action-btn ghost" onclick="resetAll()">重置</button>
<button class="action-btn ghost" onclick="showPanel('sample')" id="btnSample" style="display:none">查看用户样本</button>
<button class="action-btn ghost" onclick="showPanel('duration')" id="btnDuration">指导周期分析</button>
<button class="action-btn ghost" onclick="showPanel('import')">导入数据</button>
</div>
</header>
<!-- Selected Tags Bar -->
<div class="selected-bar" id="selectedBar" style="display:none">
<span class="sel-label">已选条件:</span>
<div class="sel-tags" id="selTags"></div>
<span class="sel-logic" style="color:#666; font-size:12px; margin-left:12px;">
<span style="color:#999;">(同分类: OR | 不同分类: AND</span>
</span>
<button class="sel-clear" onclick="resetAll()">✕ 清空</button>
</div>
<!-- Main Layout -->
<div class="main-layout">
<!-- Tag Board -->
<div class="board" id="tagBoard">
<!-- Columns rendered by JS -->
<div class="board-loading" id="boardLoading">
<div class="spinner"></div>
<span>加载标签体系...</span>
</div>
</div>
<!-- Right Panel (collapsible) -->
<div class="right-panel" id="rightPanel" style="display:none">
<div class="rp-header">
<span class="rp-title" id="rpTitle">用户样本</span>
<button class="rp-close" onclick="closePanel()"></button>
</div>
<div class="rp-body" id="rpBody"></div>
</div>
</div>
<!-- Compute result overlay on cards -->
<div class="compute-overlay" id="computeOverlay" style="display:none">
<div class="co-inner">
<div class="spinner-lg"></div>
<span>计算中...</span>
</div>
</div>
<!-- Import Panel Modal -->
<div class="modal-mask" id="importModal" style="display:none">
<div class="modal">
<div class="modal-header">
<span>📡 数据导入接口</span>
<button onclick="closeModal('importModal')"></button>
</div>
<div class="modal-body" id="importModalBody"></div>
</div>
</div>
<!-- Bottom Bar (Footer) -->
<div class="bottom-bar">
<div class="result-counter" id="resultCounter">
<!-- 左:当前规模 -->
<div class="rc-metric">
<div class="rc-metric-label">当前规模</div>
<div class="rc-main">
<span class="rc-num" id="rcNum"></span>
<span class="rc-unit"></span>
</div>
<div class="rc-sub">/ 共 <span id="rcTotal"></span></div>
</div>
<!-- 分隔线 -->
<div class="rc-divider"></div>
<!-- 右:预估转化 -->
<div class="rc-metric">
<div class="rc-metric-label">预估转化</div>
<div class="rc-main">
<span class="rc-num rc-num-rate" id="rcRate"></span>
<span class="rc-unit">%</span>
</div>
<div class="rc-delta" id="rcDelta" style="display:none"></div>
</div>
</div>
</div>
<script src="app.js"></script>
</body>
</html>