# RR 管理后台（Cloudflare Pages）

管理后台目录：`web/admin`  
目标域名：`rr.mokiru.com`

## 1. Cloudflare Pages 配置

1. 在 Cloudflare Pages 创建 Direct Upload 项目 `rradmin`。
2. 构建配置：
   - 框架预设：`None`
   - 构建命令：留空
   - 构建输出目录：`web/admin`
3. 部署完成后，在 Pages 项目里绑定自定义域名 `rr.mokiru.com`。
4. 本仓库已提供 GitHub Actions 工作流：`.github/workflows/pages-admin-deploy.yml`。
5. 默认预览域名可以与项目名不同；当前项目名为 `rradmin`，默认预览域名为 `rrmokiruadmin.pages.dev`。

## 2. GitHub Actions 自动发布配置

在 GitHub 仓库 `Settings -> Secrets and variables -> Actions` 中添加以下 Repository Secrets：

- `CLOUDFLARE_API_TOKEN_RRADMIN`：需要具备 `Cloudflare Pages: Edit` 权限。
- `CLOUDFLARE_ACCOUNT_ID_RRADMIN`：当前 Cloudflare 账号 ID。

工作流规则：

- 推送到 `main` 且命中 `web/admin/**` 时自动发布。
- 也支持在 GitHub Actions 页面手动点击 `Run workflow` 触发发布。

## 3. Firebase 控制台配置

1. `Authentication` -> `Sign-in method`：
   - 开启 `Google`（推荐）或 `Email/Password`。
2. `Authentication` -> `Settings` -> `Authorized domains`：
   - 添加 `rr.mokiru.com`
   - 添加 Pages 预览域名（如 `*.pages.dev` 对应项目域）
3. 在 Firestore Rules 发布本仓库的 `firestore_rules.txt` 最新规则。

## 4. 管理员账号限制

- 前端强校验：只允许邮箱 `mymokiru@gmail.com` 登录。
- Firestore Rules 同步校验：`request.auth.token.email == "mymokiru@gmail.com"` 且 `email_verified == true`。

## 5. 使用说明

1. 打开 `https://rr.mokiru.com`。
2. 页面会自动连接固定 Firebase 项目，无需手动填写或初始化配置。
3. 使用 `mymokiru@gmail.com` 登录。
4. 进入“Firestore 管理”执行统计或按 UID 清理（建议先“试运行”）。

## 6. 安全建议

- 建议为 `rr.mokiru.com` 再加一层 Cloudflare Access（邮箱白名单或 IdP），避免页面被公开访问。
- Firebase Web Config 不再作为后台页面可编辑项暴露；如需切换项目，请由开发者直接修改 `web/admin/src/config.js` 中的固定配置。
- 当前为“轻量运营后台”；若后续需要全量运维能力，建议新增后端（Firebase Admin SDK）承接高权限操作。
