From 312057f04d8d306ba08e8bdd689428518dd6380a Mon Sep 17 00:00:00 2001 From: chenxiaoxi Date: Wed, 21 Apr 2021 14:46:48 +0800 Subject: [PATCH] init --- .browserslistrc | 2 + .editorconfig | 15 +- .eslintrc.js | 1 + .gitattributes | 12 + .gitignore | 23 +- .stylelintrc.js | 6 + README.md | 7 +- babel.config.js | 1 + mock/controller/ad.js | 41 + mock/controller/changeLog.js | 250 ++ mock/controller/colorfulIcon.js | 324 +++ mock/controller/goodsList.js | 43 + mock/controller/icon.js | 985 +++++++ mock/controller/menuManagement.js | 51 + mock/controller/notice.js | 33 + mock/controller/personalCenter.js | 42 + mock/controller/remixIcon.js | 2294 +++++++++++++++++ mock/controller/roleManagement.js | 53 + mock/controller/router.js | 298 +++ mock/controller/table.js | 88 + mock/controller/tree.js | 54 + mock/controller/user.js | 95 + mock/controller/userManagement.js | 70 + mock/index.js | 98 + mock/utils/index.js | 43 + package.json | 87 +- prettier.config.js | 21 + public/favicon.ico | Bin 4286 -> 4286 bytes public/favicon_backup.ico | Bin 0 -> 4286 bytes public/index.html | 74 +- src/App.vue | 13 +- src/api/ad.js | 9 + src/api/changeLog.js | 9 + src/api/colorfulIcon.js | 9 + src/api/github.js | 20 + src/api/goodsList.js | 9 + src/api/icon.js | 9 + src/api/markdown.js | 8 + src/api/menuManagement.js | 25 + src/api/notice.js | 8 + src/api/personalCenter.js | 25 + src/api/publicKey.js | 8 + src/api/remixIcon.js | 9 + src/api/roleManagement.js | 25 + src/api/router.js | 9 + src/api/table.js | 25 + src/api/tree.js | 9 + src/api/user.js | 38 + src/api/userManagement.js | 25 + src/assets/comparison/left.jpg | Bin 0 -> 74322 bytes src/assets/comparison/right.jpg | Bin 0 -> 97145 bytes src/assets/error_images/401.png | Bin 0 -> 58356 bytes src/assets/error_images/404.png | Bin 0 -> 23451 bytes src/assets/error_images/cloud.png | Bin 0 -> 2029 bytes src/assets/ewm.png | Bin 0 -> 3496 bytes src/assets/login_images/background.jpg | Bin 0 -> 135917 bytes src/assets/pro.png | Bin 0 -> 22916 bytes src/assets/qr_logo/lqr_logo.png | Bin 0 -> 8768 bytes src/assets/zfb_699.jpg | Bin 0 -> 107649 bytes src/assets/zfb_799.jpg | Bin 0 -> 104344 bytes src/colorfulIcon/index.js | 13 + src/colorfulIcon/svg/alphabetical_sorting.svg | 1 + src/colorfulIcon/svg/vab.svg | 21 + src/components/SelectTree/index.vue | 201 ++ src/components/VabCharge/index.vue | 191 ++ src/components/VabProfile/index.vue | 313 +++ src/components/VabSnow/index.vue | 82 + src/components/VabUpload/index.vue | 255 ++ src/config/index.js | 7 +- src/config/net.config.js | 18 + src/config/permission.js | 88 + src/config/routes.js | 293 +++ src/config/setting.config.js | 66 +- src/config/settings.js | 6 + src/layouts/EmptyLayout.vue | 3 + src/layouts/components/Permissions/index.js | 13 + .../components/Permissions/permissions.js | 13 + src/layouts/components/VabAd/index.vue | 70 + src/layouts/components/VabAppMain/index.vue | 93 + src/layouts/components/VabAvatar/index.vue | 105 + .../components/VabBreadcrumb/index.vue | 63 + .../components/VabColorfullIcon/index.vue | 65 + src/layouts/components/VabErrorLog/index.vue | 128 + .../components/VabFullScreenBar/index.vue | 53 + .../components/VabGithubCorner/index.vue | 75 + src/layouts/components/VabLogo/index.vue | 92 + src/layouts/components/VabNavBar/index.vue | 136 + .../VabQueryForm/VabQueryFormBottomPanel.vue | 20 + .../VabQueryForm/VabQueryFormLeftPanel.vue | 25 + .../VabQueryForm/VabQueryFormRightPanel.vue | 25 + .../VabQueryForm/VabQueryFormTopPanel.vue | 20 + src/layouts/components/VabQueryForm/index.vue | 63 + src/layouts/components/VabRemixIcon/index.vue | 69 + .../VabSideBar/components/VabMenuItem.vue | 84 + .../VabSideBar/components/VabSideBarItem.vue | 108 + .../VabSideBar/components/VabSubmenu.vue | 60 + src/layouts/components/VabSideBar/index.vue | 141 + src/layouts/components/VabTabsBar/index.vue | 297 +++ src/layouts/components/VabThemeBar/index.vue | 259 ++ src/layouts/components/VabTopBar/index.vue | 224 ++ src/layouts/components/index.js | 28 + src/layouts/export.js | 17 + src/layouts/index.vue | 304 +++ src/main.js | 12 +- src/plugins/echarts.js | 4 + src/plugins/element.js | 9 + src/plugins/index.js | 17 + src/plugins/support.js | 20 + src/plugins/vabIcon.js | 4 + src/plugins/vabMagnifier.js | 3 + src/plugins/vabMarkdownEditor.js | 5 + src/plugins/vabPlayer.js | 3 + src/plugins/vabQuill.js | 4 + src/plugins/vabVerify.js | 4 + src/remixIcon/index.js | 13 + src/remixIcon/svg/qq-fill.svg | 1 + src/remixIcon/svg/vuejs-fill.svg | 1 + src/router/index.js | 401 ++- src/store/index.js | 3 +- src/store/modules/errorLog.js | 28 + src/store/modules/routes.js | 52 + src/store/modules/settings.js | 75 + src/store/modules/table.js | 23 + src/store/modules/tabsBar.js | 112 + src/store/modules/user.js | 106 +- .../styles/element-variables.scss | 0 src/{assets => }/styles/loading.scss | 0 src/{assets => }/styles/normalize.scss | 0 src/{assets => }/styles/spinner/dots.css | 0 src/{assets => }/styles/spinner/gauge.css | 0 .../styles/spinner/inner-circles.css | 0 src/{assets => }/styles/spinner/plus.css | 0 src/{assets => }/styles/themes/default.scss | 0 src/{assets => }/styles/transition.scss | 1 - src/{assets => }/styles/vab.scss | 0 src/{assets => }/styles/variables.scss | 0 src/utils/accessToken.js | 59 + src/utils/clipboard.js | 31 + src/utils/encrypt.js | 46 + src/utils/errorLog.js | 25 + src/utils/handleRoutes.js | 63 + src/utils/index.js | 266 ++ src/utils/pageTitle.js | 14 + src/utils/permission.js | 20 + src/utils/request.js | 125 + src/utils/static.js | 52 + src/utils/vab.js | 180 ++ src/utils/validate.js | 212 ++ src/views/401.vue | 296 +++ src/views/404.vue | 296 +++ src/views/index/components/Plan.vue | 87 + .../index/components/VersionInformation.vue | 149 ++ src/views/index/index.vue | 958 +++++++ src/views/login/index.vue | 327 +++ src/views/mall/goodsList/index.vue | 163 ++ src/views/mall/pay/components/Step1.vue | 70 + src/views/mall/pay/components/Step2.vue | 84 + src/views/mall/pay/components/Step3.vue | 101 + src/views/mall/pay/index.vue | 60 + src/views/personalCenter/index.vue | 23 + .../components/MenuManagementEdit.vue | 71 + .../menuManagement/index.vue | 173 ++ .../components/RoleManagementEdit.vue | 69 + .../roleManagement/index.vue | 150 ++ .../components/UserManagementEdit.vue | 95 + .../userManagement/index.vue | 166 ++ src/views/register/index.vue | 377 +++ src/views/test/index.vue | 16 + src/views/vab/backToTop/index.vue | 22 + src/views/vab/editor/index.vue | 156 ++ src/views/vab/element/index.vue | 254 ++ .../vab/errorLog/components/ErrorTest.vue | 13 + src/views/vab/errorLog/index.vue | 28 + src/views/vab/form/index.vue | 111 + src/views/vab/icon/colorfulIcon.vue | 155 ++ src/views/vab/icon/index.vue | 140 + src/views/vab/icon/remixIcon.vue | 153 ++ src/views/vab/loading/index.vue | 71 + src/views/vab/lodash/index.vue | 211 ++ src/views/vab/magnifier/index.vue | 35 + src/views/vab/map/index.vue | 115 + src/views/vab/markdownEditor/index.vue | 51 + src/views/vab/more/index.vue | 119 + src/views/vab/nested/menu1/index.vue | 7 + src/views/vab/nested/menu1/menu1-1/index.vue | 13 + .../nested/menu1/menu1-1/menu1-1-1/index.vue | 15 + src/views/vab/permissions/index.vue | 156 ++ src/views/vab/player/index.vue | 73 + src/views/vab/smallComponents/index.vue | 110 + src/views/vab/table/components/TableEdit.vue | 75 + src/views/vab/table/index.vue | 263 ++ src/views/vab/tree/index.vue | 478 ++++ src/views/vab/upload/index.vue | 34 + src/views/vab/verify/index.vue | 35 + src/views/vab/webSocket/index.vue | 87 + vue.config.js | 110 +- webstorm.config.js | 5 + 197 files changed, 18308 insertions(+), 123 deletions(-) create mode 100644 .gitattributes create mode 100644 .stylelintrc.js create mode 100644 mock/controller/ad.js create mode 100644 mock/controller/changeLog.js create mode 100644 mock/controller/colorfulIcon.js create mode 100644 mock/controller/goodsList.js create mode 100644 mock/controller/icon.js create mode 100644 mock/controller/menuManagement.js create mode 100644 mock/controller/notice.js create mode 100644 mock/controller/personalCenter.js create mode 100644 mock/controller/remixIcon.js create mode 100644 mock/controller/roleManagement.js create mode 100644 mock/controller/router.js create mode 100644 mock/controller/table.js create mode 100644 mock/controller/tree.js create mode 100644 mock/controller/user.js create mode 100644 mock/controller/userManagement.js create mode 100644 mock/index.js create mode 100644 mock/utils/index.js create mode 100644 prettier.config.js create mode 100644 public/favicon_backup.ico create mode 100644 src/api/ad.js create mode 100644 src/api/changeLog.js create mode 100644 src/api/colorfulIcon.js create mode 100644 src/api/github.js create mode 100644 src/api/goodsList.js create mode 100644 src/api/icon.js create mode 100644 src/api/markdown.js create mode 100644 src/api/menuManagement.js create mode 100644 src/api/notice.js create mode 100644 src/api/personalCenter.js create mode 100644 src/api/publicKey.js create mode 100644 src/api/remixIcon.js create mode 100644 src/api/roleManagement.js create mode 100644 src/api/router.js create mode 100644 src/api/table.js create mode 100644 src/api/tree.js create mode 100644 src/api/user.js create mode 100644 src/api/userManagement.js create mode 100644 src/assets/comparison/left.jpg create mode 100644 src/assets/comparison/right.jpg create mode 100644 src/assets/error_images/401.png create mode 100644 src/assets/error_images/404.png create mode 100644 src/assets/error_images/cloud.png create mode 100644 src/assets/ewm.png create mode 100644 src/assets/login_images/background.jpg create mode 100644 src/assets/pro.png create mode 100644 src/assets/qr_logo/lqr_logo.png create mode 100644 src/assets/zfb_699.jpg create mode 100644 src/assets/zfb_799.jpg create mode 100644 src/colorfulIcon/index.js create mode 100644 src/colorfulIcon/svg/alphabetical_sorting.svg create mode 100644 src/colorfulIcon/svg/vab.svg create mode 100644 src/components/SelectTree/index.vue create mode 100644 src/components/VabCharge/index.vue create mode 100644 src/components/VabProfile/index.vue create mode 100644 src/components/VabSnow/index.vue create mode 100644 src/components/VabUpload/index.vue create mode 100644 src/config/net.config.js create mode 100644 src/config/permission.js create mode 100644 src/config/routes.js create mode 100644 src/config/settings.js create mode 100644 src/layouts/EmptyLayout.vue create mode 100644 src/layouts/components/Permissions/index.js create mode 100644 src/layouts/components/Permissions/permissions.js create mode 100644 src/layouts/components/VabAd/index.vue create mode 100644 src/layouts/components/VabAppMain/index.vue create mode 100644 src/layouts/components/VabAvatar/index.vue create mode 100644 src/layouts/components/VabBreadcrumb/index.vue create mode 100644 src/layouts/components/VabColorfullIcon/index.vue create mode 100644 src/layouts/components/VabErrorLog/index.vue create mode 100644 src/layouts/components/VabFullScreenBar/index.vue create mode 100644 src/layouts/components/VabGithubCorner/index.vue create mode 100644 src/layouts/components/VabLogo/index.vue create mode 100644 src/layouts/components/VabNavBar/index.vue create mode 100644 src/layouts/components/VabQueryForm/VabQueryFormBottomPanel.vue create mode 100644 src/layouts/components/VabQueryForm/VabQueryFormLeftPanel.vue create mode 100644 src/layouts/components/VabQueryForm/VabQueryFormRightPanel.vue create mode 100644 src/layouts/components/VabQueryForm/VabQueryFormTopPanel.vue create mode 100644 src/layouts/components/VabQueryForm/index.vue create mode 100644 src/layouts/components/VabRemixIcon/index.vue create mode 100644 src/layouts/components/VabSideBar/components/VabMenuItem.vue create mode 100644 src/layouts/components/VabSideBar/components/VabSideBarItem.vue create mode 100644 src/layouts/components/VabSideBar/components/VabSubmenu.vue create mode 100644 src/layouts/components/VabSideBar/index.vue create mode 100644 src/layouts/components/VabTabsBar/index.vue create mode 100644 src/layouts/components/VabThemeBar/index.vue create mode 100644 src/layouts/components/VabTopBar/index.vue create mode 100644 src/layouts/components/index.js create mode 100644 src/layouts/export.js create mode 100644 src/layouts/index.vue create mode 100644 src/plugins/echarts.js create mode 100644 src/plugins/element.js create mode 100644 src/plugins/index.js create mode 100644 src/plugins/support.js create mode 100644 src/plugins/vabIcon.js create mode 100644 src/plugins/vabMagnifier.js create mode 100644 src/plugins/vabMarkdownEditor.js create mode 100644 src/plugins/vabPlayer.js create mode 100644 src/plugins/vabQuill.js create mode 100644 src/plugins/vabVerify.js create mode 100644 src/remixIcon/index.js create mode 100644 src/remixIcon/svg/qq-fill.svg create mode 100644 src/remixIcon/svg/vuejs-fill.svg create mode 100644 src/store/modules/errorLog.js create mode 100644 src/store/modules/routes.js create mode 100644 src/store/modules/settings.js create mode 100644 src/store/modules/table.js create mode 100644 src/store/modules/tabsBar.js rename src/{assets => }/styles/element-variables.scss (100%) rename src/{assets => }/styles/loading.scss (100%) rename src/{assets => }/styles/normalize.scss (100%) rename src/{assets => }/styles/spinner/dots.css (100%) rename src/{assets => }/styles/spinner/gauge.css (100%) rename src/{assets => }/styles/spinner/inner-circles.css (100%) rename src/{assets => }/styles/spinner/plus.css (100%) rename src/{assets => }/styles/themes/default.scss (100%) rename src/{assets => }/styles/transition.scss (76%) rename src/{assets => }/styles/vab.scss (100%) rename src/{assets => }/styles/variables.scss (100%) create mode 100644 src/utils/accessToken.js create mode 100644 src/utils/clipboard.js create mode 100644 src/utils/encrypt.js create mode 100644 src/utils/errorLog.js create mode 100644 src/utils/handleRoutes.js create mode 100644 src/utils/index.js create mode 100644 src/utils/pageTitle.js create mode 100644 src/utils/permission.js create mode 100644 src/utils/request.js create mode 100644 src/utils/static.js create mode 100644 src/utils/vab.js create mode 100644 src/utils/validate.js create mode 100644 src/views/401.vue create mode 100644 src/views/404.vue create mode 100644 src/views/index/components/Plan.vue create mode 100644 src/views/index/components/VersionInformation.vue create mode 100644 src/views/index/index.vue create mode 100644 src/views/login/index.vue create mode 100644 src/views/mall/goodsList/index.vue create mode 100644 src/views/mall/pay/components/Step1.vue create mode 100644 src/views/mall/pay/components/Step2.vue create mode 100644 src/views/mall/pay/components/Step3.vue create mode 100644 src/views/mall/pay/index.vue create mode 100644 src/views/personalCenter/index.vue create mode 100644 src/views/personnelManagement/menuManagement/components/MenuManagementEdit.vue create mode 100644 src/views/personnelManagement/menuManagement/index.vue create mode 100644 src/views/personnelManagement/roleManagement/components/RoleManagementEdit.vue create mode 100644 src/views/personnelManagement/roleManagement/index.vue create mode 100644 src/views/personnelManagement/userManagement/components/UserManagementEdit.vue create mode 100644 src/views/personnelManagement/userManagement/index.vue create mode 100644 src/views/register/index.vue create mode 100644 src/views/test/index.vue create mode 100644 src/views/vab/backToTop/index.vue create mode 100644 src/views/vab/editor/index.vue create mode 100644 src/views/vab/element/index.vue create mode 100644 src/views/vab/errorLog/components/ErrorTest.vue create mode 100644 src/views/vab/errorLog/index.vue create mode 100644 src/views/vab/form/index.vue create mode 100644 src/views/vab/icon/colorfulIcon.vue create mode 100644 src/views/vab/icon/index.vue create mode 100644 src/views/vab/icon/remixIcon.vue create mode 100644 src/views/vab/loading/index.vue create mode 100644 src/views/vab/lodash/index.vue create mode 100644 src/views/vab/magnifier/index.vue create mode 100644 src/views/vab/map/index.vue create mode 100644 src/views/vab/markdownEditor/index.vue create mode 100644 src/views/vab/more/index.vue create mode 100644 src/views/vab/nested/menu1/index.vue create mode 100644 src/views/vab/nested/menu1/menu1-1/index.vue create mode 100644 src/views/vab/nested/menu1/menu1-1/menu1-1-1/index.vue create mode 100644 src/views/vab/permissions/index.vue create mode 100644 src/views/vab/player/index.vue create mode 100644 src/views/vab/smallComponents/index.vue create mode 100644 src/views/vab/table/components/TableEdit.vue create mode 100644 src/views/vab/table/index.vue create mode 100644 src/views/vab/tree/index.vue create mode 100644 src/views/vab/upload/index.vue create mode 100644 src/views/vab/verify/index.vue create mode 100644 src/views/vab/webSocket/index.vue create mode 100644 webstorm.config.js diff --git a/.browserslistrc b/.browserslistrc index 214388fe4..ab3713ad8 100644 --- a/.browserslistrc +++ b/.browserslistrc @@ -1,3 +1,5 @@ +# 支持浏览器配置 > 1% last 2 versions not dead + diff --git a/.editorconfig b/.editorconfig index 7053c49a0..7b06489a1 100644 --- a/.editorconfig +++ b/.editorconfig @@ -1,5 +1,14 @@ -[*.{js,jsx,ts,tsx,vue}] -indent_style = space +# 编辑器配置 + +root = true + +[*] +charset = utf-8 +end_of_line = lf indent_size = 2 -trim_trailing_whitespace = true +indent_style = space insert_final_newline = true +trim_trailing_whitespace = true + +[*.md] +trim_trailing_whitespace = false diff --git a/.eslintrc.js b/.eslintrc.js index c1213b324..9a086288c 100644 --- a/.eslintrc.js +++ b/.eslintrc.js @@ -1,4 +1,5 @@ /** + * @author chuzhixin 1204505056@qq.com (不想保留author可删除) * @description .eslintrc.js */ diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 000000000..1fa0664d7 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,12 @@ +# .gitattributes +*.html text eol=lf +*.css text eol=lf +*.js text eol=lf +*.scss text eol=lf +*.vue text eol=lf +*.hbs text eol=lf +*.sh text eol=lf +*.md text eol=lf +*.json text eol=lf +*.yml text eol=lf +*.js linguist-language=vue \ No newline at end of file diff --git a/.gitignore b/.gitignore index 403adbc1e..6b55d8359 100644 --- a/.gitignore +++ b/.gitignore @@ -1,23 +1,26 @@ +# .gitignore .DS_Store node_modules -/dist - - -# local env files +dist .env.local .env.*.local - -# Log files npm-debug.log* +yarn.lock yarn-debug.log* yarn-error.log* -pnpm-debug.log* - -# Editor directories and files .idea -.vscode *.suo *.ntvs* *.njsproj *.sln *.sw? +public/video +*.zip +*.7z +/src/layouts/components/zx-layouts +/zx-templates +/package-lock.json +/src/styles/themes/green.scss +/src/styles/themes/dark.scss +/src/styles/themes/glory.scss + diff --git a/.stylelintrc.js b/.stylelintrc.js new file mode 100644 index 000000000..f60e172d9 --- /dev/null +++ b/.stylelintrc.js @@ -0,0 +1,6 @@ +/** + * @description stylelint + */ +module.exports = { + extends: ['stylelint-config-recess-order', 'stylelint-config-prettier'], +} diff --git a/README.md b/README.md index 58b19652e..41ef1daf9 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -# futian +# FOTON ## Project setup ``` @@ -15,10 +15,5 @@ npm run serve npm run build ``` -### Lints and fixes files -``` -npm run lint -``` - ### Customize configuration See [Configuration Reference](https://cli.vuejs.org/config/). diff --git a/babel.config.js b/babel.config.js index 973ca3bbc..34ff3d0cd 100644 --- a/babel.config.js +++ b/babel.config.js @@ -1,4 +1,5 @@ /** + * @author chuzhixin 1204505056@qq.com (不想保留author可删除) * @description babel.config */ module.exports = { diff --git a/mock/controller/ad.js b/mock/controller/ad.js new file mode 100644 index 000000000..93c36ce71 --- /dev/null +++ b/mock/controller/ad.js @@ -0,0 +1,41 @@ +const data = [ + { + title: 'Admin Pro 3.0付费版本已发布,增加多项贴心功能,点我提前体验', + url: + 'https://chu1204505056.gitee.io/admin-pro?hmsr=homeAd&hmpl=&hmcu=&hmkw=&hmci=', + }, + { + title: 'Admin Plus 3.0内测版本已发布,增加多项贴心功能,点我提前体验', + url: + 'https://chu1204505056.gitee.io/admin-plus?hmsr=homeAd&hmpl=&hmcu=&hmkw=&hmci=', + }, + { + title: 'vue-admin-beautiful(antdv) vue3.0版本已发布,点我提前体验', + url: + 'http://vue-admin-beautiful.com/vue-admin-beautiful-antdv?hmsr=homeAd&hmpl=&hmcu=&hmkw=&hmci=', + }, + { + title: 'vue-admin-beautiful(element-plus) vue3.0版本已发布,点我提前体验', + url: + 'https://chu1204505056.gitee.io/admin-plus?hmsr=homeAd&hmpl=&hmcu=&hmkw=&hmci=', + }, + { + title: + '程序无国界,但程序员有国界,中国国家尊严不容挑衅,如果您在特殊时期继续购买HM、耐克、阿迪达斯等品牌那么您将无权继续使用Vab', + url: + 'https://chu1204505056.gitee.io/admin-pro?hmsr=homeAd&hmpl=&hmcu=&hmkw=&hmci=', + }, +] +module.exports = [ + { + url: '/ad/getList', + type: 'get', + response() { + return { + code: 200, + msg: 'success', + data, + } + }, + }, +] diff --git a/mock/controller/changeLog.js b/mock/controller/changeLog.js new file mode 100644 index 000000000..6fbb88d26 --- /dev/null +++ b/mock/controller/changeLog.js @@ -0,0 +1,250 @@ +const data = [ + { + content: '在github上获得了第一个star,感恩一位名叫Bequiet2014的github用户', + timestamp: '2020-03-23', + }, + { + content: '增加更换主题功能', + timestamp: '2020-04-10', + }, + { + content: '大幅精简代码', + timestamp: '2020-04-14', + }, + { + content: '修复群友反馈的bug', + timestamp: '2020-04-16', + }, + { + content: '剔除maptalks', + timestamp: '2020-04-17', + }, + { + content: + '换行符统一修改为lf 支持苹果 linux windows协同开发 强制开启最严格eslint规则 不要哭 严格是有好处的', + timestamp: '2020-04-17', + }, + { + content: '彻底完成手机端适配,记录这一天熬夜到了晚上三点', + timestamp: '2020-04-18', + }, + { + content: + '删除babel-polyfill 提高打包速度 减少压缩体积(放弃ie是这个项目做出的最伟大的决定)', + timestamp: '2020-04-18', + }, + { + content: '源码精简至800k', + timestamp: '2020-04-19', + }, + { + content: '添加视频播放器组件', + timestamp: '2020-04-20', + }, + { + content: '修复路由懒加载 完善主题配色', + timestamp: '2020-04-22', + }, + { + content: '修复全局axios拦截 加快动画展示效果 修改登录页样式', + timestamp: '2020-04-24', + }, + { + content: '简化权限与登录逻辑 更新mockServer', + timestamp: '2020-04-25', + }, + { + content: '优化登录退出逻辑 代码更清晰 退出不再重载网页 改为重载路由形式', + timestamp: '2020-04-26', + }, + { + content: '无端的指责只会让我更加努力 修复sidebar 简化permission', + timestamp: '2020-04-28', + }, + { + content: '又是一个深夜 实现了表格增删改查的一键生成', + timestamp: '2020-04-30', + }, + { + content: '大幅优化tagsview标签动画', + timestamp: '2020-05-02', + }, + { + content: '三种图标组件实现mock模拟分页', + timestamp: '2020-05-03', + }, + { + content: '添加了markdown编辑器组件', + timestamp: '2020-05-04', + }, + { + content: '添加stylelint-plus自动规整排序样式', + timestamp: '2020-05-06', + }, + { + content: '添加商城模板', + timestamp: '2020-05-12', + }, + { + content: 'github标星超过1000 感恩', + timestamp: '2020-05-13', + }, + { + content: '添加验证码组件', + timestamp: '2020-05-14', + }, + { + content: '修复横向菜单bug', + timestamp: '2020-05-16', + }, + { + content: '又被人骂了 挺好的 让我下定决心重写了tabsBar', + timestamp: '2020-05-20', + }, + { + content: '仿ant-design 添加雪花屏', + timestamp: '2020-05-26', + }, + { + content: '添加人员管理模块', + timestamp: '2020-06-02', + }, + { + content: 'github标星超过2000 感恩', + timestamp: '2020-06-03', + }, + { + content: '添加炫酷地图组件', + timestamp: '2020-06-11', + }, + { + content: '抽离更多公共配置,框架使用更顺手', + timestamp: '2020-06-19', + }, + { + content: '彻底完成了tabsBar多标签页的重构', + timestamp: '2020-06-22', + }, + { + content: '感恩github标星过3.0K 祝大家端午节快乐', + timestamp: '2020-06-25', + }, + { + content: '彻底重构了SideBar与TopBar 大幅精简dom渲染逻辑 全球首发', + timestamp: '2020-06-25', + }, + { + content: '添加菜单管理', + timestamp: '2020-07-7', + }, + { + content: '首次采用sass-loader 9.0写法,感谢github用户 shaonialife', + timestamp: '2020-07-7', + }, + { + content: '添加vue-amap组件', + timestamp: '2020-07-11', + }, + { + content: '修改zx-layouts引入方式', + timestamp: '2020-07-15', + }, + { + content: + '记录这一天vue-admin-beautiful在插件市场、百度已花费超过1万元广告费用,希望一切都值得', + timestamp: '2020-07-18', + }, + { + content: '主题配置添加绿荫草场、荣耀典藏、暗黑之子模式', + timestamp: '2020-07-18', + }, + { + content: '全局axios请求全面支持Status Code拦截处理', + timestamp: '2020-07-29', + }, + { + content: '重构全局loadding加载代码', + timestamp: '2020-07-31', + }, + { + content: '升级stylelint自动排序功能', + timestamp: '2020-08-25', + }, + { + content: '修复视频播放器组件重载路由失效的bug', + timestamp: '2020-09-03', + }, + { + content: '修复极个别情况image-loader打包报错', + timestamp: '2020-09-18', + }, + { + content: '全网首个基于vue3.0开发的admin框架已发布,具体请访问github', + timestamp: '2020-09-22', + }, + { + content: '完善路由后端渲染方案,弃用之前写法', + timestamp: '2020-09-30', + }, + { + content: '大版本迭代,请关注github tag', + timestamp: '2020-09-30', + }, + /* { + content: + "面对自称加拿大华人的捕蛇者说作者laike9m的发帖诋毁,和人身攻击,本想去知乎找他理论,可奈何他的知乎已经由于经常发布错误言论被官方封号了https://www.zhihu.com/people/laike9m,既然自己都不是中国人了,就不要妄加揣测国产的开源项目了,一切都交给时间吧,后来我释怀了,laike9m、Cruii这群人不止是抹黑我的框架,甚至还去抹黑中国民营企业的佼佼者华为,充满了无奈啊,也许只有发布这样的言论,他们的目的才能达到把 https://github.com/evil-huawei/evil-huawei", + timestamp: "2020-10-01", + }, */ + { + content: '凌晨两点,我累了,移除无用组件,精简package', + timestamp: '2020-10-02', + }, + { + content: '富文本编辑器支持精细化配置', + timestamp: '2020-10-20', + }, + { + content: '公共布局支持自动导出', + timestamp: '2020-10-23', + }, + { + content: '遮罩添加高斯模糊', + timestamp: '2020-10-25', + }, + { + content: 'vue3.0 + element-plus版本正式上线', + timestamp: '2020-12-5', + }, + { + content: '完成首页重构,跟进echarts 5.0', + timestamp: '2020-12-7', + }, + { + content: '更新sass版本至最新', + timestamp: '2021-1-7', + }, + { + content: '更新vue-echarts版本至最新,options变更为option', + timestamp: '2021-2-23', + }, + { + content: + '开源版品牌名升级为vue-admin-beautiful-pro,付费版vue2.x品牌升级为Admin Pro,付费版vue3.x品牌名升级为Admin Plus', + timestamp: '最近更新', + }, +] + +module.exports = [ + { + url: '/changeLog/getList', + type: 'post', + response() { + return { + code: 200, + msg: 'success', + totalCount: 999, + data: data, + } + }, + }, +] diff --git a/mock/controller/colorfulIcon.js b/mock/controller/colorfulIcon.js new file mode 100644 index 000000000..8d7625f1c --- /dev/null +++ b/mock/controller/colorfulIcon.js @@ -0,0 +1,324 @@ +const data = [ + 'alphabetical_sorting', + 'alphabetical_sorting', + 'alarm_clock', + 'area_chart', + 'approval', + 'answers', + 'approve', + 'assistant', + 'automotive', + 'automatic', + 'bad_decision', + 'bar_chart', + 'bearish', + 'biomass', + 'biohazard', + 'binoculars', + 'bookmark', + 'briefcase', + 'biotech', + 'broken_link', + 'business', + 'bullish', + 'business_contact', + 'businesswoman', + 'cable_release', + 'calculator', + 'businessman', + 'calendar', + 'butting_in', + 'call_transfer', + 'callback', + 'camcorder', + 'camera', + 'camcorder_pro', + 'cancel', + 'camera_addon', + 'camera_identificatio', + 'capacitor', + 'candle_sticks', + 'checkmark', + 'circuit', + 'charge_battery', + 'clear_filters', + 'clapperboard', + 'clock', + 'close_up_mode', + 'collaboration', + 'cell_phone', + 'collapse', + 'collect', + 'cloth', + 'combo_chart', + 'comments', + 'conference_call', + 'compact_camera', + 'contacts', + 'copyleft', + 'copyright', + 'crystal_oscillator', + 'cursor', + 'currency_exchange', + 'customer_support', + 'dam', + 'data_backup', + 'data_configuration', + 'data_encryption', + 'data_protection', + 'data_recovery', + 'database', + 'data_sheet', + 'debt', + 'decision', + 'delete_column', + 'delete_database', + 'department', + 'delete_row', + 'deployment', + 'dislike', + 'disapprove', + 'disclaimer', + 'display', + 'document', + 'do_not_insert', + 'do_not_mix', + 'do_not_inhale', + 'donate', + 'down', + 'doughnut_chart', + 'down_left', + 'down_right', + 'download', + 'edit_image', + 'electrical_sensor', + 'electrical_threshold', + 'electricity', + 'electro_devices', + 'electronics', + 'empty_battery', + 'empty_filter', + 'empty_trash', + 'end_call', + 'engineering', + 'entering_heaven_aliv', + 'expand', + 'export', + 'expired', + 'factory', + 'factory_breakdown', + 'external', + 'faq', + 'feed_in', + 'file', + 'feedback', + 'film', + 'filled_filter', + 'filing_cabinet', + 'film_reel', + 'flash_auto', + 'fine_print', + 'flash_off', + 'flash_on', + 'flow_chart', + 'folder', + 'frame', + 'full_battery', + 'full_trash', + 'gallery', + 'generic_sorting_asc', + 'generic_sorting_desc', + 'genealogy', + 'globe', + 'good_decision', + 'headset', + 'grid', + 'graduation_cap', + 'heat_map', + 'high_priority', + 'high_battery', + 'image_file', + 'home', + 'idea', + 'import', + 'in_transit', + 'integrated_webcam', + 'inspection', + 'invite', + 'internal', + 'ipad', + 'info', + 'iphone', + 'kindle', + 'key', + 'landscape', + 'left', + 'left_down', + 'left_up', + 'leave', + 'like_placeholder', + 'light_at_the_end_of_', + 'library', + 'line_chart', + 'link', + 'like', + 'lock', + 'list', + 'lock_landscape', + 'low_battery', + 'lock_portrait', + 'low_priority', + 'make_decision', + 'medium_priority', + 'manager', + 'menu', + 'middle_battery', + 'minus', + 'missed_call', + 'mind_map', + 'mms', + 'multiple_cameras', + 'money_transfer', + 'music', + 'multiple_devices', + 'multiple_smartphones', + 'multiple_inputs', + 'negative_dynamic', + 'neutral_decision', + 'night_landscape', + 'news', + 'neutral_trading', + 'night_portrait', + 'no_idea', + 'next', + 'no_video', + 'nook', + 'ok', + 'org_unit', + 'opened_folder', + 'old_time_camera', + 'online_support', + 'organization', + 'package', + 'paid', + 'parallel_tasks', + 'overtime', + 'panorama', + 'phone', + 'phone_android', + 'photo_reel', + 'pie_chart', + 'picture', + 'planner', + 'plus', + 'podium_with_audience', + 'podium_without_speak', + 'podium_with_speaker', + 'previous', + 'portrait_mode', + 'positive_dynamic', + 'privacy', + 'process', + 'puzzle', + 'questions', + 'print', + 'radar_plot', + 'rating', + 'ratings', + 'reading', + 'redo', + 'reading_ebook', + 'refresh', + 'registered_trademark', + 'right', + 'reuse', + 'remove_image', + 'right_down', + 'right_up', + 'rotate_to_portrait', + 'rules', + 'rotate_camera', + 'rotate_to_landscape', + 'ruler', + 'scatter_plot', + 'search', + 'safe', + 'self_service_kiosk', + 'selfie', + 'serial_tasks', + 'sales_performance', + 'settings', + 'services', + 'share', + 'shipped', + 'sim_card', + 'shop', + 'service_mark', + 'sim_card_chip', + 'signature', + 'smartphone_tablet', + 'sound_recording_copy', + 'sms', + 'speaker', + 'slr_back_side', + 'start', + 'stack_of_photos', + 'statistics', + 'sports_mode', + 'support', + 'synchronize', + 'switch_camera', + 'survey', + 'tablet_android', + 'template', + 'trademark', + 'todo_list', + 'touchscreen_smartpho', + 'timeline', + 'tree_structure', + 'undo', + 'up_left', + 'two_smartphones', + 'unlock', + 'up', + 'up_right', + 'upload', + 'video_call', + 'video_file', + 'view_details', + 'video_projector', + 'vip', + 'voice_presentation', + 'webcam', + 'voicemail', + 'workflow', + 'about', + 'accept_database', + 'add_image', + 'add_column', + 'add_database', + 'add_row', +] +module.exports = [ + { + url: '/colorfulIcon/getList', + type: 'post', + response(config) { + const { title, pageNo = 1, pageSize = 72 } = config.body + let mockList = data.filter((item) => { + if (title && item.indexOf(title) < 0) return false + return true + }) + const pageList = mockList.filter( + (item, index) => + index < pageSize * pageNo && index >= pageSize * (pageNo - 1) + ) + return { + code: 200, + msg: 'success', + totalCount: mockList.length, + data: pageList, + } + }, + }, +] diff --git a/mock/controller/goodsList.js b/mock/controller/goodsList.js new file mode 100644 index 000000000..82176a355 --- /dev/null +++ b/mock/controller/goodsList.js @@ -0,0 +1,43 @@ +const { mock } = require('mockjs') + +const List = [] +const count = 999 +let num = 0 +for (let i = 0; i < count; i++) { + List.push( + mock({ + uuid: '@uuid', + image: `https://picsum.photos/300/600?random=${num++}`, + title: '@ctitle', + description: '@csentence', + link: 'https://www.baidu.com', + price: '@integer(100, 500)', + 'status|1': [1, 0], + 'isRecommend|1': [1, 0], + }) + ) +} + +module.exports = [ + { + url: '/goodsList/getList', + type: 'post', + response(config) { + const { title = '', pageNo = 1, pageSize = 20 } = config.body + let mockList = List.filter((item) => { + if (title && item.title.indexOf(title) < 0) return false + return true + }) + const pageList = mockList.filter( + (item, index) => + index < pageSize * pageNo && index >= pageSize * (pageNo - 1) + ) + return { + code: 200, + msg: 'success', + totalCount: count, + data: pageList, + } + }, + }, +] diff --git a/mock/controller/icon.js b/mock/controller/icon.js new file mode 100644 index 000000000..365400a22 --- /dev/null +++ b/mock/controller/icon.js @@ -0,0 +1,985 @@ +const data = [ + 'air-freshener', + 'align-center', + 'align-justify', + 'align-left', + 'align-right', + 'allergies', + 'ambulance', + 'american-sign-language-interpreting', + 'anchor', + 'angle-double-down', + 'angle-double-left', + 'angle-double-right', + 'angle-double-up', + 'angle-down', + 'angle-left', + 'angle-right', + 'angle-up', + 'angry', + 'ankh', + 'apple-alt', + 'archive', + 'archway', + 'arrow-alt-circle-down', + 'arrow-alt-circle-left', + 'arrow-alt-circle-right', + 'arrow-alt-circle-up', + 'arrow-circle-down', + 'arrow-circle-left', + 'arrow-circle-right', + 'arrow-circle-up', + 'arrow-down', + 'arrow-left', + 'arrow-right', + 'arrow-up', + 'arrows-alt', + 'arrows-alt-h', + 'arrows-alt-v', + 'assistive-listening-systems', + 'asterisk', + 'at', + 'atlas', + 'atom', + 'audio-description', + 'award', + 'baby', + 'baby-carriage', + 'backspace', + 'backward', + 'bacon', + 'bahai', + 'balance-scale', + 'balance-scale-left', + 'balance-scale-right', + 'ban', + 'band-aid', + 'barcode', + 'bars', + 'baseball-ball', + 'basketball-ball', + 'bath', + 'battery-empty', + 'battery-full', + 'battery-half', + 'battery-quarter', + 'battery-three-quarters', + 'bed', + 'beer', + 'bell', + 'bell-slash', + 'bezier-curve', + 'bible', + 'bicycle', + 'biking', + 'binoculars', + 'biohazard', + 'birthday-cake', + 'blender', + 'blender-phone', + 'blind', + 'blog', + 'bold', + 'bolt', + 'bomb', + 'bone', + 'bong', + 'book', + 'book-dead', + 'book-medical', + 'book-open', + 'book-reader', + 'bookmark', + 'border-all', + 'border-none', + 'border-style', + 'bowling-ball', + 'box', + 'box-open', + 'boxes', + 'braille', + 'brain', + 'bread-slice', + 'briefcase', + 'briefcase-medical', + 'broadcast-tower', + 'broom', + 'brush', + 'bug', + 'building', + 'bullhorn', + 'bullseye', + 'burn', + 'bus', + 'bus-alt', + 'business-time', + 'calculator', + 'calendar', + 'calendar-alt', + 'calendar-check', + 'calendar-day', + 'calendar-minus', + 'calendar-plus', + 'calendar-times', + 'calendar-week', + 'camera', + 'camera-retro', + 'campground', + 'candy-cane', + 'cannabis', + 'capsules', + 'car', + 'car-alt', + 'car-battery', + 'car-crash', + 'car-side', + 'caravan', + 'caret-down', + 'caret-left', + 'caret-right', + 'caret-square-down', + 'caret-square-left', + 'caret-square-right', + 'caret-square-up', + 'caret-up', + 'carrot', + 'cart-arrow-down', + 'cart-plus', + 'cash-register', + 'cat', + 'certificate', + 'chair', + 'chalkboard', + 'chalkboard-teacher', + 'charging-station', + 'chart-area', + 'chart-bar', + 'chart-line', + 'chart-pie', + 'check', + 'check-circle', + 'check-double', + 'check-square', + 'cheese', + 'chess', + 'chess-bishop', + 'chess-board', + 'chess-king', + 'chess-knight', + 'chess-pawn', + 'chess-queen', + 'chess-rook', + 'chevron-circle-down', + 'chevron-circle-left', + 'chevron-circle-right', + 'chevron-circle-up', + 'chevron-down', + 'chevron-left', + 'chevron-right', + 'chevron-up', + 'child', + 'church', + 'circle', + 'circle-notch', + 'city', + 'clinic-medical', + 'clipboard', + 'clipboard-check', + 'clipboard-list', + 'clock', + 'clone', + 'closed-captioning', + 'cloud', + 'cloud-download-alt', + 'cloud-meatball', + 'cloud-moon', + 'cloud-moon-rain', + 'cloud-rain', + 'cloud-showers-heavy', + 'cloud-sun', + 'cloud-sun-rain', + 'cloud-upload-alt', + 'cocktail', + 'code', + 'code-branch', + 'coffee', + 'cog', + 'cogs', + 'coins', + 'columns', + 'comment', + 'comment-alt', + 'comment-dollar', + 'comment-dots', + 'comment-medical', + 'comment-slash', + 'comments', + 'comments-dollar', + 'compact-disc', + 'compass', + 'compress', + 'compress-alt', + 'compress-arrows-alt', + 'concierge-bell', + 'cookie', + 'cookie-bite', + 'copy', + 'copyright', + 'couch', + 'credit-card', + 'crop', + 'crop-alt', + 'cross', + 'crosshairs', + 'crow', + 'crown', + 'crutch', + 'cube', + 'cubes', + 'cut', + 'database', + 'deaf', + 'democrat', + 'desktop', + 'dharmachakra', + 'diagnoses', + 'dice', + 'dice-d20', + 'dice-d6', + 'dice-five', + 'dice-four', + 'dice-one', + 'dice-six', + 'dice-three', + 'dice-two', + 'digital-tachograph', + 'directions', + 'divide', + 'dizzy', + 'dna', + 'dog', + 'dollar-sign', + 'dolly', + 'dolly-flatbed', + 'donate', + 'door-closed', + 'door-open', + 'dot-circle', + 'dove', + 'download', + 'drafting-compass', + 'dragon', + 'draw-polygon', + 'drum', + 'drum-steelpan', + 'drumstick-bite', + 'dumbbell', + 'dumpster', + 'dumpster-fire', + 'dungeon', + 'edit', + 'egg', + 'eject', + 'ellipsis-h', + 'ellipsis-v', + 'envelope', + 'envelope-open', + 'envelope-open-text', + 'envelope-square', + 'equals', + 'eraser', + 'ethernet', + 'euro-sign', + 'exchange-alt', + 'exclamation', + 'exclamation-circle', + 'exclamation-triangle', + 'expand', + 'expand-alt', + 'expand-arrows-alt', + 'external-link-alt', + 'external-link-square-alt', + 'eye', + 'eye-dropper', + 'eye-slash', + 'fan', + 'fast-backward', + 'fast-forward', + 'fax', + 'feather', + 'feather-alt', + 'female', + 'fighter-jet', + 'file', + 'file-alt', + 'file-archive', + 'file-audio', + 'file-code', + 'file-contract', + 'file-csv', + 'file-download', + 'file-excel', + 'file-export', + 'file-image', + 'file-import', + 'file-invoice', + 'file-invoice-dollar', + 'file-medical', + 'file-medical-alt', + 'file-pdf', + 'file-powerpoint', + 'file-prescription', + 'file-signature', + 'file-upload', + 'file-video', + 'file-word', + 'fill', + 'fill-drip', + 'film', + 'filter', + 'fingerprint', + 'fire', + 'fire-alt', + 'fire-extinguisher', + 'first-aid', + 'fish', + 'fist-raised', + 'flag', + 'flag-checkered', + 'flag-usa', + 'flask', + 'flushed', + 'folder', + 'folder-minus', + 'folder-open', + 'folder-plus', + 'font', + 'football-ball', + 'forward', + 'frog', + 'frown', + 'frown-open', + 'funnel-dollar', + 'futbol', + 'gamepad', + 'gas-pump', + 'gavel', + 'gem', + 'genderless', + 'ghost', + 'gift', + 'gifts', + 'glass-cheers', + 'glass-martini', + 'glass-martini-alt', + 'glass-whiskey', + 'glasses', + 'globe', + 'globe-africa', + 'globe-americas', + 'globe-asia', + 'globe-europe', + 'golf-ball', + 'gopuram', + 'graduation-cap', + 'greater-than', + 'greater-than-equal', + 'grimace', + 'grin', + 'grin-alt', + 'grin-beam', + 'grin-beam-sweat', + 'grin-hearts', + 'grin-squint', + 'grin-squint-tears', + 'grin-stars', + 'grin-tears', + 'grin-tongue', + 'grin-tongue-squint', + 'grin-tongue-wink', + 'grin-wink', + 'grip-horizontal', + 'grip-lines', + 'grip-lines-vertical', + 'grip-vertical', + 'guitar', + 'h-square', + 'hamburger', + 'hammer', + 'hamsa', + 'hand-holding', + 'hand-holding-heart', + 'hand-holding-usd', + 'hand-lizard', + 'hand-middle-finger', + 'hand-paper', + 'hand-peace', + 'hand-point-down', + 'hand-point-left', + 'hand-point-right', + 'hand-point-up', + 'hand-pointer', + 'hand-rock', + 'hand-scissors', + 'hand-spock', + 'hands', + 'hands-helping', + 'handshake', + 'hanukiah', + 'hard-hat', + 'hashtag', + 'hat-cowboy', + 'hat-cowboy-side', + 'hat-wizard', + 'hdd', + 'heading', + 'headphones', + 'headphones-alt', + 'headset', + 'heart', + 'heart-broken', + 'heartbeat', + 'helicopter', + 'highlighter', + 'hiking', + 'hippo', + 'history', + 'hockey-puck', + 'holly-berry', + 'home', + 'horse', + 'horse-head', + 'hospital', + 'hospital-alt', + 'hospital-symbol', + 'hot-tub', + 'hotdog', + 'hotel', + 'hourglass', + 'hourglass-end', + 'hourglass-half', + 'hourglass-start', + 'house-damage', + 'hryvnia', + 'i-cursor', + 'ice-cream', + 'icicles', + 'icons', + 'id-badge', + 'id-card', + 'id-card-alt', + 'igloo', + 'image', + 'images', + 'inbox', + 'indent', + 'industry', + 'infinity', + 'info', + 'info-circle', + 'italic', + 'jedi', + 'joint', + 'journal-whills', + 'kaaba', + 'key', + 'keyboard', + 'khanda', + 'kiss', + 'kiss-beam', + 'kiss-wink-heart', + 'kiwi-bird', + 'landmark', + 'language', + 'laptop', + 'laptop-code', + 'laptop-medical', + 'laugh', + 'laugh-beam', + 'laugh-squint', + 'laugh-wink', + 'layer-group', + 'leaf', + 'lemon', + 'less-than', + 'less-than-equal', + 'level-down-alt', + 'level-up-alt', + 'life-ring', + 'lightbulb', + 'link', + 'lira-sign', + 'list', + 'list-alt', + 'list-ol', + 'list-ul', + 'location-arrow', + 'lock', + 'lock-open', + 'long-arrow-alt-down', + 'long-arrow-alt-left', + 'long-arrow-alt-right', + 'long-arrow-alt-up', + 'low-vision', + 'luggage-cart', + 'magic', + 'magnet', + 'mail-bulk', + 'male', + 'map', + 'map-marked', + 'map-marked-alt', + 'map-marker', + 'map-marker-alt', + 'map-pin', + 'map-signs', + 'marker', + 'mars', + 'mars-double', + 'mars-stroke', + 'mars-stroke-h', + 'mars-stroke-v', + 'mask', + 'medal', + 'medkit', + 'meh', + 'meh-blank', + 'meh-rolling-eyes', + 'memory', + 'menorah', + 'mercury', + 'meteor', + 'microchip', + 'microphone', + 'microphone-alt', + 'microphone-alt-slash', + 'microphone-slash', + 'microscope', + 'minus', + 'minus-circle', + 'minus-square', + 'mitten', + 'mobile', + 'mobile-alt', + 'money-bill', + 'money-bill-alt', + 'money-bill-wave', + 'money-bill-wave-alt', + 'money-check', + 'money-check-alt', + 'monument', + 'moon', + 'mortar-pestle', + 'mosque', + 'motorcycle', + 'mountain', + 'mouse', + 'mouse-pointer', + 'mug-hot', + 'music', + 'network-wired', + 'neuter', + 'newspaper', + 'not-equal', + 'notes-medical', + 'object-group', + 'object-ungroup', + 'oil-can', + 'om', + 'otter', + 'outdent', + 'pager', + 'paint-brush', + 'paint-roller', + 'palette', + 'pallet', + 'paper-plane', + 'paperclip', + 'parachute-box', + 'paragraph', + 'parking', + 'passport', + 'pastafarianism', + 'paste', + 'pause', + 'pause-circle', + 'paw', + 'peace', + 'pen', + 'pen-alt', + 'pen-fancy', + 'pen-nib', + 'pen-square', + 'pencil-alt', + 'pencil-ruler', + 'people-carry', + 'pepper-hot', + 'percent', + 'percentage', + 'person-booth', + 'phone', + 'phone-alt', + 'phone-slash', + 'phone-square', + 'phone-square-alt', + 'phone-volume', + 'photo-video', + 'piggy-bank', + 'pills', + 'pizza-slice', + 'place-of-worship', + 'plane', + 'plane-arrival', + 'plane-departure', + 'play', + 'play-circle', + 'plug', + 'plus', + 'plus-circle', + 'plus-square', + 'podcast', + 'poll', + 'poll-h', + 'poo', + 'poo-storm', + 'poop', + 'portrait', + 'pound-sign', + 'power-off', + 'pray', + 'praying-hands', + 'prescription', + 'prescription-bottle', + 'prescription-bottle-alt', + 'print', + 'procedures', + 'project-diagram', + 'puzzle-piece', + 'qrcode', + 'question', + 'question-circle', + 'quidditch', + 'quote-left', + 'quote-right', + 'quran', + 'radiation', + 'radiation-alt', + 'rainbow', + 'random', + 'receipt', + 'record-vinyl', + 'recycle', + 'redo', + 'redo-alt', + 'registered', + 'remove-format', + 'reply', + 'reply-all', + 'republican', + 'restroom', + 'retweet', + 'ribbon', + 'ring', + 'road', + 'robot', + 'rocket', + 'route', + 'rss', + 'rss-square', + 'ruble-sign', + 'ruler', + 'ruler-combined', + 'ruler-horizontal', + 'ruler-vertical', + 'running', + 'rupee-sign', + 'sad-cry', + 'sad-tear', + 'satellite', + 'satellite-dish', + 'save', + 'school', + 'screwdriver', + 'scroll', + 'sd-card', + 'search', + 'search-dollar', + 'search-location', + 'search-minus', + 'search-plus', + 'seedling', + 'server', + 'shapes', + 'share', + 'share-alt', + 'share-alt-square', + 'share-square', + 'shekel-sign', + 'shield-alt', + 'ship', + 'shipping-fast', + 'shoe-prints', + 'shopping-bag', + 'shopping-basket', + 'shopping-cart', + 'shower', + 'shuttle-van', + 'sign', + 'sign-in-alt', + 'sign-language', + 'sign-out-alt', + 'signal', + 'signature', + 'sim-card', + 'sitemap', + 'skating', + 'skiing', + 'skiing-nordic', + 'skull', + 'skull-crossbones', + 'slash', + 'sleigh', + 'sliders-h', + 'smile', + 'smile-beam', + 'smile-wink', + 'smog', + 'smoking', + 'smoking-ban', + 'sms', + 'snowboarding', + 'snowflake', + 'snowman', + 'snowplow', + 'socks', + 'solar-panel', + 'sort', + 'sort-alpha-down', + 'sort-alpha-down-alt', + 'sort-alpha-up', + 'sort-alpha-up-alt', + 'sort-amount-down', + 'sort-amount-down-alt', + 'sort-amount-up', + 'sort-amount-up-alt', + 'sort-down', + 'sort-numeric-down', + 'sort-numeric-down-alt', + 'sort-numeric-up', + 'sort-numeric-up-alt', + 'sort-up', + 'spa', + 'space-shuttle', + 'spell-check', + 'spider', + 'spinner', + 'splotch', + 'spray-can', + 'square', + 'square-full', + 'square-root-alt', + 'stamp', + 'star', + 'star-and-crescent', + 'star-half', + 'star-half-alt', + 'star-of-david', + 'star-of-life', + 'step-backward', + 'step-forward', + 'stethoscope', + 'sticky-note', + 'stop', + 'stop-circle', + 'stopwatch', + 'store', + 'store-alt', + 'stream', + 'street-view', + 'strikethrough', + 'stroopwafel', + 'subscript', + 'subway', + 'suitcase', + 'suitcase-rolling', + 'sun', + 'superscript', + 'surprise', + 'swatchbook', + 'swimmer', + 'swimming-pool', + 'synagogue', + 'sync', + 'sync-alt', + 'syringe', + 'table', + 'table-tennis', + 'tablet', + 'tablet-alt', + 'tablets', + 'tachometer-alt', + 'tag', + 'tags', + 'tape', + 'tasks', + 'taxi', + 'teeth', + 'teeth-open', + 'temperature-high', + 'temperature-low', + 'tenge', + 'terminal', + 'text-height', + 'text-width', + 'th', + 'th-large', + 'th-list', + 'theater-masks', + 'thermometer', + 'thermometer-empty', + 'thermometer-full', + 'thermometer-half', + 'thermometer-quarter', + 'thermometer-three-quarters', + 'thumbs-down', + 'thumbs-up', + 'thumbtack', + 'ticket-alt', + 'times', + 'times-circle', + 'tint', + 'tint-slash', + 'tired', + 'toggle-off', + 'toggle-on', + 'toilet', + 'toilet-paper', + 'toolbox', + 'tools', + 'tooth', + 'torah', + 'torii-gate', + 'tractor', + 'trademark', + 'traffic-light', + 'trailer', + 'train', + 'tram', + 'transgender', + 'transgender-alt', + 'trash', + 'trash-alt', + 'trash-restore', + 'trash-restore-alt', + 'tree', + 'trophy', + 'truck', + 'truck-loading', + 'truck-monster', + 'truck-moving', + 'truck-pickup', + 'tshirt', + 'tty', + 'tv', + 'umbrella', + 'umbrella-beach', + 'underline', + 'undo', + 'undo-alt', + 'universal-access', + 'university', + 'unlink', + 'unlock', + 'unlock-alt', + 'upload', + 'user', + 'user-alt', + 'user-alt-slash', + 'user-astronaut', + 'user-check', + 'user-circle', + 'user-clock', + 'user-cog', + 'user-edit', + 'user-friends', + 'user-graduate', + 'user-injured', + 'user-lock', + 'user-md', + 'user-minus', + 'user-ninja', + 'user-nurse', + 'user-plus', + 'user-secret', + 'user-shield', + 'user-slash', + 'user-tag', + 'user-tie', + 'user-times', + 'users', + 'users-cog', + 'utensil-spoon', + 'utensils', + 'vector-square', + 'venus', + 'venus-double', + 'venus-mars', + 'vial', + 'vials', + 'video', + 'video-slash', + 'vihara', + 'voicemail', + 'volleyball-ball', + 'volume-down', + 'volume-mute', + 'volume-off', + 'volume-up', + 'vote-yea', + 'vr-cardboard', + 'walking', + 'wallet', + 'warehouse', + 'water', + 'wave-square', + 'weight', + 'weight-hanging', + 'wheelchair', + 'wifi', + 'wind', + 'window-close', + 'window-maximize', + 'window-minimize', + 'window-restore', + 'wine-bottle', + 'wine-glass', + 'wine-glass-alt', + 'won-sign', + 'wrench', + 'x-ray', + 'yen-sign', + 'yin-yang', +] +module.exports = [ + { + url: '/icon/getList', + type: 'post', + response(config) { + const { title, pageNo = 1, pageSize = 72 } = config.body + let mockList = data.filter((item) => { + if (title && item.indexOf(title) < 0) return false + return true + }) + const pageList = mockList.filter( + (item, index) => + index < pageSize * pageNo && index >= pageSize * (pageNo - 1) + ) + return { + code: 200, + msg: 'success', + totalCount: mockList.length, + data: pageList, + } + }, + }, +] diff --git a/mock/controller/menuManagement.js b/mock/controller/menuManagement.js new file mode 100644 index 000000000..b86a178da --- /dev/null +++ b/mock/controller/menuManagement.js @@ -0,0 +1,51 @@ +module.exports = [ + { + url: '/menuManagement/getTree', + type: 'post', + response() { + return { + code: 200, + msg: 'success', + totalCount: 999, + data: [ + { + id: 'root', + label: '全部角色', + children: [ + { + id: '@id', + permission: 'admin', + label: 'admin角色', + }, + { + id: '@id', + permission: 'editor', + label: 'editor角色', + }, + ], + }, + ], + } + }, + }, + { + url: '/menuManagement/doEdit', + type: 'post', + response() { + return { + code: 200, + msg: '模拟保存成功', + } + }, + }, + { + url: '/menuManagement/doDelete', + type: 'post', + response() { + return { + code: 200, + msg: '模拟删除成功', + } + }, + }, +] diff --git a/mock/controller/notice.js b/mock/controller/notice.js new file mode 100644 index 000000000..63113cc09 --- /dev/null +++ b/mock/controller/notice.js @@ -0,0 +1,33 @@ +const data = [ + { + title: + '温馨提示:集成版虽功能丰富,但冗余依赖过多,建议开发时使用基础版进行开发 Vab Admin Plus(vue3.0 + element-plus)已发布,欢迎体验:Vab Admin Plus', + closable: false, + type: 'success', + }, + { + title: + '作者寄语:感谢Star,感恩相遇,愿世间美好与我们环环相扣,加油!屏幕前的我们,打破桎梏,坚守初心。其实人生改变命运的机会并没有太多,我们并不是不优秀,我们也并不是一无是处,我们也希望驻足山巅被众人仰望,也许我们缺少的只是一个机会,缺少的只是生命中的导师,我希望这个框架帮助到更多的人,希望有一天,我们面试的时候不再胆怯,希望有一天别人看到的不仅仅是你的努力,还有你的功成名就,出人头地。', + closable: false, + type: 'warning', + }, + { + title: + '随笔:我一直在寻找开源的真谛,我一直再想什么是开源,我一开始觉得免费就是开源,好像又不是。我理解的开源是:你也开源,我也开源,大家一起贡献,相互帮助。我最担心的事情是:我一个小人物,去伺候一众的伸手党,我想,这不是开源该有的氛围。我还太年轻,不懂什么是格局,我只知道,无私的帮助他人,能给我带来快乐,却不能给我带来收入,当然,有时候,快乐对我来说就已经足够了。可惜我是一个人,没有精力帮助到每一个人,可惜这个世界需要赚钱,才能过上平凡的生活,可惜了我的梦想,这个物欲横流的时代,理想主义的我们,即使内心坚决如铁,也似乎寸步难行。', + closable: false, + type: 'success', + }, +] +module.exports = [ + { + url: '/notice/getList', + type: 'post', + response() { + return { + code: 200, + msg: 'success', + data, + } + }, + }, +] diff --git a/mock/controller/personalCenter.js b/mock/controller/personalCenter.js new file mode 100644 index 000000000..0db25e75b --- /dev/null +++ b/mock/controller/personalCenter.js @@ -0,0 +1,42 @@ +const { mock } = require('mockjs') + +module.exports = [ + { + url: '/personalCenter/getList', + type: 'post', + response(config) { + return { + code: 200, + msg: 'success', + totalCount: 999, + data: mock({ + 'data|10': [ + { + id: '@id', + }, + ], + }).data, + } + }, + }, + { + url: '/personalCenter/doEdit', + type: 'post', + response() { + return { + code: 200, + msg: '模拟保存成功', + } + }, + }, + { + url: '/personalCenter/doDelete', + type: 'post', + response() { + return { + code: 200, + msg: '模拟删除成功', + } + }, + }, +] diff --git a/mock/controller/remixIcon.js b/mock/controller/remixIcon.js new file mode 100644 index 000000000..db299ce95 --- /dev/null +++ b/mock/controller/remixIcon.js @@ -0,0 +1,2294 @@ +const data = [ + '24-hours-fill', + '24-hours-line', + '4k-fill', + '4k-line', + 'a-b', + 'account-box-fill', + 'account-box-line', + 'account-circle-fill', + 'account-circle-line', + 'account-pin-box-fill', + 'account-pin-box-line', + 'account-pin-circle-fill', + 'account-pin-circle-line', + 'add-box-fill', + 'add-box-line', + 'add-circle-fill', + 'add-circle-line', + 'add-fill', + 'add-line', + 'admin-fill', + 'admin-line', + 'airplay-fill', + 'airplay-line', + 'alarm-fill', + 'alarm-line', + 'alarm-warning-fill', + 'alarm-warning-line', + 'album-fill', + 'album-line', + 'alert-fill', + 'alert-line', + 'aliens-fill', + 'aliens-line', + 'align-bottom', + 'align-center', + 'align-justify', + 'align-left', + 'align-right', + 'align-top', + 'align-vertically', + 'alipay-fill', + 'alipay-line', + 'amazon-fill', + 'amazon-line', + 'anchor-fill', + 'anchor-line', + 'ancient-gate-fill', + 'ancient-gate-line', + 'ancient-pavilion-fill', + 'ancient-pavilion-line', + 'android-fill', + 'android-line', + 'angularjs-fill', + 'angularjs-line', + 'anticlockwise-2-fill', + 'anticlockwise-2-line', + 'anticlockwise-fill', + 'anticlockwise-line', + 'app-store-fill', + 'app-store-line', + 'apple-fill', + 'apple-line', + 'apps-2-fill', + 'apps-2-line', + 'apps-fill', + 'apps-line', + 'archive-drawer-fill', + 'archive-drawer-line', + 'archive-fill', + 'archive-line', + 'arrow-down-circle-fill', + 'arrow-down-circle-line', + 'arrow-down-fill', + 'arrow-down-line', + 'arrow-down-s-fill', + 'arrow-down-s-line', + 'arrow-drop-down-fill', + 'arrow-drop-down-line', + 'arrow-drop-left-fill', + 'arrow-drop-left-line', + 'arrow-drop-right-fill', + 'arrow-drop-right-line', + 'arrow-drop-up-fill', + 'arrow-drop-up-line', + 'arrow-go-back-fill', + 'arrow-go-back-line', + 'arrow-go-forward-fill', + 'arrow-go-forward-line', + 'arrow-left-circle-fill', + 'arrow-left-circle-line', + 'arrow-left-down-fill', + 'arrow-left-down-line', + 'arrow-left-fill', + 'arrow-left-line', + 'arrow-left-right-fill', + 'arrow-left-right-line', + 'arrow-left-s-fill', + 'arrow-left-s-line', + 'arrow-left-up-fill', + 'arrow-left-up-line', + 'arrow-right-circle-fill', + 'arrow-right-circle-line', + 'arrow-right-down-fill', + 'arrow-right-down-line', + 'arrow-right-fill', + 'arrow-right-line', + 'arrow-right-s-fill', + 'arrow-right-s-line', + 'arrow-right-up-fill', + 'arrow-right-up-line', + 'arrow-up-circle-fill', + 'arrow-up-circle-line', + 'arrow-up-down-fill', + 'arrow-up-down-line', + 'arrow-up-fill', + 'arrow-up-line', + 'arrow-up-s-fill', + 'arrow-up-s-line', + 'artboard-2-fill', + 'artboard-2-line', + 'artboard-fill', + 'artboard-line', + 'article-fill', + 'article-line', + 'aspect-ratio-fill', + 'aspect-ratio-line', + 'asterisk', + 'at-fill', + 'at-line', + 'attachment-2', + 'attachment-fill', + 'attachment-line', + 'auction-fill', + 'auction-line', + 'award-fill', + 'award-line', + 'baidu-fill', + 'baidu-line', + 'ball-pen-fill', + 'ball-pen-line', + 'bank-card-2-fill', + 'bank-card-2-line', + 'bank-card-fill', + 'bank-card-line', + 'bank-fill', + 'bank-line', + 'bar-chart-2-fill', + 'bar-chart-2-line', + 'bar-chart-box-fill', + 'bar-chart-box-line', + 'bar-chart-fill', + 'bar-chart-grouped-fill', + 'bar-chart-grouped-line', + 'bar-chart-horizontal-fill', + 'bar-chart-horizontal-line', + 'bar-chart-line', + 'barcode-box-fill', + 'barcode-box-line', + 'barcode-fill', + 'barcode-line', + 'barricade-fill', + 'barricade-line', + 'base-station-fill', + 'base-station-line', + 'basketball-fill', + 'basketball-line', + 'battery-2-charge-fill', + 'battery-2-charge-line', + 'battery-2-fill', + 'battery-2-line', + 'battery-charge-fill', + 'battery-charge-line', + 'battery-fill', + 'battery-line', + 'battery-low-fill', + 'battery-low-line', + 'battery-saver-fill', + 'battery-saver-line', + 'battery-share-fill', + 'battery-share-line', + 'bear-smile-fill', + 'bear-smile-line', + 'behance-fill', + 'behance-line', + 'bell-fill', + 'bell-line', + 'bike-fill', + 'bike-line', + 'bilibili-fill', + 'bilibili-line', + 'bill-fill', + 'bill-line', + 'billiards-fill', + 'billiards-line', + 'bit-coin-fill', + 'bit-coin-line', + 'blaze-fill', + 'blaze-line', + 'bluetooth-connect-fill', + 'bluetooth-connect-line', + 'bluetooth-fill', + 'bluetooth-line', + 'blur-off-fill', + 'blur-off-line', + 'body-scan-fill', + 'body-scan-line', + 'bold', + 'book-2-fill', + 'book-2-line', + 'book-3-fill', + 'book-3-line', + 'book-fill', + 'book-line', + 'book-mark-fill', + 'book-mark-line', + 'book-open-fill', + 'book-open-line', + 'book-read-fill', + 'book-read-line', + 'booklet-fill', + 'booklet-line', + 'bookmark-2-fill', + 'bookmark-2-line', + 'bookmark-3-fill', + 'bookmark-3-line', + 'bookmark-fill', + 'bookmark-line', + 'boxing-fill', + 'boxing-line', + 'braces-fill', + 'braces-line', + 'brackets-fill', + 'brackets-line', + 'briefcase-2-fill', + 'briefcase-2-line', + 'briefcase-3-fill', + 'briefcase-3-line', + 'briefcase-4-fill', + 'briefcase-4-line', + 'briefcase-5-fill', + 'briefcase-5-line', + 'briefcase-fill', + 'briefcase-line', + 'bring-forward', + 'bring-to-front', + 'broadcast-fill', + 'broadcast-line', + 'brush-2-fill', + 'brush-2-line', + 'brush-3-fill', + 'brush-3-line', + 'brush-4-fill', + 'brush-4-line', + 'brush-fill', + 'brush-line', + 'bubble-chart-fill', + 'bubble-chart-line', + 'bug-2-fill', + 'bug-2-line', + 'bug-fill', + 'bug-line', + 'building-2-fill', + 'building-2-line', + 'building-3-fill', + 'building-3-line', + 'building-4-fill', + 'building-4-line', + 'building-fill', + 'building-line', + 'bus-2-fill', + 'bus-2-line', + 'bus-fill', + 'bus-line', + 'bus-wifi-fill', + 'bus-wifi-line', + 'cactus-fill', + 'cactus-line', + 'cake-2-fill', + 'cake-2-line', + 'cake-3-fill', + 'cake-3-line', + 'cake-fill', + 'cake-line', + 'calculator-fill', + 'calculator-line', + 'calendar-2-fill', + 'calendar-2-line', + 'calendar-check-fill', + 'calendar-check-line', + 'calendar-event-fill', + 'calendar-event-line', + 'calendar-fill', + 'calendar-line', + 'calendar-todo-fill', + 'calendar-todo-line', + 'camera-2-fill', + 'camera-2-line', + 'camera-3-fill', + 'camera-3-line', + 'camera-fill', + 'camera-lens-fill', + 'camera-lens-line', + 'camera-line', + 'camera-off-fill', + 'camera-off-line', + 'camera-switch-fill', + 'camera-switch-line', + 'capsule-fill', + 'capsule-line', + 'car-fill', + 'car-line', + 'car-washing-fill', + 'car-washing-line', + 'caravan-fill', + 'caravan-line', + 'cast-fill', + 'cast-line', + 'cellphone-fill', + 'cellphone-line', + 'celsius-fill', + 'celsius-line', + 'centos-fill', + 'centos-line', + 'character-recognition-fill', + 'character-recognition-line', + 'charging-pile-2-fill', + 'charging-pile-2-line', + 'charging-pile-fill', + 'charging-pile-line', + 'chat-1-fill', + 'chat-1-line', + 'chat-2-fill', + 'chat-2-line', + 'chat-3-fill', + 'chat-3-line', + 'chat-4-fill', + 'chat-4-line', + 'chat-check-fill', + 'chat-check-line', + 'chat-delete-fill', + 'chat-delete-line', + 'chat-download-fill', + 'chat-download-line', + 'chat-follow-up-fill', + 'chat-follow-up-line', + 'chat-forward-fill', + 'chat-forward-line', + 'chat-heart-fill', + 'chat-heart-line', + 'chat-history-fill', + 'chat-history-line', + 'chat-new-fill', + 'chat-new-line', + 'chat-off-fill', + 'chat-off-line', + 'chat-poll-fill', + 'chat-poll-line', + 'chat-private-fill', + 'chat-private-line', + 'chat-quote-fill', + 'chat-quote-line', + 'chat-settings-fill', + 'chat-settings-line', + 'chat-smile-2-fill', + 'chat-smile-2-line', + 'chat-smile-3-fill', + 'chat-smile-3-line', + 'chat-smile-fill', + 'chat-smile-line', + 'chat-upload-fill', + 'chat-upload-line', + 'chat-voice-fill', + 'chat-voice-line', + 'check-double-fill', + 'check-double-line', + 'check-fill', + 'check-line', + 'checkbox-blank-circle-fill', + 'checkbox-blank-circle-line', + 'checkbox-blank-fill', + 'checkbox-blank-line', + 'checkbox-circle-fill', + 'checkbox-circle-line', + 'checkbox-fill', + 'checkbox-indeterminate-fill', + 'checkbox-indeterminate-line', + 'checkbox-line', + 'checkbox-multiple-blank-fill', + 'checkbox-multiple-blank-line', + 'checkbox-multiple-fill', + 'checkbox-multiple-line', + 'china-railway-fill', + 'china-railway-line', + 'chrome-fill', + 'chrome-line', + 'clapperboard-fill', + 'clapperboard-line', + 'clipboard-fill', + 'clipboard-line', + 'clockwise-2-fill', + 'clockwise-2-line', + 'clockwise-fill', + 'clockwise-line', + 'close-circle-fill', + 'close-circle-line', + 'close-fill', + 'close-line', + 'closed-captioning-fill', + 'closed-captioning-line', + 'cloud-fill', + 'cloud-line', + 'cloud-off-fill', + 'cloud-off-line', + 'cloud-windy-fill', + 'cloud-windy-line', + 'cloudy-2-fill', + 'cloudy-2-line', + 'cloudy-fill', + 'cloudy-line', + 'code-box-fill', + 'code-box-line', + 'code-fill', + 'code-line', + 'code-s-fill', + 'code-s-line', + 'code-s-slash-fill', + 'code-s-slash-line', + 'code-view', + 'codepen-fill', + 'codepen-line', + 'coin-fill', + 'coin-line', + 'coins-fill', + 'coins-line', + 'collage-fill', + 'collage-line', + 'command-fill', + 'command-line', + 'community-fill', + 'community-line', + 'compass-2-fill', + 'compass-2-line', + 'compass-3-fill', + 'compass-3-line', + 'compass-4-fill', + 'compass-4-line', + 'compass-discover-fill', + 'compass-discover-line', + 'compass-fill', + 'compass-line', + 'compasses-2-fill', + 'compasses-2-line', + 'compasses-fill', + 'compasses-line', + 'computer-fill', + 'computer-line', + 'contacts-book-2-fill', + 'contacts-book-2-line', + 'contacts-book-fill', + 'contacts-book-line', + 'contacts-book-upload-fill', + 'contacts-book-upload-line', + 'contacts-fill', + 'contacts-line', + 'contrast-2-fill', + 'contrast-2-line', + 'contrast-drop-2-fill', + 'contrast-drop-2-line', + 'contrast-drop-fill', + 'contrast-drop-line', + 'contrast-fill', + 'contrast-line', + 'copper-coin-fill', + 'copper-coin-line', + 'copper-diamond-fill', + 'copper-diamond-line', + 'copyleft-fill', + 'copyleft-line', + 'copyright-fill', + 'copyright-line', + 'coreos-fill', + 'coreos-line', + 'coupon-2-fill', + 'coupon-2-line', + 'coupon-3-fill', + 'coupon-3-line', + 'coupon-4-fill', + 'coupon-4-line', + 'coupon-5-fill', + 'coupon-5-line', + 'coupon-fill', + 'coupon-line', + 'cpu-fill', + 'cpu-line', + 'creative-commons-by-fill', + 'creative-commons-by-line', + 'creative-commons-fill', + 'creative-commons-line', + 'creative-commons-nc-fill', + 'creative-commons-nc-line', + 'creative-commons-nd-fill', + 'creative-commons-nd-line', + 'creative-commons-sa-fill', + 'creative-commons-sa-line', + 'creative-commons-zero-fill', + 'creative-commons-zero-line', + 'criminal-fill', + 'criminal-line', + 'crop-2-fill', + 'crop-2-line', + 'crop-fill', + 'crop-line', + 'css3-fill', + 'css3-line', + 'cup-fill', + 'cup-line', + 'currency-fill', + 'currency-line', + 'cursor-fill', + 'cursor-line', + 'customer-service-2-fill', + 'customer-service-2-line', + 'customer-service-fill', + 'customer-service-line', + 'dashboard-2-fill', + 'dashboard-2-line', + 'dashboard-3-fill', + 'dashboard-3-line', + 'dashboard-fill', + 'dashboard-line', + 'database-2-fill', + 'database-2-line', + 'database-fill', + 'database-line', + 'delete-back-2-fill', + 'delete-back-2-line', + 'delete-back-fill', + 'delete-back-line', + 'delete-bin-2-fill', + 'delete-bin-2-line', + 'delete-bin-3-fill', + 'delete-bin-3-line', + 'delete-bin-4-fill', + 'delete-bin-4-line', + 'delete-bin-5-fill', + 'delete-bin-5-line', + 'delete-bin-6-fill', + 'delete-bin-6-line', + 'delete-bin-7-fill', + 'delete-bin-7-line', + 'delete-bin-fill', + 'delete-bin-line', + 'delete-column', + 'delete-row', + 'device-fill', + 'device-line', + 'device-recover-fill', + 'device-recover-line', + 'dingding-fill', + 'dingding-line', + 'direction-fill', + 'direction-line', + 'disc-fill', + 'disc-line', + 'discord-fill', + 'discord-line', + 'discuss-fill', + 'discuss-line', + 'dislike-fill', + 'dislike-line', + 'disqus-fill', + 'disqus-line', + 'divide-fill', + 'divide-line', + 'donut-chart-fill', + 'donut-chart-line', + 'door-closed-fill', + 'door-closed-line', + 'door-fill', + 'door-line', + 'door-lock-box-fill', + 'door-lock-box-line', + 'door-lock-fill', + 'door-lock-line', + 'door-open-fill', + 'door-open-line', + 'dossier-fill', + 'dossier-line', + 'douban-fill', + 'douban-line', + 'double-quotes-l', + 'double-quotes-r', + 'download-2-fill', + 'download-2-line', + 'download-cloud-2-fill', + 'download-cloud-2-line', + 'download-cloud-fill', + 'download-cloud-line', + 'download-fill', + 'download-line', + 'draft-fill', + 'draft-line', + 'drag-drop-fill', + 'drag-drop-line', + 'drag-move-2-fill', + 'drag-move-2-line', + 'drag-move-fill', + 'drag-move-line', + 'dribbble-fill', + 'dribbble-line', + 'drive-fill', + 'drive-line', + 'drizzle-fill', + 'drizzle-line', + 'drop-fill', + 'drop-line', + 'dropbox-fill', + 'dropbox-line', + 'dual-sim-1-fill', + 'dual-sim-1-line', + 'dual-sim-2-fill', + 'dual-sim-2-line', + 'dv-fill', + 'dv-line', + 'dvd-fill', + 'dvd-line', + 'e-bike-2-fill', + 'e-bike-2-line', + 'e-bike-fill', + 'e-bike-line', + 'earth-fill', + 'earth-line', + 'earthquake-fill', + 'earthquake-line', + 'edge-fill', + 'edge-line', + 'edit-2-fill', + 'edit-2-line', + 'edit-box-fill', + 'edit-box-line', + 'edit-circle-fill', + 'edit-circle-line', + 'edit-fill', + 'edit-line', + 'eject-fill', + 'eject-line', + 'emotion-2-fill', + 'emotion-2-line', + 'emotion-fill', + 'emotion-happy-fill', + 'emotion-happy-line', + 'emotion-laugh-fill', + 'emotion-laugh-line', + 'emotion-line', + 'emotion-normal-fill', + 'emotion-normal-line', + 'emotion-sad-fill', + 'emotion-sad-line', + 'emotion-unhappy-fill', + 'emotion-unhappy-line', + 'empathize-fill', + 'empathize-line', + 'emphasis-cn', + 'emphasis', + 'english-input', + 'equalizer-fill', + 'equalizer-line', + 'eraser-fill', + 'eraser-line', + 'error-warning-fill', + 'error-warning-line', + 'evernote-fill', + 'evernote-line', + 'exchange-box-fill', + 'exchange-box-line', + 'exchange-cny-fill', + 'exchange-cny-line', + 'exchange-dollar-fill', + 'exchange-dollar-line', + 'exchange-fill', + 'exchange-funds-fill', + 'exchange-funds-line', + 'exchange-line', + 'external-link-fill', + 'external-link-line', + 'eye-2-fill', + 'eye-2-line', + 'eye-close-fill', + 'eye-close-line', + 'eye-fill', + 'eye-line', + 'eye-off-fill', + 'eye-off-line', + 'facebook-box-fill', + 'facebook-box-line', + 'facebook-circle-fill', + 'facebook-circle-line', + 'facebook-fill', + 'facebook-line', + 'fahrenheit-fill', + 'fahrenheit-line', + 'feedback-fill', + 'feedback-line', + 'file-2-fill', + 'file-2-line', + 'file-3-fill', + 'file-3-line', + 'file-4-fill', + 'file-4-line', + 'file-add-fill', + 'file-add-line', + 'file-chart-2-fill', + 'file-chart-2-line', + 'file-chart-fill', + 'file-chart-line', + 'file-cloud-fill', + 'file-cloud-line', + 'file-code-fill', + 'file-code-line', + 'file-copy-2-fill', + 'file-copy-2-line', + 'file-copy-fill', + 'file-copy-line', + 'file-damage-fill', + 'file-damage-line', + 'file-download-fill', + 'file-download-line', + 'file-edit-fill', + 'file-edit-line', + 'file-excel-2-fill', + 'file-excel-2-line', + 'file-excel-fill', + 'file-excel-line', + 'file-fill', + 'file-forbid-fill', + 'file-forbid-line', + 'file-gif-fill', + 'file-gif-line', + 'file-history-fill', + 'file-history-line', + 'file-hwp-fill', + 'file-hwp-line', + 'file-info-fill', + 'file-info-line', + 'file-line', + 'file-list-2-fill', + 'file-list-2-line', + 'file-list-3-fill', + 'file-list-3-line', + 'file-list-fill', + 'file-list-line', + 'file-lock-fill', + 'file-lock-line', + 'file-mark-fill', + 'file-mark-line', + 'file-music-fill', + 'file-music-line', + 'file-paper-2-fill', + 'file-paper-2-line', + 'file-paper-fill', + 'file-paper-line', + 'file-pdf-fill', + 'file-pdf-line', + 'file-ppt-2-fill', + 'file-ppt-2-line', + 'file-ppt-fill', + 'file-ppt-line', + 'file-reduce-fill', + 'file-reduce-line', + 'file-search-fill', + 'file-search-line', + 'file-settings-fill', + 'file-settings-line', + 'file-shield-2-fill', + 'file-shield-2-line', + 'file-shield-fill', + 'file-shield-line', + 'file-shred-fill', + 'file-shred-line', + 'file-text-fill', + 'file-text-line', + 'file-transfer-fill', + 'file-transfer-line', + 'file-unknow-fill', + 'file-unknow-line', + 'file-upload-fill', + 'file-upload-line', + 'file-user-fill', + 'file-user-line', + 'file-warning-fill', + 'file-warning-line', + 'file-word-2-fill', + 'file-word-2-line', + 'file-word-fill', + 'file-word-line', + 'file-zip-fill', + 'file-zip-line', + 'film-fill', + 'film-line', + 'filter-2-fill', + 'filter-2-line', + 'filter-3-fill', + 'filter-3-line', + 'filter-fill', + 'filter-line', + 'filter-off-fill', + 'filter-off-line', + 'find-replace-fill', + 'find-replace-line', + 'finder-fill', + 'finder-line', + 'fingerprint-2-fill', + 'fingerprint-2-line', + 'fingerprint-fill', + 'fingerprint-line', + 'fire-fill', + 'fire-line', + 'firefox-fill', + 'firefox-line', + 'first-aid-kit-fill', + 'first-aid-kit-line', + 'flag-2-fill', + 'flag-2-line', + 'flag-fill', + 'flag-line', + 'flashlight-fill', + 'flashlight-line', + 'flask-fill', + 'flask-line', + 'flight-land-fill', + 'flight-land-line', + 'flight-takeoff-fill', + 'flight-takeoff-line', + 'flood-fill', + 'flood-line', + 'flow-chart', + 'flutter-fill', + 'flutter-line', + 'focus-2-fill', + 'focus-2-line', + 'focus-3-fill', + 'focus-3-line', + 'focus-fill', + 'focus-line', + 'foggy-fill', + 'foggy-line', + 'folder-2-fill', + 'folder-2-line', + 'folder-3-fill', + 'folder-3-line', + 'folder-4-fill', + 'folder-4-line', + 'folder-5-fill', + 'folder-5-line', + 'folder-add-fill', + 'folder-add-line', + 'folder-chart-2-fill', + 'folder-chart-2-line', + 'folder-chart-fill', + 'folder-chart-line', + 'folder-download-fill', + 'folder-download-line', + 'folder-fill', + 'folder-forbid-fill', + 'folder-forbid-line', + 'folder-history-fill', + 'folder-history-line', + 'folder-info-fill', + 'folder-info-line', + 'folder-keyhole-fill', + 'folder-keyhole-line', + 'folder-line', + 'folder-lock-fill', + 'folder-lock-line', + 'folder-music-fill', + 'folder-music-line', + 'folder-open-fill', + 'folder-open-line', + 'folder-received-fill', + 'folder-received-line', + 'folder-reduce-fill', + 'folder-reduce-line', + 'folder-settings-fill', + 'folder-settings-line', + 'folder-shared-fill', + 'folder-shared-line', + 'folder-shield-2-fill', + 'folder-shield-2-line', + 'folder-shield-fill', + 'folder-shield-line', + 'folder-transfer-fill', + 'folder-transfer-line', + 'folder-unknow-fill', + 'folder-unknow-line', + 'folder-upload-fill', + 'folder-upload-line', + 'folder-user-fill', + 'folder-user-line', + 'folder-warning-fill', + 'folder-warning-line', + 'folder-zip-fill', + 'folder-zip-line', + 'folders-fill', + 'folders-line', + 'font-color', + 'font-size-2', + 'font-size', + 'football-fill', + 'football-line', + 'footprint-fill', + 'footprint-line', + 'forbid-2-fill', + 'forbid-2-line', + 'forbid-fill', + 'forbid-line', + 'format-clear', + 'fridge-fill', + 'fridge-line', + 'fullscreen-exit-fill', + 'fullscreen-exit-line', + 'fullscreen-fill', + 'fullscreen-line', + 'function-fill', + 'function-line', + 'functions', + 'funds-box-fill', + 'funds-box-line', + 'funds-fill', + 'funds-line', + 'gallery-fill', + 'gallery-line', + 'gallery-upload-fill', + 'gallery-upload-line', + 'game-fill', + 'game-line', + 'gamepad-fill', + 'gamepad-line', + 'gas-station-fill', + 'gas-station-line', + 'gatsby-fill', + 'gatsby-line', + 'genderless-fill', + 'genderless-line', + 'ghost-2-fill', + 'ghost-2-line', + 'ghost-fill', + 'ghost-line', + 'ghost-smile-fill', + 'ghost-smile-line', + 'gift-2-fill', + 'gift-2-line', + 'gift-fill', + 'gift-line', + 'git-branch-fill', + 'git-branch-line', + 'git-commit-fill', + 'git-commit-line', + 'git-merge-fill', + 'git-merge-line', + 'git-pull-request-fill', + 'git-pull-request-line', + 'git-repository-commits-fill', + 'git-repository-commits-line', + 'git-repository-fill', + 'git-repository-line', + 'git-repository-private-fill', + 'git-repository-private-line', + 'github-fill', + 'github-line', + 'gitlab-fill', + 'gitlab-line', + 'global-fill', + 'global-line', + 'globe-fill', + 'globe-line', + 'goblet-fill', + 'goblet-line', + 'google-fill', + 'google-line', + 'google-play-fill', + 'google-play-line', + 'government-fill', + 'government-line', + 'gps-fill', + 'gps-line', + 'gradienter-fill', + 'gradienter-line', + 'grid-fill', + 'grid-line', + 'group-2-fill', + 'group-2-line', + 'group-fill', + 'group-line', + 'guide-fill', + 'guide-line', + 'h-1', + 'h-2', + 'h-3', + 'h-4', + 'h-5', + 'h-6', + 'hail-fill', + 'hail-line', + 'hammer-fill', + 'hammer-line', + 'hand-coin-fill', + 'hand-coin-line', + 'hand-heart-fill', + 'hand-heart-line', + 'hand-sanitizer-fill', + 'hand-sanitizer-line', + 'handbag-fill', + 'handbag-line', + 'hard-drive-2-fill', + 'hard-drive-2-line', + 'hard-drive-fill', + 'hard-drive-line', + 'hashtag', + 'haze-2-fill', + 'haze-2-line', + 'haze-fill', + 'haze-line', + 'hd-fill', + 'hd-line', + 'heading', + 'headphone-fill', + 'headphone-line', + 'health-book-fill', + 'health-book-line', + 'heart-2-fill', + 'heart-2-line', + 'heart-3-fill', + 'heart-3-line', + 'heart-add-fill', + 'heart-add-line', + 'heart-fill', + 'heart-line', + 'heart-pulse-fill', + 'heart-pulse-line', + 'hearts-fill', + 'hearts-line', + 'heavy-showers-fill', + 'heavy-showers-line', + 'history-fill', + 'history-line', + 'home-2-fill', + 'home-2-line', + 'home-3-fill', + 'home-3-line', + 'home-4-fill', + 'home-4-line', + 'home-5-fill', + 'home-5-line', + 'home-6-fill', + 'home-6-line', + 'home-7-fill', + 'home-7-line', + 'home-8-fill', + 'home-8-line', + 'home-fill', + 'home-gear-fill', + 'home-gear-line', + 'home-heart-fill', + 'home-heart-line', + 'home-line', + 'home-smile-2-fill', + 'home-smile-2-line', + 'home-smile-fill', + 'home-smile-line', + 'home-wifi-fill', + 'home-wifi-line', + 'honor-of-kings-fill', + 'honor-of-kings-line', + 'honour-fill', + 'honour-line', + 'hospital-fill', + 'hospital-line', + 'hotel-bed-fill', + 'hotel-bed-line', + 'hotel-fill', + 'hotel-line', + 'hotspot-fill', + 'hotspot-line', + 'hq-fill', + 'hq-line', + 'html5-fill', + 'html5-line', + 'ie-fill', + 'ie-line', + 'image-2-fill', + 'image-2-line', + 'image-add-fill', + 'image-add-line', + 'image-edit-fill', + 'image-edit-line', + 'image-fill', + 'image-line', + 'inbox-archive-fill', + 'inbox-archive-line', + 'inbox-fill', + 'inbox-line', + 'inbox-unarchive-fill', + 'inbox-unarchive-line', + 'increase-decrease-fill', + 'increase-decrease-line', + 'indent-decrease', + 'indent-increase', + 'indeterminate-circle-fill', + 'indeterminate-circle-line', + 'information-fill', + 'information-line', + 'infrared-thermometer-fill', + 'infrared-thermometer-line', + 'ink-bottle-fill', + 'ink-bottle-line', + 'input-cursor-move', + 'input-method-fill', + 'input-method-line', + 'insert-column-left', + 'insert-column-right', + 'insert-row-bottom', + 'insert-row-top', + 'instagram-fill', + 'instagram-line', + 'install-fill', + 'install-line', + 'invision-fill', + 'invision-line', + 'italic', + 'kakao-talk-fill', + 'kakao-talk-line', + 'key-2-fill', + 'key-2-line', + 'key-fill', + 'key-line', + 'keyboard-box-fill', + 'keyboard-box-line', + 'keyboard-fill', + 'keyboard-line', + 'keynote-fill', + 'keynote-line', + 'knife-blood-fill', + 'knife-blood-line', + 'knife-fill', + 'knife-line', + 'landscape-fill', + 'landscape-line', + 'layout-2-fill', + 'layout-2-line', + 'layout-3-fill', + 'layout-3-line', + 'layout-4-fill', + 'layout-4-line', + 'layout-5-fill', + 'layout-5-line', + 'layout-6-fill', + 'layout-6-line', + 'layout-bottom-2-fill', + 'layout-bottom-2-line', + 'layout-bottom-fill', + 'layout-bottom-line', + 'layout-column-fill', + 'layout-column-line', + 'layout-fill', + 'layout-grid-fill', + 'layout-grid-line', + 'layout-left-2-fill', + 'layout-left-2-line', + 'layout-left-fill', + 'layout-left-line', + 'layout-line', + 'layout-masonry-fill', + 'layout-masonry-line', + 'layout-right-2-fill', + 'layout-right-2-line', + 'layout-right-fill', + 'layout-right-line', + 'layout-row-fill', + 'layout-row-line', + 'layout-top-2-fill', + 'layout-top-2-line', + 'layout-top-fill', + 'layout-top-line', + 'leaf-fill', + 'leaf-line', + 'lifebuoy-fill', + 'lifebuoy-line', + 'lightbulb-fill', + 'lightbulb-flash-fill', + 'lightbulb-flash-line', + 'lightbulb-line', + 'line-chart-fill', + 'line-chart-line', + 'line-fill', + 'line-height', + 'line-line', + 'link-m', + 'link-unlink-m', + 'link-unlink', + 'link', + 'linkedin-box-fill', + 'linkedin-box-line', + 'linkedin-fill', + 'linkedin-line', + 'links-fill', + 'links-line', + 'list-check-2', + 'list-check', + 'list-ordered', + 'list-settings-fill', + 'list-settings-line', + 'list-unordered', + 'live-fill', + 'live-line', + 'loader-2-fill', + 'loader-2-line', + 'loader-3-fill', + 'loader-3-line', + 'loader-4-fill', + 'loader-4-line', + 'loader-5-fill', + 'loader-5-line', + 'loader-fill', + 'loader-line', + 'lock-2-fill', + 'lock-2-line', + 'lock-fill', + 'lock-line', + 'lock-password-fill', + 'lock-password-line', + 'lock-unlock-fill', + 'lock-unlock-line', + 'login-box-fill', + 'login-box-line', + 'login-circle-fill', + 'login-circle-line', + 'logout-box-fill', + 'logout-box-line', + 'logout-box-r-fill', + 'logout-box-r-line', + 'logout-circle-fill', + 'logout-circle-line', + 'logout-circle-r-fill', + 'logout-circle-r-line', + 'luggage-cart-fill', + 'luggage-cart-line', + 'luggage-deposit-fill', + 'luggage-deposit-line', + 'lungs-fill', + 'lungs-line', + 'mac-fill', + 'mac-line', + 'macbook-fill', + 'macbook-line', + 'magic-fill', + 'magic-line', + 'mail-add-fill', + 'mail-add-line', + 'mail-check-fill', + 'mail-check-line', + 'mail-close-fill', + 'mail-close-line', + 'mail-download-fill', + 'mail-download-line', + 'mail-fill', + 'mail-forbid-fill', + 'mail-forbid-line', + 'mail-line', + 'mail-lock-fill', + 'mail-lock-line', + 'mail-open-fill', + 'mail-open-line', + 'mail-send-fill', + 'mail-send-line', + 'mail-settings-fill', + 'mail-settings-line', + 'mail-star-fill', + 'mail-star-line', + 'mail-unread-fill', + 'mail-unread-line', + 'mail-volume-fill', + 'mail-volume-line', + 'map-2-fill', + 'map-2-line', + 'map-fill', + 'map-line', + 'map-pin-2-fill', + 'map-pin-2-line', + 'map-pin-3-fill', + 'map-pin-3-line', + 'map-pin-4-fill', + 'map-pin-4-line', + 'map-pin-5-fill', + 'map-pin-5-line', + 'map-pin-add-fill', + 'map-pin-add-line', + 'map-pin-fill', + 'map-pin-line', + 'map-pin-range-fill', + 'map-pin-range-line', + 'map-pin-time-fill', + 'map-pin-time-line', + 'map-pin-user-fill', + 'map-pin-user-line', + 'mark-pen-fill', + 'mark-pen-line', + 'markdown-fill', + 'markdown-line', + 'markup-fill', + 'markup-line', + 'mastercard-fill', + 'mastercard-line', + 'mastodon-fill', + 'mastodon-line', + 'medal-2-fill', + 'medal-2-line', + 'medal-fill', + 'medal-line', + 'medicine-bottle-fill', + 'medicine-bottle-line', + 'medium-fill', + 'medium-line', + 'men-fill', + 'men-line', + 'mental-health-fill', + 'mental-health-line', + 'menu-2-fill', + 'menu-2-line', + 'menu-3-fill', + 'menu-3-line', + 'menu-4-fill', + 'menu-4-line', + 'menu-5-fill', + 'menu-5-line', + 'menu-add-fill', + 'menu-add-line', + 'menu-fill', + 'menu-fold-fill', + 'menu-fold-line', + 'menu-line', + 'menu-unfold-fill', + 'menu-unfold-line', + 'merge-cells-horizontal', + 'merge-cells-vertical', + 'message-2-fill', + 'message-2-line', + 'message-3-fill', + 'message-3-line', + 'message-fill', + 'message-line', + 'messenger-fill', + 'messenger-line', + 'meteor-fill', + 'meteor-line', + 'mic-2-fill', + 'mic-2-line', + 'mic-fill', + 'mic-line', + 'mic-off-fill', + 'mic-off-line', + 'mickey-fill', + 'mickey-line', + 'microscope-fill', + 'microscope-line', + 'microsoft-fill', + 'microsoft-line', + 'mind-map', + 'mini-program-fill', + 'mini-program-line', + 'mist-fill', + 'mist-line', + 'money-cny-box-fill', + 'money-cny-box-line', + 'money-cny-circle-fill', + 'money-cny-circle-line', + 'money-dollar-box-fill', + 'money-dollar-box-line', + 'money-dollar-circle-fill', + 'money-dollar-circle-line', + 'money-euro-box-fill', + 'money-euro-box-line', + 'money-euro-circle-fill', + 'money-euro-circle-line', + 'money-pound-box-fill', + 'money-pound-box-line', + 'money-pound-circle-fill', + 'money-pound-circle-line', + 'moon-clear-fill', + 'moon-clear-line', + 'moon-cloudy-fill', + 'moon-cloudy-line', + 'moon-fill', + 'moon-foggy-fill', + 'moon-foggy-line', + 'moon-line', + 'more-2-fill', + 'more-2-line', + 'more-fill', + 'more-line', + 'motorbike-fill', + 'motorbike-line', + 'mouse-fill', + 'mouse-line', + 'movie-2-fill', + 'movie-2-line', + 'movie-fill', + 'movie-line', + 'music-2-fill', + 'music-2-line', + 'music-fill', + 'music-line', + 'mv-fill', + 'mv-line', + 'navigation-fill', + 'navigation-line', + 'netease-cloud-music-fill', + 'netease-cloud-music-line', + 'netflix-fill', + 'netflix-line', + 'newspaper-fill', + 'newspaper-line', + 'node-tree', + 'notification-2-fill', + 'notification-2-line', + 'notification-3-fill', + 'notification-3-line', + 'notification-4-fill', + 'notification-4-line', + 'notification-badge-fill', + 'notification-badge-line', + 'notification-fill', + 'notification-line', + 'notification-off-fill', + 'notification-off-line', + 'npmjs-fill', + 'npmjs-line', + 'number-0', + 'number-1', + 'number-2', + 'number-3', + 'number-4', + 'number-5', + 'number-6', + 'number-7', + 'number-8', + 'number-9', + 'numbers-fill', + 'numbers-line', + 'nurse-fill', + 'nurse-line', + 'oil-fill', + 'oil-line', + 'omega', + 'open-arm-fill', + 'open-arm-line', + 'open-source-fill', + 'open-source-line', + 'opera-fill', + 'opera-line', + 'order-play-fill', + 'order-play-line', + 'organization-chart', + 'outlet-2-fill', + 'outlet-2-line', + 'outlet-fill', + 'outlet-line', + 'page-separator', + 'pages-fill', + 'pages-line', + 'paint-brush-fill', + 'paint-brush-line', + 'paint-fill', + 'paint-line', + 'palette-fill', + 'palette-line', + 'pantone-fill', + 'pantone-line', + 'paragraph', + 'parent-fill', + 'parent-line', + 'parentheses-fill', + 'parentheses-line', + 'parking-box-fill', + 'parking-box-line', + 'parking-fill', + 'parking-line', + 'passport-fill', + 'passport-line', + 'patreon-fill', + 'patreon-line', + 'pause-circle-fill', + 'pause-circle-line', + 'pause-fill', + 'pause-line', + 'pause-mini-fill', + 'pause-mini-line', + 'paypal-fill', + 'paypal-line', + 'pen-nib-fill', + 'pen-nib-line', + 'pencil-fill', + 'pencil-line', + 'pencil-ruler-2-fill', + 'pencil-ruler-2-line', + 'pencil-ruler-fill', + 'pencil-ruler-line', + 'percent-fill', + 'percent-line', + 'phone-camera-fill', + 'phone-camera-line', + 'phone-fill', + 'phone-find-fill', + 'phone-find-line', + 'phone-line', + 'phone-lock-fill', + 'phone-lock-line', + 'picture-in-picture-2-fill', + 'picture-in-picture-2-line', + 'picture-in-picture-exit-fill', + 'picture-in-picture-exit-line', + 'picture-in-picture-fill', + 'picture-in-picture-line', + 'pie-chart-2-fill', + 'pie-chart-2-line', + 'pie-chart-box-fill', + 'pie-chart-box-line', + 'pie-chart-fill', + 'pie-chart-line', + 'pin-distance-fill', + 'pin-distance-line', + 'ping-pong-fill', + 'ping-pong-line', + 'pinterest-fill', + 'pinterest-line', + 'pinyin-input', + 'pixelfed-fill', + 'pixelfed-line', + 'plane-fill', + 'plane-line', + 'plant-fill', + 'plant-line', + 'play-circle-fill', + 'play-circle-line', + 'play-fill', + 'play-line', + 'play-list-2-fill', + 'play-list-2-line', + 'play-list-add-fill', + 'play-list-add-line', + 'play-list-fill', + 'play-list-line', + 'play-mini-fill', + 'play-mini-line', + 'playstation-fill', + 'playstation-line', + 'plug-2-fill', + 'plug-2-line', + 'plug-fill', + 'plug-line', + 'polaroid-2-fill', + 'polaroid-2-line', + 'polaroid-fill', + 'polaroid-line', + 'police-car-fill', + 'police-car-line', + 'price-tag-2-fill', + 'price-tag-2-line', + 'price-tag-3-fill', + 'price-tag-3-line', + 'price-tag-fill', + 'price-tag-line', + 'printer-cloud-fill', + 'printer-cloud-line', + 'printer-fill', + 'printer-line', + 'product-hunt-fill', + 'product-hunt-line', + 'profile-fill', + 'profile-line', + 'projector-2-fill', + 'projector-2-line', + 'projector-fill', + 'projector-line', + 'psychotherapy-fill', + 'psychotherapy-line', + 'pulse-fill', + 'pulse-line', + 'pushpin-2-fill', + 'pushpin-2-line', + 'pushpin-fill', + 'pushpin-line', + 'qq-fill', + 'qq-line', + 'qr-code-fill', + 'qr-code-line', + 'qr-scan-2-fill', + 'qr-scan-2-line', + 'qr-scan-fill', + 'qr-scan-line', + 'question-answer-fill', + 'question-answer-line', + 'question-fill', + 'question-line', + 'question-mark', + 'questionnaire-fill', + 'questionnaire-line', + 'quill-pen-fill', + 'quill-pen-line', + 'radar-fill', + 'radar-line', + 'radio-2-fill', + 'radio-2-line', + 'radio-button-fill', + 'radio-button-line', + 'radio-fill', + 'radio-line', + 'rainbow-fill', + 'rainbow-line', + 'rainy-fill', + 'rainy-line', + 'reactjs-fill', + 'reactjs-line', + 'record-circle-fill', + 'record-circle-line', + 'record-mail-fill', + 'record-mail-line', + 'recycle-fill', + 'recycle-line', + 'red-packet-fill', + 'red-packet-line', + 'reddit-fill', + 'reddit-line', + 'refresh-fill', + 'refresh-line', + 'refund-2-fill', + 'refund-2-line', + 'refund-fill', + 'refund-line', + 'registered-fill', + 'registered-line', + 'remixicon-fill', + 'remixicon-line', + 'remote-control-2-fill', + 'remote-control-2-line', + 'remote-control-fill', + 'remote-control-line', + 'repeat-2-fill', + 'repeat-2-line', + 'repeat-fill', + 'repeat-line', + 'repeat-one-fill', + 'repeat-one-line', + 'reply-all-fill', + 'reply-all-line', + 'reply-fill', + 'reply-line', + 'reserved-fill', + 'reserved-line', + 'rest-time-fill', + 'rest-time-line', + 'restart-fill', + 'restart-line', + 'restaurant-2-fill', + 'restaurant-2-line', + 'restaurant-fill', + 'restaurant-line', + 'rewind-fill', + 'rewind-line', + 'rewind-mini-fill', + 'rewind-mini-line', + 'rhythm-fill', + 'rhythm-line', + 'riding-fill', + 'riding-line', + 'road-map-fill', + 'road-map-line', + 'roadster-fill', + 'roadster-line', + 'robot-fill', + 'robot-line', + 'rocket-2-fill', + 'rocket-2-line', + 'rocket-fill', + 'rocket-line', + 'rotate-lock-fill', + 'rotate-lock-line', + 'rounded-corner', + 'route-fill', + 'route-line', + 'router-fill', + 'router-line', + 'rss-fill', + 'rss-line', + 'ruler-2-fill', + 'ruler-2-line', + 'ruler-fill', + 'ruler-line', + 'run-fill', + 'run-line', + 'safari-fill', + 'safari-line', + 'safe-2-fill', + 'safe-2-line', + 'safe-fill', + 'safe-line', + 'sailboat-fill', + 'sailboat-line', + 'save-2-fill', + 'save-2-line', + 'save-3-fill', + 'save-3-line', + 'save-fill', + 'save-line', + 'scales-2-fill', + 'scales-2-line', + 'scales-3-fill', + 'scales-3-line', + 'scales-fill', + 'scales-line', + 'scan-2-fill', + 'scan-2-line', + 'scan-fill', + 'scan-line', + 'scissors-2-fill', + 'scissors-2-line', + 'scissors-cut-fill', + 'scissors-cut-line', + 'scissors-fill', + 'scissors-line', + 'screenshot-2-fill', + 'screenshot-2-line', + 'screenshot-fill', + 'screenshot-line', + 'sd-card-fill', + 'sd-card-line', + 'sd-card-mini-fill', + 'sd-card-mini-line', + 'search-2-fill', + 'search-2-line', + 'search-eye-fill', + 'search-eye-line', + 'search-fill', + 'search-line', + 'secure-payment-fill', + 'secure-payment-line', + 'seedling-fill', + 'seedling-line', + 'send-backward', + 'send-plane-2-fill', + 'send-plane-2-line', + 'send-plane-fill', + 'send-plane-line', + 'send-to-back', + 'sensor-fill', + 'sensor-line', + 'separator', + 'server-fill', + 'server-line', + 'service-fill', + 'service-line', + 'settings-2-fill', + 'settings-2-line', + 'settings-3-fill', + 'settings-3-line', + 'settings-4-fill', + 'settings-4-line', + 'settings-5-fill', + 'settings-5-line', + 'settings-6-fill', + 'settings-6-line', + 'settings-fill', + 'settings-line', + 'shape-2-fill', + 'shape-2-line', + 'shape-fill', + 'shape-line', + 'share-box-fill', + 'share-box-line', + 'share-circle-fill', + 'share-circle-line', + 'share-fill', + 'share-forward-2-fill', + 'share-forward-2-line', + 'share-forward-box-fill', + 'share-forward-box-line', + 'share-forward-fill', + 'share-forward-line', + 'share-line', + 'shield-check-fill', + 'shield-check-line', + 'shield-cross-fill', + 'shield-cross-line', + 'shield-fill', + 'shield-flash-fill', + 'shield-flash-line', + 'shield-keyhole-fill', + 'shield-keyhole-line', + 'shield-line', + 'shield-star-fill', + 'shield-star-line', + 'shield-user-fill', + 'shield-user-line', + 'ship-2-fill', + 'ship-2-line', + 'ship-fill', + 'ship-line', + 'shirt-fill', + 'shirt-line', + 'shopping-bag-2-fill', + 'shopping-bag-2-line', + 'shopping-bag-3-fill', + 'shopping-bag-3-line', + 'shopping-bag-fill', + 'shopping-bag-line', + 'shopping-basket-2-fill', + 'shopping-basket-2-line', + 'shopping-basket-fill', + 'shopping-basket-line', + 'shopping-cart-2-fill', + 'shopping-cart-2-line', + 'shopping-cart-fill', + 'shopping-cart-line', + 'showers-fill', + 'showers-line', + 'shuffle-fill', + 'shuffle-line', + 'shut-down-fill', + 'shut-down-line', + 'side-bar-fill', + 'side-bar-line', + 'signal-tower-fill', + 'signal-tower-line', + 'signal-wifi-1-fill', + 'signal-wifi-1-line', + 'signal-wifi-2-fill', + 'signal-wifi-2-line', + 'signal-wifi-3-fill', + 'signal-wifi-3-line', + 'signal-wifi-error-fill', + 'signal-wifi-error-line', + 'signal-wifi-fill', + 'signal-wifi-line', + 'signal-wifi-off-fill', + 'signal-wifi-off-line', + 'sim-card-2-fill', + 'sim-card-2-line', + 'sim-card-fill', + 'sim-card-line', + 'single-quotes-l', + 'single-quotes-r', + 'sip-fill', + 'sip-line', + 'skip-back-fill', + 'skip-back-line', + 'skip-back-mini-fill', + 'skip-back-mini-line', + 'skip-forward-fill', + 'skip-forward-line', + 'skip-forward-mini-fill', + 'skip-forward-mini-line', + 'skull-2-fill', + 'skull-2-line', + 'skull-fill', + 'skull-line', + 'skype-fill', + 'skype-line', + 'slack-fill', + 'slack-line', + 'slice-fill', + 'slice-line', + 'slideshow-2-fill', + 'slideshow-2-line', + 'slideshow-3-fill', + 'slideshow-3-line', + 'slideshow-4-fill', + 'slideshow-4-line', + 'slideshow-fill', + 'slideshow-line', + 'smartphone-fill', + 'smartphone-line', + 'snapchat-fill', + 'snapchat-line', + 'snowy-fill', + 'snowy-line', + 'sort-asc', + 'sort-desc', + 'sound-module-fill', + 'sound-module-line', + 'soundcloud-fill', + 'soundcloud-line', + 'space-ship-fill', + 'space-ship-line', + 'space', + 'spam-2-fill', + 'spam-2-line', + 'spam-3-fill', + 'spam-3-line', + 'spam-fill', + 'spam-line', + 'speaker-2-fill', + 'speaker-2-line', + 'speaker-3-fill', + 'speaker-3-line', + 'speaker-fill', + 'speaker-line', + 'spectrum-fill', + 'spectrum-line', + 'speed-fill', + 'speed-line', + 'speed-mini-fill', + 'speed-mini-line', + 'split-cells-horizontal', + 'split-cells-vertical', + 'spotify-fill', + 'spotify-line', + 'spy-fill', + 'spy-line', + 'stack-fill', + 'stack-line', + 'stack-overflow-fill', + 'stack-overflow-line', + 'stackshare-fill', + 'stackshare-line', + 'star-fill', + 'star-half-fill', + 'star-half-line', + 'star-half-s-fill', + 'star-half-s-line', + 'star-line', + 'star-s-fill', + 'star-s-line', + 'star-smile-fill', + 'star-smile-line', + 'steam-fill', + 'steam-line', + 'steering-2-fill', + 'steering-2-line', + 'steering-fill', + 'steering-line', + 'stethoscope-fill', + 'stethoscope-line', + 'sticky-note-2-fill', + 'sticky-note-2-line', + 'sticky-note-fill', + 'sticky-note-line', + 'stock-fill', + 'stock-line', + 'stop-circle-fill', + 'stop-circle-line', + 'stop-fill', + 'stop-line', + 'stop-mini-fill', + 'stop-mini-line', + 'store-2-fill', + 'store-2-line', + 'store-3-fill', + 'store-3-line', + 'store-fill', + 'store-line', + 'strikethrough-2', + 'strikethrough', + 'subscript-2', + 'subscript', + 'subtract-fill', + 'subtract-line', + 'subway-fill', + 'subway-line', + 'subway-wifi-fill', + 'subway-wifi-line', + 'suitcase-2-fill', + 'suitcase-2-line', + 'suitcase-3-fill', + 'suitcase-3-line', + 'suitcase-fill', + 'suitcase-line', + 'sun-cloudy-fill', + 'sun-cloudy-line', + 'sun-fill', + 'sun-foggy-fill', + 'sun-foggy-line', + 'sun-line', + 'superscript-2', + 'superscript', + 'surgical-mask-fill', + 'surgical-mask-line', + 'surround-sound-fill', + 'surround-sound-line', + 'survey-fill', + 'survey-line', + 'swap-box-fill', + 'swap-box-line', + 'swap-fill', + 'swap-line', + 'switch-fill', + 'switch-line', + 'sword-fill', + 'sword-line', + 'syringe-fill', + 'syringe-line', + 't-box-fill', + 't-box-line', + 't-shirt-2-fill', + 't-shirt-2-line', + 't-shirt-air-fill', + 't-shirt-air-line', + 't-shirt-fill', + 't-shirt-line', + 'table-2', + 'table-alt-fill', + 'table-alt-line', + 'table-fill', + 'table-line', + 'tablet-fill', + 'tablet-line', + 'takeaway-fill', + 'takeaway-line', + 'taobao-fill', + 'taobao-line', + 'tape-fill', + 'tape-line', + 'task-fill', + 'task-line', + 'taxi-fill', + 'taxi-line', + 'taxi-wifi-fill', + 'taxi-wifi-line', + 'team-fill', + 'team-line', + 'telegram-fill', + 'telegram-line', + 'temp-cold-fill', + 'temp-cold-line', + 'temp-hot-fill', + 'temp-hot-line', + 'terminal-box-fill', + 'terminal-box-line', + 'terminal-fill', + 'terminal-line', + 'terminal-window-fill', + 'terminal-window-line', + 'test-tube-fill', + 'test-tube-line', + 'text-direction-l', + 'text-direction-r', + 'text-spacing', + 'text-wrap', + 'text', + 'thermometer-fill', + 'thermometer-line', + 'thumb-down-fill', + 'thumb-down-line', + 'thumb-up-fill', + 'thumb-up-line', + 'thunderstorms-fill', + 'thunderstorms-line', + 'ticket-2-fill', + 'ticket-2-line', + 'ticket-fill', + 'ticket-line', + 'time-fill', + 'time-line', + 'timer-2-fill', + 'timer-2-line', + 'timer-fill', + 'timer-flash-fill', + 'timer-flash-line', + 'timer-line', + 'todo-fill', + 'todo-line', + 'toggle-fill', + 'toggle-line', + 'tools-fill', + 'tools-line', + 'tornado-fill', + 'tornado-line', + 'trademark-fill', + 'trademark-line', + 'traffic-light-fill', + 'traffic-light-line', + 'train-fill', + 'train-line', + 'train-wifi-fill', + 'train-wifi-line', + 'translate-2', + 'translate', + 'travesti-fill', + 'travesti-line', + 'treasure-map-fill', + 'treasure-map-line', + 'trello-fill', + 'trello-line', + 'trophy-fill', + 'trophy-line', + 'truck-fill', + 'truck-line', + 'tumblr-fill', + 'tumblr-line', + 'tv-2-fill', + 'tv-2-line', + 'tv-fill', + 'tv-line', + 'twitch-fill', + 'twitch-line', + 'twitter-fill', + 'twitter-line', + 'typhoon-fill', + 'typhoon-line', + 'u-disk-fill', + 'u-disk-line', + 'ubuntu-fill', + 'ubuntu-line', + 'umbrella-fill', + 'umbrella-line', + 'underline', + 'uninstall-fill', + 'uninstall-line', + 'unsplash-fill', + 'unsplash-line', + 'upload-2-fill', + 'upload-2-line', + 'upload-cloud-2-fill', + 'upload-cloud-2-line', + 'upload-cloud-fill', + 'upload-cloud-line', + 'upload-fill', + 'upload-line', + 'usb-fill', + 'usb-line', + 'user-2-fill', + 'user-2-line', + 'user-3-fill', + 'user-3-line', + 'user-4-fill', + 'user-4-line', + 'user-5-fill', + 'user-5-line', + 'user-6-fill', + 'user-6-line', + 'user-add-fill', + 'user-add-line', + 'user-fill', + 'user-follow-fill', + 'user-follow-line', + 'user-heart-fill', + 'user-heart-line', + 'user-line', + 'user-location-fill', + 'user-location-line', + 'user-received-2-fill', + 'user-received-2-line', + 'user-received-fill', + 'user-received-line', + 'user-search-fill', + 'user-search-line', + 'user-settings-fill', + 'user-settings-line', + 'user-shared-2-fill', + 'user-shared-2-line', + 'user-shared-fill', + 'user-shared-line', + 'user-smile-fill', + 'user-smile-line', + 'user-star-fill', + 'user-star-line', + 'user-unfollow-fill', + 'user-unfollow-line', + 'user-voice-fill', + 'user-voice-line', + 'video-add-fill', + 'video-add-line', + 'video-chat-fill', + 'video-chat-line', + 'video-download-fill', + 'video-download-line', + 'video-fill', + 'video-line', + 'video-upload-fill', + 'video-upload-line', + 'vidicon-2-fill', + 'vidicon-2-line', + 'vidicon-fill', + 'vidicon-line', + 'vimeo-fill', + 'vimeo-line', + 'vip-crown-2-fill', + 'vip-crown-2-line', + 'vip-crown-fill', + 'vip-crown-line', + 'vip-diamond-fill', + 'vip-diamond-line', + 'vip-fill', + 'vip-line', + 'virus-fill', + 'virus-line', + 'visa-fill', + 'visa-line', + 'voice-recognition-fill', + 'voice-recognition-line', + 'voiceprint-fill', + 'voiceprint-line', + 'volume-down-fill', + 'volume-down-line', + 'volume-mute-fill', + 'volume-mute-line', + 'volume-off-vibrate-fill', + 'volume-off-vibrate-line', + 'volume-up-fill', + 'volume-up-line', + 'volume-vibrate-fill', + 'volume-vibrate-line', + 'vuejs-fill', + 'vuejs-line', + 'walk-fill', + 'walk-line', + 'wallet-2-fill', + 'wallet-2-line', + 'wallet-3-fill', + 'wallet-3-line', + 'wallet-fill', + 'wallet-line', + 'water-flash-fill', + 'water-flash-line', + 'webcam-fill', + 'webcam-line', + 'wechat-2-fill', + 'wechat-2-line', + 'wechat-fill', + 'wechat-line', + 'wechat-pay-fill', + 'wechat-pay-line', + 'weibo-fill', + 'weibo-line', + 'whatsapp-fill', + 'whatsapp-line', + 'wheelchair-fill', + 'wheelchair-line', + 'wifi-fill', + 'wifi-line', + 'wifi-off-fill', + 'wifi-off-line', + 'window-2-fill', + 'window-2-line', + 'window-fill', + 'window-line', + 'windows-fill', + 'windows-line', + 'windy-fill', + 'windy-line', + 'wireless-charging-fill', + 'wireless-charging-line', + 'women-fill', + 'women-line', + 'wubi-input', + 'xbox-fill', + 'xbox-line', + 'xing-fill', + 'xing-line', + 'youtube-fill', + 'youtube-line', + 'zcool-fill', + 'zcool-line', + 'zhihu-fill', + 'zhihu-line', + 'zoom-in-fill', + 'zoom-in-line', + 'zoom-out-fill', + 'zoom-out-line', + 'zzz-fill', + 'zzz-line', +] +module.exports = [ + { + url: '/remixIcon/getList', + type: 'post', + response(config) { + const { title, pageNo = 1, pageSize = 72 } = config.body + let mockList = data.filter((item) => { + if (title && item.indexOf(title) < 0) return false + return true + }) + const pageList = mockList.filter( + (item, index) => + index < pageSize * pageNo && index >= pageSize * (pageNo - 1) + ) + return { + code: 200, + msg: 'success', + totalCount: mockList.length, + data: pageList, + } + }, + }, +] diff --git a/mock/controller/roleManagement.js b/mock/controller/roleManagement.js new file mode 100644 index 000000000..3a2079e57 --- /dev/null +++ b/mock/controller/roleManagement.js @@ -0,0 +1,53 @@ +const totalCount = 2 +const List = [ + { + id: '@id', + permission: 'admin', + }, + { + id: '@id', + permission: 'editor', + }, +] +module.exports = [ + { + url: '/roleManagement/getList', + type: 'post', + response(config) { + const { title = '', pageNo = 1, pageSize = 20 } = config.body + let mockList = List.filter((item) => { + return !(title && item.title.indexOf(title) < 0) + }) + const pageList = mockList.filter( + (item, index) => + index < pageSize * pageNo && index >= pageSize * (pageNo - 1) + ) + return { + code: 200, + msg: 'success', + totalCount, + data: pageList, + } + }, + }, + { + url: '/roleManagement/doEdit', + type: 'post', + response() { + return { + code: 200, + msg: '模拟保存成功', + } + }, + }, + { + url: '/roleManagement/doDelete', + type: 'post', + response() { + return { + code: 200, + msg: '模拟删除成功', + } + }, + }, +] diff --git a/mock/controller/router.js b/mock/controller/router.js new file mode 100644 index 000000000..3b23b9b8a --- /dev/null +++ b/mock/controller/router.js @@ -0,0 +1,298 @@ +const data = [ + { + path: '/', + component: 'Layout', + redirect: 'index', + children: [ + { + path: 'index', + name: 'Index', + component: '@/views/index/index', + meta: { + title: '首页', + icon: 'home', + affix: true, + }, + }, + ], + }, + { + path: '/personnelManagement', + component: 'Layout', + redirect: 'noRedirect', + name: 'PersonnelManagement', + meta: { title: '人员', icon: 'users-cog', permissions: ['admin'] }, + children: [ + { + path: 'userManagement', + name: 'UserManagement', + component: '@/views/personnelManagement/userManagement/index', + meta: { title: '用户管理' }, + }, + { + path: 'roleManagement', + name: 'RoleManagement', + component: '@/views/personnelManagement/roleManagement/index', + meta: { title: '角色管理' }, + }, + { + path: 'menuManagement', + name: 'MenuManagement', + component: '@/views/personnelManagement/menuManagement/index', + meta: { title: '菜单管理', badge: 'New' }, + }, + ], + }, + { + path: '/vab', + component: 'Layout', + redirect: 'noRedirect', + name: 'Vab', + alwaysShow: true, + meta: { title: '组件', icon: 'cloud' }, + children: [ + { + path: 'permissions', + name: 'Permission', + component: '@/views/vab/permissions/index', + meta: { + title: '权限控制', + permissions: ['admin', 'editor'], + badge: 'New', + }, + }, + { + path: 'icon', + component: 'EmptyLayout', + redirect: 'noRedirect', + name: 'Icon', + meta: { + title: '图标', + permissions: ['admin'], + }, + children: [ + { + path: 'awesomeIcon', + name: 'AwesomeIcon', + component: '@/views/vab/icon/index', + meta: { title: '常规图标' }, + }, + { + path: 'remixIcon', + name: 'RemixIcon', + component: '@/views/vab/icon/remixIcon', + meta: { title: '小清新图标' }, + }, + { + path: 'colorfulIcon', + name: 'ColorfulIcon', + component: '@/views/vab/icon/colorfulIcon', + meta: { title: '多彩图标' }, + }, + ], + }, + { + path: 'table', + component: '@/views/vab/table/index', + name: 'Table', + meta: { + title: '表格', + permissions: ['admin'], + }, + }, + { + path: 'map', + name: 'Map', + component: '@/views/vab/map/index', + meta: { title: '地图', permissions: ['admin'], badge: 'Pro' }, + }, + { + path: 'webSocket', + name: 'WebSocket', + component: '@/views/vab/webSocket/index', + meta: { title: 'webSocket', permissions: ['admin'] }, + }, + { + path: 'form', + name: 'Form', + component: '@/views/vab/form/index', + meta: { title: '表单', permissions: ['admin'] }, + }, + { + path: 'element', + name: 'Element', + component: '@/views/vab/element/index', + meta: { title: '常用组件', permissions: ['admin'] }, + }, + { + path: 'tree', + name: 'Tree', + component: '@/views/vab/tree/index', + meta: { title: '树', permissions: ['admin'] }, + }, + { + path: 'verify', + name: 'Verify', + component: '@/views/vab/verify/index', + meta: { title: '验证码', permissions: ['admin'] }, + }, + { + path: 'menu1', + component: '@/views/vab/nested/menu1/index', + name: 'Menu1', + alwaysShow: true, + meta: { + title: '嵌套路由 1', + permissions: ['admin'], + }, + children: [ + { + path: 'menu1-1', + name: 'Menu1-1', + alwaysShow: true, + meta: { title: '嵌套路由 1-1' }, + component: '@/views/vab/nested/menu1/menu1-1/index', + + children: [ + { + path: 'menu1-1-1', + name: 'Menu1-1-1', + meta: { title: '嵌套路由 1-1-1' }, + component: '@/views/vab/nested/menu1/menu1-1/menu1-1-1/index', + }, + ], + }, + ], + }, + { + path: 'magnifier', + name: 'Magnifier', + component: '@/views/vab/magnifier/index', + meta: { title: '放大镜', permissions: ['admin'] }, + }, + { + path: 'loading', + name: 'Loading', + component: '@/views/vab/loading/index', + meta: { title: 'loading', permissions: ['admin'] }, + }, + { + path: 'player', + name: 'Player', + component: '@/views/vab/player/index', + meta: { title: '视频播放器', permissions: ['admin'] }, + }, + { + path: 'markdownEditor', + name: 'MarkdownEditor', + component: '@/views/vab/markdownEditor/index', + meta: { title: 'markdown编辑器', permissions: ['admin'] }, + }, + { + path: 'editor', + name: 'Editor', + component: '@/views/vab/editor/index', + meta: { title: '富文本编辑器', permissions: ['admin'], badge: 'New' }, + }, + { + path: 'backToTop', + name: 'BackToTop', + component: '@/views/vab/backToTop/index', + meta: { title: '返回顶部', permissions: ['admin'] }, + }, + { + path: 'lodash', + name: 'Lodash', + component: '@/views/vab/lodash/index', + meta: { title: 'lodash', permissions: ['admin'] }, + }, + { + path: 'smallComponents', + name: 'SmallComponents', + component: '@/views/vab/smallComponents/index', + meta: { title: '小组件', permissions: ['admin'] }, + }, + + { + path: 'upload', + name: 'Upload', + component: '@/views/vab/upload/index', + meta: { title: '上传', permissions: ['admin'] }, + }, + { + path: 'log', + name: 'Log', + component: '@/views/vab/errorLog/index', + meta: { title: '错误日志模拟', permissions: ['admin'] }, + }, + { + path: 'more', + name: 'More', + component: '@/views/vab/more/index', + meta: { title: '关于', permissions: ['admin'] }, + }, + ], + }, + { + path: '/mall', + component: 'Layout', + redirect: 'noRedirect', + name: 'Mall', + meta: { + title: '商城', + icon: 'shopping-cart', + permissions: ['admin'], + }, + + children: [ + { + path: 'pay', + name: 'Pay', + component: '@/views/mall/pay/index', + meta: { + title: '支付', + noKeepAlive: true, + }, + children: null, + }, + { + path: 'goodsList', + name: 'GoodsList', + component: '@/views/mall/goodsList/index', + meta: { + title: '商品列表', + }, + }, + ], + }, + { + path: '/error', + component: 'EmptyLayout', + redirect: 'noRedirect', + name: 'Error', + meta: { title: '错误页', icon: 'bug' }, + children: [ + { + path: '401', + name: 'Error401', + component: '@/views/401', + meta: { title: '401' }, + }, + { + path: '404', + name: 'Error404', + component: '@/views/404', + meta: { title: '404' }, + }, + ], + }, +] +module.exports = [ + { + url: '/menu/navigate', + type: 'post', + response() { + return { code: 200, msg: 'success', data: data } + }, + }, +] diff --git a/mock/controller/table.js b/mock/controller/table.js new file mode 100644 index 000000000..264f4938f --- /dev/null +++ b/mock/controller/table.js @@ -0,0 +1,88 @@ +const { mock } = require('mockjs') +const { handleRandomImage } = require('../utils') + +const List = [] +const count = 999 +for (let i = 0; i < count; i++) { + List.push( + mock({ + uuid: '@uuid', + id: '@id', + title: '@csentence(1, 2)', + 'status|1': ['published', 'draft', 'deleted'], + author: '@cname', + datetime: '@datetime', + pageViews: '@integer(300, 5000)', + img: handleRandomImage(200, 200), + smallImg: handleRandomImage(40, 40), + switch: '@boolean', + percent: '@integer(80,99)', + }) + ) +} + +module.exports = [ + { + url: '/table/getList', + type: 'post', + response(config) { + if (!config.body) { + return { + code: 200, + msg: 'success', + totalCount: count, + data: mock({ + 'data|50': [ + { + id: '@id', + title: '@csentence(1, 2)', + 'status|1': ['published', 'draft', 'deleted'], + author: '@cname', + datetime: '@datetime', + pageViews: '@integer(300, 5000)', + img: handleRandomImage(200, 200), + smallImg: handleRandomImage(40, 40), + switch: '@boolean', + percent: '@integer(80,99)', + }, + ], + }).data, + } + } + const { title = '', pageNo = 1, pageSize = 20 } = config.body + let mockList = List.filter((item) => { + return !(title && item.title.indexOf(title) < 0) + }) + const pageList = mockList.filter( + (item, index) => + index < pageSize * pageNo && index >= pageSize * (pageNo - 1) + ) + return { + code: 200, + msg: 'success', + totalCount: count, + data: pageList, + } + }, + }, + { + url: '/table/doEdit', + type: 'post', + response() { + return { + code: 200, + msg: '模拟保存成功', + } + }, + }, + { + url: '/table/doDelete', + type: 'post', + response() { + return { + code: 200, + msg: '模拟删除成功', + } + }, + }, +] diff --git a/mock/controller/tree.js b/mock/controller/tree.js new file mode 100644 index 000000000..fc2133a1a --- /dev/null +++ b/mock/controller/tree.js @@ -0,0 +1,54 @@ +const data = [ + { + id: '1', + parentId: '0', + name: 'root', + title: 'root', + text: 'root', + value: '1', + rank: 1, + children: [ + { + id: '32816b88ff72423f960e7d492a386131', + parentId: '1', + name: '一级', + title: '一级', + text: '一级', + value: '32816b88ff72423f960e7d492a386131', + rank: 2, + children: [ + { + id: '9e11afc35d55475fb0bd3164b9684cbe', + parentId: '32816b88ff72423f960e7d492a386131', + name: '二级', + title: '二级', + text: '二级', + value: '9e11afc35d55475fb0bd3164b9684cbe', + rank: 3, + children: [ + { + id: '4cc1b04635e4444292526c5391699077', + parentId: '9e11afc35d55475fb0bd3164b9684cbe', + name: '三级', + title: '三级', + text: '三级', + value: '4cc1b04635e4444292526c5391699077', + rank: 4, + children: [], + }, + ], + }, + ], + }, + ], + }, +] +module.exports = [ + { + url: '/tree/list', + type: 'post', + response() { + return { code: 200, msg: 'success', data } + }, + }, +] diff --git a/mock/controller/user.js b/mock/controller/user.js new file mode 100644 index 000000000..637c7c971 --- /dev/null +++ b/mock/controller/user.js @@ -0,0 +1,95 @@ +const accessTokens = { + admin: 'admin-accessToken', + editor: 'editor-accessToken', + test: 'test-accessToken', +} + +module.exports = [ + { + url: '/publicKey', + type: 'post', + response() { + return { + code: 200, + msg: 'success', + data: { + mockServer: true, + publicKey: + 'MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDBT2vr+dhZElF73FJ6xiP181txKWUSNLPQQlid6DUJhGAOZblluafIdLmnUyKE8mMHhT3R+Ib3ssZcJku6Hn72yHYj/qPkCGFv0eFo7G+GJfDIUeDyalBN0QsuiE/XzPHJBuJDfRArOiWvH0BXOv5kpeXSXM8yTt5Na1jAYSiQ/wIDAQAB', + }, + } + }, + }, + { + url: '/login', + type: 'post', + response(config) { + const { username } = config.body + const accessToken = accessTokens[username] + if (!accessToken) { + return { + code: 500, + msg: '帐户或密码不正确。', + } + } + return { + code: 200, + msg: 'success', + data: { accessToken }, + } + }, + }, + { + url: '/register', + type: 'post', + response() { + return { + code: 200, + msg: '模拟注册成功', + } + }, + }, + { + url: '/userInfo', + type: 'post', + response(config) { + const { accessToken } = config.body + let permissions = ['admin'] + let username = 'admin' + if ('admin-accessToken' === accessToken) { + permissions = ['admin'] + username = 'admin' + } + if ('editor-accessToken' === accessToken) { + permissions = ['editor'] + username = 'editor' + } + if ('test-accessToken' === accessToken) { + permissions = ['admin', 'editor'] + username = 'test' + } + return { + code: 200, + msg: 'success', + data: { + permissions, + username, + 'avatar|1': [ + 'https://i.gtimg.cn/club/item/face/img/2/15922_100.gif', + 'https://i.gtimg.cn/club/item/face/img/8/15918_100.gif', + ], + }, + } + }, + }, + { + url: '/logout', + type: 'post', + response() { + return { + code: 200, + msg: 'success', + } + }, + }, +] diff --git a/mock/controller/userManagement.js b/mock/controller/userManagement.js new file mode 100644 index 000000000..f83e70177 --- /dev/null +++ b/mock/controller/userManagement.js @@ -0,0 +1,70 @@ +const totalCount = 3 +const List = [ + { + id: '@id', + username: 'admin', + password: 'admin', + email: '@email', + permissions: ['admin'], + datatime: '@datetime', + }, + { + id: '@id', + username: 'editor', + password: 'editor', + email: '@email', + permissions: ['editor'], + datatime: '@datetime', + }, + { + id: '@id', + username: 'test', + password: 'test', + email: '@email', + permissions: ['admin', 'editor'], + datatime: '@datetime', + }, +] +module.exports = [ + { + url: '/userManagement/getList', + type: 'post', + response(config) { + const { title = '', pageNo = 1, pageSize = 20 } = config.body + let mockList = List.filter((item) => { + if (title && item.title.indexOf(title) < 0) return false + return true + }) + const pageList = mockList.filter( + (item, index) => + index < pageSize * pageNo && index >= pageSize * (pageNo - 1) + ) + return { + code: 200, + msg: 'success', + totalCount, + data: pageList, + } + }, + }, + { + url: '/userManagement/doEdit', + type: 'post', + response() { + return { + code: 200, + msg: '模拟保存成功', + } + }, + }, + { + url: '/userManagement/doDelete', + type: 'post', + response() { + return { + code: 200, + msg: '模拟删除成功', + } + }, + }, +] diff --git a/mock/index.js b/mock/index.js new file mode 100644 index 000000000..191029698 --- /dev/null +++ b/mock/index.js @@ -0,0 +1,98 @@ +const chokidar = require('chokidar') +const bodyParser = require('body-parser') +const chalk = require('chalk') +const path = require('path') +const { mock } = require('mockjs') +const { baseURL } = require('../src/config') +const mockDir = path.join(process.cwd(), 'mock') +const { handleMockArray } = require('./utils') + +/** + * + * @param app + * @returns {{mockStartIndex: number, mockRoutesLength: number}} + */ +const registerRoutes = (app) => { + let mockLastIndex + const mocks = [] + const mockArray = handleMockArray() + mockArray.forEach((item) => { + const obj = require(item) + mocks.push(...obj) + }) + const mocksForServer = mocks.map((route) => { + return responseFake(route.url, route.type, route.response) + }) + for (const mock of mocksForServer) { + app[mock.type](mock.url, mock.response) + mockLastIndex = app._router.stack.length + } + const mockRoutesLength = Object.keys(mocksForServer).length + return { + mockRoutesLength: mockRoutesLength, + mockStartIndex: mockLastIndex - mockRoutesLength, + } +} + +/** + * + * @param url + * @param type + * @param respond + * @returns {{response(*=, *=): void, type: (*|string), url: RegExp}} + */ +const responseFake = (url, type, respond) => { + return { + url: new RegExp(`${baseURL}${url}`), + type: type || 'get', + response(req, res) { + res.status(200) + if (JSON.stringify(req.body) !== '{}') { + console.log(chalk.green(`> 请求地址:${req.path}`)) + console.log(chalk.green(`> 请求参数:${JSON.stringify(req.body)}\n`)) + } else { + console.log(chalk.green(`> 请求地址:${req.path}\n`)) + } + res.json(mock(respond instanceof Function ? respond(req, res) : respond)) + }, + } +} +/** + * + * @param app + */ +module.exports = (app) => { + app.use(bodyParser.json()) + app.use( + bodyParser.urlencoded({ + extended: true, + }) + ) + + const mockRoutes = registerRoutes(app) + let mockRoutesLength = mockRoutes.mockRoutesLength + let mockStartIndex = mockRoutes.mockStartIndex + chokidar + .watch(mockDir, { + ignored: /mock-server/, + ignoreInitial: true, + }) + .on('all', (event) => { + if (event === 'change' || event === 'add') { + try { + app._router.stack.splice(mockStartIndex, mockRoutesLength) + + Object.keys(require.cache).forEach((item) => { + if (item.includes(mockDir)) { + delete require.cache[require.resolve(item)] + } + }) + const mockRoutes = registerRoutes(app) + mockRoutesLength = mockRoutes.mockRoutesLength + mockStartIndex = mockRoutes.mockStartIndex + } catch (error) { + console.log(chalk.red(error)) + } + } + }) +} diff --git a/mock/utils/index.js b/mock/utils/index.js new file mode 100644 index 000000000..840cdac1e --- /dev/null +++ b/mock/utils/index.js @@ -0,0 +1,43 @@ +const { Random } = require('mockjs') +const { join } = require('path') +const fs = require('fs') + +/** + * @author chuzhixin 1204505056@qq.com (不想保留author可删除) + * @description 随机生成图片url。 + * @param width + * @param height + * @returns {string} + */ +function handleRandomImage(width = 50, height = 50) { + return `https://picsum.photos/${width}/${height}?random=${Random.guid()}` +} + +/** + * @author chuzhixin 1204505056@qq.com (不想保留author可删除) + * @description 处理所有 controller 模块,npm run serve时在node环境中自动输出controller文件夹下Mock接口,请勿修改。 + * @returns {[]} + */ +function handleMockArray() { + const mockArray = [] + const getFiles = (jsonPath) => { + const jsonFiles = [] + const findJsonFile = (path) => { + const files = fs.readdirSync(path) + files.forEach((item) => { + const fPath = join(path, item) + const stat = fs.statSync(fPath) + if (stat.isDirectory() === true) findJsonFile(item) + if (stat.isFile() === true) jsonFiles.push(item) + }) + } + findJsonFile(jsonPath) + jsonFiles.forEach((item) => mockArray.push(`./controller/${item}`)) + } + getFiles('mock/controller') + return mockArray +} +module.exports = { + handleRandomImage, + handleMockArray, +} diff --git a/package.json b/package.json index 7d625d84e..12b2c6171 100644 --- a/package.json +++ b/package.json @@ -1,37 +1,90 @@ { - "name": "FOTON", + "name": "vue-admin-beautiful", "version": "1.0.0", - "author": "91isoft", - "private": true, + "author": "vue-admin-beautiful", + "participants": [], + "homepage": "https://chu1204505056.gitee.io/vue-admin-beautiful", + "publishConfig": { + "registry": "https://npm.pkg.github.com/" + }, "scripts": { "serve": "vue-cli-service serve", "build": "vue-cli-service build", - "lint": "vue-cli-service lint" + "lint": "vue-cli-service lint", + "lint:style": "stylelint-config-prettier-check" + }, + "repository": { + "type": "git", + "url": "git+https://github.com/chuzhixin/vue-admin-beautiful.git" + }, + "gitHooks": { + "pre-commit": "lint-staged" + }, + "lint-staged": { + "*.{js,jsx,vue}": [ + "vue-cli-service lint", + "git add" + ] }, "dependencies": { "axios": "^0.21.1", - "core-js": "^3.6.5", + "clipboard": "^2.0.8", + "core-js": "^3.10.1", "dayjs": "^1.10.4", - "jquery": "^3.6.0", + "echarts": "^5.1.0", + "echarts-wordcloud": "^2.0.0", + "element-ui": "^2.15.1", + "jsencrypt": "^3.1.0", "lodash": "^4.17.21", - "moment": "^2.29.1", + "maptalks": "^0.49.3", + "mapv": "^2.0.62", + "mockjs": "^1.1.0", "nprogress": "^0.2.0", "qs": "^6.10.1", - "vue": "^2.6.11", - "vue-router": "^3.2.0", - "vuex": "^3.4.0" + "screenfull": "^5.1.0", + "sortablejs": "^1.13.0", + "vab-icon": "^0.0.1", + "vue": "^2.6.12", + "vue-echarts": "5.0.0-beta.0", + "vue-router": "^3.5.1", + "vuex": "^3.6.2", + "zx-count": "^0.3.7", + "zx-layouts": "^0.6.24", + "zx-magnifie": "^0.4.0", + "zx-markdown-editor": "^0.0.2", + "zx-player": "^1.0.2", + "zx-quill": "^0.0.3", + "zx-templates": "^0.0.26", + "zx-verify": "^0.0.2" }, "devDependencies": { - "@vue/cli-plugin-babel": "~4.5.0", - "@vue/cli-plugin-router": "~4.5.0", - "@vue/cli-plugin-vuex": "~4.5.0", - "@vue/cli-service": "~4.5.0", + "@vue/cli-plugin-babel": "^4.5.12", + "@vue/cli-plugin-eslint": "^4.5.12", + "@vue/cli-service": "^4.5.12", + "@vue/eslint-config-prettier": "^6.0.0", + "babel-eslint": "^10.1.0", + "body-parser": "^1.19.0", "chalk": "^4.1.0", - "node-sass": "^4.12.0", - "sass-loader": "^8.0.2", + "chokidar": "^3.5.1", + "eslint": "^7.24.0", + "eslint-plugin-prettier": "^3.4.0", + "eslint-plugin-vue": "^7.9.0", + "filemanager-webpack-plugin": "^4.0.0", + "image-webpack-loader": "^7.0.1", + "lint-staged": "^10.5.4", + "plop": "^2.7.4", + "prettier": "^2.2.1", + "sass": "^1.32.10", + "sass-loader": "^10.1.1", "stylelint": "^13.12.0", "stylelint-config-prettier": "^8.0.2", "stylelint-config-recess-order": "^2.4.0", - "vue-template-compiler": "^2.6.11" + "svg-sprite-loader": "^6.0.5", + "vue-template-compiler": "^2.6.12", + "webpackbar": "^4.0.0" + }, + "engines": { + "node": ">=8.9", + "npm": ">= 3.0.0" } } diff --git a/prettier.config.js b/prettier.config.js new file mode 100644 index 000000000..0e3b87b1a --- /dev/null +++ b/prettier.config.js @@ -0,0 +1,21 @@ +/** + * @author chuzhixin 1204505056@qq.com (不想保留author可删除) + * @description 代码规范 + */ + +module.exports = { + printWidth: 80, + tabWidth: 2, + useTabs: false, + semi: false, + singleQuote: true, + quoteProps: 'as-needed', + jsxSingleQuote: false, + trailingComma: 'es5', + bracketSpacing: true, + jsxBracketSameLine: false, + arrowParens: 'always', + htmlWhitespaceSensitivity: 'ignore', + vueIndentScriptAndStyle: true, + endOfLine: 'lf', +} diff --git a/public/favicon.ico b/public/favicon.ico index df36fcfb72584e00488330b560ebcf34a41c64c2..7c31c49f635508ef5fcc6df100e681631d5c101d 100644 GIT binary patch literal 4286 zcmc(hPe@cj9LFb%wnJn@M2Ap`4xJ)u*FU@Ft`MbCK?D)8u9gzInVWwo(_D8oiK6l# z5g{Z|P*i3jwuz?>;i0pq4lRg>Zh|ZlBGdQx*0I^QGp}9uNh=@c{h9fF<~MKN%wuc| z{)&ni{bz4?Gq#U0b{OCi^8vbU{BY0e7mfM4z(f{|MPrrk!5g%B2}ZyWxC<_UqVTxa zN||yG^~d_ZRC2pOJPy8rlPMz2iQRsYM-(|B_F#0%dMq}}Z}cN(^r2gmx^a0^{mC&{ zf#aC24?2J6lXBkFT&gBm%7d+C{6?3XcRVWRz3;r1^9PRUZ2h5LHxE?13~H;KE8wTZ zJdP9MK9$s;zHy(jAMme&L#jUL@;CVx%x&S%14qHE=trZ!ghwW|eF&Ok(D_FFA{P7w zU{&;?{k}&x22VvBxy;p1vEZK<{$Qv~=O2~5;@Bqtg79B&*ZPNqQ!aD$Blja`<;0Nntf32Z}N2k)~9~=p=M>yp&L;q@Rm1`-9GXdxC z+UmbK*PU@0Yk|ewACR5$vCe;M_ynhCsiXsI&uupkMcka~^?gdud3_&<`M$!jU3SXH zI=^V2ONrRDNAHw<=3~44h)3)FG&p5;sm?dSzl@jk#}RDg!jBkfA%yF5r1BnyH)=5UD@1Hs)WAvS~|=4%>fU;^P++r zY4c9J1GqQ55x;1kO9}T9DEJ?K8WV8U%563NIp$4!Q0u?kcKhL^@BA6y%*4Is@9vNJ zrm_L?C&4(N{rwpTgNxumCf-Hn;Bm(KK;atsC>;ilIQ|y5N*Gs+dyG*%YC~-auW{~( W6viF#{1lRPMSZGA_4y*p=YIgCSHK?t literal 4286 zcmds*O-Phc6o&64GDVCEQHxsW(p4>LW*W<827=Unuo8sGpRux(DN@jWP-e29Wl%wj zY84_aq9}^Am9-cWTD5GGEo#+5Fi2wX_P*bo+xO!)p*7B;iKlbFd(U~_d(U?#hLj56 zPhFkj-|A6~Qk#@g^#D^U0XT1cu=c-vu1+SElX9NR;kzAUV(q0|dl0|%h|dI$%VICy zJnu2^L*Te9JrJMGh%-P79CL0}dq92RGU6gI{v2~|)p}sG5x0U*z<8U;Ij*hB9z?ei z@g6Xq-pDoPl=MANPiR7%172VA%r)kevtV-_5H*QJKFmd;8yA$98zCxBZYXTNZ#QFk2(TX0;Y2dt&WitL#$96|gJY=3xX zpCoi|YNzgO3R`f@IiEeSmKrPSf#h#Qd<$%Ej^RIeeYfsxhPMOG`S`Pz8q``=511zm zAm)MX5AV^5xIWPyEu7u>qYs?pn$I4nL9J!=K=SGlKLXpE<5x+2cDTXq?brj?n6sp= zphe9;_JHf40^9~}9i08r{XM$7HB!`{Ys~TK0kx<}ZQng`UPvH*11|q7&l9?@FQz;8 zx!=3<4seY*%=OlbCbcae?5^V_}*K>Uo6ZWV8mTyE^B=DKy7-sdLYkR5Z?paTgK-zyIkKjIcpyO z{+uIt&YSa_$QnN_@t~L014dyK(fOOo+W*MIxbA6Ndgr=Y!f#Tokqv}n<7-9qfHkc3 z=>a|HWqcX8fzQCT=dqVbogRq!-S>H%yA{1w#2Pn;=e>JiEj7Hl;zdt-2f+j2%DeVD zsW0Ab)ZK@0cIW%W7z}H{&~yGhn~D;aiP4=;m-HCo`BEI+Kd6 z={Xwx{TKxD#iCLfl2vQGDitKtN>z|-AdCN|$jTFDg0m3O`WLD4_s#$S diff --git a/public/favicon_backup.ico b/public/favicon_backup.ico new file mode 100644 index 0000000000000000000000000000000000000000..df36fcfb72584e00488330b560ebcf34a41c64c2 GIT binary patch literal 4286 zcmds*O-Phc6o&64GDVCEQHxsW(p4>LW*W<827=Unuo8sGpRux(DN@jWP-e29Wl%wj zY84_aq9}^Am9-cWTD5GGEo#+5Fi2wX_P*bo+xO!)p*7B;iKlbFd(U~_d(U?#hLj56 zPhFkj-|A6~Qk#@g^#D^U0XT1cu=c-vu1+SElX9NR;kzAUV(q0|dl0|%h|dI$%VICy zJnu2^L*Te9JrJMGh%-P79CL0}dq92RGU6gI{v2~|)p}sG5x0U*z<8U;Ij*hB9z?ei z@g6Xq-pDoPl=MANPiR7%172VA%r)kevtV-_5H*QJKFmd;8yA$98zCxBZYXTNZ#QFk2(TX0;Y2dt&WitL#$96|gJY=3xX zpCoi|YNzgO3R`f@IiEeSmKrPSf#h#Qd<$%Ej^RIeeYfsxhPMOG`S`Pz8q``=511zm zAm)MX5AV^5xIWPyEu7u>qYs?pn$I4nL9J!=K=SGlKLXpE<5x+2cDTXq?brj?n6sp= zphe9;_JHf40^9~}9i08r{XM$7HB!`{Ys~TK0kx<}ZQng`UPvH*11|q7&l9?@FQz;8 zx!=3<4seY*%=OlbCbcae?5^V_}*K>Uo6ZWV8mTyE^B=DKy7-sdLYkR5Z?paTgK-zyIkKjIcpyO z{+uIt&YSa_$QnN_@t~L014dyK(fOOo+W*MIxbA6Ndgr=Y!f#Tokqv}n<7-9qfHkc3 z=>a|HWqcX8fzQCT=dqVbogRq!-S>H%yA{1w#2Pn;=e>JiEj7Hl;zdt-2f+j2%DeVD zsW0Ab)ZK@0cIW%W7z}H{&~yGhn~D;aiP4=;m-HCo`BEI+Kd6 z={Xwx{TKxD#iCLfl2vQGDitKtN>z|-AdCN|$jTFDg0m3O`WLD4_s#$S literal 0 HcmV?d00001 diff --git a/public/index.html b/public/index.html index 435b43f69..f41a8a97d 100644 --- a/public/index.html +++ b/public/index.html @@ -1,30 +1,56 @@ - - - - - - - - 全球标准法规系统-福田 - - - -
-
+ + + + + + + <%= VUE_APP_TITLE %> + + + + + + + +
+
- - - - - - + + + + + +

