**中文** | [English](./README.en.md)
diff --git a/README.md b/README.md
index c943d1acdb18c381091256025246d3e440dbb561..b2fce21a4091afa266214938fd207935b9ad2c04 100644
--- a/README.md
+++ b/README.md
@@ -1,22 +1,26 @@
-

+
**中文** | [English](./README.en.md)
## 简介
-quick-vue3-admin 是一款免费开源快速搭建中后台系统框架。本框架基于 vite2+element-plus 等最新主流技术并封装了通用的组件方便开发者提高工作效率。后期也会通过版本升级的方式来维护并更新,使开发者拥有一款长期并且稳定的脚手架。
+quick-vue3-admin 是一款免费开源快速搭建中后台系统框架。本框架基于 vite2、vue3、element-plus、pinia 等最新主流技术并封装了通用的组件方便开发者提高工作效率。后期也会通过版本升级的方式来维护并更新,使开发者拥有一款长期并且稳定的脚手架。本团队还提供了基于 quick 框架开发的各类业务项目,如有相关需求联系管理员。
## 软件特色
-1. 使用前端最新技术栈 vite2、vue3 和 typescript
+1. 使用 vite2、vue3、element-plus、pinia 和 typescript 等前言技术
2. 封装了通用的组件
3. 提供了系统管理常用功能模块
4. 提供权限管理模块
5. 动态菜单技术
6. 动态路由技术
-7. 前后端分离
-8. 官方提供稳定并长期维护的后端接口项目
+7. 使用 JWT 鉴权
+8. 使用中间件异常处理
+9. 前后端分离
+10. 提供免费帮助通道
+11. 免费提供框架演示环境
+12. 官方提供稳定并长期维护的 node 轻后端接口项目
## 预览
@@ -76,7 +80,7 @@ pnpm run build
## 寻求帮助
-1. 百度尝试解决
+1. 查看官方帮助文档
2. 发起 Issue
3. 加 quick 框架 QQ 群:558795174
@@ -93,3 +97,4 @@ pnpm run build
5. 点个 star 把
6. 如果你觉得这个项目对你有帮助,你可以帮作者买一杯咖啡表示支持!

