Merge pull request #72 from 1014TaoTao/dev

docs: 更新项目文档和资源文件
This commit is contained in:
1014TaoTao
2025-06-09 23:54:31 +08:00
committed by GitHub
10 changed files with 274 additions and 393 deletions
+111 -144
View File
@@ -1,50 +1,28 @@
<p align="center"> <div align="center">
<img src="https://capsule-render.vercel.app/api?type=waving&color=timeGradient&height=256&&section=header&text=Fastapi%20Vue3%20Admin&fontSize=90&fontAlign=50&fontAlignY=28&desc=A modern, open-source, full-stack integrated rapid development platform for middle and back-office applications, give us a ⭐️ to show your support!%F0%9F%98%81&descAlign=50&descSize=0&descAlignY=56&animation=twinkling" /> <p align="center">
</p> <img src="./backend/docs/resources/logo.png" width="100"/>
<p align="center"> </p>
<img src="./backend/docs/resources/header.gif" width="200"/> <h2 align="center">Fastapi-Vue3-Admin v1.0.0</h2>
</p> <h4 align="center">A modern, open-source, full-stack integrated rapid development platform for mid - and back - end systems. Give a ⭐️ to support!</h4>
<p align="center"> <p align="center">
<img width="700" src="https://readme-typing-svg.demolab.com?font=LXGW+WenKai+TC&size=25&pause=1000&center=true&vCenter=true&random=false&width=600&lines=Welcome to my GitHub homepage!"/> <a href="https://gitee.com/tao__tao/fastapi_vue3_admin.git" target="_blank">
</p> <img src="https://gitee.com/tao__tao/fastapi_vue3_admin/badge/star.svg?theme=dark" alt="Gitee Stars">
</a>
<p align="center"> <a href="https://github.com/1014TaoTao/fastapi_vue3_admin.git" target="_blank">
<a href="https://gitee.com/tao__tao/fastapi_vue3_admin.git" target="_blank"> <img src="https://img.shields.io/github/stars/1014TaoTao/fastapi_vue3_admin?style=social" alt="GitHub Stars">
<img src="https://gitee.com/tao__tao/fastapi_vue3_admin/badge/star.svg?theme=dark" alt="Gitee Stars"> </a>
</a> <a href="https://gitee.com/tao__tao/fastapi_vue3_admin/blob/master/LICENSE" target="_blank">
<a href="https://github.com/1014TaoTao/fastapi_vue3_admin.git" target="_blank"> <img src="https://img.shields.io/badge/License-MIT-orange" alt="License">
<img src="https://img.shields.io/github/stars/1014TaoTao/fastapi_vue3_admin?style=social" alt="GitHub Stars"> </a>
</a> <img src="https://img.shields.io/badge/Python-≥3.10-blue">
<a href="https://gitee.com/tao__tao/fastapi_vue3_admin/blob/master/LICENSE" target="_blank"> <img src="https://img.shields.io/badge/NodeJS-≥20.0-blue">
<img src="https://img.shields.io/badge/License-MIT-orange" alt="License"> <img src="https://img.shields.io/badge/MySQL-≥8.0-blue">
</a> <img src="https://img.shields.io/badge/Redis-≥7.0-blue">
<img src="https://img.shields.io/badge/Python-≥3.10-blue"> <img src="https://img.shields.io/badge/-HTML5-E34F26?style=flat-square&logo=html5&logoColor=white"/>
<img src="https://img.shields.io/badge/NodeJS-≥20.0-blue"> <img src="https://img.shields.io/badge/-CSS3-1572B6?style=flat-square&logo=css3"/>
<img src="https://img.shields.io/badge/MySQL-≥8.0-blue"> <img src="https://img.shields.io/badge/-JavaScript-563D7C?style=flat-square&logo=bootstrap"/>
<img src="https://img.shields.io/badge/Redis-≥7.0-blue"> </p>
<img src="https://img.shields.io/badge/-HTML5-E34F26?style=flat-square&logo=html5&logoColor=white"/> </div>
<img src="https://img.shields.io/badge/-CSS3-1572B6?style=flat-square&logo=css3"/>
<img src="https://img.shields.io/badge/-JavaScript-563D7C?style=flat-square&logo=bootstrap"/>
</p>
# 📊 GitHub Data Statistics (Author: @1014TaoTao)
<table align="center">
<tr>
<td>
<img height="200px" width="auto" src="https://github-readme-stats.vercel.app/api?username=1014TaoTao&show_icons=true&theme=dracula">
</td>
<td>
<img height="200px" width="auto" src="https://github-readme-stats.vercel.app/api/top-langs/?username=1014TaoTao&layout=compact&theme=dracula">
</td>
<td>
<img height="200px" width="auto" src="https://github-readme-streak-stats.herokuapp.com/?user=1014TaoTao&theme=dracula">
</td>
</tr>
</table>
<p align="center">
<img src="https://github-readme-activity-graph.vercel.app/graph?username=1014TaoTao&theme=dracula&hide_border=true&area=true&custom_title=Activity%20Graph" alt="Activity Graph" title="Activity Graph" />
</p>
--- ---
@@ -52,21 +30,21 @@ English | [Chinese](./README.md)
--- ---
## 📘 Project Introduction ## 📘 Project Introduction (Author: @1014TaoTao)
**Fastapi-Vue3-Admin** is a **fully open-source, highly modular, and technologically advanced modern rapid development platform**, designed to help developers efficiently build high-quality enterprise-level middle and back-office systems. This project adopts a **front-end and back-end decoupled architecture**, integrating the Python backend framework `FastAPI` and the mainstream frontend framework `Vue3` to achieve unified multi-terminal development, providing an all-in-one, out-of-the-box development experience. **Fastapi-Vue3-Admin** is a **completely open-source, highly modular, and technologically advanced modern rapid development platform**. Its aim is to help developers efficiently build high-quality enterprise-level mid - and back - end systems. This project adopts a **front - end and back - end separation architecture**, integrating the Python back - end framework `FastAPI` and the mainstream front - end framework `Vue3` to achieve unified development across multiple terminals, providing a one - stop out - of - the - box development experience.
> **Design Philosophy**: Centered around modularity and loose coupling, it aims to offer rich functional modules, simple and easy-to-use interfaces, comprehensive development documentation, and convenient maintenance methods. By leveraging a unified framework and components, it reduces technology selection costs, follows development specifications and design patterns, builds a robust code layering model, and is equipped with comprehensive localized Chinese support—specifically tailored for team and enterprise development scenarios. > **Original Design Concept**: With modularity and loose coupling at its core, it pursues rich functional modules, simple and easy - to - use interfaces, detailed development documentation, and convenient maintenance methods. By unifying frameworks and components, it reduces the cost of technology selection, follows development specifications and design patterns, builds a powerful code hierarchical model, and comes with comprehensive local Chinese support. It is specifically tailored for team and enterprise development scenarios.
```sh ```sh
fastapi_vue3_admin fastapi_vue3_admin
├─ backend # Backend project ├─ backend # Backend project
├─ frontend # Frontend project ├─ frontend # Frontend project
├─ devops # Deployment project ├─ devops # Deployment project
├─ docker-compose.yaml # Deployment configuration file ├─ docker-compose.yaml # Deployment file
├─ start.sh # One-click deployment script ├─ start.sh # One-click deployment script
├─ LICENSE # License agreement ├─ LICENSE # License agreement
├─ README.en.md # English documentation |─ README.en.md # English documentation
└─ README.md # Chinese documentation └─ README.md # Chinese documentation
``` ```
@@ -75,76 +53,77 @@ fastapi_vue3_admin
## ✨ Core Highlights ## ✨ Core Highlights
| Feature | Description | | Feature | Description |
| ------ | ----------- | | ---- | ---- |
| 🔭 Rapid Development | A fully open-source modern rapid development platform designed to help developers efficiently build high-quality middle and back-office systems. | | 🔭 Rapid Development | A completely open-source modern rapid development platform designed to help developers efficiently build high-quality mid- and back-end systems. |
| 🌐 Full-Stack Integration | Frontend and backend decoupled architecture, integrating Python (FastAPI), and Vue3 for multi-terminal development. | | 🌐 Full-stack Integration | Front-end and back-end separation, integrating Python (FastAPI) + Vue3 for multi-terminal development. |
| 🧱 Modular Design | Highly decoupled system functions, easy to extend and maintain. | | 🧱 Modular Design | Highly decoupled system functions, facilitating easy expansion and maintenance. |
| ⚡ High-Performance Asynchronous | Optimized interface response speed using the FastAPI asynchronous framework and Redis caching. | | ⚡️ High-performance Asynchronous | Uses the FastAPI asynchronous framework + Redis cache to optimize API response speed. |
| 🔒 Secure Authentication | Supports JWT OAuth2 authentication mechanisms to ensure system security. | | 🔒 Secure Authentication | Supports the JWT OAuth2 authentication mechanism to ensure system security. |
| 📊 Permission Management | Implements fine-grained permission control at the menu, button, and data levels using the RBAC model. | | 📊 Permission Management | The RBAC model enables fine-grained permission control at the menu, button, and data levels. |
| 🚀 Quick Deployment | Supports one-click deployment with Docker, Docker Compose, and Nginx. | | 🚀 Rapid Deployment | Supports one-click deployment with Docker/Docker Compose/Nginx. |
| 📄 Developer-Friendly | Provides comprehensive Chinese documentation, localized interface, and visual toolchains to reduce learning costs. | | 📄 Developer-friendly | Provides comprehensive Chinese documentation, a Chinese interface, and a visual toolchain to reduce the learning curve. |
| 🚀 Easy Integration | Ready-to-use with mainstream frontend technology stacks such as Vue3, Vite5, Pinia, and Ant Design Vue | | 🚀 Quick Access | Based on mainstream front-end technology stacks such as Vue3, Vite5, Pinia, and Ant Design Vue, it's ready to use out of the box. |
--- ---
## 🛠️ Technology Stack Overview ## 🛠️ Technology Stack Overview
| Type | Technology Selection | Description | | Type | Technology Selection | Description |
|--------------|------------------------------------------|--------------------------------------------------| |----------|---------------------------------|---------------------------------|
| Backend Framework | FastAPI / Uvicorn / Pydantic 2.0 / Alembic | Modern, high-performance asynchronous framework with strict type constraints and data migration support. | | Backend Framework | FastAPI / Uvicorn / Pydantic 2.0 / Alembic | A modern, high-performance asynchronous framework with enforced type constraints and data migration capabilities. |
| ORM | SQLAlchemy 2.0 | Powerful ORM library. | | ORM | SQLAlchemy 2.0 | A powerful ORM library. |
| Task Scheduling | APScheduler | Easily implement scheduled tasks. | | Scheduled Tasks | APScheduler | Easily implement scheduled tasks. |
| Authentication | PyJWT | Implements JWT-based authentication. | | Authentication | PyJWT | Implement JWT authentication. |
| Frontend Framework | Vue3 / Vite5 / Pinia / TypeScript | Rapid development of Vue3 applications. | | Frontend Framework | Vue3 / Vite5 / Pinia / TypeScript | Quickly develop Vue3 applications. |
| UI Library | Ant Design Vue | Quickly build visually appealing UI components. | | UI Library | Ant Design Vue | Quickly develop beautiful UI components. |
| Database | MySQL / MongoDB | Powerful database systems. | | Database | MySQL / MongoDB | Powerful databases. |
| Caching | Redis | High-performance caching database. | | Cache | Redis | A powerful caching database. |
| Documentation | Swagger / Redoc | Automatically generates API documentation. | | Documentation | Swagger / Redoc | Automatically generate API documentation. |
| Deployment | Docker / Nginx / Docker Compose | Rapid project deployment. | | Deployment | Docker / Nginx / Docker Compose | Quickly deploy projects. |
--- ---
## 📌 Built-in Modules ## 📌 Built-in Modules
| Module Name | Submodules | Description | | Module Name | Sub-module Name | Description |
|-----------------|-------------------------------------|----------------------------------| |----------|---------------------|---------------------|
| Dashboard | Workspace, Analytics Page | Common functional entry points | | Dashboard | Workbench, Analysis Page | Entry for commonly used functions |
| System Management | Menus, Departments, Positions, Roles, Users, Logs, Configurations, Announcements, Dictionaries, Tasks | Core system functionality | | System Management | Includes sub-modules such as menu, department, position, role, user, log, configuration, announcement, dictionary, and task | Main system functions |
| Monitoring Management | Online Users, Server Monitoring, Cache Monitoring | System monitoring and management features | | Monitoring Management | Online users, server monitoring, cache monitoring | System monitoring and management functions |
| Public Management | API Management, Documentation Management | Project API documentation management | | Public Management | Interface management, document management | Project interface documentation |
--- ---
## 🍪 Demo Environment ## 🍪 Demo Environment
- **Demo URL**: <http://service.fastapiadmin.com> - Demo URL: <http://service.fastapiadmin.com>
- **Admin Account**: `admin` / Password: `123456` - Administrator account: `admin` Password: `123456`
- **Demo Account**: `demo` / Password: `123456` - Demo account: `demo` Password: `123456`
--- ---
## 👷 Installation and Usage ## 👷 Installation and Usage
### Version Details ### Version Information
| Type | Technology Stack | Version | | Type | Technology Stack | Version |
|------------|------------------|-----------------------------------------| |----------|----------------------|---------------|
| Backend | Python | 3.10 (Versions above 3.10 may cause compatibility issues; upgrade is not planned for now) | | Backend | Python | 3.10 (Versions greater than 3.10 may have compatibility issues. Upgrades will be considered in the future, but not for now.) |
| Backend | FastAPI | 0.109 | | Backend | FastAPI | 0.109 |
| Frontend | Node.js | >= 20.0 (latest version recommended) | | Frontend | Node.js | >= 20.0 (It is recommended to use the latest version.) |
| Frontend | npm | 16.14 | | Frontend | npm | 16.14 |
| Frontend | Vue3 | 3.3 | | Frontend | Vue3 | 3.3 |
| Database | MySQL | 8.0 (latest version recommended) | | Database | MySQL | 8.0 (It is recommended to use the latest version.) |
| Middleware | Redis | 7.0 (latest version recommended) | | Middleware | Redis | 7.0 (It is recommended to use the latest version.) |
--- ---
### Getting the Code ### Get Code
```sh ```sh
# Clone Code to Local Machine # Clone the code to your local machine
git clone https://gitee.com/tao__tao/fastapi_vue3_admin.git git clone https://gitee.com/tao__tao/fastapi_vue3_admin.git
or 或
git clone https://github.com/1014TaoTao/fastapi_vue3_admin.git git clone https://github.com/1014TaoTao/fastapi_vue3_admin.git
``` ```
@@ -153,22 +132,18 @@ git clone https://github.com/1014TaoTao/fastapi_vue3_admin.git
### Local Backend Startup ### Local Backend Startup
```sh ```sh
# Navigate to the backend project directory # Enter the backend project directory
cd backend cd backend
# Install dependencies # Install dependencies
pip3 install -r requirements.txt pip3 install -r requirements.txt
# Start the backend service # Start the backend service
python3 main.py run python3 main.py run
or or
python3 main.py run --env=dev python3 main.py run --env=dev
# Generate migration files
# Generate migration file (default environment is 'dev' if not specified) python3 main.py revision "Initial migration" --env=dev (default is dev if not specified)
python3 main.py revision "Initial migration" --env=dev # Apply migrations
python3 main.py upgrade --env=dev (default is dev if not specified)
# Apply migration (default environment is 'dev' if not specified)
python3 main.py upgrade --env=dev
``` ```
--- ---
@@ -176,66 +151,62 @@ python3 main.py upgrade --env=dev
### Local Frontend Startup ### Local Frontend Startup
```sh ```sh
# 进入前端工程目录 # Enter the frontend project directory
cd frontend cd frontend
# Install dependencies
# 安装依赖
npm install npm install
# Start the frontend service
# 启动前端服务
npm run dev npm run dev
# Build the frontend and generate the `frontend/dist` directory
# 构建前端, 生成 `frontend/dist` 目录
npm run build npm run build
``` ```
--- ---
### Local Access Addresses ### Local Access Address
- Frontend Address: <http://127.0.0.1:5180> - Frontend address: <http://127.0.0.1:5180>
- API Address: <http://127.0.0.1:8001/api/v1/docs> - API address: <http://127.0.0.1:8001/api/v1/docs>
- Admin Account: `admin` Password: `123456` - Administrator account: `admin` Password: `123456`
- Demo Account: `demo` Password: `123456` - Demo account: `demo` Password: `123456`
--- ---
### Docker Deployment ### Docker Build
```sh ```sh
# Copy the script `fastapi_vue3_amdin/start.sh` to the server and grant execution permissions # Copy the script `fastapi_vue3_admin/start.sh` to the server and grant execution permissions
chmod +x start.sh chmod +x start.sh
# Execute the script # Execute the script
./start.sh ./start.sh
# View images: # View images:
docker images -a docker images -a
# View containers: # View containers:
docker compose ps docker compose ps
# View logs # View logs
docker logs -f <Container name> docker logs -f <Container Name>
# Stop the service # Stop the service
docker compose down docker compose down
# Delete an image # Delete an image
docker rmi <Image name> docker rmi <Image Name>
# Delete a container # Delete a container
docker rm <Container name> docker rm <Container Name>
``` # Backend configuration file directory
fastapi_vue3_admin/backend/env/.env.prod.py
# Frontend configuration file directory
fastapi_vue3_admin/frontend/vite.config.ts
and
fastapi_vue3_admin/frontend/.env.production
# Deployment file directory
fastapi_vue3_admin/docker-compose.yaml
and
fastapi_vue3_admin/devops/devops/nginx/nginx.conf
- **Deployment Issue Troubleshooting**: ```
- Backend configuration file `fastapi_vue3_admin/backend/env/.env.prod.py`
- Frontend configuration files `fastapi_vue3_admin/frontend/vite.config.ts` and `fastapi_vue3_admin/frontend/.env.production`
- Deployment files `fastapi_vue3_admin/docker-compose.yaml` and `fastapi_vue3_admin/devops/devops/nginx/nginx.conf`
--- ---
## 🔧 Module Display ## 🔧 Models
<table> <table>
<tr> <tr>
@@ -259,7 +230,7 @@ docker rm <Container name>
<tr> <tr>
<td><img src="./backend/docs/resources/job.png"/>Task Management</td> <td><img src="./backend/docs/resources/job.png"/>Task Management</td>
<td><img src="./backend/docs/resources/docs.png"/>API Management</td> <td><img src="./backend/docs/resources/docs.png"/>API Management</td>
<td><img src="./backend/docs/resources/redoc.png"/>Documentation Management</td> <td><img src="./backend/docs/resources/redoc.png"/>Document Management</td>
<td><img src="./backend/docs/resources/info.png"/>Personal Information</td> <td><img src="./backend/docs/resources/info.png"/>Personal Information</td>
</tr> </tr>
<tr> <tr>
@@ -270,7 +241,7 @@ docker rm <Container name>
--- ---
## 🙏 Special Thanks ## 🙏 Thanks
Thanks to the contributions and support of the following projects, which have enabled the successful completion of this project: Thanks to the contributions and support of the following projects, which have enabled the successful completion of this project:
@@ -297,18 +268,14 @@ Thanks to the contributions and support of the following projects, which have en
--- ---
## ❤️ Star Me ## ❤️ Star
If you like this project, please give me a ⭐️ Star to show your support! Thank you very much! If you like this project, please give it a ⭐️ Star to show your support! Thank you very much!
--- ---
## 👀 访问统计 ## 👀 Visitor Statistics
![Visitor Count](https://profile-counter.glitch.me/1014TaoTao/count.svg) ![Visitor Count](https://profile-counter.glitch.me/1014TaoTao/count.svg)
--- ---
<p align="center">
<img src="https://capsule-render.vercel.app/api?type=waving&color=timeGradient&height=260&&section=footer&text=Thank you&fontSize=90&fontAlign=50&fontAlignY=78&desc=It's not too much to ask for a%20star ⭐️&descAlign=50&descSize=30&descAlignY=46&animation=twinkling" />
</p>
+37 -57
View File
@@ -1,50 +1,28 @@
<p align="center"> <div align="center">
<img src="https://capsule-render.vercel.app/api?type=waving&color=timeGradient&height=256&&section=header&text=Fastapi%20Vue3%20Admin&fontSize=90&fontAlign=50&fontAlignY=28&desc=一套现代、开源、全栈融合的中后台快速开发平台,给个⭐️支持一下%F0%9F%98%81&descAlign=50&descSize=0&descAlignY=56&animation=twinkling" /> <p align="center">
</p> <img src="./backend/docs/resources/logo.png" width="100"/>
<p align="center"> </p>
<img src="./backend/docs/resources/header.gif" width="200"/> <h2 align="center">Fastapi-Vue3-Admin v1.0.0</h2>
</p> <h4 align="center">一套现代、开源、全栈融合的中后台快速开发平台,给个⭐️支持一下</h4>
<p align="center"> <p align="center">
<img width="700" src="https://readme-typing-svg.demolab.com?font=LXGW+WenKai+TC&size=25&pause=1000&center=true&vCenter=true&random=false&width=600&lines=欢迎来到我的GitHub主页!"/> <a href="https://gitee.com/tao__tao/fastapi_vue3_admin.git" target="_blank">
</p> <img src="https://gitee.com/tao__tao/fastapi_vue3_admin/badge/star.svg?theme=dark" alt="Gitee Stars">
</a>
<p align="center"> <a href="https://github.com/1014TaoTao/fastapi_vue3_admin.git" target="_blank">
<a href="https://gitee.com/tao__tao/fastapi_vue3_admin.git" target="_blank"> <img src="https://img.shields.io/github/stars/1014TaoTao/fastapi_vue3_admin?style=social" alt="GitHub Stars">
<img src="https://gitee.com/tao__tao/fastapi_vue3_admin/badge/star.svg?theme=dark" alt="Gitee Stars"> </a>
</a> <a href="https://gitee.com/tao__tao/fastapi_vue3_admin/blob/master/LICENSE" target="_blank">
<a href="https://github.com/1014TaoTao/fastapi_vue3_admin.git" target="_blank"> <img src="https://img.shields.io/badge/License-MIT-orange" alt="License">
<img src="https://img.shields.io/github/stars/1014TaoTao/fastapi_vue3_admin?style=social" alt="GitHub Stars"> </a>
</a> <img src="https://img.shields.io/badge/Python-≥3.10-blue">
<a href="https://gitee.com/tao__tao/fastapi_vue3_admin/blob/master/LICENSE" target="_blank"> <img src="https://img.shields.io/badge/NodeJS-≥20.0-blue">
<img src="https://img.shields.io/badge/License-MIT-orange" alt="License"> <img src="https://img.shields.io/badge/MySQL-≥8.0-blue">
</a> <img src="https://img.shields.io/badge/Redis-≥7.0-blue">
<img src="https://img.shields.io/badge/Python-≥3.10-blue"> <img src="https://img.shields.io/badge/-HTML5-E34F26?style=flat-square&logo=html5&logoColor=white"/>
<img src="https://img.shields.io/badge/NodeJS-≥20.0-blue"> <img src="https://img.shields.io/badge/-CSS3-1572B6?style=flat-square&logo=css3"/>
<img src="https://img.shields.io/badge/MySQL-≥8.0-blue"> <img src="https://img.shields.io/badge/-JavaScript-563D7C?style=flat-square&logo=bootstrap"/>
<img src="https://img.shields.io/badge/Redis-≥7.0-blue"> </p>
<img src="https://img.shields.io/badge/-HTML5-E34F26?style=flat-square&logo=html5&logoColor=white"/> </div>
<img src="https://img.shields.io/badge/-CSS3-1572B6?style=flat-square&logo=css3"/>
<img src="https://img.shields.io/badge/-JavaScript-563D7C?style=flat-square&logo=bootstrap"/>
</p>
# 📊 GitHub 数据统计(作者:@1014TaoTao)
<table align="center">
<tr>
<td>
<img height="200px" width="auto" src="https://github-readme-stats.vercel.app/api?username=1014TaoTao&show_icons=true&theme=dracula">
</td>
<td>
<img height="200px" width="auto" src="https://github-readme-stats.vercel.app/api/top-langs/?username=1014TaoTao&layout=compact&theme=dracula">
</td>
<td>
<img height="200px" width="auto" src="https://github-readme-streak-stats.herokuapp.com/?user=1014TaoTao&theme=dracula">
</td>
</tr>
</table>
<p align="center">
<img src="https://github-readme-activity-graph.vercel.app/graph?username=1014TaoTao&theme=dracula&hide_border=true&area=true&custom_title=Activity%20Graph" alt="Activity Graph" title="Activity Graph" />
</p>
--- ---
@@ -52,7 +30,7 @@
--- ---
## 📘 项目介绍 ## 📘 项目介绍(作者:@1014TaoTao)
**Fastapi-Vue3-Admin** 是一套 **完全开源、高度模块化、技术先进的现代化快速开发平台**,旨在帮助开发者高效搭建高质量的企业级中后台系统。该项目采用 **前后端分离架构**,融合 Python 后端框架 `FastAPI` 和前端主流框架 `Vue3` 实现多端统一开发,提供了一站式开箱即用的开发体验。 **Fastapi-Vue3-Admin** 是一套 **完全开源、高度模块化、技术先进的现代化快速开发平台**,旨在帮助开发者高效搭建高质量的企业级中后台系统。该项目采用 **前后端分离架构**,融合 Python 后端框架 `FastAPI` 和前端主流框架 `Vue3` 实现多端统一开发,提供了一站式开箱即用的开发体验。
@@ -213,12 +191,18 @@ docsker compose down
docker rmi <镜像名> docker rmi <镜像名>
# 删除容器 # 删除容器
docker rm <容器名> docker rm <容器名>
``` # 后端配置文件目录
fastapi_vue3_amdin/backend/env/.env.prod.py
# 前端配置文件目录
fastapi_vue3_amdin/frontend/vite.config.ts
和
fastapi_vue3_amdin/frontend/.env.production
# 部署文件目录
fastapi_vue3_amdin/docker-compose.yaml
和
fastapi_vue3_amdin/devops/devops/nginx/nginx.conf
- **部署问题排查**: ```
- 后端配置文件 `fastapi_vue3_amdin/backend/env/.env.prod.py`
- 前端配置文件 `fastapi_vue3_amdin/frontend/vite.config.ts` 和 `fastapi_vue3_amdin/frontend/.env.production`
- 部署文件 `fastapi_vue3_amdin/docker-compose.yaml` 和 `fastapi_vue3_amdin/devops/devops/nginx/nginx.conf`
--- ---
@@ -295,7 +279,3 @@ docker rm <容器名>
![Visitor Count](https://profile-counter.glitch.me/1014TaoTao/count.svg) ![Visitor Count](https://profile-counter.glitch.me/1014TaoTao/count.svg)
--- ---
<p align="center">
<img src="https://capsule-render.vercel.app/api?type=waving&color=timeGradient&height=260&&section=footer&text=感谢&fontSize=90&fontAlign=50&fontAlignY=78&desc=给个%20star ⭐️ %20不过分吧&descAlign=50&descSize=30&descAlignY=46&animation=twinkling" />
</p>
+46 -76
View File
@@ -1,56 +1,34 @@
<p align="center"> <div align="center">
<img src="https://capsule-render.vercel.app/api?type=waving&color=timeGradient&height=256&&section=header&text=Fastapi%20Vue3%20Admin&fontSize=90&fontAlign=50&fontAlignY=28&desc=一套现代、开源、全栈融合的中后台快速开发平台,给个⭐️支持一下%F0%9F%98%81&descAlign=50&descSize=0&descAlignY=56&animation=twinkling" /> <p align="center">
</p> <img src="https://gitee.com/tao__tao/fastapi_vue3_admin/raw/master/backend/docs/resources/logo.png" width="100"/>
<p align="center"> </p>
<img src="https://gitee.com/tao__tao/fastapi_vue3_admin/raw/master/backend/docs/resources/header.gif" width="200"/> <h2 align="center">Fastapi-Vue3-Admin v1.0.0</h2>
</p> <h4 align="center">一套现代、开源、全栈融合的中后台快速开发平台,给个⭐️支持一下</h4>
<p align="center"> <p align="center">
<img width="700" src="https://readme-typing-svg.demolab.com?font=LXGW+WenKai+TC&size=25&pause=1000&center=true&vCenter=true&random=false&width=600&lines=欢迎来到我的GitHub主页!"/> <a href="https://gitee.com/tao__tao/fastapi_vue3_admin.git" target="_blank">
</p> <img src="https://gitee.com/tao__tao/fastapi_vue3_admin/badge/star.svg?theme=dark" alt="Gitee Stars">
</a>
<p align="center"> <a href="https://github.com/1014TaoTao/fastapi_vue3_admin.git" target="_blank">
<a href="https://gitee.com/tao__tao/fastapi_vue3_admin.git" target="_blank"> <img src="https://img.shields.io/github/stars/1014TaoTao/fastapi_vue3_admin?style=social" alt="GitHub Stars">
<img src="https://gitee.com/tao__tao/fastapi_vue3_admin/badge/star.svg?theme=dark" alt="Gitee Stars"> </a>
</a> <a href="https://gitee.com/tao__tao/fastapi_vue3_admin/blob/master/LICENSE" target="_blank">
<a href="https://github.com/1014TaoTao/fastapi_vue3_admin.git" target="_blank"> <img src="https://img.shields.io/badge/License-MIT-orange" alt="License">
<img src="https://img.shields.io/github/stars/1014TaoTao/fastapi_vue3_admin?style=social" alt="GitHub Stars"> </a>
</a> <img src="https://img.shields.io/badge/Python-≥3.10-blue">
<a href="https://gitee.com/tao__tao/fastapi_vue3_admin/blob/master/LICENSE" target="_blank"> <img src="https://img.shields.io/badge/NodeJS-≥20.0-blue">
<img src="https://img.shields.io/badge/License-MIT-orange" alt="License"> <img src="https://img.shields.io/badge/MySQL-≥8.0-blue">
</a> <img src="https://img.shields.io/badge/Redis-≥7.0-blue">
<img src="https://img.shields.io/badge/Python-≥3.10-blue"> <img src="https://img.shields.io/badge/-HTML5-E34F26?style=flat-square&logo=html5&logoColor=white"/>
<img src="https://img.shields.io/badge/NodeJS-≥20.0-blue"> <img src="https://img.shields.io/badge/-CSS3-1572B6?style=flat-square&logo=css3"/>
<img src="https://img.shields.io/badge/MySQL-≥8.0-blue"> <img src="https://img.shields.io/badge/-JavaScript-563D7C?style=flat-square&logo=bootstrap"/>
<img src="https://img.shields.io/badge/Redis-≥7.0-blue"> </p>
<img src="https://img.shields.io/badge/-HTML5-E34F26?style=flat-square&logo=html5&logoColor=white"/> </div>
<img src="https://img.shields.io/badge/-CSS3-1572B6?style=flat-square&logo=css3"/>
<img src="https://img.shields.io/badge/-JavaScript-563D7C?style=flat-square&logo=bootstrap"/>
</p>
# 📊 GitHub 数据统计(作者:@1014TaoTao)
<table align="center">
<tr>
<td>
<img height="200px" width="auto" src="https://github-readme-stats.vercel.app/api?username=1014TaoTao&show_icons=true&theme=dracula">
</td>
<td>
<img height="200px" width="auto" src="https://github-readme-stats.vercel.app/api/top-langs/?username=1014TaoTao&layout=compact&theme=dracula">
</td>
<td>
<img height="200px" width="auto" src="https://github-readme-streak-stats.herokuapp.com/?user=1014TaoTao&theme=dracula">
</td>
</tr>
</table>
<p align="center">
<img src="https://github-readme-activity-graph.vercel.app/graph?username=1014TaoTao&theme=dracula&hide_border=true&area=true&custom_title=Activity%20Graph" alt="Activity Graph" title="Activity Graph" />
</p>
--- ---
## 📘 项目介绍 ## 📘 项目介绍(作者:@1014TaoTao)
**Fastapi-Vue3-Admin** 是一套 **完全开源、高度模块化、技术先进的现代化快速开发平台**,旨在帮助开发者高效搭建高质量的企业级中后台系统。该项目采用 **前后端分离架构**,融合 Python 后端框架 `FastAPI` 和前端主流框架 `Vue3`,实现多端统一开发,提供了一站式开箱即用的开发体验。 **Fastapi-Vue3-Admin** 是一套 **完全开源、高度模块化、技术先进的现代化快速开发平台**,旨在帮助开发者高效搭建高质量的企业级中后台系统。该项目采用 **前后端分离架构**,融合 Python 后端框架 `FastAPI` 和前端主流框架 `Vue3` 实现多端统一开发,提供了一站式开箱即用的开发体验。
> **设计初心**: 以模块化、松耦合为核心,追求丰富的功能模块、简洁易用的接口、详尽的开发文档和便捷的维护方式。通过统一框架和组件,降低技术选型成本,遵循开发规范和设计模式,构建强大的代码分层模型,搭配完善的本地中文化支持,专为团队和企业开发场景量身定制。 > **设计初心**: 以模块化、松耦合为核心,追求丰富的功能模块、简洁易用的接口、详尽的开发文档和便捷的维护方式。通过统一框架和组件,降低技术选型成本,遵循开发规范和设计模式,构建强大的代码分层模型,搭配完善的本地中文化支持,专为团队和企业开发场景量身定制。
@@ -73,7 +51,7 @@ fastapi_vue3_admin
| 特性 | 描述 | | 特性 | 描述 |
| ---- | ---- | | ---- | ---- |
| 🔭 快速开发 |一套完全开源的现代化快速开发平台,旨在帮助开发者高效搭建高质量的中后台系统。| | 🔭 快速开发 |一套完全开源的现代化快速开发平台,旨在帮助开发者高效搭建高质量的中后台系统。|
| 🌐 全栈整合 | 前后端分离,融合 Python (FastAPI) + Vue3 | | 🌐 全栈整合 | 前后端分离,融合 Python (FastAPI) + Vue3 多端开发 |
| 🧱 模块化设计 | 系统功能高度解耦,便于扩展和维护 | | 🧱 模块化设计 | 系统功能高度解耦,便于扩展和维护 |
| ⚡️ 高性能异步 | 使用 FastAPI 异步框架 + Redis 缓存优化接口响应速度 | | ⚡️ 高性能异步 | 使用 FastAPI 异步框架 + Redis 缓存优化接口响应速度 |
| 🔒 安全认证 | 支持 JWT OAuth2 认证机制,保障系统安全 | | 🔒 安全认证 | 支持 JWT OAuth2 认证机制,保障系统安全 |
@@ -93,7 +71,7 @@ fastapi_vue3_admin
| 定时任务 | APScheduler | 轻松实现定时任务。 | | 定时任务 | APScheduler | 轻松实现定时任务。 |
| 权限认证 | PyJWT | 实现 JWT 认证。 | | 权限认证 | PyJWT | 实现 JWT 认证。 |
| 前端框架 | Vue3 / Vite5 / Pinia / TypeScript | 快速开发 Vue3 应用。 | | 前端框架 | Vue3 / Vite5 / Pinia / TypeScript | 快速开发 Vue3 应用。 |
| UI 库 | Ant Design Vue | 快速开发美观的 UI 组件。 | | UI 库 | Ant Design Vue | 快速开发美观的 UI 组件。 |
| 数据库 | MySQL / MongoDB | 强大的数据库。 | | 数据库 | MySQL / MongoDB | 强大的数据库。 |
| 缓存 | Redis | 强大的缓存数据库。 | | 缓存 | Redis | 强大的缓存数据库。 |
| 文档 | Swagger / Redoc | 自动生成 API 文档。 | | 文档 | Swagger / Redoc | 自动生成 API 文档。 |
@@ -109,7 +87,6 @@ fastapi_vue3_admin
| 系统管理 | 包含菜单、部门、岗位、角色、用户、日志、配置、公告、字典、任务等子模块|系统主功能 | | 系统管理 | 包含菜单、部门、岗位、角色、用户、日志、配置、公告、字典、任务等子模块|系统主功能 |
| 监控管理 | 在线用户、服务器监控、缓存监控 |系统监控管理功能 | | 监控管理 | 在线用户、服务器监控、缓存监控 |系统监控管理功能 |
| 公共管理 | 接口管理、文档管理|项目接口文档 | | 公共管理 | 接口管理、文档管理|项目接口文档 |
| App 端 | 首页、工作台、个人中心|移动端应用管理 |
--- ---
@@ -185,7 +162,6 @@ npm run build
### 本地访问地址 ### 本地访问地址
- 前端地址: <http://127.0.0.1:5180> - 前端地址: <http://127.0.0.1:5180>
- 小程序地址: <http://127.0.0.1:5181>
- 接口地址: <http://127.0.0.1:8001/api/v1/docs> - 接口地址: <http://127.0.0.1:8001/api/v1/docs>
- 管理员账号:`admin` 密码:`123456` - 管理员账号:`admin` 密码:`123456`
- 演示账号:`demo` 密码:`123456` - 演示账号:`demo` 密码:`123456`
@@ -198,11 +174,7 @@ npm run build
# 复制脚本 `fastapi_vue3_amdin/start.sh` 脚本文件到服务器, 并赋予执行权限 # 复制脚本 `fastapi_vue3_amdin/start.sh` 脚本文件到服务器, 并赋予执行权限
chmod +x start.sh chmod +x start.sh
# 执行脚本 # 执行脚本
https://gitee.com/tao__tao/fastapi_vue3_admin/raw/master/backend/docs/start.sh ./start.sh
# 访问地址
# 前端访问: `http://公网地址:80`,
# 接口访问: `http://公网地址:8001/api/v1/docs`,
# 登录 `admin/123456` 或 `demo/123456`
# 查看镜像: # 查看镜像:
docsker images -a docsker images -a
# 查看容器: # 查看容器:
@@ -215,12 +187,18 @@ docsker compose down
docker rmi <镜像名> docker rmi <镜像名>
# 删除容器 # 删除容器
docker rm <容器名> docker rm <容器名>
``` # 后端配置文件目录
fastapi_vue3_amdin/backend/env/.env.prod.py
# 前端配置文件目录
fastapi_vue3_amdin/frontend/vite.config.ts
和
fastapi_vue3_amdin/frontend/.env.production
# 部署文件目录
fastapi_vue3_amdin/docker-compose.yaml
和
fastapi_vue3_amdin/devops/devops/nginx/nginx.conf
- **部署问题排查**: ```
- 后端配置文件 `fastapi_vue3_amdin/backend/env/.env.prod.py`
- 前端配置文件 `fastapi_vue3_amdin/frontend/vite.config.ts` 和 `fastapi_vue3_amdin/frontend/.env.production`
- 部署文件 `fastapi_vue3_amdin/docker-compose.yaml` 和 `fastapi_vue3_amdin/devops/devops/nginx/nginx.conf`
--- ---
@@ -255,12 +233,6 @@ docker rm <容器名>
<td><img src="https://gitee.com/tao__tao/fastapi_vue3_admin/raw/master/backend/docs/resources/help.png"/>在线文档</td> <td><img src="https://gitee.com/tao__tao/fastapi_vue3_admin/raw/master/backend/docs/resources/help.png"/>在线文档</td>
<td><img src="https://gitee.com/tao__tao/fastapi_vue3_admin/raw/master/backend/docs/resources/dict.png"/>字典管理</td> <td><img src="https://gitee.com/tao__tao/fastapi_vue3_admin/raw/master/backend/docs/resources/dict.png"/>字典管理</td>
</tr> </tr>
<tr>
<td><img src="https://gitee.com/tao__tao/fastapi_vue3_admin/raw/master/backend/docs/resources/app-login.png"/>app登陆</td>
<td><img src="https://gitee.com/tao__tao/fastapi_vue3_admin/raw/master/backend/docs/resources/app-home.png"/>app首页</td>
<td><img src="https://gitee.com/tao__tao/fastapi_vue3_admin/raw/master/backend/docs/resources/app-work.png"/>app工作台</td>
<td><img src="https://gitee.com/tao__tao/fastapi_vue3_admin/raw/master/backend/docs/resources/app-me.png"/>app个人中心</td>
</tr>
</table> </table>
--- ---
@@ -282,13 +254,15 @@ docker rm <容器名>
## 🎨 社区 ## 🎨 社区
<table> <table>
<tr> <tr>
<td><img src="https://gitee.com/tao__tao/fastapi_vue3_admin/raw/master/backend/docs/resources/wechat.jpg"/></td> <td><img src="https://gitee.com/tao__tao/fastapi_vue3_admin/raw/master/backend/docs/resources/wechat.jpg"/></td>
<td><img src="https://gitee.com/tao__tao/fastapi_vue3_admin/raw/master/backend/docs/resources/group.jpg"/></td> <td><img src="https://gitee.com/tao__tao/fastapi_vue3_admin/raw/master/backend/docs/resources/group.jpg"/></td>
<td><img src="https://gitee.com/tao__tao/fastapi_vue3_admin/raw/master/backend/docs/resources/wechatPay.jpg"/></td> <td><img src="https://gitee.com/tao__tao/fastapi_vue3_admin/raw/master/backend/docs/resources/wechatPay.jpg"/></td>
</tr> </tr>
</table> </table>
--- ---
## ❤️ Star 支持我 ## ❤️ Star 支持我
@@ -302,7 +276,3 @@ docker rm <容器名>
![Visitor Count](https://profile-counter.glitch.me/1014TaoTao/count.svg) ![Visitor Count](https://profile-counter.glitch.me/1014TaoTao/count.svg)
--- ---
<p align="center">
<img src="https://capsule-render.vercel.app/api?type=waving&color=timeGradient&height=260&&section=footer&text=感谢&fontSize=90&fontAlign=50&fontAlignY=78&desc=给个%20star ⭐️ %20不过分吧&descAlign=50&descSize=30&descAlignY=46&animation=twinkling" />
</p>
Binary file not shown.

Before

Width:  |  Height:  |  Size: 41 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 24 KiB

+76 -112
View File
@@ -62,7 +62,7 @@
<div data-md-component="skip"> <div data-md-component="skip">
<a href="#github-1014taotao" class="md-skip"> <a href="#1014taotao" class="md-skip">
跳转至 跳转至
</a> </a>
@@ -256,8 +256,6 @@
<label class="md-nav__link md-nav__link--active" for="__toc"> <label class="md-nav__link md-nav__link--active" for="__toc">
@@ -288,8 +286,6 @@
<label class="md-nav__title" for="__toc"> <label class="md-nav__title" for="__toc">
<span class="md-nav__icon md-icon"></span> <span class="md-nav__icon md-icon"></span>
目录 目录
@@ -297,16 +293,16 @@
<ul class="md-nav__list" data-md-component="toc" data-md-scrollfix> <ul class="md-nav__list" data-md-component="toc" data-md-scrollfix>
<li class="md-nav__item"> <li class="md-nav__item">
<a href="#_1" class="md-nav__link"> <a href="#1014taotao" class="md-nav__link">
<span class="md-ellipsis"> <span class="md-ellipsis">
📘 项目介绍 📘 项目介绍(作者:@1014TaoTao)
</span> </span>
</a> </a>
</li> </li>
<li class="md-nav__item"> <li class="md-nav__item">
<a href="#_2" class="md-nav__link"> <a href="#_1" class="md-nav__link">
<span class="md-ellipsis"> <span class="md-ellipsis">
✨ 核心亮点 ✨ 核心亮点
</span> </span>
@@ -315,7 +311,7 @@
</li> </li>
<li class="md-nav__item"> <li class="md-nav__item">
<a href="#_3" class="md-nav__link"> <a href="#_2" class="md-nav__link">
<span class="md-ellipsis"> <span class="md-ellipsis">
🛠️ 技术栈概览 🛠️ 技术栈概览
</span> </span>
@@ -324,7 +320,7 @@
</li> </li>
<li class="md-nav__item"> <li class="md-nav__item">
<a href="#_4" class="md-nav__link"> <a href="#_3" class="md-nav__link">
<span class="md-ellipsis"> <span class="md-ellipsis">
📌 内置模块 📌 内置模块
</span> </span>
@@ -333,7 +329,7 @@
</li> </li>
<li class="md-nav__item"> <li class="md-nav__item">
<a href="#_5" class="md-nav__link"> <a href="#_4" class="md-nav__link">
<span class="md-ellipsis"> <span class="md-ellipsis">
🍪 演示环境 🍪 演示环境
</span> </span>
@@ -342,7 +338,7 @@
</li> </li>
<li class="md-nav__item"> <li class="md-nav__item">
<a href="#_6" class="md-nav__link"> <a href="#_5" class="md-nav__link">
<span class="md-ellipsis"> <span class="md-ellipsis">
👷 安装和使用 👷 安装和使用
</span> </span>
@@ -352,7 +348,7 @@
<ul class="md-nav__list"> <ul class="md-nav__list">
<li class="md-nav__item"> <li class="md-nav__item">
<a href="#_7" class="md-nav__link"> <a href="#_6" class="md-nav__link">
<span class="md-ellipsis"> <span class="md-ellipsis">
版本说明 版本说明
</span> </span>
@@ -361,7 +357,7 @@
</li> </li>
<li class="md-nav__item"> <li class="md-nav__item">
<a href="#_8" class="md-nav__link"> <a href="#_7" class="md-nav__link">
<span class="md-ellipsis"> <span class="md-ellipsis">
获取代码 获取代码
</span> </span>
@@ -370,7 +366,7 @@
</li> </li>
<li class="md-nav__item"> <li class="md-nav__item">
<a href="#_9" class="md-nav__link"> <a href="#_8" class="md-nav__link">
<span class="md-ellipsis"> <span class="md-ellipsis">
本地后端启动 本地后端启动
</span> </span>
@@ -379,7 +375,7 @@
</li> </li>
<li class="md-nav__item"> <li class="md-nav__item">
<a href="#_10" class="md-nav__link"> <a href="#_9" class="md-nav__link">
<span class="md-ellipsis"> <span class="md-ellipsis">
本地前端启动 本地前端启动
</span> </span>
@@ -388,7 +384,7 @@
</li> </li>
<li class="md-nav__item"> <li class="md-nav__item">
<a href="#_11" class="md-nav__link"> <a href="#_10" class="md-nav__link">
<span class="md-ellipsis"> <span class="md-ellipsis">
本地访问地址 本地访问地址
</span> </span>
@@ -411,7 +407,7 @@
</li> </li>
<li class="md-nav__item"> <li class="md-nav__item">
<a href="#_12" class="md-nav__link"> <a href="#_11" class="md-nav__link">
<span class="md-ellipsis"> <span class="md-ellipsis">
🔧 模块展示 🔧 模块展示
</span> </span>
@@ -420,7 +416,7 @@
</li> </li>
<li class="md-nav__item"> <li class="md-nav__item">
<a href="#_13" class="md-nav__link"> <a href="#_12" class="md-nav__link">
<span class="md-ellipsis"> <span class="md-ellipsis">
🙏 特别鸣谢 🙏 特别鸣谢
</span> </span>
@@ -429,7 +425,7 @@
</li> </li>
<li class="md-nav__item"> <li class="md-nav__item">
<a href="#_14" class="md-nav__link"> <a href="#_13" class="md-nav__link">
<span class="md-ellipsis"> <span class="md-ellipsis">
🎨 社区 🎨 社区
</span> </span>
@@ -447,7 +443,7 @@
</li> </li>
<li class="md-nav__item"> <li class="md-nav__item">
<a href="#_15" class="md-nav__link"> <a href="#_14" class="md-nav__link">
<span class="md-ellipsis"> <span class="md-ellipsis">
👀 访问统计 👀 访问统计
</span> </span>
@@ -482,56 +478,37 @@
<p align="center"> <h1>帮助文档</h1>
<img src="https://capsule-render.vercel.app/api?type=waving&color=timeGradient&height=256&&section=header&text=Fastapi%20Vue3%20Admin&fontSize=90&fontAlign=50&fontAlignY=28&desc=一套现代、开源、全栈融合的中后台快速开发平台,给个⭐️支持一下%F0%9F%98%81&descAlign=50&descSize=0&descAlignY=56&animation=twinkling" />
</p>
<p align="center">
<img src="https://gitee.com/tao__tao/fastapi_vue3_admin/raw/master/backend/docs/resources/header.gif" width="200"/>
</p>
<p align="center">
<img width="700" src="https://readme-typing-svg.demolab.com?font=LXGW+WenKai+TC&size=25&pause=1000&center=true&vCenter=true&random=false&width=600&lines=欢迎来到我的GitHub主页!"/>
</p>
<p align="center"> <div align="center">
<a href="https://gitee.com/tao__tao/fastapi_vue3_admin.git" target="_blank"> <p align="center">
<img src="https://gitee.com/tao__tao/fastapi_vue3_admin/badge/star.svg?theme=dark" alt="Gitee Stars"> <img src="https://gitee.com/tao__tao/fastapi_vue3_admin/raw/master/backend/docs/resources/logo.png" width="100"/>
</a> </p>
<a href="https://github.com/1014TaoTao/fastapi_vue3_admin.git" target="_blank"> <h2 align="center">Fastapi-Vue3-Admin v1.0.0</h2>
<img src="https://img.shields.io/github/stars/1014TaoTao/fastapi_vue3_admin?style=social" alt="GitHub Stars"> <h4 align="center">一套现代、开源、全栈融合的中后台快速开发平台,给个⭐️支持一下</h4>
</a> <p align="center">
<a href="https://gitee.com/tao__tao/fastapi_vue3_admin/blob/master/LICENSE" target="_blank"> <a href="https://gitee.com/tao__tao/fastapi_vue3_admin.git" target="_blank">
<img src="https://img.shields.io/badge/License-MIT-orange" alt="License"> <img src="https://gitee.com/tao__tao/fastapi_vue3_admin/badge/star.svg?theme=dark" alt="Gitee Stars">
</a> </a>
<img src="https://img.shields.io/badge/Python-≥3.10-blue"> <a href="https://github.com/1014TaoTao/fastapi_vue3_admin.git" target="_blank">
<img src="https://img.shields.io/badge/NodeJS-≥20.0-blue"> <img src="https://img.shields.io/github/stars/1014TaoTao/fastapi_vue3_admin?style=social" alt="GitHub Stars">
<img src="https://img.shields.io/badge/MySQL-≥8.0-blue"> </a>
<img src="https://img.shields.io/badge/Redis-≥7.0-blue"> <a href="https://gitee.com/tao__tao/fastapi_vue3_admin/blob/master/LICENSE" target="_blank">
<img src="https://img.shields.io/badge/-HTML5-E34F26?style=flat-square&logo=html5&logoColor=white"/> <img src="https://img.shields.io/badge/License-MIT-orange" alt="License">
<img src="https://img.shields.io/badge/-CSS3-1572B6?style=flat-square&logo=css3"/> </a>
<img src="https://img.shields.io/badge/-JavaScript-563D7C?style=flat-square&logo=bootstrap"/> <img src="https://img.shields.io/badge/Python-≥3.10-blue">
</p> <img src="https://img.shields.io/badge/NodeJS-≥20.0-blue">
<img src="https://img.shields.io/badge/MySQL-≥8.0-blue">
<h1 id="github-1014taotao">📊 GitHub 数据统计(作者:@1014TaoTao)</h1> <img src="https://img.shields.io/badge/Redis-≥7.0-blue">
<table align="center"> <img src="https://img.shields.io/badge/-HTML5-E34F26?style=flat-square&logo=html5&logoColor=white"/>
<tr> <img src="https://img.shields.io/badge/-CSS3-1572B6?style=flat-square&logo=css3"/>
<td> <img src="https://img.shields.io/badge/-JavaScript-563D7C?style=flat-square&logo=bootstrap"/>
<img height="200px" width="auto" src="https://github-readme-stats.vercel.app/api?username=1014TaoTao&show_icons=true&theme=dracula"> </p>
</td> </div>
<td>
<img height="200px" width="auto" src="https://github-readme-stats.vercel.app/api/top-langs/?username=1014TaoTao&layout=compact&theme=dracula">
</td>
<td>
<img height="200px" width="auto" src="https://github-readme-streak-stats.herokuapp.com/?user=1014TaoTao&theme=dracula">
</td>
</tr>
</table>
<p align="center">
<img src="https://github-readme-activity-graph.vercel.app/graph?username=1014TaoTao&theme=dracula&hide_border=true&area=true&custom_title=Activity%20Graph" alt="Activity Graph" title="Activity Graph" />
</p>
<hr /> <hr />
<h2 id="_1">📘 项目介绍</h2> <h2 id="1014taotao">📘 项目介绍(作者:@1014TaoTao)</h2>
<p><strong>Fastapi-Vue3-Admin</strong> 是一套 <strong>完全开源、高度模块化、技术先进的现代化快速开发平台</strong>,旨在帮助开发者高效搭建高质量的企业级中后台系统。该项目采用 <strong>前后端分离架构</strong>,融合 Python 后端框架 <code>FastAPI</code> 和前端主流框架 <code>Vue3</code>,实现多端统一开发,提供了一站式开箱即用的开发体验。</p> <p><strong>Fastapi-Vue3-Admin</strong> 是一套 <strong>完全开源、高度模块化、技术先进的现代化快速开发平台</strong>,旨在帮助开发者高效搭建高质量的企业级中后台系统。该项目采用 <strong>前后端分离架构</strong>,融合 Python 后端框架 <code>FastAPI</code> 和前端主流框架 <code>Vue3</code> 实现多端统一开发,提供了一站式开箱即用的开发体验。</p>
<blockquote> <blockquote>
<p><strong>设计初心</strong>: 以模块化、松耦合为核心,追求丰富的功能模块、简洁易用的接口、详尽的开发文档和便捷的维护方式。通过统一框架和组件,降低技术选型成本,遵循开发规范和设计模式,构建强大的代码分层模型,搭配完善的本地中文化支持,专为团队和企业开发场景量身定制。</p> <p><strong>设计初心</strong>: 以模块化、松耦合为核心,追求丰富的功能模块、简洁易用的接口、详尽的开发文档和便捷的维护方式。通过统一框架和组件,降低技术选型成本,遵循开发规范和设计模式,构建强大的代码分层模型,搭配完善的本地中文化支持,专为团队和企业开发场景量身定制。</p>
</blockquote> </blockquote>
@@ -546,7 +523,7 @@
└─ README.md # 中文文档 └─ README.md # 中文文档
</code></pre> </code></pre>
<hr /> <hr />
<h2 id="_2">✨ 核心亮点</h2> <h2 id="_1">✨ 核心亮点</h2>
<table> <table>
<thead> <thead>
<tr> <tr>
@@ -561,7 +538,7 @@
</tr> </tr>
<tr> <tr>
<td>🌐 全栈整合</td> <td>🌐 全栈整合</td>
<td>前后端分离,融合 Python (FastAPI) + Vue3</td> <td>前后端分离,融合 Python (FastAPI) + Vue3 多端开发</td>
</tr> </tr>
<tr> <tr>
<td>🧱 模块化设计</td> <td>🧱 模块化设计</td>
@@ -594,7 +571,7 @@
</tbody> </tbody>
</table> </table>
<hr /> <hr />
<h2 id="_3">🛠️ 技术栈概览</h2> <h2 id="_2">🛠️ 技术栈概览</h2>
<table> <table>
<thead> <thead>
<tr> <tr>
@@ -657,7 +634,7 @@
</tbody> </tbody>
</table> </table>
<hr /> <hr />
<h2 id="_4">📌 内置模块</h2> <h2 id="_3">📌 内置模块</h2>
<table> <table>
<thead> <thead>
<tr> <tr>
@@ -687,23 +664,18 @@
<td>接口管理、文档管理</td> <td>接口管理、文档管理</td>
<td>项目接口文档</td> <td>项目接口文档</td>
</tr> </tr>
<tr>
<td>App 端</td>
<td>首页、工作台、个人中心</td>
<td>移动端应用管理</td>
</tr>
</tbody> </tbody>
</table> </table>
<hr /> <hr />
<h2 id="_5">🍪 演示环境</h2> <h2 id="_4">🍪 演示环境</h2>
<ul> <ul>
<li>演示地址:<a href="http://service.fastapiadmin.com">http://service.fastapiadmin.com</a></li> <li>演示地址:<a href="http://service.fastapiadmin.com">http://service.fastapiadmin.com</a></li>
<li>管理员账号:<code>admin</code> 密码:<code>123456</code></li> <li>管理员账号:<code>admin</code> 密码:<code>123456</code></li>
<li>演示账号:<code>demo</code> 密码:<code>123456</code></li> <li>演示账号:<code>demo</code> 密码:<code>123456</code></li>
</ul> </ul>
<hr /> <hr />
<h2 id="_6">👷 安装和使用</h2> <h2 id="_5">👷 安装和使用</h2>
<h3 id="_7">版本说明</h3> <h3 id="_6">版本说明</h3>
<table> <table>
<thead> <thead>
<tr> <tr>
@@ -751,14 +723,14 @@
</tbody> </tbody>
</table> </table>
<hr /> <hr />
<h3 id="_8">获取代码</h3> <h3 id="_7">获取代码</h3>
<pre><code class="language-sh"># 克隆代码到本地 <pre><code class="language-sh"># 克隆代码到本地
git clone https://gitee.com/tao__tao/fastapi_vue3_admin.git git clone https://gitee.com/tao__tao/fastapi_vue3_admin.git
或 或
git clone https://github.com/1014TaoTao/fastapi_vue3_admin.git git clone https://github.com/1014TaoTao/fastapi_vue3_admin.git
</code></pre> </code></pre>
<hr /> <hr />
<h3 id="_9">本地后端启动</h3> <h3 id="_8">本地后端启动</h3>
<pre><code class="language-sh"># 进入后端工程目录 <pre><code class="language-sh"># 进入后端工程目录
cd backend cd backend
# 安装依赖 # 安装依赖
@@ -773,7 +745,7 @@ python3 main.py revision &quot;初始化迁移&quot; --env=dev(不加默认为de
python3 main.py upgrade --env=dev(不加默认为dev) python3 main.py upgrade --env=dev(不加默认为dev)
</code></pre> </code></pre>
<hr /> <hr />
<h3 id="_10">本地前端启动</h3> <h3 id="_9">本地前端启动</h3>
<pre><code class="language-sh"># 进入前端工程目录 <pre><code class="language-sh"># 进入前端工程目录
cd frontend cd frontend
# 安装依赖 # 安装依赖
@@ -784,10 +756,9 @@ npm run dev
npm run build npm run build
</code></pre> </code></pre>
<hr /> <hr />
<h3 id="_11">本地访问地址</h3> <h3 id="_10">本地访问地址</h3>
<ul> <ul>
<li>前端地址: <a href="http://127.0.0.1:5180">http://127.0.0.1:5180</a></li> <li>前端地址: <a href="http://127.0.0.1:5180">http://127.0.0.1:5180</a></li>
<li>小程序地址: <a href="http://127.0.0.1:5181">http://127.0.0.1:5181</a></li>
<li>接口地址: <a href="http://127.0.0.1:8001/api/v1/docs">http://127.0.0.1:8001/api/v1/docs</a></li> <li>接口地址: <a href="http://127.0.0.1:8001/api/v1/docs">http://127.0.0.1:8001/api/v1/docs</a></li>
<li>管理员账号:<code>admin</code> 密码:<code>123456</code></li> <li>管理员账号:<code>admin</code> 密码:<code>123456</code></li>
<li>演示账号:<code>demo</code> 密码:<code>123456</code></li> <li>演示账号:<code>demo</code> 密码:<code>123456</code></li>
@@ -797,11 +768,7 @@ npm run build
<pre><code class="language-sh"># 复制脚本 `fastapi_vue3_amdin/start.sh` 脚本文件到服务器, 并赋予执行权限 <pre><code class="language-sh"># 复制脚本 `fastapi_vue3_amdin/start.sh` 脚本文件到服务器, 并赋予执行权限
chmod +x start.sh chmod +x start.sh
# 执行脚本 # 执行脚本
https://gitee.com/tao__tao/fastapi_vue3_admin/raw/master/backend/docs/start.sh ./start.sh
# 访问地址
# 前端访问: `http://公网地址:80`,
# 接口访问: `http://公网地址:8001/api/v1/docs`,
# 登录 `admin/123456` 或 `demo/123456`
# 查看镜像: # 查看镜像:
docsker images -a docsker images -a
# 查看容器: # 查看容器:
@@ -814,15 +781,20 @@ docsker compose down
docker rmi &lt;镜像名&gt; docker rmi &lt;镜像名&gt;
# 删除容器 # 删除容器
docker rm &lt;容器名&gt; docker rm &lt;容器名&gt;
# 后端配置文件目录
fastapi_vue3_amdin/backend/env/.env.prod.py
# 前端配置文件目录
fastapi_vue3_amdin/frontend/vite.config.ts
和
fastapi_vue3_amdin/frontend/.env.production
# 部署文件目录
fastapi_vue3_amdin/docker-compose.yaml
和
fastapi_vue3_amdin/devops/devops/nginx/nginx.conf
</code></pre> </code></pre>
<ul>
<li><strong>部署问题排查</strong>:</li>
<li>后端配置文件 <code>fastapi_vue3_amdin/backend/env/.env.prod.py</code></li>
<li>前端配置文件 <code>fastapi_vue3_amdin/frontend/vite.config.ts</code> 和 <code>fastapi_vue3_amdin/frontend/.env.production</code></li>
<li>部署文件 <code>fastapi_vue3_amdin/docker-compose.yaml</code> 和 <code>fastapi_vue3_amdin/devops/devops/nginx/nginx.conf</code></li>
</ul>
<hr /> <hr />
<h2 id="_12">🔧 模块展示</h2> <h2 id="_11">🔧 模块展示</h2>
<table> <table>
<tr> <tr>
<td><img src="https://gitee.com/tao__tao/fastapi_vue3_admin/raw/master/backend/docs/resources/login.png"/>登陆</td> <td><img src="https://gitee.com/tao__tao/fastapi_vue3_admin/raw/master/backend/docs/resources/login.png"/>登陆</td>
@@ -852,16 +824,10 @@ docker rm &lt;容器名&gt;
<td><img src="https://gitee.com/tao__tao/fastapi_vue3_admin/raw/master/backend/docs/resources/help.png"/>在线文档</td> <td><img src="https://gitee.com/tao__tao/fastapi_vue3_admin/raw/master/backend/docs/resources/help.png"/>在线文档</td>
<td><img src="https://gitee.com/tao__tao/fastapi_vue3_admin/raw/master/backend/docs/resources/dict.png"/>字典管理</td> <td><img src="https://gitee.com/tao__tao/fastapi_vue3_admin/raw/master/backend/docs/resources/dict.png"/>字典管理</td>
</tr> </tr>
<tr>
<td><img src="https://gitee.com/tao__tao/fastapi_vue3_admin/raw/master/backend/docs/resources/app-login.png"/>app登陆</td>
<td><img src="https://gitee.com/tao__tao/fastapi_vue3_admin/raw/master/backend/docs/resources/app-home.png"/>app首页</td>
<td><img src="https://gitee.com/tao__tao/fastapi_vue3_admin/raw/master/backend/docs/resources/app-work.png"/>app工作台</td>
<td><img src="https://gitee.com/tao__tao/fastapi_vue3_admin/raw/master/backend/docs/resources/app-me.png"/>app个人中心</td>
</tr>
</table> </table>
<hr /> <hr />
<h2 id="_13">🙏 特别鸣谢</h2> <h2 id="_12">🙏 特别鸣谢</h2>
<p>感谢以下项目的贡献和支持,使本项目得以顺利完成:</p> <p>感谢以下项目的贡献和支持,使本项目得以顺利完成:</p>
<ul> <ul>
<li><a href="https://fastapi.tiangolo.com/">FastAPI 项目</a></li> <li><a href="https://fastapi.tiangolo.com/">FastAPI 项目</a></li>
@@ -874,24 +840,22 @@ docker rm &lt;容器名&gt;
<li><a href="https://github.com/vitejs/vite">Vite 项目</a></li> <li><a href="https://github.com/vitejs/vite">Vite 项目</a></li>
</ul> </ul>
<hr /> <hr />
<h2 id="_14">🎨 社区</h2> <h2 id="_13">🎨 社区</h2>
<table> <table>
<tr> <tr>
<td><img src="https://gitee.com/tao__tao/fastapi_vue3_admin/raw/master/backend/docs/resources/wechat.jpg"/></td> <td><img src="https://gitee.com/tao__tao/fastapi_vue3_admin/raw/master/backend/docs/resources/wechat.jpg"/></td>
<td><img src="https://gitee.com/tao__tao/fastapi_vue3_admin/raw/master/backend/docs/resources/group.jpg"/></td> <td><img src="https://gitee.com/tao__tao/fastapi_vue3_admin/raw/master/backend/docs/resources/group.jpg"/></td>
<td><img src="https://gitee.com/tao__tao/fastapi_vue3_admin/raw/master/backend/docs/resources/wechatPay.jpg"/></td> <td><img src="https://gitee.com/tao__tao/fastapi_vue3_admin/raw/master/backend/docs/resources/wechatPay.jpg"/></td>
</tr> </tr>
</table> </table>
<hr /> <hr />
<h2 id="star">❤️ Star 支持我</h2> <h2 id="star">❤️ Star 支持我</h2>
<p>如果你喜欢这个项目,请给我一个 ⭐️ Star 支持一下吧!非常感谢!</p> <p>如果你喜欢这个项目,请给我一个 ⭐️ Star 支持一下吧!非常感谢!</p>
<hr /> <hr />
<h2 id="_15">👀 访问统计</h2> <h2 id="_14">👀 访问统计</h2>
<p><img alt="Visitor Count" src="https://profile-counter.glitch.me/1014TaoTao/count.svg" /></p> <p><img alt="Visitor Count" src="https://profile-counter.glitch.me/1014TaoTao/count.svg" /></p>
<hr /> <hr />
<p align="center">
<img src="https://capsule-render.vercel.app/api?type=waving&color=timeGradient&height=260&&section=footer&text=感谢&fontSize=90&fontAlign=50&fontAlignY=78&desc=给个%20star ⭐️ %20不过分吧&descAlign=50&descSize=30&descAlignY=46&animation=twinkling" />
</p>
Binary file not shown.

Before

Width:  |  Height:  |  Size: 41 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 24 KiB

File diff suppressed because one or more lines are too long
Binary file not shown.