Skip to content

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
ORMSQLAlchemy 2.0 (Mapped + mapped_column)
数据库MySQL 8.0+ (PyMySQL)
缓存Redis 6.0+ (redis-py)
认证授权JWT / SM2 国密加密 / bcrypt 密码哈希
Excel处理OpenPyXL
分布式IDSnowflake ID 算法

功能特性

  • 双端认证体系 — B 端和 C 端独立的 JWT 认证与权限装饰器
  • SM2 国密加密 — 登录密码传输使用国密 SM2 C1C3C2 模式加密
  • bcrypt 密码哈希 — 存储密码使用 bcrypt 加盐哈希
  • RBAC 权限控制 — 用户→角色→权限 + 用户→组→角色→权限 + 用户直授权限,三层模型
  • 数据权限 — 支持全部/本级及以下/本级/仅本人/自定义五种数据权限粒度,按最严策略合并
  • 权限自动发现 — 启动时自动扫描 @HeiCheckPermission 装饰器,缓存权限到 Redis
  • 软删除 — 全局可配置的软删除机制,透明过滤已删除数据
  • 统一响应格式{code, message, data, success} 标准结构
  • 全局异常处理 — 统一捕获 BusinessException 返回业务错误码
  • 验证码 — 内置图形验证码生成与校验
  • 代码生成器 — 通过数据库表自动生成完整 CRUD 模块(8 个文件)
  • 雪花ID — 分布式 Snowflake ID 生成器
  • Excel 导入导出 — 通用模板下载、数据导出、数据导入

文档导航

指南

架构

功能特性

相关链接

相关项目

Released under the MIT License.