如果您对源码&技术感兴趣,请点赞+收藏+转发+关注,大家的支持是我分享最大的动力!!!
项目介绍
vue-fastapi-admin 是一个基于 FastAPI + Vue3 + Naive UI 的现代化前后端分离开发平台。该项目融合了 RBAC 权限管理、动态路由和 JWT 鉴权,旨在助力中小型应用快速搭建,并可作为学习参考的典范。
应用场景
- 企业级应用后台管理:为中小企业提供一套高效、安全、易扩展的后台管理系统。
- 学习参考:作为全栈开发的学习资料,帮助开发者掌握前后端分离、权限管理、动态路由等关键技术。
- 定制化开发:基于项目基础进行定制化开发,满足特定业务需求。
功能模块
- 用户管理:实现用户信息的增删改查,以及用户角色的分配。
- 角色管理:定义不同角色,为角色分配不同的权限。
- 菜单管理:动态管理后台菜单,根据角色权限展示或隐藏菜单项。
- API管理:提供API接口的增删改查,以及接口权限的分配。
- 权限控制:基于RBAC模型实现细粒度的权限控制,包括按钮和接口级别的权限。
- 工作台:提供个性化的工作台页面,方便用户快速访问常用功能。
功能特点
- 前后端分离:前端采用Vue3 + Naive UI,后端采用FastAPI,实现前后端完全分离,提高开发效率。
- 动态路由:后端根据角色权限动态生成路由,前端根据路由渲染菜单,实现灵活的权限控制。
- JWT鉴权:使用JSON Web Token(JWT)进行身份验证和授权,增强应用的安全性。
- 细粒度权限控制:不仅实现页面级别的权限控制,还实现了按钮和接口级别的权限控制。
- 高效性能:基于Python 3.11和FastAPI高性能异步框架,结合Vue3和Vite等前沿技术,提供高效的性能表现。
- 代码规范:项目内置丰富的规范插件,确保代码质量和一致性,有效提高团队协作效率。
项目技术栈
- Python 3.11:作为项目的开发语言,提供强大的功能和高效的性能。
- FastAPI:高性能的异步Web框架,用于构建API接口。
- JWT:用于身份验证和授权。
- RBAC:基于角色的访问控制模型,实现细粒度的权限管理。
- SQLAlchemy:作为ORM框架,用于数据模型的定义和操作。
- Alembic:用于数据库迁移和管理。
- Uvicorn:作为ASGI服务器,运行FastAPI应用。
功能演示
目录说明
├── app // 应用程序目录
│ ├── api // API接口目录
│ │ └── v1 // 版本1的API接口
│ │ ├── apis // API相关接口
│ │ ├── base // 基础信息接口
│ │ ├── menus // 菜单相关接口
│ │ ├── roles // 角色相关接口
│ │ └── users // 用户相关接口
│ ├── controllers // 控制器目录
│ ├── core // 核心功能模块
│ ├── log // 日志目录
│ ├── models // 数据模型目录
│ ├── schemas // 数据模式/结构定义
│ ├── settings // 配置设置目录
│ └── utils // 工具类目录
├── deploy // 部署相关目录
│ └── sample-picture // 示例图片目录
└── web // 前端网页目录
├── build // 构建脚本和配置目录
│ ├── config // 构建配置
│ ├── plugin // 构建插件
│ └── script // 构建脚本
├── public // 公共资源目录
│ └── resource // 公共资源文件
├── settings // 前端项目配置
└── src // 源代码目录
├── api // API接口定义
├── assets // 静态资源目录
│ ├── images // 图片资源
│ ├── js // JavaScript文件
│ └── svg // SVG矢量图文件
├── components // 组件目录
│ ├── common // 通用组件
│ ├── icon // 图标组件
│ ├── page // 页面组件
│ ├── query-bar // 查询栏组件
│ └── table // 表格组件
├── composables // 可组合式功能块
├── directives // 指令目录
├── layout // 布局目录
│ └── components // 布局组件
├── router // 路由目录
│ ├── guard // 路由守卫
│ └── routes // 路由定义
├── store // 状态管理(pinia)
│ └── modules // 状态模块
├── styles // 样式文件目录
├── utils // 工具类目录
│ ├── auth // 认证相关工具
│ ├── common // 通用工具
│ ├── http // 封装axios
│ └── storage // 封装localStorage和sessionStorage
└── views // 视图/页面目录
├── error-page // 错误页面
├── login // 登录页面
├── profile // 个人资料页面
├── system // 系统管理页面
└── workbench // 工作台页面
开源地址
https://gitee.com/mizhexiaoxiao/vue-fastapi-admin
如果您对源码&技术感兴趣,请点赞+收藏+转发+关注,大家的支持是我分享最大的动力!!!