项目介绍
概述
Ape-Volo-Admin 是一款基于 .NET 8 + SqlSugar + Vue 3 + Element Plus 构建的现代化企业级权限管理系统,开箱即用,助力企业快速开发。
核心特性:
- 🚀 开箱即用 - 完整的权限管理系统,快速启动项目
- 🎯 技术先进 - 采用最新的 .NET 8 和 Vue 3 技术栈
- 🔐 权限完善 - 支持角色、菜单、按钮、数据等多维度权限控制
- 🏢 多租户 - 提供 ID 隔离和库隔离两种租户方案
- 📊 功能丰富 - 集成作业调度、消息队列、日志管理等企业级功能
- 🛠️ 易于扩展 - 模块化设计,支持灵活定制和扩展
🔗 仓库地址
后端仓库
| 平台 | 地址 | 说明 |
|---|---|---|
| GitHub | https://github.com/xianhc/ape-volo-admin | 推荐,更新及时 |
| Gitee | https://gitee.com/xianhc/ape-volo-admin | 国内镜像 |
前端仓库
| 平台 | 地址 | 说明 |
|---|---|---|
| GitHub | https://github.com/xianhc/ape-volo-web | 推荐,更新及时 |
| Gitee | https://gitee.com/xianhc/ape-volo-web | 国内镜像 |
🌐 在线体验
演示地址: https://vip.apevolo.com
测试账号:
- 用户名:
apevolo - 密码:
123456
温馨提示
演示环境仅供体验(已禁止修改操作)。如需完整体验,建议本地部署。
💻 开发环境要求
必需工具
| 工具 | 版本要求 | 用途 | 下载地址 |
|---|---|---|---|
| .NET SDK | 8.0+ | 后端 API 开发与运行 | 下载 |
| Node.js | 18.0+ | 前端开发与构建 | 下载 |
| npm/yarn | 最新稳定版 | 前端包管理工具 | 随 Node.js 安装 |
推荐工具
| 工具 | 说明 | 推荐理由 |
|---|---|---|
| Visual Studio 2022 / Rider | .NET 开发 IDE | 强大的代码提示和调试功能 |
| VS Code | 前端开发编辑器 | 轻量级,插件丰富 |
| MySQL 8.0+ / SQL Server 2019+ | 数据库 | 高性能,功能完善 |
| Redis 6.0+ | 缓存服务 | 可选,用于分布式缓存 |
| Git | 版本控制 | 代码管理必备 |
🛠️ 技术栈
后端技术
| 技术 | 版本 | 说明 |
|---|---|---|
| .NET | 8.0 | 现代化的 Web API 框架 |
| SqlSugar | 5.x | 轻量级 ORM,支持多种数据库 |
| Autofac | 最新版 | IoC 容器,依赖注入 |
| JWT | - | 用户认证授权 |
| Swagger | 最新版 | API 文档自动生成 |
| Serilog | 最新版 | 结构化日志记录 |
| Quartz.NET | 最新版 | 作业调度引擎 |
| RabbitMQ | 3.x | 消息队列(可选) |
| Redis | 6.0+ | 分布式缓存(可选) |
| AspNetCoreRateLimit | 最新版 | API 限流保护 |
核心特性:
- ✅ 数据库支持 - SqlSugar 支持 MySQL、SQL Server、SQLite、PostgreSQL、Oracle、达梦等主流数据库
- ✅ 缓存方案 - 提供 Redis 和 DistributedCache 两种缓存选择(Redis 默认关闭)
- ✅ 消息队列 - 支持 RabbitMQ 和 RedisMQ 两种实现
- ✅ 日志输出 - 支持数据库、控制台、文件、Elasticsearch 多种日志目标
- ✅ 配置管理 - 通过
OptionsSettingsAttribute特性实现配置类自动绑定 - ✅ 批量注入 - Autofac 实现服务批量自动注入
前端技术
| 技术 | 版本 | 说明 |
|---|---|---|
| Vue | 3.x | 渐进式 JavaScript 框架 |
| Vite | 4.x | 新一代前端构建工具 |
| Element Plus | 最新版 | 基于 Vue 3 的组件库 |
| Pinia | 最新版 | Vue 3 状态管理 |
| Vue Router | 4.x | 官方路由管理器 |
| Axios | 最新版 | HTTP 请求库 |
| TypeScript | 5.x | JavaScript 超集(可选) |
核心特性:
- ✅ Composition API - Vue 3 组合式 API,代码组织更灵活
- ✅ 组件化开发 - Element Plus 提供丰富的企业级 UI 组件
- ✅ 状态管理 - Pinia 轻量级状态管理方案
- ✅ 动态路由 - 根据权限动态生成菜单和路由
- ✅ 权限指令 - 自定义
v-has-perm、v-has-role权限指令 - ✅ 主题定制 - 支持明暗主题切换和主题色自定义
🎯 核心功能
权限管理系统
| 功能模块 | 功能说明 | 核心特性 |
|---|---|---|
| 用户管理 | 系统用户的增删改查 | • 用户基本信息管理 • 角色分配 • 部门组织架构 • 用户状态控制 |
| 角色管理 | 角色权限配置 | • API 权限控制 • 菜单权限控制 • 按钮权限控制 • 数据权限控制 |
| 菜单管理 | 动态菜单配置 | • 多级菜单支持 • 图标自定义 • 路由动态生成 • 按钮权限标识 |
| 部门管理 | 组织架构管理 | • 树形结构展示 • 部门层级管理 • 数据权限关联 |
| 租户管理 | 多租户支持 | • ID 隔离:共享数据库,通过租户 ID 隔离 • 库隔离:独立数据库,物理隔离 |
系统管理
| 功能模块 | 功能说明 | 核心特性 |
|---|---|---|
| 字典管理 | 基础数据维护 | • 字典分类管理 • 字典项配置 • 前端缓存优化 • 统一枚举管理 |
| 作业调度 | 定时任务管理 | • Cron 表达式配置 • 任务启停控制 • 执行日志记录 • 任务参数传递 |
| 日志管理 | 系统日志记录 | • 操作日志:用户行为审计 • 异常日志:系统异常追踪 • SQL 日志:数据库操作记录 • 定时任务日志:作业执行记录 |
| 文件管理 | 文件上传下载 | • 本地存储 |
监控与运维
| 功能模块 | 功能说明 | 核心特性 |
|---|---|---|
| 服务器监控 | 资源实时监控 | • CPU 使用率 • 内存占用 • 磁盘空间 • 网络流量 |
| 在线用户 | 用户会话管理 | • 在线用户列表 • 强制下线 • 会话超时控制 |
| IP 黑名单 | 访问控制 | • IP 拦截 • 访问频率限制 • 恶意请求防护 |
业务功能
| 功能模块 | 功能说明 | 核心特性 |
|---|---|---|
| 邮件管理 | 邮件发送功能 | • 邮件模板 • 队列发送 • 发送记录 • 失败重试 |
| 消息通知 | 站内消息 | • 系统通知 • 消息推送 • 已读未读状态 |
🔒 权限控制
系统实现了多维度的权限控制体系:
1. API 权限
- 基于 JWT Token 的身份认证
- 通过
AuthorizationHandler自定义授权逻辑 - 支持细粒度的接口权限控制
2. 菜单权限
- 根据用户角色动态生成菜单树
- 前端路由自动注册
- 无权限菜单自动隐藏
3. 按钮权限
- 自定义
v-has-perm指令控制按钮显示 - 权限标识统一管理
- 支持多权限组合判断
4. 数据权限
- 全部数据:查看所有数据
- 本部门数据:仅查看本部门数据
- 本部门及子部门数据:查看部门及下级数据
- 自定义部门数据:自定义选择可见部门
- 仅本人数据:仅查看个人创建的数据

