VueViteAdmin dashboardStarter

gvray-vue — Vue Admin dashboard Template

By gvray

An admin template built on Vue 3, Vite, TypeScript, Element Plus and Pinia, with built-in RBAC permissions, dynamic routing, multiple themes, internationalization, Mock and OpenAPI type synchronization, suitable as a starting framework for enterprise admin projects.

Explore the design

Compare the page layouts and mobile experience. Open any screenshot for a closer look.

1 previews
Author preview
Author-provided preview

Preview provided in the project README.

One original preview is available. Open the full image to inspect the design.

Screenshots show visual appearance; interactive behavior may differ.

Recorded 2026-10-02View source

What stands out

A quick read of the recorded project description.

01

RBAC permission management: menu- and button-level permission control, with v-hasPermi / v-hasRole directives

02

Dual-token authentication: access and refresh dual-token management with an expiration buffer strategy

03

Dynamic routing and multiple themes: automatic route and menu generation based on permissions, supporting light and dark theme switching

04

Internationalization and global dictionaries: vue-i18n-based multilingual support, with useDict one-click mapping of backend dictionaries

05

Data requests and tables: @gvray/request Axios request pipeline, TablePro enhanced table and useTablePage Hook

06

Mock and OpenAPI: vite-plugin-mock with switching to real APIs, and openapi-typescript automatic interface type synchronization

Template Details

gvray-vue is an MIT-licensed admin template whose stack is Vue 3, Vite, TypeScript, Element Plus and Pinia. The project is organized around an RBAC permission system, providing menu- and button-level permission control (v-hasPermi / v-hasRole directives), access and refresh dual-token authentication, automatic route and menu generation based on permissions, plus light and dark theme switching and vue-i18n-based multilingual support.

On the data and engineering side, the template includes useDict dictionary mapping, the @gvray/request Axios request pipeline with unified error handling, the TablePro enhanced table and useTablePage Hook, runtime configuration, vite-plugin-mock with switching to real APIs, openapi-typescript interface type synchronization, and configured ESLint, Prettier, Husky and lint-staged. Functional modules cover login authentication, registration, user/role/permission management, dictionary management, notifications and announcements, online users, service monitoring, cache monitoring, personal center, and 403/404 error pages.

Usage constraints: the development environment requires Node.js >= 20.19 and pnpm; the default pnpm dev uses built-in Mock data, with Mock test accounts admin / 123456 and super_admin / 123456; connecting to a real backend requires starting the companion gvray-admin (NestJS + Prisma) and using the staging environment, whose account credentials depend on the backend initialization data. The repository provides online preview and Docker deployment, architecture, and development guide documentation, but third-party assets such as demo images, fonts, and icons must be checked separately under their respective licenses.

VueViteAdminStarter

Is it right for your project?

Use Cases

  • Base framework for enterprise admin management systems
  • Backend portion of a SaaS management platform
  • Mid- and back-office projects requiring RBAC menu and button permission control
  • Used as an Admin Starter Template for frontend architecture practice

Suitable For

  • Teams using the Vue 3, Vite, TypeScript and Element Plus stack
  • Admin projects needing built-in permissions, internationalization, theme switching and Mock capabilities
  • Developers who want to start from an existing template and connect their own backend APIs
  • Frontend architecture practitioners who need reference implementations of RBAC and dynamic routing

Getting started & customization

Use these recorded setup notes alongside the repository instructions for your chosen version.

  1. 1

    Environment requires Node.js >= 20.19; Corepack is recommended to enable pnpm, then run pnpm install to install dependencies

  2. 2

    pnpm dev uses built-in Mock data, with test accounts admin / 123456 and super_admin / 123456

  3. 3

    Connecting to a real backend requires first starting gvray-admin (NestJS + Prisma), then using pnpm dev:staging; account credentials refer to the backend initialization data

  4. 4

    Build commands include pnpm build and environment-specific build:dev, build:staging, build:prod

  5. 5

    pnpm gen:api is used to synchronize interface TypeScript types via OpenAPI; pnpm lint and pnpm format are used for code checking and formatting

Read repository instructions

License & source material

Usage conditions & limitations

Free to use · keep license notice

This entry covers the free version in the public repository under the MIT license; the free scope is that version's code and does not mean external services or third-party assets are free.

Must comply with when using

  • Free use, modification, commercial use and distribution of that version's code are permitted.
  • When distributing copies or substantial portions of the code, retain the original author's copyright notice and the full MIT license notice.
  • The code is provided as is; warranties and liability limitations are governed by the original license and applicable law.

