From 19d1a93109d551f97d38003bf0d24441d5135772 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=88=9D=E5=BF=97=E9=91=AB?= <1204505056@qq.com> Date: Sun, 12 Jul 2020 09:43:07 +0800 Subject: [PATCH] deploy --- .browserslistrc | 4 + .editorconfig | 12 + .env.development | 2 + .env.preview | 1 + .eslintignore | 5 + .eslintrc.js | 26 + .gitattributes | 10 + .github/FUNDING.yml | 2 + .gitignore | 18 + .stylelintrc.js | 35 + .vscode/settings.json | 48 + LICENSE | 373 +++ README.md | 277 ++ README_DClOUD.md | 41 + SECURITY.md | 21 + babel.config.js | 3 + deploy.sh | 17 + http/mock.http | 70 + mock/controller/ad.js | 41 + mock/controller/changeLog.js | 163 ++ mock/controller/colorfulIcon.js | 328 +++ mock/controller/goodsDetail.js | 42 + mock/controller/goodsList.js | 43 + mock/controller/icon.js | 989 +++++++ mock/controller/menuManagement.js | 51 + mock/controller/notice.js | 40 + mock/controller/personalCenter.js | 42 + mock/controller/remixIcon.js | 2296 +++++++++++++++++ mock/controller/roleManagement.js | 55 + mock/controller/router.js | 426 +++ mock/controller/table.js | 88 + mock/controller/tree.js | 54 + mock/controller/upload.js | 14 + mock/controller/user.js | 95 + mock/controller/userManagement.js | 70 + mock/index.js | 35 + mock/mockServer.js | 94 + mock/static.js | 53 + mock/utils/index.js | 39 + package.json | 121 + plopfile.js | 13 + postcss.config.js | 5 + prettier.config.js | 15 + public/favicon.ico | Bin 0 -> 4286 bytes public/favicon_backup.ico | Bin 0 -> 4286 bytes public/index.html | 47 + public/static/css/loading.css | 96 + push.sh | 13 + src/App.vue | 12 + src/api/ad.js | 9 + src/api/changeLog.js | 9 + src/api/colorfulIcon.js | 9 + src/api/face.js | 25 + src/api/github.js | 20 + src/api/goodsDetail.js | 9 + src/api/goodsList.js | 9 + src/api/icon.js | 9 + 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 | 37 + 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/qr_logo/lqr_logo.png | Bin 0 -> 8768 bytes src/colorfulIcon/index.js | 17 + src/colorfulIcon/svg/alphabetical_sorting.svg | 1 + src/colorfulIcon/svg/vab.svg | 22 + src/components/ColorfullIcon/index.vue | 65 + src/components/JsonEditor/index.vue | 111 + src/components/RemixIcon/index.vue | 69 + src/components/SelectTree/index.vue | 201 ++ src/components/UploadExcel/index.vue | 160 ++ src/components/VabCharge/index.vue | 191 ++ src/components/VabImage/index.vue | 92 + src/components/VabProfile/index.vue | 313 +++ src/components/VabQrCode/index.vue | 44 + .../VabQueryForm/VabQueryFormBottomPanel.vue | 20 + .../VabQueryForm/VabQueryFormLeftPanel.vue | 25 + .../VabQueryForm/VabQueryFormRightPanel.vue | 25 + .../VabQueryForm/VabQueryFormTopPanel.vue | 20 + src/components/VabQueryForm/index.vue | 63 + src/components/VabQuill/index.vue | 124 + src/components/VabSnow/index.vue | 81 + src/components/VabSticky/index.vue | 95 + src/components/VabUpload/index.vue | 267 ++ src/config/permission.js | 85 + src/config/settings.js | 99 + src/directive/drag/drag.js | 77 + src/directive/drag/index.js | 13 + src/directive/permissions/index.js | 13 + src/directive/permissions/permissions.js | 18 + src/layouts/EmptyLayout.vue | 3 + src/layouts/components/Ad/index.vue | 51 + src/layouts/components/index.js | 16 + src/layouts/index.vue | 312 +++ src/main.js | 20 + src/plugins/echarts.js | 11 + src/plugins/element.js | 9 + src/plugins/index.js | 38 + src/plugins/support.js | 21 + src/plugins/vab-echarts-theme.json | 452 ++++ src/plugins/vabComparison.js | 3 + src/plugins/vabIcon.js | 4 + src/plugins/vabKeel.js | 7 + src/plugins/vabMagnifier.js | 3 + src/plugins/vabMarkdownEditor.js | 4 + src/plugins/vabPlayer.js | 7 + src/plugins/vabQuill.js | 4 + src/plugins/vabVerify.js | 2 + src/remixIcon/index.js | 17 + src/remixIcon/svg/qq-fill.svg | 1 + src/remixIcon/svg/vuejs-fill.svg | 1 + src/router/index.js | 532 ++++ src/store/index.js | 22 + src/store/modules/errorLog.js | 26 + src/store/modules/routes.js | 48 + src/store/modules/settings.js | 76 + src/store/modules/table.js | 21 + src/store/modules/tagsBar.js | 116 + src/store/modules/user.js | 100 + src/styles/element-variables.scss | 1037 ++++++++ src/styles/loading.scss | 346 +++ src/styles/normalize.scss | 427 +++ src/styles/spinner/dots.css | 110 + src/styles/spinner/gauge.css | 104 + src/styles/spinner/inner-circles.css | 51 + src/styles/spinner/plus.css | 341 +++ src/styles/transition.scss | 21 + src/styles/vab.scss | 289 +++ src/styles/variables.scss | 90 + src/utils/accessToken.js | 66 + src/utils/clipboard.js | 31 + src/utils/encrypt.js | 47 + src/utils/errorLog.js | 25 + src/utils/handleRoutes.js | 76 + src/utils/index.js | 266 ++ src/utils/pageTitle.js | 14 + src/utils/permission.js | 20 + src/utils/request.js | 119 + src/utils/vab.js | 192 ++ src/utils/validate.js | 247 ++ src/vendor/ExportExcel.js | 216 ++ src/views/401.vue | 296 +++ src/views/404.vue | 296 +++ src/views/index/index.vue | 819 ++++++ src/views/login/index.vue | 319 +++ src/views/mall/goodsDetail/index.vue | 14 + src/views/mall/goodsList/index.vue | 162 ++ src/views/mall/pay/components/Step1.vue | 72 + 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 | 182 ++ .../components/RoleManagementEdit.vue | 69 + .../roleManagement/index.vue | 160 ++ .../components/UserManagementEdit.vue | 93 + .../userManagement/index.vue | 176 ++ src/views/register/index.vue | 368 +++ src/views/test/index.vue | 16 + src/views/vab/backToTop/index.vue | 22 + src/views/vab/betterScroll/index.vue | 83 + src/views/vab/card/index.vue | 99 + .../codeGenerator/components/TableEditor.vue | 37 + .../components/TableExhibition.vue | 81 + .../components/TableExhibitionBody.vue | 60 + .../components/TableExhibitionHeader.vue | 116 + .../components/TableExhibitionQuery.vue | 79 + .../codeGenerator/components/snippetTable.js | 154 ++ .../components/snippetTableColumn.js | 40 + src/views/vab/codeGenerator/index.vue | 36 + src/views/vab/echarts/index.vue | 655 +++++ src/views/vab/editor/index.vue | 128 + src/views/vab/element/index.vue | 253 ++ .../vab/errorLog/components/ErrorTest.vue | 13 + src/views/vab/errorLog/index.vue | 28 + src/views/vab/excel/exportExcel.vue | 125 + .../vab/excel/exportMergeHeaderExcel.vue | 99 + src/views/vab/excel/exportSelectExcel.vue | 107 + src/views/vab/excel/uploadExcel.vue | 51 + src/views/vab/form/index.vue | 104 + src/views/vab/icon/colorfulIcon.vue | 155 ++ src/views/vab/icon/index.vue | 141 + src/views/vab/icon/remixIcon.vue | 153 ++ src/views/vab/imgComparison/index.vue | 53 + src/views/vab/loading/index.vue | 69 + src/views/vab/lodash/index.vue | 210 ++ src/views/vab/magnifier/index.vue | 35 + src/views/vab/map/amap.vue | 27 + src/views/vab/map/index.vue | 115 + src/views/vab/markdown/index.vue | 69 + src/views/vab/markdown/js/markdown.js | 387 +++ src/views/vab/markdownEditor/index.vue | 51 + src/views/vab/more/index.vue | 115 + 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 | 165 ++ src/views/vab/player/index.vue | 73 + src/views/vab/qrCode/index.vue | 46 + src/views/vab/smallComponents/index.vue | 109 + src/views/vab/sticky/index.vue | 314 +++ src/views/vab/table/components/TableEdit.vue | 75 + src/views/vab/table/index.vue | 265 ++ src/views/vab/table/inlineEditTable.vue | 109 + src/views/vab/tree/index.vue | 471 ++++ src/views/vab/upload/index.vue | 34 + src/views/vab/verify/index.vue | 35 + src/views/vab/webSocket/index.vue | 87 + svgo.yml | 4 + vue.config.js | 208 ++ 224 files changed, 24383 insertions(+) create mode 100644 .browserslistrc create mode 100644 .editorconfig create mode 100644 .env.development create mode 100644 .env.preview create mode 100644 .eslintignore create mode 100644 .eslintrc.js create mode 100644 .gitattributes create mode 100644 .github/FUNDING.yml create mode 100644 .gitignore create mode 100644 .stylelintrc.js create mode 100644 .vscode/settings.json create mode 100644 LICENSE create mode 100644 README.md create mode 100644 README_DClOUD.md create mode 100644 SECURITY.md create mode 100644 babel.config.js create mode 100644 deploy.sh create mode 100644 http/mock.http 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/goodsDetail.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/upload.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/mockServer.js create mode 100644 mock/static.js create mode 100644 mock/utils/index.js create mode 100644 package.json create mode 100644 plopfile.js create mode 100644 postcss.config.js create mode 100644 prettier.config.js create mode 100644 public/favicon.ico create mode 100644 public/favicon_backup.ico create mode 100644 public/index.html create mode 100644 public/static/css/loading.css create mode 100644 push.sh create mode 100644 src/App.vue 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/face.js create mode 100644 src/api/github.js create mode 100644 src/api/goodsDetail.js create mode 100644 src/api/goodsList.js create mode 100644 src/api/icon.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/qr_logo/lqr_logo.png 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/ColorfullIcon/index.vue create mode 100644 src/components/JsonEditor/index.vue create mode 100644 src/components/RemixIcon/index.vue create mode 100644 src/components/SelectTree/index.vue create mode 100644 src/components/UploadExcel/index.vue create mode 100644 src/components/VabCharge/index.vue create mode 100644 src/components/VabImage/index.vue create mode 100644 src/components/VabProfile/index.vue create mode 100644 src/components/VabQrCode/index.vue create mode 100644 src/components/VabQueryForm/VabQueryFormBottomPanel.vue create mode 100644 src/components/VabQueryForm/VabQueryFormLeftPanel.vue create mode 100644 src/components/VabQueryForm/VabQueryFormRightPanel.vue create mode 100644 src/components/VabQueryForm/VabQueryFormTopPanel.vue create mode 100644 src/components/VabQueryForm/index.vue create mode 100644 src/components/VabQuill/index.vue create mode 100644 src/components/VabSnow/index.vue create mode 100644 src/components/VabSticky/index.vue create mode 100644 src/components/VabUpload/index.vue create mode 100644 src/config/permission.js create mode 100644 src/config/settings.js create mode 100644 src/directive/drag/drag.js create mode 100644 src/directive/drag/index.js create mode 100644 src/directive/permissions/index.js create mode 100644 src/directive/permissions/permissions.js create mode 100644 src/layouts/EmptyLayout.vue create mode 100644 src/layouts/components/Ad/index.vue create mode 100644 src/layouts/components/index.js create mode 100644 src/layouts/index.vue create mode 100644 src/main.js 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/vab-echarts-theme.json create mode 100644 src/plugins/vabComparison.js create mode 100644 src/plugins/vabIcon.js create mode 100644 src/plugins/vabKeel.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/router/index.js create mode 100644 src/store/index.js 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/tagsBar.js create mode 100644 src/store/modules/user.js create mode 100644 src/styles/element-variables.scss create mode 100644 src/styles/loading.scss create mode 100644 src/styles/normalize.scss create mode 100644 src/styles/spinner/dots.css create mode 100644 src/styles/spinner/gauge.css create mode 100644 src/styles/spinner/inner-circles.css create mode 100644 src/styles/spinner/plus.css create mode 100644 src/styles/transition.scss create mode 100644 src/styles/vab.scss create mode 100644 src/styles/variables.scss 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/vab.js create mode 100644 src/utils/validate.js create mode 100644 src/vendor/ExportExcel.js create mode 100644 src/views/401.vue create mode 100644 src/views/404.vue create mode 100644 src/views/index/index.vue create mode 100644 src/views/login/index.vue create mode 100644 src/views/mall/goodsDetail/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/betterScroll/index.vue create mode 100644 src/views/vab/card/index.vue create mode 100644 src/views/vab/codeGenerator/components/TableEditor.vue create mode 100644 src/views/vab/codeGenerator/components/TableExhibition.vue create mode 100644 src/views/vab/codeGenerator/components/TableExhibitionBody.vue create mode 100644 src/views/vab/codeGenerator/components/TableExhibitionHeader.vue create mode 100644 src/views/vab/codeGenerator/components/TableExhibitionQuery.vue create mode 100644 src/views/vab/codeGenerator/components/snippetTable.js create mode 100644 src/views/vab/codeGenerator/components/snippetTableColumn.js create mode 100644 src/views/vab/codeGenerator/index.vue create mode 100644 src/views/vab/echarts/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/excel/exportExcel.vue create mode 100644 src/views/vab/excel/exportMergeHeaderExcel.vue create mode 100644 src/views/vab/excel/exportSelectExcel.vue create mode 100644 src/views/vab/excel/uploadExcel.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/imgComparison/index.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/amap.vue create mode 100644 src/views/vab/map/index.vue create mode 100644 src/views/vab/markdown/index.vue create mode 100644 src/views/vab/markdown/js/markdown.js 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/qrCode/index.vue create mode 100644 src/views/vab/smallComponents/index.vue create mode 100644 src/views/vab/sticky/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/table/inlineEditTable.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 svgo.yml create mode 100644 vue.config.js diff --git a/.browserslistrc b/.browserslistrc new file mode 100644 index 0000000..f23b837 --- /dev/null +++ b/.browserslistrc @@ -0,0 +1,4 @@ +> 1% +last 2 versions +not dead + diff --git a/.editorconfig b/.editorconfig new file mode 100644 index 0000000..4039ff1 --- /dev/null +++ b/.editorconfig @@ -0,0 +1,12 @@ +root = true + +[*] +charset = utf-8 +end_of_line = lf +indent_size = 2 +indent_style = space +insert_final_newline = true +trim_trailing_whitespace = true + +[*.md] +trim_trailing_whitespace = false diff --git a/.env.development b/.env.development new file mode 100644 index 0000000..8651fae --- /dev/null +++ b/.env.development @@ -0,0 +1,2 @@ +NODE_ENV = development +VUE_CLI_BABEL_TRANSPILE_MODULES = true diff --git a/.env.preview b/.env.preview new file mode 100644 index 0000000..98fc8f4 --- /dev/null +++ b/.env.preview @@ -0,0 +1 @@ +NODE_ENV = preview diff --git a/.eslintignore b/.eslintignore new file mode 100644 index 0000000..1ef592b --- /dev/null +++ b/.eslintignore @@ -0,0 +1,5 @@ +src/assets +src/icons +public +dist +node_modules diff --git a/.eslintrc.js b/.eslintrc.js new file mode 100644 index 0000000..0760a63 --- /dev/null +++ b/.eslintrc.js @@ -0,0 +1,26 @@ +module.exports = { + root: true, + env: { + node: true, + }, + extends: ["plugin:vue/recommended", "@vue/prettier"], + rules: { + "no-console": process.env.NODE_ENV === "production" ? "warn" : "off", + "no-debugger": process.env.NODE_ENV === "production" ? "warn" : "off", + "vue/no-v-html": "off", + }, + parserOptions: { + parser: "babel-eslint", + }, + overrides: [ + { + files: [ + "**/__tests__/*.{j,t}s?(x)", + "**/tests/unit/**/*.spec.{j,t}s?(x)", + ], + env: { + jest: true, + }, + }, + ], +}; diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..b9edb39 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,10 @@ +*.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 diff --git a/.github/FUNDING.yml b/.github/FUNDING.yml new file mode 100644 index 0000000..f12c307 --- /dev/null +++ b/.github/FUNDING.yml @@ -0,0 +1,2 @@ +patreon: chuzhixin + diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..96314c5 --- /dev/null +++ b/.gitignore @@ -0,0 +1,18 @@ +.DS_Store +node_modules +dist +.env.local +.env.*.local +npm-debug.log* +yarn-debug.log* +yarn-error.log* +.idea +*.suo +*.ntvs* +*.njsproj +*.sln +*.sw? +public/video +*.zip +*.7z +/src/layouts/components/zx-layouts diff --git a/.stylelintrc.js b/.stylelintrc.js new file mode 100644 index 0000000..fa0cbfe --- /dev/null +++ b/.stylelintrc.js @@ -0,0 +1,35 @@ +module.exports = { + extends: ["stylelint-config-standard", "stylelint-config-recess-order"], + rules: { + "at-rule-no-unknown": [ + true, + { + ignoreAtRules: [ + "mixin", + "extend", + "content", + "include", + "for", + "function", + "return", + ], + }, + ], + "selector-pseudo-element-no-unknown": [ + true, + { + ignorePseudoElements: ["v-deep"], + }, + ], + "selector-pseudo-class-no-unknown": [ + true, + { + ignorePseudoClasses: ["export"], + }, + ], + indentation: 2, + "no-descending-specificity": null, + "declaration-colon-newline-after": null, + }, + ignoreFiles: ["**/*.js", "dist/*.*", "node_modules", "**/*.ts"], +}; diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 0000000..6e7511a --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,48 @@ +{ + "[vue]": { + "editor.defaultFormatter": "esbenp.prettier-vscode" + }, + "editor.quickSuggestions": { + "strings": true + }, + "workbench.colorTheme": "One Monokai", + "editor.tabSize": 2, + "editor.detectIndentation": false, + "emmet.triggerExpansionOnTab": true, + "editor.formatOnSave": true, + "javascript.format.enable": true, + "stylelint.enable": true, + "css.validate": false, + "less.validate": false, + "scss.validate": false, + "stylelint.autoFixOnSave": true, + "git.enableSmartCommit": true, + "git.autofetch": true, + "git.confirmSync": false, + "[json]": { + "editor.defaultFormatter": "esbenp.prettier-vscode" + }, + "liveServer.settings.donotShowInfoMsg": true, + "explorer.confirmDelete": false, + "javascript.updateImportsOnFileMove.enabled": "always", + "typescript.updateImportsOnFileMove.enabled": "always", + "files.exclude": { + "**/.idea": true + }, + "editor.codeActionsOnSave": { + "source.fixAll.eslint": true + }, + "[javascript]": { + "editor.defaultFormatter": "esbenp.prettier-vscode" + }, + "[scss]": { + "editor.defaultFormatter": "esbenp.prettier-vscode" + }, + "[jsonc]": { + "editor.defaultFormatter": "esbenp.prettier-vscode" + }, + "[html]": { + "editor.defaultFormatter": "esbenp.prettier-vscode" + }, + "editor.suggest.snippetsPreventQuickSuggestions": false +} diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..a612ad9 --- /dev/null +++ b/LICENSE @@ -0,0 +1,373 @@ +Mozilla Public License Version 2.0 +================================== + +1. Definitions +-------------- + +1.1. "Contributor" + means each individual or legal entity that creates, contributes to + the creation of, or owns Covered Software. + +1.2. "Contributor Version" + means the combination of the Contributions of others (if any) used + by a Contributor and that particular Contributor's Contribution. + +1.3. "Contribution" + means Covered Software of a particular Contributor. + +1.4. "Covered Software" + means Source Code Form to which the initial Contributor has attached + the notice in Exhibit A, the Executable Form of such Source Code + Form, and Modifications of such Source Code Form, in each case + including portions thereof. + +1.5. "Incompatible With Secondary Licenses" + means + + (a) that the initial Contributor has attached the notice described + in Exhibit B to the Covered Software; or + + (b) that the Covered Software was made available under the terms of + version 1.1 or earlier of the License, but not also under the + terms of a Secondary License. + +1.6. "Executable Form" + means any form of the work other than Source Code Form. + +1.7. "Larger Work" + means a work that combines Covered Software with other material, in + a separate file or files, that is not Covered Software. + +1.8. "License" + means this document. + +1.9. "Licensable" + means having the right to grant, to the maximum extent possible, + whether at the time of the initial grant or subsequently, any and + all of the rights conveyed by this License. + +1.10. "Modifications" + means any of the following: + + (a) any file in Source Code Form that results from an addition to, + deletion from, or modification of the contents of Covered + Software; or + + (b) any new file in Source Code Form that contains any Covered + Software. + +1.11. "Patent Claims" of a Contributor + means any patent claim(s), including without limitation, method, + process, and apparatus claims, in any patent Licensable by such + Contributor that would be infringed, but for the grant of the + License, by the making, using, selling, offering for sale, having + made, import, or transfer of either its Contributions or its + Contributor Version. + +1.12. "Secondary License" + means either the GNU General Public License, Version 2.0, the GNU + Lesser General Public License, Version 2.1, the GNU Affero General + Public License, Version 3.0, or any later versions of those + licenses. + +1.13. "Source Code Form" + means the form of the work preferred for making modifications. + +1.14. "You" (or "Your") + means an individual or a legal entity exercising rights under this + License. For legal entities, "You" includes any entity that + controls, is controlled by, or is under common control with You. For + purposes of this definition, "control" means (a) the power, direct + or indirect, to cause the direction or management of such entity, + whether by contract or otherwise, or (b) ownership of more than + fifty percent (50%) of the outstanding shares or beneficial + ownership of such entity. + +2. License Grants and Conditions +-------------------------------- + +2.1. Grants + +Each Contributor hereby grants You a world-wide, royalty-free, +non-exclusive license: + +(a) under intellectual property rights (other than patent or trademark) + Licensable by such Contributor to use, reproduce, make available, + modify, display, perform, distribute, and otherwise exploit its + Contributions, either on an unmodified basis, with Modifications, or + as part of a Larger Work; and + +(b) under Patent Claims of such Contributor to make, use, sell, offer + for sale, have made, import, and otherwise transfer either its + Contributions or its Contributor Version. + +2.2. Effective Date + +The licenses granted in Section 2.1 with respect to any Contribution +become effective for each Contribution on the date the Contributor first +distributes such Contribution. + +2.3. Limitations on Grant Scope + +The licenses granted in this Section 2 are the only rights granted under +this License. No additional rights or licenses will be implied from the +distribution or licensing of Covered Software under this License. +Notwithstanding Section 2.1(b) above, no patent license is granted by a +Contributor: + +(a) for any code that a Contributor has removed from Covered Software; + or + +(b) for infringements caused by: (i) Your and any other third party's + modifications of Covered Software, or (ii) the combination of its + Contributions with other software (except as part of its Contributor + Version); or + +(c) under Patent Claims infringed by Covered Software in the absence of + its Contributions. + +This License does not grant any rights in the trademarks, service marks, +or logos of any Contributor (except as may be necessary to comply with +the notice requirements in Section 3.4). + +2.4. Subsequent Licenses + +No Contributor makes additional grants as a result of Your choice to +distribute the Covered Software under a subsequent version of this +License (see Section 10.2) or under the terms of a Secondary License (if +permitted under the terms of Section 3.3). + +2.5. Representation + +Each Contributor represents that the Contributor believes its +Contributions are its original creation(s) or it has sufficient rights +to grant the rights to its Contributions conveyed by this License. + +2.6. Fair Use + +This License is not intended to limit any rights You have under +applicable copyright doctrines of fair use, fair dealing, or other +equivalents. + +2.7. Conditions + +Sections 3.1, 3.2, 3.3, and 3.4 are conditions of the licenses granted +in Section 2.1. + +3. Responsibilities +------------------- + +3.1. Distribution of Source Form + +All distribution of Covered Software in Source Code Form, including any +Modifications that You create or to which You contribute, must be under +the terms of this License. You must inform recipients that the Source +Code Form of the Covered Software is governed by the terms of this +License, and how they can obtain a copy of this License. You may not +attempt to alter or restrict the recipients' rights in the Source Code +Form. + +3.2. Distribution of Executable Form + +If You distribute Covered Software in Executable Form then: + +(a) such Covered Software must also be made available in Source Code + Form, as described in Section 3.1, and You must inform recipients of + the Executable Form how they can obtain a copy of such Source Code + Form by reasonable means in a timely manner, at a charge no more + than the cost of distribution to the recipient; and + +(b) You may distribute such Executable Form under the terms of this + License, or sublicense it under different terms, provided that the + license for the Executable Form does not attempt to limit or alter + the recipients' rights in the Source Code Form under this License. + +3.3. Distribution of a Larger Work + +You may create and distribute a Larger Work under terms of Your choice, +provided that You also comply with the requirements of this License for +the Covered Software. If the Larger Work is a combination of Covered +Software with a work governed by one or more Secondary Licenses, and the +Covered Software is not Incompatible With Secondary Licenses, this +License permits You to additionally distribute such Covered Software +under the terms of such Secondary License(s), so that the recipient of +the Larger Work may, at their option, further distribute the Covered +Software under the terms of either this License or such Secondary +License(s). + +3.4. Notices + +You may not remove or alter the substance of any license notices +(including copyright notices, patent notices, disclaimers of warranty, +or limitations of liability) contained within the Source Code Form of +the Covered Software, except that You may alter any license notices to +the extent required to remedy known factual inaccuracies. + +3.5. Application of Additional Terms + +You may choose to offer, and to charge a fee for, warranty, support, +indemnity or liability obligations to one or more recipients of Covered +Software. However, You may do so only on Your own behalf, and not on +behalf of any Contributor. You must make it absolutely clear that any +such warranty, support, indemnity, or liability obligation is offered by +You alone, and You hereby agree to indemnify every Contributor for any +liability incurred by such Contributor as a result of warranty, support, +indemnity or liability terms You offer. You may include additional +disclaimers of warranty and limitations of liability specific to any +jurisdiction. + +4. Inability to Comply Due to Statute or Regulation +--------------------------------------------------- + +If it is impossible for You to comply with any of the terms of this +License with respect to some or all of the Covered Software due to +statute, judicial order, or regulation then You must: (a) comply with +the terms of this License to the maximum extent possible; and (b) +describe the limitations and the code they affect. Such description must +be placed in a text file included with all distributions of the Covered +Software under this License. Except to the extent prohibited by statute +or regulation, such description must be sufficiently detailed for a +recipient of ordinary skill to be able to understand it. + +5. Termination +-------------- + +5.1. The rights granted under this License will terminate automatically +if You fail to comply with any of its terms. However, if You become +compliant, then the rights granted under this License from a particular +Contributor are reinstated (a) provisionally, unless and until such +Contributor explicitly and finally terminates Your grants, and (b) on an +ongoing basis, if such Contributor fails to notify You of the +non-compliance by some reasonable means prior to 60 days after You have +come back into compliance. Moreover, Your grants from a particular +Contributor are reinstated on an ongoing basis if such Contributor +notifies You of the non-compliance by some reasonable means, this is the +first time You have received notice of non-compliance with this License +from such Contributor, and You become compliant prior to 30 days after +Your receipt of the notice. + +5.2. If You initiate litigation against any entity by asserting a patent +infringement claim (excluding declaratory judgment actions, +counter-claims, and cross-claims) alleging that a Contributor Version +directly or indirectly infringes any patent, then the rights granted to +You by any and all Contributors for the Covered Software under Section +2.1 of this License shall terminate. + +5.3. In the event of termination under Sections 5.1 or 5.2 above, all +end user license agreements (excluding distributors and resellers) which +have been validly granted by You or Your distributors under this License +prior to termination shall survive termination. + +************************************************************************ +* * +* 6. Disclaimer of Warranty * +* ------------------------- * +* * +* Covered Software is provided under this License on an "as is" * +* basis, without warranty of any kind, either expressed, implied, or * +* statutory, including, without limitation, warranties that the * +* Covered Software is free of defects, merchantable, fit for a * +* particular purpose or non-infringing. The entire risk as to the * +* quality and performance of the Covered Software is with You. * +* Should any Covered Software prove defective in any respect, You * +* (not any Contributor) assume the cost of any necessary servicing, * +* repair, or correction. This disclaimer of warranty constitutes an * +* essential part of this License. No use of any Covered Software is * +* authorized under this License except under this disclaimer. * +* * +************************************************************************ + +************************************************************************ +* * +* 7. Limitation of Liability * +* -------------------------- * +* * +* Under no circumstances and under no legal theory, whether tort * +* (including negligence), contract, or otherwise, shall any * +* Contributor, or anyone who distributes Covered Software as * +* permitted above, be liable to You for any direct, indirect, * +* special, incidental, or consequential damages of any character * +* including, without limitation, damages for lost profits, loss of * +* goodwill, work stoppage, computer failure or malfunction, or any * +* and all other commercial damages or losses, even if such party * +* shall have been informed of the possibility of such damages. This * +* limitation of liability shall not apply to liability for death or * +* personal injury resulting from such party's negligence to the * +* extent applicable law prohibits such limitation. Some * +* jurisdictions do not allow the exclusion or limitation of * +* incidental or consequential damages, so this exclusion and * +* limitation may not apply to You. * +* * +************************************************************************ + +8. Litigation +------------- + +Any litigation relating to this License may be brought only in the +courts of a jurisdiction where the defendant maintains its principal +place of business and such litigation shall be governed by laws of that +jurisdiction, without reference to its conflict-of-law provisions. +Nothing in this Section shall prevent a party's ability to bring +cross-claims or counter-claims. + +9. Miscellaneous +---------------- + +This License represents the complete agreement concerning the subject +matter hereof. If any provision of this License is held to be +unenforceable, such provision shall be reformed only to the extent +necessary to make it enforceable. Any law or regulation which provides +that the language of a contract shall be construed against the drafter +shall not be used to construe this License against a Contributor. + +10. Versions of the License +--------------------------- + +10.1. New Versions + +Mozilla Foundation is the license steward. Except as provided in Section +10.3, no one other than the license steward has the right to modify or +publish new versions of this License. Each version will be given a +distinguishing version number. + +10.2. Effect of New Versions + +You may distribute the Covered Software under the terms of the version +of the License under which You originally received the Covered Software, +or under the terms of any subsequent version published by the license +steward. + +10.3. Modified Versions + +If you create software not governed by this License, and you want to +create a new license for such software, you may create and use a +modified version of this License if you rename the license and remove +any references to the name of the license steward (except to note that +such modified license differs from this License). + +10.4. Distributing Source Code Form that is Incompatible With Secondary +Licenses + +If You choose to distribute Source Code Form that is Incompatible With +Secondary Licenses under the terms of this version of the License, the +notice described in Exhibit B of this License must be attached. + +Exhibit A - Source Code Form License Notice +------------------------------------------- + + This Source Code Form is subject to the terms of the Mozilla Public + License, v. 2.0. If a copy of the MPL was not distributed with this + file, You can obtain one at http://mozilla.org/MPL/2.0/. + +If it is not possible or desirable to put the notice in a particular +file, then You may include the notice in a location (such as a LICENSE +file in a relevant directory) where a recipient would be likely to look +for such a notice. + +You may add additional accurate notices of copyright ownership. + +Exhibit B - "Incompatible With Secondary Licenses" Notice +--------------------------------------------------------- + + This Source Code Form is "Incompatible With Secondary Licenses", as + defined by the Mozilla Public License, v. 2.0. diff --git a/README.md b/README.md new file mode 100644 index 0000000..3f13875 --- /dev/null +++ b/README.md @@ -0,0 +1,277 @@ +## 演示地址 + +#### - [🚀 演示地址 1: vue-admin-beautiful (横向纵向布局无缝切换)](http://beautiful.panm.cn/vue-admin-beautiful/) + +#### - [🚀 国内备份地址: vue-admin-beautiful](https://chu1204505056.gitee.io/vue-admin-beautiful/) + +#### - [🚀 演示地址 2: vue-admin-clever (常规后台管理布局)](http://beautiful.panm.cn/vue-admin-clever/) + +## 安装 + +```bash + +# 进入项目目录 +cd vue-admin-beautiful +# 安装依赖 +cnpm i +# 本地开发 启动项目 +cnpm run serve +``` + +## vue-admin-beautiful 前端讨论群-1 972435319(详细文档加群获取) + +不管您加或者不加 您都可以享受到开源的代码 感谢您的支持 感谢您的信任 群内提供 vue-admin-beautiful-template 基础版本 群内提供详细的基础文档 适合框架快速入门 + +![img](https://chu1204505056.gitee.io/byui-bookmarks/img/ewm.png) + + + +## 友情链接 + +#### - [uView 文档(超棒的移动跨端框架,文档详细,上手容易)](https://uviewui.com/) + +#### - [uView 开源地址(uView UI,是 uni-app 生态优秀的 UI 框架,全面的组件和便捷的工具会让您信手拈来,如鱼得水)](https://github.com/YanxinNet/uView/) + +#### - [Element UI 表单设计及代码生成器(可视化表单设计器,一键生成 element 表单)](https://github.com/JakHuang/form-generator/) + +#### - [luch-request(基于 Promise 开发的 uni-app 跨平台、项目级别的请求库,它有更小的体积,易用的 api,方便简单的自定义能力)](https://www.quanzhan.co/luch-request/) + +#### - [pl-table 完美解决 element 万级表格数据渲染卡顿问题](https://github.com/livelyPeng/pl-table) + +## 捐赠 + +![img](https://chu1204505056.gitee.io/byui-bookmarks/img/donation.png) + +## setting.js 配置 + +- 说明:这里有好多你会用到的配置项。 +- 位置:src/config/settings.js +- 注意:此处可能不是最新代码具体可查看[github 最新的 settings.js 配置](https://github.com/chuzhixin/vue-admin-beautiful/blob/master/src/config/settings.js) +- 示例代码: + +```js +/** + * @copyright chuzhixin 1204505056@qq.com + * @description 全局变量配置 + */ +module.exports = { + // 开发以及部署时的URL + publicPath: "", + // 生产环境构建文件的目录名 + outputDir: "dist", + // 放置生成的静态资源 (js、css、img、fonts) 的 (相对于 outputDir 的) 目录。 + assetsDir: "static", + // 开发环境每次保存时是否输出为eslint编译警告 + lintOnSave: true, + // 进行编译的依赖 + transpileDependencies: ["vue-echarts", "resize-detector", "zx-layouts"], + // 默认的接口地址 如果是开发环境和生产环境走vab-mock-server,当然你也可以选择自己配置成需要的接口地址 + baseURL: + process.env.NODE_ENV === "development" || process.env.NODE_ENV === "preview" + ? "vab-mock-server" + : "http://your.website.com", + //标题 (包括初次加载雪花屏的标题 页面的标题 浏览器的标题) + title: "vue-admin-beautiful", + //简写 + abbreviation: "vab", + //开发环境端口号 + devPort: "80", + //版本号 + version: process.env.VUE_APP_VERSION, + //烦请保留package.json作者信息 保留版权可免费商用 + copyright: process.env.VUE_APP_AUTHOR, + //是否显示页面底部版权信息,建议您显示,当然您也可以选择不显示,不管您是付费用户还是未付费用户您都有选择显示或者不显示的权利 + footerCopyright: process.env.NODE_ENV !== "development" ? true : false, + //是否显示右上角github图标 + githubCorner: process.env.NODE_ENV !== "development" ? true : false, + //是否显示顶部进度条 + progressBar: true, + //缓存路由的最大数量 + keepAliveMaxNum: 99, + // 路由模式,可选值为 history 或 hash + routerMode: "hash", + //不经过token校验的路由 + routesWhiteList: ["/login", "/register", "/404", "/401"], + //加载时显示文字 + loadingText: "正在加载中...", + //token名称 + tokenName: "accessToken", + //token在localStorage、sessionStorage、cookie存储的key的名称 + tokenTableName: "vue-admin-beautiful", + //token存储位置localStorage sessionStorage cookie + storage: "localStorage", + //token失效回退到登录页时是否记录本次的路由 + recordRoute: true, + //是否显示logo,不显示时设置false,显示时请填写remixIcon图标名称,暂时只支持设置remixIcon + logo: "vuejs-fill", + //是否国定头部 固定fixed 不固定noFixed + header: "fixed", + //横纵布局 horizontal vertical + layout: "vertical", + //是否开启主题配置按钮 + themeBar: true, + //是否显示多标签页 + tagsBar: true, + //是否显示骨架屏 + skeleton: false, + //配后端数据的接收方式application/json;charset=UTF-8或者application/x-www-form-urlencoded;charset=UTF-8 + contentType: "application/json;charset=UTF-8", + //消息框消失时间 + messageDuration: 3000, + //最长请求时间 + requestTimeout: 5000, + //操作正常code + successCode: 200, + //登录失效code + invalidCode: 402, + //无权限code + noPermissionCode: 401, + //是否显示在页面高亮错误 + errorLog: ["development", "test", "production"], + //是否开启登录拦截 + loginInterception: true, + //是否开启登录RSA加密 + loginRSA: false, + //是否依据mock数据生成webstorm HTTP Request请求文件 + httpRequestFile: false, + //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", +}; +``` + +## variables.scss 配置 + +- 说明:这里可以修改你项目的配色方案,简单修改即可实现风格大变。 +- 位置:src/styles/variables.scss +- 注意:此处可能不是最新代码具体可查看[github 最新的 variables.scss 配置](https://github.com/chuzhixin/vue-admin-beautiful/blob/master/src/styles/variables.scss) + +```scss +/** + * @copyright chuzhixin 1204505056@qq.com + * @description 全局主题变量配置,VIP文档内提供多种好看的配色方案(ant-design风格、layui风格、iview风格),请查看VIP文档主题配置篇 + */ +/* stylelint-disable */ +@charset "utf-8"; +//框架默认主题色 +$base-color-default: #1890ff; +//默认层级 +$base-z-index: 999; +//横向布局纵向布局时菜单背景色 +$base-menu-background: #001529; +//菜单文字颜色 +$base-menu-color: hsla(0, 0%, 100%, 0.95); +//菜单选中文字颜色 +$base-menu-color-active: hsla(0, 0%, 100%, 0.95); +//菜单选中背景色 +$base-menu-background-active: $base-color-default; +//标题颜色 +$base-title-color: #fff; +//字体大小配置 +$base-font-size-small: 12px; +$base-font-size-default: 14px; +$base-font-size-big: 16px; +$base-font-size-bigger: 18px; +$base-font-size-max: 22px; +$base-font-color: #606266; +$base-color-blue: $base-color-default; +$base-color-green: #13ce66; +$base-color-white: #fff; +$base-color-black: #000; +$base-color-yellow: #ffba00; +$base-color-orange: #ff6700; +$base-color-red: #ff4d4f; +$base-color-gray: rgba(0, 0, 0, 0.65); +$base-main-width: 1279px; +$base-border-radius: 2px; +$base-border-color: #dcdfe6; +//输入框高度 +$base-input-height: 32px; +//默认paddiing +$base-padding: 20px; +//默认阴影 +$base-box-shadow: 0 1px 4px rgba(0, 21, 41, 0.08); +//横向布局时top-bar、logo、一级菜单的高度 +$base-top-bar-height: 65px; +//纵向布局时logo的高度 +$base-logo-height: 75px; +//顶部nav-bar的高度 +$base-nav-bar-height: 60px; +//顶部多标签页tags-bar的高度 +$base-tags-bar-height: 55px; +//顶部多标签页tags-bar中每一个item的高度 +$base-tag-item-height: 34px; +//菜单li标签的高度 +$base-menu-item-height: 50px; +//app-main的高度 +$base-app-main-height: calc( + 100vh - #{$base-nav-bar-height} - #{$base-tags-bar-height} - + #{$base-padding} - #{$base-padding} - 55px - 30px +); +//纵向布局时左侧导航未折叠时的宽度 +$base-left-menu-width: 230px; +//纵向布局时左侧导航未折叠时右侧内容的宽度 +$base-right-content-width: calc(100% - #{$base-left-menu-width}); +//纵向布局时左侧导航已折叠时的宽度 +$base-left-menu-width-min: 65px; +//纵向布局时左侧导航已折叠时右侧内容的宽度 +$base-right-content-width-min: calc(100% - #{$base-left-menu-width-min}); +//默认动画 +$base-transition: all 0.2s; +//默认动画时长 +$base-transition-time: 0.2s; + +:export { + //菜单文字颜色变量导出 + menu-color: $base-menu-color; + //菜单选中文字颜色变量导出 + menu-color-active: $base-menu-color-active; + //菜单背景色变量导出 + menu-background: $base-menu-background; + //菜单选中背景色变量导出 + menu-background-active: $base-menu-background-active; + //多标签页选中背景色变量导出 + tag-background-active: $base-color-blue; + //默认按钮背景色变量导出 + button-background: $base-color-blue; + //分页选中背景色变量导出 + pagination-background-active: $base-color-blue; +} +``` + +## element-ui 组件尺寸配置 + +- 说明:这里可以修改你 element-ui 组件尺寸,element-ui 组件的尺寸一共分为 large、default、small 、mini,本项目默认使用的是 small。 +- 位置:src/plugins/element.js +- 示例代码: + +```js +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", // element-ui组件的尺寸一共分为large、default、small 、mini +}); +``` + +## 付费学习,付费技术支持,商务合作 + +### 联系:QQ 1204505056 diff --git a/README_DClOUD.md b/README_DClOUD.md new file mode 100644 index 0000000..a5486f5 --- /dev/null +++ b/README_DClOUD.md @@ -0,0 +1,41 @@ +## 本项目地址 + +#### - [🚀 演示地址 1 vue-admin-beautiful ](https://chu1204505056.gitee.io/vue-admin-beautiful/) + +#### - [🚀 演示地址 2 vue-admin-beautiful ](http://beautiful.panm.cn/vue-admin-beautiful/) + +#### - [🚀clever 版本 演示地址 vue-admin-beautiful ](http://beautiful.panm.cn/vue-admin-clever/) + +#### - [🚀 开源地址,感谢 star](https://github.com/chuzhixin/vue-admin-beautiful/) + +#### 学习讨论 QQ 群:972435319 群内提供基础版、集成版、clever 版本、详细文档与视频教程 + +#### 付费群 + +![img](https://chu1204505056.gitee.io/byui-bookmarks/img/ewm.png) + +## 友情链接 + +#### - [uView 文档(超棒的移动跨端框架,文档详细,上手容易)](https://uviewui.com/) + +#### - [uView 开源地址(uView UI,是 uni-app 生态优秀的 UI 框架,全面的组件和便捷的工具会让您信手拈来,如鱼得水)](https://github.com/YanxinNet/uView/) + +#### - [luch-request(基于 Promise 开发的 uni-app 跨平台、项目级别的请求库,它有更小的体积,易用的 api,方便简单的自定义能力)](https://www.quanzhan.co/luch-request/) + +## 运行步骤,严格按步骤来 + +```bash + +# 进入项目目录 +cd vue-admin-beautiful +# 安装依赖,一定要cnpm i,别听网上乱七八糟的回答,本项目始终基于最新的package版本,cnpm不会出现任何问题,置于怎么安装cnpm自行百度 +cnpm i +# 本地开发 启动项目 +cnpm run serve +``` + +#### 已付费置顶 烦请小号刷差评的放过 我也需要养家糊口 也祝您财运亨通 好不好用请看演示地址 保留版权信息可免费商用(页面所有版权信息不付费也可完全删除) ,群内提供详细的视频与文档教程,由于置顶费用较高,如有需要在本页加广告的朋友可以联系我 QQ 1204505056 + +#### github 标星增长量统计 + +[![Stargazers over time](https://starcharts.herokuapp.com/chuzhixin/vue-admin-beautiful.svg)](https://github.com/chuzhixin/vue-admin-beautiful) diff --git a/SECURITY.md b/SECURITY.md new file mode 100644 index 0000000..034e848 --- /dev/null +++ b/SECURITY.md @@ -0,0 +1,21 @@ +# Security Policy + +## Supported Versions + +Use this section to tell people about which versions of your project are +currently being supported with security updates. + +| Version | Supported | +| ------- | ------------------ | +| 5.1.x | :white_check_mark: | +| 5.0.x | :x: | +| 4.0.x | :white_check_mark: | +| < 4.0 | :x: | + +## Reporting a Vulnerability + +Use this section to tell people how to report a vulnerability. + +Tell them where to go, how often they can expect to get an update on a +reported vulnerability, what to expect if the vulnerability is accepted or +declined, etc. diff --git a/babel.config.js b/babel.config.js new file mode 100644 index 0000000..162a3ea --- /dev/null +++ b/babel.config.js @@ -0,0 +1,3 @@ +module.exports = { + presets: ["@vue/cli-plugin-babel/preset"], +}; diff --git a/deploy.sh b/deploy.sh new file mode 100644 index 0000000..1b6f57d --- /dev/null +++ b/deploy.sh @@ -0,0 +1,17 @@ +#!/usr/bin/env bash +set -e +npm run build:preview +cd dist +touch .nojekyll +git init +git add -A +git commit -m 'deploy' +git push -f "https://${access_token}@gitee.com/chu1204505056/vue-admin-beautiful.git" master:gh-pages +start "https://gitee.com/chu1204505056/vue-admin-beautiful/pages" +git push -f "https://${access_token}@github.com/chuzhixin/vue-admin-beautiful.git" master:gh-pages +cd - +exec /bin/bash + + + + diff --git a/http/mock.http b/http/mock.http new file mode 100644 index 0000000..9f437b5 --- /dev/null +++ b/http/mock.http @@ -0,0 +1,70 @@ + +###/changeLog/getList###mockServer +POST http://localhost:80/mock-server/changeLog/getList +Content-Type: application/x-www-form-urlencoded +### +mockServer +###/colorfulIcon/list### +POST http://localhost:80/mock-server/colorfulIcon/list +Content-Type: application/x-www-form-urlencoded +###mockServer + +###/menu/navigate### +POST http://localhost:80/mock-server/menu/navigate +Content-Type: application/x-www-form-urlenmockServer +### + +###/icon/list### +POST http://localhost:80/mock-server/icon/mockServer +Content-Type: application/x-www-form-urlencoded +### + +###/face/list###mockServer +POST http://localhost:80/mock-server/face/list +Content-Type: application/x-www-form-urlencoded +### +mockServer +###/table/list### +POST http://localhost:80/mock-server/table/list +Content-Type: application/x-www-form-urlencoded +###mockServer + +###/remixicon/getList### +POST http://localhost:80/mock-server/remixicon/getList +Content-Type: application/x-www-form-urlenmockServer +### + +###/publicKey### +POST http://localhost:80/mock-server/pumockServer +Content-Type: application/x-www-form-urlencoded +### + +###/tree/list###mockServer +POST http://localhost:80/mock-server/tree/list +Content-Type: application/x-www-form-urlencoded +### +mockServer +###/upload### +POST http://localhost:80/mock-server/upload +Content-Type: application/x-www-form-urlencoded +###mockServer + +###/login### +POST http://localhost:80/mock-server/login +Content-Type: application/x-www-form-urlenmockServer +### + +###/waterfall/list### +POST http://localhost:80/mock-server/waterfall/list +Content-Type: application/x-www-form-urlencoded +### + +###/logout### +POST http://localhost:80/mock-server/logout +Content-Type: application/x-www-form-urlencoded +### + +###/userInfo### +POST http://localhost:80/mock-server/userInfo +Content-Type: application/x-www-form-urlencoded +### diff --git a/mock/controller/ad.js b/mock/controller/ad.js new file mode 100644 index 0000000..226cac4 --- /dev/null +++ b/mock/controller/ad.js @@ -0,0 +1,41 @@ +const data = [ + { + title: + "作为一个程序员,我迄今为止最骄傲的事情:2020年7月10日,vue/cli4作者蒋豪群采纳了我的对sass-loader 9.0全局注入变量的文档修改建议,以后全世界都能看到我的名字了,这远比vue-admin-beautiful更让我有成就感,感谢shaonialife的帮助。", + url: "https://github.com/vuejs/vue-cli/blob/master/docs/zh/guide/css.md", + }, + { + title: + "近日发现一个名为OKMG芒果源码的网站公然出售vue-admin-beautiful的开源代码,在此向大家说明,框架开源版本永久免费,请勿上当受骗。", + url: + "//shang.qq.com/wpa/qunwpa?idkey=14f123ac6d4ef3122bbb60d4693f1d8c951a50be2296951efb12d5ab1642f36b", + }, + { + title: "uView UI:全面的组件和便捷的工具会让您信手拈来,如鱼得水。", + url: "https://uviewui.com/", + }, + { + title: + "认认真真编程,踏踏实实做人;静坐常思己过,闲谈不论人非;希望使用vue-admin-beautiful框架的每个人,无论过程怎样,结局都是美好的。", + url: + "//shang.qq.com/wpa/qunwpa?idkey=14f123ac6d4ef3122bbb60d4693f1d8c951a50be2296951efb12d5ab1642f36b", + }, + { + title: "vue-admin-beautiful前端讨论群-1:972435319", + url: + "//shang.qq.com/wpa/qunwpa?idkey=14f123ac6d4ef3122bbb60d4693f1d8c951a50be2296951efb12d5ab1642f36b", + }, +]; +export default [ + { + 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 0000000..f8a9d2f --- /dev/null +++ b/mock/controller/changeLog.js @@ -0,0 +1,163 @@ +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: "又被人骂了 挺好的 让我下定决心重写了tagsBar", + 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: "彻底完成了tagsbar多标签页的重构", + 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", + }, +]; + +export default [ + { + url: "/changeLog/getList", + type: "post", + response: (config) => { + 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 0000000..6c5dba5 --- /dev/null +++ b/mock/controller/colorfulIcon.js @@ -0,0 +1,328 @@ +const data = [ + "alphabetical_sorting", + "advance", + "address_book", + "alphabetical_sorting", + "advertising", + "alarm_clock", + "area_chart", + "approval", + "answers", + "approve", + "assistant", + "audio_file", + "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", +]; +export default [ + { + 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/goodsDetail.js b/mock/controller/goodsDetail.js new file mode 100644 index 0000000..8af174c --- /dev/null +++ b/mock/controller/goodsDetail.js @@ -0,0 +1,42 @@ +import { mock } from "mockjs"; + +export default [ + { + url: "/goodsDetail/getList", + type: "post", + response: (config) => { + return { + code: 200, + msg: "success", + totalCount: 999, + data: mock({ + "data|10": [ + { + id: "@id", + }, + ], + }).data, + }; + }, + }, + { + url: "/goodsDetail/doEdit", + type: "post", + response: (config) => { + return { + code: 200, + msg: "模拟保存成功", + }; + }, + }, + { + url: "/goodsDetail/doDelete", + type: "post", + response: (config) => { + return { + code: 200, + msg: "模拟删除成功", + }; + }, + }, +]; diff --git a/mock/controller/goodsList.js b/mock/controller/goodsList.js new file mode 100644 index 0000000..e50f6b9 --- /dev/null +++ b/mock/controller/goodsList.js @@ -0,0 +1,43 @@ +import { mock } from "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], + }) + ); +} + +export default [ + { + 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 0000000..2903095 --- /dev/null +++ b/mock/controller/icon.js @@ -0,0 +1,989 @@ +const data = [ + "ad", + "address-book", + "address-card", + "adjust", + "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", +]; +export default [ + { + 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 0000000..81a885e --- /dev/null +++ b/mock/controller/menuManagement.js @@ -0,0 +1,51 @@ +export default [ + { + url: "/menuManagement/getTree", + type: "post", + response: (config) => { + 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: (config) => { + return { + code: 200, + msg: "模拟保存成功", + }; + }, + }, + { + url: "/menuManagement/doDelete", + type: "post", + response: (config) => { + return { + code: 200, + msg: "模拟删除成功", + }; + }, + }, +]; diff --git a/mock/controller/notice.js b/mock/controller/notice.js new file mode 100644 index 0000000..8526caa --- /dev/null +++ b/mock/controller/notice.js @@ -0,0 +1,40 @@ +const data = [ + { + title: + "认认真真编程,踏踏实实做人;静坐常思己过,闲谈不论人非;希望使用vue-admin-beautiful框架的每个人,无论过程怎样,结局都是美好的。。。", + closable: false, + type: "success", + }, + { + title: + "作者寄语:感谢Star,感恩相遇,愿世间美好与我们环环相扣,加油!屏幕前的我们,打破桎梏,坚守初心。其实人生改变命运的机会并没有太多,我们并不是不优秀,我们也并不是一无是处,我们也希望驻足山巅被众人仰望,也许我们缺少的只是一个机会,缺少的只是生命中的导师,我希望这个框架帮助到更多的人,希望有一天,我们面试的时候不再胆怯,希望有一天别人看到的不仅仅是你的努力,还有你的功成名就,出人头地。", + closable: false, + type: "warning", + }, + { + title: + "鸣谢:尤雨溪、蒋豪群、element-ui、唐金州、花裤衩、贤心、iView、uView的开源项目给我带来的很多的灵感,弱小的人才习惯嘲讽与否定,内心强大的人从不吝啬赞美与鼓励,人生在世,得到每个人的认可几乎是痴心妄想,我也只是一条略懂前端的咸鱼,可我仍一直怀揣着改变世界的梦想,希望我们每个人,不管过程怎样,结局都是美好的。", + closable: false, + type: "success", + }, + { + title: + "随笔:我一直在寻找开源的真谛,我一直再想什么是开源,我一开始觉得免费就是开源,好像又不是。我理解的开源是:你也开源,我也开源,大家一起贡献,相互帮助。我最担心的事情是:我一个小人物,去伺候一众的伸手党,我想,这不是开源该有的氛围。我还太年轻,不懂什么是格局,我只知道,无私的帮助他人,能给我带来快乐,却不能给我带来收入,当然,有时候,快乐对我来说就已经足够了。可惜我是一个人,没有精力帮助到每一个人,可惜这个世界需要赚钱,才能过上平凡的生活,可惜了我的梦想,这个物欲横流的时代,理想主义的我们,即使内心坚决如铁,也似乎寸步难行。", + closable: false, + type: "success", + }, +]; + +export default [ + { + 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 0000000..c0f79f0 --- /dev/null +++ b/mock/controller/personalCenter.js @@ -0,0 +1,42 @@ +import { mock } from "mockjs"; + +export default [ + { + 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: (config) => { + return { + code: 200, + msg: "模拟保存成功", + }; + }, + }, + { + url: "/personalCenter/doDelete", + type: "post", + response: (config) => { + return { + code: 200, + msg: "模拟删除成功", + }; + }, + }, +]; diff --git a/mock/controller/remixIcon.js b/mock/controller/remixIcon.js new file mode 100644 index 0000000..a6c9036 --- /dev/null +++ b/mock/controller/remixIcon.js @@ -0,0 +1,2296 @@ +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", + "advertisement-fill", + "advertisement-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", +]; +export default [ + { + 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 0000000..f341ef1 --- /dev/null +++ b/mock/controller/roleManagement.js @@ -0,0 +1,55 @@ +import { mock } from "mockjs"; +const totalCount = 2; +const List = [ + { + id: "@id", + permission: "admin", + }, + { + id: "@id", + permission: "editor", + }, +]; +export default [ + { + url: "/roleManagement/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: "/roleManagement/doEdit", + type: "post", + response: (config) => { + return { + code: 200, + msg: "模拟保存成功", + }; + }, + }, + { + url: "/roleManagement/doDelete", + type: "post", + response: (config) => { + return { + code: 200, + msg: "模拟删除成功", + }; + }, + }, +]; diff --git a/mock/controller/router.js b/mock/controller/router.js new file mode 100644 index 0000000..4286fe1 --- /dev/null +++ b/mock/controller/router.js @@ -0,0 +1,426 @@ +const data = [ + { + path: "/", + component: "Layout", + redirect: "index", + children: [ + { + path: "index", + name: "Index", + component: "views/index/index", + meta: { + title: "首页", + icon: "home", + affix: true, + }, + }, + ], + }, + { + path: "/personalCenter", + component: "Layout", + hidden: true, + redirect: "personalCenter", + children: [ + { + path: "personalCenter", + name: "PersonalCenter", + component: "views/personalCenter/index", + meta: { + title: "个人中心", + }, + }, + ], + }, + { + 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: "EmptyLayout", + redirect: "noRedirect", + name: "Table", + meta: { + title: "表格", + permissions: ["admin"], + }, + children: [ + { + path: "comprehensiveTable", + name: "ComprehensiveTable", + component: "views/vab/table/index", + meta: { title: "综合表格" }, + }, + { + path: "inlineEditTable", + name: "InlineEditTable", + component: "views/vab/table/inlineEditTable", + meta: { title: "行内编辑" }, + }, + ], + }, + { + 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: "card", + name: "Card", + component: "views/vab/card/index", + meta: { title: "卡片", permissions: ["admin"] }, + }, + + { + path: "betterScroll", + name: "BetterScroll", + component: "views/vab/betterScroll/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: "echarts", + name: "Echarts", + component: "views/vab/echarts/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: "qrCode", + name: "QrCode", + component: "views/vab/qrCode/index", + meta: { title: "二维码", permissions: ["admin"] }, + }, + { + 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: "imgComparison", + name: "ImgComparison", + component: "views/vab/imgComparison/index", + meta: { title: "图像拖拽比对", permissions: ["admin"] }, + }, + { + path: "codeGenerator", + name: "CodeGenerator", + component: "views/vab/codeGenerator/index", + meta: { title: "代码生成机", permissions: ["admin"] }, + }, + { + path: "markdown", + name: "Markdown", + component: "views/vab/markdown/index", + meta: { title: "markdown阅读器", 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: "excel", + component: "EmptyLayout", + redirect: "noRedirect", + name: "Excel", + meta: { + title: "Excel", + permissions: ["admin"], + }, + children: [ + { + path: "exportExcel", + component: "views/vab/excel/exportExcel", + name: "ExportExcel", + meta: { title: "导出Excel" }, + }, + { + path: "exportSelectedExcel", + component: "views/vab/excel/exportSelectExcel", + name: "ExportSelectedExcel", + meta: { title: "导出选中行" }, + }, + { + path: "exportMergeHeaderExcel", + component: "views/vab/excel/exportMergeHeaderExcel", + name: "ExportMergeHeaderExcel", + meta: { title: "导出合并" }, + }, + { + path: "uploadExcel", + component: "views/vab/excel/uploadExcel", + name: "UploadExcel", + meta: { title: "上传Excel" }, + }, + ], + }, + { + path: "sticky", + name: "Sticky", + component: "views/vab/sticky/index", + meta: { title: "sticky吸附", 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: "goodsDetail", + name: "GoodsDetail", + component: "views/mall/goodsDetail/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" }, + }, + ], + }, +]; +export default [ + { + 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 0000000..f1a61bd --- /dev/null +++ b/mock/controller/table.js @@ -0,0 +1,88 @@ +import { mock } from "mockjs"; +import { handleRandomImage } from "../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)", + }) + ); +} + +export default [ + { + 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) => { + 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, + }; + }, + }, + { + url: "/table/doEdit", + type: "post", + response: (config) => { + return { + code: 200, + msg: "模拟保存成功", + }; + }, + }, + { + url: "/table/doDelete", + type: "post", + response: (config) => { + return { + code: 200, + msg: "模拟删除成功", + }; + }, + }, +]; diff --git a/mock/controller/tree.js b/mock/controller/tree.js new file mode 100644 index 0000000..7b4da5e --- /dev/null +++ b/mock/controller/tree.js @@ -0,0 +1,54 @@ +const data = [ + { + id: "1", + parentId: "0", + name: "vue-admin-beautiful科技有限公司", + title: "vue-admin-beautiful科技有限公司", + text: "vue-admin-beautiful科技有限公司", + value: "1", + rank: 1, + children: [ + { + id: "32816b88ff72423f960e7d492a386131", + parentId: "1", + name: "1103工作室", + title: "1103工作室", + text: "1103工作室", + value: "32816b88ff72423f960e7d492a386131", + rank: 2, + children: [ + { + id: "9e11afc35d55475fb0bd3164b9684cbe", + parentId: "32816b88ff72423f960e7d492a386131", + name: "前端牛逼plus小组", + title: "前端牛逼plus小组", + text: "前端牛逼plus小组", + value: "9e11afc35d55475fb0bd3164b9684cbe", + rank: 3, + children: [ + { + id: "4cc1b04635e4444292526c5391699077", + parentId: "9e11afc35d55475fb0bd3164b9684cbe", + name: "组员chuzhixin", + title: "组员chuzhixin", + text: "组员chuzhixin", + value: "4cc1b04635e4444292526c5391699077", + rank: 4, + children: [], + }, + ], + }, + ], + }, + ], + }, +]; +export default [ + { + url: "/tree/list", + type: "post", + response: () => { + return { code: 200, msg: "success", data }; + }, + }, +]; diff --git a/mock/controller/upload.js b/mock/controller/upload.js new file mode 100644 index 0000000..97f5ea9 --- /dev/null +++ b/mock/controller/upload.js @@ -0,0 +1,14 @@ +const data = []; +export default [ + { + url: "/upload", + type: "post", + response: (config) => { + return { + code: 200, + msg: "success", + data: data, + }; + }, + }, +]; diff --git a/mock/controller/user.js b/mock/controller/user.js new file mode 100644 index 0000000..61e3034 --- /dev/null +++ b/mock/controller/user.js @@ -0,0 +1,95 @@ +import { handleRandomImage } from "../utils"; +const accessTokens = { + admin: "admin-accessToken", + editor: "editor-accessToken", + test: "test-accessToken", +}; + +export default [ + { + url: "/publicKey", + type: "post", + response: (config) => { + return { + code: 200, + msg: "success", + data: { + mockServer: true, + }, + }; + }, + }, + { + 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 0000000..999332a --- /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", + }, +]; +export default [ + { + 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 0000000..45b3ba0 --- /dev/null +++ b/mock/index.js @@ -0,0 +1,35 @@ +/** + * @copyright chuzhixin 1204505056@qq.com + * @description 导入所有 controller 模块,npm run serve时在node环境中自动输出controller文件夹下Mock接口,请勿修改。 + */ + +import { handleMockArray } from "./utils"; +import chalk from "chalk"; +import fs from "fs"; +import { baseURL, devPort, httpRequestFile } from "../src/config/settings"; + +const mocks = []; +const mockArray = handleMockArray(); + +if (httpRequestFile) { + fs.writeFile("./http/mock.http", "", {}, function (err) { + if (err) throw err; + }); +} +mockArray.forEach(async (item) => { + const obj = require(item).default; + await mocks.push(...obj); + if (httpRequestFile) { + obj.forEach((item) => { + fs.appendFile( + "./http/mock.http", + `\r\n###${item.url}###\r\POST http://localhost:${devPort}/${baseURL}${item.url}\r\nContent-Type: application/x-www-form-urlencoded\r\n###\r\n`, + (error) => { + if (error) + return chalk.red(`\n > 追加HTTP Request失败${error.message}`); + } + ); + }); + } +}); +export default mocks; diff --git a/mock/mockServer.js b/mock/mockServer.js new file mode 100644 index 0000000..583bc3c --- /dev/null +++ b/mock/mockServer.js @@ -0,0 +1,94 @@ +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/settings"); +const mockDir = path.join(process.cwd(), "mock"); + +/** + * + * @param app + * @returns {{mockStartIndex: number, mockRoutesLength: number}} + */ +function registerRoutes(app) { + let mockLastIndex; + const { default: mocks } = require("./index.js"); + 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) { + 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.mock(respond instanceof Function ? respond(req, res) : respond) + ); + }, + }; +}; +/** + * + * @param app + */ +module.exports = (app) => { + require("@babel/register"); + 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/static.js b/mock/static.js new file mode 100644 index 0000000..3b6c3ec --- /dev/null +++ b/mock/static.js @@ -0,0 +1,53 @@ +/** + * @copyright chuzhixin 1204505056@qq.com + * @description 导入所有 controller 模块,浏览器环境中自动输出controller文件夹下Mock接口,请勿修改。 + */ +import Mock from "mockjs"; +import { paramObj } from "../src/utils"; + +const mocks = []; +const files = require.context("./controller", false, /\.js$/); + +files.keys().forEach((key) => { + const obj = files(key).default; + mocks.push(...obj); +}); + +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 XHR2ExpressReqWrap(respond) { + return function (options) { + let result = null; + 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); + }; + } + + for (const i of mocks) { + Mock.mock( + new RegExp(i.url), + i.type || "get", + XHR2ExpressReqWrap(i.response) + ); + } +} diff --git a/mock/utils/index.js b/mock/utils/index.js new file mode 100644 index 0000000..2038ed9 --- /dev/null +++ b/mock/utils/index.js @@ -0,0 +1,39 @@ +import { Random } from "mockjs"; +import { join } from "path"; +import fs from "fs"; + +/** + * @copyright chuzhixin 1204505056@qq.com + * @description 随机生成图片url。 + * @param width + * @param height + * @returns {string} + */ +export function handleRandomImage(width = 50, height = 50) { + return `https://picsum.photos/${width}/${height}?random=${Random.guid()}`; +} + +/** + * @copyright chuzhixin 1204505056@qq.com + * @description 处理所有 controller 模块,npm run serve时在node环境中自动输出controller文件夹下Mock接口,请勿修改。 + * @returns {[]} + */ +export 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; +} diff --git a/package.json b/package.json new file mode 100644 index 0000000..718431b --- /dev/null +++ b/package.json @@ -0,0 +1,121 @@ +{ + "name": "vue-admin-beautiful", + "version": "1.0.0", + "private": true, + "author": "chuzhixin", + "participants": [], + "homepage": "https://chu1204505056.gitee.io/vue-admin-beautiful", + "scripts": { + "serve": "npm run helper&&vue-cli-service serve", + "build": "npm run helper&&vue-cli-service build", + "build:preview": "npm run helper&&vue-cli-service build --mode preview", + "globle": "npm install -g cnpm --registry=https://registry.npm.taobao.org&&cnpm i rimraf npm-check-updates nrm -g&&rimraf node_modules&&cnpm i", + "lint": "vue-cli-service lint --fix", + "lint:style": "stylelint **/*.{vue,css,scss} --fix", + "inspect": "vue-cli-service inspect", + "template": "plop", + "clear": "rimraf node_modules&&cnpm i&&increase-memory-limit", + "use:npm": "nrm use npm", + "use:taobao": "nrm use taobao", + "update": "ncu -u --concurrency 10 --timeout 80000&&cnpm i", + "update:globle": "ncu -g --concurrency 10 --timeout 80000", + "svgo": "svgo -f src/remixIcon/svg --config=svgo.yml", + "push": "start ./push.sh", + "deploy": "start ./deploy.sh", + "increase-memory-limit": "increase-memory-limit", + "helper": "node node_modules/zx-layouts" + }, + "repository": { + "type": "git", + "url": "git+https://github.com/chuzhixin/vue-admin-beautiful.git" + }, + "husky": { + "hooks": { + "pre-commit": "lint-staged" + } + }, + "lint-staged": { + "src/**/*.{js,vue}": [ + "eslint --fix", + "git add" + ] + }, + "dependencies": { + "axios": "^0.19.2", + "better-scroll": "^1.15.2", + "clipboard": "^2.0.6", + "codemirror": "^5.55.0", + "core-js": "^3.6.5", + "dayjs": "^1.8.29", + "echarts": "^4.8.0", + "echarts-wordcloud": "^1.1.3", + "element-ui": "^2.13.2", + "file-saver": "^2.0.2", + "js-cookie": "^2.2.1", + "jsencrypt": "^3.0.0-rc.1", + "jsonlint": "^1.6.3", + "lodash": "^4.17.19", + "maptalks": "^0.47.5", + "mapv": "^2.0.56", + "nprogress": "^0.2.0", + "qs": "^6.9.4", + "screenfull": "^5.0.2", + "vue": "^2.6.11", + "vue-amap": "^0.5.10", + "vue-echarts": "^5.0.0-beta.0", + "vue-qart": "^2.2.0", + "vue-router": "^3.3.4", + "vuedraggable": "^2.24.0", + "vuex": "^3.5.1", + "xlsx": "^0.16.3", + "zx-comparison": "^1.0.3", + "zx-count": "^0.3.7", + "zx-icon": "^1.1.1", + "zx-keel": "^0.9.4", + "zx-layouts": "^0.5.7", + "zx-magnifie": "^0.4.0", + "zx-markdown-editor": "^0.0.2", + "zx-player": "^0.9.6", + "zx-quill": "^0.0.2", + "zx-templates": "^0.0.10", + "zx-verify": "^0.0.2" + }, + "devDependencies": { + "@babel/register": "^7.10.4", + "@vue/cli-plugin-babel": "^4.4.6", + "@vue/cli-plugin-eslint": "^4.4.6", + "@vue/cli-plugin-router": "^4.4.6", + "@vue/cli-plugin-vuex": "^4.4.6", + "@vue/cli-service": "^4.4.6", + "@vue/eslint-config-prettier": "^6.0.0", + "autoprefixer": "^9.8.5", + "babel-eslint": "^10.1.0", + "compression-webpack-plugin": "^4.0.0", + "eslint": "^7.4.0", + "eslint-plugin-prettier": "^3.1.4", + "eslint-plugin-vue": "^6.2.2", + "filemanager-webpack-plugin": "^2.0.5", + "husky": "^4.2.5", + "image-webpack-loader": "^6.0.0", + "increase-memory-limit": "^1.0.7", + "lint-staged": "^10.2.11", + "mockjs": "^1.1.0", + "plop": "^2.7.1", + "prettier": "^2.0.5", + "sass": "^1.26.10", + "sass-loader": "^9.0.2", + "script-loader": "^0.7.2", + "stylelint": "^13.6.1", + "stylelint-config-recess-order": "^2.0.4", + "stylelint-config-standard": "^20.0.0", + "stylelint-order": "^4.1.0", + "svg-sprite-loader": "^5.0.0", + "svgo": "^1.3.2", + "vue-template-compiler": "^2.6.11", + "webpackbar": "^4.0.0" + }, + "engines": { + "node": ">=8.9", + "npm": ">= 3.0.0" + } +} diff --git a/plopfile.js b/plopfile.js new file mode 100644 index 0000000..8fe16ee --- /dev/null +++ b/plopfile.js @@ -0,0 +1,13 @@ +const viewGenerator = require("zx-templates/view/prompt"); +const curdGenerator = require("zx-templates/curd/prompt"); +const componentGenerator = require("zx-templates/component/prompt"); +const mockGenerator = require("zx-templates/mock/prompt"); +const vuexGenerator = require("zx-templates/vuex/prompt"); + +module.exports = (plop) => { + plop.setGenerator("view", viewGenerator); + plop.setGenerator("curd", curdGenerator); + plop.setGenerator("component", componentGenerator); + plop.setGenerator("mock&api", mockGenerator); + plop.setGenerator("vuex", vuexGenerator); +}; diff --git a/postcss.config.js b/postcss.config.js new file mode 100644 index 0000000..a47ef4f --- /dev/null +++ b/postcss.config.js @@ -0,0 +1,5 @@ +module.exports = { + plugins: { + autoprefixer: {}, + }, +}; diff --git a/prettier.config.js b/prettier.config.js new file mode 100644 index 0000000..841e661 --- /dev/null +++ b/prettier.config.js @@ -0,0 +1,15 @@ +module.exports = { + printWidth: 80, + tabWidth: 2, + useTabs: false, + semi: true, + singleQuote: false, + quoteProps: "as-needed", + jsxSingleQuote: false, + trailingComma: "es5", + bracketSpacing: true, + jsxBracketSameLine: false, + arrowParens: "always", + vueIndentScriptAndStyle: false, + endOfLine: "lf", +}; diff --git a/public/favicon.ico b/public/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..7c31c49f635508ef5fcc6df100e681631d5c101d 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 0 HcmV?d00001 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 new file mode 100644 index 0000000..36e22da --- /dev/null +++ b/public/index.html @@ -0,0 +1,47 @@ + + + + + + + + <%= VUE_APP_TITLE %> + + + + + + + + +
+
+
+ +
+