<%= VUE_APP_TITLE %>

+
-
- - + + + diff --git a/src/App.vue b/src/App.vue index 231bf53b6..94f824e74 100644 --- a/src/App.vue +++ b/src/App.vue @@ -1,9 +1,12 @@ - + diff --git a/src/api/ad.js b/src/api/ad.js new file mode 100644 index 000000000..065e6a903 --- /dev/null +++ b/src/api/ad.js @@ -0,0 +1,9 @@ +import request from '@/utils/request' + +export function getList(data) { + return request({ + url: '/ad/getList', + method: 'get', + data, + }) +} diff --git a/src/api/changeLog.js b/src/api/changeLog.js new file mode 100644 index 000000000..bf7464b85 --- /dev/null +++ b/src/api/changeLog.js @@ -0,0 +1,9 @@ +import request from '@/utils/request' + +export function getList(data) { + return request({ + url: '/changeLog/getList', + method: 'post', + data, + }) +} diff --git a/src/api/colorfulIcon.js b/src/api/colorfulIcon.js new file mode 100644 index 000000000..c2b6d5bb6 --- /dev/null +++ b/src/api/colorfulIcon.js @@ -0,0 +1,9 @@ +import request from '@/utils/request' + +export function getIconList(data) { + return request({ + url: '/colorfulIcon/getList', + method: 'post', + data, + }) +} diff --git a/src/api/github.js b/src/api/github.js new file mode 100644 index 000000000..2d218dc1d --- /dev/null +++ b/src/api/github.js @@ -0,0 +1,20 @@ +import request from 'axios' + +export function getRepos(params) { + return request({ + url: 'https://api.github.com/repos/chuzhixin/vue-admin-beautiful', + method: 'get', + params, + timeout: 10000, + }) +} + +export function getStargazers(params) { + return request({ + url: + 'https://api.github.com/repos/chuzhixin/vue-admin-beautiful/stargazers', + method: 'get', + params, + timeout: 10000, + }) +} diff --git a/src/api/goodsList.js b/src/api/goodsList.js new file mode 100644 index 000000000..3a40f8fd2 --- /dev/null +++ b/src/api/goodsList.js @@ -0,0 +1,9 @@ +import request from '@/utils/request' + +export function getList(data) { + return request({ + url: '/goodsList/getList', + method: 'post', + data, + }) +} diff --git a/src/api/icon.js b/src/api/icon.js new file mode 100644 index 000000000..fe1d1863e --- /dev/null +++ b/src/api/icon.js @@ -0,0 +1,9 @@ +import request from '@/utils/request' + +export function getIconList(data) { + return request({ + url: '/icon/getList', + method: 'post', + data, + }) +} diff --git a/src/api/markdown.js b/src/api/markdown.js new file mode 100644 index 000000000..e6bb01c81 --- /dev/null +++ b/src/api/markdown.js @@ -0,0 +1,8 @@ +import request from 'axios' + +export function getList() { + return request({ + url: 'https://cdn.jsdelivr.net/gh/prettier/prettier@master/docs/options.md', + method: 'get', + }) +} diff --git a/src/api/menuManagement.js b/src/api/menuManagement.js new file mode 100644 index 000000000..32b22d3b6 --- /dev/null +++ b/src/api/menuManagement.js @@ -0,0 +1,25 @@ +import request from '@/utils/request' + +export function getTree(data) { + return request({ + url: '/menuManagement/getTree', + method: 'post', + data, + }) +} + +export function doEdit(data) { + return request({ + url: '/menuManagement/doEdit', + method: 'post', + data, + }) +} + +export function doDelete(data) { + return request({ + url: '/menuManagement/doDelete', + method: 'post', + data, + }) +} diff --git a/src/api/notice.js b/src/api/notice.js new file mode 100644 index 000000000..ced1de3b4 --- /dev/null +++ b/src/api/notice.js @@ -0,0 +1,8 @@ +import request from '@/utils/request' + +export function getNoticeList() { + return request({ + url: '/notice/getList', + method: 'post', + }) +} diff --git a/src/api/personalCenter.js b/src/api/personalCenter.js new file mode 100644 index 000000000..804c679be --- /dev/null +++ b/src/api/personalCenter.js @@ -0,0 +1,25 @@ +import request from '@/utils/request' + +export function getList(data) { + return request({ + url: '/personalCenter/getList', + method: 'post', + data, + }) +} + +export function doEdit(data) { + return request({ + url: '/personalCenter/doEdit', + method: 'post', + data, + }) +} + +export function doDelete(data) { + return request({ + url: '/personalCenter/doDelete', + method: 'post', + data, + }) +} diff --git a/src/api/publicKey.js b/src/api/publicKey.js new file mode 100644 index 000000000..8b641fb8f --- /dev/null +++ b/src/api/publicKey.js @@ -0,0 +1,8 @@ +import request from '@/utils/request' + +export function getPublicKey() { + return request({ + url: '/publicKey', + method: 'post', + }) +} diff --git a/src/api/remixIcon.js b/src/api/remixIcon.js new file mode 100644 index 000000000..c62ea704f --- /dev/null +++ b/src/api/remixIcon.js @@ -0,0 +1,9 @@ +import request from '@/utils/request' + +export function getIconList(data) { + return request({ + url: '/remixIcon/getList', + method: 'post', + data, + }) +} diff --git a/src/api/roleManagement.js b/src/api/roleManagement.js new file mode 100644 index 000000000..4aac23ed7 --- /dev/null +++ b/src/api/roleManagement.js @@ -0,0 +1,25 @@ +import request from '@/utils/request' + +export function getList(data) { + return request({ + url: '/roleManagement/getList', + method: 'post', + data, + }) +} + +export function doEdit(data) { + return request({ + url: '/roleManagement/doEdit', + method: 'post', + data, + }) +} + +export function doDelete(data) { + return request({ + url: '/roleManagement/doDelete', + method: 'post', + data, + }) +} diff --git a/src/api/router.js b/src/api/router.js new file mode 100644 index 000000000..4d34d4894 --- /dev/null +++ b/src/api/router.js @@ -0,0 +1,9 @@ +import request from '@/utils/request' + +export function getRouterList(data) { + return request({ + url: '/menu/navigate', + method: 'post', + data, + }) +} diff --git a/src/api/table.js b/src/api/table.js new file mode 100644 index 000000000..0c1effc31 --- /dev/null +++ b/src/api/table.js @@ -0,0 +1,25 @@ +import request from '@/utils/request' + +export function getList(data) { + return request({ + url: '/table/getList', + method: 'post', + data, + }) +} + +export function doEdit(data) { + return request({ + url: '/table/doEdit', + method: 'post', + data, + }) +} + +export function doDelete(data) { + return request({ + url: '/table/doDelete', + method: 'post', + data, + }) +} diff --git a/src/api/tree.js b/src/api/tree.js new file mode 100644 index 000000000..e29ad3895 --- /dev/null +++ b/src/api/tree.js @@ -0,0 +1,9 @@ +import request from '@/utils/request' + +export function getTreeList(data) { + return request({ + url: '/tree/list', + method: 'post', + data, + }) +} diff --git a/src/api/user.js b/src/api/user.js new file mode 100644 index 000000000..e99e29f15 --- /dev/null +++ b/src/api/user.js @@ -0,0 +1,38 @@ +import request from '@/utils/request' +import { encryptedData } from '@/utils/encrypt' +import { loginRSA, tokenName } from '@/config' + +export async function login(data) { + if (loginRSA) { + data = await encryptedData(data) + } + return request({ + url: '/login', + method: 'post', + data, + }) +} + +export function getUserInfo(accessToken) { + return request({ + url: '/userInfo', + method: 'post', + data: { + [tokenName]: accessToken, + }, + }) +} + +export function logout() { + return request({ + url: '/logout', + method: 'post', + }) +} + +export function register() { + return request({ + url: '/register', + method: 'post', + }) +} diff --git a/src/api/userManagement.js b/src/api/userManagement.js new file mode 100644 index 000000000..9eaca6ed0 --- /dev/null +++ b/src/api/userManagement.js @@ -0,0 +1,25 @@ +import request from '@/utils/request' + +export function getList(data) { + return request({ + url: '/userManagement/getList', + method: 'post', + data, + }) +} + +export function doEdit(data) { + return request({ + url: '/userManagement/doEdit', + method: 'post', + data, + }) +} + +export function doDelete(data) { + return request({ + url: '/userManagement/doDelete', + method: 'post', + data, + }) +} diff --git a/src/assets/comparison/left.jpg b/src/assets/comparison/left.jpg new file mode 100644 index 0000000000000000000000000000000000000000..f5133cf11115be581c18ba91c0312b2f3731af1d GIT binary patch literal 74322 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� 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 D%Y!14 literal 0 HcmV?d00001 diff --git a/src/assets/comparison/right.jpg b/src/assets/comparison/right.jpg new file mode 100644 index 0000000000000000000000000000000000000000..625a53f246a5d530f24054e69e4c4379be13b2ff GIT binary patch literal 97145 zcmb4}RZtvE6RsC`clX8J2?Sf*9To|&i%akT!QEXJcVFDy-GX~Ua8J+#2+8^Wi&J%O zPtWCBGd0sw)$`6%{crQ%J^)`;QAH7efB*m>{5Jsqb^!7KG!zt66l641R8({{G;}ON zEG$e+EK)pt970M`DoP4c3UX?CHb!b%AT2os6CX2>gOi(wn~G6Dn4e3Sjf

e~TcX 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 literal 0 HcmV?d00001 diff --git a/src/assets/error_images/404.png b/src/assets/error_images/404.png new file mode 100644 index 0000000000000000000000000000000000000000..14fa72555d6e98d9ac2e25bd7b6723049da061ef GIT binary patch literal 23451 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%0Aho$g0FLqqBjw+RBj=IJnS_r~SCHXQ15 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 B)|~(V literal 0 HcmV?d00001 diff --git a/src/assets/error_images/cloud.png b/src/assets/error_images/cloud.png new file mode 100644 index 0000000000000000000000000000000000000000..247c06b41a6d9db75dab41c01cd93d959760485e GIT binary patch literal 2029 zcmZ8ido+~m8Xv4&hS;=ZDh!%PE{&ArvdNjD*=z=*rDlt9?8=grElFn8OpXcSKtp3CI86gg^`!u0WCvti>$>hc5#9|EtB}ivbS=dujLV;-)|-5-)8E z0oaSKu!P_s=meD8=I-iun*{FKws3NH#bkusOROfrYByXQDZU}=4oB7 z#xV9$cRLQQEaWfEjtzBncDyR4#9zbPi+J1Xt1}-bN9ltDeSMvPue@!gE48^YH#hrX z;vJnn)Z5ejqAvGgYE0BEv?1b%0(X6F@#{whZJ@oirKX}N?@@3t{^yhG+Y_VIw$|q6 zD$0YT_~5Gq=O0fUWPXXh+s}`dg+TUMVo>LC5mRd)C~&fZG;gbv!C5+8s64QHn@8m}u)jOaHZ%?w)Q%o=drLRW8@Pf9gdFp48B|BJ=NCbPJyUM0&@dOCSFODZ#}WK?35 zlqgiWVQ%I)1ce-tCuhT&{vfkyY)sh;IWfS`j>yI1yLx91#5+; ze5?Bl6}Q6rQ{uuWWyZz=-Hw>jqA16-wJRDTH;h`e+@IUlZD7BB-LIn2_P*9ZN9(!j zuMWEUexnJ}G0>6~TYWP~TI8FQas|}`eNxiiT|b5H*cD`gF0rONmN=nay>$ zzgoCX*g^N~3=Bi*GV$ljW>RLdrQcCp}i` zOKxN>KBe2-sCd@)Z9F9SuMv|$_4s<3T<73mwlyQuQ65c3G_{ot&7_L6)7SE$2@)Gos3`VenRV@-BPa+#yH zl~IU#IPKgOYBBi((sCro+tI3mfW0yh2t(ZX?XWC{bZ&pbVz4WY%;ZNWDim;xH%N))6YGswVvlbdB=nc{ zyyYK~V|<+ViMKQIYO#s=&WF#tZ-)*(ZY4aqW2%$$?!ATgA6|^^6lK?=RdvDj@ps90 zVx(}$XWr!Gb8wjb!$nz0IKd%Osyn2srJ@Pv5mpwV&&*1cvkVf=w5zz+xwPZmC({>j)tC{Np~V$ z>S<>L*;js+#+=Q+ue={N-?GTu468rJ$kSF8KZ;JoD*EDt3}U7UR8>=yQDYUyGZUhlqr3o zcVJx={ZzHk^PmE52T=Lh8Pgt~yqzK{s5Z z8JkSQ>3IrGFgs5)U(fDDM<*7NjY*c$koh^T&t zej}f@qihJ44HR?coy>=y`=kNU_2mK5*<7du(FDBPNiO6m9zl4m&Dp|kHTWLvcLmmv zTi@N-aJZs11#TK0Gkx2bhNTUOhyQVb%evOKQUGr!pYMw9AE9bIg*4w TG^r)|uR|ahv@5FC!7u(_O{Ba` literal 0 HcmV?d00001 diff --git a/src/assets/ewm.png b/src/assets/ewm.png new file mode 100644 index 0000000000000000000000000000000000000000..a97a6ad4683a76732629de92f7d1062fe67cfcf0 GIT binary patch literal 3496 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

