1- <p align =" center " >
2- <img alt="logo" src="https://oscimg.oschina.net/oscnet/up-d3d0a9303e11d522a06cd263f3079027715.png">
3- </p >
4- <h1 align =" center " style =" margin : 30px 0 30px ; font-weight : bold ;" >RuoYi-Vue-FastAPI v1.8.0 </h1 >
1+ <h1 align =" center " >
2+ <img alt="logo" src="https://oscimg.oschina.net/oscnet/up-d3d0a9303e11d522a06cd263f3079027715.png">
3+ </h1 >
4+ <h1 align =" center " style =" margin : 30px 0 30px ; font-weight : bold ;" >RuoYi-Vue-FastAPI</h1 >
55<h4 align =" center " >基于RuoYi-Vue+FastAPI前后端分离的快速开发框架</h4 >
66<p align =" center " >
7- <a href="https://gitee.com/insistence2022/RuoYi-Vue-FastAPI/stargazers"><img src="https://gitee.com/insistence2022/RuoYi-Vue-FastAPI/badge/star.svg?theme=dark"></a>
8- <a href="https://github.com/insistence/RuoYi-Vue-FastAPI"><img src="https://img.shields.io/github/stars/insistence/RuoYi-Vue-FastAPI?style=social"></a>
9- <a href="https://gitee.com/insistence2022/RuoYi-Vue-FastAPI"><img src="https://img.shields.io/badge/RuoYiVueFastAPI-v1.8.0-brightgreen.svg"></a>
10- <a href="https://gitee.com/insistence2022/RuoYi-Vue-FastAPI/blob/master/LICENSE"><img src="https://img.shields.io/github/license/mashape/apistatus.svg"></a>
11- <img src="https://img.shields.io/badge/node-≥14-blue">
12- <img src="https://img.shields.io/badge/python-≥3.9-blue">
13- <img src="https://img.shields.io/badge/MySQL-≥5.7-blue">
7+ <a href="https://gitee.com/insistence2022/RuoYi-Vue-FastAPI/stargazers">
8+ <img alt="Gitee" src="https://gitee.com/insistence2022/RuoYi-Vue-FastAPI/badge/star.svg?theme=dark">
9+ </a>
10+ <a href="https://github.com/insistence/RuoYi-Vue-FastAPI">
11+ <img alt="Github" src="https://img.shields.io/github/stars/insistence/RuoYi-Vue-FastAPI?style=social">
12+ </a>
13+ <a href="https://gitee.com/insistence2022/RuoYi-Vue-FastAPI">
14+ <img alt="project version" src="https://img.shields.io/badge/version-1.8.1-brightgreen.svg">
15+ </a>
16+ <a href="https://github.com/astral-sh/ruff">
17+ <img alt="Ruff" src="https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/astral-sh/ruff/main/assets/badge/v2.json">
18+ </a>
19+ <a href="https://gitee.com/insistence2022/RuoYi-Vue-FastAPI/blob/master/LICENSE">
20+ <img alt="LICENSE" src="https://img.shields.io/github/license/mashape/apistatus.svg">
21+ </a>
22+ <img alt="node version" src="https://img.shields.io/badge/node-≥14-blue">
23+ <img alt="python version" src="https://img.shields.io/badge/python-≥3.9-blue">
24+ <img alt="mysql version" src="https://img.shields.io/badge/MySQL-≥5.7-blue">
1425</p >
1526
1627## 平台简介
@@ -22,24 +33,24 @@ RuoYi-Vue-FastAPI是一套全部开源的快速开发平台,毫无保留给个
2233* 权限认证使用OAuth2 & Jwt,支持多终端认证系统。
2334* 支持加载动态权限菜单,多方式轻松权限控制。
2435* Vue3版本:
25- - Gitte仓库地址:https://gitee.com/insistence2022/RuoYi-Vue3-FastAPI
26- - GitHub仓库地址:https://github.com/insistence/RuoYi-Vue3-FastAPI
36+ * Gitte仓库地址:< https://gitee.com/insistence2022/RuoYi-Vue3-FastAPI >
37+ * GitHub仓库地址:< https://github.com/insistence/RuoYi-Vue3-FastAPI >
2738* 纯Python版本:
28- - Gitte仓库地址:https://gitee.com/insistence2022/dash-fastapi-admin
29- - GitHub仓库地址:https://github.com/insistence/Dash-FastAPI-Admin
39+ * Gitte仓库地址:< https://gitee.com/insistence2022/dash-fastapi-admin >
40+ * GitHub仓库地址:< https://github.com/insistence/Dash-FastAPI-Admin >
3041* 特别鸣谢:<u >[ RuoYi-Vue] ( https://gitee.com/y_project/RuoYi-Vue ) </u >
3142
3243## 内置功能
3344
34- 1 . 用户管理:用户是系统操作者,该功能主要完成系统用户配置。
35- 2 . 角色管理:角色菜单权限分配、设置角色按机构进行数据范围权限划分。
36- 3 . 菜单管理:配置系统菜单,操作权限,按钮权限标识等。
37- 4 . 部门管理:配置系统组织机构(公司、部门、小组)。
38- 5 . 岗位管理:配置系统用户所属担任职务。
39- 6 . 字典管理:对系统中经常使用的一些较为固定的数据进行维护。
40- 7 . 参数管理:对系统动态配置常用参数。
41- 8 . 通知公告:系统通知公告信息发布维护。
42- 9 . 操作日志:系统正常操作日志记录和查询;系统异常信息日志记录和查询。
45+ 1 . 用户管理:用户是系统操作者,该功能主要完成系统用户配置。
46+ 2 . 角色管理:角色菜单权限分配、设置角色按机构进行数据范围权限划分。
47+ 3 . 菜单管理:配置系统菜单,操作权限,按钮权限标识等。
48+ 4 . 部门管理:配置系统组织机构(公司、部门、小组)。
49+ 5 . 岗位管理:配置系统用户所属担任职务。
50+ 6 . 字典管理:对系统中经常使用的一些较为固定的数据进行维护。
51+ 7 . 参数管理:对系统动态配置常用参数。
52+ 8 . 通知公告:系统通知公告信息发布维护。
53+ 9 . 操作日志:系统正常操作日志记录和查询;系统异常信息日志记录和查询。
435410 . 登录日志:系统登录日志记录查询包含登录异常。
445511 . 在线用户:当前系统中活跃用户状态监控。
455612 . 定时任务:在线(添加、修改、删除)任务调度包含执行结果日志。
@@ -53,54 +64,97 @@ RuoYi-Vue-FastAPI是一套全部开源的快速开发平台,毫无保留给个
5364
5465<table >
5566 <tr>
56- <td><img src="https://gitee.com/insistence2022/RuoYi-Vue-FastAPI/raw/master/demo-pictures/login.png"/></td>
57- <td><img src="https://gitee.com/insistence2022/RuoYi-Vue-FastAPI/raw/master/demo-pictures/dashboard.png"/></td>
67+ <td>
68+ <img alt="login" src="https://gitee.com/insistence2022/RuoYi-Vue-FastAPI/raw/master/demo-pictures/login.png">
69+ </td>
70+ <td>
71+ <img alt="dashboard" src="https://gitee.com/insistence2022/RuoYi-Vue-FastAPI/raw/master/demo-pictures/dashboard.png">
72+ </td>
5873 </tr>
5974 <tr>
60- <td><img src="https://gitee.com/insistence2022/RuoYi-Vue-FastAPI/raw/master/demo-pictures/user.png"/></td>
61- <td><img src="https://gitee.com/insistence2022/RuoYi-Vue-FastAPI/raw/master/demo-pictures/role.png"/></td>
75+ <td>
76+ <img alt="user" src="https://gitee.com/insistence2022/RuoYi-Vue-FastAPI/raw/master/demo-pictures/user.png">
77+ </td>
78+ <td>
79+ <img alt="role" src="https://gitee.com/insistence2022/RuoYi-Vue-FastAPI/raw/master/demo-pictures/role.png">
80+ </td>
6281 </tr>
6382 <tr>
64- <td><img src="https://gitee.com/insistence2022/RuoYi-Vue-FastAPI/raw/master/demo-pictures/menu.png"/></td>
65- <td><img src="https://gitee.com/insistence2022/RuoYi-Vue-FastAPI/raw/master/demo-pictures/dept.png"/></td>
83+ <td>
84+ <img alt="menu" src="https://gitee.com/insistence2022/RuoYi-Vue-FastAPI/raw/master/demo-pictures/menu.png">
85+ </td>
86+ <td>
87+ <img alt="dept" src="https://gitee.com/insistence2022/RuoYi-Vue-FastAPI/raw/master/demo-pictures/dept.png">
88+ </td>
6689 </tr>
6790 <tr>
68- <td><img src="https://gitee.com/insistence2022/RuoYi-Vue-FastAPI/raw/master/demo-pictures/post.png"/></td>
69- <td><img src="https://gitee.com/insistence2022/RuoYi-Vue-FastAPI/raw/master/demo-pictures/dict.png"/></td>
70- </tr>
91+ <td>
92+ <img alt=""post src="https://gitee.com/insistence2022/RuoYi-Vue-FastAPI/raw/master/demo-pictures/post.png">
93+ </td>
94+ <td>
95+ <img alt="dict" src="https://gitee.com/insistence2022/RuoYi-Vue-FastAPI/raw/master/demo-pictures/dict.png">
96+ </td>
97+ </tr>
7198 <tr>
72- <td><img src="https://gitee.com/insistence2022/RuoYi-Vue-FastAPI/raw/master/demo-pictures/config.png"/></td>
73- <td><img src="https://gitee.com/insistence2022/RuoYi-Vue-FastAPI/raw/master/demo-pictures/notice.png"/></td>
99+ <td>
100+ <img alt="config" src="https://gitee.com/insistence2022/RuoYi-Vue-FastAPI/raw/master/demo-pictures/config.png">
101+ </td>
102+ <td>
103+ <img alt="notice" src="https://gitee.com/insistence2022/RuoYi-Vue-FastAPI/raw/master/demo-pictures/notice.png">
104+ </td>
74105 </tr>
75106 <tr>
76- <td><img src="https://gitee.com/insistence2022/RuoYi-Vue-FastAPI/raw/master/demo-pictures/operLog.png"/></td>
77- <td><img src="https://gitee.com/insistence2022/RuoYi-Vue-FastAPI/raw/master/demo-pictures/loginLog.png"/></td>
107+ <td>
108+ <img alt="operLog" src="https://gitee.com/insistence2022/RuoYi-Vue-FastAPI/raw/master/demo-pictures/operLog.png">
109+ </td>
110+ <td>
111+ <img alt="loginLog" src="https://gitee.com/insistence2022/RuoYi-Vue-FastAPI/raw/master/demo-pictures/loginLog.png">
112+ </td>
78113 </tr>
79114 <tr>
80- <td><img src="https://gitee.com/insistence2022/RuoYi-Vue-FastAPI/raw/master/demo-pictures/online.png"/></td>
81- <td><img src="https://gitee.com/insistence2022/RuoYi-Vue-FastAPI/raw/master/demo-pictures/job.png"/></td>
115+ <td>
116+ <img alt="online" src="https://gitee.com/insistence2022/RuoYi-Vue-FastAPI/raw/master/demo-pictures/online.png">
117+ </td>
118+ <td>
119+ <img alt="job" src="https://gitee.com/insistence2022/RuoYi-Vue-FastAPI/raw/master/demo-pictures/job.png">
120+ </td>
82121 </tr>
83122 <tr>
84- <td><img src="https://gitee.com/insistence2022/RuoYi-Vue-FastAPI/raw/master/demo-pictures/server.png"/></td>
85- <td><img src="https://gitee.com/insistence2022/RuoYi-Vue-FastAPI/raw/master/demo-pictures/cache.png"/></td>
123+ <td>
124+ <img alt="server" src="https://gitee.com/insistence2022/RuoYi-Vue-FastAPI/raw/master/demo-pictures/server.png">
125+ </td>
126+ <td>
127+ <img alt="cache" src="https://gitee.com/insistence2022/RuoYi-Vue-FastAPI/raw/master/demo-pictures/cache.png">
128+ </td>
86129 </tr>
87130 <tr>
88- <td><img src="https://gitee.com/insistence2022/RuoYi-Vue-FastAPI/raw/master/demo-pictures/cacheList.png"></td>
89- <td><img src="https://gitee.com/insistence2022/RuoYi-Vue-FastAPI/raw/master/demo-pictures/form.png"></td>
131+ <td>
132+ <img alt="cacheList" src="https://gitee.com/insistence2022/RuoYi-Vue-FastAPI/raw/master/demo-pictures/cacheList.png">
133+ </td>
134+ <td>
135+ <img alt="form" src="https://gitee.com/insistence2022/RuoYi-Vue-FastAPI/raw/master/demo-pictures/form.png">
136+ </td>
90137 </tr>
91138 <tr>
92- <td><img src="https://gitee.com/insistence2022/RuoYi-Vue-FastAPI/raw/master/demo-pictures/api.png"></td>
93- <td><img src="https://gitee.com/insistence2022/RuoYi-Vue-FastAPI/raw/master/demo-pictures/gen.png"/></td>
139+ <td>
140+ <img alt="api" src="https://gitee.com/insistence2022/RuoYi-Vue-FastAPI/raw/master/demo-pictures/api.png">
141+ </td>
142+ <td>
143+ <img alt="gen" src="https://gitee.com/insistence2022/RuoYi-Vue-FastAPI/raw/master/demo-pictures/gen.png">
144+ </td>
94145 </tr>
95146 <tr>
96- <td><img src="https://gitee.com/insistence2022/RuoYi-Vue-FastAPI/raw/master/demo-pictures/profile.png"/></td>
147+ <td>
148+ <img alt="profile" src="https://gitee.com/insistence2022/RuoYi-Vue-FastAPI/raw/master/demo-pictures/profile.png">
149+ </td>
97150 </tr>
98151</table >
99152
100153## 在线体验
101- - * 账号:admin*
102- - * 密码:admin123*
103- - 演示地址:<a href =" https://vfadmin.insistence.tech " >vfadmin管理系统<a >
154+
155+ * * 账号:admin*
156+ * * 密码:admin123*
157+ * 演示地址:<a href =" https://vfadmin.insistence.tech " >vfadmin管理系统<a >
104158
105159## 项目开发及发布相关
106160
@@ -115,6 +169,7 @@ cd RuoYi-Vue-FastAPI
115169```
116170
117171#### 前端
172+
118173``` bash
119174# 进入前端目录
120175cd ruoyi-fastapi-frontend
@@ -130,6 +185,7 @@ npm run dev
130185```
131186
132187#### 后端
188+
133189``` bash
134190# 进入后端目录
135191cd ruoyi-fastapi-backend
@@ -151,6 +207,7 @@ python3 app.py --env=dev
151207```
152208
153209#### 访问
210+
154211``` bash
155212# 默认账号密码
156213账号:admin
@@ -163,6 +220,7 @@ python3 app.py --env=dev
163220### 发布
164221
165222#### 前端
223+
166224``` bash
167225# 构建测试环境
168226npm run build:stage
@@ -172,6 +230,7 @@ npm run build:prod
172230```
173231
174232#### 后端
233+
175234``` bash
176235# 配置环境
177236在.env.prod文件中配置生产环境的数据库和redis
@@ -180,14 +239,37 @@ npm run build:prod
180239python3 app.py --env=prod
181240```
182241
242+ ### Docker Compose部署方式
243+
244+ > ⚠️ ** 警告:** 默认未做数据持久化配置,请注意数据备份或自行配置持久化
245+
246+ #### MySQL版本
247+
248+ ``` bash
249+ docker compose -f docker-compose.my.yml up -d --build
250+ ```
251+
252+ #### PostgreSQL版本
253+
254+ ``` bash
255+ docker compose -f docker-compose.pg.yml up -d --build
256+ ```
257+
183258## 交流与赞助
259+
184260如果有对本项目及FastAPI感兴趣的朋友,欢迎加入知识星球一起交流学习,让我们一起变得更强。如果你觉得这个项目帮助到了你,你可以请作者喝杯咖啡表示鼓励☕。扫描下面微信二维码添加微信备注VF-Admin即可进群。
185261<table >
186262 <tr>
187- <td><img alt="zsxq" src="https://gitee.com/insistence2022/RuoYi-Vue-FastAPI/raw/master/demo-pictures/zsxq.jpg"></td>
188- <td><img alt="zanzhu" src="https://gitee.com/insistence2022/RuoYi-Vue-FastAPI/raw/master/demo-pictures/zanzhu.jpg"></td>
263+ <td>
264+ <img alt="zsxq" src="https://gitee.com/insistence2022/RuoYi-Vue-FastAPI/raw/master/demo-pictures/zsxq.jpg">
265+ </td>
266+ <td>
267+ <img alt="zanzhu" src="https://gitee.com/insistence2022/RuoYi-Vue-FastAPI/raw/master/demo-pictures/zanzhu.jpg">
268+ </td>
189269 </tr>
190270 <tr>
191- <td><img alt="wxcode" src="https://gitee.com/insistence2022/RuoYi-Vue-FastAPI/raw/master/demo-pictures/wxcode.jpg"></td>
271+ <td>
272+ <img alt="wxcode" src="https://gitee.com/insistence2022/RuoYi-Vue-FastAPI/raw/master/demo-pictures/wxcode.jpg">
273+ </td>
192274 </tr>
193- </table >
275+ </table >
0 commit comments