From ab5a5c5401924b547d325d01d433759d5350ea2b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=9C=9F=E8=B1=86=E5=93=A5?= Date: Sat, 6 Aug 2022 03:28:37 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96=E6=A1=86=E6=9E=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .env | 2 +- README.en.md | 2 +- README.md | 17 +- public/images/logo.png | Bin 0 -> 13085 bytes src/assets/logo.png | Bin 6849 -> 13085 bytes src/config/custormIcons.json | 4 + src/config/elementPlusIcon.json | 285 ++++++++++++++++++++ src/layout/components/AiniSidebar/index.vue | 9 +- src/pages/login/index.vue | 2 +- 9 files changed, 309 insertions(+), 12 deletions(-) create mode 100644 public/images/logo.png create mode 100644 src/config/custormIcons.json create mode 100644 src/config/elementPlusIcon.json diff --git a/.env b/.env index d6808d3..e96b5ba 100644 --- a/.env +++ b/.env @@ -1,4 +1,4 @@ # env -VITE_APP_TITLE="quick后台管理系统" +VITE_APP_TITLE="quick-vue3-admin" VITE_PORT=3101 VITE_APP_BASE_URL='/' \ No newline at end of file diff --git a/README.en.md b/README.en.md index f6e2dfa..b2fce21 100644 --- a/README.en.md +++ b/README.en.md @@ -1,4 +1,4 @@ -
quick-vue3-admin Logoquick-vue3-admin Logo

+
quick-vue3-admin Logo

**中文** | [English](./README.en.md) diff --git a/README.md b/README.md index c943d1a..b2fce21 100644 --- a/README.md +++ b/README.md @@ -1,22 +1,26 @@ -
quick-vue3-admin Logoquick-vue3-admin Logo

+
quick-vue3-admin Logo

**中文** | [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. 如果你觉得这个项目对你有帮助,你可以帮作者买一杯咖啡表示支持! ![donate](./public/payImages/alipay.jpg) +7. 如需加入开源,请联系管理员 diff --git a/public/images/logo.png b/public/images/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..65e6d2cc173874f62bece4b25c479c950709e29f GIT binary patch literal 13085 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 literal 0 HcmV?d00001 diff --git a/src/assets/logo.png b/src/assets/logo.png index f3d2503fc2a44b5053b0837ebea6e87a2d339a43..65e6d2cc173874f62bece4b25c479c950709e29f 100644 GIT binary patch literal 13085 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 delta 6391 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 F`X4|f6;=QM diff --git a/src/config/custormIcons.json b/src/config/custormIcons.json new file mode 100644 index 0000000..bef38b2 --- /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 0000000..464feb4 --- /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 888ef67..5a89099 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 9224770..b5137ab 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) -- Gitee