61 lines
2.3 KiB
HTML
61 lines
2.3 KiB
HTML
<!DOCTYPE html>
|
|
<html lang="zh-CN">
|
|
<head>
|
|
<meta charset="UTF-8">
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
<title>{% block title %}智能荐股系统{% endblock %} · {{ service }}</title>
|
|
<link rel="stylesheet" href="{{ url_for('static', filename='css/style.css') }}">
|
|
<script src="{{ url_for('static', filename='lib/marked.min.js') }}"></script>
|
|
<script src="https://cdn.jsdelivr.net/npm/echarts@5.5.0/dist/echarts.min.js"></script>
|
|
<script>
|
|
// ECharts CDN 加载失败时回退本地标记
|
|
window.addEventListener('error', function (e) {
|
|
if (e.target && e.target.tagName === 'SCRIPT' && e.target.src.includes('echarts')) {
|
|
window.__ECHARTS_FAIL = true;
|
|
}
|
|
}, true);
|
|
</script>
|
|
</head>
|
|
<body>
|
|
<div class="layout">
|
|
<aside class="sidebar">
|
|
<div class="logo">
|
|
<div class="logo-badge">荐</div>
|
|
<div>
|
|
<div class="logo-title">智能荐股</div>
|
|
<div class="logo-sub">{{ service }}</div>
|
|
</div>
|
|
</div>
|
|
<nav class="nav">
|
|
<a href="/" class="nav-item" data-nav="/">📊 仪表盘</a>
|
|
<a href="/stocks" class="nav-item" data-nav="/stocks">🏢 股票池</a>
|
|
<a href="/recommend" class="nav-item" data-nav="/recommend">🎯 荐股中心</a>
|
|
<a href="/strategies" class="nav-item" data-nav="/strategies">📈 量化策略</a>
|
|
<a href="/news" class="nav-item" data-nav="/news">📰 财经新闻</a>
|
|
<a href="/institutions" class="nav-item" data-nav="/institutions">🏦 机构动向</a>
|
|
<a href="/admin" class="nav-item" data-nav="/admin">⚙️ 数据管理</a>
|
|
</nav>
|
|
<div class="sidebar-foot">
|
|
{% if is_mock %}<div class="mock-tag">模拟数据 · 仅供演示</div>{% endif %}
|
|
<div class="side-time" id="sideTime"></div>
|
|
</div>
|
|
</aside>
|
|
<main class="main">
|
|
<header class="topbar">
|
|
<div class="topbar-left">
|
|
<h1 class="page-title">{% block page_title %}{% endblock %}</h1>
|
|
</div>
|
|
<div class="topbar-right">
|
|
<span class="sys-status"><i class="dot"></i>系统运行中</span>
|
|
</div>
|
|
</header>
|
|
<div class="content">
|
|
{% block content %}{% endblock %}
|
|
</div>
|
|
</main>
|
|
</div>
|
|
<script src="{{ url_for('static', filename='js/common.js') }}"></script>
|
|
{% block scripts %}{% endblock %}
|
|
</body>
|
|
</html>
|