Files
MyAiDesk/GovAI/videos/fazhitong-promo/compositions/s4-knowledge.html
T
freedak f7a720204a Update: 将子项目从 submodule 转为完整内容
- 移除 GovAI, nomifun-tauri, 算力盒子 的 submodule 引用
- 添加所有子项目的完整源代码
- 保留原始 .git 为 .git.bak 备份
2026-07-04 19:20:46 +08:00

265 lines
6.2 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.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: 知识库界面背景 (010s) -->
<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 (210s) -->
<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 (310s) -->
<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 (410s) -->
<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: 知识库容器 (210s) -->
<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: 流程示意 (68s) -->
<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: 标语 (810s) -->
<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>