Skip to content

后台管理

云乐坊后台管理用于内部运营、应用审核、云币钱包管理、GitHub Secrets 管理与部署触发。

入口

登录与权限

后台使用 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_ID
  • NUXT_OAUTH_GITHUB_CLIENT_SECRET
  • NUXT_TENCENT_CLOUD_SECRET_ID
  • NUXT_TENCENT_CLOUD_SECRET_KEY
  • NUXT_CLOUDBASE_SECRET_ID
  • NUXT_CLOUDBASE_SECRET_KEY
  • NUXT_CLOUDBASE_ACCOUNT_API_INTERNAL_TOKEN
  • NUXT_CLOUDFLARE_WEBHOOK_TOKEN

维护原则

  • README 只保留仓库入口、技术栈和常用命令。
  • 详细使用说明、权限模型、上线检查和排障手册沉淀在本页。
  • 面向外部开发者的应用提交、审核规则和接入说明应迁移到 docs.yunle.fun

云乐坊工作室内部百科导航