HEI FastAPI
HEI FastAPI 是 HEI 快速开发框架的 Python 单体应用版本,基于 FastAPI + SQLAlchemy 2.0 构建。提供开箱即用的快速开发解决方案,包含完善的权限管理(RBAC)、数据权限、认证授权等功能模块。框架采用前后端分离架构,支持快速搭建管理系统和 API 服务。
架构理念
项目采用模块化单体架构设计,遵循以下设计原则:
- 前后端分离: 后端专注提供 RESTful API,前端独立部署(Vue3)
- 模块化设计: 按业务领域划分模块,每模块独立垂直切片
- 国密算法支持: 全面支持 SM2 C1C3C2 国密加密,保障数据安全
- B/C 端双认证: 项目支持 B 端(后台管理)和 C 端(客户端),分别有独立的认证体系
- 类型安全: 基于 Pydantic v2 的数据验证,提供完整的类型提示
- RBAC 权限模型: 用户→角色→权限 + 用户→组→角色→权限 + 用户直授权限,三层模型
技术栈
| 类型 | 技术 |
|---|---|
| 核心框架 | Python 3.13+ + FastAPI 0.115+ + Uvicorn |
| 数据验证 | Pydantic v2 + Pydantic-Settings |
| ORM | SQLAlchemy 2.0 (Mapped + mapped_column) |
| 数据库 | MySQL 8.0+ (PyMySQL) |
| 缓存 | Redis 6.0+ (redis-py) |
| 认证授权 | JWT / SM2 国密加密 / bcrypt 密码哈希 |
| Excel处理 | OpenPyXL |
| 分布式ID | Snowflake ID 算法 |
功能特性
- 双端认证体系 — B 端和 C 端独立的 JWT 认证与权限装饰器
- SM2 国密加密 — 登录密码传输使用国密 SM2 C1C3C2 模式加密
- bcrypt 密码哈希 — 存储密码使用 bcrypt 加盐哈希
- RBAC 权限控制 — 用户→角色→权限 + 用户→组→角色→权限 + 用户直授权限,三层模型
- 数据权限 — 支持全部/本级及以下/本级/仅本人/自定义五种数据权限粒度,按最严策略合并
- 权限自动发现 — 启动时自动扫描
@HeiCheckPermission装饰器,缓存权限到 Redis - 软删除 — 全局可配置的软删除机制,透明过滤已删除数据
- 统一响应格式 —
{code, message, data, success}标准结构 - 全局异常处理 — 统一捕获 BusinessException 返回业务错误码
- 验证码 — 内置图形验证码生成与校验
- 代码生成器 — 通过数据库表自动生成完整 CRUD 模块(8 个文件)
- 雪花ID — 分布式 Snowflake ID 生成器
- Excel 导入导出 — 通用模板下载、数据导出、数据导入
文档导航
指南
架构
功能特性
- 认证模块 - 基于 JWT 的认证体系
- 用户管理 - 系统用户管理
- 角色管理 - 角色管理与权限分配
- 权限管理 - 系统权限管理
- 用户组管理 - 用户组管理与角色分配
- 组织管理 - 组织架构管理
- 职位管理 - 职位管理
- 字典管理 - 树形字典管理
- 资源与模块管理 - 菜单资源与模块管理
- 通知管理 - 系统通知管理
- Banner 管理 - 系统横幅内容管理
- C 端用户管理 - 客户端用户管理
- 代码生成器 - 自动生成完整 CRUD 模块
相关链接
相关项目
- Hei Boot - Java Spring Boot 单体应用版本
- Hei Cloud - Java 微服务架构版本
- Hei Admin Vue - Vue3 前端管理后台