零后端打造一座「数字神话神殿」:33 位神祇、八界域、图生视频与 TTS 旁白的纯前端实践

简介: 「神话神域」是纯前端单页应用,无需后端与数据库,以HTML+CSS+JS+Tailwind构建。收录33位中国神话人物,覆盖八界域,融合写实立绘、图生视频、TTS旁白、动态界域背景、全息信息面板、侧边弹幕及带图分享等功能,打造电影级沉浸式神话展厅。(239字)

ScreenShot_2026-10-21_171441_733@2x.png

一、项目背景与目标

「神话神域」是一个全屏单页神话人物展示站,目标是在不依赖后端和数据库的前提下,做出电影级史诗展厅的沉浸感。最终收录 33 位中国神话人物,覆盖神界、仙界、魔界、妖界、灵界、冥界、佛界、龙界八类界域。

功能清单:

  • 写实 CG 全身立绘 + 5s 图生视频动态;

  • 八界域动态背景(云海、火焰、雷电、佛光、忘川等)随人物切换;

  • 低沉男声 TTS 旁白 + 循环史诗配乐,自动巡游时等旁白读完再切换;

  • 全息信息面板(简介 / 身份界域 / 神通 / 传说),悬停高亮、点击展开;

  • 模糊搜索、键盘左右切换、缩略图直达;

  • 侧边弹幕、带当前人物立绘的系统分享、全网分发;

  • 备案信息、访问统计、意见反馈、前端防复制。

技术选型刻意保持轻量:HTML + 内联 CSS + 原生 JavaScript + Tailwind CDN,无框架、无构建、无后端,一个 HTML 文件配合 assets/ 静态目录即可部署。


ScreenShot_2026-10-21_172858_874@2x.png

二、整体架构

神话神域/
├── 神话神域.html          # 单文件 SPA(结构/样式/逻辑内联)
├── robots.txt
├── sitemap.xml
└── assets/
    ├── char/<id>.jpeg     # 33 张 2730×1536 横版全身立绘
    ├── video/<id>.mp4     # 33 条 1280×720 / 5s 图生视频
    ├── voice/<id>.mp3     # 33 条 TTS 旁白(zh-CN-YunjianNeural)
    └── bgm.mp3            # 循环史诗配乐

前端分层:

层 职责
数据层 CHARACTERS 数组内联全部人物字段(名称 / 称号 / 界域 / 能力 / 传说 / 媒体路径)
状态层 普通对象 state(当前索引、是否自动巡游、当前界域),重渲染函数驱动
视图层 立绘 / 视频、全息气泡、界域背景层、弹幕层、控制栏、分享 / 反馈弹层
素材管线 离线批量生成图、视频、旁白,前端只做播放与切换

因为是纯静态,所有 "动态" 都发生在浏览器端,服务端只负责发静态文件。


ScreenShot_2026-10-21_172936_918@2x.png

三、核心实现拆解

1. 状态管理与人物渲染

不用框架,用一个普通状态对象 + 一个 renderCharacter() 重渲染函数即可。切换时更新媒体、文本、界域主题和气泡内容:

const state = { index: 0, auto: false, realm: "神界" };

function renderCharacter(animatePop = true) {
  const c = CHARACTERS[state.index];
  el.portrait.src = c.img;                 // 静图兜底
  el.vid.src = `assets/video/${base}.mp4`;  // 图生视频
  el.vid.play().catch(() => {});
  el.nameCn.textContent = c.name;
  el.nameTitle.textContent = c.title;
  // ……填充气泡、标签、界域主题、同步 og 卡片
  switchRealm(c.realm[0]);
  playNarra(c.id);
}

function goto(i) {
  state.index = (i + CHARACTERS.length) % CHARACTERS.length;
  renderCharacter();
}

自动巡游不使用固定定时器切人,而是监听旁白 ended 事件后再 goto(next),避免话没说完就切走:

narrator.addEventListener("ended", () => {
  if (state.auto) goto(state.index + 1);
});

2. 八界域主题切换

界域用 body[data-realm] 属性选择器驱动配色与装饰层,切换人物只改一个属性,CSS 负责呈现:

