<div align="center">
  <img alt="logo" width="120" height="120" src="./src/common/assets/images/layouts/logo.png">
  <h1>V3 Admin Vite</h1>
</div>

[![github release](https://img.shields.io/github/v/release/un-pany/v3-admin-vite?style=flat)](https://github.com/un-pany/v3-admin-vite/releases)
[![github stars](https://img.shields.io/github/stars/un-pany/v3-admin-vite?style=flat)](https://github.com/un-pany/v3-admin-vite/stargazers)
[![gitee stars](https://gitee.com/un-pany/v3-admin-vite/badge/star.svg)](https://gitee.com/un-pany/v3-admin-vite/stargazers)

<b><a href="./README.md">English</a> | 中文</b>

## 简介

V3 Admin Vite 是一个免费开源的中后台管理系统基础解决方案，基于 Vue3、Vite、TypeScript、Element Plus 等主流技术

## 通知

> [!NOTE]
> 为爱发电！所有源码均免费开源，如果对你有帮助，欢迎点个 Star 支持一下！

> [!IMPORTANT]
> 欢迎体验全新的 5.0 版本，目前正在 beta 阶段，它将是一次匠心之作！

> [!WARNING]
> 4.x 版本如果没有严重的 BUG 将不再维护！[点击切换到 4.x 分支](https://github.com/un-pany/v3-admin-vite/tree/4.x)

> [!TIP]
> 正式推出付费服务，如果不想自己动手，但想移除 TS 或其他模块？试试懒人套餐！[点击看看](https://github.com/un-pany/v3-admin-vite/issues/225)

## 使用

<details>
<summary>推荐环境</summary>

<br>

- 新版 `Visual Studio Code`
- 安装 `.vscode/extensions.json` 文件中推荐的插件
- `node` 20.x 或 22+
- `pnpm` 9+

</details>

<details>
<summary>本地开发</summary>

<br>

```bash
# 克隆项目
git clone https://github.com/un-pany/v3-admin-vite.git

# 进入项目目录
cd v3-admin-vite

# 安装依赖
pnpm i

# 启动服务
pnpm dev
```

</details>

<details>
<summary>打包构建</summary>

<br>

```bash
# 打包构建预发布环境
pnpm build:staging

# 打包构建生产环境
pnpm build
```

</details>

<details>
<summary>本地预览</summary>

<br>

```bash
# 先执行打包构建命令生成 dist 目录后再执行以下预览命令
pnpm preview
```

</details>

<details>
<summary>代码检查</summary>

<br>

```bash
# 代码校验与格式化
pnpm lint

# 单元测试
pnpm test
```

</details>

<details>
<summary>代码提交规范</summary>

<br>

`feat` 新功能

`fix` 修复错误

`perf` 优化

`refactor` 重构代码

`docs` 文档和注释

`types` 类型相关

`test` 单测相关

`ci` 持续集成、工作流

`revert` 撤销更改

`chore` 琐事（更新依赖、修改配置等）

</details>

## 链接

**在线预览**：[github-pages](https://un-pany.github.io/v3-admin-vite)

**中文文档**：[链接](https://juejin.cn/post/7445151895121543209)

**零基础教程**：[链接](https://juejin.cn/column/7207659644487139387)

**Electron 桌面版**: [v3-electron-vite](https://github.com/un-pany/v3-electron-vite)

**国内仓库**：[gitee](https://gitee.com/un-pany/v3-admin-vite)

**可有可无的群**：[查看进群方式](https://github.com/un-pany/v3-admin-vite/issues/191)

**捐赠**：[请作者喝咖啡](https://github.com/un-pany/v3-admin-vite/issues/69)

**发行版 & 更新日志**：[releases](https://github.com/un-pany/v3-admin-vite/releases)

## 特性

**结构精简**：没有复杂的封装，没有复杂的类型体操，刚好够用

**详细的注释**：各个配置项都写有尽可能详细的注释

**最新的依赖**: 及时更新所有三方依赖至最新版

**有一点规范**: 代码风格统一、命名风格统一、注释风格统一

## 内置功能

**用户管理**：登录、登出演示

**权限管理**：页面级权限（动态路由）、按钮级权限（指令权限、权限函数）、路由守卫

**多环境**：开发环境（development）、预发布环境（staging）、生产环境（production）

**多主题**：普通、黑暗、深蓝, 三种主题模式

**多布局**：左侧、顶部、混合, 三种布局模式

**首页**：根据不同用户显示不同的 Dashboard 页面

**错误页**: 403、404

**兼容移动端**: 布局兼容移动端页面分辨率

**其他**：SVG 雪碧图、动态侧边栏、动态面包屑、标签页快捷导航、内容区放大与全屏、组合式函数

## 技术栈

**Vue3**：采用 Vue3 + script setup 最新的 Vue3 组合式 API

**Element Plus**：Element UI 的 Vue3 版本

**Pinia**: 传说中的 Vuex5

**Vite**：真的很快

**Vue Router**：路由路由

**TypeScript**：JavaScript 语言的超集

**pnpm**：更快速的，节省磁盘空间的包管理工具

**Scss**：和 Element Plus 保持一致

**CSS 变量**：主要控制项目的布局和颜色

**ESlint**：代码校验与格式化

**Axios**：发送网络请求（已封装好）

**UnoCSS**：具有高性能且极具灵活性的即时原子化 CSS 引擎

## 项目预览图

![preview](./src/common/assets/images/docs/preview.png)

## 贡献者

在此感谢所有的贡献者！

<a href="https://github.com/un-pany/v3-admin-vite/graphs/contributors">
  <img src="https://contrib.rocks/image?repo=un-pany/v3-admin-vite">
</a>

## License

[MIT](./LICENSE) License © 2022-PRESENT [pany](https://github.com/pany-ang)
