Update: 将子项目从 submodule 转为完整内容
- 移除 GovAI, nomifun-tauri, 算力盒子 的 submodule 引用 - 添加所有子项目的完整源代码 - 保留原始 .git 为 .git.bak 备份
This commit is contained in:
@@ -0,0 +1,161 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="zh-CN">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>S1 - 开场</title>
|
||||
<script src="https://cdn.jsdelivr.net/npm/gsap@3.12.5/dist/gsap.min.js"></script>
|
||||
<style>
|
||||
:root {
|
||||
--bg-deep: #0A1A33;
|
||||
--bg-panel: #10243F;
|
||||
--brand-blue: #1E5BC6;
|
||||
--gold: #D4A437;
|
||||
--seal-red: #C0392B;
|
||||
--text-hi: #F2F6FC;
|
||||
--text-lo: #9DB2CE;
|
||||
--line: #2A436B;
|
||||
}
|
||||
|
||||
* {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
body {
|
||||
width: 1920px;
|
||||
height: 1080px;
|
||||
overflow: hidden;
|
||||
font-family: "PingFang SC", "Source Han Sans SC", "Helvetica Neue", sans-serif;
|
||||
background: linear-gradient(135deg, var(--bg-deep) 0%, var(--bg-panel) 100%);
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.clip {
|
||||
position: absolute;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
}
|
||||
|
||||
/* 金线装饰 */
|
||||
.gold-line {
|
||||
width: 800px;
|
||||
height: 3px;
|
||||
background: var(--gold);
|
||||
transform-origin: center;
|
||||
box-shadow: 0 0 20px rgba(212, 164, 55, 0.6);
|
||||
}
|
||||
|
||||
/* 文字样式 */
|
||||
.text-producer {
|
||||
font-size: 56px;
|
||||
font-weight: bold;
|
||||
color: var(--text-hi);
|
||||
letter-spacing: 8px;
|
||||
}
|
||||
|
||||
.text-heritage {
|
||||
font-size: 40px;
|
||||
font-weight: 500;
|
||||
color: var(--gold);
|
||||
letter-spacing: 4px;
|
||||
}
|
||||
|
||||
.logo-container {
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.logo-title {
|
||||
font-size: 72px;
|
||||
font-weight: bold;
|
||||
color: var(--text-hi);
|
||||
letter-spacing: 6px;
|
||||
margin-bottom: 20px;
|
||||
}
|
||||
|
||||
.logo-subtitle {
|
||||
font-size: 36px;
|
||||
font-weight: 400;
|
||||
color: var(--gold);
|
||||
letter-spacing: 2px;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body data-composition-id="s1-intro" data-width="1920" data-height="1080">
|
||||
<!-- Track 1: 金线擦出 (0.5–2s) -->
|
||||
<div class="clip gold-line"
|
||||
data-start="0.5"
|
||||
data-duration="7.5"
|
||||
data-track-index="1"
|
||||
style="top: 50%; left: 50%; transform: translate(-50%, -50%) scaleX(0);">
|
||||
</div>
|
||||
|
||||
<!-- Track 2: 法治日报社 出品 (2–4s) -->
|
||||
<div class="clip text-producer"
|
||||
data-start="2"
|
||||
data-duration="6"
|
||||
data-track-index="2"
|
||||
style="top: 45%; left: 50%; transform: translate(-50%, -50%) translateY(24px); opacity: 0;">
|
||||
法治日报社 出品
|
||||
</div>
|
||||
|
||||
<!-- Track 3: 四十余年深耕政法领域 (4–6s) -->
|
||||
<div class="clip text-heritage"
|
||||
data-start="4"
|
||||
data-duration="4"
|
||||
data-track-index="3"
|
||||
style="top: 55%; left: 50%; transform: translate(-50%, -50%) translateY(24px); opacity: 0;">
|
||||
四十余年深耕政法领域
|
||||
</div>
|
||||
|
||||
<!-- Track 1: Logo (6–8s) -->
|
||||
<div class="clip logo-container"
|
||||
data-start="6"
|
||||
data-duration="2"
|
||||
data-track-index="1"
|
||||
style="top: 50%; left: 50%; transform: translate(-50%, -50%) scale(0.8); opacity: 0;">
|
||||
<div class="logo-title">法智通</div>
|
||||
<div class="logo-subtitle">政法行业人工智能应用平台</div>
|
||||
</div>
|
||||
|
||||
<script>
|
||||
// 注册时间轴
|
||||
window.__timelines = window.__timelines || {};
|
||||
const tl = gsap.timeline({ paused: true });
|
||||
window.__timelines["s1-intro"] = tl;
|
||||
|
||||
// 金线擦出
|
||||
tl.to('[data-start="0.5"]', {
|
||||
scaleX: 1,
|
||||
duration: 1.5,
|
||||
ease: "power2.out"
|
||||
}, 0.5);
|
||||
|
||||
// 法治日报社 出品
|
||||
tl.to('[data-start="2"]', {
|
||||
y: 0,
|
||||
opacity: 1,
|
||||
duration: 0.6,
|
||||
ease: "power2.out"
|
||||
}, 2);
|
||||
|
||||
// 四十余年深耕政法领域
|
||||
tl.to('[data-start="4"]', {
|
||||
y: 0,
|
||||
opacity: 1,
|
||||
duration: 0.6,
|
||||
ease: "power2.out"
|
||||
}, 4);
|
||||
|
||||
// Logo 放大入场
|
||||
tl.to('[data-start="6"]', {
|
||||
scale: 1,
|
||||
opacity: 1,
|
||||
duration: 0.8,
|
||||
ease: "power2.out"
|
||||
}, 6);
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,221 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="zh-CN">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>S2 - 安全第一</title>
|
||||
<script src="https://cdn.jsdelivr.net/npm/gsap@3.12.5/dist/gsap.min.js"></script>
|
||||
<style>
|
||||
:root {
|
||||
--bg-deep: #0A1A33;
|
||||
--bg-panel: #10243F;
|
||||
--brand-blue: #1E5BC6;
|
||||
--gold: #D4A437;
|
||||
--seal-red: #C0392B;
|
||||
--text-hi: #F2F6FC;
|
||||
--text-lo: #9DB2CE;
|
||||
--line: #2A436B;
|
||||
}
|
||||
|
||||
* {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
body {
|
||||
width: 1920px;
|
||||
height: 1080px;
|
||||
overflow: hidden;
|
||||
font-family: "PingFang SC", "Source Han Sans SC", "Helvetica Neue", sans-serif;
|
||||
background: var(--bg-deep);
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.clip {
|
||||
position: absolute;
|
||||
}
|
||||
|
||||
/* 架构图背景 */
|
||||
.architecture-bg {
|
||||
width: 1200px;
|
||||
height: 800px;
|
||||
background-image: url('assets/capture/architecture.png');
|
||||
background-size: contain;
|
||||
background-repeat: no-repeat;
|
||||
background-position: center;
|
||||
filter: blur(2px);
|
||||
}
|
||||
|
||||
/* 金线勾勒框 */
|
||||
.highlight-box {
|
||||
width: 400px;
|
||||
height: 300px;
|
||||
border: 3px solid var(--gold);
|
||||
box-shadow: 0 0 30px rgba(212, 164, 55, 0.5);
|
||||
}
|
||||
|
||||
/* 关键词卡片 */
|
||||
.keyword {
|
||||
padding: 24px 48px;
|
||||
font-size: 52px;
|
||||
font-weight: bold;
|
||||
border-radius: 12px;
|
||||
letter-spacing: 4px;
|
||||
box-shadow: 0 8px 32px rgba(0, 0, 0, 0.4);
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.keyword.red {
|
||||
background: rgba(192, 57, 43, 0.2);
|
||||
color: var(--seal-red);
|
||||
border: 2px solid var(--seal-red);
|
||||
}
|
||||
|
||||
.keyword.gold {
|
||||
background: rgba(212, 164, 55, 0.15);
|
||||
color: var(--gold);
|
||||
border: 2px solid var(--gold);
|
||||
}
|
||||
|
||||
/* 小窗截图 */
|
||||
.thumbnail {
|
||||
width: 480px;
|
||||
height: 270px;
|
||||
border: 2px solid var(--line);
|
||||
border-radius: 8px;
|
||||
overflow: hidden;
|
||||
box-shadow: 0 8px 24px rgba(0, 0, 0, 0.6);
|
||||
}
|
||||
|
||||
.thumbnail img {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
object-fit: cover;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body data-composition-id="s2-security" data-width="1920" data-height="1080">
|
||||
<!-- Track 0: 深蓝底(隐式,body 背景) -->
|
||||
|
||||
<!-- Track 1: 架构图背景 (0–14s) -->
|
||||
<div class="clip architecture-bg"
|
||||
data-start="0"
|
||||
data-duration="14"
|
||||
data-track-index="1"
|
||||
style="top: 50%; left: 50%; transform: translate(-50%, -50%); opacity: 0;">
|
||||
</div>
|
||||
|
||||
<!-- Track 4: 金线勾勒边缘算力机 (2–14s) -->
|
||||
<div class="clip highlight-box"
|
||||
data-start="2"
|
||||
data-duration="12"
|
||||
data-track-index="4"
|
||||
style="top: 50%; left: 50%; transform: translate(-50%, -50%) scale(0.9); opacity: 0;">
|
||||
</div>
|
||||
|
||||
<!-- Track 2: 关键词1 - 数据不出域 (4–10s) -->
|
||||
<div class="clip keyword red"
|
||||
data-start="4"
|
||||
data-duration="6"
|
||||
data-track-index="2"
|
||||
style="top: 30%; left: 50%; transform: translate(-50%, -50%) translateY(24px); opacity: 0;">
|
||||
数据不出域
|
||||
</div>
|
||||
|
||||
<!-- Track 2: 关键词2 - 算力在身边 (6–10s) -->
|
||||
<div class="clip keyword gold"
|
||||
data-start="6"
|
||||
data-duration="4"
|
||||
data-track-index="2"
|
||||
style="top: 50%; left: 50%; transform: translate(-50%, -50%) translateY(24px); opacity: 0;">
|
||||
算力在身边
|
||||
</div>
|
||||
|
||||
<!-- Track 2: 关键词3 - 内外网物理隔离 (8–10s) -->
|
||||
<div class="clip keyword gold"
|
||||
data-start="8"
|
||||
data-duration="2"
|
||||
data-track-index="2"
|
||||
style="top: 70%; left: 50%; transform: translate(-50%, -50%) translateY(24px); opacity: 0;">
|
||||
内外网物理隔离
|
||||
</div>
|
||||
|
||||
<!-- Track 1: 小窗1 - 审计日志 (10–14s) -->
|
||||
<div class="clip thumbnail"
|
||||
data-start="10"
|
||||
data-duration="4"
|
||||
data-track-index="1"
|
||||
style="bottom: 80px; right: 480px; opacity: 0;">
|
||||
<img src="assets/capture/11_audit.png" alt="审计日志">
|
||||
</div>
|
||||
|
||||
<!-- Track 1: 小窗2 - 登录认证 (12–14s) -->
|
||||
<div class="clip thumbnail"
|
||||
data-start="12"
|
||||
data-duration="2"
|
||||
data-track-index="1"
|
||||
style="bottom: 80px; right: 80px; opacity: 0;">
|
||||
<img src="assets/capture/00_login.png" alt="登录认证">
|
||||
</div>
|
||||
|
||||
<script>
|
||||
window.__timelines = window.__timelines || {};
|
||||
const tl = gsap.timeline({ paused: true });
|
||||
window.__timelines["s2-security"] = tl;
|
||||
|
||||
// 架构图背景浮现
|
||||
tl.to('[data-start="0"]', {
|
||||
opacity: 0.4,
|
||||
duration: 1.5,
|
||||
ease: "power2.out"
|
||||
}, 0);
|
||||
|
||||
// 金线勾勒框
|
||||
tl.to('[data-start="2"]', {
|
||||
scale: 1,
|
||||
opacity: 1,
|
||||
duration: 0.8,
|
||||
ease: "power2.out"
|
||||
}, 2);
|
||||
|
||||
// 关键词1 - 数据不出域(警示红)
|
||||
tl.to('[data-start="4"]', {
|
||||
y: 0,
|
||||
opacity: 1,
|
||||
duration: 0.6,
|
||||
ease: "back.out(1.2)"
|
||||
}, 4);
|
||||
|
||||
// 关键词2 - 算力在身边
|
||||
tl.to('[data-start="6"]', {
|
||||
y: 0,
|
||||
opacity: 1,
|
||||
duration: 0.6,
|
||||
ease: "back.out(1.2)"
|
||||
}, 6);
|
||||
|
||||
// 关键词3 - 内外网物理隔离
|
||||
tl.to('[data-start="8"]', {
|
||||
y: 0,
|
||||
opacity: 1,
|
||||
duration: 0.6,
|
||||
ease: "back.out(1.2)"
|
||||
}, 8);
|
||||
|
||||
// 小窗1 - 审计日志
|
||||
tl.to('[data-start="10"]', {
|
||||
opacity: 1,
|
||||
duration: 0.5,
|
||||
ease: "power2.out"
|
||||
}, 10);
|
||||
|
||||
// 小窗2 - 登录认证
|
||||
tl.to('[data-start="12"]', {
|
||||
opacity: 1,
|
||||
duration: 0.5,
|
||||
ease: "power2.out"
|
||||
}, 12);
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,243 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="zh-CN">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>S3 - 应用即插即用</title>
|
||||
<script src="https://cdn.jsdelivr.net/npm/gsap@3.12.5/dist/gsap.min.js"></script>
|
||||
<style>
|
||||
:root {
|
||||
--bg-deep: #0A1A33;
|
||||
--bg-panel: #10243F;
|
||||
--brand-blue: #1E5BC6;
|
||||
--gold: #D4A437;
|
||||
--seal-red: #C0392B;
|
||||
--text-hi: #F2F6FC;
|
||||
--text-lo: #9DB2CE;
|
||||
--line: #2A436B;
|
||||
}
|
||||
|
||||
* {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
body {
|
||||
width: 1920px;
|
||||
height: 1080px;
|
||||
overflow: hidden;
|
||||
font-family: "PingFang SC", "Source Han Sans SC", "Helvetica Neue", sans-serif;
|
||||
background: var(--bg-deep);
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.clip {
|
||||
position: absolute;
|
||||
}
|
||||
|
||||
/* 主视觉截图 */
|
||||
.main-visual {
|
||||
width: 1600px;
|
||||
height: 900px;
|
||||
border-radius: 12px;
|
||||
overflow: hidden;
|
||||
box-shadow: 0 12px 48px rgba(0, 0, 0, 0.6);
|
||||
}
|
||||
|
||||
.main-visual img {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
object-fit: cover;
|
||||
}
|
||||
|
||||
/* 标题 */
|
||||
.title {
|
||||
font-size: 64px;
|
||||
font-weight: bold;
|
||||
color: var(--text-hi);
|
||||
letter-spacing: 6px;
|
||||
text-align: center;
|
||||
text-shadow: 0 4px 16px rgba(0, 0, 0, 0.5);
|
||||
}
|
||||
|
||||
/* 应用卡片网格 */
|
||||
.app-grid {
|
||||
display: grid;
|
||||
grid-template-columns: repeat(3, 320px);
|
||||
gap: 40px;
|
||||
}
|
||||
|
||||
.app-card {
|
||||
width: 320px;
|
||||
height: 180px;
|
||||
background: var(--bg-panel);
|
||||
border: 2px solid var(--line);
|
||||
border-radius: 12px;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
position: relative;
|
||||
box-shadow: 0 4px 16px rgba(0, 0, 0, 0.4);
|
||||
}
|
||||
|
||||
.app-card .badge {
|
||||
position: absolute;
|
||||
top: 12px;
|
||||
right: 12px;
|
||||
width: 24px;
|
||||
height: 24px;
|
||||
background: var(--gold);
|
||||
border-radius: 50%;
|
||||
}
|
||||
|
||||
.app-card .name {
|
||||
font-size: 28px;
|
||||
font-weight: 600;
|
||||
color: var(--text-hi);
|
||||
margin-bottom: 8px;
|
||||
}
|
||||
|
||||
.app-card .category {
|
||||
font-size: 18px;
|
||||
color: var(--text-lo);
|
||||
}
|
||||
|
||||
/* 快闪截图 */
|
||||
.flash-screen {
|
||||
width: 1400px;
|
||||
height: 800px;
|
||||
border-radius: 12px;
|
||||
overflow: hidden;
|
||||
box-shadow: 0 12px 48px rgba(0, 0, 0, 0.6);
|
||||
}
|
||||
|
||||
.flash-screen img {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
object-fit: cover;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body data-composition-id="s3-apps" data-width="1920" data-height="1080">
|
||||
<!-- Track 1: 主视觉 - 应用商店 (0–12s,向左推进) -->
|
||||
<div class="clip main-visual"
|
||||
data-start="0"
|
||||
data-duration="7"
|
||||
data-track-index="1"
|
||||
style="top: 50%; left: 50%; transform: translate(-50%, -50%) translateX(200px); opacity: 0;">
|
||||
<img src="assets/capture/01_store.png" alt="AI应用中心">
|
||||
</div>
|
||||
|
||||
<!-- Track 2: 标题 (2–12s) -->
|
||||
<div class="clip title"
|
||||
data-start="2"
|
||||
data-duration="10"
|
||||
data-track-index="2"
|
||||
style="top: 120px; left: 50%; transform: translateX(-50%) translateY(24px); opacity: 0;">
|
||||
数十款政法专用应用
|
||||
</div>
|
||||
|
||||
<!-- Track 1: 应用卡片网格 (4–8s) -->
|
||||
<div class="clip app-grid"
|
||||
data-start="4"
|
||||
data-duration="4"
|
||||
data-track-index="1"
|
||||
style="top: 50%; left: 50%; transform: translate(-50%, -50%); opacity: 0;">
|
||||
<div class="app-card">
|
||||
<div class="badge"></div>
|
||||
<div class="name">公文写作</div>
|
||||
<div class="category">办文场景</div>
|
||||
</div>
|
||||
<div class="app-card">
|
||||
<div class="badge"></div>
|
||||
<div class="name">法规问答</div>
|
||||
<div class="category">办案场景</div>
|
||||
</div>
|
||||
<div class="app-card">
|
||||
<div class="badge"></div>
|
||||
<div class="name">案件研判</div>
|
||||
<div class="category">研判场景</div>
|
||||
</div>
|
||||
<div class="app-card">
|
||||
<div class="badge"></div>
|
||||
<div class="name">来信回复</div>
|
||||
<div class="category">办文场景</div>
|
||||
</div>
|
||||
<div class="app-card">
|
||||
<div class="badge"></div>
|
||||
<div class="name">舆情宣传</div>
|
||||
<div class="category">研判场景</div>
|
||||
</div>
|
||||
<div class="app-card">
|
||||
<div class="badge"></div>
|
||||
<div class="name">外事翻译</div>
|
||||
<div class="category">办文场景</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Track 1: 快闪 - 法规问答 (8–10s) -->
|
||||
<div class="clip flash-screen"
|
||||
data-start="8"
|
||||
data-duration="2"
|
||||
data-track-index="1"
|
||||
style="top: 50%; left: 50%; transform: translate(-50%, -50%); opacity: 0;">
|
||||
<img src="assets/capture/09_chat.png" alt="法规问答">
|
||||
</div>
|
||||
|
||||
<!-- Track 1: 快闪 - 创建应用 (10–12s) -->
|
||||
<div class="clip flash-screen"
|
||||
data-start="10"
|
||||
data-duration="2"
|
||||
data-track-index="1"
|
||||
style="top: 50%; left: 50%; transform: translate(-50%, -50%); opacity: 0;">
|
||||
<img src="assets/capture/04_create.png" alt="创建应用">
|
||||
</div>
|
||||
|
||||
<script>
|
||||
window.__timelines = window.__timelines || {};
|
||||
const tl = gsap.timeline({ paused: true });
|
||||
window.__timelines["s3-apps"] = tl;
|
||||
|
||||
// 主视觉推进入场
|
||||
tl.to('[data-start="0"]', {
|
||||
x: 0,
|
||||
opacity: 1,
|
||||
duration: 1.2,
|
||||
ease: "power2.out"
|
||||
}, 0);
|
||||
|
||||
// 标题
|
||||
tl.to('[data-start="2"]', {
|
||||
y: 0,
|
||||
opacity: 1,
|
||||
duration: 0.6,
|
||||
ease: "power2.out"
|
||||
}, 2);
|
||||
|
||||
// 应用卡片网格(stagger)
|
||||
tl.to('[data-start="4"] .app-card', {
|
||||
opacity: 1,
|
||||
y: 0,
|
||||
duration: 0.5,
|
||||
stagger: 0.1,
|
||||
ease: "back.out(1.5)"
|
||||
}, 4);
|
||||
|
||||
// 快闪1 - 法规问答
|
||||
tl.to('[data-start="8"]', {
|
||||
opacity: 1,
|
||||
duration: 0.3,
|
||||
ease: "power2.out"
|
||||
}, 8);
|
||||
|
||||
// 快闪2 - 创建应用
|
||||
tl.to('[data-start="10"]', {
|
||||
opacity: 1,
|
||||
duration: 0.3,
|
||||
ease: "power2.out"
|
||||
}, 10);
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,265 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="zh-CN">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>S4 - 自建知识库</title>
|
||||
<script src="https://cdn.jsdelivr.net/npm/gsap@3.12.5/dist/gsap.min.js"></script>
|
||||
<style>
|
||||
:root {
|
||||
--bg-deep: #0A1A33;
|
||||
--bg-panel: #10243F;
|
||||
--brand-blue: #1E5BC6;
|
||||
--gold: #D4A437;
|
||||
--seal-red: #C0392B;
|
||||
--text-hi: #F2F6FC;
|
||||
--text-lo: #9DB2CE;
|
||||
--line: #2A436B;
|
||||
}
|
||||
|
||||
* {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
body {
|
||||
width: 1920px;
|
||||
height: 1080px;
|
||||
overflow: hidden;
|
||||
font-family: "PingFang SC", "Source Han Sans SC", "Helvetica Neue", sans-serif;
|
||||
background: var(--bg-deep);
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.clip {
|
||||
position: absolute;
|
||||
}
|
||||
|
||||
/* 知识库界面背景 */
|
||||
.kb-bg {
|
||||
width: 1600px;
|
||||
height: 900px;
|
||||
background-image: url('assets/capture/05_knowledge.png');
|
||||
background-size: cover;
|
||||
background-position: center;
|
||||
border-radius: 12px;
|
||||
filter: brightness(0.4);
|
||||
}
|
||||
|
||||
/* 文档图标 */
|
||||
.doc-icon {
|
||||
width: 120px;
|
||||
height: 140px;
|
||||
background: var(--bg-panel);
|
||||
border: 2px solid var(--gold);
|
||||
border-radius: 8px;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
font-size: 48px;
|
||||
color: var(--gold);
|
||||
box-shadow: 0 4px 16px rgba(0, 0, 0, 0.5);
|
||||
}
|
||||
|
||||
/* 知识库容器 */
|
||||
.kb-container {
|
||||
width: 400px;
|
||||
height: 300px;
|
||||
background: rgba(30, 91, 198, 0.2);
|
||||
border: 3px solid var(--brand-blue);
|
||||
border-radius: 16px;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
font-size: 56px;
|
||||
font-weight: bold;
|
||||
color: var(--text-hi);
|
||||
box-shadow: 0 0 40px rgba(30, 91, 198, 0.4);
|
||||
}
|
||||
|
||||
/* 流程示意 */
|
||||
.process-flow {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 40px;
|
||||
}
|
||||
|
||||
.process-step {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
gap: 16px;
|
||||
}
|
||||
|
||||
.process-icon {
|
||||
width: 100px;
|
||||
height: 100px;
|
||||
background: var(--bg-panel);
|
||||
border: 2px solid var(--gold);
|
||||
border-radius: 50%;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
font-size: 36px;
|
||||
color: var(--gold);
|
||||
}
|
||||
|
||||
.process-label {
|
||||
font-size: 24px;
|
||||
color: var(--text-lo);
|
||||
}
|
||||
|
||||
.arrow {
|
||||
font-size: 48px;
|
||||
color: var(--gold);
|
||||
}
|
||||
|
||||
/* 标语 */
|
||||
.slogan {
|
||||
font-size: 72px;
|
||||
font-weight: bold;
|
||||
color: var(--gold);
|
||||
letter-spacing: 8px;
|
||||
text-align: center;
|
||||
text-shadow: 0 4px 20px rgba(212, 164, 55, 0.6);
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body data-composition-id="s4-knowledge" data-width="1920" data-height="1080">
|
||||
<!-- Track 1: 知识库界面背景 (0–10s) -->
|
||||
<div class="clip kb-bg"
|
||||
data-start="0"
|
||||
data-duration="10"
|
||||
data-track-index="1"
|
||||
style="top: 50%; left: 50%; transform: translate(-50%, -50%); opacity: 0;">
|
||||
</div>
|
||||
|
||||
<!-- Track 1: 文档图标 PDF (2–10s) -->
|
||||
<div class="clip doc-icon"
|
||||
data-start="2"
|
||||
data-duration="8"
|
||||
data-track-index="1"
|
||||
style="top: 35%; left: 20%; transform: translateX(-200px); opacity: 0;">
|
||||
📄
|
||||
</div>
|
||||
|
||||
<!-- Track 1: 文档图标 Word (3–10s) -->
|
||||
<div class="clip doc-icon"
|
||||
data-start="3"
|
||||
data-duration="7"
|
||||
data-track-index="1"
|
||||
style="top: 50%; left: 20%; transform: translateX(-200px); opacity: 0;">
|
||||
📝
|
||||
</div>
|
||||
|
||||
<!-- Track 1: 文档图标 Excel (4–10s) -->
|
||||
<div class="clip doc-icon"
|
||||
data-start="4"
|
||||
data-duration="6"
|
||||
data-track-index="1"
|
||||
style="top: 65%; left: 20%; transform: translateX(-200px); opacity: 0;">
|
||||
📊
|
||||
</div>
|
||||
|
||||
<!-- Track 1: 知识库容器 (2–10s) -->
|
||||
<div class="clip kb-container"
|
||||
data-start="2"
|
||||
data-duration="8"
|
||||
data-track-index="1"
|
||||
style="top: 50%; left: 50%; transform: translate(-50%, -50%) scale(0.8); opacity: 0;">
|
||||
知识库
|
||||
</div>
|
||||
|
||||
<!-- Track 4: 流程示意 (6–8s) -->
|
||||
<div class="clip process-flow"
|
||||
data-start="6"
|
||||
data-duration="2"
|
||||
data-track-index="4"
|
||||
style="bottom: 120px; left: 50%; transform: translateX(-50%); opacity: 0;">
|
||||
<div class="process-step">
|
||||
<div class="process-icon">📦</div>
|
||||
<div class="process-label">分块</div>
|
||||
</div>
|
||||
<div class="arrow">→</div>
|
||||
<div class="process-step">
|
||||
<div class="process-icon">🔢</div>
|
||||
<div class="process-label">向量化</div>
|
||||
</div>
|
||||
<div class="arrow">→</div>
|
||||
<div class="process-step">
|
||||
<div class="process-icon">🎯</div>
|
||||
<div class="process-label">检索</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Track 2: 标语 (8–10s) -->
|
||||
<div class="clip slogan"
|
||||
data-start="8"
|
||||
data-duration="2"
|
||||
data-track-index="2"
|
||||
style="top: 20%; left: 50%; transform: translate(-50%, -50%) translateY(24px); opacity: 0;">
|
||||
让 AI 通晓"本地法"
|
||||
</div>
|
||||
|
||||
<script>
|
||||
window.__timelines = window.__timelines || {};
|
||||
const tl = gsap.timeline({ paused: true });
|
||||
window.__timelines["s4-knowledge"] = tl;
|
||||
|
||||
// 知识库界面背景
|
||||
tl.to('[data-start="0"]', {
|
||||
opacity: 1,
|
||||
duration: 1,
|
||||
ease: "power2.out"
|
||||
}, 0);
|
||||
|
||||
// 文档图标 PDF
|
||||
tl.to('[data-start="2"]', {
|
||||
x: 0,
|
||||
opacity: 1,
|
||||
duration: 0.8,
|
||||
ease: "power2.out"
|
||||
}, 2);
|
||||
|
||||
// 文档图标 Word
|
||||
tl.to('[data-start="3"]', {
|
||||
x: 0,
|
||||
opacity: 1,
|
||||
duration: 0.8,
|
||||
ease: "power2.out"
|
||||
}, 3);
|
||||
|
||||
// 文档图标 Excel
|
||||
tl.to('[data-start="4"]', {
|
||||
x: 0,
|
||||
opacity: 1,
|
||||
duration: 0.8,
|
||||
ease: "power2.out"
|
||||
}, 4);
|
||||
|
||||
// 知识库容器
|
||||
tl.to('[data-start="2"]', {
|
||||
scale: 1,
|
||||
opacity: 1,
|
||||
duration: 0.8,
|
||||
ease: "back.out(1.5)"
|
||||
}, 2);
|
||||
|
||||
// 流程示意
|
||||
tl.to('[data-start="6"]', {
|
||||
opacity: 1,
|
||||
duration: 0.6,
|
||||
ease: "power2.out"
|
||||
}, 6);
|
||||
|
||||
// 标语
|
||||
tl.to('[data-start="8"]', {
|
||||
y: 0,
|
||||
opacity: 1,
|
||||
duration: 0.6,
|
||||
ease: "power2.out"
|
||||
}, 8);
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,283 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="zh-CN">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>S5 - 一键生成汇报</title>
|
||||
<script src="https://cdn.jsdelivr.net/npm/gsap@3.12.5/dist/gsap.min.js"></script>
|
||||
<style>
|
||||
:root {
|
||||
--bg-deep: #0A1A33;
|
||||
--bg-panel: #10243F;
|
||||
--brand-blue: #1E5BC6;
|
||||
--gold: #D4A437;
|
||||
--seal-red: #C0392B;
|
||||
--text-hi: #F2F6FC;
|
||||
--text-lo: #9DB2CE;
|
||||
--line: #2A436B;
|
||||
}
|
||||
|
||||
* {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
body {
|
||||
width: 1920px;
|
||||
height: 1080px;
|
||||
overflow: hidden;
|
||||
font-family: "PingFang SC", "Source Han Sans SC", "Helvetica Neue", sans-serif;
|
||||
background: var(--bg-deep);
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.clip {
|
||||
position: absolute;
|
||||
}
|
||||
|
||||
/* 输入框 */
|
||||
.input-box {
|
||||
width: 800px;
|
||||
height: 120px;
|
||||
background: var(--bg-panel);
|
||||
border: 2px solid var(--line);
|
||||
border-radius: 12px;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
padding: 0 32px;
|
||||
font-size: 32px;
|
||||
color: var(--text-lo);
|
||||
box-shadow: 0 4px 16px rgba(0, 0, 0, 0.5);
|
||||
}
|
||||
|
||||
/* 生成按钮 */
|
||||
.generate-btn {
|
||||
width: 200px;
|
||||
height: 80px;
|
||||
background: var(--brand-blue);
|
||||
border-radius: 12px;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
font-size: 36px;
|
||||
font-weight: bold;
|
||||
color: var(--text-hi);
|
||||
cursor: pointer;
|
||||
box-shadow: 0 4px 16px rgba(30, 91, 198, 0.6);
|
||||
}
|
||||
|
||||
/* PPT 卡片 */
|
||||
.ppt-card {
|
||||
width: 360px;
|
||||
height: 240px;
|
||||
background: white;
|
||||
border-radius: 8px;
|
||||
box-shadow: 0 8px 24px rgba(0, 0, 0, 0.4);
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
font-size: 24px;
|
||||
font-weight: 600;
|
||||
color: #333;
|
||||
position: relative;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.ppt-card::before {
|
||||
content: '';
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
width: 100%;
|
||||
height: 60px;
|
||||
background: linear-gradient(135deg, var(--brand-blue), var(--gold));
|
||||
}
|
||||
|
||||
.ppt-card-content {
|
||||
margin-top: 40px;
|
||||
}
|
||||
|
||||
/* PPT 网格 */
|
||||
.ppt-grid {
|
||||
display: grid;
|
||||
grid-template-columns: repeat(3, 360px);
|
||||
gap: 40px;
|
||||
}
|
||||
|
||||
/* 标注 */
|
||||
.annotation {
|
||||
display: flex;
|
||||
gap: 24px;
|
||||
font-size: 28px;
|
||||
color: var(--text-lo);
|
||||
}
|
||||
|
||||
.annotation span {
|
||||
padding: 8px 20px;
|
||||
background: rgba(42, 67, 107, 0.3);
|
||||
border-radius: 8px;
|
||||
border: 1px solid var(--line);
|
||||
}
|
||||
|
||||
/* 时间对比 */
|
||||
.time-compare {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 60px;
|
||||
}
|
||||
|
||||
.time-value {
|
||||
font-size: 120px;
|
||||
font-weight: bold;
|
||||
color: var(--gold);
|
||||
font-family: "DIN Alternate", "Helvetica Neue", sans-serif;
|
||||
text-shadow: 0 4px 20px rgba(212, 164, 55, 0.6);
|
||||
}
|
||||
|
||||
.time-label {
|
||||
font-size: 36px;
|
||||
color: var(--text-lo);
|
||||
margin-top: 12px;
|
||||
}
|
||||
|
||||
.arrow-large {
|
||||
font-size: 72px;
|
||||
color: var(--gold);
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body data-composition-id="s5-ppt" data-width="1920" data-height="1080">
|
||||
<!-- Track 1: 输入框 (0–6s) -->
|
||||
<div class="clip input-box"
|
||||
data-start="0"
|
||||
data-duration="6"
|
||||
data-track-index="1"
|
||||
style="top: 30%; left: 50%; transform: translate(-50%, -50%) translateY(24px); opacity: 0;">
|
||||
输入主题:政法工作年度总结汇报
|
||||
</div>
|
||||
|
||||
<!-- Track 1: 生成按钮 (1–6s) -->
|
||||
<div class="clip generate-btn"
|
||||
data-start="1"
|
||||
data-duration="5"
|
||||
data-track-index="1"
|
||||
style="top: 30%; left: 50%; transform: translate(280px, -50%) scale(0.9); opacity: 0;">
|
||||
生成
|
||||
</div>
|
||||
|
||||
<!-- Track 1: PPT 卡片网格 (3–6s) -->
|
||||
<div class="clip ppt-grid"
|
||||
data-start="3"
|
||||
data-duration="3"
|
||||
data-track-index="1"
|
||||
style="top: 55%; left: 50%; transform: translate(-50%, -50%); opacity: 0;">
|
||||
<div class="ppt-card">
|
||||
<div class="ppt-card-content">封面页</div>
|
||||
</div>
|
||||
<div class="ppt-card">
|
||||
<div class="ppt-card-content">工作概述</div>
|
||||
</div>
|
||||
<div class="ppt-card">
|
||||
<div class="ppt-card-content">重点成果</div>
|
||||
</div>
|
||||
<div class="ppt-card">
|
||||
<div class="ppt-card-content">数据分析</div>
|
||||
</div>
|
||||
<div class="ppt-card">
|
||||
<div class="ppt-card-content">经验总结</div>
|
||||
</div>
|
||||
<div class="ppt-card">
|
||||
<div class="ppt-card-content">未来展望</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Track 2: 标注 (6–10s) -->
|
||||
<div class="clip annotation"
|
||||
data-start="6"
|
||||
data-duration="4"
|
||||
data-track-index="2"
|
||||
style="top: 22%; left: 50%; transform: translate(-50%, -50%); opacity: 0;">
|
||||
<span>16:9 / 4:3</span>
|
||||
<span>原生可编辑</span>
|
||||
<span>全程本地</span>
|
||||
</div>
|
||||
|
||||
<!-- Track 1: 时间对比 (8–10s) -->
|
||||
<div class="clip time-compare"
|
||||
data-start="8"
|
||||
data-duration="2"
|
||||
data-track-index="1"
|
||||
style="top: 60%; left: 50%; transform: translate(-50%, -50%); opacity: 0;">
|
||||
<div style="text-align: center;">
|
||||
<div class="time-value" data-count="7">0</div>
|
||||
<div class="time-label">天</div>
|
||||
</div>
|
||||
<div class="arrow-large">→</div>
|
||||
<div style="text-align: center;">
|
||||
<div class="time-value" data-count="5">0</div>
|
||||
<div class="time-label">分钟</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<script>
|
||||
window.__timelines = window.__timelines || {};
|
||||
const tl = gsap.timeline({ paused: true });
|
||||
window.__timelines["s5-ppt"] = tl;
|
||||
|
||||
// 输入框
|
||||
tl.to('[data-start="0"]', {
|
||||
y: 0,
|
||||
opacity: 1,
|
||||
duration: 0.6,
|
||||
ease: "power2.out"
|
||||
}, 0);
|
||||
|
||||
// 生成按钮
|
||||
tl.to('[data-start="1"]', {
|
||||
scale: 1,
|
||||
opacity: 1,
|
||||
duration: 0.5,
|
||||
ease: "back.out(1.5)"
|
||||
}, 1);
|
||||
|
||||
// PPT 卡片网格(stagger)
|
||||
tl.to('[data-start="3"] .ppt-card', {
|
||||
opacity: 1,
|
||||
rotateY: 0,
|
||||
duration: 0.6,
|
||||
stagger: 0.12,
|
||||
ease: "back.out(1.2)"
|
||||
}, 3);
|
||||
|
||||
// 标注
|
||||
tl.to('[data-start="6"]', {
|
||||
opacity: 1,
|
||||
duration: 0.5,
|
||||
ease: "power2.out"
|
||||
}, 6);
|
||||
|
||||
// 时间对比容器
|
||||
tl.to('[data-start="8"]', {
|
||||
opacity: 1,
|
||||
duration: 0.5,
|
||||
ease: "power2.out"
|
||||
}, 8);
|
||||
|
||||
// 数字 count-up(确定性动画)
|
||||
tl.to('[data-count="7"]', {
|
||||
innerText: 7,
|
||||
duration: 1,
|
||||
snap: { innerText: 1 },
|
||||
ease: "power2.out"
|
||||
}, 8.2);
|
||||
|
||||
tl.to('[data-count="5"]', {
|
||||
innerText: 5,
|
||||
duration: 1,
|
||||
snap: { innerText: 1 },
|
||||
ease: "power2.out"
|
||||
}, 8.2);
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,222 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="zh-CN">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>S6 - 独立部署与治理</title>
|
||||
<script src="https://cdn.jsdelivr.net/npm/gsap@3.12.5/dist/gsap.min.js"></script>
|
||||
<style>
|
||||
:root {
|
||||
--bg-deep: #0A1A33;
|
||||
--bg-panel: #10243F;
|
||||
--brand-blue: #1E5BC6;
|
||||
--gold: #D4A437;
|
||||
--seal-red: #C0392B;
|
||||
--text-hi: #F2F6FC;
|
||||
--text-lo: #9DB2CE;
|
||||
--line: #2A436B;
|
||||
}
|
||||
|
||||
* {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
body {
|
||||
width: 1920px;
|
||||
height: 1080px;
|
||||
overflow: hidden;
|
||||
font-family: "PingFang SC", "Source Han Sans SC", "Helvetica Neue", sans-serif;
|
||||
background: var(--bg-deep);
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.clip {
|
||||
position: absolute;
|
||||
}
|
||||
|
||||
/* 算力机箱体 */
|
||||
.server-box {
|
||||
width: 400px;
|
||||
height: 500px;
|
||||
background: linear-gradient(135deg, var(--bg-panel) 0%, #1a2f4a 100%);
|
||||
border: 3px solid var(--brand-blue);
|
||||
border-radius: 16px;
|
||||
box-shadow: 0 12px 48px rgba(30, 91, 198, 0.4);
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
gap: 32px;
|
||||
}
|
||||
|
||||
.server-icon {
|
||||
font-size: 120px;
|
||||
}
|
||||
|
||||
.server-label {
|
||||
font-size: 32px;
|
||||
font-weight: bold;
|
||||
color: var(--text-hi);
|
||||
text-align: center;
|
||||
line-height: 1.4;
|
||||
}
|
||||
|
||||
.server-note {
|
||||
font-size: 24px;
|
||||
color: var(--gold);
|
||||
padding: 12px 24px;
|
||||
background: rgba(212, 164, 55, 0.1);
|
||||
border-radius: 8px;
|
||||
border: 1px solid var(--gold);
|
||||
}
|
||||
|
||||
/* 三联画 */
|
||||
.triple-screens {
|
||||
display: flex;
|
||||
gap: 40px;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.screen-item {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
gap: 16px;
|
||||
}
|
||||
|
||||
.screen-img {
|
||||
width: 540px;
|
||||
height: 340px;
|
||||
border: 2px solid var(--line);
|
||||
border-radius: 12px;
|
||||
overflow: hidden;
|
||||
box-shadow: 0 8px 24px rgba(0, 0, 0, 0.5);
|
||||
}
|
||||
|
||||
.screen-img img {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
object-fit: cover;
|
||||
}
|
||||
|
||||
.screen-title {
|
||||
font-size: 28px;
|
||||
font-weight: 600;
|
||||
color: var(--text-hi);
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
/* 关键词条 */
|
||||
.keywords-bar {
|
||||
display: flex;
|
||||
gap: 32px;
|
||||
padding: 20px 40px;
|
||||
background: rgba(42, 67, 107, 0.3);
|
||||
border-radius: 12px;
|
||||
border: 2px solid var(--line);
|
||||
}
|
||||
|
||||
.keyword-item {
|
||||
font-size: 36px;
|
||||
font-weight: 600;
|
||||
color: var(--gold);
|
||||
letter-spacing: 2px;
|
||||
}
|
||||
|
||||
.keyword-sep {
|
||||
font-size: 36px;
|
||||
color: var(--line);
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body data-composition-id="s6-deploy" data-width="1920" data-height="1080">
|
||||
<!-- Track 1: 算力机箱体 (0–4s) -->
|
||||
<div class="clip server-box"
|
||||
data-start="0"
|
||||
data-duration="4"
|
||||
data-track-index="1"
|
||||
style="top: 50%; left: 50%; transform: translate(-50%, -50%) scale(0.8); opacity: 0;">
|
||||
<div class="server-icon">🖥️</div>
|
||||
<div class="server-label">边缘算力机<br>预装即用</div>
|
||||
<div class="server-note">到场即通电 · 通电即可用</div>
|
||||
</div>
|
||||
|
||||
<!-- Track 1: 三联画 (4–10s) -->
|
||||
<div class="clip triple-screens"
|
||||
data-start="4"
|
||||
data-duration="6"
|
||||
data-track-index="1"
|
||||
style="top: 48%; left: 50%; transform: translate(-50%, -50%); opacity: 0;">
|
||||
<div class="screen-item">
|
||||
<div class="screen-img">
|
||||
<img src="assets/capture/08_overview.png" alt="平台总览">
|
||||
</div>
|
||||
<div class="screen-title">平台总览</div>
|
||||
</div>
|
||||
<div class="screen-item">
|
||||
<div class="screen-img">
|
||||
<img src="assets/capture/02_dashboard.png" alt="数据仪表盘">
|
||||
</div>
|
||||
<div class="screen-title">数据仪表盘</div>
|
||||
</div>
|
||||
<div class="screen-item">
|
||||
<div class="screen-img">
|
||||
<img src="assets/capture/03_analytics.png" alt="用量分析">
|
||||
</div>
|
||||
<div class="screen-title">用量分析</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Track 2: 关键词条 (8–10s) -->
|
||||
<div class="clip keywords-bar"
|
||||
data-start="8"
|
||||
data-duration="2"
|
||||
data-track-index="2"
|
||||
style="bottom: 100px; left: 50%; transform: translateX(-50%) translateY(24px); opacity: 0;">
|
||||
<div class="keyword-item">开箱即用</div>
|
||||
<div class="keyword-sep">·</div>
|
||||
<div class="keyword-item">本部门专属</div>
|
||||
<div class="keyword-sep">·</div>
|
||||
<div class="keyword-item">治理闭环</div>
|
||||
</div>
|
||||
|
||||
<script>
|
||||
window.__timelines = window.__timelines || {};
|
||||
const tl = gsap.timeline({ paused: true });
|
||||
window.__timelines["s6-deploy"] = tl;
|
||||
|
||||
// 算力机箱体
|
||||
tl.to('[data-start="0"]', {
|
||||
scale: 1,
|
||||
opacity: 1,
|
||||
duration: 0.8,
|
||||
ease: "back.out(1.5)"
|
||||
}, 0);
|
||||
|
||||
// 三联画(整体入场)
|
||||
tl.to('[data-start="4"]', {
|
||||
opacity: 1,
|
||||
duration: 0.8,
|
||||
ease: "power2.out"
|
||||
}, 4);
|
||||
|
||||
// 三联画内部(stagger)
|
||||
tl.to('[data-start="4"] .screen-item', {
|
||||
y: 0,
|
||||
opacity: 1,
|
||||
duration: 0.6,
|
||||
stagger: 0.15,
|
||||
ease: "power2.out"
|
||||
}, 4.5);
|
||||
|
||||
// 关键词条
|
||||
tl.to('[data-start="8"]', {
|
||||
y: 0,
|
||||
opacity: 1,
|
||||
duration: 0.6,
|
||||
ease: "power2.out"
|
||||
}, 8);
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,159 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="zh-CN">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>S7 - 收尾</title>
|
||||
<script src="https://cdn.jsdelivr.net/npm/gsap@3.12.5/dist/gsap.min.js"></script>
|
||||
<style>
|
||||
:root {
|
||||
--bg-deep: #0A1A33;
|
||||
--bg-panel: #10243F;
|
||||
--brand-blue: #1E5BC6;
|
||||
--gold: #D4A437;
|
||||
--seal-red: #C0392B;
|
||||
--text-hi: #F2F6FC;
|
||||
--text-lo: #9DB2CE;
|
||||
--line: #2A436B;
|
||||
}
|
||||
|
||||
* {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
body {
|
||||
width: 1920px;
|
||||
height: 1080px;
|
||||
overflow: hidden;
|
||||
font-family: "PingFang SC", "Source Han Sans SC", "Helvetica Neue", sans-serif;
|
||||
background: linear-gradient(135deg, var(--bg-deep) 0%, var(--bg-panel) 100%);
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.clip {
|
||||
position: absolute;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
}
|
||||
|
||||
/* 金线装饰 */
|
||||
.gold-line-horizontal {
|
||||
width: 800px;
|
||||
height: 3px;
|
||||
background: var(--gold);
|
||||
transform-origin: center;
|
||||
box-shadow: 0 0 20px rgba(212, 164, 55, 0.6);
|
||||
}
|
||||
|
||||
/* 主标语 */
|
||||
.main-slogan {
|
||||
font-size: 96px;
|
||||
font-weight: bold;
|
||||
color: var(--text-hi);
|
||||
letter-spacing: 32px;
|
||||
text-align: center;
|
||||
text-shadow: 0 6px 24px rgba(242, 246, 252, 0.3);
|
||||
padding-left: 32px; /* 补偿 letter-spacing */
|
||||
}
|
||||
|
||||
/* 网址 */
|
||||
.website {
|
||||
font-size: 64px;
|
||||
font-weight: 600;
|
||||
color: var(--gold);
|
||||
letter-spacing: 4px;
|
||||
text-align: center;
|
||||
padding: 24px 60px;
|
||||
background: rgba(212, 164, 55, 0.1);
|
||||
border: 2px solid var(--gold);
|
||||
border-radius: 16px;
|
||||
box-shadow: 0 0 40px rgba(212, 164, 55, 0.3);
|
||||
}
|
||||
|
||||
/* 出品方 */
|
||||
.producer {
|
||||
font-size: 48px;
|
||||
font-weight: 500;
|
||||
color: var(--text-lo);
|
||||
letter-spacing: 6px;
|
||||
text-align: center;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body data-composition-id="s7-outro" data-width="1920" data-height="1080">
|
||||
<!-- Track 1: 金线 (0–2s) -->
|
||||
<div class="clip gold-line-horizontal"
|
||||
data-start="0"
|
||||
data-duration="8"
|
||||
data-track-index="1"
|
||||
style="top: 35%; left: 50%; transform: translate(-50%, -50%) scaleX(0);">
|
||||
</div>
|
||||
|
||||
<!-- Track 2: 主标语 (2–8s) -->
|
||||
<div class="clip main-slogan"
|
||||
data-start="2"
|
||||
data-duration="6"
|
||||
data-track-index="2"
|
||||
style="top: 42%; left: 50%; transform: translate(-50%, -50%) translateY(24px); opacity: 0;">
|
||||
安全 · 专属 · 易用
|
||||
</div>
|
||||
|
||||
<!-- Track 2: 网址 (4–8s) -->
|
||||
<div class="clip website"
|
||||
data-start="4"
|
||||
data-duration="4"
|
||||
data-track-index="2"
|
||||
style="top: 58%; left: 50%; transform: translate(-50%, -50%) scale(0.9); opacity: 0;">
|
||||
gov.opc8ai.com
|
||||
</div>
|
||||
|
||||
<!-- Track 3: 出品方 (6–8s) -->
|
||||
<div class="clip producer"
|
||||
data-start="6"
|
||||
data-duration="2"
|
||||
data-track-index="3"
|
||||
style="bottom: 100px; left: 50%; transform: translateX(-50%) translateY(24px); opacity: 0;">
|
||||
法治日报社 出品
|
||||
</div>
|
||||
|
||||
<script>
|
||||
window.__timelines = window.__timelines || {};
|
||||
const tl = gsap.timeline({ paused: true });
|
||||
window.__timelines["s7-outro"] = tl;
|
||||
|
||||
// 金线擦出
|
||||
tl.to('[data-start="0"]', {
|
||||
scaleX: 1,
|
||||
duration: 1.2,
|
||||
ease: "power2.out"
|
||||
}, 0);
|
||||
|
||||
// 主标语
|
||||
tl.to('[data-start="2"]', {
|
||||
y: 0,
|
||||
opacity: 1,
|
||||
duration: 0.8,
|
||||
ease: "power2.out"
|
||||
}, 2);
|
||||
|
||||
// 网址高亮
|
||||
tl.to('[data-start="4"]', {
|
||||
scale: 1,
|
||||
opacity: 1,
|
||||
duration: 0.8,
|
||||
ease: "back.out(1.5)"
|
||||
}, 4);
|
||||
|
||||
// 出品方
|
||||
tl.to('[data-start="6"]', {
|
||||
y: 0,
|
||||
opacity: 1,
|
||||
duration: 0.6,
|
||||
ease: "power2.out"
|
||||
}, 6);
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
Reference in New Issue
Block a user