body[data-realm="神界"]   { --accent:#e8c26a; /* 神金 */ }
body[data-realm="冥界"]   { --accent:#8a7fb8; /* 幽紫冷青 */ }
body[data-realm="佛界"]   { --accent:#d9b86a; /* 金莲暖金 */ }
#realmLayer { /* 云海/火焰/雷电/佛光等装饰层,按界域显隐与动画 */ }

动态氛围用 Canvas 粒子 + CSS 动画实现:翻涌云海用多层渐变位移,雷电用随机折线游走,佛光用径向渐变呼吸,避免引入重型 WebGL 库。

3. 图生视频与 TTS 旁白(离线管线)

前端只播放,生成全部离线完成:

  • 立绘:统一重绘为 16:9(2730×1536)横版全身构图,避免非 16:9 显示器裁头脚;

  • 动态:以首帧立绘作为 first_frame,调用图生视频模型生成 5s、720p、h264 静音片段;

  • 旁白:edge-tts 选 zh-CN-YunjianNeural(低沉男声)逐人生成 mp3;

  • 前端 <video> 静音循环,<audio> 播放旁白,配乐独立循环并做音量侧链避让。

4. 侧边弹幕(不遮挡主体)

弹幕不放全屏横穿,而是拆成左右两条边缘通道,从根本上避免遮挡中央神像:

#danmakuLayer { position: fixed; top:6%; height:20%; z-index:12; }
.dm-channel { position:absolute; top:0; bottom:0; width:26vw; overflow:hidden; }
#dmLeft { left:0; } #dmRight { right:0; }
@keyframes dmFlyL { from{transform:translateX(105%)} to{transform:translateX(-115%)} }
@keyframes dmFlyR { from{transform:translateX(-115%)} to{transform:translateX(105%)} }

合规过滤在前端拦截链接、联系方式与灌水,生产环境建议叠加服务端审核。

5. 带图分享(Web Share Level 2)

系统分享时把当前人物立绘抓取为 File 一并交给原生分享面板,不支持 files 的环境自动降级为文案 + 链接:

async function shareWithMedia(c, text, url) {
  const abs = new URL(c.img, location.href).href;
  const blob = await (await fetch(abs)).blob();
  const file = new File([blob], `${c.name}.jpeg`, { type: blob.type || "image/jpeg" });
  const base = { title: `神话神域 · ${c.name}`, text, url };
  if (navigator.canShare?.({ files: [file] })) {
    await navigator.share({ ...base, files: [file] });
  } else if (navigator.share) {
    await navigator.share(base);
  }
}

同时在切换人物时动态更新 og:title / og:description / og:image,让聊天 / 社交卡片展示当前人物。

6. SEO 与可发现性

  • 语义化 <main>、单一 H1、Open Graph / Twitter Card / JSON-LD;

  • robots.txt + sitemap.xml;

  • 静态资源路径写在 src / CSS url(),保证发布链路扫描不裂图。

7. 免后端反馈与防复制

反馈用 mailto: 调起邮件客户端,正文自动带内容与来源页;前端防复制做了右键屏蔽、图片拖拽拦截、调试快捷键拦截(仅提高门槛,非绝对防盗)。


四、宝塔部署

纯静态无需建库,宝塔步骤:

  1. 软件商店安装 Nginx,新建站点绑定域名 shenhua.tengxiangtech.com;

  2. 把 神话神域.html 与 assets/ 整体上传到站点根目录,设置默认首页;

  3. 申请 Let's Encrypt 证书并强制 HTTPS;

  4. 开启 gzip,对 assets/ 内静态资源加长缓存;

  5. 站长平台提交 sitemap。


五、效果与可扩展方向

线上已收录 33 位神祇,打开即有云雾显形的入场仪式,支持自动巡游、搜索、弹幕与带图分享。后续可扩展:

  • 接入服务端表单 / 问卷替代 mailto,实现真实反馈收集;

  • 增加人物关系图谱与时间线视图;

  • 用 WebGL 替换 Canvas 粒子,提升八界域光影层次;

  • 支持多语言与有声读物模式。

体验地址:https://shenhua.tengxiangtech.com


前端、纯前端、单页应用、Canvas、图生视频、TTS、Web Share API、SEO、静态站、宝塔部署、国风、神话

相关文章
|
20天前
|
存储 JSON 异构计算
DeepInfer 实测:如何用 4 张 B200 提供 1000 并发
本文实测开源推理框架DeepInfer在4张B200 GPU上实现1000并发的可行性,通过EP4专家并行与去RDMA化改造(改用PCIe共享内存读取Engram表),在128k上下文下达成6.2万token/s总吞吐;分析Decode/Prefill性能、GPU利用率瓶颈、真实负载(GPQA/AIME)表现,并提供容器镜像与兼容性补丁,显著降低大模型推理部署门槛。
|
2月前
|
存储 弹性计算 缓存
阿里云四款价格最便宜云服务器指南:2核2G、2核4G、4核8G配置,38元起,配置与价格全对比
针对阿里云四款常见低成本云服务器,本文从配置结构、适用边界、成本周期与运维复杂度四个维度展开严谨评估:轻量应用服务器2核2G、200M峰值带宽、40GB ESSD盘约38元/年;经济型e实例2核2G、3M带宽约99元/年;通用算力型u1实例2核4G、5M带宽约199元/年;u1实例4核8G、5M带宽约925.95元/年。文章提醒活动价受地域、周期、优惠券等影响,应以购买页为准,助读者按业务阶段理性选型。
|
20天前
|
存储 Linux API
VMware vSphere 9.1.1(包含戴尔、浪潮、联想、惠普等自定义ESXI)
VMwarevSphere9是一套业界领先的服务器虚拟化平台,它的核心功能是将一台物理服务器抽象成多台虚拟服务器,从而更高效、灵活地利用硬件资源。VMwarevSphere9.1新功能兼容性ESX虚拟机兼容性硬件版本7(对应ESX4.x及以上)的虚拟机可直接运行;硬件版本4(ESX3.x及更高版本)的虚拟机不再受支持。确有使用需求时,需先把虚拟机兼容性等级提升上来,才能在ESX9.1上启动。ESX客户操作系统兼容性与vSphere9.1搭配的客户机操作系统清单,以Broadcom兼容性指南中ESX9.1的条目为准。
252 1
VMware vSphere 9.1.1(包含戴尔、浪潮、联想、惠普等自定义ESXI)
|
22天前
|
JavaScript API 开发工具
DeepSeek Harness 实战入门:从 Cordis 插件内核、本地部署、SDK 开发到模式选型与避坑,一文全掌握
DeepSeek Harness作为开源Agent运行时底座,通过Cordis插件内核将大模型推理能力与本地文件、系统命令执行环境深度打通,实现了高度可扩展、权限可控、全链路可追溯的智能体运行机制。它不是用来聊天的成品软件,而是供开发者搭建、调试和评测智能体的底层框架。如果你需要本地数据可控、支持自定义扩展的Agent执行环境,可以用npx命令快速启动体验;如果只是日常对话,网页客户端更加方便。正式投入业务前,建议用独立测试目录完成多组验证。更多项目详情👉访问‌阿里云百炼大模型服务平台页面‌了解。 随着Agent技术持续演进,Harness这类运行时框架有望成为连接大模型与真实计算机环境的
358 1
|
2月前
|
JSON 文字识别 API
open-code-review 接百炼:7 档 qwen 模型审同一份代码,一次 PR 的总账与耗时实测
本文实测 open-code-review 接入百炼 qwen 系列模型的完整方案:内置 dashscope provider,支持 7 档 qwen 模型;单价差 40 倍,单次审查成本差 545 倍;qwen3.7-plus 为性价比拐点(23.4 秒、满分、¥0.0799 内);详解配置、成本估算与门禁选型。
open-code-review 接百炼:7 档 qwen 模型审同一份代码,一次 PR 的总账与耗时实测
|
13天前
|
虚拟化 iOS开发 MacOS
VMware ESXi 9.0.1.0 macOS Unlocker & OEM BIOS 2.7 集成网卡驱动和 NVMe 驱动 (集成驱动版)
一、写在前面VMwareESXi9.0是Broadcom完成产品线整合后的第一个大版本,变化不只是版本号。它把产品名从ESXi改回了ESX,取消了单独售卖的形态,并入vSphereFoundation(VVF)与CloudFoundation(VCF)两个订阅包,同时大幅收紧了对老硬件的支持范围。这三件事叠加在一起,让”能不能装、装完能不能升”成了比”新功能有哪些”更现实的问题。本文面向在家用主机、二手服务器上做实验环境的用户,梳理三件事:ESX9.0版本演进与授权形态、官方淘汰了哪些CPU与设备、以及社区常见的”集成驱动版镜像”到底额外集成了什么。
314 0
|
28天前
|
人工智能 编解码 运维
AI 漫剧本地部署:基于 Wan2.2‑ReMixV3.0 开源视频模型完整技术方案(wan2.2开源模型)
本文档为Wan2.2-ReMixV3.0 AI漫剧模型部署指南,涵盖硬件/软件要求(GPU≥16GB、Python 3.11、CUDA 12.1)、网盘资源解压规范(禁用中文路径)、Python原生推理代码、常见报错排查(OOM、safetensors加载失败、LoRA失效)及调参最佳实践,强调社区版非官方发布,需合规使用。(239字)
515 0
|
1月前
|
人工智能 运维 API
最新版阿里云百炼 Token Plan 服务平台:功能介绍、计费规则及使用指南
随着AI编程、Agent智能体应用快速落地,开发者经常面临多套模型额度分开管理、不同工具独立计费、成本统计繁琐的痛点。阿里云百炼Token Plan是百炼平台推出的订阅式大模型调用服务,统一使用Credits作为计量抵扣单位,一次订阅即可在多款大模型、多模态能力、AI编程工具与Agent框架之间共享额度,简化多模型项目开发、权限管理与成本核算。本文将全面介绍Token Plan平台核心功能、Credits计费规则、完整接入流程,附带可直接运行的API代码,同时区分个人版与团队版选型思路,整理额度管控、密钥安全等实战避坑方案,帮助开发者快速完成订阅接入,合理规划Credits消耗。
267 0
|
11月前
|
传感器 监控 算法
基于 STM32 的老人摔倒报警装置项目【源码分享】
在我国逐步迈入老龄化社会的背景下,独居老人摔倒事故频发且救援不及时的情况越来越受到关注。摔倒后无法及时呼救,是老年人伤亡的重要原因之一。因此,构建一套低成本、可靠、可实时报警的摔倒监测系统具有重要价值。

热门文章

最新文章