vue-fastapi-admin:中小型应用的现代化开发利器

引言

在当今数字化浪潮中,中小型应用开发的需求日益增长,如何快速搭建一个安全、高效且功能完善的管理平台成为了众多开发者的关注焦点。今天,我要为大家介绍一款基于前沿技术栈打造的现代化前后端分离管理平台——vue-fastapi-admin,它或许就是你一直在寻找的解决方案。

图片

一、🌟 初识 vue-fastapi-admin

vue-fastapi-admin 是一个融合了 FastAPI、Vue3 和 Naive UI 的强大管理平台。它不仅适用于中小型应用的快速搭建,还能作为开发者学习参考的优质项目。想象一下,你可以借助这样一个成熟的框架,快速构建出符合业务需求的管理系统,大大缩短开发周期,将更多的精力投入到核心业务逻辑的开发中。

图片

目录说明

├── 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  // 工作台页面

二、💎 卓越特性,引领开发新潮流

🔥 最流行技术栈的完美结合

该项目基于 Python 3.11 和 FastAPI 高性能异步框架进行后端开发。FastAPI 以其高性能、开发效率高和丰富的功能特性,成为了当下异步 Web 框架的热门选择。前端则采用了 Vue3 和 Vite 等前沿技术,Vite 的快速启动和热更新功能,让开发过程更加流畅。同时,使用高效的 npm 包管理器 pnpm,有效解决了项目依赖管理的问题,提升了开发效率。

📏 代码规范,团队协作的基石

在团队开发中,代码质量和一致性至关重要。vue-fastapi-admin 项目内置了丰富的规范插件,从代码格式化到代码风格检查,全方位保障代码质量。这使得团队成员之间的代码能够保持高度的一致性,减少了沟通成本和代码合并时的冲突,大大提高了团队协作的效率。

🛣️ 动态路由,灵活的权限控制

动态路由是 vue-fastapi-admin 的一大亮点。它结合了 RBAC(Role-Based Access Control)权限模型,能够根据用户的角色动态生成菜单路由。这意味着不同的用户角色可以拥有不同的菜单访问权限,实现了精细化的权限管理。例如,管理员可以拥有所有菜单的访问权限,而普通用户可能只能访问部分菜单,这种灵活的权限控制方式能够满足不同业务场景的需求。

🔒 JWT 鉴权,守护应用安全

在网络安全日益重要的今天,应用的安全性不容忽视。vue-fastapi-admin 使用 JSON Web Token(JWT)进行身份验证和授权。JWT 是一种开放标准(RFC 7519),它定义了一种紧凑且自包含的方式,用于在各方之间安全地传输信息作为 JSON 对象。通过 JWT 鉴权,可以有效防止未授权的访问,增强应用的安全性。

🎯 细粒度权限控制,精准把控操作权限

除了菜单级别的权限控制,vue-fastapi-admin 还实现了按钮和接口级别的权限控制。这意味着不同的用户或角色在界面操作和接口访问时具有不同的权限限制。例如,某些敏感操作按钮可能只有管理员才能看到和使用,而某些接口可能只允许特定角色调用。这种细粒度的权限控制能够更好地保护系统的核心数据和功能,确保系统的安全性和稳定性。

图片

三、👀 在线预览,直观感受魅力

如果你对 vue-fastapi-admin 感兴趣,不妨先通过在线预览来直观感受它的魅力。访问 http://vue-fastapi-admin.com,使用默认账号 username: admin 和密码 password: 123456 登录系统。在这里,你可以体验到各个功能页面的操作流程,如登录页、工作台、用户管理、角色管理、菜单管理和 API 管理等。通过实际操作,你将更深入地了解该平台的功能和优势。

图片

四、📄 功能页面,满足多样需求

🔑 登录页

简洁明了的登录页,用户可以输入账号和密码进行登录。登录过程采用 JWT 鉴权,确保用户身份的安全验证。

📊 工作台

工作台是系统的核心页面之一,它提供了系统的概览信息,如用户统计、角色统计、菜单统计等。用户可以在这里快速了解系统的运行状态。

👤 用户管理

用户管理页面可以对系统中的用户进行增删改查操作。管理员可以设置用户的基本信息、角色分配等,实现对用户权限的精细化管理。

🎭 角色管理

角色管理页面用于定义不同的角色,并为每个角色分配相应的菜单和按钮权限。通过角色管理,可以方便地对用户权限进行批量管理。

🧭 菜单管理

菜单管理页面允许管理员对系统的菜单进行动态配置。可以添加、删除、修改菜单项,以及设置菜单的显示顺序和权限要求。

🌐 API 管理

API 管理页面展示了系统中的所有 API 接口,管理员可以对接口进行权限设置和访问控制。这有助于保障系统接口的安全性,防止非法访问。

图片

五、快速开始

方法一:dockerhub拉取镜像
docker pull mizhexiaoxiao/vue-fastapi-admin:latest 
docker run -d --restart=always --name=vue-fastapi-admin -p 9999:80 mizhexiaoxiao/vue-fastapi-admin
方法二:dockerfile构建镜像
docker安装(版本17.05+)
yum install -y docker-ce
systemctl start docker
构建镜像
git clone https://gitee.com/mizhexiaoxiao/vue-fastapi-admin.git
cd vue-fastapi-admin
docker build --no-cache . -t vue-fastapi-admin
启动容器
docker run -d --restart=always --name=vue-fastapi-admin -p 9999:80 vue-fastapi-admin
访问

http://localhost:9999

username:admin

password:123456

本地启动

后端

启动项目需要以下环境:

  • Python 3.11

方法一(推荐):使用 uv 安装依赖
  1. 安装 uv

pip install uv
  1. 创建并激活虚拟环境

uv venv
source .venv/bin/activate  # Linux/Mac
# 或
.\.venv\Scripts\activate  # Windows
  1. 安装依赖

uv add pyproject.toml
  1. 启动服务

python run.py
方法二:使用 Pip 安装依赖
  1. 创建虚拟环境

python3 -m venv venv
  1. 激活虚拟环境

source venv/bin/activate  # Linux/Mac
# 或
.\venv\Scripts\activate  # Windows
  1. 安装依赖

pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple
  1. 启动服务

python run.py

服务现在应该正在运行,访问 http://localhost:9999/docs 查看API文档

前端

启动项目需要以下环境:

  • node v18.8.0+

  1. 进入前端目录

cd web
  1. 安装依赖(建议使用pnpm: https://pnpm.io/zh/installation)

npm i -g pnpm # 已安装可忽略
pnpm i # 或者 npm i
  1. 启动

pnpm dev

图片

六、📌 总结

vue-fastapi-admin 作为一款基于前沿技术栈打造的现代化前后端分离管理平台,具有众多卓越的特性。它不仅能够帮助中小型应用快速搭建,还能为开发者提供一个学习参考的优质项目。无论是从技术选型、代码规范、权限控制还是功能实现等方面来看,vue-fastapi-admin 都表现出色。如果你正在寻找一个高效、安全、易用的管理平台开发框架,那么 vue-fastapi-admin 绝对值得一试。相信它会为你的开发工作带来全新的体验和效率提升。让我们一起拥抱 vue-fastapi-admin,开启中小型应用开发的新篇章!

项目地址

https://gitee.com/mizhexiaoxiao/vue-fastapi-admin

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

前端组件开发

你的钟意将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值