Files
FastapiAdmin/README.en.md
T
zhangtao b83dc42e2d refactor: 优化错误处理和消息提示机制
- 移除前端冗余的错误消息提示,统一使用console.error记录错误
- 使用后端返回的msg作为成功提示消息
- 更新演示环境地址和API端口配置
- 清理缓存管理模块的冗余消息提示
- 改进认证错误提示信息,增加状态码
```

这个提交消息:
1. 使用refactor类型,因为主要是代码结构的优化而非功能修改
2. 概括了主要修改内容:错误处理和消息提示机制的优化
3. 在消息体中列出了具体修改点,包括:
   - 前端错误处理方式统一
   - 成功提示消息来源调整
   - 配置更新
   - 特定模块的清理
   - 认证提示改进
2025-05-29 22:42:37 +08:00

15 KiB
Raw Blame History

Gitee Stars GitHub Stars License

📊 GitHub Data Statistics (Author: @1014TaoTao)

Activity Graph


English | Chinese


📘 Project Introduction

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, combined with UniApp to achieve unified multi-terminal development, providing an all-in-one, 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.

fastapi_vue3_admin
├─ backend        # Backend project
├─ frontend       # Frontend project
├─ devops         # Deployment project
├─ uni-app        # Mobile application project
├─ docker-compose.yaml # Deployment configuration file
├─ start.sh       # One-click deployment script
├─ LICENSE        # License agreement
├─ README.en.md   # English documentation
└─ README.md      # Chinese documentation

✨ Core Highlights

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.
🌐 Full-Stack Integration Frontend and backend decoupled architecture, integrating Python (FastAPI), Vue3, and UniApp for multi-terminal development.
🧱 Modular Design Highly decoupled system functions, easy to extend and maintain.
⚡ High-Performance Asynchronous Optimized interface response speed using the FastAPI asynchronous framework and Redis caching.
🔒 Secure Authentication Supports JWT OAuth2 authentication mechanisms to ensure system security.
📊 Permission Management Implements fine-grained permission control at the menu, button, and data levels using the RBAC model.
🚀 Quick Deployment Supports one-click deployment with Docker, Docker Compose, and Nginx.
📄 Developer-Friendly Provides comprehensive Chinese documentation, localized interface, and visual toolchains to reduce learning costs.
📫 Cross-Platform Support Supports multi-terminal development via UniApp, including H5 and mini-programs.
🚀 Easy Integration Ready-to-use with mainstream frontend technology stacks such as Vue3, Vite5, Pinia, UniApp, Ant Design Vue, and uView-plus.

🛠️ Technology Stack Overview

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.
ORM SQLAlchemy 2.0 Powerful ORM library.
Task Scheduling APScheduler Easily implement scheduled tasks.
Authentication PyJWT Implements JWT-based authentication.
Frontend Framework Vue3 / Vite5 / Pinia / TypeScript Rapid development of Vue3 applications.
UI Library Ant Design Vue / uView-plus Quickly build visually appealing UI components.
Mobile Development UniApp Rapid mobile application development.
Database MySQL / MongoDB Powerful database systems.
Caching Redis High-performance caching database.
Documentation Swagger / Redoc Automatically generates API documentation.
Deployment Docker / Nginx / Docker Compose Rapid project deployment.

📌 Built-in Modules

Module Name Submodules Description
Dashboard Workspace, Analytics Page Common functional entry points
System Management Menus, Departments, Positions, Roles, Users, Logs, Configurations, Announcements, Dictionaries, Tasks Core system functionality
Monitoring Management Online Users, Server Monitoring, Cache Monitoring System monitoring and management features
Public Management API Management, Documentation Management Project API documentation management
App Module Home Page, Workspace, Personal Center Mobile application management

🍪 Demo Environment


👷 Installation and Usage

Version Details

Type Technology Stack Version
Backend Python 3.10 (Versions above 3.10 may cause compatibility issues; upgrade is not planned for now)
Backend FastAPI 0.109
Frontend Node.js >= 20.0 (latest version recommended)
Frontend npm 16.14
Frontend Vue3 3.3
Database MySQL 8.0 (latest version recommended)
Middleware Redis 7.0 (latest version recommended)
MiniApp uni-app 3.0.0
MiniApp uview-plus ^3.3.74

Getting the Code

# Clone Code to Local Machine
git clone https://gitee.com/tao__tao/fastapi_vue3_admin.git
or
git clone https://github.com/1014TaoTao/fastapi_vue3_admin.git

Local Backend Startup

# Navigate to the backend project directory
cd backend

# Install dependencies
pip3 install -r requirements.txt

# Start the backend service
python3 main.py run
or
python3 main.py run --env=dev

# Generate migration file (default environment is 'dev' if not specified)
python3 main.py revision "Initial migration" --env=dev

# Apply migration (default environment is 'dev' if not specified)
python3 main.py upgrade --env=dev

Local Frontend Startup

# 进入前端工程目录
cd frontend

# 安装依赖
npm install

# 启动前端服务
npm run dev

# 构建前端, 生成 `frontend/dist` 目录
npm run build

Local App Startup

# Navigate to the frontend project directory
cd frontend

# Install dependencies
npm install

# Start the frontend service
npm run dev

# Build the frontend, generating the `frontend/dist` directory
npm run build

Local Access Addresses


Docker Deployment

# Copy the script `fastapi_vue3_amdin/start.sh` to the server and grant execution permissions
chmod +x start.sh

# Execute the script
./start.sh

#  Access addresses
# Frontend access: `http://Public IP address:80`, 
# API access: `http://Public IP address:8001/api/v1/docs`, 
# Log in with `admin/123456` or `demo/123456`

# View images:
docker images -a

# View containers:
docker compose ps

# View logs
docker logs -f <Container name>

# Stop the service
docker compose down

# Delete an image
docker rmi <Image name>

# Delete a container
docker rm <Container name>
  • 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

Login Dashboard Menu Management Department Management
Position Management Role Management User Management Log Management
Configuration Management Online User Management Server Monitoring Cache Monitoring
Task Management API Management Documentation Management Personal Information
Online Documentation Dictionary Management
App Login App Home Page App Workspace App Personal Center

🙏 Special Thanks

Thanks to the contributions and support of the following projects, which have enabled the successful completion of this project:


🎨 Community


❤️ Star Me

If you like this project, please give me a ⭐️ Star to show your support! Thank you very much!


👀 访问统计

Visitor Count