|
|
|
<!doctype html>
|
|
|
|
<html lang="en">
|
|
|
|
<head>
|
|
|
|
<meta charset="UTF-8" />
|
|
|
|
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
|
|
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
|
|
|
|
|
|
|
<!-- luckysheet css -->
|
|
|
|
<link rel="stylesheet" href="/webjars/luckysheet/2.1.13/plugins/css/pluginsCss.css" th:href="@{/webjars/luckysheet/2.1.13/plugins/css/pluginsCss.css}" />
|
|
|
|
<link rel="stylesheet" href="/webjars/luckysheet/2.1.13/plugins/plugins.css" th:href="@{/webjars/luckysheet/2.1.13/plugins/plugins.css}" />
|
|
|
|
<link rel="stylesheet" href="/webjars/luckysheet/2.1.13/css/luckysheet.css" th:href="@{/webjars/luckysheet/2.1.13/css/luckysheet.css}" />
|
|
|
|
<link
|
|
|
|
rel="stylesheet"
|
|
|
|
href="/webjars/luckysheet/2.1.13/assets/iconfont/iconfont.css"
|
|
|
|
th:href="@{/webjars/luckysheet/2.1.13/assets/iconfont/iconfont.css}"
|
|
|
|
/>
|
|
|
|
|
|
|
|
<!-- luckysheet js -->
|
|
|
|
<script src="/webjars/luckysheet/2.1.13/plugins/js/plugin.js" th:src="@{/webjars/luckysheet/2.1.13/plugins/js/plugin.js}"></script>
|
|
|
|
<script src="/webjars/luckysheet/2.1.13/luckysheet.umd.js" th:src="@{/webjars/luckysheet/2.1.13/luckysheet.umd.js}"></script>
|
|
|
|
|
|
|
|
<script src="/configure.js" th:src="@{/configure.js}"></script>
|
|
|
|
<!-- <script src="/webjars/tailwindcss/3.4.5/tailwind.css.js" th:src="@{/webjars/tailwindcss/3.4.5/tailwind.css.js}"></script> -->
|
|
|
|
|
|
|
|
<script>
|
|
|
|
(function () {
|
|
|
|
'use strict';
|
|
|
|
window.addEventListener('load', function () {
|
|
|
|
var box, div, link, namespaceURI;
|
|
|
|
// First check whether the page contains any <math> element.
|
|
|
|
namespaceURI = 'http://www.w3.org/1998/Math/MathML';
|
|
|
|
if (document.body.getElementsByTagNameNS(namespaceURI, 'math')[0]) {
|
|
|
|
// Create a div to test mspace, using Kuma's "offscreen" CSS
|
|
|
|
document.body.insertAdjacentHTML(
|
|
|
|
'afterbegin',
|
|
|
|
"<div style='border: 0; clip: rect(0 0 0 0); height: 1px; margin: -1px; overflow: hidden; padding: 0; position: absolute; width: 1px;'><math xmlns='" +
|
|
|
|
namespaceURI +
|
|
|
|
"'><mspace height='23px' width='77px'></mspace></math></div>",
|
|
|
|
);
|
|
|
|
div = document.body.firstChild;
|
|
|
|
box = div.firstChild.firstChild.getBoundingClientRect();
|
|
|
|
document.body.removeChild(div);
|
|
|
|
if (Math.abs(box.height - 23) > 1 || Math.abs(box.width - 77) > 1) {
|
|
|
|
// Insert the mathml.css stylesheet.
|
|
|
|
link = document.createElement('link');
|
|
|
|
link.href = '[(@{/webjars/mathfonts/1.0.0/mathml.css})]'.startsWith('[')
|
|
|
|
? 'http://localhost:8080/webjars/mathfonts/1.0.0/mathml.css'
|
|
|
|
: '[(@{/webjars/mathfonts/1.0.0/mathml.css})]';
|
|
|
|
link.rel = 'stylesheet';
|
|
|
|
document.head.appendChild(link);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
});
|
|
|
|
})();
|
|
|
|
</script>
|
|
|
|
</head>
|
|
|
|
<body>
|
|
|
|
<noscript>
|
|
|
|
<strong th:text="#{noscript}">抱歉, {} 在浏览器未开启 JavaScript 时不能正常工作. 请开启后重试.</strong>
|
|
|
|
</noscript>
|
|
|
|
|
|
|
|
<!--加载 js 时,-->
|
|
|
|
<div id="appInitializer" style="height: 100vh; display: grid; place-items: center">
|
|
|
|
<!--全屏高度,grid布局,子元素垂直方向位于屏幕中间-->
|
|
|
|
<div style="display: grid; justify-items: center">
|
|
|
|
<!--grid布局, 子元素水平方向位于屏幕中间-->
|
|
|
|
<svg style="color: #14234a" width="48px" height="48px" stroke="currentColor" fill="currentColor" viewBox="0 0 64 64">
|
|
|
|
<g stroke-width="4" stroke-linecap="round">
|
|
|
|
<line y1="17" y2="29" transform="translate(32,32) rotate(180)">
|
|
|
|
<animate attributeName="stroke-opacity" dur="750ms" values="1;.85;.7;.65;.55;.45;.35;.25;.15;.1;0;1" repeatCount="indefinite"></animate>
|
|
|
|
</line>
|
|
|
|
<line y1="17" y2="29" transform="translate(32,32) rotate(210)">
|
|
|
|
<animate attributeName="stroke-opacity" dur="750ms" values="0;1;.85;.7;.65;.55;.45;.35;.25;.15;.1;0" repeatCount="indefinite"></animate>
|
|
|
|
</line>
|
|
|
|
<line y1="17" y2="29" transform="translate(32,32) rotate(240)">
|
|
|
|
<animate attributeName="stroke-opacity" dur="750ms" values=".1;0;1;.85;.7;.65;.55;.45;.35;.25;.15;.1" repeatCount="indefinite"></animate>
|
|
|
|
</line>
|
|
|
|
<line y1="17" y2="29" transform="translate(32,32) rotate(270)">
|
|
|
|
<animate attributeName="stroke-opacity" dur="750ms" values=".15;.1;0;1;.85;.7;.65;.55;.45;.35;.25;.15" repeatCount="indefinite"></animate>
|
|
|
|
</line>
|
|
|
|
<line y1="17" y2="29" transform="translate(32,32) rotate(300)">
|
|
|
|
<animate attributeName="stroke-opacity" dur="750ms" values=".25;.15;.1;0;1;.85;.7;.65;.55;.45;.35;.25" repeatCount="indefinite"></animate>
|
|
|
|
</line>
|
|
|
|
<line y1="17" y2="29" transform="translate(32,32) rotate(330)">
|
|
|
|
<animate attributeName="stroke-opacity" dur="750ms" values=".35;.25;.15;.1;0;1;.85;.7;.65;.55;.45;.35" repeatCount="indefinite"></animate>
|
|
|
|
</line>
|
|
|
|
<line y1="17" y2="29" transform="translate(32,32) rotate(0)">
|
|
|
|
<animate attributeName="stroke-opacity" dur="750ms" values=".45;.35;.25;.15;.1;0;1;.85;.7;.65;.55;.45" repeatCount="indefinite"></animate>
|
|
|
|
</line>
|
|
|
|
<line y1="17" y2="29" transform="translate(32,32) rotate(30)">
|
|
|
|
<animate attributeName="stroke-opacity" dur="750ms" values=".55;.45;.35;.25;.15;.1;0;1;.85;.7;.65;.55" repeatCount="indefinite"></animate>
|
|
|
|
</line>
|
|
|
|
<line y1="17" y2="29" transform="translate(32,32) rotate(60)">
|
|
|
|
<animate attributeName="stroke-opacity" dur="750ms" values=".65;.55;.45;.35;.25;.15;.1;0;1;.85;.7;.65" repeatCount="indefinite"></animate>
|
|
|
|
</line>
|
|
|
|
<line y1="17" y2="29" transform="translate(32,32) rotate(90)">
|
|
|
|
<animate attributeName="stroke-opacity" dur="750ms" values=".7;.65;.55;.45;.35;.25;.15;.1;0;1;.85;.7" repeatCount="indefinite"></animate>
|
|
|
|
</line>
|
|
|
|
<line y1="17" y2="29" transform="translate(32,32) rotate(120)">
|
|
|
|
<animate attributeName="stroke-opacity" dur="750ms" values=".85;.7;.65;.55;.45;.35;.25;.15;.1;0;1;.85" repeatCount="indefinite"></animate>
|
|
|
|
</line>
|
|
|
|
<line y1="17" y2="29" transform="translate(32,32) rotate(150)">
|
|
|
|
<animate attributeName="stroke-opacity" dur="750ms" values="1;.85;.7;.65;.55;.45;.35;.25;.15;.1;0;1" repeatCount="indefinite"></animate>
|
|
|
|
</line>
|
|
|
|
</g>
|
|
|
|
</svg>
|
|
|
|
<div style="padding: 10px" th:text="#{pageLoading}">正在加载, 请稍后......</div>
|
|
|
|
<div id="appInitializerStatus"></div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
|
|
|
|
<div id="app"></div>
|
|
|
|
|
|
|
|
<!-- 以下会生成由 HtmlWebpackPlugin webpack 插件自动注入需要的资源引用 -->
|
|
|
|
</body>
|
|
|
|
</html>
|