diff --git a/.browserslistrc b/.browserslistrc index ab3713ad8..214388fe4 100644 --- a/.browserslistrc +++ b/.browserslistrc @@ -1,5 +1,3 @@ -# 支持浏览器配置 > 1% last 2 versions not dead - diff --git a/.editorconfig b/.editorconfig index 7b06489a1..7053c49a0 100644 --- a/.editorconfig +++ b/.editorconfig @@ -1,14 +1,5 @@ -# 编辑器配置 - -root = true - -[*] -charset = utf-8 -end_of_line = lf -indent_size = 2 +[*.{js,jsx,ts,tsx,vue}] indent_style = space -insert_final_newline = true +indent_size = 2 trim_trailing_whitespace = true - -[*.md] -trim_trailing_whitespace = false +insert_final_newline = true diff --git a/.eslintrc.js b/.eslintrc.js index 5b96111ea..c1213b324 100644 --- a/.eslintrc.js +++ b/.eslintrc.js @@ -1,5 +1,4 @@ /** - * @description .eslintrc.js */ diff --git a/.gitattributes b/.gitattributes deleted file mode 100644 index 1fa0664d7..000000000 --- a/.gitattributes +++ /dev/null @@ -1,12 +0,0 @@ -# .gitattributes -*.html text eol=lf -*.css text eol=lf -*.js text eol=lf -*.scss text eol=lf -*.vue text eol=lf -*.hbs text eol=lf -*.sh text eol=lf -*.md text eol=lf -*.json text eol=lf -*.yml text eol=lf -*.js linguist-language=vue \ No newline at end of file diff --git a/.gitignore b/.gitignore index 6b55d8359..403adbc1e 100644 --- a/.gitignore +++ b/.gitignore @@ -1,26 +1,23 @@ -# .gitignore .DS_Store node_modules -dist +/dist + + +# local env files .env.local .env.*.local + +# Log files npm-debug.log* -yarn.lock yarn-debug.log* yarn-error.log* +pnpm-debug.log* + +# Editor directories and files .idea +.vscode *.suo *.ntvs* *.njsproj *.sln *.sw? -public/video -*.zip -*.7z -/src/layouts/components/zx-layouts -/zx-templates -/package-lock.json -/src/styles/themes/green.scss -/src/styles/themes/dark.scss -/src/styles/themes/glory.scss - diff --git a/.stylelintrc.js b/.stylelintrc.js deleted file mode 100644 index dc4736356..000000000 --- a/.stylelintrc.js +++ /dev/null @@ -1,7 +0,0 @@ -/** - - * @description stylelint - */ -module.exports = { - extends: ['stylelint-config-recess-order', 'stylelint-config-prettier'], -} diff --git a/README.md b/README.md index 95d26e503..58b19652e 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,24 @@ -![](public/static/images/logo.png) +# futian -### 法规智库-福田 +## Project setup +``` +npm install +``` + +### Compiles and hot-reloads for development +``` +npm run serve +``` + +### Compiles and minifies for production +``` +npm run build +``` + +### Lints and fixes files +``` +npm run lint +``` + +### Customize configuration +See [Configuration Reference](https://cli.vuejs.org/config/). diff --git a/babel.config.js b/babel.config.js index d744d8f50..973ca3bbc 100644 --- a/babel.config.js +++ b/babel.config.js @@ -1,5 +1,4 @@ /** - * @description babel.config */ module.exports = { diff --git a/package.json b/package.json index be2a86bd6..7d625d84e 100644 --- a/package.json +++ b/package.json @@ -1,96 +1,37 @@ { - "name": "laws-system-front-FOTON", + "name": "FOTON", "version": "1.0.0", - "author": "rongchuangruantong", - "participants": [], - "homepage": "http://103.249.252.28:90/LAWS/laws-system-front-FOTON.git", + "author": "91isoft", + "private": true, "scripts": { "serve": "vue-cli-service serve", - "build": "vue-cli-service build" - }, - "repository": { - "type": "git", - "url": "git+http://103.249.252.28:90/LAWS/laws-system-front-FOTON.git" - }, - "gitHooks": { - "pre-commit": "lint-staged" - }, - "lint-staged": { - "*.{js,jsx,vue}": [ - "vue-cli-service lint", - "git add" - ] + "build": "vue-cli-service build", + "lint": "vue-cli-service lint" }, "dependencies": { "axios": "^0.21.1", - "clipboard": "^2.0.8", - "core-js": "^3.10.1", + "core-js": "^3.6.5", "dayjs": "^1.10.4", - "echarts": "^5.1.0", - "echarts-wordcloud": "^2.0.0", - "element-ui": "^2.15.1", - "jsencrypt": "^3.1.0", + "jquery": "^3.6.0", "lodash": "^4.17.21", - "maptalks": "^0.49.3", - "mapv": "^2.0.62", - "mockjs": "^1.1.0", + "moment": "^2.29.1", "nprogress": "^0.2.0", "qs": "^6.10.1", - "screenfull": "^5.1.0", - "sortablejs": "^1.13.0", - "vab-icon": "^0.0.1", - "vue": "^2.6.12", - "vue-echarts": "5.0.0-beta.0", - "vue-router": "^3.5.1", - "vuex": "^3.6.2", - "zx-count": "^0.3.7", - "zx-layouts": "^0.6.24", - "zx-magnifie": "^0.4.0", - "zx-markdown-editor": "^0.0.2", - "zx-player": "^1.0.2", - "zx-quill": "^0.0.3", - "zx-templates": "^0.0.26", - "zx-verify": "^0.0.2" + "vue": "^2.6.11", + "vue-router": "^3.2.0", + "vuex": "^3.4.0" }, "devDependencies": { - "@vue/cli-plugin-babel": "^4.5.12", - "@vue/cli-plugin-eslint": "^4.5.12", - "@vue/cli-service": "^4.5.12", - "@vue/eslint-config-prettier": "^6.0.0", - "babel-eslint": "^10.1.0", - "body-parser": "^1.19.0", + "@vue/cli-plugin-babel": "~4.5.0", + "@vue/cli-plugin-router": "~4.5.0", + "@vue/cli-plugin-vuex": "~4.5.0", + "@vue/cli-service": "~4.5.0", "chalk": "^4.1.0", - "chokidar": "^3.5.1", - "eslint": "^7.24.0", - "eslint-plugin-prettier": "^3.4.0", - "eslint-plugin-vue": "^7.9.0", - "filemanager-webpack-plugin": "^4.0.0", - "image-webpack-loader": "^7.0.1", - "lint-staged": "^10.5.4", - "plop": "^2.7.4", - "prettier": "^2.2.1", - "sass": "^1.32.10", - "sass-loader": "^10.1.1", + "node-sass": "^4.12.0", + "sass-loader": "^8.0.2", "stylelint": "^13.12.0", "stylelint-config-prettier": "^8.0.2", - "stylelint-config-recess-order": "^2.3.0", - "svg-sprite-loader": "^6.0.5", - "vue-template-compiler": "^2.6.12", - "webpackbar": "^4.0.0" - }, - "keywords": [ - "vue", - "admin", - "dashboard", - "element-ui", - "vue-admin", - "element-admin", - "boilerplate", - "admin-template", - "management-system" - ], - "engines": { - "node": ">=8.9", - "npm": ">= 3.0.0" + "stylelint-config-recess-order": "^2.4.0", + "vue-template-compiler": "^2.6.11" } } diff --git a/plopfile.js b/plopfile.js deleted file mode 100644 index f718b5e79..000000000 --- a/plopfile.js +++ /dev/null @@ -1,16 +0,0 @@ -/** - - * @description 代码生成机 - */ -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/prettier.config.js b/prettier.config.js deleted file mode 100644 index ee084387a..000000000 --- a/prettier.config.js +++ /dev/null @@ -1,21 +0,0 @@ -/** - - * @description 代码规范 - */ - -module.exports = { - printWidth: 80, - tabWidth: 2, - useTabs: false, - semi: false, - singleQuote: true, - quoteProps: 'as-needed', - jsxSingleQuote: false, - trailingComma: 'es5', - bracketSpacing: true, - jsxBracketSameLine: false, - arrowParens: 'always', - htmlWhitespaceSensitivity: 'ignore', - vueIndentScriptAndStyle: true, - endOfLine: 'lf', -} diff --git a/public/favicon.ico b/public/favicon.ico index 7c31c49f6..df36fcfb7 100644 Binary files a/public/favicon.ico and b/public/favicon.ico differ diff --git a/public/favicon_backup.ico b/public/favicon_backup.ico deleted file mode 100644 index df36fcfb7..000000000 Binary files a/public/favicon_backup.ico and /dev/null differ diff --git a/public/index.html b/public/index.html index d765907dd..435b43f69 100644 --- a/public/index.html +++ b/public/index.html @@ -1,41 +1,30 @@ - - - - - - - <%= VUE_APP_TITLE %> - - - - -
-
+ + + + + + + + 全球标准法规系统-福田 + + + +
+
- - - - - - + + + + + +

<%= VUE_APP_TITLE %>

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