部署指南
将 QQ-Music-Player 部署到 Cloudflare Pages。
前置要求
- GitHub 账户
- Cloudflare 账户
- QQ 音乐凭证
部署步骤
1. Fork 仓库
- 访问 QQ-Music-Player
- 点击 Fork 按钮
- 等待 Fork 完成
2. 创建 D1 数据库
- 登录 Cloudflare Dashboard
- 选择 Workers & Pages → D1
- 点击 Create database
- 名称填写:
qqmusic-credentials - 点击 Create
- 记录 Database ID
3. 创建 Pages 项目
- 进入 Workers & Pages
- 点击 Create → Pages
- 选择 Connect to Git
- 授权 GitHub 访问
- 选择你 Fork 的仓库
- 配置构建设置:
- 构建命令:留空
- 输出目录:留空
- 点击 Save and Deploy
4. 绑定 D1 数据库
- 进入 Pages 项目
- 点击 Settings → Functions
- 找到 D1 database bindings
- 点击 Add binding
- 填写:
- Variable name:
DB - D1 database: 选择
qqmusic-credentials
- Variable name:
- 点击 Save
5. 配置初始凭证
- 进入 Settings → Environment variables
- 点击 Add variable
- 填写:
- Variable name:
INITIAL_CREDENTIAL - Value: 凭证 JSON
- Variable name:
- 选择 Encrypt 加密存储
- 点击 Save
凭证格式
json
{
"openid": "你的OpenID",
"musicid": "你的QQ号",
"musickey": "你的MusicKey",
"refresh_key": "你的RefreshKey",
"login_type": "2",
"extra_fields": "{}"
}6. 重新部署
- 进入 Deployments
- 点击最新部署的 ... 菜单
- 选择 Retry deployment
7. 验证部署
访问你的 Pages 域名:
https://你的项目名.pages.dev首次访问时会自动:
- 初始化 D1 数据库
- 从环境变量导入凭证
自定义域名
添加自定义域名
- 进入 Pages 项目 → Custom domains
- 点击 Set up a custom domain
- 输入你的域名
- 按提示配置 DNS CNAME 记录
DNS 配置示例
类型: CNAME
名称: music (或 @)
目标: 你的项目名.pages.dev配置 Cron 任务
凭证自动刷新依赖 Cron 任务。
编辑 wrangler.toml
确保 wrangler.toml 包含:
toml
[triggers]
crons = ["0 * * * *"] # 每小时执行Cron 作用
- 每小时检查凭证有效期
- 剩余 < 24 小时时自动刷新
- 刷新后更新 D1 数据库
常见问题
Q: 页面显示空白?
检查浏览器控制台是否有错误,可能是凭证未正确导入。
Q: 歌曲无法播放?
- 检查凭证是否有效
- 确认已绑定 D1 数据库
- 查看 Functions 日志
Q: 如何更新凭证?
- 修改环境变量
INITIAL_CREDENTIAL - 删除 D1 数据库中的旧数据
- 重新部署触发初始化