跳转到主要内容

Documentation Index

Fetch the complete documentation index at: https://help.helloazhenweb.top/llms.txt

Use this file to discover all available pages before exploring further.

本页面汇总了搭建和运行 Birthday Wall 时最常被问到的问题。如果你遇到的问题不在这里,请检查浏览器控制台和 Vercel 部署日志中的具体错误信息 — 它们通常会直接指向问题原因。
不会。电台功能是一种视觉化的音乐体验。它会展示歌曲元数据(标题、艺人、专辑)、歌词和主题背景图,但不会实际流式播放任何音频文件。使用它无需任何音乐版权或音频托管。
是的。当访客提交祝福时,Birthday Wall 只会存储其 IP 地址的哈希值(而非 IP 本身),且仅用于速率限制。该哈希不可逆,无法还原原始 IP。除此之外,不会收集或保存姓名、邮箱或任何其他身份信息。
编辑 lib/birthday-config.ts 中的生日日期,然后重新部署站点(或本地开发时使用 npm run dev 重启开发服务器)即可。倒计时会在运行时从该配置文件读取目标日期,所以编辑文件加重新部署就够了。
没出问题 — 这是设计如此。在生日当天,倒计时会归零并保持。生日次日清晨,倒计时会自动重置并开始向下一年同一天倒计时。如果你在并非生日的日期看到 0,请仔细检查 lib/birthday-config.ts 中的日期值,并确认你当前所在的时区是否正确。
常见原因有两个:
  1. Supabase 凭据缺失或不正确 — 确认 NEXT_PUBLIC_SUPABASE_URLNEXT_PUBLIC_SUPABASE_ANON_KEYSUPABASE_SERVICE_ROLE_KEY 已在环境中正确设置。在 Vercel 上请检查 Settings → Environment Variables,更改后需要重新部署。
  2. 提交时 API 报错 — 打开浏览器开发者工具,切到 ConsoleNetwork 标签,重新提交祝福。/api/ 路由返回的任何错误响应都会带有具体的错误信息。
如果提交显示成功但祝福仍然不显示,请在 Supabase 的 Table Editor 中直接检查 messages 表,确认数据是否真的写入。
游戏房间在设计上预留了未来扩展空间。目前只有 Cake Drop 可用。新游戏会作为 /games/ 下的新路由添加,并从游戏大厅链接过去。添加新游戏需要修改代码并重新部署。
Birthday Wall 围绕一次只服务一位寿星设计。姓名、生日日期和所有个性化内容都是为一个人配置的。如果要为多个人庆祝,请为每个人单独部署一份应用 — 每份都有自己的 Vercel 项目、Supabase 项目和生日配置。Vercel 的免费 Hobby 套餐允许创建多个项目。
在浏览器中访问 /admin(或者你配置了管理员子域名时,访问 admin.<your-domain>)。你会被重定向到 /admin/login。输入管理员账号的邮箱和密码。登录后即可查看所有提交的留言,并在管理后台管理页面可见性和注册码。
可以。以下页面无需任何 Supabase 连接即可工作:
  • 首页/) — 倒计时
  • 电台 — 歌曲元数据和歌词显示
  • 报告/report) — 年度报告页面
  • 游戏/games) — Cake Drop 和游戏大厅
只有祝福墙需要数据库:/write 页面(提交祝福)和留言墙(展示祝福)在未配置 Supabase 时都会报错。如果你不需要祝福墙功能,可以放心地不配置 Supabase 直接部署。
你可以直接在 Supabase 仪表板中删除留言,无需写任何代码:
  1. 打开你的 Supabase 项目,点击左侧的 Table Editor
  2. 选择 messages 表。
  3. 删除单条数据,选中后点击 Delete 按钮。
  4. 一次性清空所有祝福,打开 SQL Editor 并运行:
DELETE FROM messages;
该操作不可撤销。在清空之前,请确保你已有备份或导出,以便保留数据。