# zq-platform
**Repository Path**: dw0225/zq-platform
## Basic Information
- **Project Name**: zq-platform
- **Description**: No description available
- **Primary Language**: Unknown
- **License**: Apache-2.0
- **Default Branch**: main
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 0
- **Created**: 2026-05-04
- **Last Updated**: 2026-05-04
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# ZQ Platform
[](LICENSE)
[](backend/)
[](backend/)
[](web/)
[](web/)
**一个基于 FastAPI + Vue 3 的全栈企业级低代码/零代码开发平台**
[English](README.en.md) | 简体中文
## 🌐 相关链接
- **官方网站**:
- **社区版演示**:
- **演示账号**:`zhangwei`
- **演示密码**:`admin123`
***
## 📖 项目简介
ZQ Platform 是一个功能完善的全栈企业级开发平台,采用前后端分离架构。后端基于 **FastAPI** 异步框架,前端基于 **Vue 3** + **Element Plus** + **Vben Admin 5.x** 构建。
平台集成了 RBAC 权限管理、组织架构管理、**在线表单/页面设计(零代码)**、即时通讯、AI 对话、第三方登录与组织同步、系统监控、定时任务、数据源管理、代码生成等丰富的企业级功能模块,可大幅加速企业级应用开发。
## 🎯 零代码能力 — 完全开源、免费、无限制
ZQ Platform 的零代码(在线开发)模块是其核心亮点之一,与市面上主流的零代码/低代码平台相比,拥有 **完全开源、完全免费、完全无限制** 的显著优势。
### 与同类平台对比
| 对比维度 | ZQ Platform | 钉钉宜搭 | 百度爱速搭 | NocoBase |
| --------- | ---------------------------- | ----------------- | ----------------- | ----------------------- |
| **开源协议** | 完全开源 | ❌ 闭源商业软件 | ❌ 闭源商业软件 | ⚠️ AGPL 3.0(传染性协议,商用受限) |
| **是否免费** | ✅ 完全免费,无任何隐藏费用 | ❌ 按用户/表单/流程数收费 | ❌ 按版本收费,有功能限制 | ⚠️ 社区版功能受限,企业版收费 |
| **用户数限制** | ✅ 无限制 | ❌ 按套餐限制用户数 | ❌ 按版本限制用户数 | ⚠️ 社区版有用户限制 |
| **部署方式** | ✅ 私有化部署,数据完全自主可控 | ⚠️ SaaS为主,私有化成本极高 | ⚠️ SaaS为主,私有化需企业版 | ✅ 支持私有化部署 |
| **二次开发** | ✅ 无限制,可任意修改源码 | ❌ 不支持 | ❌ 有限支持 | ⚠️ AGPL协议限制商业二次开发 |
| **商用授权** | ✅ Apache 2.0 协议 + 附加条款,可自由商用 | ❌ 需购买商业许可 | ❌ 需购买商业许可 | ⚠️ AGPL商用需购买授权 |
| **数据库支持** | PostgreSQL / MySQL | 仅支持云数据库 | 仅支持云数据库 | PostgreSQL |
| **前端技术** | Vue 3 + Element Plus(主流技术栈) | 封闭技术栈,无法自定义 | 封闭技术栈 | React + Ant Design |
| **后端技术** | Python FastAPI(异步高性能) | 封闭 | 封闭 | Node.js + Koa |
### 零代码核心功能
#### 📝 在线表单设计器
- **拖拽式设计**:直观的拖拽操作,无需编写任何代码即可构建复杂表单
- **丰富组件库**:文本输入、数字、日期、下拉选择、级联选择、文件上传、富文本、子表单等 30+ 组件
- **复杂布局**:支持分栏、分组、表格布局、标签页等复杂页面布局
- **条件逻辑**:支持字段显隐条件、校验规则、联动逻辑配置
- **移动端适配**:自动适配 PC 端与移动端展示
#### 📄 在线页面设计器
- **可视化页面编排**:将表单、图表、数据表格等组件自由组合成完整的业务页面
- **数据绑定**:支持数据源绑定、API 对接,实现页面与后端数据的实时交互
- **权限集成**:页面级别的访问权限控制,与 RBAC 权限体系无缝集成
#### 📊 仪表盘设计器
- **丰富图表组件**:支持折线图、柱状图、饼图、雷达图、漏斗图、热力图、桑基图、K 线图等 20+ 图表类型
- **业务组件**:公告列表、待办事项、快捷入口、排行列表、服务器监控、天气组件等业务组件
- **数据过滤**:支持日期筛选、输入筛选等交互式数据过滤
- **自由布局**:拖拽式自由布局,支持自定义尺寸和位置
#### 🔗 数据管理
- **数据源管理**:支持接入外部数据库(PostgreSQL / MySQL / SQL Server)作为数据源
- **表单数据管理**:自动生成表单数据的列表、详情、编辑和删除功能
- **数据导入导出**:支持 Excel 格式的数据导入与导出
### 适用场景
- **企业内部管理系统**:OA、CRM、ERP、进销存、项目管理等
- **业务流程数字化**:审批流程、工单系统、报表系统等
- **快速原型开发**:业务需求快速验证与迭代
- **SaaS 平台构建**:多租户应用开发
- **数据收集与分析**:调查问卷、数据采集、统计分析
***
## 🏗 技术栈
### 后端 (Backend)
| 技术 | 说明 |
| ------------------------------------------------------ | --------------- |
| [FastAPI](https://fastapi.tiangolo.com/) | Web 框架 (0.121+) |
| [SQLAlchemy 2.0](https://www.sqlalchemy.org/) | 异步 ORM |
| [Alembic](https://alembic.sqlalchemy.org/) | 数据库迁移 |
| [PostgreSQL 16+](https://www.postgresql.org/) / MySQL | 数据库 |
| [Redis](https://redis.io/) | 缓存与消息 |
| [APScheduler 4.x](https://apscheduler.readthedocs.io/) | 定时任务调度 |
| [MinIO](https://min.io/) / OSS / Azure Blob | 文件存储 |
| [Qdrant](https://qdrant.tech/) | 向量数据库 (RAG) |
| [OpenAI](https://openai.com/) / Anthropic / DashScope | AI 大模型集成 |
| [WebSocket](https://websockets.readthedocs.io/) | 实时通信 |
### 前端 (Frontend)
| 技术 | 说明 |
| ---------------------------------------------------------- | ----------------------- |
| [Vue 3](https://vuejs.org/) | 前端框架 |
| [TypeScript](https://www.typescriptlang.org/) | 类型安全 |
| [Element Plus](https://element-plus.org/) | UI 组件库 |
| [Vben Admin 5.x](https://github.com/vbenjs/vue-vben-admin) | 后台管理框架 |
| [Vite](https://vitejs.dev/) | 构建工具 |
| [Pinia](https://pinia.vuejs.org/) | 状态管理 |
| [Vue Router](https://router.vuejs.org/) | 路由管理 |
| [i18n](https://vue-i18n.intlify.nuxt.dev/) | 国际化 (zh-CN/en-US/zh-TW) |
| [ECharts](https://echarts.apache.org/) | 图表可视化 |
| [Tiptap](https://tiptap.dev/) | 富文本编辑器 |
| [CodeMirror](https://codemirror.net/) | 代码编辑器 |
## ✨ 核心特性
### 🔐 用户与权限
- **用户管理**:完整的用户 CRUD、头像上传、密码策略
- **角色管理**:基于 RBAC 的角色权限分配
- **菜单管理**:动态菜单配置与权限控制
- **部门管理**:树形组织架构管理
- **岗位管理**:岗位关联与人员管理
- **资源权限**:资源级别的细粒度字段权限控制
- **数据权限**:基于部门/用户的数据范围隔离
### 🏢 组织管理
- **组织架构**:可视化组织架构图
- **部门树**:无限级部门层级管理
- **企业同步**:支持钉钉、飞书、企业微信组织架构与用户同步
### 🔗 第三方集成
- **OAuth 登录**:支持 Gitee、GitHub、QQ、Google、微信、Microsoft、钉钉、飞书、企业微信
- **消息通知**:邮件 (SMTP)、短信 (阿里云/腾讯云)、钉钉机器人、飞书机器人、企业微信机器人、微信公众号
- **文件存储**:支持本地存储、MinIO、阿里云 OSS、Azure Blob Storage
### 📱 零代码能力
- **在线表单设计**:拖拽式表单构建器,支持复杂表单设计
- **表单数据管理**:表单数据的 CRUD 与动态查询
- **在线页面设计**:可视化页面编辑器
- **仪表盘设计**:仪表盘设计器,支持丰富图表组件
- **代码生成器**:支持多种编码模式 (日期序列、流水号等)
### 💬 即时通讯
- **实时聊天**:基于 WebSocket 的单聊与群聊
- **消息管理**:未读计数、消息免打扰、置顶会话
- **消息通知**:系统通知与公告管理
### 🤖 AI 能力
- **AI 对话**:集成 OpenAI、Anthropic (Claude)、DashScope (通义千问) 等多种大模型
- **知识库**:基于 Qdrant 向量数据库的 RAG 检索增强生成
### ⚙️ 系统工具
- **数据字典**:业务字典管理 (支持树形/列表)
- **系统配置**:动态系统参数配置
- **UI 配置**:前端界面偏好设置 (可从后端动态加载)
- **定时任务**:基于 APScheduler 的任务调度管理
- **文件管理**:文件上传、预览、分片上传
- **数据源管理**:外部数据库连接管理
- **API 令牌**:API 访问令牌管理
- **区域管理**:省市区地理数据管理
### 🌐 国际化
- 支持中文简体、中文繁体、英文
- 前端 UI 界面完全国际化
- 后端错误消息国际化支持
## 🚀 快速开始
### 前置条件
- Python 3.12+
- Node.js 20.10+
- pnpm 9.12+
- PostgreSQL 16+
- Redis
### 后端启动
```bash
cd backend
# 创建虚拟环境
python -m venv venv
source venv/bin/activate # Linux/Mac
# 安装依赖
pip install -r requirements.txt
# 配置环境变量
cp env/example.env env/dev.env
# 编辑 env/dev.env 配置数据库连接等信息
# 运行数据库迁移
alembic upgrade head
# 启动开发服务器
uvicorn main:app --reload --port 8000
```
### 前端启动
```bash
cd web
# 安装依赖
pnpm install
# 启动开发服务器(默认使用 Element Plus 版本)
pnpm dev
```
访问 即可进入系统。
### 🐳 Docker Compose 一键部署
项目提供了完整的 Docker Compose 部署方案,位于 `docker/` 目录下,可一键启动 PostgreSQL、Redis、后端和前端服务。
#### 前置条件
- [Docker](https://www.docker.com/) >= 24.0
- [Docker Compose](https://docs.docker.com/compose/) >= 2.20
#### 部署步骤
```bash
# 1. 进入项目根目录
cd zq-platform
# 2. (可选)修改环境变量配置
# 编辑 .env 文件,生产环境请务必修改 JWT_SECRET_KEY、DB_PASSWORD、REDIS_PASSWORD
vim .env
# 3. 构建并启动所有服务
docker compose up -d
# 4. 查看启动日志
docker compose logs -f
# 5. 访问系统
# 浏览器打开 http://localhost
```
#### 服务架构
```text
┌─────────────┐ ┌──────────────────────────────────┐
│ Browser │ ───▶ │ Nginx (Port 80) │
└─────────────┘ │ ├─ 静态文件 → Vue SPA │
│ ├─ /basic-api/* → backend:8000 │
│ └─ /ws/* → backend:8000 │
└──────────┬───────────────────────┘
│
┌──────────────────────┼──────────────────────┐
▼ ▼ ▼
┌─────────────┐ ┌──────────────┐ ┌──────────────┐
│ PostgreSQL │ │ Redis │ │ Backend │
│ :5432 │ │ :6379 │ │ :8000 │
└─────────────┘ └──────────────┘ └──────────────┘
```
#### 服务说明
| 服务名 | 镜像 | 端口 | 说明 |
|--------|------|------|------|
| **postgres** | postgres:16-alpine | 5432 | 数据库 |
| **redis** | redis:7-alpine | 6379 | 缓存(AOF 持久化) |
| **backend** | 自建 | 8000 | FastAPI(Uvicorn 4 workers) |
| **web** | 自建 | **80** | Nginx 服务前端 + 代理 API/WebSocket |
#### 常用命令
```bash
# 构建并启动
docker compose up -d
# 查看日志
docker compose logs -f
# 停止服务
docker compose down
# 完全清理(会删除数据卷,首次部署时使用)
docker compose down -v
# 仅重建某个服务(修改代码后)
docker compose build backend
docker compose up -d backend
# 查看服务状态
docker compose ps
```
#### 安全注意事项
1. **生产部署前务必修改 `.env` 中的密钥**:
- `JWT_SECRET_KEY` — JWT 签名密钥
- `DB_PASSWORD` — 数据库密码
- `REDIS_PASSWORD` — Redis 密码
2. 默认使用 PostgreSQL,如需切换 MySQL 请修改 `docker-compose.yml` 中的服务配置
3. 文件存储默认使用 `local` 模式,如需 MinIO/OSS 可在 `.env` 中配置
## 🏛 项目结构
```
zq-platform/
├── backend/ # 后端 Python 服务
│ ├── app/ # 核心应用模块
│ │ ├── base_model.py # 基础模型
│ │ ├── base_schema.py # 通用 Schema
│ │ ├── base_service.py # 基础服务
│ │ ├── config.py # 系统配置
│ │ ├── database.py # 数据库连接
│ │ └── ...
│ ├── core/ # 核心业务模块
│ │ ├── auth/ # 认证模块
│ │ ├── user/ # 用户管理
│ │ ├── role/ # 角色管理
│ │ ├── menu/ # 菜单管理
│ │ ├── dept/ # 部门管理
│ │ ├── permission/ # 权限管理
│ │ ├── chat/ # 即时通讯
│ │ ├── file_manager/ # 文件管理
│ │ ├── message/ # 消息通知
│ │ ├── oauth/ # 第三方登录
│ │ ├── code_generator/ # 代码生成器
│ │ ├── data_source/ # 数据源管理
│ │ ├── system_config/ # 系统配置
│ │ ├── ui_config/ # UI 配置
│ │ ├── server_monitor/ # 服务监控
│ │ ├── redis_monitor/ # Redis 监控
│ │ ├── database_monitor/ # 数据库监控
│ │ ├── redis_manager/ # Redis 管理
│ │ ├── database_manager/ # 数据库管理
│ │ ├── dingtalk_sync/ # 钉钉同步
│ │ ├── feishu_sync/ # 飞书同步
│ │ ├── wecom_sync/ # 企业微信同步
│ │ ├── application/ # 应用管理
│ │ ├── device/ # 设备管理
│ │ ├── region/ # 区域管理
│ │ ├── login_log/ # 登录日志
│ │ ├── api_token/ # API 令牌
│ │ ├── link_preview/ # 链接预览
│ │ ├── dict/ # 数据字典
│ │ ├── post/ # 岗位管理
│ │ └── resource_scope/ # 资源权限
│ ├── online_dev/ # 在线开发模块
│ │ ├── form_manager/ # 表单管理
│ │ ├── form_data_manager/ # 表单数据管理
│ │ └── page_manager/ # 页面管理
│ ├── scheduler/ # 定时任务
│ ├── zq_demo/ # 示例模块
│ ├── alembic/ # 数据库迁移
│ ├── main.py # 应用入口
│ └── requirements.txt # Python 依赖
│
├── web/ # 前端工程
│ ├── apps/
│ │ └── web-ele/ # Element Plus 版本应用
│ │ └── src/
│ │ ├── api/ # API 接口
│ │ ├── components/ # 业务组件
│ │ ├── views/ # 页面视图
│ │ ├── router/ # 路由配置
│ │ ├── store/ # 状态管理
│ │ ├── locales/ # 国际化
│ │ └── layouts/ # 布局组件
│ ├── packages/ # 共享包
│ │ ├── @core/ # 核心包 (UI 组件、工具库等)
│ │ ├── effects/ # 业务逻辑
│ │ ├── constants/ # 常量定义
│ │ ├── hooks/ # 组合式函数
│ │ ├── icons/ # 图标库
│ │ ├── locales/ # 国际化
│ │ ├── preferences/ # 偏好设置
│ │ ├── request/ # HTTP 请求
│ │ ├── stores/ # 状态管理
│ │ ├── styles/ # 样式
│ │ ├── types/ # TypeScript 类型
│ │ └── utils/ # 工具函数
│ └── package.json # 前端依赖
│
└── README.md # 项目文档
```
## ✅ 环境要求
| 依赖 | 版本要求 |
| ---------- | -------- |
| Python | >= 3.12 |
| Node.js | >= 20.10 |
| pnpm | >= 9.12 |
| PostgreSQL | >= 16 |
| Redis | >= 6.0 |
## 🤝 贡献指南
欢迎提交 Issue 和 Pull Request 来帮助改进项目。
1. Fork 本仓库
2. 创建您的特性分支 (`git checkout -b feature/amazing-feature`)
3. 提交您的更改 (`git commit -m 'feat: 添加某个功能'`)
4. 推送到分支 (`git push origin feature/amazing-feature`)
5. 提交 Pull Request
## 📄 许可证
本项目采用双重许可证结构:
- **核心许可**:[Apache License 2.0](LICENSE) — 标准 Apache 2.0 开源协议,允许自由使用、修改和再发布
- **附加条款**:[ZQ-Platform Public License Supplemental Terms](LICENSE_SUPPLEMENTAL) — 包含署名("powered by ZQ-Platform")与商标使用的补充约定
使用本代码即表示您同意遵守以上两份文件中的所有条款。
## 📞 联系我们
- **官方网站**:
- **开源仓库**:
- **完整版演示**:
- **开源版演示**:
- **作者邮箱**:
- **问题反馈**:[GitHub Issues](https://github.com/jiangzhikj/zq-platform/issues)