RBAC 权限管理:菜单与按钮级权限控制,提供 v-hasPermi / v-hasRole 指令
gvray-vue — Vue 后台模板
作者 gvray
基于 Vue 3、Vite、TypeScript、Element Plus 与 Pinia 的后台管理模板,内置 RBAC 权限、动态路由、多主题、国际化、Mock 与 OpenAPI 类型同步,可作为企业后台项目的起步框架。
看看你的网站会是什么样
浏览真实页面截图,比较内容排版与手机效果。点击下方缩略图切换,放大查看整页细节。
目前有 1 张原始预览,可打开完整图片查看设计细节。
截图用于了解视觉与布局,交互效果请以实际项目为准。
值得关注的模板亮点
从已有项目资料中,快速了解它的特点。
双 Token 认证:access 与 refresh 双 Token 管理,带过期缓冲策略
动态路由与多主题:基于权限自动生成路由与菜单,支持浅色、深色主题切换
国际化与全局字典:基于 vue-i18n 的多语言支持,useDict 一键映射后端字典
数据请求与表格:@gvray/request Axios 请求管线、TablePro 增强表格与 useTablePage Hook
Mock 与 OpenAPI:vite-plugin-mock 与真实接口切换,openapi-typescript 自动同步接口类型
模板详细介绍
gvray-vue 是一个采用 MIT 许可的后台管理模板,技术栈为 Vue 3、Vite、TypeScript、Element Plus 与 Pinia。项目围绕 RBAC 权限体系组织,提供菜单与按钮级权限控制(v-hasPermi / v-hasRole 指令)、access 与 refresh 双 Token 认证、基于权限自动生成路由与菜单,以及浅色与深色主题切换和基于 vue-i18n 的多语言支持。
在数据与工程层面,模板包含 useDict 字典映射、@gvray/request 的 Axios 请求管线与统一错误处理、TablePro 增强表格及 useTablePage Hook、运行时配置、vite-plugin-mock 与真实接口切换、openapi-typescript 接口类型同步,并配置了 ESLint、Prettier、Husky 与 lint-staged。功能模块覆盖登录认证、注册、用户/角色/权限管理、字典管理、通知公告、在线用户、服务监控、缓存监控、个人中心以及 403/404 错误页。
使用限制方面:开发环境要求 Node.js >= 20.19 并使用 pnpm;默认 pnpm dev 使用内置 Mock 数据,Mock 测试账号为 admin / 123456 与 super_admin / 123456;连接真实后端需启动配套的 gvray-admin(NestJS + Prisma)并使用 staging 环境,其账号密码取决于后端初始化数据。仓库提供在线预览与 Docker 部署、架构、开发指南等文档,但演示图片、字体、图标等第三方素材需按各自许可单独核对。
适合你的项目吗?
适用场景
- 企业后台管理系统的基础框架
- SaaS 管理平台的后台部分
- 需要 RBAC 菜单与按钮权限控制的中后台项目
- 作为 Admin Starter Template 用于前端架构实践
适合人群
- 使用 Vue 3、Vite、TypeScript 与 Element Plus 技术栈的团队
- 需要内置权限、国际化、主题切换与 Mock 能力的后台项目
- 希望以现成模板起步并连接自有后端接口的开发者
- 需要参考 RBAC 与动态路由实现方式的前端架构实践者
上手与定制指南
结合仓库当前版本的说明,按下面的资料检查内容、配置与运行要求。
- 1
环境要求 Node.js >= 20.19,推荐使用 Corepack 启用 pnpm,然后执行 pnpm install 安装依赖
- 2
pnpm dev 使用内置 Mock 数据,测试账号为 admin / 123456 与 super_admin / 123456
- 3
连接真实后端需先启动 gvray-admin(NestJS + Prisma),再使用 pnpm dev:staging,账号密码参考后端初始化数据
- 4
构建命令包括 pnpm build 及按环境区分的 build:dev、build:staging、build:prod
- 5
pnpm gen:api 用于通过 OpenAPI 同步接口 TypeScript 类型,pnpm lint 与 pnpm format 用于代码检查与格式化
授权与来源资料
使用条件与限制
免费使用 · 保留许可声明本次收录的是公开仓库中采用 MIT 许可的免费版本;免费范围为该版本代码,不代表外部服务或第三方素材免费。
使用时需要遵守
- 允许免费使用、修改、商用和分发该版本代码。
- 分发代码副本或实质性部分时,保留原作者版权声明和完整 MIT 许可声明。
- 代码按现状提供;担保与责任限制以原许可证及适用法律为准。
额外费用与待核对事项
- 连接真实后端需先部署配套的 gvray-admin(NestJS + Prisma)服务,并使用 staging 环境;其账号密码取决于后端初始化数据,非模板自带。
- 默认 pnpm dev 仅使用内置 Mock 数据,Mock 测试账号为 admin / 123456 与 super_admin / 123456,不代表真实后端能力。
- 开发环境要求 Node.js 20.19 及以上,并使用 pnpm 包管理器。
- 演示图片、字体、图标及其他第三方素材需按各自许可核对,不能仅凭代码的 MIT 许可判断。
- 域名、托管、数据库、支付或 AI 等外部服务可能另外收费。
查看原文依据
Permission is hereby granted, free of charge
许可证原文
推荐先启动 **gvray-admin** 后端,再使用 `staging` 环境体验完整功能。
README 原文
默认开发环境(内置 Mock 数据)
README 原文
https://github.com/gvray/gvray-vue/blob/main/LICENSEhttps://github.com/gvray/gvray-vue/blob/main/README.mdNode.js >= 20.19(推荐使用 Corepack 启用 pnpm)
README 原文
DeepSeek 根据仓库许可证和 README 整理 ·2026-10-02。结果仅覆盖已读取资料,依赖、图片、字体及后续条款变更以各自原文为准。
项目核对记录与介绍依据
模板资料
- 来源平台
- GitHub
- 资料与维护参考分
- 资料较完整 · 88 / 100
- 技术栈
- Vue · Vite
- 网站类型
- 后台 · 启动器
这个分数如何计算
本站按许可资料(最高30分)、演示链接(12分)、预览图(10分)、Star数(15分)、记录的维护时间(15分)、描述完整度(8分)、功能记录(5分)和分类资料(5分)计算。它不是代码、安全或性能测试,也不是 Google 评分;有链接不代表已实测可用。
这个项目需要核对什么
- 记录的仓库更新时间
- 2026-10-01
- 截图检查日期
- 2026-10-02
已收录演示链接。请用你的内容与屏幕尺寸检查;有演示不代表表单、认证或支付已经可用。
目录记录的主要技术栈是 Vue。请通过依赖清单和锁文件核对实际版本与托管要求。这些说明基于收录资料,不代表代码审计或部署实测。
查看具体选型方法 →介绍的制作与核对状态
介绍由 AI 辅助整理目录与仓库资料。仓库作者不等于这篇介绍的审核者。
已完成服务器许可规则与 AI 来源核对;未经过人工编辑审核。
查看当时使用的来源资料
SHA-256: 4c6682273d3616dd6890c80780b09e5f28a6f032006f3a1d65752bff34076408
2026-10-02T07:06:17.027Z
来源文件 / 仓库# Gvray Vue Admin 🦄 基于 **Vue3**、**Vite**、**Pinia**、**Element Plus**、**TypeScript** 构建的企业级后台管理系统,专注于 **现代前端架构** 与 **RBAC 权限体系** 设计,提供动态路由、多主题、国际化、运行时配置、Mock、OpenAPI 等核心能力,可直接作为企业后台项目的 Starter Template。 <!-- keywords: vue, vue3, vite, vite7, element-plus, element-plus-icons-vue, typescript, pinia, vue-router, vue-i18n, axios, rbac, permission, access-control, dashboard, admin, admin-template, starter-template, boilerplate, mock, openapi, i18n, theme --> ## 📸 项目预览 <p align="center"> <img src="./docs/screenshots/2026-10-01/light/demo.webp" width="49%" alt="Light Theme" /> <img src="./docs/screenshots/2026-10-01/dark/demo.webp" width="49%" alt="Dark Theme" /> </p> **在线预览:** - [vue.gvray.com](https://vue.gvray.com) · **主站** - [GitHub Pages](https://gvray.github.io/gvray-vue) · **备用** ## ✨ 核心能力 | 能力 | 描述 | | -------------------- | ----------------------------------------------------- | | 🔐 RBAC 权限管理 | 菜单、按钮(`v-hasPermi` / `v-hasRole` 指令)权限控制 | | 🔑 双 Token 认证 | access + refresh 双 Token 管理,带过期缓冲策略 | | 🧭 动态路由 | 基于权限自动生成路由与菜单 | | 🎨 多主题 | 支持浅色、深色等主题切换 | | 🌍 国际化 | 基于 vue-i18n 的多语言支持 | | 📖 全局字典系统 | `useDict` 后端字典一键映射 | | 🗂️ 状态管理 | Pinia 轻量状态管理,支持持久化 | | 🛡️ 全局错误处理 | 路由守卫与异常页(403 / 404)统一兜底 | | 🌐 数据请求 | `@gvray/request` Axios 请求管线与统一错误处理 | | ⚙️ Runtime Config | 运行时配置,无需重新构建即可调整部分配置 | | 🎭 Mock | vite-plugin-mock 与真实接口无缝切换 | | 📄 OpenAPI | openapi-typescript 自动同步接口定义与 TypeScript 类型 | | 🏗️ TablePro 增强表格 | 内置高级搜索、分页、刷新、`useTablePage` Hook | | 🐳 工程化 | TypeScript、ESLint、Prettier、Husky、lint-staged | ## 🎯 适用场景 适合作为以下项目的基础框架: - 企业后台管理系统 - SaaS 管理平台 - RBAC 权限系统 - 中后台管理平台 - Admin Starter Template - 前端架构实践项目 ## 🧩 核心功能模块 | 模块 | 功能 | | ------------- | -------------------------------------------- | | 👤 身份与权限 | 登录认证、注册、用户管理、角色管理、权限管理 | | ⚙️ 系统管理 | 用户管理、字典管理、通知公告 | | 📊 系统监控 | 在线用户、服务监控、缓存监控 | | 👤 个人中心 | 个人资料、个人设置 | | 📝 错误页 | 403 异常页、404 异常页 | ## 📖 文档导航 | 文档 | 说明 | | -------------------------------------------------- | ------------------ | | [Roadmap](docs/roadmap.md) | 功能规划与开发进度 | | [Architecture Documentation](docs/architecture.md) | 系统架构设计与实现 | | [Developer Guide](docs/developer-guide.md) | 开发指南 | | [Docker 部署指南](docs/docker.md) | Docker 化部署方案 | | [Theme 规范](docs/theme-guidelines.md) | 主题与样式设计规范 | | [Contributing](docs/contributing.md) | 提交规范与贡献指南 | ## 🚀 快速开始 ### 环境要求 - Node.js >= 20.19(推荐使用 Corepack 启用 pnpm) - pnpm ### 安装依赖 ```bash pnpm install ``` ### 启动项目 ```bash # 默认开发环境(内置 Mock 数据) pnpm dev # 测试环境(连接 gvray-admin 后端) pnpm dev:staging # 生产环境配置预览 pnpm dev:prod ``` ### 构建产物 ```bash # 构建所有环境 pnpm build # 或按环境单独构建 pnpm build:dev # 开发环境 pnpm build:staging # 测试环境 pnpm build:prod # 生产环境 ``` ### 其他命令 ```bash pnpm gen:api # 通过 OpenAPI 同步接口 TypeScript 类型 pnpm lint # 代码检查 pnpm lint:fix # 代码检查并自动修复 pnpm format # 格式化 JSON / Markdown / YAML ``` ### 测试账号 | 环境 | 账号 | 密码 | | ----------------------------- | -------------------- | -------------------- | | Mock(`pnpm dev`) | `admin` | `123456` | | Mock(`pnpm dev`) | `super_admin` | `123456` | | Staging(`pnpm dev:staging`) | 请参考后端初始化数据 | 请参考后端初始化数据 | > 💡 推荐先启动 **gvray-admin** 后端,再使用 `staging` 环境体验完整功能。 更多配置请参考: - `.env.dev` - `.env.staging` - `.env.prod` - `.env.example` 后端仓库: 👉 https://github.com/gvray/gvray-admin ## 🌱 项目生态 | 仓库 | 技术栈 | | ------------------------------------------------------- | ------------------------------------ | | **[gvray-admin](https://github.com/gvray/gvray-admin)** | NestJS + Prisma | | **[gvray-react](https://github.com/gvray/gvray-react)** | React + Umi | | **[gvray-vite](https://github.com/gvray/gvray-vite)** | React + Vite | | **[gvray-vue](https://github.com/gvray/gvray-vue)** | Vue3 + Vite + Element Plus(本仓库) | | **[gvray-next](https://github.com/gvray/gvray-next)** | Next.js | ## ❤️ 支持项目 如果这个项目对你有所帮助,欢迎点一个 **⭐ Star**。 你的支持,是项目持续迭代和完善的最大动力。
看看同类模板
对比同技术栈与用途的模板,找到更适合的视觉与内容结构。

vuestic-admin
Vuestic Admin is an open-source, ready-to-use admin template suite designed for rapid development, easy mainte…
Vue · 后台

vitesse
🏕 Opinionated Vite + Vue Starter Template
Vue · 启动器

v3-admin-vite
v3-admin-vite 是一个主打 AI 编程友好体验的 Vue3 后台管理模板,基于 Vue3、Vite、TypeScript、Element Plus 构建。
Vue · 后台

vue-typescript-admin-template
vue-typescript-admin-template 是一套面向后台管理界面的前端解决方案,基于 Vue 2.6、TypeScript 和 Element UI 构建。
Vue · 后台

vue-antd-admin
Vue Antd Admin 是 Ant Design Pro 的 Vue 实现版本,目标是为中后台项目提供一套开箱即用的前端与设计解决方案。
Vue · 后台

coreui-free-vue-admin-template
Free Vue Admin & Dashboard Template Built for AI-Assisted Development
Vue · 后台
