vue-fastapi 是一款基于 MIT 协议的开源前后端分离管理平台,专为快速搭建中小型业务系统设计。系统内置 RBAC 权限管理、后端动态路由、JWT 鉴权等通用模块,支持按钮和接口级别的细粒度权限控制,开发者可开箱即用,大幅降低后台管理系统开发成本。
系统基于 FastAPI + Vue3 + Naive UI 技术栈构建,使用 pnpm 作为包管理器,内置丰富的代码规范插件,适合个人和中小型企业快速搭建各类后台业务系统。

解决的核心痛点
- 通用功能重复开发:内置登录、权限、菜单、用户管理等通用模块,开箱即用,几分钟即可完成一套后台管理系统搭建。
- 权限控制粒度不够:支持 RBAC 权限模型,可实现按钮级、接口级的细粒度权限控制,不同角色看到的按钮和能调用的接口不同。
- 路由维护复杂:采用后端动态路由方案,菜单路由由后端统一控制,前端根据权限动态生成,变动权限无需修改前端代码。
核心功能
RBAC 权限管理
支持基于角色的访问控制模型,实现用户、角色、菜单、API 等多维度权限配置。不同角色可配置不同的菜单可见性和操作权限。
后端动态路由
根据用户角色动态生成菜单路由,前端无需硬编码路由配置。可任意添加、修改、删除菜单和接口,用户权限自动生效。
JWT 鉴权管理
使用 JSON Web Token 进行无状态身份验证,支持 Token 自动刷新机制,用户无感知,易于横向扩展。
细粒度权限控制
- 按钮级权限:不同角色在同一页面看到不同的操作按钮
- 接口级权限:即使绕过前端直接调用 API,后端也会校验权限,杜绝越权访问
用户与角色管理
支持用户的增删改查、状态启用禁用、密码重置等操作。支持为用户分配角色,一个用户可拥有多个角色,权限取并集。
菜单管理
支持树形结构管理菜单,包括目录、菜单、按钮三种类型。支持排序、图标、路径等属性设置。
API 管理
统一管理后端接口,绑定权限实现接口级校验。
功能截图
登录页

工作台:登录后的系统首页,展示系统概览和常用功能入口。

用户管理:支持用户的增删改查、角色分配、状态管理等操作。

角色管理:为角色分配菜单权限和 API 权限。

菜单管理:树形结构管理菜单,支持目录、菜单、按钮三种类型。

API 管理:统一管理后端接口,绑定权限实现接口级校验。

系统架构
├── app // 应用程序目录
│ ├── api // API 接口目录
│ │ └── v1 // 版本 1 的 API 接口
│ ├── controllers // 控制器目录
│ ├── core // 核心功能模块
│ ├── models // 数据模型目录
│ └── utils // 工具类目录
├── web // 前端网页目录
│ ├── src // 源代码目录
│ └── settings // 前端项目配置
└── deploy // 部署相关目录
快速上手
# 克隆项目
git clone https://gitee.com/tao__tao/vue-fastapi.git
cd vue-fastapi
# 后端安装依赖
pip install -r requirements.txt
# 前端安装依赖
cd web
pnpm install
pnpm dev
总结
vue-fastapi 解决了后台业务系统开发中的四大痛点:通用功能重复开发、权限控制粒度不足、路由维护复杂、交付物是半成品。内置的 RBAC 权限模型和后端动态路由方案,让它成为快速搭建中小型管理系统的理想选择。
声明:本站原创文章文字版权归本站所有,转载务必注明作者和出处;本站转载文章仅仅代表原作者观点,不代表本站立场,图文版权归原作者所有。如有侵权,请联系我们删除。