From b9b8a13b9c14fba5bb4634742afb4b1208d3d214 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=9C=9F=E8=B1=86=E5=93=A5?= Date: Thu, 4 Aug 2022 14:32:26 +0800 Subject: [PATCH 01/16] =?UTF-8?q?=E5=8A=9F=E8=83=BD=EF=BC=9A=E5=A2=9E?= =?UTF-8?q?=E5=8A=A0log?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.en.md | 96 +---------------- pnpm-lock.yaml | 108 ++++++++++++++----- src/components/QuickForm/index.vue | 6 +- src/layout/components/AiniMenu/index.vue | 5 +- src/layout/components/AiniMenuItem/index.vue | 20 ++-- src/layout/components/AiniSidebar/index.vue | 1 + src/pages/login/index.vue | 13 ++- src/router/index.ts | 35 +++++- src/router/staticRouter.ts | 1 - src/types/menu.ts | 6 +- src/types/options.ts | 2 +- src/utils/index.ts | 7 +- src/utils/request.ts | 10 +- src/views/dept/index.vue | 47 ++------ src/views/menu/index.vue | 66 ++++++++---- vite.config.ts | 4 +- 16 files changed, 213 insertions(+), 214 deletions(-) diff --git a/README.en.md b/README.en.md index 6786814..46bbb55 100644 --- a/README.en.md +++ b/README.en.md @@ -1,95 +1,3 @@ -
quick-vue3-admin Logoquick-vue3-admin Logo