<%= VUE_APP_TITLE %>

+
+
+ + + diff --git a/public/static/css/loading.css b/public/static/css/loading.css new file mode 100644 index 0000000..a7433cc --- /dev/null +++ b/public/static/css/loading.css @@ -0,0 +1,96 @@ +.first-loading-wrp { + display: flex; + flex-direction: column; + align-items: center; + justify-content: center; + height: 90vh; + min-height: 90vh; +} + +.first-loading-wrp > h1 { + font-size: 30px; + font-weight: bolder; +} + +.first-loading-wrp .loading-wrp { + display: flex; + align-items: center; + justify-content: center; + padding: 98px; +} + +.dot { + position: relative; + box-sizing: border-box; + display: inline-block; + width: 64px; + height: 64px; + font-size: 64px; + transform: rotate(45deg); + animation: antRotate 1.2s infinite linear; +} + +.dot i { + position: absolute; + display: block; + width: 28px; + height: 28px; + background-color: #1890ff; + border-radius: 100%; + opacity: 0.3; + transform: scale(0.75); + transform-origin: 50% 50%; + animation: antSpinMove 1s infinite linear alternate; +} + +.dot i:nth-child(1) { + top: 0; + left: 0; +} + +.dot i:nth-child(2) { + top: 0; + right: 0; + -webkit-animation-delay: 0.4s; + animation-delay: 0.4s; +} + +.dot i:nth-child(3) { + right: 0; + bottom: 0; + -webkit-animation-delay: 0.8s; + animation-delay: 0.8s; +} + +.dot i:nth-child(4) { + bottom: 0; + left: 0; + -webkit-animation-delay: 1.2s; + animation-delay: 1.2s; +} + +@keyframes antRotate { + to { + -webkit-transform: rotate(405deg); + transform: rotate(405deg); + } +} + +@-webkit-keyframes antRotate { + to { + -webkit-transform: rotate(405deg); + transform: rotate(405deg); + } +} + +@keyframes antSpinMove { + to { + opacity: 1; + } +} + +@-webkit-keyframes antSpinMove { + to { + opacity: 1; + } +} diff --git a/push.sh b/push.sh new file mode 100644 index 0000000..66ed8e9 --- /dev/null +++ b/push.sh @@ -0,0 +1,13 @@ +#!/usr/bin/env bash +set -e +git init +git add -A +git commit -m 'deploy' +git push -f "https://${access_token}@github.com/chuzhixin/vue-admin-beautiful.git" master +git push -f "https://${access_token}@gitee.com/chu1204505056/vue-admin-beautiful.git" master +start "https://github.com/chuzhixin/vue-admin-beautiful" +exec /bin/bash + + + + diff --git a/src/App.vue b/src/App.vue new file mode 100644 index 0000000..e2ad31f --- /dev/null +++ b/src/App.vue @@ -0,0 +1,12 @@ + + + diff --git a/src/api/ad.js b/src/api/ad.js new file mode 100644 index 0000000..cb8411e --- /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 0000000..61936c7 --- /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 0000000..1144767 --- /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/face.js b/src/api/face.js new file mode 100644 index 0000000..1bcec2e --- /dev/null +++ b/src/api/face.js @@ -0,0 +1,25 @@ +import request from "@/utils/request"; + +export function getList(data) { + return request({ + url: "/face/list", + method: "post", + data, + }); +} + +export function doEdit(data) { + return request({ + url: "/face/edit", + method: "post", + data, + }); +} + +export function doDelete(data) { + return request({ + url: "/face/delete", + method: "post", + data, + }); +} diff --git a/src/api/github.js b/src/api/github.js new file mode 100644 index 0000000..f2e01a9 --- /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/goodsDetail.js b/src/api/goodsDetail.js new file mode 100644 index 0000000..4540689 --- /dev/null +++ b/src/api/goodsDetail.js @@ -0,0 +1,9 @@ +import request from "@/utils/request"; + +export function getList(data) { + return request({ + url: "/goodsDetail/getList", + method: "post", + data, + }); +} diff --git a/src/api/goodsList.js b/src/api/goodsList.js new file mode 100644 index 0000000..5bd5d28 --- /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 0000000..ec62152 --- /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/menuManagement.js b/src/api/menuManagement.js new file mode 100644 index 0000000..c68d851 --- /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 0000000..a528ebb --- /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 0000000..3626f68 --- /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 0000000..167597a --- /dev/null +++ b/src/api/publicKey.js @@ -0,0 +1,8 @@ +import request from "@/utils/request"; + +export function getPublicKey(data) { + return request({ + url: "/publicKey", + method: "post", + }); +} diff --git a/src/api/remixIcon.js b/src/api/remixIcon.js new file mode 100644 index 0000000..5483110 --- /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 0000000..500645b --- /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 0000000..563bfe3 --- /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 0000000..5e60896 --- /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 0000000..471a49b --- /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 0000000..65871c4 --- /dev/null +++ b/src/api/user.js @@ -0,0 +1,37 @@ +import request from "@/utils/request"; +import { encryptedData } from "@/utils/encrypt"; +import { loginRSA } from "@/config/settings"; + +export async function login(data) { + if (loginRSA) { + data = await encryptedData(data); + } + return request({ + url: "/login", + method: "post", + data, + }); +} + +export function getInfo(accessToken) { + return request({ + url: "/userInfo", + method: "post", + data: { + 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 0000000..ce923d6 --- /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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 { + /*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 0000000..3cfa035 --- /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 0000000..f8521cc --- /dev/null +++ b/src/colorfulIcon/svg/vab.svg @@ -0,0 +1,22 @@ + + + + + + + + + + + + + + + + + + diff --git a/src/components/ColorfullIcon/index.vue b/src/components/ColorfullIcon/index.vue new file mode 100644 index 0000000..6712055 --- /dev/null +++ b/src/components/ColorfullIcon/index.vue @@ -0,0 +1,65 @@ + + + + + diff --git a/src/components/JsonEditor/index.vue b/src/components/JsonEditor/index.vue new file mode 100644 index 0000000..98eb21b --- /dev/null +++ b/src/components/JsonEditor/index.vue @@ -0,0 +1,111 @@ + + + + + diff --git a/src/views/vab/codeGenerator/components/snippetTable.js b/src/views/vab/codeGenerator/components/snippetTable.js new file mode 100644 index 0000000..0ce4ba5 --- /dev/null +++ b/src/views/vab/codeGenerator/components/snippetTable.js @@ -0,0 +1,154 @@ +import { genTableColumnSnippet } from "./snippetTableColumn"; + +export const genTableSnippet = (headers = "getList") => { + return ` + + + +`; +}; diff --git a/src/views/vab/codeGenerator/components/snippetTableColumn.js b/src/views/vab/codeGenerator/components/snippetTableColumn.js new file mode 100644 index 0000000..6b39700 --- /dev/null +++ b/src/views/vab/codeGenerator/components/snippetTableColumn.js @@ -0,0 +1,40 @@ +const timeFieldNeedHandle = { + created_at: true, + create_time: true, + updated_at: true, + update_time: true, + start_time: true, + end_time: true, +}; +const genTableColumnSnippetSimple = (key, label) => { + return ``; +}; + +const genTabeleColumnSinppetTemplate = (key, label) => { + let val = ""; + if (timeFieldNeedHandle[key]) { + val = `parseTime(row.${key})`; + } else { + val = `row.${key}`; + } + return ` + + `; +}; + +export const genTableColumnSnippet = (headers) => { + return headers + .filter((header) => { + return header.show; + }) + .map((header) => { + if (timeFieldNeedHandle[header.key] || header.opt === "template") { + return genTabeleColumnSinppetTemplate(header.key, header.label); + } else { + return genTableColumnSnippetSimple(header.key, header.label); + } + }) + .join("\n "); +}; diff --git a/src/views/vab/codeGenerator/index.vue b/src/views/vab/codeGenerator/index.vue new file mode 100644 index 0000000..b8cb9ea --- /dev/null +++ b/src/views/vab/codeGenerator/index.vue @@ -0,0 +1,36 @@ + + + diff --git a/src/views/vab/echarts/index.vue b/src/views/vab/echarts/index.vue new file mode 100644 index 0000000..fe3a36e --- /dev/null +++ b/src/views/vab/echarts/index.vue @@ -0,0 +1,655 @@ + + + + + diff --git a/src/views/vab/editor/index.vue b/src/views/vab/editor/index.vue new file mode 100644 index 0000000..fe261e2 --- /dev/null +++ b/src/views/vab/editor/index.vue @@ -0,0 +1,128 @@ + + + + diff --git a/src/views/vab/element/index.vue b/src/views/vab/element/index.vue new file mode 100644 index 0000000..f873b0a --- /dev/null +++ b/src/views/vab/element/index.vue @@ -0,0 +1,253 @@ + + + + + diff --git a/src/views/vab/errorLog/components/ErrorTest.vue b/src/views/vab/errorLog/components/ErrorTest.vue new file mode 100644 index 0000000..1d04809 --- /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 0000000..fb50328 --- /dev/null +++ b/src/views/vab/errorLog/index.vue @@ -0,0 +1,28 @@ + + + diff --git a/src/views/vab/excel/exportExcel.vue b/src/views/vab/excel/exportExcel.vue new file mode 100644 index 0000000..22047b2 --- /dev/null +++ b/src/views/vab/excel/exportExcel.vue @@ -0,0 +1,125 @@ + + + diff --git a/src/views/vab/excel/exportMergeHeaderExcel.vue b/src/views/vab/excel/exportMergeHeaderExcel.vue new file mode 100644 index 0000000..a10a0ca --- /dev/null +++ b/src/views/vab/excel/exportMergeHeaderExcel.vue @@ -0,0 +1,99 @@ + + + diff --git a/src/views/vab/excel/exportSelectExcel.vue b/src/views/vab/excel/exportSelectExcel.vue new file mode 100644 index 0000000..689163a --- /dev/null +++ b/src/views/vab/excel/exportSelectExcel.vue @@ -0,0 +1,107 @@ + + + diff --git a/src/views/vab/excel/uploadExcel.vue b/src/views/vab/excel/uploadExcel.vue new file mode 100644 index 0000000..752990a --- /dev/null +++ b/src/views/vab/excel/uploadExcel.vue @@ -0,0 +1,51 @@ + + + diff --git a/src/views/vab/form/index.vue b/src/views/vab/form/index.vue new file mode 100644 index 0000000..fd39c68 --- /dev/null +++ b/src/views/vab/form/index.vue @@ -0,0 +1,104 @@ + + + diff --git a/src/views/vab/icon/colorfulIcon.vue b/src/views/vab/icon/colorfulIcon.vue new file mode 100644 index 0000000..ab6306a --- /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 0000000..5b3af6a --- /dev/null +++ b/src/views/vab/icon/index.vue @@ -0,0 +1,141 @@ + + + + + diff --git a/src/views/vab/icon/remixIcon.vue b/src/views/vab/icon/remixIcon.vue new file mode 100644 index 0000000..e15fd52 --- /dev/null +++ b/src/views/vab/icon/remixIcon.vue @@ -0,0 +1,153 @@ + + + + + diff --git a/src/views/vab/imgComparison/index.vue b/src/views/vab/imgComparison/index.vue new file mode 100644 index 0000000..1670116 --- /dev/null +++ b/src/views/vab/imgComparison/index.vue @@ -0,0 +1,53 @@ + + + diff --git a/src/views/vab/loading/index.vue b/src/views/vab/loading/index.vue new file mode 100644 index 0000000..277bbba --- /dev/null +++ b/src/views/vab/loading/index.vue @@ -0,0 +1,69 @@ + + + + + diff --git a/src/views/vab/lodash/index.vue b/src/views/vab/lodash/index.vue new file mode 100644 index 0000000..04885c3 --- /dev/null +++ b/src/views/vab/lodash/index.vue @@ -0,0 +1,210 @@ + + + + diff --git a/src/views/vab/magnifier/index.vue b/src/views/vab/magnifier/index.vue new file mode 100644 index 0000000..e53063f --- /dev/null +++ b/src/views/vab/magnifier/index.vue @@ -0,0 +1,35 @@ + + + diff --git a/src/views/vab/map/amap.vue b/src/views/vab/map/amap.vue new file mode 100644 index 0000000..c3fd275 --- /dev/null +++ b/src/views/vab/map/amap.vue @@ -0,0 +1,27 @@ + + + + diff --git a/src/views/vab/map/index.vue b/src/views/vab/map/index.vue new file mode 100644 index 0000000..32f6a51 --- /dev/null +++ b/src/views/vab/map/index.vue @@ -0,0 +1,115 @@ + + + + diff --git a/src/views/vab/markdown/index.vue b/src/views/vab/markdown/index.vue new file mode 100644 index 0000000..c68671a --- /dev/null +++ b/src/views/vab/markdown/index.vue @@ -0,0 +1,69 @@ + + + diff --git a/src/views/vab/markdown/js/markdown.js b/src/views/vab/markdown/js/markdown.js new file mode 100644 index 0000000..4d467a8 --- /dev/null +++ b/src/views/vab/markdown/js/markdown.js @@ -0,0 +1,387 @@ +const md = `--- +id: options +title: Options +--- + +Prettier ships with a handful of customizable format options, usable in both the CLI and API. + +## Print Width + +Specify the line length that the printer will wrap on. + +> **For readability we recommend against using more than 80 characters:** +> +> In code styleguides, maximum line length rules are often set to 100 or 120. However, when humans write code, they don't strive to reach the maximum number of columns on every line. Developers often use whitespace to break up long lines for readability. In practice, the average line length often ends up well below the maximum. +> +> Prettier, on the other hand, strives to fit the most code into every line. With the print width set to 120, prettier may produce overly compact, or otherwise undesirable code. +> +> See the [print width rationale](rationale.md#print-width) for more information. + +| Default | CLI Override | API Override | +| ------- | --------------------- | ------------------- | +| \`80\` | \`--print-width \` | \`printWidth: \` | + +(If you don't want line wrapping when formatting Markdown, you can set the [Prose Wrap](#prose-wrap) option to disable it.) + +## Tab Width + +Specify the number of spaces per indentation-level. + +| Default | CLI Override | API Override | +| ------- | ------------------- | ----------------- | +| \`2\` | \`--tab-width \` | \`tabWidth: \` | + +## Tabs + +Indent lines with tabs instead of spaces. + +| Default | CLI Override | API Override | +| ------- | ------------ | ----------------- | +| \`false\` | \`--use-tabs\` | \`useTabs: \` | + +(Tabs will be used for _indentation_ but Prettier uses spaces to _align_ things, such as in ternaries.) + +## Semicolons + +Print semicolons at the ends of statements. + +Valid options: + +- \`true\` - Add a semicolon at the end of every statement. +- \`false\` - Only add semicolons at the beginning of lines that [may introduce ASI failures](rationale.md#semicolons). + +| Default | CLI Override | API Override | +| ------- | ------------ | -------------- | +| \`true\` | \`--no-semi\` | \`semi: \` | + +## Quotes + +Use single quotes instead of double quotes. + +Notes: + +- JSX quotes ignore this option – see [jsx-single-quote](#jsx-quotes). +- If the number of quotes outweighs the other quote, the quote which is less used will be used to format the string - Example: \`"I'm double quoted"\` results in \`"I'm double quoted"\` and \`"This \\"example\\" is single quoted"\` results in \`'This "example" is single quoted'\`. + +See the [strings rationale](rationale.md#strings) for more information. + +| Default | CLI Override | API Override | +| ------- | ---------------- | --------------------- | +| \`false\` | \`--single-quote\` | \`singleQuote: \` | + +## Quote Props + +Change when properties in objects are quoted. + +Valid options: + +- \`"as-needed"\` - Only add quotes around object properties where required. +- \`"consistent"\` - If at least one property in an object requires quotes, quote all properties. +- \`"preserve"\` - Respect the input use of quotes in object properties. + +| Default | CLI Override | API Override | +| ------------- | -------------------------------------------------------------------- | -------------------------------------------------------------------- | +| \`"as-needed"\` | --quote-props | quoteProps: "" | + +## JSX Quotes + +Use single quotes instead of double quotes in JSX. + +| Default | CLI Override | API Override | +| ------- | -------------------- | ------------------------ | +| \`false\` | \`--jsx-single-quote\` | \`jsxSingleQuote: \` | + +## Trailing Commas + +_Default value changed from \`none\` to \`es5\` in v2.0.0_ + +Print trailing commas wherever possible when multi-line. (A single-line array, for example, never gets trailing commas.) + +Valid options: + +- \`"es5"\` - Trailing commas where valid in ES5 (objects, arrays, etc.) +- \`"none"\` - No trailing commas. +- \`"all"\` - Trailing commas wherever possible (including function arguments). This requires node 8 or a [transform](https://babeljs.io/docs/plugins/syntax-trailing-function-commas/). + +| Default | CLI Override | API Override | +| ------- | ------------------------------------------------------ | ------------------------------------------------------ | +| \`"es5"\` | --trailing-comma | trailingComma: "" | + +## Bracket Spacing + +Print spaces between brackets in object literals. + +Valid options: + +- \`true\` - Example: \`{ foo: bar }\`. +- \`false\` - Example: \`{foo: bar}\`. + +| Default | CLI Override | API Override | +| ------- | ---------------------- | ------------------------ | +| \`true\` | \`--no-bracket-spacing\` | \`bracketSpacing: \` | + +## JSX Brackets + +Put the \`>\` of a multi-line JSX element at the end of the last line instead of being alone on the next line (does not apply to self closing elements). + +Valid options: + +- \`true\` - Example: + + +\`\`\`jsx + +\`\`\` + +- \`false\` - Example: + + +\`\`\`jsx + +\`\`\` + +| Default | CLI Override | API Override | +| ------- | ------------------------- | ---------------------------- | +| \`false\` | \`--jsx-bracket-same-line\` | \`jsxBracketSameLine: \` | + +## Arrow Function Parentheses + +_First available in v1.9.0, default value changed from \`avoid\` to \`always\` in v2.0.0_ + +Include parentheses around a sole arrow function parameter. + +Valid options: + +- \`"always"\` - Always include parens. Example: \`(x) => x\` +- \`"avoid"\` - Omit parens when possible. Example: \`x => x\` + +| Default | CLI Override | API Override | +| ---------- | ----------------------------------------------- | ----------------------------------------------- | +| \`"always"\` | --arrow-parens | arrowParens: "" | + +At first glance, avoiding parentheses may look like a better choice because of less visual noise. +However, when Prettier removes parentheses, it becomes harder to add type annotations, extra arguments or default values as well as making other changes. +Consistent use of parentheses provides a better developer experience when editing real codebases, which justifies the default value for the option. + +## Range + +Format only a segment of a file. + +These two options can be used to format code starting and ending at a given character offset (inclusive and exclusive, respectively). The range will extend: + +- Backwards to the start of the first line containing the selected statement. +- Forwards to the end of the selected statement. + +These options cannot be used with \`cursorOffset\`. + +| Default | CLI Override | API Override | +| ---------- | --------------------- | ------------------- | +| \`0\` | \`--range-start \` | \`rangeStart: \` | +| \`Infinity\` | \`--range-end \` | \`rangeEnd: \` | + +## Parser + +Specify which parser to use. + +Prettier automatically infers the parser from the input file path, so you shouldn't have to change this setting. + +Both the \`babel\` and \`flow\` parsers support the same set of JavaScript features (including Flow type annotations). They might differ in some edge cases, so if you run into one of those you can try \`flow\` instead of \`babel\`. Almost the same applies to \`typescript\` and \`babel-ts\`. \`babel-ts\` might support JavaScript features (proposals) not yet supported by TypeScript, but it's less permissive when it comes to invalid code and less battle-tested than the \`typescript\` parser. + +Valid options: + +- \`"babel"\` (via [@babel/parser](https://github.com/babel/babel/tree/master/packages/babel-parser)) _Named \`"babylon"\` until v1.16.0_ +- \`"babel-flow"\` (same as \`"babel"\` but enables Flow parsing explicitly to avoid ambiguity) _First available in v1.16.0_ +- \`"babel-ts"\` (similar to \`"typescript"\` but uses Babel and its TypeScript plugin) _First available in v2.0.0_ +- \`"flow"\` (via [flow-parser](https://github.com/facebook/flow/tree/master/src/parser)) +- \`"typescript"\` (via [@typescript-eslint/typescript-estree](https://github.com/typescript-eslint/typescript-eslint)) _First available in v1.4.0_ +- \`"css"\` (via [postcss-scss](https://github.com/postcss/postcss-scss) and [postcss-less](https://github.com/shellscape/postcss-less), autodetects which to use) _First available in v1.7.1_ +- \`"scss"\` (same parsers as \`"css"\`, prefers postcss-scss) _First available in v1.7.1_ +- \`"less"\` (same parsers as \`"css"\`, prefers postcss-less) _First available in v1.7.1_ +- \`"json"\` (via [@babel/parser parseExpression](https://babeljs.io/docs/en/next/babel-parser.html#babelparserparseexpressioncode-options)) _First available in v1.5.0_ +- \`"json5"\` (same parser as \`"json"\`, but outputs as [json5](https://json5.org/)) _First available in v1.13.0_ +- \`"json-stringify"\` (same parser as \`"json"\`, but outputs like \`JSON.stringify\`) _First available in v1.13.0_ +- \`"graphql"\` (via [graphql/language](https://github.com/graphql/graphql-js/tree/master/src/language)) _First available in v1.5.0_ +- \`"markdown"\` (via [remark-parse](https://github.com/wooorm/remark/tree/master/packages/remark-parse)) _First available in v1.8.0_ +- \`"mdx"\` (via [remark-parse](https://github.com/wooorm/remark/tree/master/packages/remark-parse) and [@mdx-js/mdx](https://github.com/mdx-js/mdx/tree/master/packages/mdx)) _First available in v1.15.0_ +- \`"html"\` (via [angular-html-parser](https://github.com/ikatyang/angular-html-parser/tree/master/packages/angular-html-parser)) _First available in 1.15.0_ +- \`"vue"\` (same parser as \`"html"\`, but also formats vue-specific syntax) _First available in 1.10.0_ +- \`"angular"\` (same parser as \`"html"\`, but also formats angular-specific syntax via [angular-estree-parser](https://github.com/ikatyang/angular-estree-parser)) _First available in 1.15.0_ +- \`"lwc"\` (same parser as \`"html"\`, but also formats LWC-specific syntax for unquoted template attributes) _First available in 1.17.0_ +- \`"yaml"\` (via [yaml](https://github.com/eemeli/yaml) and [yaml-unist-parser](https://github.com/ikatyang/yaml-unist-parser)) _First available in 1.14.0_ + +[Custom parsers](api.md#custom-parser-api) are also supported. _First available in v1.5.0_ + +| Default | CLI Override | API Override | +| ------- | ----------------------------------------------- | ---------------------------------------------------------- | +| None | \`--parser \`
\`--parser ./my-parser\` | \`parser: ""\`
\`parser: require("./my-parser")\` | + +Note: the default value was \`"babylon"\` until v1.13.0. + +
+ +## File Path + +Specify the file name to use to infer which parser to use. + +For example, the following will use the CSS parser: + +\`\`\`bash +cat foo | prettier --stdin-filepath foo.css +\`\`\` + +| Default | CLI Override | API Override | +| ------- | --------------------------- | ---------------------- | +| None | \`--stdin-filepath \` | \`filepath: ""\` | + +## Require pragma + +_First available in v1.7.0_ + +Prettier can restrict itself to only format files that contain a special comment, called a pragma, at the top of the file. This is very useful when gradually transitioning large, unformatted codebases to prettier. + +For example, a file with the following as its first comment will be formatted when \`--require-pragma\` is supplied: + +\`\`\`js +/** + * @prettier + */ +\`\`\` + +or + +\`\`\`js +/** + * @format + */ +\`\`\` + +| Default | CLI Override | API Override | +| ------- | ------------------ | ----------------------- | +| \`false\` | \`--require-pragma\` | \`requirePragma: \` | + +## Insert Pragma + +_First available in v1.8.0_ + +Prettier can insert a special @format marker at the top of files specifying that the file has been formatted with prettier. This works well when used in tandem with the \`--require-pragma\` option. If there is already a docblock at the top of the file then this option will add a newline to it with the @format marker. + +| Default | CLI Override | API Override | +| ------- | ----------------- | ---------------------- | +| \`false\` | \`--insert-pragma\` | \`insertPragma: \` | + +## Prose Wrap + +_First available in v1.8.2_ + +By default, Prettier will wrap markdown text as-is since some services use a linebreak-sensitive renderer, e.g. GitHub comment and BitBucket. In some cases you may want to rely on editor/viewer soft wrapping instead, so this option allows you to opt out with \`"never"\`. + +Valid options: + +- \`"always"\` - Wrap prose if it exceeds the print width. +- \`"never"\` - Do not wrap prose. +- \`"preserve"\` - Wrap prose as-is. _First available in v1.9.0_ + +| Default | CLI Override | API Override | +| ------------ | ----------------------------------------------------------- | ----------------------------------------------------------- | +| \`"preserve"\` | --prose-wrap | proseWrap: "" | + +## HTML Whitespace Sensitivity + +_First available in v1.15.0_ + +Specify the global whitespace sensitivity for HTML files, see [whitespace-sensitive formatting] for more info. + +[whitespace-sensitive formatting]: https://prettier.io/blog/2018/11/07/1.15.0.html#whitespace-sensitive-formatting + +Valid options: + +- \`"css"\` - Respect the default value of CSS \`display\` property. +- \`"strict"\` - Whitespaces are considered sensitive. +- \`"ignore"\` - Whitespaces are considered insensitive. + +| Default | CLI Override | API Override | +| ------- | ------------------------------------------------------------------------ | ----------------------------------------------------------------------- | +| \`"css"\` | --html-whitespace-sensitivity | htmlWhitespaceSensitivity: "" | + +## Vue files script and style tags indentation + +_First available in v1.19.0_ + +Whether or not to indent the code inside \` diff --git a/src/views/vab/more/index.vue b/src/views/vab/more/index.vue new file mode 100644 index 0000000..a5e7149 --- /dev/null +++ b/src/views/vab/more/index.vue @@ -0,0 +1,115 @@ + + + + diff --git a/src/views/vab/nested/menu1/index.vue b/src/views/vab/nested/menu1/index.vue new file mode 100644 index 0000000..43702fc --- /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 0000000..35c8eef --- /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 0000000..e35d3f3 --- /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 0000000..d0d7379 --- /dev/null +++ b/src/views/vab/permissions/index.vue @@ -0,0 +1,165 @@ + + + diff --git a/src/views/vab/player/index.vue b/src/views/vab/player/index.vue new file mode 100644 index 0000000..ab2f81c --- /dev/null +++ b/src/views/vab/player/index.vue @@ -0,0 +1,73 @@ + + + diff --git a/src/views/vab/qrCode/index.vue b/src/views/vab/qrCode/index.vue new file mode 100644 index 0000000..0c3593e --- /dev/null +++ b/src/views/vab/qrCode/index.vue @@ -0,0 +1,46 @@ + + + + + diff --git a/src/views/vab/smallComponents/index.vue b/src/views/vab/smallComponents/index.vue new file mode 100644 index 0000000..f3a013b --- /dev/null +++ b/src/views/vab/smallComponents/index.vue @@ -0,0 +1,109 @@ + + + + diff --git a/src/views/vab/sticky/index.vue b/src/views/vab/sticky/index.vue new file mode 100644 index 0000000..589b557 --- /dev/null +++ b/src/views/vab/sticky/index.vue @@ -0,0 +1,314 @@ + + + + diff --git a/src/views/vab/table/components/TableEdit.vue b/src/views/vab/table/components/TableEdit.vue new file mode 100644 index 0000000..a3b5243 --- /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 0000000..051c0a1 --- /dev/null +++ b/src/views/vab/table/index.vue @@ -0,0 +1,265 @@ + + + diff --git a/src/views/vab/table/inlineEditTable.vue b/src/views/vab/table/inlineEditTable.vue new file mode 100644 index 0000000..e6aa360 --- /dev/null +++ b/src/views/vab/table/inlineEditTable.vue @@ -0,0 +1,109 @@ + + + diff --git a/src/views/vab/tree/index.vue b/src/views/vab/tree/index.vue new file mode 100644 index 0000000..ea78822 --- /dev/null +++ b/src/views/vab/tree/index.vue @@ -0,0 +1,471 @@ + + + diff --git a/src/views/vab/upload/index.vue b/src/views/vab/upload/index.vue new file mode 100644 index 0000000..5d1c78e --- /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 0000000..43432c8 --- /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 0000000..e0650b0 --- /dev/null +++ b/src/views/vab/webSocket/index.vue @@ -0,0 +1,87 @@ + + + diff --git a/svgo.yml b/svgo.yml new file mode 100644 index 0000000..31ca449 --- /dev/null +++ b/svgo.yml @@ -0,0 +1,4 @@ +plugins: + - removeAttrs: + attrs: + - "fill-rule" diff --git a/vue.config.js b/vue.config.js new file mode 100644 index 0000000..0561889 --- /dev/null +++ b/vue.config.js @@ -0,0 +1,208 @@ +const path = require("path"); +const { + publicPath, + assetsDir, + outputDir, + lintOnSave, + transpileDependencies, + title, + abbreviation, + devPort, + providePlugin, + build7z, +} = require("./src/config/settings"); +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 = new dayjs().format("YYYY_M_D"); +const time = new dayjs().format("YYYY-M-D HH:mm:ss"); +const CompressionWebpackPlugin = require("compression-webpack-plugin"); +const productionGzipExtensions = ["html", "js", "css", "svg"]; +process.env.VUE_APP_TITLE = title || "vue-admin-beautiful"; +process.env.VUE_APP_AUTHOR = author || "chuzhixin"; +process.env.VUE_APP_UPDATE_TIME = time; +process.env.VUE_APP_VERSION = version; +function resolve(dir) { + return path.join(__dirname, dir); +} + +function mockServer() { + if (process.env.NODE_ENV === "development") { + const mockServer = require("./mock/mockServer.js"); + return mockServer; + } else { + return ""; + } +} + +module.exports = { + publicPath, + assetsDir, + outputDir, + lintOnSave, + transpileDependencies, + devServer: { + hot: true, + port: devPort, + open: true, + noInfo: false, + overlay: { + warnings: true, + errors: true, + }, + after: mockServer(), + }, + configureWebpack() { + return { + resolve: { + alias: { + "@": resolve("src"), + "^": resolve("src/components"), + }, + }, + plugins: [ + new Webpack.ProvidePlugin(providePlugin), + new WebpackBar({ + name: `\u0076\u0075\u0065\u002d\u0061\u0064\u006d\u0069\u006e\u002d\u0062\u0065\u0061\u0075\u0074\u0069\u0066\u0075\u006c`, + }), + ], + }; + }, + chainWebpack(config) { + /* config.plugins.delete("preload"); + config.plugins.delete("prefetch"); */ + config.module + .rule("svg") + .exclude.add(resolve("src/remixIcon")) + .add(resolve("src/colorfulIcon")) + .end(); + config.module + .rule("remixIcon") + .test(/\.svg$/) + .include.add(resolve("src/remixIcon")) + .end() + .use("svg-sprite-loader") + .loader("svg-sprite-loader") + .options({ symbolId: "remix-icon-[name]" }) + .end(); + config.module + .rule("colorfulIcon") + .test(/\.svg$/) + .include.add(resolve("src/colorfulIcon")) + .end() + .use("svg-sprite-loader") + .loader("svg-sprite-loader") + .options({ symbolId: "colorful-icon-[name]" }) + .end(); + config.when(process.env.NODE_ENV === "development", (config) => { + config.devtool("cheap-source-map"); + }); + config.when(process.env.NODE_ENV !== "development", (config) => { + config.performance.set("hints", false); + config.devtool("none"); + config.optimization.splitChunks({ + chunks: "all", + cacheGroups: { + libs: { + name: "chunk-libs", + test: /[\\/]node_modules[\\/]/, + priority: 10, + chunks: "initial", + }, + elementUI: { + name: "chunk-elementUI", + priority: 20, + test: /[\\/]node_modules[\\/]_?element-ui(.*)/, + }, + fortawesome: { + name: "chunk-fortawesome", + priority: 20, + test: /[\\/]node_modules[\\/]_?@fortawesome(.*)/, + }, + commons: { + name: "chunk-commons", + test: resolve("src/components"), + minChunks: 3, + priority: 5, + reuseExistingChunk: true, + }, + }, + }); + config + .plugin("banner") + .use(Webpack.BannerPlugin, [ + ` \u57fa\u4e8e\u0076\u0075\u0065\u002d\u0061\u0064\u006d\u0069\u006e\u002d\u0062\u0065\u0061\u0075\u0074\u0069\u0066\u0075\u006c\u6784\u5efa \n \u0063\u006f\u0070\u0079\u0072\u0069\u0067\u0068\u0074\u003a\u0020\u0063\u0068\u0075\u007a\u0068\u0069\u0078\u0069\u006e\u0020\u0031\u0032\u0030\u0034\u0035\u0030\u0035\u0030\u0035\u0036\u0040\u0071\u0071\u002e\u0063\u006f\u006d \n \u0074\u0069\u006d\u0065\u003a ${time}`, + ]) + .end(); + config + .plugin("compression") + .use(CompressionWebpackPlugin, [ + { + filename: "[path].gz[query]", + algorithm: "gzip", + test: new RegExp( + "\\.(" + productionGzipExtensions.join("|") + ")$" + ), + threshold: 8192, + minRatio: 0.8, + }, + ]) + .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, + css: { + requireModuleExtension: true, + sourceMap: true, + loaderOptions: { + scss: { + /*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 content; + }, + }, + }, + }, +};