YANG JIANKUAN ae63cb1d85 feat: 新增音乐播放模块
- 新增 Music 数据模型 + 迁移(title/subtitle/audioFile)
- 后端:公共 /api/music 查询接口 + 管理端 CRUD
  (音频上传专用 multer,限制 20MB)
- 移动端 /music/:id 播放页:
  - 金色印章式唱片 + 旋转虚线环 + 三重金色涟漪
  - preload=auto + HTTP Range 流式加载
  - 浏览器禁止 autoplay 时显示「轻点聆听」overlay
  - 自定义进度条与时间显示
- Admin:新增音乐管理三页(列表/表单/二维码)与侧栏入口
- 导入示例音乐:朝天宫之歌
- Dockerfile + entrypoint 增加 music 资产回灌

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-19 18:37:44 +08:00
2026-04-19 18:37:44 +08:00
2026-04-19 18:37:44 +08:00
2026-04-19 18:37:44 +08:00
2026-04-16 15:34:47 +08:00
2026-04-16 15:34:47 +08:00
2026-04-19 18:37:44 +08:00
2026-04-19 18:37:44 +08:00
2026-04-16 15:34:47 +08:00
2026-04-16 15:34:47 +08:00
2026-04-16 15:34:47 +08:00
2026-04-16 15:34:47 +08:00

CityWalk 图章收集系统

游客在城市不同点位扫描二维码,收集图章,集满兑换奖品。兑换后图章清空,可重复挑战。

快速开始

pnpm install
cp .env.example .env
pnpm db:push
pnpm db:seed

# 启动(需同时运行)
pnpm dev:server    # API :3000
pnpm dev:web       # 前端 :5173

技术栈

前端 后端 数据库
React 19 + Vite 8 + Tailwind CSS 4 Express 5 + TypeScript SQLite (Prisma)

项目结构

packages/
  shared/    Prisma client + 共享类型
  server/    Express API认证、图章、兑换、管理
  web/       React SPA移动端 H5 + PC 管理后台)
prisma/
  schema.prisma    数据模型User, Stamp, Collection, RedemptionRule, Redemption
Description
No description provided
Readme 10 MiB
Languages
TypeScript 94.4%
CSS 3.9%
Dockerfile 0.8%
Shell 0.5%
HTML 0.4%