# python-vue-grapefruit **Repository Path**: langjins/python-vue-grapefruit ## Basic Information - **Project Name**: python-vue-grapefruit - **Description**: No description available - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-09-10 - **Last Updated**: 2026-05-27 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Grapefruit / SCUI 全栈中后台管理系统 基于 **Vue 3 + FastAPI** 的全栈中后台管理解决方案,支持 Web 管理后台、桌面端、移动端多端运行,内置代码生成器等能力。 ## 技术栈 ### 前端 (frontend/) | 技术 | 版本 | 说明 | |------|------|------| | Vue | ^3.5.34 | 渐进式前端框架 | | Vite | ^5.0.0 | 构建工具 | | Element Plus | 2.2.32 | UI 组件库 | | Vue Router | ^5.0.7 | 路由管理 | | Pinia | ^3.0.4 | 状态管理 | | Vue I18n | ^11.4.4 | 国际化 | | Axios | 1.3.4 | HTTP 客户端 | | SCSS | 1.58.3 | 样式预处理 | ### 后端 (backend/) | 技术 | 说明 | |------|------| | FastAPI | 异步 Web 框架 | | Tortoise ORM | 异步 ORM | | Aerich | 数据库迁移工具 | | Typer | CLI 命令行工具 | | Uvicorn | ASGI 服务器 | ### 桌面端 (desktop/) | 技术 | 版本 | 说明 | |------|------|------| | Vue | ^3.5.34 | 渐进式前端框架 | | Vite | ^8.0.12 | 构建工具 | | Naive UI | ^2.44.1 | UI 组件库 | | Vue Router | ^5.0.7 | 路由管理 | | Pinia | ^3.0.4 | 状态管理 | | Axios | ^1.16.1 | HTTP 客户端 | ### 移动端 (mobile/) | 技术 | 版本 | 说明 | |------|------|------| | Vue | ^3.4.21 | 渐进式前端框架 | | Vite | 5.2.8 | 构建工具 | | UniApp | 3.0.0-alpha | 跨端应用框架 | | uni-ui | - | UniApp 官方 UI 库 | | Vue I18n | ^9.1.9 | 国际化 | ### 官网 (www/) | 技术 | 版本 | 说明 | |------|------|------| | VitePress | ^2.0.0-alpha.12 | 静态站点生成器(Vue 驱动) | ### 基础设施 - **MySQL 8.0** — 主数据库 - **Redis** — 缓存 / 会话 ## 项目结构 ``` python-vue-grapefruit/ ├── backend/ # FastAPI 后端 │ ├── app/ # 应用代码(API / Service / CRUD / Model) │ ├── generate/ # 代码生成器 │ ├── plugin/ # 插件(数据库/加密/OSS/机器人) │ ├── env/ # 环境配置文件 │ └── main.py # 程序入口(CLI) ├── frontend/ # Vue 3 中后台前端(SCUI) │ ├── src/ # 源码 │ │ ├── views/ # 页面视图 │ │ ├── components/ # 全局组件 │ │ ├── store/ # Pinia 状态管理 │ │ ├── router/ # 路由 │ │ └── api/ # API 接口 │ └── vite.config.js ├── desktop/ # 桌面端应用(Naive UI) │ ├── src/ │ ├── index.html │ └── vite.config.js ├── mobile/ # 移动端应用(UniApp) │ ├── src/pages/ # 页面 │ ├── index.html │ └── vite.config.js ├── www/ # 官方网站(VitePress) │ ├── .vitepress/ # VitePress 配置 │ └── index.md └── devops/ # Docker / Nginx / 数据库配置 ``` ## 快速开始 ### 环境要求 - Python 3.10+ - Node.js 18+ - Docker & Docker Compose(可选) ### 1. 克隆项目 ```bash git clone cd python-vue-grapefruit ``` ### 2. 启动基础设施(Docker) ```bash docker-compose up -d mysql redis ``` ### 3. 启动后端 ```bash cd backend # 创建虚拟环境 python -m venv venv source venv/bin/activate # Windows: venv\Scripts\activate # 安装依赖 pip install -r requirements.txt # 初始化数据库 python main.py migrate python main.py upgrade # 启动服务 python main.py run --env=dev ``` 后端默认运行在 `http://127.0.0.1:8801` ### 4. 启动前端 ```bash cd frontend npm install npm run dev ``` 前端默认运行在 `http://localhost:2800` ### 5. 启动桌面端 ```bash cd desktop npm install npm run dev ``` 桌面端默认运行在 `http://localhost:5173` ### 6. 启动移动端 ```bash cd mobile npm install # H5 模式 npm run dev:h5 # 微信小程序 npm run dev:mp-weixin # 其他平台详见 mobile/package.json ``` 移动端 H5 默认运行在 `http://localhost:5173` ### 7. 启动官网 ```bash cd www npm install npm run dev ``` 官网默认运行在 `http://localhost:5173` ## 后端 CLI 命令 ```bash cd backend # 启动服务 python main.py run --env=dev # 生成数据库迁移文件 python main.py migrate --env=dev # 应用数据库迁移 python main.py upgrade --env=dev # 根据模型自动生成 CRUD 代码 python main.py generate <模型名称> ``` ## 主要功能 - **系统管理**:用户、角色、菜单、部门、字典、参数配置 - **权限控制**:基于角色的权限体系,支持按钮级权限 - **代码生成**:根据 Tortoise ORM 模型自动生成后端 CRUD + 前端页面 - **任务调度**:定时任务管理 - **系统监控**:在线用户、系统日志、服务监控 - **多端支持**:Web 管理后台 + 桌面客户端 + 移动端 + 官网 ## 前端特性 - **多种布局**:默认 / 通栏 / 经典 / 功能坞 - **动态路由**:基于后端菜单权限动态生成路由 - **视图标签**:支持多标签页、拖拽排序、右键菜单 - **国际化**:支持中英文切换 - **组件库**:封装了 `scTable`、`scForm`、`scDialog`、`scUpload` 等实用组件 ## Docker 部署 ```bash # 一键启动全部服务(含前后端) docker-compose up -d ``` 详细部署配置见 `docker-compose.yaml` 和 `devops/` 目录。 ## 开发文档 - [后端架构说明](backend/README.md) - [前端架构说明](frontend/README.md) - [移动端说明](mobile/README.md) ## License [LICENSE](LICENSE)