为什么选择 ZeroCMF?
ZeroCMF 是一款基于 Koa 和 TypeScript 的现代化内容管理框架,专为企业级应用设计。与传统 CMS 不同,我们提供:
- 极致性能:优化的数据层设计,比传统 CMS 快 2-3 倍
- 真正的插件化:即插即用的模块,无需修改核心代码
- 多场景部署:支持传统服务器、Docker 容器、Serverless 等多种部署方式
- 企业级安全:完整的 RBAC 权限体系,包括菜单权限、按钮权限和数据权限
- 开发者友好:TypeScript 全栈开发,自动生成 API 文档
应用场景
- 企业官网与内容管理
- 中后台管理系统快速开发
- 微服务 API 网关
- SaaS 平台基础设施
️ 在线体验
- 演示地址:demo.zerocmf.com/admin
- 账号:demo
- 密码:demo
系统登录页
界面展示
API 文档
自动生成的 Swagger 文档:demo.zerocmf.com/api/swagger
✨ 核心特性
系统功能
- 完整权限体系:基于 RBAC 模型的用户、角色、权限管理
- 组织架构:多级部门管理,适合各种规模企业
- 系统监控:操作日志、登录日志、服务状态监控
- ️ 素材管理:集成的媒体库,支持图片、视频、文档管理
技术特性
- ️ 现代技术栈:Koa2 + TypeScript + Prisma ORM
- 安全认证:JWT + Casbin 实现细粒度授权
- API文档:集成 Swagger,自动生成 API 文档
- 插件系统:模块化设计,支持热插拔
- 多数据库:支持 MySQL、PostgreSQL、SQLite
- ☁️ 云原生:适配主流云服务,支持 Serverless 部署
⏱️ 5分钟快速开始
安装依赖
# 克隆项目
git clone https://github.com/yourusername/zerocmf.git
cd zerocmf
# 安装依赖
npm install
# 配置环境
cp .env.example .env
# 编辑 .env 文件,配置数据库连接
初始化数据库
# 初始化数据库
npx prisma migrate dev --name init
启动开发服务器
# 开发模式
npm run dev
# 访问 http://localhost:3000
# 默认管理员账号: admin 密码: admin123
Docker 一键部署 (可选)
docker-compose up -d
️ 核心架构
️ 核心架构
️ 目录结构
src/
├── cmf/ # 核心框架
│ ├── core/ # 核心组件
│ ├── middleware/ # 中间件
│ └── utils/ # 工具函数
├── config/ # 配置文件
├── plugins/ # 插件系统
│ ├── admin/ # 管理后台
│ ├── auth/ # 认证模块
│ └── content/ # 内容管理
├── typings/ # 类型定义
└── index.ts # 主入口
代码示例
创建自定义 API 控制器
// 在插件中创建自定义控制器
import { Context, Next } from "koa";
export const custom = async (ctx: Context, next: Next) => {
// 你的逻辑
await next();
}
插件开发示例
// 插件目录结构
plugins/
└── article/
├── controller/
│ └── ArticleController.ts
├── model/
│ └── article.model.ts
├── service/
│ └── ArticleService.ts
└── index.ts // 插件入口
性能对比
| 框架 | 请求/秒 | 平均响应时间 |
|---|---|---|
| ZeroCMF | 3,200 | 12ms |
| Express | 1,800 | 22ms |
| 传统CMS | 900 | 45ms |
*基于2核4G服务器,10K并发测试
社区与支持
- GitHub Issues: 问题报告与功能请求
- 官方文档: 完整教程与API参考
环境要求
- Node.js 18.15+
- MySQL 8.0+ / PostgreSQL 13+ / SQLite 3
- 推荐使用 PNPM 7.18+
许可证
MIT License