q9wtGxN+8*Azs5kd+%vZgXMLPTx$isRA8 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�s`RWM;$r!{2w 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 literal 0 HcmV?d00001 diff --git a/src/assets/qr_logo/lqr_logo.png b/src/assets/qr_logo/lqr_logo.png new file mode 100644 index 0000000000000000000000000000000000000000..f81db4620fd01bd14f03ede4d70011f128f64f2c GIT binary patch literal 8768 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 ^ezX=e9CjsBl{L#rQK#)bp3?pe3nr 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�D|@;E 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ƭCsi`&)tw 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 K0 { + /*let a = requireContext.keys().map(requireContext); + let arr = []; + for (let i = 0; i < a.length; i++) { + console.log(); + let icon = a[i].default.id; + arr.push(icon); + } + console.log(JSON.stringify(arr));*/ + return requireContext.keys().map(requireContext) + } +requireAll(req) diff --git a/src/colorfulIcon/svg/alphabetical_sorting.svg b/src/colorfulIcon/svg/alphabetical_sorting.svg new file mode 100644 index 000000000..3cfa035b0 --- /dev/null +++ b/src/colorfulIcon/svg/alphabetical_sorting.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/colorfulIcon/svg/vab.svg b/src/colorfulIcon/svg/vab.svg new file mode 100644 index 000000000..5c46271c7 --- /dev/null +++ b/src/colorfulIcon/svg/vab.svg @@ -0,0 +1,21 @@ + + + + + + + + + + + + + + + + + + diff --git a/src/components/SelectTree/index.vue b/src/components/SelectTree/index.vue new file mode 100644 index 000000000..bacc7dd83 --- /dev/null +++ b/src/components/SelectTree/index.vue @@ -0,0 +1,201 @@ + + + + + + diff --git a/src/components/VabCharge/index.vue b/src/components/VabCharge/index.vue new file mode 100644 index 000000000..609da971c --- /dev/null +++ b/src/components/VabCharge/index.vue @@ -0,0 +1,191 @@ + + + + + diff --git a/src/components/VabProfile/index.vue b/src/components/VabProfile/index.vue new file mode 100644 index 000000000..7f291dd17 --- /dev/null +++ b/src/components/VabProfile/index.vue @@ -0,0 +1,313 @@ + + + + + diff --git a/src/components/VabSnow/index.vue b/src/components/VabSnow/index.vue new file mode 100644 index 000000000..5131d525b --- /dev/null +++ b/src/components/VabSnow/index.vue @@ -0,0 +1,82 @@ + + + + + diff --git a/src/components/VabUpload/index.vue b/src/components/VabUpload/index.vue new file mode 100644 index 000000000..31d83a505 --- /dev/null +++ b/src/components/VabUpload/index.vue @@ -0,0 +1,255 @@ + + + + + diff --git a/src/config/index.js b/src/config/index.js index 144fa272b..77c723e9e 100644 --- a/src/config/index.js +++ b/src/config/index.js @@ -1,3 +1,8 @@ +/** + * @description 3个子配置,通用配置|主题配置|网络配置导出 + */ const setting = require('./setting.config') const theme = require('./theme.config') -module.exports = Object.assign({}, setting, theme) +const network = require('./net.config') +const routes = require('./routes') +module.exports = Object.assign({}, setting, theme, network, routes) diff --git a/src/config/net.config.js b/src/config/net.config.js new file mode 100644 index 000000000..335b8bf8d --- /dev/null +++ b/src/config/net.config.js @@ -0,0 +1,18 @@ +/** + * @description 导出默认网路配置 + **/ +const network = { + //配后端数据的接收方式application/json;charset=UTF-8或者application/x-www-form-urlencoded;charset=UTF-8 + contentType: 'application/json;charset=UTF-8', + //消息框消失时间 + messageDuration: 3000, + //最长请求时间 + requestTimeout: 5000, + //操作正常code,支持String、Array、int多种类型 + successCode: [200, 0], + //登录失效code + invalidCode: 402, + //无权限code + noPermissionCode: 401, +} +module.exports = network diff --git a/src/config/permission.js b/src/config/permission.js new file mode 100644 index 000000000..25aaf6ce7 --- /dev/null +++ b/src/config/permission.js @@ -0,0 +1,88 @@ +/** + * @author chuzhixin 1204505056@qq.com (不想保留author可删除) + * @description 路由守卫,目前两种模式:all模式与intelligence模式 + */ +import router from '@/router' +import store from '@/store' +import VabProgress from 'nprogress' +import 'nprogress/nprogress.css' +import getPageTitle from '@/utils/pageTitle' +import { + authentication, + loginInterception, + progressBar, + recordRoute, + routesWhiteList, +} from '@/config' + +VabProgress.configure({ + easing: 'ease', + speed: 500, + trickleSpeed: 200, + showSpinner: false, +}) +router.beforeResolve(async (to, from, next) => { + if (progressBar) VabProgress.start() + let hasToken = store.getters['user/accessToken'] + + if (!loginInterception) hasToken = true + + store.dispatch('user/getUserInfo') + + store.dispatch('routes/setAllRoutes') + + next() + // if (hasToken) { + // if (to.path === '/login') { + // next({ path: '/' }) + // if (progressBar) VabProgress.done() + // } else { + // const hasPermissions = + // store.getters['user/permissions'] && + // store.getters['user/permissions'].length > 0 + // if (hasPermissions) { + // next() + // } else { + // try { + // let permissions + // if (!loginInterception) { + // //settings.js loginInterception为false时,创建虚拟权限 + // await store.dispatch('user/setPermissions', ['admin']) + // permissions = ['admin'] + // } else { + // // permissions = await store.dispatch('user/getUserInfo') + // permissions = ['admin'] + // } + // + // let accessRoutes = [] + // if (authentication === 'intelligence') { + // accessRoutes = await store.dispatch('routes/setRoutes', permissions) + // } else if (authentication === 'all') { + // accessRoutes = await store.dispatch('routes/setAllRoutes') + // } + // router.addRoutes(accessRoutes) + // next({ ...to, replace: true }) + // } catch { + // await store.dispatch('user/resetAccessToken') + // if (progressBar) VabProgress.done() + // } + // } + // } + // } else { + // if (routesWhiteList.indexOf(to.path) !== -1) { + // next() + // } else { + // if (recordRoute) { + // next(`/login?redirect=${to.path}`) + // } else { + // next('/login') + // } + // + // if (progressBar) VabProgress.done() + // } + // } + document.title = getPageTitle(to.meta.title) +}) +router.afterEach(() => { + if (progressBar) VabProgress.done() +}) diff --git a/src/config/routes.js b/src/config/routes.js new file mode 100644 index 000000000..3c23356a1 --- /dev/null +++ b/src/config/routes.js @@ -0,0 +1,293 @@ +const data = [ + { + path: '/', + component: 'Layout', + redirect: 'index', + children: [ + { + path: 'index', + name: 'Index', + component: '@/views/index/index', + meta: { + title: '首页', + icon: 'home', + affix: true, + }, + }, + ], + }, + { + path: '/personnelManagement', + component: 'Layout', + redirect: 'noRedirect', + name: 'PersonnelManagement', + meta: { title: '人员', icon: 'users-cog', permissions: ['admin'] }, + children: [ + { + path: 'userManagement', + name: 'UserManagement', + component: '@/views/personnelManagement/userManagement/index', + meta: { title: '用户管理' }, + }, + { + path: 'roleManagement', + name: 'RoleManagement', + component: '@/views/personnelManagement/roleManagement/index', + meta: { title: '角色管理' }, + }, + { + path: 'menuManagement', + name: 'MenuManagement', + component: '@/views/personnelManagement/menuManagement/index', + meta: { title: '菜单管理', badge: 'New' }, + }, + ], + }, + { + path: '/vab', + component: 'Layout', + redirect: 'noRedirect', + name: 'Vab', + alwaysShow: true, + meta: { title: '组件', icon: 'cloud' }, + children: [ + { + path: 'permissions', + name: 'Permission', + component: '@/views/vab/permissions/index', + meta: { + title: '权限控制', + permissions: ['admin', 'editor'], + badge: 'New', + }, + }, + { + path: 'icon', + component: 'EmptyLayout', + redirect: 'noRedirect', + name: 'Icon', + meta: { + title: '图标', + permissions: ['admin'], + }, + children: [ + { + path: 'awesomeIcon', + name: 'AwesomeIcon', + component: '@/views/vab/icon/index', + meta: { title: '常规图标' }, + }, + { + path: 'remixIcon', + name: 'RemixIcon', + component: '@/views/vab/icon/remixIcon', + meta: { title: '小清新图标' }, + }, + { + path: 'colorfulIcon', + name: 'ColorfulIcon', + component: '@/views/vab/icon/colorfulIcon', + meta: { title: '多彩图标' }, + }, + ], + }, + { + path: 'table', + component: '@/views/vab/table/index', + name: 'Table', + meta: { + title: '表格', + permissions: ['admin'], + }, + }, + { + path: 'map', + name: 'Map', + component: '@/views/vab/map/index', + meta: { title: '地图', permissions: ['admin'], badge: 'Pro' }, + }, + { + path: 'webSocket', + name: 'WebSocket', + component: '@/views/vab/webSocket/index', + meta: { title: 'webSocket', permissions: ['admin'] }, + }, + { + path: 'form', + name: 'Form', + component: '@/views/vab/form/index', + meta: { title: '表单', permissions: ['admin'] }, + }, + { + path: 'element', + name: 'Element', + component: '@/views/vab/element/index', + meta: { title: '常用组件', permissions: ['admin'] }, + }, + { + path: 'tree', + name: 'Tree', + component: '@/views/vab/tree/index', + meta: { title: '树', permissions: ['admin'] }, + }, + { + path: 'verify', + name: 'Verify', + component: '@/views/vab/verify/index', + meta: { title: '验证码', permissions: ['admin'] }, + }, + { + path: 'menu1', + component: '@/views/vab/nested/menu1/index', + name: 'Menu1', + alwaysShow: true, + meta: { + title: '嵌套路由 1', + permissions: ['admin'], + }, + children: [ + { + path: 'menu1-1', + name: 'Menu1-1', + alwaysShow: true, + meta: { title: '嵌套路由 1-1' }, + component: '@/views/vab/nested/menu1/menu1-1/index', + + children: [ + { + path: 'menu1-1-1', + name: 'Menu1-1-1', + meta: { title: '嵌套路由 1-1-1' }, + component: '@/views/vab/nested/menu1/menu1-1/menu1-1-1/index', + }, + ], + }, + ], + }, + { + path: 'magnifier', + name: 'Magnifier', + component: '@/views/vab/magnifier/index', + meta: { title: '放大镜', permissions: ['admin'] }, + }, + { + path: 'loading', + name: 'Loading', + component: '@/views/vab/loading/index', + meta: { title: 'loading', permissions: ['admin'] }, + }, + { + path: 'player', + name: 'Player', + component: '@/views/vab/player/index', + meta: { title: '视频播放器', permissions: ['admin'] }, + }, + { + path: 'markdownEditor', + name: 'MarkdownEditor', + component: '@/views/vab/markdownEditor/index', + meta: { title: 'markdown编辑器', permissions: ['admin'] }, + }, + { + path: 'editor', + name: 'Editor', + component: '@/views/vab/editor/index', + meta: { title: '富文本编辑器', permissions: ['admin'], badge: 'New' }, + }, + { + path: 'backToTop', + name: 'BackToTop', + component: '@/views/vab/backToTop/index', + meta: { title: '返回顶部', permissions: ['admin'] }, + }, + { + path: 'lodash', + name: 'Lodash', + component: '@/views/vab/lodash/index', + meta: { title: 'lodash', permissions: ['admin'] }, + }, + { + path: 'smallComponents', + name: 'SmallComponents', + component: '@/views/vab/smallComponents/index', + meta: { title: '小组件', permissions: ['admin'] }, + }, + + { + path: 'upload', + name: 'Upload', + component: '@/views/vab/upload/index', + meta: { title: '上传', permissions: ['admin'] }, + }, + { + path: 'log', + name: 'Log', + component: '@/views/vab/errorLog/index', + meta: { title: '错误日志模拟', permissions: ['admin'] }, + }, + { + path: 'more', + name: 'More', + component: '@/views/vab/more/index', + meta: { title: '关于', permissions: ['admin'] }, + }, + ], + }, + { + path: '/mall', + component: 'Layout', + redirect: 'noRedirect', + name: 'Mall', + meta: { + title: '商城', + icon: 'shopping-cart', + permissions: ['admin'], + }, + + children: [ + { + path: 'pay', + name: 'Pay', + component: '@/views/mall/pay/index', + meta: { + title: '支付', + noKeepAlive: true, + }, + children: null, + }, + { + path: 'goodsList', + name: 'GoodsList', + component: '@/views/mall/goodsList/index', + meta: { + title: '商品列表', + }, + }, + ], + }, + { + path: '/error', + component: 'EmptyLayout', + redirect: 'noRedirect', + name: 'Error', + meta: { title: '错误页', icon: 'bug' }, + children: [ + { + path: '401', + name: 'Error401', + component: '@/views/401', + meta: { title: '401' }, + }, + { + path: '404', + name: 'Error404', + component: '@/views/404', + meta: { title: '404' }, + }, + ], + }, +] +const routes = { + routes: data, +} +module.exports = routes diff --git a/src/config/setting.config.js b/src/config/setting.config.js index f1bcf1a08..176d4b830 100644 --- a/src/config/setting.config.js +++ b/src/config/setting.config.js @@ -8,19 +8,65 @@ const setting = { outputDir: 'dist', // 放置生成的静态资源 (js、css、img、fonts) 的 (相对于 outputDir 的) 目录。 assetsDir: 'static', + // 开发环境每次保存时是否输出为eslint编译警告 + lintOnSave: true, // 进行编译的依赖 transpileDependencies: [], - baseURL: - process.env.NODE_ENV === 'development' - ? '/' - : '/', - // 标题 - title: 'FOTON', - // 开发环境端口号 + // 默认的接口地址 如果是开发环境和生产环境走vab-mock-server,当然你也可以选择自己配置成需要的接口地址 + baseURL: process.env.NODE_ENV === 'development' ? '/api/' : '/api/', + //标题 (包括初次加载雪花屏的标题 页面的标题 浏览器的标题) + title: '福田汽车', + //简写 + abbreviation: 'vab', + //开发环境端口号 devPort: '8888', - // 版本号 + //版本号 version: process.env.VUE_APP_VERSION, - // 需要自动注入并加载的模块 - providePlugin: { maptalks: 'maptalks', 'window.maptalks': 'maptalks' } + //这一项非常重要!请务必保留MIT协议下package.json及copyright作者信息 即可免费商用,不遵守此项约定你将无法使用该框架,如需自定义版权信息请联系QQ1204505056 + copyright: 'vab', + //是否显示页面底部自定义版权信息 + footerCopyright: true, + //是否显示顶部进度条 + progressBar: true, + //缓存路由的最大数量 + keepAliveMaxNum: 99, + // 路由模式,可选值为 history 或 hash + routerMode: 'hash', + //不经过token校验的路由 + routesWhiteList: ['/login', '/register', '/404', '/401'], + //加载时显示文字 + loadingText: '正在加载中...', + //token名称 + tokenName: 'accessToken', + //token在localStorage、sessionStorage存储的key的名称 + tokenTableName: 'vue-admin-beautiful-2021', + //token存储位置localStorage sessionStorage + storage: 'localStorage', + //token失效回退到登录页时是否记录本次的路由 + recordRoute: true, + //是否显示logo,不显示时设置false,显示时请填写remixIcon图标名称,暂时只支持设置remixIcon + logo: 'vuejs-fill', + //是否显示在页面高亮错误 + errorLog: ['development', 'production'], + //是否开启登录拦截 + loginInterception: true, + //是否开启登录RSA加密 + loginRSA: true, + //intelligence和all两种方式,前者后端权限只控制permissions不控制view文件的import(前后端配合,减轻后端工作量),all方式完全交给后端前端只负责加载 + authentication: 'intelligence', + //vertical布局时是否只保持一个子菜单的展开 + uniqueOpened: true, + //vertical布局时默认展开的菜单path,使用逗号隔开建议只展开一个 + defaultOopeneds: ['/vab'], + //需要加loading层的请求,防止重复提交 + debounce: ['doEdit'], + //需要自动注入并加载的模块 + providePlugin: { maptalks: 'maptalks', 'window.maptalks': 'maptalks' }, + //npm run build时是否自动生成7z压缩包 + build7z: false, + //代码生成机生成在view下的文件夹名称 + templateFolder: 'project', + //是否显示终端donation打印 + donation: true, } module.exports = setting diff --git a/src/config/settings.js b/src/config/settings.js new file mode 100644 index 000000000..c070a6691 --- /dev/null +++ b/src/config/settings.js @@ -0,0 +1,6 @@ +/** + * @description 3个子配置,通用配置|主题配置|网络配置 + */ +//默认配置 +const { setting, theme, network } = require('./') +module.exports = Object.assign({}, setting, theme, network) diff --git a/src/layouts/EmptyLayout.vue b/src/layouts/EmptyLayout.vue new file mode 100644 index 000000000..98240aef8 --- /dev/null +++ b/src/layouts/EmptyLayout.vue @@ -0,0 +1,3 @@ + diff --git a/src/layouts/components/Permissions/index.js b/src/layouts/components/Permissions/index.js new file mode 100644 index 000000000..7d2d86e2c --- /dev/null +++ b/src/layouts/components/Permissions/index.js @@ -0,0 +1,13 @@ +import permissions from './permissions' + +const install = function (Vue) { + Vue.directive('permissions', permissions) +} + +if (window.Vue) { + window['permissions'] = permissions + Vue.use(install) +} + +permissions.install = install +export default permissions diff --git a/src/layouts/components/Permissions/permissions.js b/src/layouts/components/Permissions/permissions.js new file mode 100644 index 000000000..74ac1f64a --- /dev/null +++ b/src/layouts/components/Permissions/permissions.js @@ -0,0 +1,13 @@ +import store from '@/store' + +export default { + inserted(element, binding) { + const { value } = binding + const permissions = store.getters['user/permissions'] + if (value && value instanceof Array && value.length > 0) { + const hasPermission = permissions.some((role) => value.includes(role)) + if (!hasPermission) + element.parentNode && element.parentNode.removeChild(element) + } + }, +} diff --git a/src/layouts/components/VabAd/index.vue b/src/layouts/components/VabAd/index.vue new file mode 100644 index 000000000..54416bf06 --- /dev/null +++ b/src/layouts/components/VabAd/index.vue @@ -0,0 +1,70 @@ + + + + diff --git a/src/layouts/components/VabAppMain/index.vue b/src/layouts/components/VabAppMain/index.vue new file mode 100644 index 000000000..a76adc47c --- /dev/null +++ b/src/layouts/components/VabAppMain/index.vue @@ -0,0 +1,93 @@ + + + + + diff --git a/src/layouts/components/VabAvatar/index.vue b/src/layouts/components/VabAvatar/index.vue new file mode 100644 index 000000000..67dc68bb6 --- /dev/null +++ b/src/layouts/components/VabAvatar/index.vue @@ -0,0 +1,105 @@ + + + + diff --git a/src/layouts/components/VabBreadcrumb/index.vue b/src/layouts/components/VabBreadcrumb/index.vue new file mode 100644 index 000000000..0259bccba --- /dev/null +++ b/src/layouts/components/VabBreadcrumb/index.vue @@ -0,0 +1,63 @@ + + + + + diff --git a/src/layouts/components/VabColorfullIcon/index.vue b/src/layouts/components/VabColorfullIcon/index.vue new file mode 100644 index 000000000..840de3cab --- /dev/null +++ b/src/layouts/components/VabColorfullIcon/index.vue @@ -0,0 +1,65 @@ + + + + + diff --git a/src/layouts/components/VabErrorLog/index.vue b/src/layouts/components/VabErrorLog/index.vue new file mode 100644 index 000000000..fd7170a47 --- /dev/null +++ b/src/layouts/components/VabErrorLog/index.vue @@ -0,0 +1,128 @@ + + + + + diff --git a/src/layouts/components/VabFullScreenBar/index.vue b/src/layouts/components/VabFullScreenBar/index.vue new file mode 100644 index 000000000..fedf502f7 --- /dev/null +++ b/src/layouts/components/VabFullScreenBar/index.vue @@ -0,0 +1,53 @@ + + + diff --git a/src/layouts/components/VabGithubCorner/index.vue b/src/layouts/components/VabGithubCorner/index.vue new file mode 100644 index 000000000..23341f330 --- /dev/null +++ b/src/layouts/components/VabGithubCorner/index.vue @@ -0,0 +1,75 @@ + + + + diff --git a/src/layouts/components/VabLogo/index.vue b/src/layouts/components/VabLogo/index.vue new file mode 100644 index 000000000..c07c1b258 --- /dev/null +++ b/src/layouts/components/VabLogo/index.vue @@ -0,0 +1,92 @@ + + + diff --git a/src/layouts/components/VabNavBar/index.vue b/src/layouts/components/VabNavBar/index.vue new file mode 100644 index 000000000..9a2a63404 --- /dev/null +++ b/src/layouts/components/VabNavBar/index.vue @@ -0,0 +1,136 @@ + + + + + diff --git a/src/layouts/components/VabQueryForm/VabQueryFormBottomPanel.vue b/src/layouts/components/VabQueryForm/VabQueryFormBottomPanel.vue new file mode 100644 index 000000000..327dc83af --- /dev/null +++ b/src/layouts/components/VabQueryForm/VabQueryFormBottomPanel.vue @@ -0,0 +1,20 @@ + + + diff --git a/src/layouts/components/VabQueryForm/VabQueryFormLeftPanel.vue b/src/layouts/components/VabQueryForm/VabQueryFormLeftPanel.vue new file mode 100644 index 000000000..ee23a7821 --- /dev/null +++ b/src/layouts/components/VabQueryForm/VabQueryFormLeftPanel.vue @@ -0,0 +1,25 @@ + + + diff --git a/src/layouts/components/VabQueryForm/VabQueryFormRightPanel.vue b/src/layouts/components/VabQueryForm/VabQueryFormRightPanel.vue new file mode 100644 index 000000000..e74aa14ea --- /dev/null +++ b/src/layouts/components/VabQueryForm/VabQueryFormRightPanel.vue @@ -0,0 +1,25 @@ + + + diff --git a/src/layouts/components/VabQueryForm/VabQueryFormTopPanel.vue b/src/layouts/components/VabQueryForm/VabQueryFormTopPanel.vue new file mode 100644 index 000000000..7a48e3f57 --- /dev/null +++ b/src/layouts/components/VabQueryForm/VabQueryFormTopPanel.vue @@ -0,0 +1,20 @@ + + + diff --git a/src/layouts/components/VabQueryForm/index.vue b/src/layouts/components/VabQueryForm/index.vue new file mode 100644 index 000000000..f49a6bb3f --- /dev/null +++ b/src/layouts/components/VabQueryForm/index.vue @@ -0,0 +1,63 @@ + + + + + diff --git a/src/layouts/components/VabRemixIcon/index.vue b/src/layouts/components/VabRemixIcon/index.vue new file mode 100644 index 000000000..1f45271a1 --- /dev/null +++ b/src/layouts/components/VabRemixIcon/index.vue @@ -0,0 +1,69 @@ + + + + + diff --git a/src/layouts/components/VabSideBar/components/VabMenuItem.vue b/src/layouts/components/VabSideBar/components/VabMenuItem.vue new file mode 100644 index 000000000..3ed8d1b0d --- /dev/null +++ b/src/layouts/components/VabSideBar/components/VabMenuItem.vue @@ -0,0 +1,84 @@ + + + diff --git a/src/layouts/components/VabSideBar/components/VabSideBarItem.vue b/src/layouts/components/VabSideBar/components/VabSideBarItem.vue new file mode 100644 index 000000000..baaac70eb --- /dev/null +++ b/src/layouts/components/VabSideBar/components/VabSideBarItem.vue @@ -0,0 +1,108 @@ + + + + + diff --git a/src/layouts/components/VabSideBar/components/VabSubmenu.vue b/src/layouts/components/VabSideBar/components/VabSubmenu.vue new file mode 100644 index 000000000..58d90c5cd --- /dev/null +++ b/src/layouts/components/VabSideBar/components/VabSubmenu.vue @@ -0,0 +1,60 @@ + + + diff --git a/src/layouts/components/VabSideBar/index.vue b/src/layouts/components/VabSideBar/index.vue new file mode 100644 index 000000000..c01103f74 --- /dev/null +++ b/src/layouts/components/VabSideBar/index.vue @@ -0,0 +1,141 @@ + + + diff --git a/src/layouts/components/VabTabsBar/index.vue b/src/layouts/components/VabTabsBar/index.vue new file mode 100644 index 000000000..221037a01 --- /dev/null +++ b/src/layouts/components/VabTabsBar/index.vue @@ -0,0 +1,297 @@ + + + + + diff --git a/src/layouts/components/VabThemeBar/index.vue b/src/layouts/components/VabThemeBar/index.vue new file mode 100644 index 000000000..bd09aba24 --- /dev/null +++ b/src/layouts/components/VabThemeBar/index.vue @@ -0,0 +1,259 @@ + + + + + + diff --git a/src/layouts/components/VabTopBar/index.vue b/src/layouts/components/VabTopBar/index.vue new file mode 100644 index 000000000..07602f61b --- /dev/null +++ b/src/layouts/components/VabTopBar/index.vue @@ -0,0 +1,224 @@ + + + + diff --git a/src/layouts/components/index.js b/src/layouts/components/index.js new file mode 100644 index 000000000..96c2f141e --- /dev/null +++ b/src/layouts/components/index.js @@ -0,0 +1,28 @@ +module.exports = { + webpackBarName: 'vue-admin-beautiful', + webpackBanner: + ' build: vue-admin-beautiful \n vue-admin-beautiful author: chuzhixin 1204505056@qq.com \n vue-admin-beautiful QQ Group(QQ群): 972435319、1139183756 \n time: ', + donationConsole() { + const chalk = require('chalk') + console.log( + chalk.green( + `> 欢迎使用vue-admin-beautiful,开源地址:https://github.com/chuzhixin/vue-admin-beautiful` + ) + ) + + console.log( + chalk.green( + `> pro版演示地址:http://chu1204505056.gitee.io/admin-pro?hmsr=console&hmpl=&hmcu=&hmkw=&hmci=` + ) + ) + + console.log( + chalk.green( + `> 使用中出现任何问题可加QQ群反馈,获取基础版、文档,请我们喝杯咖啡(如若情况不允许,请勿勉强):https://gitee.com/chu1204505056/vue-admin-beautiful#vue-admin-beautiful-%E5%89%8D%E7%AB%AF%E8%AE%A8%E8%AE%BA-qq-%E7%BE%A4` + ) + ) + + console.log(chalk.green(`> 如果您不希望显示以上信息,可在config中配置关闭`)) + console.log('\n') + }, +} diff --git a/src/layouts/export.js b/src/layouts/export.js new file mode 100644 index 000000000..54af5005b --- /dev/null +++ b/src/layouts/export.js @@ -0,0 +1,17 @@ +/** + * @description 公共布局及样式自动引入 + */ + +import Vue from 'vue' + +const requireComponents = require.context('./components', true, /\.vue$/) +requireComponents.keys().forEach((fileName) => { + const componentConfig = requireComponents(fileName) + const componentName = componentConfig.default.name + Vue.component(componentName, componentConfig.default || componentConfig) +}) + +const requireThemes = require.context('@/styles/themes', true, /\.scss$/) +requireThemes.keys().forEach((fileName) => { + require(`@/styles/themes/${fileName.slice(2)}`) +}) diff --git a/src/layouts/index.vue b/src/layouts/index.vue new file mode 100644 index 000000000..ef5c93215 --- /dev/null +++ b/src/layouts/index.vue @@ -0,0 +1,304 @@ + + + + + diff --git a/src/main.js b/src/main.js index ed9a3722e..bf1b47ce1 100644 --- a/src/main.js +++ b/src/main.js @@ -1,12 +1,14 @@ import Vue from 'vue' -import App from './App.vue' -import router from './router' +import App from './App' import store from './store' - +import router from './router' +import './plugins' +import '@/layouts/export' Vue.config.productionTip = false new Vue({ + el: '#vue-admin-beautiful', router, store, - render: h => h(App) -}).$mount('#foton') + render: (h) => h(App), +}) diff --git a/src/plugins/echarts.js b/src/plugins/echarts.js new file mode 100644 index 000000000..f600f836c --- /dev/null +++ b/src/plugins/echarts.js @@ -0,0 +1,4 @@ +import 'echarts' +import VabChart from 'vue-echarts' + +export default VabChart diff --git a/src/plugins/element.js b/src/plugins/element.js new file mode 100644 index 000000000..3b91ff0ac --- /dev/null +++ b/src/plugins/element.js @@ -0,0 +1,9 @@ +import Vue from 'vue' +import ElementUI from 'element-ui' +import 'element-ui/lib/theme-chalk/display.css' + +import '@/styles/element-variables.scss' + +Vue.use(ElementUI, { + size: 'small', +}) diff --git a/src/plugins/index.js b/src/plugins/index.js new file mode 100644 index 000000000..52e17fba3 --- /dev/null +++ b/src/plugins/index.js @@ -0,0 +1,17 @@ +/* 公共引入,勿随意修改,修改时需经过确认 */ +import Vue from 'vue' +import './element' +import './support' +import '@/styles/vab.scss' +import '@/remixIcon' +import '@/colorfulIcon' +import '@/config/permission' +import '@/utils/errorLog' +import './vabIcon' +import VabPermissions from '@/layouts/components/Permissions' +import Vab from '@/utils/vab' +import VabCount from 'zx-count' + +Vue.use(Vab) +Vue.use(VabPermissions) +Vue.use(VabCount) diff --git a/src/plugins/support.js b/src/plugins/support.js new file mode 100644 index 000000000..391064970 --- /dev/null +++ b/src/plugins/support.js @@ -0,0 +1,20 @@ +import { MessageBox } from 'element-ui' +import { donation } from '@/config' +import { dependencies, repository } from '../../package.json' + +if (!!window.ActiveXObject || 'ActiveXObject' in window) { + MessageBox({ + title: '温馨提示', + message: + '自2015年3月起,微软已宣布弃用IE,且不再对IE提供任何更新维护,请点击此处访问微软官网更新浏览器,如果您使用的是双核浏览器,请您切换浏览器内核为极速模式', + type: 'warning', + showClose: false, + showConfirmButton: false, + closeOnClickModal: false, + closeOnPressEscape: false, + closeOnHashChange: false, + dangerouslyUseHTMLString: true, + }) +} +if (!dependencies['vab-icon'] || !dependencies['zx-layouts']) + document.body.innerHTML = '' diff --git a/src/plugins/vabIcon.js b/src/plugins/vabIcon.js new file mode 100644 index 000000000..634bca731 --- /dev/null +++ b/src/plugins/vabIcon.js @@ -0,0 +1,4 @@ +import Vue from 'vue' +import VabIcon from 'vab-icon' + +Vue.component('VabIcon', VabIcon) diff --git a/src/plugins/vabMagnifier.js b/src/plugins/vabMagnifier.js new file mode 100644 index 000000000..748fda247 --- /dev/null +++ b/src/plugins/vabMagnifier.js @@ -0,0 +1,3 @@ +import VabMagnifier from 'zx-magnifie' + +export default VabMagnifier diff --git a/src/plugins/vabMarkdownEditor.js b/src/plugins/vabMarkdownEditor.js new file mode 100644 index 000000000..03686b69c --- /dev/null +++ b/src/plugins/vabMarkdownEditor.js @@ -0,0 +1,5 @@ +import ZxMarkdownEditor from 'zx-markdown-editor' +import 'zx-markdown-editor/dist/zx-markdown-editor.css' + +const VabMarkdownEditor = ZxMarkdownEditor +export default VabMarkdownEditor diff --git a/src/plugins/vabPlayer.js b/src/plugins/vabPlayer.js new file mode 100644 index 000000000..69bf8a798 --- /dev/null +++ b/src/plugins/vabPlayer.js @@ -0,0 +1,3 @@ +import { VabPlayerMp4, VabPlayerHls, VabPlayerFlv } from 'zx-player' + +export { VabPlayerMp4, VabPlayerHls, VabPlayerFlv } diff --git a/src/plugins/vabQuill.js b/src/plugins/vabQuill.js new file mode 100644 index 000000000..eae4bbf4c --- /dev/null +++ b/src/plugins/vabQuill.js @@ -0,0 +1,4 @@ +import 'zx-quill/dist/zx-quill.css' +import VabQuill from 'zx-quill' + +export default VabQuill diff --git a/src/plugins/vabVerify.js b/src/plugins/vabVerify.js new file mode 100644 index 000000000..e98ae43e2 --- /dev/null +++ b/src/plugins/vabVerify.js @@ -0,0 +1,4 @@ +import VabVerify from 'zx-verify' +import 'zx-verify/dist/zx-verify.css' + +export default VabVerify diff --git a/src/remixIcon/index.js b/src/remixIcon/index.js new file mode 100644 index 000000000..2dd876e1f --- /dev/null +++ b/src/remixIcon/index.js @@ -0,0 +1,13 @@ +const req = require.context('./svg', false, /\.svg$/), + requireAll = (requireContext) => { + /*let a = requireContext.keys().map(requireContext); + let arr = []; + for (let i = 0; i < a.length; i++) { + console.log(); + let icon = a[i].default.id; + arr.push(icon); + } + console.log(JSON.stringify(arr));*/ + return requireContext.keys().map(requireContext) + } +requireAll(req) diff --git a/src/remixIcon/svg/qq-fill.svg b/src/remixIcon/svg/qq-fill.svg new file mode 100644 index 000000000..1f446b117 --- /dev/null +++ b/src/remixIcon/svg/qq-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/remixIcon/svg/vuejs-fill.svg b/src/remixIcon/svg/vuejs-fill.svg new file mode 100644 index 000000000..1b1a1371b --- /dev/null +++ b/src/remixIcon/svg/vuejs-fill.svg @@ -0,0 +1 @@ + diff --git a/src/router/index.js b/src/router/index.js index e44cdcd85..902c6ed5e 100644 --- a/src/router/index.js +++ b/src/router/index.js @@ -1,27 +1,400 @@ +/** + * @author chuzhixin 1204505056@qq.com (不想保留author可删除) + * @description router全局配置,如有必要可分文件抽离,其中asyncRoutes只有在intelligence模式下才会用到,vip文档中已提供路由的基础图标与小清新图标的配置方案,请仔细阅读 + */ + import Vue from 'vue' import VueRouter from 'vue-router' -import Home from '../views/Home.vue' +import Layout from '@/layouts' +import EmptyLayout from '@/layouts/EmptyLayout' +import { publicPath, routerMode } from '@/config' Vue.use(VueRouter) - -const routes = [ +export const constantRoutes = [ { - path: '/', - name: 'Home', - component: Home + path: '/login', + component: () => import('@/views/login/index'), + hidden: true, }, { - path: '/about', - name: 'About', - // route level code-splitting - // this generates a separate chunk (about.[hash].js) for this route - // which is lazy-loaded when the route is visited. - component: () => import(/* webpackChunkName: "about" */ '../views/About.vue') - } + path: '/register', + component: () => import('@/views/register/index'), + hidden: true, + }, + { + path: '/401', + name: '401', + component: () => import('@/views/401'), + hidden: true, + }, + { + path: '/404', + name: '404', + component: () => import('@/views/404'), + hidden: true, + }, +] + +export const asyncRoutes = [ + { + path: '/', + component: Layout, + redirect: 'index', + children: [ + { + path: 'index', + name: 'Index', + component: () => import('@/views/index/index'), + meta: { + title: '首页', + icon: 'home', + affix: true, + }, + }, + ], + }, + /* { + path: "/test", + component: Layout, + redirect: "noRedirect", + children: [ + { + path: "test", + name: "Test", + component: () => import("@/views/test/index"), + meta: { + title: "test", + icon: "marker", + permissions: ["admin"], + }, + }, + ], + }, */ + + { + path: '/vab', + component: Layout, + redirect: 'noRedirect', + name: 'Vab', + alwaysShow: true, + meta: { title: '组件', icon: 'box-open' }, + children: [ + { + path: 'permissions', + name: 'Permission', + component: () => import('@/views/vab/permissions/index'), + meta: { + title: '角色权限', + permissions: ['admin', 'editor'], + }, + }, + { + path: 'icon', + component: EmptyLayout, + redirect: 'noRedirect', + name: 'Icon', + meta: { + title: '图标', + permissions: ['admin'], + }, + children: [ + { + path: 'awesomeIcon', + name: 'AwesomeIcon', + component: () => import('@/views/vab/icon/index'), + meta: { title: '常规图标' }, + }, + { + path: 'remixIcon', + name: 'RemixIcon', + component: () => import('@/views/vab/icon/remixIcon'), + meta: { title: '小清新图标' }, + }, + { + path: 'colorfulIcon', + name: 'ColorfulIcon', + component: () => import('@/views/vab/icon/colorfulIcon'), + meta: { title: '多彩图标' }, + }, + ], + }, + { + path: 'table', + component: () => import('@/views/vab/table/index'), + name: 'Table', + meta: { + title: '表格', + permissions: ['admin'], + }, + }, + { + path: 'map', + component: () => import('@/views/vab/map/index'), + name: 'Map', + meta: { + title: '地图', + permissions: ['admin'], + }, + }, + + { + path: 'webSocket', + name: 'WebSocket', + component: () => import('@/views/vab/webSocket/index'), + meta: { title: 'webSocket', permissions: ['admin'] }, + }, + { + path: 'form', + name: 'Form', + component: () => import('@/views/vab/form/index'), + meta: { title: '表单', permissions: ['admin'] }, + }, + { + path: 'element', + name: 'Element', + component: () => import('@/views/vab/element/index'), + meta: { title: '常用组件', permissions: ['admin'] }, + }, + { + path: 'tree', + name: 'Tree', + component: () => import('@/views/vab/tree/index'), + meta: { title: '树', permissions: ['admin'] }, + }, + { + path: 'verify', + name: 'Verify', + component: () => import('@/views/vab/verify/index'), + meta: { title: '验证码', permissions: ['admin'] }, + }, + { + path: 'menu1', + component: () => import('@/views/vab/nested/menu1/index'), + name: 'Menu1', + alwaysShow: true, + meta: { + title: '嵌套路由 1', + permissions: ['admin'], + }, + children: [ + { + path: 'menu1-1', + name: 'Menu1-1', + alwaysShow: true, + meta: { title: '嵌套路由 1-1' }, + component: () => import('@/views/vab/nested/menu1/menu1-1/index'), + + children: [ + { + path: 'menu1-1-1', + name: 'Menu1-1-1', + meta: { title: '嵌套路由 1-1-1' }, + component: () => + import('@/views/vab/nested/menu1/menu1-1/menu1-1-1/index'), + }, + ], + }, + ], + }, + { + path: 'magnifier', + name: 'Magnifier', + component: () => import('@/views/vab/magnifier/index'), + meta: { title: '放大镜', permissions: ['admin'] }, + }, + { + path: 'loading', + name: 'Loading', + component: () => import('@/views/vab/loading/index'), + meta: { title: 'loading', permissions: ['admin'] }, + }, + { + path: 'player', + name: 'Player', + component: () => import('@/views/vab/player/index'), + meta: { title: '视频播放器', permissions: ['admin'] }, + }, + { + path: 'markdownEditor', + name: 'MarkdownEditor', + component: () => import('@/views/vab/markdownEditor/index'), + meta: { title: 'markdown编辑器', permissions: ['admin'] }, + }, + { + path: 'editor', + name: 'Editor', + component: () => import('@/views/vab/editor/index'), + meta: { + title: '富文本编辑器', + permissions: ['admin'], + badge: 'New', + }, + }, + { + path: 'backToTop', + name: 'BackToTop', + component: () => import('@/views/vab/backToTop/index'), + meta: { title: '返回顶部', permissions: ['admin'] }, + }, + { + path: 'lodash', + name: 'Lodash', + component: () => import('@/views/vab/lodash/index'), + meta: { title: 'lodash', permissions: ['admin'] }, + }, + { + path: 'smallComponents', + name: 'SmallComponents', + component: () => import('@/views/vab/smallComponents/index'), + meta: { title: '小组件', permissions: ['admin'] }, + }, + + { + path: 'upload', + name: 'Upload', + component: () => import('@/views/vab/upload/index'), + meta: { title: '上传', permissions: ['admin'] }, + }, + { + path: 'log', + name: 'Log', + component: () => import('@/views/vab/errorLog/index'), + meta: { title: '错误日志模拟', permissions: ['admin'] }, + }, + { + path: + 'https://github.com/chuzhixin/vue-admin-beautiful?utm_source=gold_browser_extension', + name: 'ExternalLink', + meta: { + title: '外链', + target: '_blank', + permissions: ['admin', 'editor'], + badge: 'New', + }, + }, + { + path: 'more', + name: 'More', + component: () => import('@/views/vab/more/index'), + meta: { title: '关于', permissions: ['admin'] }, + }, + ], + }, + { + path: '/personnelManagement', + component: Layout, + redirect: 'noRedirect', + name: 'PersonnelManagement', + meta: { title: '配置', icon: 'users-cog', permissions: ['admin'] }, + children: [ + { + path: 'userManagement', + name: 'UserManagement', + component: () => + import('@/views/personnelManagement/userManagement/index'), + meta: { title: '用户管理' }, + }, + { + path: 'roleManagement', + name: 'RoleManagement', + component: () => + import('@/views/personnelManagement/roleManagement/index'), + meta: { title: '角色管理' }, + }, + { + path: 'menuManagement', + name: 'MenuManagement', + component: () => + import('@/views/personnelManagement/menuManagement/index'), + meta: { title: '菜单管理', badge: 'New' }, + }, + ], + }, + { + path: '/mall', + component: Layout, + redirect: 'noRedirect', + name: 'Mall', + meta: { + title: '商城', + icon: 'shopping-cart', + permissions: ['admin'], + }, + + children: [ + { + path: 'pay', + name: 'Pay', + component: () => import('@/views/mall/pay/index'), + meta: { + title: '支付', + noKeepAlive: true, + }, + children: null, + }, + { + path: 'goodsList', + name: 'GoodsList', + component: () => import('@/views/mall/goodsList/index'), + meta: { + title: '商品列表', + }, + }, + ], + }, + { + path: '/error', + component: EmptyLayout, + redirect: 'noRedirect', + name: 'Error', + meta: { title: '错误页', icon: 'bug' }, + children: [ + { + path: '401', + name: 'Error401', + component: () => import('@/views/401'), + meta: { title: '401' }, + }, + { + path: '404', + name: 'Error404', + component: () => import('@/views/404'), + meta: { title: '404' }, + }, + ], + }, + { + path: '*', + redirect: '/404', + hidden: true, + }, ] const router = new VueRouter({ - routes + base: publicPath, + mode: routerMode, + scrollBehavior: () => ({ + y: 0, + }), + routes: [...constantRoutes, ...asyncRoutes], }) +//注释的地方是允许路由重复点击,如果你觉得框架路由跳转规范太过严格可选择放开 +const originalPush = VueRouter.prototype.push +VueRouter.prototype.push = function push(location, onResolve, onReject) { + if (onResolve || onReject) + return originalPush.call(this, location, onResolve, onReject) + return originalPush.call(this, location).catch((err) => err) +} + +export function resetRouter() { + router.matcher = new VueRouter({ + base: publicPath, + mode: routerMode, + scrollBehavior: () => ({ + y: 0, + }), + routes: [...constantRoutes, ...asyncRoutes], + }).matcher +} export default router diff --git a/src/store/index.js b/src/store/index.js index f453a2fe4..0b20b4e74 100644 --- a/src/store/index.js +++ b/src/store/index.js @@ -1,4 +1,5 @@ /** + * @author chuzhixin 1204505056@qq.com (不想保留author可删除) * @description 导入所有 vuex 模块,自动加入namespaced:true,用于解决vuex命名冲突,请勿修改。 */ @@ -16,6 +17,6 @@ Object.keys(modules).forEach((key) => { modules[key]['namespaced'] = true }) const store = new Vuex.Store({ - modules + modules, }) export default store diff --git a/src/store/modules/errorLog.js b/src/store/modules/errorLog.js new file mode 100644 index 000000000..941c6e58c --- /dev/null +++ b/src/store/modules/errorLog.js @@ -0,0 +1,28 @@ +/** + * @author chuzhixin 1204505056@qq.com (不想保留author可删除) + * @description 异常捕获的状态拦截,请勿修改 + */ + +const state = () => ({ + errorLogs: [], +}) +const getters = { + errorLogs: (state) => state.errorLogs, +} +const mutations = { + addErrorLog(state, errorLog) { + state.errorLogs.push(errorLog) + }, + clearErrorLog: (state) => { + state.errorLogs.splice(0) + }, +} +const actions = { + addErrorLog({ commit }, errorLog) { + commit('addErrorLog', errorLog) + }, + clearErrorLog({ commit }) { + commit('clearErrorLog') + }, +} +export default { state, getters, mutations, actions } diff --git a/src/store/modules/routes.js b/src/store/modules/routes.js new file mode 100644 index 000000000..562dd9a84 --- /dev/null +++ b/src/store/modules/routes.js @@ -0,0 +1,52 @@ +/** + * @author chuzhixin 1204505056@qq.com (不想保留author可删除) + * @description 路由拦截状态管理,目前两种模式:all模式与intelligence模式,其中partialRoutes是菜单暂未使用 + */ +import { asyncRoutes, constantRoutes } from '@/router' +import { getRouterList } from '@/api/router' +import { convertRouter, filterAsyncRoutes } from '@/utils/handleRoutes' +import { routes } from '@/config' + +const state = () => ({ + routes: [], + partialRoutes: [], +}) +const getters = { + routes: (state) => state.routes, + partialRoutes: (state) => state.partialRoutes, +} +const mutations = { + setRoutes(state, routes) { + state.routes = constantRoutes.concat(routes) + }, + setAllRoutes(state, routes) { + state.routes = constantRoutes.concat(routes) + }, + setPartialRoutes(state, routes) { + state.partialRoutes = constantRoutes.concat(routes) + }, +} +const actions = { + async setRoutes({ commit }, permissions) { + //开源版只过滤动态路由permissions,admin不再默认拥有全部权限 + const finallyAsyncRoutes = await filterAsyncRoutes( + [...asyncRoutes], + permissions + ) + commit('setRoutes', finallyAsyncRoutes) + return finallyAsyncRoutes + }, + async setAllRoutes({ commit }) { + // let { data } = await getRouterList() + let data = routes + data.push({ path: '*', redirect: '/404', hidden: true }) + let accessRoutes = convertRouter(data) + commit('setAllRoutes', accessRoutes) + return accessRoutes + }, + setPartialRoutes({ commit }, accessRoutes) { + commit('setPartialRoutes', accessRoutes) + return accessRoutes + }, +} +export default { state, getters, mutations, actions } diff --git a/src/store/modules/settings.js b/src/store/modules/settings.js new file mode 100644 index 000000000..fc7cf9de5 --- /dev/null +++ b/src/store/modules/settings.js @@ -0,0 +1,75 @@ +/** + * @author chuzhixin 1204505056@qq.com (不想保留author可删除) + * @description 所有全局配置的状态管理,如无必要请勿修改 + */ + +import defaultSettings from '@/config' + +const { tabsBar, logo, layout, header, themeBar } = defaultSettings +const theme = + JSON.parse(localStorage.getItem('vue-admin-beautiful-theme')) || '' +const state = () => ({ + tabsBar: theme.tabsBar || tabsBar, + logo, + collapse: false, + layout: theme.layout || layout, + header: theme.header || header, + device: 'desktop', + themeBar, +}) +const getters = { + collapse: (state) => state.collapse, + device: (state) => state.device, + header: (state) => state.header, + layout: (state) => state.layout, + logo: (state) => state.logo, + tabsBar: (state) => state.tabsBar, + themeBar: (state) => state.themeBar, +} +const mutations = { + changeLayout: (state, layout) => { + if (layout) state.layout = layout + }, + changeHeader: (state, header) => { + if (header) state.header = header + }, + changeTabsBar: (state, tabsBar) => { + if (tabsBar) state.tabsBar = tabsBar + }, + changeCollapse: (state) => { + state.collapse = !state.collapse + }, + foldSideBar: (state) => { + state.collapse = true + }, + openSideBar: (state) => { + state.collapse = false + }, + toggleDevice: (state, device) => { + state.device = device + }, +} +const actions = { + changeLayout({ commit }, layout) { + commit('changeLayout', layout) + }, + changeHeader({ commit }, header) { + commit('changeHeader', header) + }, + changeTabsBar({ commit }, tabsBar) { + commit('changeTabsBar', tabsBar) + }, + changeCollapse({ commit }) { + commit('changeCollapse') + }, + foldSideBar({ commit }) { + commit('foldSideBar') + }, + openSideBar({ commit }) { + commit('openSideBar') + }, + toggleDevice({ commit }, device) { + commit('toggleDevice', device) + }, +} +export default { state, getters, mutations, actions } diff --git a/src/store/modules/table.js b/src/store/modules/table.js new file mode 100644 index 000000000..bf57c090c --- /dev/null +++ b/src/store/modules/table.js @@ -0,0 +1,23 @@ +/** + * @author chuzhixin 1204505056@qq.com (不想保留author可删除) + * @description 代码生成机状态管理 + */ + +const state = () => ({ + srcCode: '', +}) +const getters = { + srcTableCode: (state) => state.srcCode, +} + +const mutations = { + setTableCode(state, srcCode) { + state.srcCode = srcCode + }, +} +const actions = { + setTableCode({ commit }, srcCode) { + commit('setTableCode', srcCode) + }, +} +export default { state, getters, mutations, actions } diff --git a/src/store/modules/tabsBar.js b/src/store/modules/tabsBar.js new file mode 100644 index 000000000..254d06288 --- /dev/null +++ b/src/store/modules/tabsBar.js @@ -0,0 +1,112 @@ +/** + * @author chuzhixin 1204505056@qq.com (不想保留author可删除) + * @description tabsBar多标签页逻辑,前期借鉴了很多开源项目发现都有个共同的特点很繁琐并不符合框架设计的初衷,后来在github用户hipi的启发下完成了重构,请勿修改 + */ + +const state = () => ({ + visitedRoutes: [], +}) +const getters = { + visitedRoutes: (state) => state.visitedRoutes, +} +const mutations = { + addVisitedRoute(state, route) { + let target = state.visitedRoutes.find((item) => item.path === route.path) + if (target) { + if (route.fullPath !== target.fullPath) Object.assign(target, route) + return + } + state.visitedRoutes.push(Object.assign({}, route)) + }, + delVisitedRoute(state, route) { + state.visitedRoutes.forEach((item, index) => { + if (item.path === route.path) state.visitedRoutes.splice(index, 1) + }) + }, + delOthersVisitedRoute(state, route) { + state.visitedRoutes = state.visitedRoutes.filter( + (item) => item.meta.affix || item.path === route.path + ) + }, + delLeftVisitedRoute(state, route) { + let index = state.visitedRoutes.length + state.visitedRoutes = state.visitedRoutes.filter((item) => { + if (item.name === route.name) index = state.visitedRoutes.indexOf(item) + return item.meta.affix || index <= state.visitedRoutes.indexOf(item) + }) + }, + delRightVisitedRoute(state, route) { + let index = state.visitedRoutes.length + state.visitedRoutes = state.visitedRoutes.filter((item) => { + if (item.name === route.name) index = state.visitedRoutes.indexOf(item) + return item.meta.affix || index >= state.visitedRoutes.indexOf(item) + }) + }, + delAllVisitedRoutes(state) { + state.visitedRoutes = state.visitedRoutes.filter((item) => item.meta.affix) + }, + updateVisitedRoute(state, route) { + state.visitedRoutes.forEach((item) => { + if (item.path === route.path) item = Object.assign(item, route) + }) + }, +} +const actions = { + addVisitedRoute({ commit }, route) { + commit('addVisitedRoute', route) + }, + async delRoute({ dispatch, state }, route) { + await dispatch('delVisitedRoute', route) + return { + visitedRoutes: [...state.visitedRoutes], + } + }, + delVisitedRoute({ commit, state }, route) { + commit('delVisitedRoute', route) + return [...state.visitedRoutes] + }, + async delOthersRoutes({ dispatch, state }, route) { + await dispatch('delOthersVisitedRoute', route) + return { + visitedRoutes: [...state.visitedRoutes], + } + }, + async delLeftRoutes({ dispatch, state }, route) { + await dispatch('delLeftVisitedRoute', route) + return { + visitedRoutes: [...state.visitedRoutes], + } + }, + async delRightRoutes({ dispatch, state }, route) { + await dispatch('delRightVisitedRoute', route) + return { + visitedRoutes: [...state.visitedRoutes], + } + }, + delOthersVisitedRoute({ commit, state }, route) { + commit('delOthersVisitedRoute', route) + return [...state.visitedRoutes] + }, + delLeftVisitedRoute({ commit, state }, route) { + commit('delLeftVisitedRoute', route) + return [...state.visitedRoutes] + }, + delRightVisitedRoute({ commit, state }, route) { + commit('delRightVisitedRoute', route) + return [...state.visitedRoutes] + }, + async delAllRoutes({ dispatch, state }, route) { + await dispatch('delAllVisitedRoutes', route) + return { + visitedRoutes: [...state.visitedRoutes], + } + }, + delAllVisitedRoutes({ commit, state }) { + commit('delAllVisitedRoutes') + return [...state.visitedRoutes] + }, + updateVisitedRoute({ commit }, route) { + commit('updateVisitedRoute', route) + }, +} +export default { state, getters, mutations, actions } diff --git a/src/store/modules/user.js b/src/store/modules/user.js index f41858783..a53d33f18 100644 --- a/src/store/modules/user.js +++ b/src/store/modules/user.js @@ -1,12 +1,108 @@ /** + * @author chuzhixin 1204505056@qq.com (不想保留author可删除) * @description 登录、获取用户信息、退出登录、清除accessToken逻辑,不建议修改 */ import Vue from 'vue' +import { getUserInfo, login, logout } from '@/api/user' +import { + getAccessToken, + removeAccessToken, + setAccessToken, +} from '@/utils/accessToken' +import { resetRouter } from '@/router' +import { title, tokenName, routes } from '@/config' -const state = () => ({}) -const getters = {} -const mutations = {} -const actions = {} - +const state = () => ({ + accessToken: getAccessToken(), + username: '', + avatar: '', + permissions: [], +}) +const getters = { + accessToken: (state) => state.accessToken, + username: (state) => state.username, + avatar: (state) => state.avatar, + permissions: (state) => state.permissions, +} +const mutations = { + setAccessToken(state, accessToken) { + state.accessToken = accessToken + setAccessToken(accessToken) + }, + setUsername(state, username) { + state.username = username + }, + setAvatar(state, avatar) { + state.avatar = avatar + }, + setPermissions(state, permissions) { + state.permissions = permissions + }, +} +const actions = { + setPermissions({ commit }, permissions) { + commit('setPermissions', permissions) + }, + async login({ commit }, userInfo) { + // const { data } = await login(userInfo) + // const accessToken = data[tokenName] + const accessToken = 'test_20210420' + if (accessToken) { + commit('setAccessToken', accessToken) + const hour = new Date().getHours() + const thisTime = + hour < 8 + ? '早上好' + : hour <= 11 + ? '上午好' + : hour <= 13 + ? '中午好' + : hour < 18 + ? '下午好' + : '晚上好' + Vue.prototype.$baseNotify(`欢迎登录${title}`, `${thisTime}!`) + } else { + Vue.prototype.$baseMessage( + `登录接口异常,未正确返回${tokenName}...`, + 'error' + ) + } + }, + async getUserInfo({ commit, state }) { + // const { data } = await getUserInfo(state.accessToken) + const data = { + permissions: ['admin'], + username: 'admin', + 'avatar|1': [ + 'https://i.gtimg.cn/club/item/face/img/2/15922_100.gif', + 'https://i.gtimg.cn/club/item/face/img/8/15918_100.gif', + ], + } + if (!data) { + Vue.prototype.$baseMessage('验证失败,请重新登录...', 'error') + return false + } + let { permissions, username, avatar } = data + if (permissions && username && Array.isArray(permissions)) { + commit('setPermissions', permissions) + commit('setUsername', username) + commit('setAvatar', avatar) + return permissions + } else { + Vue.prototype.$baseMessage('用户信息接口异常', 'error') + return false + } + }, + async logout({ dispatch }) { + await logout(state.accessToken) + await dispatch('resetAccessToken') + await resetRouter() + }, + resetAccessToken({ commit }) { + commit('setPermissions', []) + commit('setAccessToken', '') + removeAccessToken() + }, +} export default { state, getters, mutations, actions } diff --git a/src/assets/styles/element-variables.scss b/src/styles/element-variables.scss similarity index 100% rename from src/assets/styles/element-variables.scss rename to src/styles/element-variables.scss diff --git a/src/assets/styles/loading.scss b/src/styles/loading.scss similarity index 100% rename from src/assets/styles/loading.scss rename to src/styles/loading.scss diff --git a/src/assets/styles/normalize.scss b/src/styles/normalize.scss similarity index 100% rename from src/assets/styles/normalize.scss rename to src/styles/normalize.scss diff --git a/src/assets/styles/spinner/dots.css b/src/styles/spinner/dots.css similarity index 100% rename from src/assets/styles/spinner/dots.css rename to src/styles/spinner/dots.css diff --git a/src/assets/styles/spinner/gauge.css b/src/styles/spinner/gauge.css similarity index 100% rename from src/assets/styles/spinner/gauge.css rename to src/styles/spinner/gauge.css diff --git a/src/assets/styles/spinner/inner-circles.css b/src/styles/spinner/inner-circles.css similarity index 100% rename from src/assets/styles/spinner/inner-circles.css rename to src/styles/spinner/inner-circles.css diff --git a/src/assets/styles/spinner/plus.css b/src/styles/spinner/plus.css similarity index 100% rename from src/assets/styles/spinner/plus.css rename to src/styles/spinner/plus.css diff --git a/src/assets/styles/themes/default.scss b/src/styles/themes/default.scss similarity index 100% rename from src/assets/styles/themes/default.scss rename to src/styles/themes/default.scss diff --git a/src/assets/styles/transition.scss b/src/styles/transition.scss similarity index 76% rename from src/assets/styles/transition.scss rename to src/styles/transition.scss index 91409e569..718685523 100644 --- a/src/assets/styles/transition.scss +++ b/src/styles/transition.scss @@ -1,5 +1,4 @@ /** - * @author chuzhixin 1204505056@qq.com (不想保留author可删除) * @description vue过渡动画 */ diff --git a/src/assets/styles/vab.scss b/src/styles/vab.scss similarity index 100% rename from src/assets/styles/vab.scss rename to src/styles/vab.scss diff --git a/src/assets/styles/variables.scss b/src/styles/variables.scss similarity index 100% rename from src/assets/styles/variables.scss rename to src/styles/variables.scss diff --git a/src/utils/accessToken.js b/src/utils/accessToken.js new file mode 100644 index 000000000..1c79c78fd --- /dev/null +++ b/src/utils/accessToken.js @@ -0,0 +1,59 @@ +import { storage, tokenTableName } from '@/config' + +/** + * @author chuzhixin 1204505056@qq.com (不想保留author可删除) + * @description 获取accessToken + * @returns {string|ActiveX.IXMLDOMNode|Promise|any|IDBRequest|MediaKeyStatus|FormDataEntryValue|Function|Promise} + */ +export function getAccessToken() { + if (storage) { + if ('localStorage' === storage) { + return localStorage.getItem(tokenTableName) + } else if ('sessionStorage' === storage) { + return sessionStorage.getItem(tokenTableName) + } else { + return localStorage.getItem(tokenTableName) + } + } else { + return localStorage.getItem(tokenTableName) + } +} + +/** + * @author chuzhixin 1204505056@qq.com (不想保留author可删除) + * @description 存储accessToken + * @param accessToken + * @returns {void|*} + */ +export function setAccessToken(accessToken) { + if (storage) { + if ('localStorage' === storage) { + return localStorage.setItem(tokenTableName, accessToken) + } else if ('sessionStorage' === storage) { + return sessionStorage.setItem(tokenTableName, accessToken) + } else { + return localStorage.setItem(tokenTableName, accessToken) + } + } else { + return localStorage.setItem(tokenTableName, accessToken) + } +} + +/** + * @author chuzhixin 1204505056@qq.com (不想保留author可删除) + * @description 移除accessToken + * @returns {void|Promise} + */ +export function removeAccessToken() { + if (storage) { + if ('localStorage' === storage) { + return localStorage.removeItem(tokenTableName) + } else if ('sessionStorage' === storage) { + return sessionStorage.clear() + } else { + return localStorage.removeItem(tokenTableName) + } + } else { + return localStorage.removeItem(tokenTableName) + } +} diff --git a/src/utils/clipboard.js b/src/utils/clipboard.js new file mode 100644 index 000000000..20a19b7d5 --- /dev/null +++ b/src/utils/clipboard.js @@ -0,0 +1,31 @@ +import Vue from 'vue' +import Clipboard from 'clipboard' + +function clipboardSuccess() { + Vue.prototype.$baseMessage('复制成功', 'success') +} + +function clipboardError() { + Vue.prototype.$baseMessage('复制失败', 'error') +} + +/** + * @author chuzhixin 1204505056@qq.com (不想保留author可删除) + * @description 复制数据 + * @param text + * @param event + */ +export default function handleClipboard(text, event) { + const clipboard = new Clipboard(event.target, { + text: () => text, + }) + clipboard.on('success', () => { + clipboardSuccess() + clipboard.destroy() + }) + clipboard.on('error', () => { + clipboardError() + clipboard.destroy() + }) + clipboard.onClick(event) +} diff --git a/src/utils/encrypt.js b/src/utils/encrypt.js new file mode 100644 index 000000000..9856991b0 --- /dev/null +++ b/src/utils/encrypt.js @@ -0,0 +1,46 @@ +import JSEncrypt from 'jsencrypt' +import { getPublicKey } from '@/api/publicKey' + +const privateKey = + 'MIICdwIBADANBgkqhkiG9w0BAQEFAASCAmEwggJdAgEAAoGBAMFPa+v52FkSUXvcUnrGI/XzW3EpZRI0s9BCWJ3oNQmEYA5luWW5p8h0uadTIoTyYweFPdH4hveyxlwmS7oefvbIdiP+o+QIYW/R4Wjsb4Yl8MhR4PJqUE3RCy6IT9fM8ckG4kN9ECs6Ja8fQFc6/mSl5dJczzJO3k1rWMBhKJD/AgMBAAECgYEAucMakH9dWeryhrYoRHcXo4giPVJsH9ypVt4KzmOQY/7jV7KFQK3x//27UoHfUCak51sxFw9ek7UmTPM4HjikA9LkYeE7S381b4QRvFuf3L6IbMP3ywJnJ8pPr2l5SqQ00W+oKv+w/VmEsyUHr+k4Z+4ik+FheTkVWp566WbqFsECQQDjYaMcaKw3j2Zecl8T6eUe7fdaRMIzp/gcpPMfT/9rDzIQk+7ORvm1NI9AUmFv/FAlfpuAMrdL2n7p9uznWb7RAkEA2aP934kbXg5bdV0R313MrL+7WTK/qdcYxATUbMsMuWWQBoS5irrt80WCZbG48hpocJavLNjbtrjmUX3CuJBmzwJAOJg8uP10n/+ZQzjEYXh+BszEHDuw+pp8LuT/fnOy5zrJA0dO0RjpXijO3vuiNPVgHXT9z1LQPJkNrb5ACPVVgQJBALPeb4uV0bNrJDUb5RB4ghZnIxv18CcaqNIft7vuGCcFBAIPIRTBprR+RuVq+xHDt3sNXdsvom4h49+Hky1b0ksCQBBwUtVaqH6ztCtwUF1j2c/Zcrt5P/uN7IHAd44K0gIJc1+Csr3qPG+G2yoqRM8KVqLI8Z2ZYn9c+AvEE+L9OQY=' + +/** + * @author chuzhixin 1204505056@qq.com (不想保留author可删除) + * @description RSA加密 + * @param data + * @returns {Promise<{param: PromiseLike}|*>} + */ +export async function encryptedData(data) { + let publicKey = '' + const res = await getPublicKey() + publicKey = res.data.publicKey + if (res.data.mockServer) { + publicKey = '' + } + if (publicKey == '') { + return data + } + const encrypt = new JSEncrypt() + encrypt.setPublicKey( + `-----BEGIN PUBLIC KEY-----${publicKey}-----END PUBLIC KEY-----` + ) + data = encrypt.encrypt(JSON.stringify(data)) + return { + param: data, + } +} + +/** + * @author chuzhixin 1204505056@qq.com (不想保留author可删除) + * @description RSA解密 + * @param data + * @returns {PromiseLike} + */ +export function decryptedData(data) { + const decrypt = new JSEncrypt() + decrypt.setPrivateKey( + `-----BEGIN RSA PRIVATE KEY-----${privateKey}-----END RSA PRIVATE KEY-----` + ) + data = decrypt.decrypt(JSON.stringify(data)) + return data +} diff --git a/src/utils/errorLog.js b/src/utils/errorLog.js new file mode 100644 index 000000000..07a836c31 --- /dev/null +++ b/src/utils/errorLog.js @@ -0,0 +1,25 @@ +import Vue from 'vue' +import store from '@/store' +import { isArray, isString } from '@/utils/validate' +import { errorLog } from '@/config' + +const needErrorLog = errorLog +const checkNeed = () => { + const env = process.env.NODE_ENV + if (isString(needErrorLog)) { + return env === needErrorLog + } + if (isArray(needErrorLog)) { + return needErrorLog.includes(env) + } + return false +} +if (checkNeed()) { + Vue.config.errorHandler = (err, vm, info) => { + console.error('vue-admin-beautiful错误拦截:', err, vm, info) + const url = window.location.href + Vue.nextTick(() => { + store.dispatch('errorLog/addErrorLog', { err, vm, info, url }) + }) + } +} diff --git a/src/utils/handleRoutes.js b/src/utils/handleRoutes.js new file mode 100644 index 000000000..c95ae9229 --- /dev/null +++ b/src/utils/handleRoutes.js @@ -0,0 +1,63 @@ +/** + * @author chuzhixin 1204505056@qq.com (不想保留author可删除) + * @description all模式渲染后端返回路由 + * @param constantRoutes + * @returns {*} + */ +export function convertRouter(asyncRoutes) { + return asyncRoutes.map((route) => { + if (route.component) { + if (route.component === 'Layout') { + route.component = (resolve) => require(['@/layouts'], resolve) + } else if (route.component === 'EmptyLayout') { + route.component = (resolve) => + require(['@/layouts/EmptyLayout'], resolve) + } else { + const index = route.component.indexOf('views') + const path = + index > 0 ? route.component.slice(index) : `views/${route.component}` + route.component = (resolve) => require([`@/${path}`], resolve) + } + } + if (route.children && route.children.length) + route.children = convertRouter(route.children) + if (route.children && route.children.length === 0) delete route.children + return route + }) +} + +/** + * @author chuzhixin 1204505056@qq.com (不想保留author可删除) + * @description 判断当前路由是否包含权限 + * @param permissions + * @param route + * @returns {boolean|*} + */ +function hasPermission(permissions, route) { + if (route.meta && route.meta.permissions) { + return permissions.some((role) => route.meta.permissions.includes(role)) + } else { + return true + } +} + +/** + * @author chuzhixin 1204505056@qq.com (不想保留author可删除) + * @description intelligence模式根据permissions数组拦截路由 + * @param routes + * @param permissions + * @returns {[]} + */ +export function filterAsyncRoutes(routes, permissions) { + const finallyRoutes = [] + routes.forEach((route) => { + const item = { ...route } + if (hasPermission(permissions, item)) { + if (item.children) { + item.children = filterAsyncRoutes(item.children, permissions) + } + finallyRoutes.push(item) + } + }) + return finallyRoutes +} diff --git a/src/utils/index.js b/src/utils/index.js new file mode 100644 index 000000000..80e89c1ad --- /dev/null +++ b/src/utils/index.js @@ -0,0 +1,266 @@ +/** + * @author chuzhixin 1204505056@qq.com (不想保留author可删除) + * @description 格式化时间 + * @param time + * @param cFormat + * @returns {string|null} + */ +export function parseTime(time, cFormat) { + if (arguments.length === 0) { + return null + } + const format = cFormat || '{y}-{m}-{d} {h}:{i}:{s}' + let date + if (typeof time === 'object') { + date = time + } else { + if (typeof time === 'string' && /^[0-9]+$/.test(time)) { + time = parseInt(time) + } + if (typeof time === 'number' && time.toString().length === 10) { + time = time * 1000 + } + date = new Date(time) + } + const formatObj = { + y: date.getFullYear(), + m: date.getMonth() + 1, + d: date.getDate(), + h: date.getHours(), + i: date.getMinutes(), + s: date.getSeconds(), + a: date.getDay(), + } + const time_str = format.replace(/{(y|m|d|h|i|s|a)+}/g, (result, key) => { + let value = formatObj[key] + if (key === 'a') { + return ['日', '一', '二', '三', '四', '五', '六'][value] + } + if (result.length > 0 && value < 10) { + value = '0' + value + } + return value || 0 + }) + return time_str +} + +/** + * @author chuzhixin 1204505056@qq.com (不想保留author可删除) + * @description 格式化时间 + * @param time + * @param option + * @returns {string} + */ +export function formatTime(time, option) { + if (('' + time).length === 10) { + time = parseInt(time) * 1000 + } else { + time = +time + } + const d = new Date(time) + const now = Date.now() + + const diff = (now - d) / 1000 + + if (diff < 30) { + return '刚刚' + } else if (diff < 3600) { + // less 1 hour + return Math.ceil(diff / 60) + '分钟前' + } else if (diff < 3600 * 24) { + return Math.ceil(diff / 3600) + '小时前' + } else if (diff < 3600 * 24 * 2) { + return '1天前' + } + if (option) { + return parseTime(time, option) + } else { + return ( + d.getMonth() + + 1 + + '月' + + d.getDate() + + '日' + + d.getHours() + + '时' + + d.getMinutes() + + '分' + ) + } +} + +/** + * @author chuzhixin 1204505056@qq.com (不想保留author可删除) + * @description 将url请求参数转为json格式 + * @param url + * @returns {{}|any} + */ +export function paramObj(url) { + const search = url.split('?')[1] + if (!search) { + return {} + } + return JSON.parse( + '{"' + + decodeURIComponent(search) + .replace(/"/g, '\\"') + .replace(/&/g, '","') + .replace(/=/g, '":"') + .replace(/\+/g, ' ') + + '"}' + ) +} + +/** + * @author chuzhixin 1204505056@qq.com (不想保留author可删除) + * @description 父子关系的数组转换成树形结构数据 + * @param data + * @returns {*} + */ +export function translateDataToTree(data) { + const parent = data.filter( + (value) => value.parentId === 'undefined' || value.parentId == null + ) + const children = data.filter( + (value) => value.parentId !== 'undefined' && value.parentId != null + ) + const translator = (parent, children) => { + parent.forEach((parent) => { + children.forEach((current, index) => { + if (current.parentId === parent.id) { + const temp = JSON.parse(JSON.stringify(children)) + temp.splice(index, 1) + translator([current], temp) + typeof parent.children !== 'undefined' + ? parent.children.push(current) + : (parent.children = [current]) + } + }) + }) + } + translator(parent, children) + return parent +} + +/** + * @author chuzhixin 1204505056@qq.com (不想保留author可删除) + * @description 树形结构数据转换成父子关系的数组 + * @param data + * @returns {[]} + */ +export function translateTreeToData(data) { + const result = [] + data.forEach((item) => { + const loop = (data) => { + result.push({ + id: data.id, + name: data.name, + parentId: data.parentId, + }) + const child = data.children + if (child) { + for (let i = 0; i < child.length; i++) { + loop(child[i]) + } + } + } + loop(item) + }) + return result +} + +/** + * @author chuzhixin 1204505056@qq.com (不想保留author可删除) + * @description 10位时间戳转换 + * @param time + * @returns {string} + */ +export function tenBitTimestamp(time) { + const date = new Date(time * 1000) + const y = date.getFullYear() + let m = date.getMonth() + 1 + m = m < 10 ? '' + m : m + let d = date.getDate() + d = d < 10 ? '' + d : d + let h = date.getHours() + h = h < 10 ? '0' + h : h + let minute = date.getMinutes() + let second = date.getSeconds() + minute = minute < 10 ? '0' + minute : minute + second = second < 10 ? '0' + second : second + return y + '年' + m + '月' + d + '日 ' + h + ':' + minute + ':' + second //组合 +} + +/** + * @author chuzhixin 1204505056@qq.com (不想保留author可删除) + * @description 13位时间戳转换 + * @param time + * @returns {string} + */ +export function thirteenBitTimestamp(time) { + const date = new Date(time / 1) + const y = date.getFullYear() + let m = date.getMonth() + 1 + m = m < 10 ? '' + m : m + let d = date.getDate() + d = d < 10 ? '' + d : d + let h = date.getHours() + h = h < 10 ? '0' + h : h + let minute = date.getMinutes() + let second = date.getSeconds() + minute = minute < 10 ? '0' + minute : minute + second = second < 10 ? '0' + second : second + return y + '年' + m + '月' + d + '日 ' + h + ':' + minute + ':' + second //组合 +} + +/** + * @author chuzhixin 1204505056@qq.com (不想保留author可删除) + * @description 获取随机id + * @param length + * @returns {string} + */ +export function uuid(length = 32) { + const num = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890' + let str = '' + for (let i = 0; i < length; i++) { + str += num.charAt(Math.floor(Math.random() * num.length)) + } + return str +} + +/** + * @author chuzhixin 1204505056@qq.com (不想保留author可删除) + * @description m到n的随机数 + * @param m + * @param n + * @returns {number} + */ +export function random(m, n) { + return Math.floor(Math.random() * (m - n) + n) +} + +/** + * @author chuzhixin 1204505056@qq.com (不想保留author可删除) + * @description addEventListener + * @type {function(...[*]=)} + */ +export const on = (function () { + return function (element, event, handler, useCapture = false) { + if (element && event && handler) { + element.addEventListener(event, handler, useCapture) + } + } +})() + +/** + * @author chuzhixin 1204505056@qq.com (不想保留author可删除) + * @description removeEventListener + * @type {function(...[*]=)} + */ +export const off = (function () { + return function (element, event, handler, useCapture = false) { + if (element && event) { + element.removeEventListener(event, handler, useCapture) + } + } +})() diff --git a/src/utils/pageTitle.js b/src/utils/pageTitle.js new file mode 100644 index 000000000..38334c3ca --- /dev/null +++ b/src/utils/pageTitle.js @@ -0,0 +1,14 @@ +import { title } from '@/config' + +/** + * @author chuzhixin 1204505056@qq.com (不想保留author可删除) + * @description 设置标题 + * @param pageTitle + * @returns {string} + */ +export default function getPageTitle(pageTitle) { + if (pageTitle) { + return `${pageTitle}-${title}` + } + return `${title}` +} diff --git a/src/utils/permission.js b/src/utils/permission.js new file mode 100644 index 000000000..88b3506c6 --- /dev/null +++ b/src/utils/permission.js @@ -0,0 +1,20 @@ +import store from '@/store' + +/** + * @author chuzhixin 1204505056@qq.com (不想保留author可删除) + * @description 检查权限 + * @param value + * @returns {boolean} + */ +export default function checkPermission(value) { + if (value && value instanceof Array && value.length > 0) { + const permissions = store.getters['user/permissions'] + const permissionPermissions = value + + return permissions.some((role) => { + return permissionPermissions.includes(role) + }) + } else { + return false + } +} diff --git a/src/utils/request.js b/src/utils/request.js new file mode 100644 index 000000000..272a731e4 --- /dev/null +++ b/src/utils/request.js @@ -0,0 +1,125 @@ +import Vue from 'vue' +import axios from 'axios' +import { + baseURL, + contentType, + debounce, + invalidCode, + noPermissionCode, + requestTimeout, + successCode, + tokenName, + loginInterception, +} from '@/config' +import store from '@/store' +import qs from 'qs' +import router from '@/router' +import { isArray } from '@/utils/validate' + +let loadingInstance + +/** + * @author chuzhixin 1204505056@qq.com (不想保留author可删除) + * @description 处理code异常 + * @param {*} code + * @param {*} msg + */ +const handleCode = (code, msg) => { + switch (code) { + case invalidCode: + Vue.prototype.$baseMessage(msg || `后端接口${code}异常`, 'error') + store.dispatch('user/resetAccessToken').catch(() => {}) + if (loginInterception) { + location.reload() + } + break + case noPermissionCode: + router.push({ path: '/401' }).catch(() => {}) + break + default: + Vue.prototype.$baseMessage(msg || `后端接口${code}异常`, 'error') + break + } +} + +const instance = axios.create({ + baseURL, + timeout: requestTimeout, + headers: { + 'Content-Type': contentType, + }, +}) + +instance.interceptors.request.use( + (config) => { + if (store.getters['user/accessToken']) { + config.headers[tokenName] = store.getters['user/accessToken'] + } + //这里会过滤所有为空、0、false的key,如果不需要请自行注释 + if (config.data) + config.data = Vue.prototype.$baseLodash.pickBy( + config.data, + Vue.prototype.$baseLodash.identity + ) + if ( + config.data && + config.headers['Content-Type'] === + 'application/x-www-form-urlencoded;charset=UTF-8' + ) + config.data = qs.stringify(config.data) + if (debounce.some((item) => config.url.includes(item))) + loadingInstance = Vue.prototype.$baseLoading() + return config + }, + (error) => { + return Promise.reject(error) + } +) + +instance.interceptors.response.use( + (response) => { + if (loadingInstance) loadingInstance.close() + + const { data, config } = response + const { code, msg } = data + // 操作正常Code数组 + const codeVerificationArray = isArray(successCode) + ? [...successCode] + : [...[successCode]] + // 是否操作正常 + if (codeVerificationArray.includes(code)) { + return data + } else { + handleCode(code, msg) + return Promise.reject( + 'vue-admin-beautiful请求异常拦截:' + + JSON.stringify({ url: config.url, code, msg }) || 'Error' + ) + } + }, + (error) => { + if (loadingInstance) loadingInstance.close() + const { response, message } = error + if (error.response && error.response.data) { + const { status, data } = response + handleCode(status, data.msg || message) + return Promise.reject(error) + } else { + let { message } = error + if (message === 'Network Error') { + message = '后端接口连接异常' + } + if (message.includes('timeout')) { + message = '后端接口请求超时' + } + if (message.includes('Request failed with status code')) { + const code = message.substr(message.length - 3) + message = '后端接口' + code + '异常' + } + Vue.prototype.$baseMessage(message || `后端接口未知异常`, 'error') + return Promise.reject(error) + } + } +) + +export default instance diff --git a/src/utils/static.js b/src/utils/static.js new file mode 100644 index 000000000..bd0abd975 --- /dev/null +++ b/src/utils/static.js @@ -0,0 +1,52 @@ +/** + * @author chuzhixin 1204505056@qq.com + * @description 导入所有 controller 模块,浏览器环境中自动输出controller文件夹下Mock接口,请勿修改。 + */ +import Mock from 'mockjs' +import { paramObj } from '@/utils' + +const mocks = [] +const files = require.context('../../mock/controller', false, /\.js$/) + +files.keys().forEach((key) => { + mocks.push(...files(key)) +}) + +export function mockXHR() { + Mock.XHR.prototype.proxy_send = Mock.XHR.prototype.send + Mock.XHR.prototype.send = function () { + if (this.custom.xhr) { + this.custom.xhr.withCredentials = this.withCredentials || false + + if (this.responseType) { + this.custom.xhr.responseType = this.responseType + } + } + this.proxy_send(...arguments) + } + + function XHRHttpRequst(respond) { + return function (options) { + let result + if (respond instanceof Function) { + const { body, type, url } = options + result = respond({ + method: type, + body: JSON.parse(body), + query: paramObj(url), + }) + } else { + result = respond + } + return Mock.mock(result) + } + } + + mocks.forEach((item) => { + Mock.mock( + new RegExp(item.url), + item.type || 'get', + XHRHttpRequst(item.response) + ) + }) +} diff --git a/src/utils/vab.js b/src/utils/vab.js new file mode 100644 index 000000000..e594e9ade --- /dev/null +++ b/src/utils/vab.js @@ -0,0 +1,180 @@ +import { loadingText, messageDuration, title } from '@/config' +import * as lodash from 'lodash' +import { Loading, Message, MessageBox, Notification } from 'element-ui' +import store from '@/store' +import { getAccessToken } from '@/utils/accessToken' + +const accessToken = store.getters['user/accessToken'] +const layout = store.getters['settings/layout'] + +const install = (Vue, opts = {}) => { + /* 全局accessToken */ + Vue.prototype.$baseAccessToken = () => { + return accessToken || getAccessToken() + } + /* 全局标题 */ + Vue.prototype.$baseTitle = (() => { + return title + })() + /* 全局加载层 */ + Vue.prototype.$baseLoading = (index, text) => { + let loading + if (!index) { + loading = Loading.service({ + lock: true, + text: text || loadingText, + background: 'hsla(0,0%,100%,.8)', + }) + } else { + loading = Loading.service({ + lock: true, + text: text || loadingText, + spinner: 'vab-loading-type' + index, + background: 'hsla(0,0%,100%,.8)', + }) + } + return loading + } + /* 全局多彩加载层 */ + Vue.prototype.$baseColorfullLoading = (index, text) => { + let loading + if (!index) { + loading = Loading.service({ + lock: true, + text: text || loadingText, + spinner: 'dots-loader', + background: 'hsla(0,0%,100%,.8)', + }) + } else { + switch (index) { + case 1: + index = 'dots' + break + case 2: + index = 'gauge' + break + case 3: + index = 'inner-circles' + break + case 4: + index = 'plus' + break + } + loading = Loading.service({ + lock: true, + text: text || loadingText, + spinner: index + '-loader', + background: 'hsla(0,0%,100%,.8)', + }) + } + return loading + } + /* 全局Message */ + Vue.prototype.$baseMessage = (message, type) => { + Message({ + offset: 60, + showClose: true, + message: message, + type: type, + dangerouslyUseHTMLString: true, + duration: messageDuration, + }) + } + + /* 全局Alert */ + Vue.prototype.$baseAlert = (content, title, callback) => { + MessageBox.alert(content, title || '温馨提示', { + confirmButtonText: '确定', + dangerouslyUseHTMLString: true, + callback: (action) => { + if (callback) { + callback() + } + }, + }) + } + + /* 全局Confirm */ + Vue.prototype.$baseConfirm = (content, title, callback1, callback2) => { + MessageBox.confirm(content, title || '温馨提示', { + confirmButtonText: '确定', + cancelButtonText: '取消', + closeOnClickModal: false, + type: 'warning', + }) + .then(() => { + if (callback1) { + callback1() + } + }) + .catch(() => { + if (callback2) { + callback2() + } + }) + } + + /* 全局Notification */ + Vue.prototype.$baseNotify = (message, title, type, position) => { + Notification({ + title: title, + message: message, + position: position || 'top-right', + type: type || 'success', + duration: messageDuration, + }) + } + + /* 全局TableHeight */ + Vue.prototype.$baseTableHeight = (formType) => { + let height = window.innerHeight + let paddingHeight = 400 + const formHeight = 50 + + if (layout === 'vertical') { + paddingHeight = 365 + } + + if ('number' == typeof formType) { + height = height - paddingHeight - formHeight * formType + } else { + height = height - paddingHeight + } + return height + } + + /* 全局map图层 */ + Vue.prototype.$baseMap = () => { + return new maptalks.Map('map', { + center: [116.41348403785, 39.910843952376], + zoom: 12, + minZoom: 1, + maxZoom: 19, + spatialReference: { + projection: 'baidu', + }, + attribution: { + content: '© vue-admin-beautiful', + }, + baseLayer: new maptalks.TileLayer('base', { + cssFilter: 'sepia(100%) invert(90%)', + urlTemplate: + 'http://online{s}.map.bdimg.com/onlinelabel/?qt=tile&x={x}&y={y}&z={z}&styles=pl&scaler=1&p=1', + subdomains: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9], + attribution: + '© Baidu', + }), + }) + } + + /* 全局lodash */ + Vue.prototype.$baseLodash = lodash + /* 全局事件总线 */ + Vue.prototype.$baseEventBus = new Vue() +} + +if (typeof window !== 'undefined' && window.Vue) { + install(window.Vue) +} + +export default install diff --git a/src/utils/validate.js b/src/utils/validate.js new file mode 100644 index 000000000..46a40f89f --- /dev/null +++ b/src/utils/validate.js @@ -0,0 +1,212 @@ +/** + * @author chuzhixin 1204505056@qq.com (不想保留author可删除) + * @description 判读是否为外链 + * @param path + * @returns {boolean} + */ +export function isExternal(path) { + return /^(https?:|mailto:|tel:)/.test(path) +} + +/** + * @author chuzhixin 1204505056@qq.com (不想保留author可删除) + * @description 校验密码是否小于6位 + * @param str + * @returns {boolean} + */ +export function isPassword(str) { + return str.length >= 6 +} + +/** + * @author chuzhixin 1204505056@qq.com (不想保留author可删除) + * @description 判断是否为数字 + * @param value + * @returns {boolean} + */ +export function isNumber(value) { + const reg = /^[0-9]*$/ + return reg.test(value) +} + +/** + * @author chuzhixin 1204505056@qq.com (不想保留author可删除) + * @description 判断是否是名称 + * @param value + * @returns {boolean} + */ +export function isName(value) { + const reg = /^[\u4e00-\u9fa5a-zA-Z0-9]+$/ + return reg.test(value) +} + +/** + * @author chuzhixin 1204505056@qq.com (不想保留author可删除) + * @description 判断是否为IP + * @param ip + * @returns {boolean} + */ +export function isIP(ip) { + const reg = /^(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])$/ + return reg.test(ip) +} + +/** + * @author chuzhixin 1204505056@qq.com (不想保留author可删除) + * @description 判断是否是传统网站 + * @param url + * @returns {boolean} + */ +export function isUrl(url) { + const reg = /^(https?|ftp):\/\/([a-zA-Z0-9.-]+(:[a-zA-Z0-9.&%$-]+)*@)*((25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9][0-9]?)(\.(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9]?[0-9])){3}|([a-zA-Z0-9-]+\.)*[a-zA-Z0-9-]+\.(com|edu|gov|int|mil|net|org|biz|arpa|info|name|pro|aero|coop|museum|[a-zA-Z]{2}))(:[0-9]+)*(\/($|[a-zA-Z0-9.,?'\\+&%$#=~_-]+))*$/ + return reg.test(url) +} + +/** + * @author chuzhixin 1204505056@qq.com (不想保留author可删除) + * @description 判断是否是小写字母 + * @param str + * @returns {boolean} + */ +export function isLowerCase(str) { + const reg = /^[a-z]+$/ + return reg.test(str) +} + +/** + * @author chuzhixin 1204505056@qq.com (不想保留author可删除) + * @description 判断是否是大写字母 + * @param str + * @returns {boolean} + */ +export function isUpperCase(str) { + const reg = /^[A-Z]+$/ + return reg.test(str) +} + +/** + * @author chuzhixin 1204505056@qq.com (不想保留author可删除) + * @description 判断是否是大写字母开头 + * @param str + * @returns {boolean} + */ +export function isAlphabets(str) { + const reg = /^[A-Za-z]+$/ + return reg.test(str) +} + +/** + * @author chuzhixin 1204505056@qq.com (不想保留author可删除) + * @description 判断是否是字符串 + * @param str + * @returns {boolean} + */ +export function isString(str) { + return typeof str === 'string' || str instanceof String +} + +/** + * @author chuzhixin 1204505056@qq.com (不想保留author可删除) + * @description 判断是否是数组 + * @param arg + * @returns {arg is any[]|boolean} + */ +export function isArray(arg) { + if (typeof Array.isArray === 'undefined') { + return Object.prototype.toString.call(arg) === '[object Array]' + } + return Array.isArray(arg) +} + +/** + * @author chuzhixin 1204505056@qq.com (不想保留author可删除) + * @description 判断是否是端口号 + * @param str + * @returns {boolean} + */ +export function isPort(str) { + const reg = /^([0-9]|[1-9]\d|[1-9]\d{2}|[1-9]\d{3}|[1-5]\d{4}|6[0-4]\d{3}|65[0-4]\d{2}|655[0-2]\d|6553[0-5])$/ + return reg.test(str) +} + +/** + * @author chuzhixin 1204505056@qq.com (不想保留author可删除) + * @description 判断是否是手机号 + * @param str + * @returns {boolean} + */ +export function isPhone(str) { + const reg = /^1\d{10}$/ + return reg.test(str) +} + +/** + * @author chuzhixin 1204505056@qq.com (不想保留author可删除) + * @description 判断是否是身份证号(第二代) + * @param str + * @returns {boolean} + */ +export function isIdCard(str) { + const reg = /^[1-9]\d{5}(18|19|([23]\d))\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\d{3}[0-9Xx]$/ + return reg.test(str) +} + +/** + * @author chuzhixin 1204505056@qq.com (不想保留author可删除) + * @description 判断是否是邮箱 + * @param str + * @returns {boolean} + */ +export function isEmail(str) { + const reg = /^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/ + return reg.test(str) +} + +/** + * @author chuzhixin 1204505056@qq.com (不想保留author可删除) + * @description 判断是否中文 + * @param str + * @returns {boolean} + */ +export function isChina(str) { + const reg = /^[\u4E00-\u9FA5]{2,4}$/ + return reg.test(str) +} + +/** + * @author chuzhixin 1204505056@qq.com (不想保留author可删除) + * @description 判断是否为空 + * @param str + * @returns {boolean} + */ +export function isBlank(str) { + return ( + str == null || + false || + str === '' || + str.trim() === '' || + str.toLocaleLowerCase().trim() === 'null' + ) +} + +/** + * @author chuzhixin 1204505056@qq.com (不想保留author可删除) + * @description 判断是否为固话 + * @param str + * @returns {boolean} + */ +export function isTel(str) { + const reg = /^(400|800)([0-9\\-]{7,10})|(([0-9]{4}|[0-9]{3})(-| )?)?([0-9]{7,8})((-| |转)*([0-9]{1,4}))?$/ + return reg.test(str) +} + +/** + * @author chuzhixin 1204505056@qq.com (不想保留author可删除) + * @description 判断是否为数字且最多两位小数 + * @param str + * @returns {boolean} + */ +export function isNum(str) { + const reg = /^\d+(\.\d{1,2})?$/ + return reg.test(str) +} diff --git a/src/views/401.vue b/src/views/401.vue new file mode 100644 index 000000000..b09711a2e --- /dev/null +++ b/src/views/401.vue @@ -0,0 +1,296 @@ + + + + + diff --git a/src/views/404.vue b/src/views/404.vue new file mode 100644 index 000000000..9c261b691 --- /dev/null +++ b/src/views/404.vue @@ -0,0 +1,296 @@ + + + + + diff --git a/src/views/index/components/Plan.vue b/src/views/index/components/Plan.vue new file mode 100644 index 000000000..02ef9ae04 --- /dev/null +++ b/src/views/index/components/Plan.vue @@ -0,0 +1,87 @@ + + diff --git a/src/views/index/components/VersionInformation.vue b/src/views/index/components/VersionInformation.vue new file mode 100644 index 000000000..1df8fcf53 --- /dev/null +++ b/src/views/index/components/VersionInformation.vue @@ -0,0 +1,149 @@ + + + + + diff --git a/src/views/index/index.vue b/src/views/index/index.vue new file mode 100644 index 000000000..39f82f4e6 --- /dev/null +++ b/src/views/index/index.vue @@ -0,0 +1,958 @@ + + + + + diff --git a/src/views/login/index.vue b/src/views/login/index.vue new file mode 100644 index 000000000..dd9976441 --- /dev/null +++ b/src/views/login/index.vue @@ -0,0 +1,327 @@ + + + + + diff --git a/src/views/mall/goodsList/index.vue b/src/views/mall/goodsList/index.vue new file mode 100644 index 000000000..824c62ba7 --- /dev/null +++ b/src/views/mall/goodsList/index.vue @@ -0,0 +1,163 @@ + + + + diff --git a/src/views/mall/pay/components/Step1.vue b/src/views/mall/pay/components/Step1.vue new file mode 100644 index 000000000..202e906f9 --- /dev/null +++ b/src/views/mall/pay/components/Step1.vue @@ -0,0 +1,70 @@ + + + diff --git a/src/views/mall/pay/components/Step2.vue b/src/views/mall/pay/components/Step2.vue new file mode 100644 index 000000000..c64e5ddee --- /dev/null +++ b/src/views/mall/pay/components/Step2.vue @@ -0,0 +1,84 @@ + + + diff --git a/src/views/mall/pay/components/Step3.vue b/src/views/mall/pay/components/Step3.vue new file mode 100644 index 000000000..a504a1944 --- /dev/null +++ b/src/views/mall/pay/components/Step3.vue @@ -0,0 +1,101 @@ + + + diff --git a/src/views/mall/pay/index.vue b/src/views/mall/pay/index.vue new file mode 100644 index 000000000..e0543288c --- /dev/null +++ b/src/views/mall/pay/index.vue @@ -0,0 +1,60 @@ + + + + diff --git a/src/views/personalCenter/index.vue b/src/views/personalCenter/index.vue new file mode 100644 index 000000000..42b0fa291 --- /dev/null +++ b/src/views/personalCenter/index.vue @@ -0,0 +1,23 @@ + + + diff --git a/src/views/personnelManagement/menuManagement/components/MenuManagementEdit.vue b/src/views/personnelManagement/menuManagement/components/MenuManagementEdit.vue new file mode 100644 index 000000000..df23fdff5 --- /dev/null +++ b/src/views/personnelManagement/menuManagement/components/MenuManagementEdit.vue @@ -0,0 +1,71 @@ + + + diff --git a/src/views/personnelManagement/menuManagement/index.vue b/src/views/personnelManagement/menuManagement/index.vue new file mode 100644 index 000000000..260ebc7a8 --- /dev/null +++ b/src/views/personnelManagement/menuManagement/index.vue @@ -0,0 +1,173 @@ + + + diff --git a/src/views/personnelManagement/roleManagement/components/RoleManagementEdit.vue b/src/views/personnelManagement/roleManagement/components/RoleManagementEdit.vue new file mode 100644 index 000000000..dc3a9fdab --- /dev/null +++ b/src/views/personnelManagement/roleManagement/components/RoleManagementEdit.vue @@ -0,0 +1,69 @@ + + + diff --git a/src/views/personnelManagement/roleManagement/index.vue b/src/views/personnelManagement/roleManagement/index.vue new file mode 100644 index 000000000..5fcf65896 --- /dev/null +++ b/src/views/personnelManagement/roleManagement/index.vue @@ -0,0 +1,150 @@ + + + diff --git a/src/views/personnelManagement/userManagement/components/UserManagementEdit.vue b/src/views/personnelManagement/userManagement/components/UserManagementEdit.vue new file mode 100644 index 000000000..fe4487260 --- /dev/null +++ b/src/views/personnelManagement/userManagement/components/UserManagementEdit.vue @@ -0,0 +1,95 @@ + + + diff --git a/src/views/personnelManagement/userManagement/index.vue b/src/views/personnelManagement/userManagement/index.vue new file mode 100644 index 000000000..e44e687f4 --- /dev/null +++ b/src/views/personnelManagement/userManagement/index.vue @@ -0,0 +1,166 @@ + + + diff --git a/src/views/register/index.vue b/src/views/register/index.vue new file mode 100644 index 000000000..7cb514fe4 --- /dev/null +++ b/src/views/register/index.vue @@ -0,0 +1,377 @@ + + + diff --git a/src/views/test/index.vue b/src/views/test/index.vue new file mode 100644 index 000000000..cd3fc662d --- /dev/null +++ b/src/views/test/index.vue @@ -0,0 +1,16 @@ + + diff --git a/src/views/vab/backToTop/index.vue b/src/views/vab/backToTop/index.vue new file mode 100644 index 000000000..49c101ac7 --- /dev/null +++ b/src/views/vab/backToTop/index.vue @@ -0,0 +1,22 @@ + + + + diff --git a/src/views/vab/editor/index.vue b/src/views/vab/editor/index.vue new file mode 100644 index 000000000..7e931a057 --- /dev/null +++ b/src/views/vab/editor/index.vue @@ -0,0 +1,156 @@ + + + + diff --git a/src/views/vab/element/index.vue b/src/views/vab/element/index.vue new file mode 100644 index 000000000..5d44c4596 --- /dev/null +++ b/src/views/vab/element/index.vue @@ -0,0 +1,254 @@ + + + + + diff --git a/src/views/vab/errorLog/components/ErrorTest.vue b/src/views/vab/errorLog/components/ErrorTest.vue new file mode 100644 index 000000000..a64210faa --- /dev/null +++ b/src/views/vab/errorLog/components/ErrorTest.vue @@ -0,0 +1,13 @@ + + + diff --git a/src/views/vab/errorLog/index.vue b/src/views/vab/errorLog/index.vue new file mode 100644 index 000000000..09593e740 --- /dev/null +++ b/src/views/vab/errorLog/index.vue @@ -0,0 +1,28 @@ + + + diff --git a/src/views/vab/form/index.vue b/src/views/vab/form/index.vue new file mode 100644 index 000000000..64d96d3cf --- /dev/null +++ b/src/views/vab/form/index.vue @@ -0,0 +1,111 @@ + + + diff --git a/src/views/vab/icon/colorfulIcon.vue b/src/views/vab/icon/colorfulIcon.vue new file mode 100644 index 000000000..d1890b98c --- /dev/null +++ b/src/views/vab/icon/colorfulIcon.vue @@ -0,0 +1,155 @@ + + + + + diff --git a/src/views/vab/icon/index.vue b/src/views/vab/icon/index.vue new file mode 100644 index 000000000..aad8cca14 --- /dev/null +++ b/src/views/vab/icon/index.vue @@ -0,0 +1,140 @@ + + + + + diff --git a/src/views/vab/icon/remixIcon.vue b/src/views/vab/icon/remixIcon.vue new file mode 100644 index 000000000..e8e376892 --- /dev/null +++ b/src/views/vab/icon/remixIcon.vue @@ -0,0 +1,153 @@ + + + + + diff --git a/src/views/vab/loading/index.vue b/src/views/vab/loading/index.vue new file mode 100644 index 000000000..94ce9f781 --- /dev/null +++ b/src/views/vab/loading/index.vue @@ -0,0 +1,71 @@ + + + + + diff --git a/src/views/vab/lodash/index.vue b/src/views/vab/lodash/index.vue new file mode 100644 index 000000000..8d326b594 --- /dev/null +++ b/src/views/vab/lodash/index.vue @@ -0,0 +1,211 @@ + + + + diff --git a/src/views/vab/magnifier/index.vue b/src/views/vab/magnifier/index.vue new file mode 100644 index 000000000..460dce4d9 --- /dev/null +++ b/src/views/vab/magnifier/index.vue @@ -0,0 +1,35 @@ + + + diff --git a/src/views/vab/map/index.vue b/src/views/vab/map/index.vue new file mode 100644 index 000000000..c86897780 --- /dev/null +++ b/src/views/vab/map/index.vue @@ -0,0 +1,115 @@ + + + + diff --git a/src/views/vab/markdownEditor/index.vue b/src/views/vab/markdownEditor/index.vue new file mode 100644 index 000000000..48989a15e --- /dev/null +++ b/src/views/vab/markdownEditor/index.vue @@ -0,0 +1,51 @@ + + + diff --git a/src/views/vab/more/index.vue b/src/views/vab/more/index.vue new file mode 100644 index 000000000..1c05e9dc0 --- /dev/null +++ b/src/views/vab/more/index.vue @@ -0,0 +1,119 @@ + + + + diff --git a/src/views/vab/nested/menu1/index.vue b/src/views/vab/nested/menu1/index.vue new file mode 100644 index 000000000..43702fcc9 --- /dev/null +++ b/src/views/vab/nested/menu1/index.vue @@ -0,0 +1,7 @@ + diff --git a/src/views/vab/nested/menu1/menu1-1/index.vue b/src/views/vab/nested/menu1/menu1-1/index.vue new file mode 100644 index 000000000..2560d5dad --- /dev/null +++ b/src/views/vab/nested/menu1/menu1-1/index.vue @@ -0,0 +1,13 @@ + + diff --git a/src/views/vab/nested/menu1/menu1-1/menu1-1-1/index.vue b/src/views/vab/nested/menu1/menu1-1/menu1-1-1/index.vue new file mode 100644 index 000000000..bcff7d3dc --- /dev/null +++ b/src/views/vab/nested/menu1/menu1-1/menu1-1-1/index.vue @@ -0,0 +1,15 @@ + + diff --git a/src/views/vab/permissions/index.vue b/src/views/vab/permissions/index.vue new file mode 100644 index 000000000..011a65548 --- /dev/null +++ b/src/views/vab/permissions/index.vue @@ -0,0 +1,156 @@ + + + diff --git a/src/views/vab/player/index.vue b/src/views/vab/player/index.vue new file mode 100644 index 000000000..504e10dd5 --- /dev/null +++ b/src/views/vab/player/index.vue @@ -0,0 +1,73 @@ + + + diff --git a/src/views/vab/smallComponents/index.vue b/src/views/vab/smallComponents/index.vue new file mode 100644 index 000000000..95c7328d7 --- /dev/null +++ b/src/views/vab/smallComponents/index.vue @@ -0,0 +1,110 @@ + + + + diff --git a/src/views/vab/table/components/TableEdit.vue b/src/views/vab/table/components/TableEdit.vue new file mode 100644 index 000000000..3e8d877e1 --- /dev/null +++ b/src/views/vab/table/components/TableEdit.vue @@ -0,0 +1,75 @@ + + + diff --git a/src/views/vab/table/index.vue b/src/views/vab/table/index.vue new file mode 100644 index 000000000..f9186c6ee --- /dev/null +++ b/src/views/vab/table/index.vue @@ -0,0 +1,263 @@ + + + diff --git a/src/views/vab/tree/index.vue b/src/views/vab/tree/index.vue new file mode 100644 index 000000000..565e5aecf --- /dev/null +++ b/src/views/vab/tree/index.vue @@ -0,0 +1,478 @@ + + + diff --git a/src/views/vab/upload/index.vue b/src/views/vab/upload/index.vue new file mode 100644 index 000000000..910718325 --- /dev/null +++ b/src/views/vab/upload/index.vue @@ -0,0 +1,34 @@ + + + diff --git a/src/views/vab/verify/index.vue b/src/views/vab/verify/index.vue new file mode 100644 index 000000000..899d7e3d5 --- /dev/null +++ b/src/views/vab/verify/index.vue @@ -0,0 +1,35 @@ + + + diff --git a/src/views/vab/webSocket/index.vue b/src/views/vab/webSocket/index.vue new file mode 100644 index 000000000..84b867d21 --- /dev/null +++ b/src/views/vab/webSocket/index.vue @@ -0,0 +1,87 @@ + + + diff --git a/vue.config.js b/vue.config.js index b8a835dbc..a92ace621 100644 --- a/vue.config.js +++ b/vue.config.js @@ -1,27 +1,48 @@ +/** + * @author chuzhixin 1204505056@qq.com (不想保留author可删除) + * @description cli配置 + */ + const path = require('path') const { publicPath, assetsDir, outputDir, + lintOnSave, transpileDependencies, title, - devPort + abbreviation, + devPort, + providePlugin, + build7z, + donation, } = require('./src/config') +const { webpackBarName, webpackBanner, donationConsole } = require('zx-layouts') +if (donation) donationConsole() const { version, author } = require('./package.json') +const Webpack = require('webpack') +const WebpackBar = require('webpackbar') +const FileManagerPlugin = require('filemanager-webpack-plugin') const dayjs = require('dayjs') +const date = dayjs().format('YYYY_M_D') const time = dayjs().format('YYYY-M-D HH:mm:ss') -process.env.VUE_APP_TITLE = title -process.env.VUE_APP_AUTHOR = author +process.env.VUE_APP_TITLE = title || 'vue-admin-beautiful' +process.env.VUE_APP_AUTHOR = author || 'chuzhixin 1204505056@qq.com' process.env.VUE_APP_UPDATE_TIME = time process.env.VUE_APP_VERSION = version const resolve = (dir) => path.join(__dirname, dir) +const mockServer = () => { + if (process.env.NODE_ENV === 'development') return require('./mock') + else return '' +} module.exports = { publicPath, assetsDir, outputDir, + lintOnSave, transpileDependencies, devServer: { hot: true, @@ -30,20 +51,26 @@ module.exports = { noInfo: false, overlay: { warnings: true, - errors: true - } + errors: true, + }, }, - configureWebpack () { + configureWebpack() { return { resolve: { alias: { '@': resolve('src'), - styles: resolve('src/styles') - } - } + views: resolve('src/views'), + }, + }, + plugins: [ + new Webpack.ProvidePlugin(providePlugin), + new WebpackBar({ + name: webpackBarName, + }), + ], } }, - chainWebpack (config) { + chainWebpack(config) { config.plugins.delete('preload') config.plugins.delete('prefetch') config.module @@ -71,6 +98,10 @@ module.exports = { .loader('svg-sprite-loader') .options({ symbolId: 'colorful-icon-[name]' }) .end() + + /* config.when(process.env.NODE_ENV === "development", (config) => { + config.devtool("source-map"); + }); */ config.when(process.env.NODE_ENV !== 'development', (config) => { config.performance.set('hints', false) config.devtool('none') @@ -81,21 +112,54 @@ module.exports = { name: 'chunk-libs', test: /[\\/]node_modules[\\/]/, priority: 10, - chunks: 'initial' + chunks: 'initial', }, elementUI: { name: 'chunk-elementUI', priority: 20, - test: /[\\/]node_modules[\\/]_?element-ui(.*)/ + test: /[\\/]node_modules[\\/]_?element-ui(.*)/, }, fortawesome: { name: 'chunk-fortawesome', priority: 20, - test: /[\\/]node_modules[\\/]_?@fortawesome(.*)/ - } - } + test: /[\\/]node_modules[\\/]_?@fortawesome(.*)/, + }, + }, }) + config + .plugin('banner') + .use(Webpack.BannerPlugin, [`${webpackBanner}${time}`]) + .end() + config.module + .rule('images') + .use('image-webpack-loader') + .loader('image-webpack-loader') + .options({ + bypassOnDebug: true, + }) + .end() }) + + if (build7z) { + config.when(process.env.NODE_ENV === 'production', (config) => { + config + .plugin('fileManager') + .use(FileManagerPlugin, [ + { + onEnd: { + delete: [`./${outputDir}/video`, `./${outputDir}/data`], + archive: [ + { + source: `./${outputDir}`, + destination: `./${outputDir}/${abbreviation}_${outputDir}_${date}.7z`, + }, + ], + }, + }, + ]) + .end() + }) + } }, runtimeCompiler: true, productionSourceMap: false, @@ -104,17 +168,21 @@ module.exports = { sourceMap: true, loaderOptions: { scss: { - additionalData (content, loaderContext) { + /*sass-loader 8.0语法 */ + //prependData: '@import "~@/styles/variables.scss";', + + /*sass-loader 9.0写法,感谢github用户 shaonialife*/ + additionalData(content, loaderContext) { const { resourcePath, rootContext } = loaderContext const relativePath = path.relative(rootContext, resourcePath) if ( relativePath.replace(/\\/g, '/') !== 'src/styles/variables.scss' ) { - return '@import "~styles/variables.scss";' + content + return '@import "~@/styles/variables.scss";' + content } return content - } - } - } - } + }, + }, + }, + }, } diff --git a/webstorm.config.js b/webstorm.config.js new file mode 100644 index 000000000..4a0edfdab --- /dev/null +++ b/webstorm.config.js @@ -0,0 +1,5 @@ +/** + * @description webstorm.config(配置这个可以ctrl+左键识别文件并跳转) + */ +const webpackConfig = require('@vue/cli-service/webpack.config.js') +module.exports = webpackConfig