# RuoYi-FastAPI **Repository Path**: caisplit/RuoYi-FastAPI ## Basic Information - **Project Name**: RuoYi-FastAPI - **Description**: 基于Vue3+Element Plus+FastAPI开发的一个通用中后台管理框架(若依的FastAPI版本),支持代码生成 - **Primary Language**: Python - **License**: MIT - **Default Branch**: master - **Homepage**: https://docs.insistence.tech - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 555 - **Created**: 2026-10-10 - **Last Updated**: 2026-10-10 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README

logo

RuoYi-FastAPI

基于 FastAPI 的前后端分离快速开发框架

Gitee Github CI project version Ruff LICENSE node version python version mysql version redis version

## 平台简介 RuoYi-FastAPI是一套全部开源的快速开发平台,毫无保留给个人及企业免费使用。 * Web 前端提供 Vue2 + Element UI 和 Vue3 + Element Plus 两套工程,分别基于[RuoYi-Vue](https://github.com/yangzongzhuan/RuoYi-Vue)和[RuoYi-Vue3](https://github.com/yangzongzhuan/RuoYi-Vue3)修改。 * 移动端提供 uni-app 的 Vue2、Vue3 两套工程,内置 tailwindcss,基于[RuoYi-App](https://github.com/yangzongzhuan/RuoYi-App)项目修改。 * 后端采用FastAPI、sqlalchemy、MySQL(PostgreSQL)、Redis、OAuth2 & Jwt。 * 权限认证使用OAuth2 & Jwt,支持多终端认证系统。 * 支持加载动态权限菜单,多方式轻松权限控制。 * 纯Python版本: * Gitte仓库地址: * GitHub仓库地址: * 特别鸣谢:[RuoYi-Vue3](https://github.com/yangzongzhuan/RuoYi-Vue3)、[RuoYi-App](https://github.com/yangzongzhuan/RuoYi-App) ## 内置功能 1. 用户管理:用户是系统操作者,该功能主要完成系统用户配置。 2. 角色管理:角色菜单权限分配、设置角色按机构进行数据范围权限划分。 3. 菜单管理:配置系统菜单,操作权限,按钮权限标识等。 4. 部门管理:配置系统组织机构(公司、部门、小组)。 5. 岗位管理:配置系统用户所属担任职务。 6. 字典管理:对系统中经常使用的一些较为固定的数据进行维护。 7. 参数管理:对系统动态配置常用参数。 8. 通知公告:系统通知公告信息发布维护。 9. 操作日志:系统正常操作日志记录和查询;系统异常信息日志记录和查询。 10. 登录日志:系统登录日志记录查询包含登录异常。 11. 在线用户:当前系统中活跃用户状态监控。 12. 定时任务:在线(添加、修改、删除)任务调度包含执行结果日志。 13. 服务监控:监视当前系统CPU、内存、磁盘、堆栈等相关信息。 14. 缓存监控:对系统的缓存信息查询,命令统计等。 15. 传输加密:支持前后端请求加密、响应解密、公钥轮换、运行策略下发与监控统计。 16. 在线构建器:拖动表单元素生成相应的HTML代码。 17. 系统接口:根据业务代码自动生成相关的api接口文档。 18. 代码生成:配置数据库表信息一键生成前后端代码(python、sql、vue、js),支持下载。 19. AI管理:提供AI模型管理和AI对话功能。 20. 文件管理:统一管理公开文件和受保护附件,支持访问控制、业务引用保护、操作审计、回收站、保留策略及存储对账。 21. 插件系统:支持插件发现、安装、启停、升级、卸载与清理,提供依赖与配置管理、迁移与种子、定时任务、菜单权限、批量预演、健康诊断、操作审计及前后端插件脚手架。 ## 演示图
login dashboard
user role
menu dept
dict
config notice
operLog loginLog
online job
server cache
cacheList form
api gen
aiModel aiChat
file plugin
profile
applogin appWorkbench appProfile
## 在线体验 * *账号:admin* * *密码:admin123* * 演示地址:vfadmin管理系统 ## 项目开发及发布相关 ### 工程目录 前端目录约定为 `ruoyi-fastapi-frontend//{web,mobile}`,其中 `` 是前端框架标识,当前为 `vue2`、`vue3`。 ```text RuoYi-FastAPI/ ├── ruoyi-fastapi-backend/ # 共用 FastAPI 后端 ├── ruoyi-fastapi-frontend/ │ ├── vue2/ │ │ ├── web/ # Vue2 + Element UI │ │ └── mobile/ # uni-app + Vue2 │ └── vue3/ │ ├── web/ # Vue3 + Element Plus + Vite │ └── mobile/ # uni-app + Vue3 + Vite └── ruoyi-fastapi-test/ # 端到端与跨工程契约测试 ``` ### 传输层加解密配置说明 后端密钥配置与轮换说明:[ruoyi-fastapi-backend/docs/transport_crypto_config.md](./ruoyi-fastapi-backend/docs/transport_crypto_config.md) ### 开发 ```bash # 克隆项目 git clone https://gitee.com/insistence2022/RuoYi-FastAPI.git # 进入项目根目录 cd RuoYi-FastAPI ``` #### Web 前端 ```bash # 从仓库根目录进入 Vue3 Web 工程 cd ruoyi-fastapi-frontend/vue3/web # 使用 Vue2 时改为:cd ruoyi-fastapi-frontend/vue2/web # 安装依赖 npm install 或 yarn --registry=https://registry.npmmirror.com # 建议不要直接使用 cnpm 安装依赖,会有各种诡异的 bug。可以通过如下操作解决 npm 下载速度慢的问题 npm install --registry=https://registry.npmmirror.com # 启动服务 npm run dev 或 yarn dev ``` 两个 Web 工程默认都使用 `80` 端口,开发代理均指向同一个 `9099` 后端。同时运行时,请分别配置不同的前端端口。 Vue2 Web 使用 Vue CLI 4 / webpack 4,在 Node.js 18 及以上启动或构建前,需要设置 `NODE_OPTIONS=--openssl-legacy-provider`:PowerShell 执行 `$env:NODE_OPTIONS = '--openssl-legacy-provider'`,Bash 执行 `export NODE_OPTIONS=--openssl-legacy-provider`。Docker 和构建 CI 已配置此选项。 #### Vue3 移动端 ```bash # 从仓库根目录进入移动端工程 cd ruoyi-fastapi-frontend/vue3/mobile # 安装依赖 npm install -g pnpm pnpm install # 启动 H5 pnpm dev:h5 # 启动微信小程序 pnpm dev:mp-weixin ``` #### Vue2 移动端 ```bash # 从仓库根目录进入移动端工程 cd ruoyi-fastapi-frontend/vue2/mobile yarn install # 启动 H5 yarn dev:h5 # 启动微信小程序 yarn dev:mp-weixin ``` 移动端详细文档请参考:[Vue3 移动端](./ruoyi-fastapi-frontend/vue3/mobile/README.md)、[Vue2 移动端](./ruoyi-fastapi-frontend/vue2/mobile/README.md)。 #### 后端 ```bash # 进入后端目录 cd ruoyi-fastapi-backend # 如果使用的是MySQL数据库,请执行以下命令安装项目依赖环境 pip3 install -r requirements.txt # 如果使用的是PostgreSQL数据库,请执行以下命令安装项目依赖环境 pip3 install -r requirements-pg.txt # 安装AI插件依赖,如果不需要AI插件,可忽略此步骤 ruoyi plugin install-deps ai # 配置环境 在.env.dev文件中配置开发环境的数据库和redis # 运行sql文件 1.新建数据库ruoyi-fastapi(默认,可修改) 2.如果使用的是MySQL数据库,使用命令或数据库连接工具运行sql文件夹下的ruoyi-fastapi.sql;如果使用的是PostgreSQL数据库,使用命令或数据库连接工具运行sql文件夹下的ruoyi-fastapi-pg.sql # 运行后端 ruoyi app run --env=dev ``` 后端 CLI 使用说明请参考:[ruoyi-fastapi-backend/docs/cli_usage.md](./ruoyi-fastapi-backend/docs/cli_usage.md) #### 访问 ```bash # 默认账号密码 账号:admin 密码:admin123 # 浏览器访问 地址:http://localhost:80 ``` ### 发布 #### Web 前端 先进入要发布的 `ruoyi-fastapi-frontend/vue2/web` 或 `ruoyi-fastapi-frontend/vue3/web` 工程,再运行: ```bash # 构建测试环境 npm run build:stage 或 yarn build:stage # 构建生产环境 npm run build:prod 或 yarn build:prod ``` #### 后端 ```bash # 配置环境 在.env.prod文件中配置生产环境的数据库和redis # 运行后端 ruoyi app run --env=prod ``` ### Docker Compose部署方式 > ⚠️ **警告:** 默认未做数据持久化配置,请注意数据备份或自行配置持久化 Compose 通过前端框架标识选择 Web 工程。仓库根目录的 `docker.env` 默认设置 `FRONTEND_FRAMEWORK=vue3`,当前可选值为 `vue2`、`vue3`;改为 `vue2` 可切换到 Vue2 Web。执行下方命令时,通过 `--env-file docker.env` 显式加载配置。该变量同时选择 `ruoyi-fastapi-frontend//web` 构建目录与对应的 nginx 配置,并通过 `RUOYI_PLUGIN_FRONTEND_FRAMEWORK` 传入后端,使插件依赖检查和安装使用相同框架分类。各框架共用后端服务与数据库配置;本次部署只构建所选 Web 工程,不会构建移动端。 #### MySQL版本 ```bash docker compose --env-file docker.env -f docker-compose.my.yml up -d --build ``` #### PostgreSQL版本 ```bash docker compose --env-file docker.env -f docker-compose.pg.yml up -d --build ``` ## 交流与赞助 如果有对本项目及FastAPI感兴趣的朋友,欢迎加入知识星球一起交流学习,让我们一起变得更强。如果你觉得这个项目帮助到了你,你可以请作者喝杯咖啡表示鼓励☕。扫描下面微信二维码添加微信备注VF-Admin即可进群。
zsxq zanzhu
wxcode