-
+菜单思路: 1.获取菜单数据; -**中文** | [English](./README.en.md) - -## 简介 - -quick-vue3-admin 是一款免费开源快速搭建中后台系统框架。本框架基于 vite2+element-plus 等最新主流技术并封装了通用的组件方便开发者提高工作效率。后期也会通过版本升级的方式来维护并更新,使开发者拥有一款长期并且稳定的脚手架。 - -## 软件特色 - -1. 使用前端最新技术栈 vite2、vue3 和 typescript -2. 封装了通用的组件 -3. 提供了系统管理常用功能模块 -4. 提供权限管理模块 -5. 动态菜单技术 -6. 动态路由技术 -7. 前后端分离 -8. 官方提供稳定并长期维护的后端接口项目 - -## 预览 - -- [quick-vue3-admin](https://ainiteam.com:3101/) - 框架演示 - -演示账号密码:admin/123456 - -## 文档 - -文档地址完善中 - -## 安装使用 - -- 克隆项目 - -```bash -git clone https://gitee.com/zhanglp520/quick-vue3-admin.git -``` - -- 安装 pnpm - -```bash -npm install -g pnpm -``` - -- 安装项目依赖包 - -```bash -pnpm install -``` - -- 运行 - -```bash -pnpm run dev -``` - -运行命令执行服务启动后,浏览器输入:http://localhost:3001/ - -- eslint 检测 - -```bash -pnpm run lint 仅检测 - -pnpm run lint-fix 检测并尝试修复 -``` - -- 打包上线 - -```bash -pnpm run build -``` - -## 后端接口 - -官方提供后端接口项目:https://gitee.com/zhanglp520/quick-node-express.git - -## 寻求帮助 - -1. 百度尝试解决 -2. 发起 Issue -3. 加 quick 框架 QQ 群:558795174 - -## License - -[MIT © quick-vue3-admin](./LICENSE) - -## 参与贡献 - -1. Fork 本仓库 -2. 新建 Feat_xxx 分支 -3. 提交代码 -4. 新建 Pull Request -5. 点个 star 把 -6. 如果你觉得这个项目对你有帮助,你可以帮作者买一杯咖啡表示支持! - ![donate](./public/payImages/alipay.jpg) +2.生成菜单; 3.生成路由; diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 72ba0ba..c8b6b30 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -5,6 +5,7 @@ specifiers: '@element-plus/icons-vue': ^2.0.6 '@types/js-md5': ^0.4.3 '@types/node': ^17.0.30 + '@types/nprogress': ^0.2.0 '@typescript-eslint/eslint-plugin': ^5.22.0 '@typescript-eslint/parser': ^5.22.0 '@vitejs/plugin-vue': ^2.3.1 @@ -18,9 +19,12 @@ specifiers: eslint-plugin-prettier: ^4.0.0 eslint-plugin-vue: ^8.7.1 husky: ^7.0.4 + js-cookie: ^3.0.1 js-md5: ^0.7.3 - pinia: ^2.0.13 + nprogress: ^0.2.0 + pinia: ^2.0.17 pinia-plugin-persist: ^1.0.0 + pinia-use-persist: ^0.0.21 prettier: 2.6.2 quick-vue3-ui: 1.0.5 sass: ^1.51.0 @@ -40,9 +44,12 @@ dependencies: axios: registry.npmmirror.com/axios/0.27.2 echarts: 5.3.2 element-plus: registry.npmmirror.com/element-plus/2.2.2_vue@3.2.36 + js-cookie: 3.0.1 js-md5: 0.7.3 - pinia: registry.npmmirror.com/pinia/2.0.14_typescript@4.7.2+vue@3.2.36 - pinia-plugin-persist: registry.npmmirror.com/pinia-plugin-persist/1.0.0_pinia@2.0.14+vue@3.2.36 + nprogress: 0.2.0 + pinia: 2.0.17_typescript@4.7.2+vue@3.2.36 + pinia-plugin-persist: registry.npmmirror.com/pinia-plugin-persist/1.0.0_pinia@2.0.17+vue@3.2.36 + pinia-use-persist: 0.0.21_typescript@4.7.2+vue@3.2.36 quick-vue3-ui: 1.0.5 vue: registry.npmmirror.com/vue/3.2.36 vue-i18n: registry.npmmirror.com/vue-i18n/9.1.10_vue@3.2.36 @@ -51,6 +58,7 @@ dependencies: devDependencies: '@types/js-md5': 0.4.3 '@types/node': registry.npmmirror.com/@types/node/17.0.35 + '@types/nprogress': 0.2.0 '@typescript-eslint/eslint-plugin': registry.npmmirror.com/@typescript-eslint/eslint-plugin/5.26.0_3e687f93547efbf7d61b629ca4d69a5c '@typescript-eslint/parser': registry.npmmirror.com/@typescript-eslint/parser/5.26.0_eslint@8.16.0+typescript@4.7.2 '@vitejs/plugin-vue': registry.npmmirror.com/@vitejs/plugin-vue/2.3.3_vite@2.9.9+vue@3.2.36 @@ -172,6 +180,10 @@ packages: resolution: {integrity: sha512-BIga/WEqTi35ccnGysOuO4RmwVnpajv9oDB/sDQSY2b7/Ac7RyYR30bv7otZwByMvOJV9Vqq6/O1DFAnOzE4Pg==} dev: true + /@types/nprogress/0.2.0: + resolution: {integrity: sha512-1cYJrqq9GezNFPsWTZpFut/d4CjpZqA0vhqDUPFWYKF1oIyBz5qnoYMzR+0C/T96t3ebLAC1SSnwrVOm5/j74A==} + dev: true + /@vue/compiler-core/3.2.36: resolution: {integrity: sha512-bbyZM5hvBicv0PW3KUfVi+x3ylHnfKG7DOn5wM+f2OztTzTjLEyBb/5yrarIYpmnGitVGbjZqDbODyW4iK8hqw==} dependencies: @@ -207,6 +219,10 @@ packages: '@vue/compiler-dom': 3.2.36 '@vue/shared': 3.2.36 + /@vue/devtools-api/6.2.1: + resolution: {integrity: sha512-OEgAMeQXvCoJ+1x8WyQuVZzFo0wcyCmUR3baRVLmKBo1LmYZWMlRiXlux5jd0fqVJu6PfDbOrZItVqUEzLobeQ==} + dev: false + /@vue/reactivity-transform/3.2.36: resolution: {integrity: sha512-Jk5o2BhpODC9XTA7o4EL8hSJ4JyrFWErLtClG3NH8wDS7ri9jBDWxI7/549T7JY9uilKsaNM+4pJASLj5dtRwA==} dependencies: @@ -355,6 +371,10 @@ packages: resolution: {integrity: sha512-9vAdYbHj6x2fLKC4+oPH0kFzY/orMZyG2Aj+kNylHxKGJ/Ed4dpNyAQYwJOdqO4zdM7XpVHmyejQDcQHrnuXbw==} dev: true + /crypto-js/4.1.1: + resolution: {integrity: sha512-o2JlM7ydqd3Qk9CA0L4NL6mTzU2sdx96a+oOfPu8Mkl/PK51vSyoi8/rQ8NknZtk44vq15lmhAj9CIAGwgeWKw==} + dev: false + /css-select/4.3.0: resolution: {integrity: sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ==} dependencies: @@ -733,6 +753,11 @@ packages: minimatch: 3.1.2 dev: true + /js-cookie/3.0.1: + resolution: {integrity: sha512-+0rgsUXZu4ncpPxRL+lNEptWMOWl9etvPHc/koSRp6MPwpRYAhmk0dUG00J4bxVV3r9uUzfo24wW0knS07SKSw==} + engines: {node: '>=12'} + dev: false + /js-md5/0.7.3: resolution: {integrity: sha512-ZC41vPSTLKGwIRjqDh8DfXoCrdQIyBgspJVPXHBGu4nZlAEvG3nf+jO9avM9RmLiGakg7vz974ms99nEV0tmTQ==} dev: false @@ -806,6 +831,10 @@ packages: engines: {node: '>=0.10.0'} dev: true + /nprogress/0.2.0: + resolution: {integrity: sha512-I19aIingLgR1fmhftnbWWO3dXc0hSxqHQHQb3H8m+K3TnEn/iSeTZZOyvKXWqQESMwuUVnatlCnZdLBZZt2VSA==} + dev: false + /nth-check/2.1.1: resolution: {integrity: sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==} dependencies: @@ -838,6 +867,35 @@ packages: engines: {node: '>=8.6'} dev: true + /pinia-use-persist/0.0.21_typescript@4.7.2+vue@3.2.36: + resolution: {integrity: sha512-l48Tiq536tnImvqz898iGIG6YfP0Fp8hj2skdNkFv5fTdf4iFC9/g28bMi17JR/aUQZZkg8fm6maZAGNP2BICg==} + dependencies: + crypto-js: 4.1.1 + pinia: 2.0.17_typescript@4.7.2+vue@3.2.36 + transitivePeerDependencies: + - '@vue/composition-api' + - typescript + - vue + dev: false + + /pinia/2.0.17_typescript@4.7.2+vue@3.2.36: + resolution: {integrity: sha512-AtwLwEWQgIjofjgeFT+nxbnK5lT2QwQjaHNEDqpsi2AiCwf/NY78uWTeHUyEhiiJy8+sBmw0ujgQMoQbWiZDfA==} + peerDependencies: + '@vue/composition-api': ^1.4.0 + typescript: '>=4.4.4' + vue: ^2.6.14 || ^3.2.0 + peerDependenciesMeta: + '@vue/composition-api': + optional: true + typescript: + optional: true + dependencies: + '@vue/devtools-api': 6.2.1 + typescript: registry.npmmirror.com/typescript/4.7.2 + vue: registry.npmmirror.com/vue/3.2.36 + vue-demi: 0.12.5_vue@3.2.36 + dev: false + /postcss/8.4.14: resolution: {integrity: sha512-E398TUmfAYFPBSdzgeieK2Y1+1cpdxJx8yXbK/m57nRhKSmk1GB2tO4lbLBtlkfPQTDKfe4Xqv1ASWPpayPEig==} engines: {node: ^10 || ^12 || >=14} @@ -997,6 +1055,21 @@ packages: vite: registry.npmmirror.com/vite/2.9.9_sass@1.52.1 dev: true + /vue-demi/0.12.5_vue@3.2.36: + resolution: {integrity: sha512-BREuTgTYlUr0zw0EZn3hnhC3I6gPWv+Kwh4MCih6QcAeaTlaIX0DwOVN0wHej7hSvDPecz4jygy/idsgKfW58Q==} + engines: {node: '>=12'} + hasBin: true + requiresBuild: true + peerDependencies: + '@vue/composition-api': ^1.0.0-rc.1 + vue: ^3.0.0-0 || ^2.6.0 + peerDependenciesMeta: + '@vue/composition-api': + optional: true + dependencies: + vue: registry.npmmirror.com/vue/3.2.36 + dev: false + /webpack-sources/3.2.3: resolution: {integrity: sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==} engines: {node: '>=10.13.0'} @@ -1625,7 +1698,7 @@ packages: '@vueuse/metadata': registry.npmmirror.com/@vueuse/metadata/8.5.0 '@vueuse/shared': registry.npmmirror.com/@vueuse/shared/8.5.0_vue@3.2.36 vue: registry.npmmirror.com/vue/3.2.36 - vue-demi: registry.npmmirror.com/vue-demi/0.12.5_vue@3.2.36 + vue-demi: 0.12.5_vue@3.2.36 dev: false registry.npmmirror.com/@vueuse/metadata/8.5.0: @@ -1649,7 +1722,7 @@ packages: optional: true dependencies: vue: registry.npmmirror.com/vue/3.2.36 - vue-demi: registry.npmmirror.com/vue-demi/0.12.5_vue@3.2.36 + vue-demi: 0.12.5_vue@3.2.36 dev: false registry.npmmirror.com/acorn-jsx/5.3.2_acorn@8.7.1: @@ -3013,7 +3086,7 @@ packages: engines: {node: '>=8'} dev: true - registry.npmmirror.com/pinia-plugin-persist/1.0.0_pinia@2.0.14+vue@3.2.36: + registry.npmmirror.com/pinia-plugin-persist/1.0.0_pinia@2.0.17+vue@3.2.36: resolution: {integrity: sha512-M4hBBd8fz/GgNmUPaaUsC29y1M09lqbXrMAHcusVoU8xlQi1TqgkWnnhvMikZwr7Le/hVyMx8KUcumGGrR6GVw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/pinia-plugin-persist/-/pinia-plugin-persist-1.0.0.tgz} id: registry.npmmirror.com/pinia-plugin-persist/1.0.0 name: pinia-plugin-persist @@ -3026,28 +3099,7 @@ packages: '@vue/composition-api': optional: true dependencies: - pinia: registry.npmmirror.com/pinia/2.0.14_typescript@4.7.2+vue@3.2.36 - vue: registry.npmmirror.com/vue/3.2.36 - vue-demi: registry.npmmirror.com/vue-demi/0.12.5_vue@3.2.36 - dev: false - - registry.npmmirror.com/pinia/2.0.14_typescript@4.7.2+vue@3.2.36: - resolution: {integrity: sha512-0nPuZR4TetT/WcLN+feMSjWJku3SQU7dBbXC6uw+R6FLQJCsg+/0pzXyD82T1FmAYe0lsx+jnEDQ1BLgkRKlxA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/pinia/-/pinia-2.0.14.tgz} - id: registry.npmmirror.com/pinia/2.0.14 - name: pinia - version: 2.0.14 - peerDependencies: - '@vue/composition-api': ^1.4.0 - typescript: '>=4.4.4' - vue: ^2.6.14 || ^3.2.0 - peerDependenciesMeta: - '@vue/composition-api': - optional: true - typescript: - optional: true - dependencies: - '@vue/devtools-api': registry.npmmirror.com/@vue/devtools-api/6.1.4 - typescript: registry.npmmirror.com/typescript/4.7.2 + pinia: 2.0.17_typescript@4.7.2+vue@3.2.36 vue: registry.npmmirror.com/vue/3.2.36 vue-demi: registry.npmmirror.com/vue-demi/0.12.5_vue@3.2.36 dev: false diff --git a/src/components/QuickForm/index.vue b/src/components/QuickForm/index.vue index 6795b5a..725de72 100644 --- a/src/components/QuickForm/index.vue +++ b/src/components/QuickForm/index.vue @@ -172,7 +172,11 @@ defineExpose({ handleSubmit }) />