- 新增 StickyHScrollTable:冻结表头/首列、横滑、pan-x 触控
- 涨停池/炸板池/跌停池/昨日涨停/涨停表现/人气榜接真数据(沿用电脑接口)
- 功能页顶栏返回+标题+日期按钮;底部日期抽屉(日历网格+快捷胶囊)
- 点名称/代码弹底部 DetailSheet(走 /api/stock/{code}/preview)
- 加载骨架/空态/错误态按动效规范;列配置进 nav.config
- 其余 6 个行情页仍为占位(归 P2b)
Co-authored-by: multica-agent <github@multica.ai>
46 lines
1.7 KiB
HTML
46 lines
1.7 KiB
HTML
<!doctype html>
|
|
<html lang="zh-CN">
|
|
<head>
|
|
<meta charset="utf-8">
|
|
<meta name="viewport" content="width=device-width, initial-scale=1, viewport-fit=cover">
|
|
<meta name="color-scheme" content="light dark">
|
|
<title>小白复盘</title>
|
|
<link rel="stylesheet" href="css/tokens.css">
|
|
<link rel="stylesheet" href="css/shell.css">
|
|
<link rel="stylesheet" href="css/features.css">
|
|
</head>
|
|
<body>
|
|
<div id="m-app" data-theme="light">
|
|
<script>
|
|
(() => {
|
|
let theme = "light";
|
|
try {
|
|
theme = localStorage.getItem("xiaobaiTheme") === "dark" ? "dark" : "light";
|
|
} catch (_error) {
|
|
theme = "light";
|
|
}
|
|
document.getElementById("m-app").setAttribute("data-theme", theme);
|
|
})();
|
|
</script>
|
|
<div id="m-boot-splash" aria-hidden="true">
|
|
<span class="m-brand-mark">复</span>
|
|
</div>
|
|
<header id="m-header" class="m-header">
|
|
<button id="m-back" class="m-header-btn" type="button" aria-label="返回" hidden>
|
|
<svg width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="m15 18-6-6 6-6"/></svg>
|
|
</button>
|
|
<h1 id="m-title" class="m-title">小白复盘</h1>
|
|
<div id="m-actions" class="m-actions"></div>
|
|
</header>
|
|
<main id="m-view" class="m-view"></main>
|
|
<nav id="m-tabbar" class="m-tabbar" aria-label="主导航" hidden></nav>
|
|
</div>
|
|
<script src="config/nav.config.js"></script>
|
|
<script src="js/api.js"></script>
|
|
<script src="js/session.js"></script>
|
|
<script src="js/router.js"></script>
|
|
<script src="js/pages.js"></script>
|
|
<script src="js/boot.js"></script>
|
|
</body>
|
|
</html>
|