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>
This commit is contained in:
2026-04-19 18:37:44 +08:00
parent dbe8ea5460
commit ae63cb1d85
19 changed files with 999 additions and 2 deletions

View File

@@ -6,6 +6,7 @@ cd /app
mkdir -p /app/data
mkdir -p /app/packages/server/uploads/stamps
mkdir -p /app/packages/server/uploads/articles
mkdir -p /app/packages/server/uploads/music
# Seed stamp assets on first run (idempotent)
if [ -z "$(ls -A /app/packages/server/uploads/stamps 2>/dev/null)" ]; then
@@ -19,6 +20,12 @@ if [ -z "$(ls -A /app/packages/server/uploads/articles 2>/dev/null)" ]; then
cp /app/articles-seed/*.jpg /app/packages/server/uploads/articles/ 2>/dev/null || true
fi
# Seed music assets on first run (idempotent)
if [ -z "$(ls -A /app/packages/server/uploads/music 2>/dev/null)" ]; then
echo "→ Seeding music assets into uploads volume..."
cp /app/music-seed/* /app/packages/server/uploads/music/ 2>/dev/null || true
fi
echo "→ Applying database migrations..."
pnpm exec prisma migrate deploy