fastvue-cli 0.6.0
FastAPI + Vue3 全栈项目脚手架
License: MIT
Requires Python: >=3.8
Keywords: fastapi, vue3, cli, scaffold, fullstack

# FastVue CLI

FastAPI + Vue3 全栈项目脚手架,用于快速生成完整的后台管理系统项目。

## 功能特性

- 🚀 快速生成完整的 FastAPI + Vue3 项目结构
- 📦 支持模块化生成(自动创建模型、API、前端页面)
- 🎨 基于 Element Plus 的现代化 UI 设计
- 🔐 内置 JWT 认证和权限管理
- 📊 支持数据库自动初始化
- ⚡ 支持热重载和开发调试
- 🌍 支持中文/英文双语
- 💾 完整的后台管理系统(用户管理、角色管理、菜单管理、日志管理等)

## 安装

### 方法一: 使用 uv (推荐)

```bash
# 从源码安装
cd fastvue-cli
uv sync
uv pip install -e .

# 或者从构建的包安装
uv build
uv pip install dist/fastvue_cli-0.1.0-py3-none-any.whl
```

### 方法二: 使用 pip 直接安装

```bash
cd fastvue-cli
pip install -e .
```

### 方法三: 从构建的包安装

```bash
cd fastvue-cli
# 使用 uv 构建
uv build
# 安装构建好的包
pip install dist/fastvue_cli-0.1.0-py3-none-any.whl
```

## 快速开始

### 1. 创建新项目

```bash
# 交互式创建
fastvue init

# 或者直接指定参数
fastvue init my-project --db-type mysql --auth-type jwt --language zh-CN
```

### 2. 进入项目目录并配置环境

```bash
cd my-project/backend
# 复制.env.example为.env并配置数据库连接
cp .env.example .env
# 编辑.env文件,配置数据库连接信息
```

### 3. 安装依赖并启动服务

```bash
# 安装后端依赖
cd backend
pip install -r requirements.txt
# 或使用 uv (推荐)
uv sync

# 运行后端服务
python -m app.main

# 安装前端依赖(新开一个终端)
cd frontend
npm install

# 运行前端服务
npm run dev
```

## 生成的项目功能

生成的项目包含完整的后台管理系统:

### 后端功能
- ✅ 用户认证(登录/注册/登出)
- ✅ JWT Token管理
- ✅ 用户管理(CRUD)
- ✅ 角色管理(admin/member/user)
- ✅ 菜单管理(动态菜单)
- ✅ 权限控制(RBAC)
- ✅ 操作日志
- ✅ Token黑名单
- ✅ 邮箱验证
- ✅ 仪表盘统计

### 前端功能
- ✅ 登录/注册页面
- ✅ 用户管理界面
- ✅ 角色管理界面
- ✅ 菜单管理界面
- ✅ 操作日志查询
- ✅ 个人中心
- ✅ 主题切换(4种主题)
- ✅ 动态路由
- ✅ 权限控制

## 命令说明

### 初始化项目

```bash
fastvue init [项目名称]
```

选项:
- `--db-type`: 数据库类型(mysql/postgresql,默认mysql)
- `--auth-type`: 认证方式(jwt,默认jwt)
- `--language`: 语言(zh-CN/en-US,默认zh-CN)
- `--install-deps`: 自动安装依赖(默认false)

### 生成功能模块

```bash
fastvue generate <模块名称>
```

示例:

```bash
# 生成用户模块
fastvue generate user

# 生成商品模块
fastvue generate product
```

## 项目结构

```
my-project/
├── backend/             # FastAPI 后端
│   ├── app/
│   │   ├── api/        # API 路由
│   │   │   └── v1/     # V1版本API
│   │   │       ├── auth/           # 认证模块
│   │   │       ├── user/           # 用户管理
│   │   │       ├── permission/     # 权限管理
│   │   │       ├── log/            # 日志模块
│   │   │       ├── security/       # 安全模块
│   │   │       └── dashboard/      # 仪表盘
│   │   ├── core/       # 核心配置
│   │   │   ├── config.py          # 配置文件
│   │   │   ├── database.py        # 数据库连接
│   │   │   ├── jwt.py             # JWT处理
│   │   │   ├── permissions.py     # 权限控制
│   │   │   ├── cors.py            # CORS配置
│   │   │   ├── middleware.py      # 中间件
│   │   │   ├── logging.py         # 日志配置
│   │   │   └── email.py           # 邮件服务
│   │   ├── models/     # 数据库模型
│   │   ├── schemas/    # 数据验证
│   │   ├── services/   # 业务逻辑
│   │   ├── main.py     # 应用入口
│   │   └── init_db.py  # 数据库初始化
│   ├── .env.example    # 环境变量示例
│   └── pyproject.toml  # 项目配置
├── frontend/            # Vue3 前端
│   ├── src/
│   │   ├── components/ # Vue 组件
│   │   ├── views/      # 页面组件
│   │   ├── api/        # API 调用
│   │   ├── router/     # 路由配置
│   │   ├── stores/     # 状态管理
│   │   └── utils/      # 工具函数
│   ├── package.json
│   ├── vite.config.js
│   └── index.html
└── README.md
```

## 技术栈

### 后端

- **FastAPI**: 现代化的 Python Web 框架
- **SQLAlchemy**: ORM 数据库工具
- **Pydantic**: 数据验证和序列化
- **JWT**: 身份认证
- **Python-Jose**: JWT令牌处理
- **Passlib**: 密码加密
- **PyMySQL**: MySQL数据库驱动
- **Uvicorn**: ASGI服务器

### 前端

- **Vue 3**: 渐进式 JavaScript 框架
- **Element Plus**: Vue 3 UI 组件库
- **Pinia**: 状态管理
- **Vue Router**: 路由管理
- **Axios**: HTTP 客户端
- **Vite**: 极速构建工具

## 开发说明

- 所有注释均为中文
- 代码遵循PEP 8规范(Python)和ESLint规范(JavaScript)
- 完整的错误处理和日志记录

## 许可证

MIT