Files
iAOP/web/index.html
T

50 lines
2.0 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<script>
/* Epic #163 · C1(issue #176):FBA UI 在线时自动收口到原生版;
* FBA 停掉时(fetch 失败)本静态演示页兜底可用。 */
(function () {
fetch('/fba-admin/', { method: 'HEAD' })
.then(function (r) { if (r.ok || r.redirected) location.replace('/fba-admin/'); })
.catch(function () { /* FBA 离线:保留静态演示兜底 */ });
})();
</script>
<title>iAOP 云美工业AI优化平台</title>
<link rel="stylesheet" href="shared/pro.css">
<style>
/* iAOP SPA 外壳(2026-08,对齐 Ant Design Pro 体验):
* Sider/顶栏常驻不刷新,模块页在 iframe 内容区加载,
* 左侧菜单切换 = 换 iframe src,无整页刷新、无白闪。
* URL 形如 /index.html#/admin/#models,可分享直达子页。 */
html, body { height: 100%; margin: 0; }
body.has-pro-sider { padding-left: 0 !important; } /* 外壳自控布局 */
/* 注意:iframe 是替换元素,fixed 时左右同时定位不会拉伸(回退到
* 固有尺寸 300x150),必须显式 calc 宽高。 */
#module-frame {
position: fixed;
top: 48px;
left: 208px;
width: calc(100% - 208px);
height: calc(100% - 48px);
border: 0;
background: #f0f2f5;
transition: left 0.2s, width 0.2s;
}
body.pro-sider-collapsed #module-frame { left: 48px; width: calc(100% - 48px); }
@media (max-width: 720px) { #module-frame { left: 0; width: 100%; } }
</style>
</head>
<body data-pro-shell data-pro-title="iAOP 平台">
<!-- SPA 外壳:pro-header.js 注入 Sider/顶栏;shell.js 负责菜单导航、
iframe 加载、URL hash 同步(#/模块/#子页)与登录守卫。 -->
<iframe id="module-frame" title="模块内容"></iframe>
<script src="auth/user_store.js"></script>
<script src="shared/session.js"></script>
<script src="shared/pro-header.js"></script>
<script src="shared/shell.js"></script>
</body>
</html>