Files
FastapiAdmin/README.md
T
zhangtao 00b7fe54ba feat: 添加任务管理和字典管理功能,优化系统配置和代码结构
本次提交主要包含以下变更:
1. 新增任务管理模块,支持定时任务的创建、更新、删除和状态管理
2. 新增字典管理模块,用于维护系统中常用的固定数据
3. 优化系统配置,移除Celery,改用APScheduler进行任务调度
4. 修复部分前端组件的样式问题,统一输入框宽度
5. 更新文档和相关图片资源,完善系统功能描述

这些变更旨在增强系统的可维护性和功能性,提供更灵活的任务调度机制和更便捷的字典数据管理方式。
2025-04-12 06:43:27 +08:00

257 lines
9.0 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<div align="center">
<p align="center">
<img src="./mkdocs/docs/resources/images/logo.png" height="150" alt="logo"/>
</p>
<h1 align="center" style="margin: 30px 0 30px; font-weight: bold;">Fastapi-Vue3-Admin v1.0.0</h1>
<h4 align="center">基于Fastapi-Vue-Admin前后端分离的Web应用快速开发框架</h4>
<p align="center">
<a href="https://gitee.com/tao__tao/fastapi_vue3_admin.git">
<img src="https://gitee.com/tao__tao/fastapi_vue3_admin/badge/star.svg?theme=dark">
</a>
<a href="https://github.com/1014TaoTao/fastapi_vue3_admin.git">
<img src="https://img.shields.io/github/stars/1014TaoTao/fastapi_vue3_admin?style=social">
</a>
<a href="https://gitee.com/tao__tao/fastapi_vue3_admin/blob/master/LICENSE">
<img src="https://img.shields.io/badge/License-MIT-orange">
</a>
<img src="https://img.shields.io/badge/Python-≥3.10-blue">
<img src="https://img.shields.io/badge/NodeJS-≥20.0-blue">
<img src="https://img.shields.io/badge/MySQL-≥8.0-blue">
<img src="https://img.shields.io/badge/Redis-≥7.0-blue">
</p>
</div>
简体中文 | [English](./README.en.md)
## 📚 项目介绍
**Fastapi-Vue3-Admin** 是一套完全开源的快速开发平台,提供免费使用。它结合了现代、高性能的技术栈,旨在帮助开发者快速搭建高质量的中后台系统。项目目录结构如下:
```sh
fastapi_vue_admin
├─ backend # 后端工程
├─ frontend # 前端工程
├─ devops # 部署工程
├─ mkdocs # 文档工程
|─ README.en.md # 英文文档
└─ README.md # 中文文档
```
- **后端**
- **FastAPI**:现代、高性能的异步框架
- **Swagger**:自动生成交互式 API 文档
- **Pydantic**:强制类型约束
- **SQLAlchemy 2.0**:强大的 ORM 库
- **APScheduler**:任务调度
- **前端**
- **Vue3**:现代前端框架
- **Ant Design Vue**:企业级 UI 组件库
- **TypeScript**:静态类型检查
- **Vite**:快速的构建工具
- **权限认证**:使用哈希密码和 JWT Bearer 令牌的 OAuth2
- **权限架构**:基于 RBAC 设计,支持动态权限菜单、按钮级别权限控制、数据级别权限控制
- **开箱即用**:适合新项目启动模板,也可用于学习参考
如果觉得项目不错,欢迎 Star 支持!
## 🍻 项目特点
- 模块化、松耦合
- 模块丰富、开箱即用
- 简洁易用、快速接入
- 文档详尽、易于维护
- 自顶向下、体系化设计
- 统一框架、统一组件、降低选择成本
- 开发规范、设计模式、代码分层模型
- 强大便捷的开发工具链
- 完善的本地中文化支持
- 设计为团队及企业使用
## 📌 内置模块
- **仪表盘**:仪表盘展示,常用功能入口。
- **系统管理**
- **菜单管理**:配置系统菜单,操作权限,按钮权限标识等。
- **部门管理**:配置系统组织机构,树结构展现支持数据权限。
- **岗位管理**:主要管理用户担任岗位。
- **角色管理**:角色菜单管理与权限分配、设置角色所拥有的菜单权限。
- **用户管理**:用于维护管理系统的用户,常规信息的维护与账号设置。
- **日志管理**:对系统中常用的较为固定的数据进行统一维护。
- **配置管理**:主要是系统配置信息,如:系统名称、系统版本、系统描述等。
- **公告管理**:系统通知公告信息发布维护。
- **字典管理**:对系统中常用的较为固定的数据进行统一维护。
- **任务管理**:任务调度,支持定时任务,支持任务日志查看。
- **监控管理**
- **在线用户**:查看当前系统中在线的用户。
- **服务器监控**:查看系统运行状态,包括内存、CPU、磁盘等。
- **缓存监控**:查看系统缓存信息,如:缓存命中率、缓存键值等。
- **公共管理**
- **接口管理**:系统接口维护,如:接口地址、请求方式等。
- **文档管理**:系统接口文档维护,支持在线接口调用。
## 🍪 账号信息
| 账户类型 | 账号 | 密码 |
| :--------- | :----- | :----- |
| **管理员账户** | admin | 123456 |
| **演示账户** | demo | 123456 |
## 👷 安装和使用
### 版本说明
| 类型 | 技术栈 | 版本 |
|----------|------------|------------|
| 后端 | Python | 3.10 |
| 后端 | FastAPI | 0.109 |
| 前端 | Node.js | >= 20.0(推荐使用最新版)|
| 前端 | npm | 16.14 |
| 前端 | Vue3 | 3.3 |
| 数据库 | MySQL | 8.0 (推荐使用最新版)|
| 数据库 | PostgreSQL | 14(其他版本均未测试)|
| 数据库 | MongoDB | 8.0(推荐使用最新版)|
| 中间件 | Redis | 7.0 (推荐使用最新版)|
### 获取代码
```sh
git clone https://gitee.com/tao__tao/fastapi_vue3_admin.git
```
### 后端
1. 安装依赖
```shell
cd backend
pip3 install -r requirements.txt
pip install 遇到UnicodeDecodeError: 'gbk' codec can't decode byte 0xad in position
解决方案:https://www.cnblogs.com/RexTooru/p/17303318.html
```
2. 修改项目数据库配置信息
在`app/config/.env.dev(.env.test、.env.prod)`文件中的`DB_DRIVER`数据库驱动类型,以及对应的数据库的配置信息
3. 创建名为`fastapi_vue_admin`的数据库
4. 初始化数据库数据
```shell
# 进入后端根目录 backend 下运行
# 运行命令后会自动生成数据库内的表和数据
# 如已初始化数据库数据,此命令可不执行
python3 main.py init
```
5. 启动
```shell
# 进入后端根目录 backend 下运行
python3 main.py run
# 修改了模型后需要:重新生成迁移文件,然后应用迁移
# 生成迁移
# python main.py revision "初始化迁移" --env=dev(不加默认为dev)
# 应用迁移
# python main.py upgrade --env=dev(不加默认为dev)
```
### 前端
1. 安装依赖
```shell
cd frontend
npm install
```
2. 运行
```shell
npm run dev
```
3. 打包
```shell
npm run build
```
### 访问项目
- 前端地址:<http://127.0.0.1:5180>
- 账号:`admin` 密码:`123456`
- 接口地址:<http://127.0.0.1:8000/api/v1/docs>
## 🔧 模块展示
<table>
<tr>
<td><img src="./mkdocs/docs/resources/images/login.png"/>登陆</td>
<td><img src="./mkdocs/docs/resources/images/dashboard.png"/>仪表盘</td>
</tr>
<tr>
<td><img src="./mkdocs/docs/resources/images/menu.png"/>菜单管理</td>
<td><img src="./mkdocs/docs/resources/images/dept.png"/>部门管理</td>
</tr>
<tr>
<td><img src="./mkdocs/docs/resources/images/position.png"/>岗位管理</td>
<td><img src="./mkdocs/docs/resources/images/role.png"/>角色管理</td>
</tr>
<tr>
<td><img src="./mkdocs/docs/resources/images/user.png"/>用户管理</td>
<td><img src="./mkdocs/docs/resources/images/log.png"/>日志管理</td>
</tr>
<tr>
<td><img src="./mkdocs/docs/resources/images/config.png"/>配置管理</td>
<td><img src="./mkdocs/docs/resources/images/online.png"/>在线用户管理</td>
</tr>
<tr>
<td><img src="./mkdocs/docs/resources/images/service.png"/>服务器监控</td>
<td><img src="./mkdocs/docs/resources/images/cache.png"/>缓存监控</td>
</tr>
<tr>
<td><img src="./mkdocs/docs/resources/images/job.png"/>任务管理</td>
<td><img src="./mkdocs/docs/resources/images/docs.png"/>接口管理</td>
</tr>
<td><img src="./mkdocs/docs/resources/images/redoc.png"/>文档管理</td>
<td><img src="./mkdocs/docs/resources/images/info.png"/>个人信息</td>
</tr>
</tr>
<td><img src="./mkdocs/docs/resources/images/help.png"/>在线文档</td>
<td><img src="./mkdocs/docs/resources/images/dict.png"/>字典管理</td>
</tr>
</table>
## ✨ 特别鸣谢
感谢以下项目的贡献和支持,使本项目得以顺利完成:
- [FastAPI 项目](https://fastapi.tiangolo.com/)
- [Vue3 项目](https://v3.cn.vuejs.org/)
- [KInit 项目](https://gitee.com/ktianc/kinit)
- [Fastapi-Vue3-Admin 项目](https://gitee.com/senqi666/fastapi-vue-admin)
- [Vue-FastAPI-Admin 项目](https://gitee.com/mizhexiaoxiao/vue-fastapi-admin)
- [RuoYi-Vue3-FastAPI 项目](https://gitee.com/insistence2022/RuoYi-Vue3-FastAPI)
- [APScheduler 项目](https://github.com/agronholm/apscheduler)
## 🎨 微信群
在下方为群二维码,可以用于技术交流,也可以一起讨论在项目使用过程中遇到的各种问题。真心希望大家一起优化该项目,积极讨论,让我们一起抱团取暖!
### 群二维码
<table>
<tr>
<td><img src="./mkdocs/docs/resources/images/微信.jpg"/></td>
<td><img src="./mkdocs/docs/resources/images/微信群.jpg"/></td>
<td><img src="./mkdocs/docs/resources/images/wechatPay.jpg"/></td>
</tr>
</table>