logo
0
0
WeChat Login
docs: 更新 README 添加许可证和 GitHub 链接

凿 (Spank Web)

简体中文 | English

拍打你的设备,它会尖叫回应

这是由AI完成的 spank 项目的 Web 版。

功能特性

  • 多语言支持:中文 / English 切换
  • 动态扫描:自动扫描 spank/audioaudio 目录下的音效文件
  • 加速度计支持:移动设备上摇动/拍打触发音效
  • 键盘模拟:桌面端按空格键模拟触发
  • 音频缓存:切换模式时自动预缓存音频,带视觉反馈
  • 多种模式
    • Pain:随机播放痛苦音效
    • Sexy:递进式播放(拍打越频繁越激烈)
    • Halo:随机播放 Halo 死亡音效
  • 响应式设计:支持移动端和桌面端

使用方法

克隆项目

# 克隆时自动初始化 submodule git clone --recursive https://github.com/tumuyan/spank-web # 或者已克隆后初始化 submodule git submodule init git submodule update

启动服务

# 安装依赖(首次运行) npm install # 开发模式(热重载) npm run dev # 生产模式 npm start

然后在浏览器中访问:http://localhost:8000

技术栈

  • 前端: 原生 HTML/CSS/JavaScript
  • 音频: HTML5 Audio API + 预缓存
  • 加速度计: DeviceMotion API
  • 后端: Node.js(用于动态目录扫描和 API 服务)

文件结构

/workspace/ ├── index.html # HTML 结构 ├── styles.css # 样式 ├── app.js # JavaScript 逻辑 ├── server.js # Node.js 服务器 ├── package.json # 项目配置 ├── README.md # 说明文档 ├── audio/ # 本地音效文件(可选) └── spank/ # Git Submodule → github.com/taigrr/spank └── audio/ ├── pain/ # 痛苦音效 ├── sexy/ # 性感音效 └── halo/ # Halo音效

API

GET /api/audio

返回音频目录结构:

{ "pain": { "name": "pain", "basePath": "spank/audio/pain", "files": ["00_Ow.mp3", "01_Ouch.mp3", ...] }, "sexy": { "name": "sexy", "basePath": "spank/audio/sexy", "files": ["00.mp3", "01.mp3", ...] }, "halo": { "name": "halo", "basePath": "spank/audio/halo", "files": ["00.mp3", "01.mp3", ...] } }

注意事项

  • 移动设备需要在 HTTPS 或 localhost 环境下才能使用加速度计
  • iOS 13+ 需要用户手动授权加速度计权限
  • 音频文件支持 .mp3、.wav、.ogg 格式
  • 确保 spank/ submodule 已正确初始化,否则将无法加载音效

许可证

[MIT License]