Skip to main content

概述

Kira CMS (Kira OP) 是 Kira 的运营后台系统,基于 Payload CMS 构建,用于管理用户数据和执行运营操作。

技术栈

类别技术说明
CMS 框架Payload CMS 3.xHeadless CMS
运行时BunJavaScript 运行时
前端框架Next.js 15React 全栈框架
数据库PostgreSQL通过 Supabase 托管
存储S3媒体文件存储
邮件Resend邮件发送服务
部署Fly.io容器化部署

项目结构

kira-cms
src
payload.config.ts
payload-types.ts
app
(payload)
admin
api
layout.tsx
(frontend)
collections
Users.ts
Media.ts
DeletionLogs.ts
components
NavLinks.tsx
Logo.tsx
Icon.tsx
views
DeleteAccount.tsx
DeleteAccountForm.tsx
目录说明
payload.config.tsPayload CMS 主配置
collections/数据集合定义
components/自定义 Admin UI 组件
components/views/自定义视图页面
app/(payload)/Payload Admin 路由
app/(frontend)/前端公开页面

数据集合

Users

管理员用户账户,用于登录 CMS 后台。
{
  slug: 'users',
  auth: true,
  fields: []
}

Media

媒体文件管理,存储到 S3。

DeletionLogs

用户删除操作日志记录。
{
  slug: 'deletion-logs',
  fields: [
    { name: 'userId', type: 'text' },
    { name: 'email', type: 'text' },
    { name: 'nickname', type: 'text' },
    { name: 'plan', type: 'text' },
    { name: 'credit', type: 'number' },
    { name: 'deletedAt', type: 'date' },
    { name: 'deletedBy', type: 'relationship', relationTo: 'users' }
  ]
}

架构图

功能模块

Delete Account

用户账户删除功能,包含:
  • 调用 Kira Backend API 删除用户
  • 记录删除日志到 DeletionLogs
  • 发送 Lark 通知
  • 显示删除历史记录

部署

  • 运行在 Fly.io
  • 使用 Dockerfile 构建
  • 环境变量:
    • DATABASE_URL - PostgreSQL 连接
    • PAYLOAD_SECRET - Payload 密钥
    • S3_* - S3 存储配置
    • RESEND_API_KEY - 邮件服务
    • NEXT_PUBLIC_API_URL - Kira Backend URL

相关文档