forked from lunanting/cangku
234 lines
7.7 KiB
HTML
234 lines
7.7 KiB
HTML
<!doctype html>
|
|
<html lang="en">
|
|
<head>
|
|
<meta charset="UTF-8" />
|
|
<link rel="preconnect" href="https://img.alicdn.com" />
|
|
<link rel="preload" as="image" href="https://img.alicdn.com/imgextra/i1/O1CN01f0AXSF1uzW0EYAU4i_!!6000000006108-2-tps-4000-900.png" fetchpriority="high" />
|
|
<link rel="icon" type="image/png" href="https://s3.jiansun.vip/gongxiangpan/logos/1775097467497-1d6a81b8a76a.png" />
|
|
<link rel="apple-touch-icon" href="https://s3.jiansun.vip/gongxiangpan/logos/1775097467497-1d6a81b8a76a.png" />
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
|
<meta name="application-name" content="拼多多自动化运营平台" />
|
|
<meta name="description" content="数据分析平台" />
|
|
<meta property="og:type" content="website" />
|
|
<meta property="og:title" content="拼多多自动化运营平台" />
|
|
<meta property="og:description" content="数据分析平台" />
|
|
<meta property="og:url" content="https://pddg.jiansuntuzhi.cn" />
|
|
<meta property="og:image" content="https://s3.jiansun.vip/gongxiangpan/logos/1775097467497-1d6a81b8a76a.png" />
|
|
<meta name="twitter:card" content="summary" />
|
|
<meta name="twitter:title" content="拼多多自动化运营平台" />
|
|
<meta name="twitter:description" content="数据分析平台" />
|
|
<title>拼多多自动化运营平台</title>
|
|
<script>
|
|
if (/^\/(login|callback)(\/|$)/.test(window.location.pathname)) {
|
|
document.documentElement.classList.add('boot-auth-route');
|
|
}
|
|
</script>
|
|
<style>
|
|
html,
|
|
body,
|
|
#root {
|
|
min-height: 100%;
|
|
}
|
|
|
|
body {
|
|
margin: 0;
|
|
background: url("https://img.alicdn.com/imgextra/i1/O1CN01f0AXSF1uzW0EYAU4i_!!6000000006108-2-tps-4000-900.png") top center / 100% auto no-repeat, #e6e6e6;
|
|
font-family: "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;
|
|
}
|
|
|
|
.boot-shell {
|
|
display: flex;
|
|
min-height: 100vh;
|
|
}
|
|
|
|
.boot-sidebar {
|
|
width: 260px;
|
|
flex: 0 0 260px;
|
|
padding: 16px 8px 12px;
|
|
border-right: 1px solid #e6e6e6;
|
|
background: #fff;
|
|
box-sizing: border-box;
|
|
}
|
|
|
|
.boot-brand,
|
|
.boot-nav-item {
|
|
display: flex;
|
|
height: 36px;
|
|
align-items: center;
|
|
gap: 10px;
|
|
padding: 0 10px;
|
|
}
|
|
|
|
.boot-brand {
|
|
height: 52px;
|
|
margin-bottom: 12px;
|
|
}
|
|
|
|
.boot-content {
|
|
flex: 1;
|
|
min-width: 0;
|
|
padding: 16px;
|
|
box-sizing: border-box;
|
|
}
|
|
|
|
.boot-panel {
|
|
display: grid;
|
|
gap: 16px;
|
|
min-height: 360px;
|
|
padding: 20px;
|
|
border: 1px solid #e6e6e6;
|
|
border-radius: 12px;
|
|
background: rgba(255, 255, 255, 0.92);
|
|
box-sizing: border-box;
|
|
}
|
|
|
|
.boot-grid {
|
|
display: grid;
|
|
grid-template-columns: repeat(3, minmax(0, 1fr));
|
|
gap: 16px;
|
|
}
|
|
|
|
.boot-card {
|
|
display: grid;
|
|
gap: 12px;
|
|
min-height: 126px;
|
|
padding: 16px;
|
|
border: 1px solid #f0f0f0;
|
|
border-radius: 8px;
|
|
background: #fff;
|
|
box-sizing: border-box;
|
|
}
|
|
|
|
.boot-auth-route .boot-shell {
|
|
align-items: center;
|
|
justify-content: flex-end;
|
|
padding: 112px clamp(112px, 9.2vw, 176px) 58px clamp(64px, 6vw, 112px);
|
|
background:
|
|
linear-gradient(90deg, rgba(232, 248, 255, 0.04), rgba(236, 249, 255, 0.22)),
|
|
url("/login-hero-blue.jpg") left center / cover no-repeat,
|
|
#e6e6e6;
|
|
box-sizing: border-box;
|
|
}
|
|
|
|
.boot-auth-route .boot-sidebar {
|
|
display: none;
|
|
}
|
|
|
|
.boot-auth-route .boot-content {
|
|
width: min(405px, calc(100vw - 40px));
|
|
flex: 0 1 405px;
|
|
padding: 0;
|
|
box-sizing: border-box;
|
|
}
|
|
|
|
.boot-auth-route .boot-panel {
|
|
min-height: 520px;
|
|
border-color: rgba(255, 255, 255, 0.72);
|
|
border-radius: 14px;
|
|
background: rgba(255, 255, 255, 0.94);
|
|
box-shadow: 0 18px 48px rgba(21, 76, 150, 0.14);
|
|
backdrop-filter: blur(18px);
|
|
}
|
|
|
|
.boot-auth-route .boot-panel > .boot-line:nth-child(1) {
|
|
width: 140px !important;
|
|
height: 22px !important;
|
|
}
|
|
|
|
.boot-auth-route .boot-panel > .boot-line:nth-child(2) {
|
|
width: 100% !important;
|
|
height: 40px !important;
|
|
margin-top: 34px;
|
|
border-radius: 8px;
|
|
}
|
|
|
|
.boot-auth-route .boot-grid {
|
|
display: none;
|
|
}
|
|
|
|
.boot-line,
|
|
.boot-dot {
|
|
position: relative;
|
|
overflow: hidden;
|
|
background: linear-gradient(90deg, #eef1f5 0%, #f7f8fb 44%, #eef1f5 100%);
|
|
}
|
|
|
|
.boot-line {
|
|
height: 16px;
|
|
border-radius: 9999px;
|
|
}
|
|
|
|
.boot-dot {
|
|
width: 32px;
|
|
height: 32px;
|
|
flex: 0 0 32px;
|
|
border-radius: 4px;
|
|
}
|
|
|
|
.boot-dot.is-small {
|
|
width: 16px;
|
|
height: 16px;
|
|
flex-basis: 16px;
|
|
}
|
|
|
|
.boot-line::after,
|
|
.boot-dot::after {
|
|
position: absolute;
|
|
inset: 0;
|
|
background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.72), transparent);
|
|
content: "";
|
|
transform: translateX(-100%);
|
|
animation: boot-shimmer 1.4s ease-in-out infinite;
|
|
}
|
|
|
|
@keyframes boot-shimmer {
|
|
100% {
|
|
transform: translateX(100%);
|
|
}
|
|
}
|
|
|
|
@media (max-width: 900px) {
|
|
.boot-sidebar {
|
|
width: 48px;
|
|
flex-basis: 48px;
|
|
}
|
|
|
|
.boot-sidebar .boot-line {
|
|
display: none;
|
|
}
|
|
|
|
.boot-grid {
|
|
grid-template-columns: 1fr;
|
|
}
|
|
}
|
|
</style>
|
|
</head>
|
|
<body>
|
|
<div id="root">
|
|
<div class="boot-shell" aria-busy="true">
|
|
<aside class="boot-sidebar">
|
|
<div class="boot-brand"><span class="boot-dot"></span><span class="boot-line" style="width: 132px"></span></div>
|
|
<div class="boot-nav-item"><span class="boot-dot is-small"></span><span class="boot-line" style="width: 74%"></span></div>
|
|
<div class="boot-nav-item"><span class="boot-dot is-small"></span><span class="boot-line" style="width: 58%"></span></div>
|
|
<div class="boot-nav-item"><span class="boot-dot is-small"></span><span class="boot-line" style="width: 66%"></span></div>
|
|
<div class="boot-nav-item"><span class="boot-dot is-small"></span><span class="boot-line" style="width: 72%"></span></div>
|
|
<div class="boot-nav-item"><span class="boot-dot is-small"></span><span class="boot-line" style="width: 62%"></span></div>
|
|
<div class="boot-nav-item"><span class="boot-dot is-small"></span><span class="boot-line" style="width: 68%"></span></div>
|
|
</aside>
|
|
<main class="boot-content">
|
|
<section class="boot-panel">
|
|
<span class="boot-line" style="width: 180px; height: 24px"></span>
|
|
<span class="boot-line" style="width: min(520px, 62%); height: 32px"></span>
|
|
<div class="boot-grid">
|
|
<div class="boot-card"><span class="boot-line" style="width: 46%"></span><span class="boot-line" style="width: 62%; height: 28px"></span><span class="boot-line" style="width: 74%; height: 14px"></span></div>
|
|
<div class="boot-card"><span class="boot-line" style="width: 52%"></span><span class="boot-line" style="width: 58%; height: 28px"></span><span class="boot-line" style="width: 70%; height: 14px"></span></div>
|
|
<div class="boot-card"><span class="boot-line" style="width: 44%"></span><span class="boot-line" style="width: 64%; height: 28px"></span><span class="boot-line" style="width: 68%; height: 14px"></span></div>
|
|
</div>
|
|
</section>
|
|
</main>
|
|
</div>
|
|
</div>
|
|
<script type="module" src="/src/main.jsx"></script>
|
|
</body>
|
|
</html>
|