这是一个用单个 HTML 文件实现的“竹知了”传统玩具 Web 模拟器。项目通过 Canvas 2D、Web Audio API、真实录音采样、绳系质点物理模拟和移动端交互,让用户在浏览器中按住画圈、自动甩或通过手机体感甩动来听到类似真实竹知了的“哇哇”声。核心页面零依赖、无需构建、可离线运行;可选后端使用 Cloudflare Worker + Durable Object + SQLite 实现实时在线人数、访问次数和“全球哇数”统计。
适用领域
Web 前端 / HTML5 Canvas / Web Audio / 移动端交互 / 小游戏 / 互动玩具 / 传统文化数字化 / Cloudflare Workers / 实时 WebSocket / 物理模拟 / 声音合成
配置难度
中等。基础运行非常简单,打开 index.html 即可;如果只是阅读前端交互、Canvas 和 Web Audio 逻辑,需要一定前端基础;如果要理解真实采样处理、声音合成、物理模拟和 Cloudflare Durable Object 实时统计,则需要较强的 Web 音频、动画、移动端兼容和云边缘计算经验。
商业价值
该项目的直接商业价值偏轻,主要价值在于创意传播、怀旧情绪、传统文化数字化和技术展示。它适合用作个人作品集、前端技术案例、H5 互动营销样板或文化类轻互动页面。若进一步扩展,可用于传统玩具线上博物馆、节日营销小游戏、品牌互动传播或教育科普内容,但单独作为商业产品的变现能力有限。
01
技术亮点
- 零依赖单文件实现,核心体验只需 index.html,便于保存、传播和离线运行
- 使用真实竹知了录音采样,并做无缝循环处理,声音还原度较高
- 采样解码失败时有纯合成音频链兜底,增强兼容性
- 用绳系质点、重力、弹性绳、空气阻力和角速度等方式模拟甩动发声机制
- 移动端优先设计,支持触摸画圈、自动甩和手机体感甩动
- 考虑了 iOS 音频解锁、动作传感器授权、旧内核 API 兼容等细节
- 静态场景预合成和静置自动挂起音频线程,有一定性能与省电优化
- 包含 SEO、OG/Twitter 卡片、JSON-LD、noscript 文案、robots.txt、sitemap.xml 等完整静态站点细节
- 后端实时统计设计较完整,使用 Cloudflare Durable Object WebSocket Hibernation、批量上报、落盘合并和防刷策略
- 主题具有强烈怀旧和传播属性,容易引起中国用户共鸣
02
目标用户
- 想体验或怀旧传统竹知了玩具的普通用户
- 前端开发者
- Web Audio / Canvas 学习者
- 移动端 H5 互动开发者
- 想研究单文件 Web 应用实现方式的开发者
- 想学习 Cloudflare Worker + Durable Object 实时计数方案的开发者
- 对传统玩具数字化、民俗文化传播感兴趣的人
03
配置要求
- 基础试玩只需要现代浏览器,支持 HTML5 Canvas 和 Web Audio API
- 移动端体感甩动需要浏览器支持 devicemotion 事件
- iOS 设备首次使用动作传感器通常需要用户授权
- 体感模式在 HTTPS 或本地文件环境下更可靠,普通 HTTP 局域网地址下部分浏览器不会派发传感器事件
- 音频播放需要用户首次触摸或点击以满足浏览器 user activation 规则
- 实时计数功能需要 Cloudflare Worker、Durable Object、SQLite 存储以及 WebSocket 支持
- 部署 Worker 需要安装并登录 Cloudflare Wrangler
- 若使用生产域名,需要配置 Cloudflare 路由,使 /api/* 请求进入 Worker,其余静态页面由 Pages 或其他静态服务承载
04
适用场景
- 作为手机浏览器中的怀旧互动玩具直接试玩
- 作为 Web Audio API、Canvas 2D 和物理模拟的学习案例
- 作为零依赖、单文件、可离线运行的 H5 小项目参考
- 作为移动端体感交互、触摸手势交互的实现参考
- 作为 Cloudflare Pages + Workers + Durable Object 部署架构示例
- 作为社交传播型轻量网页玩具,用于吸引用户分享和访问
- 用于展示传统民间玩具的数字化复刻方案
05
部署与配置
- 克隆仓库:git clone https://github.com/imsai-sh/zhuzhiliao.git
- 进入项目目录:cd zhuzhiliao
- 直接用浏览器打开 index.html 即可运行,无需安装依赖、无需构建
- 如需手机局域网访问,可启动静态服务:python3 -m http.server 8123
- 手机连接同一 Wi-Fi 后访问:http://<电脑IP>:8123
- 如需部署静态页面,可将根目录文件部署到 Cloudflare Pages、GitHub Pages、Nginx 或任意静态托管服务
- 如需启用实时统计后端,进入 worker 目录并使用 Wrangler 部署:cd worker && npx wrangler deploy
06
风险与注意事项
- 项目主要是趣味互动玩具,商业化和长期产品化空间有限
- 未声明明确开源许可证,商用或二次分发前需要联系作者确认授权
- 不同浏览器对 Web Audio、devicemotion、自动播放策略支持差异较大,可能影响体验一致性
- 手机体感功能依赖 HTTPS、传感器权限和浏览器策略,部分环境下不可用
- 单文件内嵌音频虽然便于分发,但维护、压缩和版本管理可能不如模块化工程方便
- 实时统计后端依赖 Cloudflare 生态,迁移到其他云服务需要改造
- 如果访问量突然增大,Durable Object、SQLite 写入、WebSocket 连接数和防刷策略仍需进一步压测
- 作为娱乐项目,需求边界较窄,贡献者可能集中在体验调参和兼容性修复上
2026-08-08
第3名
新收录 · github_search
2026-08-07
第4名
新收录 · github_search
2026-08-06
第6名
新收录 · github_search
2026-08-05
第7名
新收录 · github_search
2026-08-04
第11名
新收录 · github_search