Skip to content

后端简介

后端基于 FastAPI 构建,采用分层架构:Router → Controller → CRUD/Model。

技术栈

技术说明
FastAPI高性能异步 Web 框架
Pydantic v2数据校验与序列化
Tortoise ORMPython 异步 ORM
AerichTortoise 数据库迁移
Redis缓存层(fastapi-cache2)
Argon2安全密码哈希
PyJWTJWT 令牌创建与验证
RuffPython 代码检查与格式化
Pyright静态类型检查

目录结构

app/
├── __init__.py            # App 工厂,中间件注册,启动钩子
├── api/v1/                # API 路由(按业务域分组)
│   ├── auth/              # 认证(登录、令牌刷新)
│   ├── route/             # 动态路由管理
│   └── system_manage/     # 用户、角色、菜单 CRUD
├── controllers/           # 业务逻辑层
├── models/system/         # Tortoise ORM 模型
├── schemas/               # Pydantic 请求/响应模型
├── core/                  # 核心模块
│   ├── init_app.py        # 数据库、异常、路由注册
│   ├── dependency.py      # AuthControl, PermissionControl
│   ├── crud.py            # 通用 CRUD 基类
│   ├── code.py            # 业务响应码
│   ├── exceptions.py      # 自定义异常处理
│   ├── middlewares.py     # 请求日志、后台任务
│   └── ctx.py             # 上下文变量
├── settings/config.py     # 环境配置 (pydantic-settings)
└── utils/                 # 工具函数(安全、通用)

快速开始

bash
uv sync                    # 安装依赖
uv run python run.py       # 启动开发服务器 (:9999)

ruff check app/            # 代码检查
ruff format app/           # 代码格式化
pyright app                # 类型检查
pytest tests/ -v           # 运行测试

启动流程

  1. 注册 Tortoise ORM(数据库连接 + 模型发现)
  2. 注册 Aerich(数据库迁移)
  3. 注册异常处理器
  4. 挂载 API 路由(/api/v1)
  5. 注册中间件
  6. 启动钩子:自动注册 API 到数据库(用于 RBAC)

基于 MIT 协议发布