后台管理
云乐坊后台管理用于内部运营、应用审核、云币钱包管理、GitHub Secrets 管理与部署触发。
入口
- 线上地址:https://admin.yunle.fun
- 代码仓库:https://github.com/YunLeFun/admin
- 适用对象:云乐坊内部管理员、运营与维护成员
登录与权限
后台使用 GitHub OAuth 登录,仅白名单成员可进入。
管理员白名单存储在 CloudBase admin_users 集合中,文档结构:
ts
interface AdminUserRecord {
login: string
name?: string
enabled?: boolean
note?: string
}enabled !== false 时视为有效管理员。yunyoujun 是代码中的 break-glass 管理员,用于 CloudBase 不可用或白名单异常时的应急登录,不应作为日常权限管理方式。
功能模块
- 管理面板:查看后台概览与快捷入口。
- 应用部署:触发业务项目的 Cloudflare Pages 构建(不是 admin 自身部署平台)。
- Webhooks:接收并查看 Cloudflare 相关回调。
- 云币钱包:查看钱包、流水与管理员调账审计。
- 应用运营:维护编辑精选、本周热门、应用管理、评论审核和举报处理。
- GitHub Secrets:管理 GitHub 仓库 Secrets 与 Variables。
本地开发
bash
pnpm install
pnpm dev
pnpm typecheck本地开发默认端口为 8848。GitHub OAuth App 的本地回调地址需要匹配:
text
http://localhost:8848/auth/github构建与部署
admin 线上部署在 EdgeOne Pages,使用 Nuxt SSR 构建:
bash
pnpm build上线前至少确认:
bash
pnpm typecheck
pnpm build当前仓库推送到 main 后会触发 GitHub CI;EdgeOne Pages 的实际发布以平台 Git 集成配置为准。
注意:后台内的“应用部署”模块会触发其他业务项目的 Cloudflare Pages 构建,这与 admin 自身的 EdgeOne Pages SSR 部署是两件事。
环境变量
密钥通过 NUXT_* 环境变量注入,不要写入仓库:
NUXT_OAUTH_GITHUB_CLIENT_IDNUXT_OAUTH_GITHUB_CLIENT_SECRETNUXT_TENCENT_CLOUD_SECRET_IDNUXT_TENCENT_CLOUD_SECRET_KEYNUXT_CLOUDBASE_SECRET_IDNUXT_CLOUDBASE_SECRET_KEYNUXT_CLOUDBASE_ACCOUNT_API_INTERNAL_TOKENNUXT_CLOUDFLARE_WEBHOOK_TOKEN
维护原则
- README 只保留仓库入口、技术栈和常用命令。
- 详细使用说明、权限模型、上线检查和排障手册沉淀在本页。
- 面向外部开发者的应用提交、审核规则和接入说明应迁移到
docs.yunle.fun。