RuoYi-FastAPI是一套全部开源的快速开发平台,毫无保留给个人及企业免费使用。
- Web 前端提供 Vue2 + Element UI 和 Vue3 + Element Plus 两套工程,分别基于RuoYi-Vue和RuoYi-Vue3修改。
- 移动端提供 uni-app 的 Vue2、Vue3 两套工程,内置 tailwindcss,基于RuoYi-App项目修改。
- 后端采用FastAPI、sqlalchemy、MySQL(PostgreSQL)、Redis、OAuth2 & Jwt。
- 权限认证使用OAuth2 & Jwt,支持多终端认证系统。
- 支持加载动态权限菜单,多方式轻松权限控制。
- 纯Python版本:
- 特别鸣谢:RuoYi-Vue3、RuoYi-App
- 用户管理:用户是系统操作者,该功能主要完成系统用户配置。
- 角色管理:角色菜单权限分配、设置角色按机构进行数据范围权限划分。
- 菜单管理:配置系统菜单,操作权限,按钮权限标识等。
- 部门管理:配置系统组织机构(公司、部门、小组)。
- 岗位管理:配置系统用户所属担任职务。
- 字典管理:对系统中经常使用的一些较为固定的数据进行维护。
- 参数管理:对系统动态配置常用参数。
- 通知公告:系统通知公告信息发布维护。
- 操作日志:系统正常操作日志记录和查询;系统异常信息日志记录和查询。
- 登录日志:系统登录日志记录查询包含登录异常。
- 在线用户:当前系统中活跃用户状态监控。
- 定时任务:在线(添加、修改、删除)任务调度包含执行结果日志。
- 服务监控:监视当前系统CPU、内存、磁盘、堆栈等相关信息。
- 缓存监控:对系统的缓存信息查询,命令统计等。
- 传输加密:支持前后端请求加密、响应解密、公钥轮换、运行策略下发与监控统计。
- 在线构建器:拖动表单元素生成相应的HTML代码。
- 系统接口:根据业务代码自动生成相关的api接口文档。
- 代码生成:配置数据库表信息一键生成前后端代码(python、sql、vue、js),支持下载。
- AI管理:提供AI模型管理和AI对话功能。
- 文件管理:统一管理公开文件和受保护附件,支持访问控制、业务引用保护、操作审计、回收站、保留策略及存储对账。
- 插件系统:支持插件发现、安装、启停、升级、卸载与清理,提供依赖与配置管理、迁移与种子、定时任务、菜单权限、批量预演、健康诊断、操作审计及前后端插件脚手架。
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
- 账号:admin
- 密码:admin123
- 演示地址:vfadmin管理系统
前端目录约定为 ruoyi-fastapi-frontend/<framework>/{web,mobile},其中 <framework> 是前端框架标识,当前为 vue2、vue3。
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
# 克隆项目
git clone https://gitee.com/insistence2022/RuoYi-FastAPI.git
# 进入项目根目录
cd RuoYi-FastAPI# 从仓库根目录进入 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 已配置此选项。
# 从仓库根目录进入移动端工程
cd ruoyi-fastapi-frontend/vue3/mobile
# 安装依赖
npm install -g pnpm
pnpm install
# 启动 H5
pnpm dev:h5
# 启动微信小程序
pnpm dev:mp-weixin# 从仓库根目录进入移动端工程
cd ruoyi-fastapi-frontend/vue2/mobile
yarn install
# 启动 H5
yarn dev:h5
# 启动微信小程序
yarn dev:mp-weixin# 进入后端目录
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
# 默认账号密码
账号:admin
密码:admin123
# 浏览器访问
地址:http://localhost:80先进入要发布的 ruoyi-fastapi-frontend/vue2/web 或 ruoyi-fastapi-frontend/vue3/web 工程,再运行:
# 构建测试环境
npm run build:stage 或 yarn build:stage
# 构建生产环境
npm run build:prod 或 yarn build:prod# 配置环境
在.env.prod文件中配置生产环境的数据库和redis
# 运行后端
ruoyi app run --env=prod
⚠️ 警告: 默认未做数据持久化配置,请注意数据备份或自行配置持久化
Compose 通过前端框架标识选择 Web 工程。仓库根目录的 docker.env 默认设置 FRONTEND_FRAMEWORK=vue3,当前可选值为 vue2、vue3;改为 vue2 可切换到 Vue2 Web。执行下方命令时,通过 --env-file docker.env 显式加载配置。该变量同时选择 ruoyi-fastapi-frontend/<framework>/web 构建目录与对应的 nginx 配置,并通过 RUOYI_PLUGIN_FRONTEND_FRAMEWORK 传入后端,使插件依赖检查和安装使用相同框架分类。各框架共用后端服务与数据库配置;本次部署只构建所选 Web 工程,不会构建移动端。
docker compose --env-file docker.env -f docker-compose.my.yml up -d --builddocker compose --env-file docker.env -f docker-compose.pg.yml up -d --build如果有对本项目及FastAPI感兴趣的朋友,欢迎加入知识星球一起交流学习,让我们一起变得更强。如果你觉得这个项目帮助到了你,你可以请作者喝杯咖啡表示鼓励☕。扫描下面微信二维码添加微信备注VF-Admin即可进群。
|
|
|































