From c8b195d12829eb1c6417ee2223f2443a51e38f63 Mon Sep 17 00:00:00 2001
From: pany <939630029@qq.com>
Date: Sat, 23 Apr 2022 10:09:03 +0800
Subject: [PATCH] =?UTF-8?q?docs:=20=E6=9B=B4=E6=96=B0=20README?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 README.md             | 29 +++++++++++++++++++++++++++--
 types/components.d.ts | 19 +++++++++++++++++++
 2 files changed, 46 insertions(+), 2 deletions(-)

diff --git a/README.md b/README.md
index 096ed77..02fe206 100644
--- a/README.md
+++ b/README.md
@@ -1,11 +1,36 @@
 ## ⚡️ 简介
 
-一个中后台管理系统基础解决方案,基于 Vue3、TypeScript、Element-Plus、Pinia 和 Vite.
+一个免费开源的中后台管理系统基础解决方案,基于 Vue3、TypeScript、Element-Plus、Pinia 和 Vite 等主流技术.
 
-模板代码是从 [v3-admin v3.1.3](https://github.com/un-pany/v3-admin) 迁移而来,只是脚手架从 vue-cli 5.x 切换到了 vite,并作了一些繁琐的适配.
+模板代码是从 [v3-admin](https://github.com/un-pany/v3-admin) 迁移而来,脚手架从 vue-cli 5.x 切换到了 vite 2.9.x,并作了一些繁琐的适配.
 
 更推荐大家使用该 vite 版本!以后的重心也会从 [v3-admin](https://github.com/un-pany/v3-admin) 偏向本仓库.
 
+## 特性
+
+- **Vue3**:采用 Vue3 + script setup 最新的 Vue3 组合式 API
+- **Element Plus**:Element UI 的正统续作
+- **Pinia**: 传说中的 Vuex5
+- **Vite**:真的很快
+- **Vue Router**:没啥好说的
+- **TypeScript**:JavaScript 语言的超集
+- **PNPM**:更快速的,节省磁盘空间的包管理工具
+- **Sass**:和 Element Plus 保持一致
+- **Eslint**:代码校验
+- **Pritter**:代码格式化
+- **Axios**:没啥好说的,已封装好
+- **注释**:各个配置项都写有尽可能详细的注释
+
+## 功能
+
+- **用户管理**:登录、登出演示
+- **权限管理**:内置页面权限(动态路由)、指令权限、权限函数、路由守卫
+- **多环境**:开发环境(development)、预发布环境(staging)、正式环境(production)
+- **多主题**:内置普通、黑暗两种主题模式
+- **错误页面**: 401、404
+- **Dashboard**:根据不同用户显示不同的 Dashboard 页面
+- **其他内置功能**:SVG、动态侧边栏、动态面包屑、标签页快捷导航、Screenfull 全屏、自适应收缩侧边栏(兼容移动端)
+
 ## 📚 文档
 
 [简体中文](https://juejin.cn/post/7089377403717287972)
diff --git a/types/components.d.ts b/types/components.d.ts
index c41c41f..be4c987 100644
--- a/types/components.d.ts
+++ b/types/components.d.ts
@@ -5,6 +5,25 @@ import '@vue/runtime-core'
 
 declare module '@vue/runtime-core' {
   export interface GlobalComponents {
+    ElAvatar: typeof import('element-plus/es')['ElAvatar']
+    ElBreadcrumb: typeof import('element-plus/es')['ElBreadcrumb']
+    ElBreadcrumbItem: typeof import('element-plus/es')['ElBreadcrumbItem']
+    ElDrawer: typeof import('element-plus/es')['ElDrawer']
+    ElDropdown: typeof import('element-plus/es')['ElDropdown']
+    ElDropdownItem: typeof import('element-plus/es')['ElDropdownItem']
+    ElDropdownMenu: typeof import('element-plus/es')['ElDropdownMenu']
+    ElIcon: typeof import('element-plus/es')['ElIcon']
+    ElMenu: typeof import('element-plus/es')['ElMenu']
+    ElMenuItem: typeof import('element-plus/es')['ElMenuItem']
+    ElRadioButton: typeof import('element-plus/es')['ElRadioButton']
+    ElRadioGroup: typeof import('element-plus/es')['ElRadioGroup']
+    ElScrollbar: typeof import('element-plus/es')['ElScrollbar']
+    ElSubMenu: typeof import('element-plus/es')['ElSubMenu']
+    ElSwitch: typeof import('element-plus/es')['ElSwitch']
+    ElTabPane: typeof import('element-plus/es')['ElTabPane']
+    ElTabs: typeof import('element-plus/es')['ElTabs']
+    ElTag: typeof import('element-plus/es')['ElTag']
+    ElTooltip: typeof import('element-plus/es')['ElTooltip']
     RouterLink: typeof import('vue-router')['RouterLink']
     RouterView: typeof import('vue-router')['RouterView']
     Screenfull: typeof import('./../src/components/Screenfull/index.vue')['default']