+7. 如需加入开源,请联系管理员
diff --git a/public/images/logo.png b/public/images/logo.png
new file mode 100644
index 0000000000000000000000000000000000000000..65e6d2cc173874f62bece4b25c479c950709e29f
Binary files /dev/null and b/public/images/logo.png differ
diff --git a/src/assets/logo.png b/src/assets/logo.png
index f3d2503fc2a44b5053b0837ebea6e87a2d339a43..65e6d2cc173874f62bece4b25c479c950709e29f 100644
Binary files a/src/assets/logo.png and b/src/assets/logo.png differ
diff --git a/src/config/custormIcons.json b/src/config/custormIcons.json
new file mode 100644
index 0000000000000000000000000000000000000000..bef38b20f3ad3fa365300d1e04c50e8a9828ce46
--- /dev/null
+++ b/src/config/custormIcons.json
@@ -0,0 +1,4 @@
+[
+ { "label": "AddLocation", "value": "AddLocation" },
+ { "label": "Aim", "value": "Aim" }
+]
diff --git a/src/config/elementPlusIcon.json b/src/config/elementPlusIcon.json
new file mode 100644
index 0000000000000000000000000000000000000000..464feb4ff7cf9e4ed595a2d32c37fd1a87d718d0
--- /dev/null
+++ b/src/config/elementPlusIcon.json
@@ -0,0 +1,285 @@
+[
+ { "label": "AddLocation", "value": "AddLocation" },
+ { "label": "Aim", "value": "Aim" },
+ { "label": "AlarmClock", "value": "AlarmClock" },
+ { "label": "Apple", "value": "Apple" },
+ { "label": "ArrowDown", "value": "ArrowDown" },
+ { "label": "ArrowDownBold", "value": "ArrowDownBold" },
+ { "label": "ArrowLeft", "value": "ArrowLeft" },
+ { "label": "ArrowLeftBold", "value": "ArrowLeftBold" },
+ { "label": "ArrowRight", "value": "ArrowRight" },
+ { "label": "ArrowRightBold", "value": "ArrowRightBold" },
+ { "label": "ArrowUp", "value": "ArrowUp" },
+ { "label": "ArrowUpBold", "value": "ArrowUpBold" },
+ { "label": "Avatar", "value": "Avatar" },
+ { "label": "Back", "value": "Back" },
+ { "label": "Baseball", "value": "Baseball" },
+ { "label": "Basketball", "value": "Basketball" },
+ { "label": "Bell", "value": "Bell" },
+ { "label": "BellFilled", "value": "BellFilled" },
+ { "label": "Bicycle", "value": "Bicycle" },
+ { "label": "Bottom", "value": "Bottom" },
+ { "label": "BottomLeft", "value": "BottomLeft" },
+ { "label": "BottomRight", "value": "BottomRight" },
+ { "label": "Bowl", "value": "Bowl" },
+ { "label": "Box", "value": "Box" },
+ { "label": "Briefcase", "value": "Briefcase" },
+ { "label": "Brush", "value": "Brush" },
+ { "label": "BrushFilled", "value": "BrushFilled" },
+ { "label": "Burger", "value": "Burger" },
+ { "label": "Calendar", "value": "Calendar" },
+ { "label": "Camera", "value": "Camera" },
+ { "label": "CameraFilled", "value": "CameraFilled" },
+ { "label": "CaretBottom", "value": "CaretBottom" },
+ { "label": "CaretLeft", "value": "CaretLeft" },
+ { "label": "CaretRight", "value": "CaretRight" },
+ { "label": "CaretTop", "value": "CaretTop" },
+ { "label": "Cellphone", "value": "Cellphone" },
+ { "label": "ChatDotRound", "value": "ChatDotRound" },
+ { "label": "ChatDotSquare", "value": "ChatDotSquare" },
+ { "label": "ChatLineRound", "value": "ChatLineRound" },
+ { "label": "ChatLineSquare", "value": "ChatLineSquare" },
+ { "label": "ChatRound", "value": "ChatRound" },
+ { "label": "ChatSquare", "value": "ChatSquare" },
+ { "label": "Check", "value": "Check" },
+ { "label": "Checked", "value": "Checked" },
+ { "label": "Cherry", "value": "Cherry" },
+ { "label": "Chicken", "value": "Chicken" },
+ { "label": "CircleCheck", "value": "CircleCheck" },
+ { "label": "CircleCheckFilled", "value": "CircleCheckFilled" },
+ { "label": "CircleClose", "value": "CircleClose" },
+ { "label": "CircleCloseFilled", "value": "CircleCloseFilled" },
+ { "label": "CirclePlus", "value": "CirclePlus" },
+ { "label": "CirclePlusFilled", "value": "CirclePlusFilled" },
+ { "label": "Clock", "value": "Clock" },
+ { "label": "Close", "value": "Close" },
+ { "label": "CloseBold", "value": "CloseBold" },
+ { "label": "Cloudy", "value": "Cloudy" },
+ { "label": "Coffee", "value": "Coffee" },
+ { "label": "CoffeeCup", "value": "CoffeeCup" },
+ { "label": "Coin", "value": "Coin" },
+ { "label": "ColdDrink", "value": "ColdDrink" },
+ { "label": "Collection", "value": "Collection" },
+ { "label": "CollectionTag", "value": "CollectionTag" },
+ { "label": "Comment", "value": "Comment" },
+ { "label": "Compass", "value": "Compass" },
+ { "label": "Connection", "value": "Connection" },
+ { "label": "Coordinate", "value": "Coordinate" },
+ { "label": "CopyDocument", "value": "CopyDocument" },
+ { "label": "Cpu", "value": "Cpu" },
+ { "label": "CreditCard", "value": "CreditCard" },
+ { "label": "Crop", "value": "Crop" },
+ { "label": "DArrowLeft", "value": "DArrowLeft" },
+ { "label": "DArrowRight", "value": "DArrowRight" },
+ { "label": "DCaret", "value": "DCaret" },
+ { "label": "DataAnalysis", "value": "DataAnalysis" },
+ { "label": "DataBoard", "value": "DataBoard" },
+ { "label": "DataLine", "value": "DataLine" },
+ { "label": "Delete", "value": "Delete" },
+ { "label": "DeleteFilled", "value": "DeleteFilled" },
+ { "label": "DeleteLocation", "value": "DeleteLocation" },
+ { "label": "Dessert", "value": "Dessert" },
+ { "label": "Discount", "value": "Discount" },
+ { "label": "Dish", "value": "Dish" },
+ { "label": "DishDot", "value": "DishDot" },
+ { "label": "Document", "value": "Document" },
+ { "label": "DocumentAdd", "value": "DocumentAdd" },
+ { "label": "DocumentChecked", "value": "DocumentChecked" },
+ { "label": "DocumentCopy", "value": "DocumentCopy" },
+ { "label": "DocumentDelete", "value": "DocumentDelete" },
+ { "label": "DocumentRemove", "value": "DocumentRemove" },
+ { "label": "Download", "value": "Download" },
+ { "label": "Drizzling", "value": "Drizzling" },
+ { "label": "Edit", "value": "Edit" },
+ { "label": "EditPen", "value": "EditPen" },
+ { "label": "Eleme", "value": "Eleme" },
+ { "label": "ElemeFilled", "value": "ElemeFilled" },
+ { "label": "ElementPlus", "value": "ElementPlus" },
+ { "label": "Expand", "value": "Expand" },
+ { "label": "Failed", "value": "Failed" },
+ { "label": "Female", "value": "Female" },
+ { "label": "Files", "value": "Files" },
+ { "label": "Film", "value": "Film" },
+ { "label": "Filter", "value": "Filter" },
+ { "label": "Finished", "value": "Finished" },
+ { "label": "FirstAidKit", "value": "FirstAidKit" },
+ { "label": "Flag", "value": "Flag" },
+ { "label": "Fold", "value": "Fold" },
+ { "label": "Folder", "value": "Folder" },
+ { "label": "FolderAdd", "value": "FolderAdd" },
+ { "label": "FolderChecked", "value": "FolderChecked" },
+ { "label": "FolderDelete", "value": "FolderDelete" },
+ { "label": "FolderOpened", "value": "FolderOpened" },
+ { "label": "FolderRemove", "value": "FolderRemove" },
+ { "label": "Food", "value": "Food" },
+ { "label": "Football", "value": "Football" },
+ { "label": "ForkSpoon", "value": "ForkSpoon" },
+ { "label": "Fries", "value": "Fries" },
+ { "label": "FullScreen", "value": "FullScreen" },
+ { "label": "Goblet", "value": "Goblet" },
+ { "label": "GobletFull", "value": "GobletFull" },
+ { "label": "GobletSquare", "value": "GobletSquare" },
+ { "label": "GobletSquareFull", "value": "GobletSquareFull" },
+ { "label": "Goods", "value": "Goods" },
+ { "label": "GoodsFilled", "value": "GoodsFilled" },
+ { "label": "Grape", "value": "Grape" },
+ { "label": "Grid", "value": "Grid" },
+ { "label": "Guide", "value": "Guide" },
+ { "label": "Headset", "value": "Headset" },
+ { "label": "Help", "value": "Help" },
+ { "label": "HelpFilled", "value": "HelpFilled" },
+ { "label": "Hide", "value": "Hide" },
+ { "label": "Histogram", "value": "Histogram" },
+ { "label": "HomeFilled", "value": "HomeFilled" },
+ { "label": "HotWater", "value": "HotWater" },
+ { "label": "House", "value": "House" },
+ { "label": "IceCream", "value": "IceCream" },
+ { "label": "IceCreamRound", "value": "IceCreamRound" },
+ { "label": "IceCreamSquare", "value": "IceCreamSquare" },
+ { "label": "IceDrink", "value": "IceDrink" },
+ { "label": "IceTea", "value": "IceTea" },
+ { "label": "InfoFilled", "value": "InfoFilled" },
+ { "label": "Iphone", "value": "Iphone" },
+ { "label": "Key", "value": "Key" },
+ { "label": "KnifeFork", "value": "KnifeFork" },
+ { "label": "Lightning", "value": "Lightning" },
+ { "label": "Link", "value": "Link" },
+ { "label": "List", "value": "List" },
+ { "label": "Loading", "value": "Loading" },
+ { "label": "Location", "value": "Location" },
+ { "label": "LocationFilled", "value": "LocationFilled" },
+ { "label": "LocationInformation", "value": "LocationInformation" },
+ { "label": "Lock", "value": "Lock" },
+ { "label": "Lollipop", "value": "Lollipop" },
+ { "label": "MagicStick", "value": "MagicStick" },
+ { "label": "Magnet", "value": "Magnet" },
+ { "label": "Male", "value": "Male" },
+ { "label": "Management", "value": "Management" },
+ { "label": "MapLocation", "value": "MapLocation" },
+ { "label": "Medal", "value": "Medal" },
+ { "label": "Menu", "value": "Menu" },
+ { "label": "Message", "value": "Message" },
+ { "label": "MessageBox", "value": "MessageBox" },
+ { "label": "Mic", "value": "Mic" },
+ { "label": "Microphone", "value": "Microphone" },
+ { "label": "MilkTea", "value": "MilkTea" },
+ { "label": "Minus", "value": "Minus" },
+ { "label": "Money", "value": "Money" },
+ { "label": "Monitor", "value": "Monitor" },
+ { "label": "Moon", "value": "Moon" },
+ { "label": "MoonNight", "value": "MoonNight" },
+ { "label": "More", "value": "More" },
+ { "label": "MoreFilled", "value": "MoreFilled" },
+ { "label": "MostlyCloudy", "value": "MostlyCloudy" },
+ { "label": "Mouse", "value": "Mouse" },
+ { "label": "Mug", "value": "Mug" },
+ { "label": "Mute", "value": "Mute" },
+ { "label": "MuteNotification", "value": "MuteNotification" },
+ { "label": "NoSmoking", "value": "NoSmoking" },
+ { "label": "Notebook", "value": "Notebook" },
+ { "label": "Notification", "value": "Notification" },
+ { "label": "Odometer", "value": "Odometer" },
+ { "label": "OfficeBuilding", "value": "OfficeBuilding" },
+ { "label": "Open", "value": "Open" },
+ { "label": "Operation", "value": "Operation" },
+ { "label": "Opportunity", "value": "Opportunity" },
+ { "label": "Orange", "value": "Orange" },
+ { "label": "Paperclip", "value": "Paperclip" },
+ { "label": "PartlyCloudy", "value": "PartlyCloudy" },
+ { "label": "Pear", "value": "Pear" },
+ { "label": "Phone", "value": "Phone" },
+ { "label": "PhoneFilled", "value": "PhoneFilled" },
+ { "label": "Picture", "value": "Picture" },
+ { "label": "PictureFilled", "value": "PictureFilled" },
+ { "label": "PictureRounded", "value": "PictureRounded" },
+ { "label": "PieChart", "value": "PieChart" },
+ { "label": "Place", "value": "Place" },
+ { "label": "Platform", "value": "Platform" },
+ { "label": "Plus", "value": "Plus" },
+ { "label": "Pointer", "value": "Pointer" },
+ { "label": "Position", "value": "Position" },
+ { "label": "Postcard", "value": "Postcard" },
+ { "label": "Pouring", "value": "Pouring" },
+ { "label": "Present", "value": "Present" },
+ { "label": "PriceTag", "value": "PriceTag" },
+ { "label": "Printer", "value": "Printer" },
+ { "label": "Promotion", "value": "Promotion" },
+ { "label": "QuestionFilled", "value": "QuestionFilled" },
+ { "label": "Rank", "value": "Rank" },
+ { "label": "Reading", "value": "Reading" },
+ { "label": "ReadingLamp", "value": "ReadingLamp" },
+ { "label": "Refresh", "value": "Refresh" },
+ { "label": "RefreshLeft", "value": "RefreshLeft" },
+ { "label": "RefreshRight", "value": "RefreshRight" },
+ { "label": "Refrigerator", "value": "Refrigerator" },
+ { "label": "Remove", "value": "Remove" },
+ { "label": "RemoveFilled", "value": "RemoveFilled" },
+ { "label": "Right", "value": "Right" },
+ { "label": "ScaleToOriginal", "value": "ScaleToOriginal" },
+ { "label": "School", "value": "School" },
+ { "label": "Scissor", "value": "Scissor" },
+ { "label": "Search", "value": "Search" },
+ { "label": "Select", "value": "Select" },
+ { "label": "Sell", "value": "Sell" },
+ { "label": "SemiSelect", "value": "SemiSelect" },
+ { "label": "Service", "value": "Service" },
+ { "label": "SetUp", "value": "SetUp" },
+ { "label": "Setting", "value": "Setting" },
+ { "label": "Share", "value": "Share" },
+ { "label": "Ship", "value": "Ship" },
+ { "label": "Shop", "value": "Shop" },
+ { "label": "ShoppingBag", "value": "ShoppingBag" },
+ { "label": "ShoppingCart", "value": "ShoppingCart" },
+ { "label": "ShoppingCartFull", "value": "ShoppingCartFull" },
+ { "label": "Smoking", "value": "Smoking" },
+ { "label": "Soccer", "value": "Soccer" },
+ { "label": "SoldOut", "value": "SoldOut" },
+ { "label": "Sort", "value": "Sort" },
+ { "label": "SortDown", "value": "SortDown" },
+ { "label": "SortUp", "value": "SortUp" },
+ { "label": "Stamp", "value": "Stamp" },
+ { "label": "Star", "value": "Star" },
+ { "label": "StarFilled", "value": "StarFilled" },
+ { "label": "Stopwatch", "value": "Stopwatch" },
+ { "label": "SuccessFilled", "value": "SuccessFilled" },
+ { "label": "Sugar", "value": "Sugar" },
+ { "label": "Suitcase", "value": "Suitcase" },
+ { "label": "Sunny", "value": "Sunny" },
+ { "label": "Sunrise", "value": "Sunrise" },
+ { "label": "Sunset", "value": "Sunset" },
+ { "label": "Switch", "value": "Switch" },
+ { "label": "SwitchButton", "value": "SwitchButton" },
+ { "label": "TakeawayBox", "value": "TakeawayBox" },
+ { "label": "Ticket", "value": "Ticket" },
+ { "label": "Tickets", "value": "Tickets" },
+ { "label": "Timer", "value": "Timer" },
+ { "label": "ToiletPaper", "value": "ToiletPaper" },
+ { "label": "Tools", "value": "Tools" },
+ { "label": "Top", "value": "Top" },
+ { "label": "TopLeft", "value": "TopLeft" },
+ { "label": "TopRight", "value": "TopRight" },
+ { "label": "TrendCharts", "value": "TrendCharts" },
+ { "label": "Trophy", "value": "Trophy" },
+ { "label": "TurnOff", "value": "TurnOff" },
+ { "label": "Umbrella", "value": "Umbrella" },
+ { "label": "Unlock", "value": "Unlock" },
+ { "label": "Upload", "value": "Upload" },
+ { "label": "UploadFilled", "value": "UploadFilled" },
+ { "label": "User", "value": "User" },
+ { "label": "UserFilled", "value": "UserFilled" },
+ { "label": "Van", "value": "Van" },
+ { "label": "VideoCamera", "value": "VideoCamera" },
+ { "label": "VideoCameraFilled", "value": "VideoCameraFilled" },
+ { "label": "VideoPause", "value": "VideoPause" },
+ { "label": "VideoPlay", "value": "VideoPlay" },
+ { "label": "View", "value": "View" },
+ { "label": "Wallet", "value": "Wallet" },
+ { "label": "WalletFilled", "value": "WalletFilled" },
+ { "label": "Warning", "value": "Warning" },
+ { "label": "WarningFilled", "value": "WarningFilled" },
+ { "label": "Watch", "value": "Watch" },
+ { "label": "Watermelon", "value": "Watermelon" },
+ { "label": "WindPower", "value": "WindPower" },
+ { "label": "ZoomIn", "value": "ZoomIn" },
+ { "label": "ZoomOut", "value": "ZoomOut" }
+]
diff --git a/src/layout/components/AiniSidebar/index.vue b/src/layout/components/AiniSidebar/index.vue
index 888ef67013877e2389410ee156184066ba9c2467..5a89099bd0bd113b872c5adab9498e7128d92965 100644
--- a/src/layout/components/AiniSidebar/index.vue
+++ b/src/layout/components/AiniSidebar/index.vue
@@ -6,7 +6,7 @@ import { Tab } from '@/types/tab'
import { Menubar } from '@/types/menu'
import AiniMenu from '@/layout/components/AiniMenu/index.vue'
-const title = ref('quick后台管理系统')
+const title = ref('quick-vue3-admin')
const tabStore = useTabStore()
const appStore = useAppStore()
const isCollapse = computed(() => appStore.getCollapse)
@@ -65,9 +65,12 @@ const goHome = () => {
text-align: center;
color: #fff;
font-weight: 700;
- font-size: 16px;
+ font-size: 14px;
margin: 0;
- padding: 0;
+ padding: 0 10px;
+ text-overflow: ellipsis;
+ overflow: hidden;
+ // white-space: nowrap;
}
}
}
diff --git a/src/pages/login/index.vue b/src/pages/login/index.vue
index 92247708b13aa79b4cd4be3c89af2ec704f2a0ed..b5137aba83720b70dec7a165ce41729f19de3431 100644
--- a/src/pages/login/index.vue
+++ b/src/pages/login/index.vue
@@ -10,7 +10,7 @@ import { useUserStore } from '@/store/modules/user'
/**
* 属性
*/
-const title = ref('quick后台管理系统')
+const title = ref('quick-vue3-admin')
const loginStore = useLoginStore(pinia)
const userStore = useUserStore(pinia)
const loading = ref(false)