Guanghu Domestic Migration d1e47f4565
Some checks are pending
自动更新代码和重启 / update-and-restart (push) Waiting to run
CI检查 + 自动部署 / check (push) Waiting to run
CI检查 + 自动部署 / deploy (push) Blocked by required conditions
重启聊天服务 / restart (push) Waiting to run
chore: import sanitized domestic snapshot for REPO-002
Source snapshot: ca48d3ddf926d79aa138306164169baf764bb829
2026-07-17 15:54:41 +08:00

111 lines
5.8 KiB
HTML
Raw Permalink 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>HoloLake 动态漫制作系统 - 环节6</title>
<link rel="stylesheet" href="css/style.css">
</head>
<body>
<div class="container">
<h1>🎬 HoloLake 动态漫制作系统</h1>
<!-- 主布局容器 -->
<div class="main-layout">
<!-- 左侧素材面板 -->
<div class="left-panel">
<h3>📦 素材库</h3>
<h3>角色</h3>
<div class="material-grid">
<div class="material-item" draggable="true" data-type="character" data-emoji="😊">😊 开心</div>
<div class="material-item" draggable="true" data-type="character" data-emoji="😢">😢 难过</div>
<div class="material-item" draggable="true" data-type="character" data-emoji="😠">😠 生气</div>
<div class="material-item" draggable="true" data-type="character" data-emoji="😴">😴 睡觉</div>
</div>
<h3>物品</h3>
<div class="material-grid">
<div class="material-item" draggable="true" data-type="item" data-emoji="🌸">🌸 花</div>
<div class="material-item" draggable="true" data-type="item" data-emoji="⭐">⭐ 星星</div>
<div class="material-item" draggable="true" data-type="item" data-emoji="💎">💎 宝石</div>
<div class="material-item" draggable="true" data-type="item" data-emoji="📖">📖 书</div>
</div>
<h3>场景</h3>
<div class="material-grid">
<div class="material-item" draggable="true" data-type="background" data-emoji="🏠">🏠 房子</div>
<div class="material-item" draggable="true" data-type="background" data-emoji="🌳">🌳 树林</div>
<div class="material-item" draggable="true" data-type="background" data-emoji="⛰️">⛰️ 山</div>
</div>
</div>
<!-- 中间画布区域 -->
<div class="canvas-area">
<canvas id="mainCanvas" width="800" height="450"></canvas>
<!-- 画布控制栏 -->
<div class="canvas-controls">
<button class="btn" onclick="exportScreenshot()">📷 截图</button>
<button class="btn" onclick="exportScene()">📤 导出JSON</button>
<button class="btn" onclick="document.getElementById('import-file').click()">📥 导入JSON</button>
<input type="file" id="import-file" style="display:none" accept=".json" onchange="importScene(event)">
<button class="btn btn-primary" id="previewBtn">👁️ 预览</button>
<button class="btn btn-primary" id="shareBtn">🔗 分享作品</button>
</div>
<!-- 预览模式专用控制按钮(默认隐藏) -->
<div class="preview-controls hidden">
<button class="btn btn-primary" id="playPreviewBtn">▶️ 播放</button>
<button class="btn" id="pausePreviewBtn">⏸️ 暂停</button>
<button class="btn" id="stopPreviewBtn">⏹️ 停止</button>
<button class="btn" id="exitPreviewBtn">✖️ 退出预览</button>
</div>
</div>
<!-- 右侧场景面板 -->
<div class="right-panel">
<h3>🎬 场景列表</h3>
<div class="scene-list" id="sceneList"></div>
<button class="btn" onclick="addScene()" style="width:100%; margin-top:10px;"> 新建场景</button>
<!-- 时间轴预览区域 -->
<div class="timeline">
<h3>⏱️ 时间轴</h3>
<div class="timeline-controls">
<button class="btn" onclick="addFrame()" style="padding:5px 15px;"> 新帧</button>
<button class="btn" onclick="deleteFrame()" style="padding:5px 15px;">🗑️ 删帧</button>
<button class="btn" onclick="togglePlayback()" id="timelinePlayBtn" style="padding:5px 15px;">▶️ 播放</button>
</div>
<div class="frames-container" id="framesContainer"></div>
<div style="margin-top:10px; display:flex; align-items:center; gap:10px;">
<span>速度:</span>
<input type="range" id="fpsSlider" min="1" max="12" value="4" style="flex:1;">
<span id="fpsValue">4 FPS</span>
</div>
</div>
</div>
</div>
</div>
<!-- 分享弹窗(默认隐藏) -->
<div id="shareOverlay" class="overlay hidden"></div>
<div id="sharePanel" class="share-panel hidden">
<h3>🔗 分享作品</h3>
<div>
<button class="btn" id="generateUrlBtn" style="margin-right:10px;">生成分享链接</button>
<button class="btn" id="generateEmbedBtn">生成嵌入代码</button>
</div>
<div id="shareUrlContainer" style="margin-top:20px;">
<div class="share-url" id="shareUrl"></div>
<div class="share-actions">
<button class="btn" id="copyShareBtn" style="display:none;">📋 复制</button>
<button class="btn" id="closeShareBtn">关闭</button>
</div>
</div>
</div>
<script src="js/app.js"></script>
</body>
</html>