Additional costs & items to verify

  • Connecting to a real backend requires first deploying the companion gvray-admin (NestJS + Prisma) service and using the staging environment; its account credentials depend on the backend initialization data and are not included with the template.
  • The default pnpm dev uses only built-in Mock data, with Mock test accounts admin / 123456 and super_admin / 123456, and does not represent real backend capabilities.
  • The development environment requires Node.js 20.19 or above and the pnpm package manager.
  • Demo images, fonts, icons and other third-party assets must be checked under their respective licenses and cannot be judged solely by the code's MIT license.
  • External services such as domains, hosting, databases, payments or AI may incur separate charges.
View Original Text Basis

Permission is hereby granted, free of charge

Original License Text

推荐先启动 **gvray-admin** 后端,再使用 `staging` 环境体验完整功能。

Original README

默认开发环境(内置 Mock 数据)

Original README

Node.js >= 20.19(推荐使用 Corepack 启用 pnpm)

Original README
https://github.com/gvray/gvray-vue/blob/main/LICENSEhttps://github.com/gvray/gvray-vue/blob/main/README.md

Compiled by DeepSeek based on repository license and README ·2026-10-02. Results only cover the materials read; dependencies, images, fonts, and subsequent term changes are subject to their respective original texts.

Project checks & description sources

Template Information

Source platforms
GitHub
Documentation and maintenance reference score
More documented · 88 / 100
Technologies
Vue · Vite
Website type
Admin dashboard · Starter
How this score is calculated

Our heuristic uses license records (up to 30), a demo link (12), a preview (10), stars (15), recorded maintenance (15), description completeness (8), feature records (5) and classification data (5). It is not a code, security or performance test, or a Google score. A link does not establish tested functionality.

What to verify for this project

Repository update recorded
2026-10-01
Screenshot last checked
2026-10-02

A demo link is listed. Check it with your own content and viewport sizes; its presence does not confirm that forms, authentication or payments work.

The catalog identifies Vue as the primary stack. Check the actual dependency manifest and lockfile for versions and hosting requirements. These notes use recorded metadata, not a code audit or a deployment test.

Use a selection guide →

How this description was prepared

AI-assisted description based on catalog records and repository material. Repository authors are not automatically the reviewers of this description.

Automatically checked against source and license rules; no manual editorial review.

Inspect the recorded source material

SHA-256: 4c6682273d3616dd6890c80780b09e5f28a6f032006f3a1d65752bff34076408

2026-10-02T07:06:17.027Z

Source file / repository
# 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**。

你的支持,是项目持续迭代和完善的最大动力。
Report a correction

Explore similar templates

Compare previews and descriptions within the same stack and category.

vuestic-admin

vuestic-admin

Vuestic Admin is an open-source Vue 3 admin template maintained by Epicmax, built on Vuestic UI with Vite, Pinia, and Tailwind CSS. It provides a ready-to-run dashboard with a dark theme, global configuration, i18n internationalization, and responsive layout.

Vue · Admin dashboard

vitesse

vitesse

Vitesse is an opinionated Vite + Vue 3 starter template maintained by antfu-collective, offering file-based routing, component and API auto-import, Pinia, UnoCSS, PWA, i18n, Markdown, vite-ssg, TypeScript, Vitest, and Cypress.

Vue · Starter

v3-admin-vite

v3-admin-vite

v3-admin-vite is an AI-friendly Vue3 admin template built on Vue3, Vite, TypeScript, and Element Plus. It keeps a lean structure with detailed comments, supports backend-controlled dynamic route permissions, page-level and button-level permissions, multiple themes and layouts, and mobile compatibility.

Vue · Admin dashboard

vue-typescript-admin-template

vue-typescript-admin-template

A Vue 2.6 + TypeScript + Element UI admin template ported from vue-element-admin, offering type safety and enterprise features like permission authentication, internationalization, dynamic themes, editors, charts, Excel/PDF handling, and PWA support.

Vue · Admin dashboard

vue-antd-admin

vue-antd-admin

Vue Antd Admin is the Vue implementation of Ant Design Pro, providing an out-of-the-box front-end and design solution for admin dashboards.

Vue · Admin dashboard

coreui-free-vue-admin-template

coreui-free-vue-admin-template

CoreUI's official free Vue admin template, MIT licensed, built on Vue 3 and the CoreUI component library with Vue Router, Pinia, and Vite.

Vue · Admin dashboard