From 69a80a2e2f7fe32e5e7b41193116236006d92b7c Mon Sep 17 00:00:00 2001 From: Leo_Ding <2405260743@qq.com> Date: Mon, 7 Jul 2025 16:26:31 +0800 Subject: [PATCH] =?UTF-8?q?=E9=82=BB=E9=87=8C=E4=BA=92=E5=8A=A9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .env.dev | 4 +- .env.prod | 2 +- README.md | 4 +- config/useServer.js | 3 +- package-lock.json | 581 +++++++++++++++++- package.json | 4 +- src/apis/modules/activity.js | 16 + src/apis/modules/announcement.js | 15 + src/apis/modules/common.js | 7 + src/apis/modules/imgmgt.js | 14 + src/apis/modules/mock.js | 14 + src/apis/modules/user.js | 1 + src/assets/blankSpace.png | Bin 0 -> 3368 bytes src/assets/errImg.png | Bin 0 -> 4712 bytes src/assets/iconfont/demo.css | 539 ++++++++++++++++ src/assets/iconfont/iconfont.css | 23 + src/assets/iconfont/iconfont.js | 1 + src/assets/iconfont/iconfont.json | 23 + src/assets/iconfont/iconfont.ttf | Bin 0 -> 2260 bytes src/assets/iconfont/iconfont.woff | Bin 0 -> 1448 bytes src/assets/iconfont/iconfont.woff2 | Bin 0 -> 1016 bytes src/components/Editor/Editor.vue | 2 +- src/components/GxUpload/index.vue | 5 +- src/components/index.js | 2 + src/enums/enums.js | 38 ++ src/enums/index.js | 15 + src/hooks/index.js | 1 + src/hooks/useSpining.js | 15 + src/layouts/UserLayout.vue | 15 +- src/layouts/components/BasicHeader.vue | 34 +- src/layouts/components/BasicMenu.vue | 39 +- src/layouts/components/BasicSide.vue | 19 +- src/locales/lang/zh-CN/menu.js | 4 + src/main.js | 4 +- src/mock/index.js | 21 +- src/mock/modules/common.js | 124 ---- src/mock/modules/system.js | 391 ------------ src/mock/modules/user.js | 57 +- src/mock/util.js | 57 -- src/router/routes/index.js | 3 +- src/router/routes/pages.js | 52 ++ src/views/login/index.vue | 49 +- .../pages/activity/components/EditDialog.vue | 195 ++++++ src/views/pages/activity/index.vue | 212 +++++++ .../announcementList/components/AddDialog.vue | 206 +++++++ src/views/pages/announcementList/index.vue | 200 ++++++ .../homeBanner/components/EditDialog.vue | 190 ++++++ src/views/pages/homeBanner/index.vue | 193 ++++++ .../nbdMutualAid/components/EditDialog.vue | 163 +++++ src/views/pages/nbdMutualAid/index.vue | 193 ++++++ .../neighborhood/components/EditDialog.vue | 163 +++++ src/views/pages/neighborhood/index.vue | 193 ++++++ vite.config.js | 16 +- yarn.lock | 192 +++++- 54 files changed, 3571 insertions(+), 743 deletions(-) create mode 100644 src/apis/modules/activity.js create mode 100644 src/apis/modules/announcement.js create mode 100644 src/apis/modules/imgmgt.js create mode 100644 src/apis/modules/mock.js create mode 100644 src/assets/blankSpace.png create mode 100644 src/assets/errImg.png create mode 100644 src/assets/iconfont/demo.css create mode 100644 src/assets/iconfont/iconfont.css create mode 100644 src/assets/iconfont/iconfont.js create mode 100644 src/assets/iconfont/iconfont.json create mode 100644 src/assets/iconfont/iconfont.ttf create mode 100644 src/assets/iconfont/iconfont.woff create mode 100644 src/assets/iconfont/iconfont.woff2 create mode 100644 src/enums/enums.js create mode 100644 src/enums/index.js create mode 100644 src/hooks/useSpining.js delete mode 100644 src/mock/modules/common.js delete mode 100644 src/mock/modules/system.js delete mode 100644 src/mock/util.js create mode 100644 src/router/routes/pages.js create mode 100644 src/views/pages/activity/components/EditDialog.vue create mode 100644 src/views/pages/activity/index.vue create mode 100644 src/views/pages/announcementList/components/AddDialog.vue create mode 100644 src/views/pages/announcementList/index.vue create mode 100644 src/views/pages/homeBanner/components/EditDialog.vue create mode 100644 src/views/pages/homeBanner/index.vue create mode 100644 src/views/pages/nbdMutualAid/components/EditDialog.vue create mode 100644 src/views/pages/nbdMutualAid/index.vue create mode 100644 src/views/pages/neighborhood/components/EditDialog.vue create mode 100644 src/views/pages/neighborhood/index.vue diff --git a/.env.dev b/.env.dev index 1c9a1a1..6dc7127 100644 --- a/.env.dev +++ b/.env.dev @@ -2,7 +2,7 @@ NODE_ENV=development # app -VITE_TITLE=GuXuan-Admin +VITE_TITLE=JinShan-Admin VITE_PUBLIC_PATH=/ VITE_OUT_DIR=dist VITE_PERMISSION=false @@ -12,7 +12,7 @@ VITE_ROUTER_BASE=/ VITE_ROUTER_HISTORY=hash # api -VITE_API_BASIC=/ +VITE_API_BASIC=http://10.10.1.6:8071 VITE_API_HTTP=/api/v1/ # storage VITE_STORAGE_NAMESPACE = gin-admin_local_ \ No newline at end of file diff --git a/.env.prod b/.env.prod index ed098e8..1af1d6e 100644 --- a/.env.prod +++ b/.env.prod @@ -2,7 +2,7 @@ NODE_ENV=production # app -VITE_TITLE=GuXuan-Admin +VITE_TITLE=JinShan-Admin VITE_PUBLIC_PATH=/ VITE_OUT_DIR=dist VITE_PERMISSION=true diff --git a/README.md b/README.md index 5690d55..5a3fca7 100644 --- a/README.md +++ b/README.md @@ -1,8 +1,8 @@ -# GuXuan-Admin-Template +# JinShan-Admin-Template > GIN-Admin-vue is a frontend project for [gin-admin](https://github.com/LyricTian/gin-admin) base on Ant Design React. -![guxuan-admin-template](./demo.png) +![JinShan-Admin-template](./demo.png) - [Preview](http://101.42.232.163:8040) - Username: admin diff --git a/config/useServer.js b/config/useServer.js index acb6a73..3728da2 100644 --- a/config/useServer.js +++ b/config/useServer.js @@ -1,9 +1,10 @@ export default () => ({ host: true, port: 8080, + open:true, proxy: { '/api': { - target: 'http://101.42.232.163:8080/api', + target: 'http://10.10.1.6:8071', // target: 'http://127.0.0.1:8045/api', changeOrigin: true, rewrite: (path) => path.replace('/api', ''), diff --git a/package-lock.json b/package-lock.json index a3c1264..146e600 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,11 +1,11 @@ { - "name": "gin-admin", + "name": "JinShan-Admin", "version": "1.0.0", "lockfileVersion": 2, "requires": true, "packages": { "": { - "name": "gin-admin", + "name": "JinShan-Admin", "version": "1.0.0", "dependencies": { "@ant-design/colors": "^7.0.0", @@ -49,10 +49,12 @@ "husky": "^8.0.3", "less": "^4.2.0", "lint-staged": "^14.0.0", + "mockjs": "^1.1.0", "rollup-plugin-visualizer": "^5.9.2", "vite": "^4.4.9", "vite-plugin-compression": "^0.5.1", "vite-plugin-eslint": "^1.8.1", + "vite-plugin-mock": "^3.0.2", "vite-plugin-progress": "^0.0.7", "vitepress": "^1.0.0-beta.7" } @@ -1479,6 +1481,20 @@ "@ctrl/tinycolor": "^3.4.0" } }, + "node_modules/anymatch": { + "version": "3.1.3", + "resolved": "https://registry.npmmirror.com/anymatch/-/anymatch-3.1.3.tgz", + "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", + "dev": true, + "license": "ISC", + "dependencies": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + }, + "engines": { + "node": ">= 8" + } + }, "node_modules/argparse": { "version": "2.0.1", "resolved": "https://registry.npmmirror.com/argparse/-/argparse-2.0.1.tgz", @@ -1533,6 +1549,19 @@ "node": "*" } }, + "node_modules/binary-extensions": { + "version": "2.3.0", + "resolved": "https://registry.npmmirror.com/binary-extensions/-/binary-extensions-2.3.0.tgz", + "integrity": "sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/body-scroll-lock": { "version": "4.0.0-beta.0", "resolved": "https://registry.npmjs.org/body-scroll-lock/-/body-scroll-lock-4.0.0-beta.0.tgz", @@ -1591,6 +1620,22 @@ "node": ">=12" } }, + "node_modules/bundle-require": { + "version": "4.2.1", + "resolved": "https://registry.npmmirror.com/bundle-require/-/bundle-require-4.2.1.tgz", + "integrity": "sha512-7Q/6vkyYAwOmQNRw75x+4yRtZCZJXUDmHHlFdkiV0wgv/reNjtJwpu1jPJ0w2kbEpIM0uoKI3S4/f39dU7AjSA==", + "dev": true, + "license": "MIT", + "dependencies": { + "load-tsconfig": "^0.2.3" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "peerDependencies": { + "esbuild": ">=0.17" + } + }, "node_modules/callsites": { "version": "3.1.0", "resolved": "https://registry.npmmirror.com/callsites/-/callsites-3.1.0.tgz", @@ -1624,6 +1669,44 @@ "url": "https://github.com/chalk/chalk?sponsor=1" } }, + "node_modules/chokidar": { + "version": "3.6.0", + "resolved": "https://registry.npmmirror.com/chokidar/-/chokidar-3.6.0.tgz", + "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==", + "dev": true, + "license": "MIT", + "dependencies": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, + "engines": { + "node": ">= 8.10.0" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "node_modules/chokidar/node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmmirror.com/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, "node_modules/cli-cursor": { "version": "4.0.0", "resolved": "https://registry.npmmirror.com/cli-cursor/-/cli-cursor-4.0.0.tgz", @@ -1764,6 +1847,39 @@ "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", "dev": true }, + "node_modules/connect": { + "version": "3.7.0", + "resolved": "https://registry.npmmirror.com/connect/-/connect-3.7.0.tgz", + "integrity": "sha512-ZqRXc+tZukToSNmh5C2iWMSoV3X1YUcPbqEM4DkEG5tNQXrQUZCNVGGv3IuicnkMtPfGf3Xtp8WCXs295iQ1pQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "debug": "2.6.9", + "finalhandler": "1.1.2", + "parseurl": "~1.3.3", + "utils-merge": "1.0.1" + }, + "engines": { + "node": ">= 0.10.0" + } + }, + "node_modules/connect/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmmirror.com/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/connect/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true, + "license": "MIT" + }, "node_modules/copy-anything": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/copy-anything/-/copy-anything-2.0.6.tgz", @@ -1949,6 +2065,13 @@ "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.0.tgz", "integrity": "sha512-N82ooyxVNm6h1riLCoyS9e3fuJ3AMG2zIZs2Gd1ATcSFjSA23Q0fzjjZeh0jbJvWVDZ0cJT8yaNNaaXHzueNjg==" }, + "node_modules/ee-first": { + "version": "1.1.1", + "resolved": "https://registry.npmmirror.com/ee-first/-/ee-first-1.1.1.tgz", + "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==", + "dev": true, + "license": "MIT" + }, "node_modules/emoji-regex": { "version": "8.0.0", "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", @@ -1959,6 +2082,16 @@ "resolved": "https://registry.npmjs.org/encode-utf8/-/encode-utf8-1.0.3.tgz", "integrity": "sha512-ucAnuBEhUK4boH2HjVYG5Q2mQyPorvv0u/ocS+zhdw0S8AlHYY+GOFhP1Gio5z4icpP2ivFSvhtFjQi8+T9ppw==" }, + "node_modules/encodeurl": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/encodeurl/-/encodeurl-1.0.2.tgz", + "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, "node_modules/errno": { "version": "0.1.8", "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.8.tgz", @@ -2018,6 +2151,13 @@ "node": ">=6" } }, + "node_modules/escape-html": { + "version": "1.0.3", + "resolved": "https://registry.npmmirror.com/escape-html/-/escape-html-1.0.3.tgz", + "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==", + "dev": true, + "license": "MIT" + }, "node_modules/escape-string-regexp": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", @@ -2446,6 +2586,42 @@ "node": ">=8" } }, + "node_modules/finalhandler": { + "version": "1.1.2", + "resolved": "https://registry.npmmirror.com/finalhandler/-/finalhandler-1.1.2.tgz", + "integrity": "sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==", + "dev": true, + "license": "MIT", + "dependencies": { + "debug": "2.6.9", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "on-finished": "~2.3.0", + "parseurl": "~1.3.3", + "statuses": "~1.5.0", + "unpipe": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/finalhandler/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmmirror.com/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/finalhandler/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true, + "license": "MIT" + }, "node_modules/find-up": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", @@ -2737,6 +2913,19 @@ "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", "dev": true }, + "node_modules/is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmmirror.com/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "dev": true, + "license": "MIT", + "dependencies": { + "binary-extensions": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/is-docker": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz", @@ -3137,6 +3326,16 @@ "node": ">=12" } }, + "node_modules/load-tsconfig": { + "version": "0.2.5", + "resolved": "https://registry.npmmirror.com/load-tsconfig/-/load-tsconfig-0.2.5.tgz", + "integrity": "sha512-IXO6OCs9yg8tMKzfPZ1YmheJbZCiEsnBdcB03l0OcfK9prKnJb96siuHCr5Fl37/yo9DnKU+TLpxzTUspw9shg==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + } + }, "node_modules/locate-path": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", @@ -3385,12 +3584,23 @@ "integrity": "sha512-PNxA/X8pWk+TiqPbsoIYH0GQ5Di7m6326/lwU/S4mlo4wGQddIcf/V//1f9TB0V4j59b57b+HZxt8h3iMROGvg==", "dev": true }, + "node_modules/mockjs": { + "version": "1.1.0", + "resolved": "https://registry.npmmirror.com/mockjs/-/mockjs-1.1.0.tgz", + "integrity": "sha512-eQsKcWzIaZzEZ07NuEyO4Nw65g0hdWAyurVol1IPl1gahRwY+svqzfgfey8U8dahLwG44d6/RwEzuK52rSa/JQ==", + "dev": true, + "dependencies": { + "commander": "*" + }, + "bin": { + "random": "bin/random" + } + }, "node_modules/ms": { "version": "2.1.3", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", - "dev": true, - "optional": true + "dev": true }, "node_modules/nanoid": { "version": "4.0.2", @@ -3438,6 +3648,16 @@ "node": ">= 4.4.x" } }, + "node_modules/normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/npm-run-path": { "version": "5.1.0", "resolved": "https://registry.npmmirror.com/npm-run-path/-/npm-run-path-5.1.0.tgz", @@ -3476,6 +3696,19 @@ "url": "https://github.com/fb55/nth-check?sponsor=1" } }, + "node_modules/on-finished": { + "version": "2.3.0", + "resolved": "https://registry.npmmirror.com/on-finished/-/on-finished-2.3.0.tgz", + "integrity": "sha512-ikqdkGAAyf/X/gPhXGvfgAytDZtDbr+bkNUJ0N9h5MI/dmdgCs3l6hoHrcUv41sRKew3jIwrp4qQDXiK99Utww==", + "dev": true, + "license": "MIT", + "dependencies": { + "ee-first": "1.1.1" + }, + "engines": { + "node": ">= 0.8" + } + }, "node_modules/once": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", @@ -3599,6 +3832,16 @@ "node": ">= 0.10" } }, + "node_modules/parseurl": { + "version": "1.3.3", + "resolved": "https://registry.npmmirror.com/parseurl/-/parseurl-1.3.3.tgz", + "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, "node_modules/path-exists": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", @@ -3625,6 +3868,13 @@ "node": ">=8" } }, + "node_modules/path-to-regexp": { + "version": "6.3.0", + "resolved": "https://registry.npmmirror.com/path-to-regexp/-/path-to-regexp-6.3.0.tgz", + "integrity": "sha512-Yhpw4T9C6hPpgPeA28us07OJeqZ5EzQTkbfwuhsUg0c237RomFoETJgmp2sa3F/41gfLE6G5cqcYwznmeEeOlQ==", + "dev": true, + "license": "MIT" + }, "node_modules/picocolors": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", @@ -3886,6 +4136,19 @@ "integrity": "sha512-F0KIgDJfy2nA3zMLmWGKxcH2ZVEtCZXHHdOQs2gSaQ27+lNeEfGxzkIw90aXswATX7AZ33tahPbzy6KAfUreVw==", "dev": true }, + "node_modules/readdirp": { + "version": "3.6.0", + "resolved": "https://registry.npmmirror.com/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "dev": true, + "license": "MIT", + "dependencies": { + "picomatch": "^2.2.1" + }, + "engines": { + "node": ">=8.10.0" + } + }, "node_modules/regenerator-runtime": { "version": "0.13.9", "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.9.tgz", @@ -4363,6 +4626,16 @@ "node": ">=0.10.0" } }, + "node_modules/statuses": { + "version": "1.5.0", + "resolved": "https://registry.npmmirror.com/statuses/-/statuses-1.5.0.tgz", + "integrity": "sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, "node_modules/string-argv": { "version": "0.3.2", "resolved": "https://registry.npmmirror.com/string-argv/-/string-argv-0.3.2.tgz", @@ -4538,6 +4811,16 @@ "node": ">= 10.0.0" } }, + "node_modules/unpipe": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/unpipe/-/unpipe-1.0.0.tgz", + "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, "node_modules/untildify": { "version": "4.0.0", "resolved": "https://registry.npmmirror.com/untildify/-/untildify-4.0.0.tgz", @@ -4562,6 +4845,16 @@ "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", "dev": true }, + "node_modules/utils-merge": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/utils-merge/-/utils-merge-1.0.1.tgz", + "integrity": "sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4.0" + } + }, "node_modules/vite": { "version": "4.4.9", "resolved": "https://registry.npmmirror.com/vite/-/vite-4.4.9.tgz", @@ -4666,6 +4959,48 @@ "vite": ">=2" } }, + "node_modules/vite-plugin-mock": { + "version": "3.0.2", + "resolved": "https://registry.npmmirror.com/vite-plugin-mock/-/vite-plugin-mock-3.0.2.tgz", + "integrity": "sha512-bD//HvkTygGmk+LsIAdf0jGNlCv4iWv0kZlH9UEgWT6QYoUwfjQAE4SKxHRw2tfLgVhbPQVv/+X3YlNWvueGUA==", + "dev": true, + "license": "MIT", + "dependencies": { + "bundle-require": "^4.0.1", + "chokidar": "^3.5.3", + "connect": "^3.7.0", + "debug": "^4.3.4", + "fast-glob": "^3.2.12", + "path-to-regexp": "^6.2.1", + "picocolors": "^1.0.0" + }, + "engines": { + "node": ">=16.0.0" + }, + "peerDependencies": { + "esbuild": ">=0.17", + "mockjs": ">=1.1.0", + "vite": ">=4.0.0" + } + }, + "node_modules/vite-plugin-mock/node_modules/debug": { + "version": "4.4.1", + "resolved": "https://registry.npmmirror.com/debug/-/debug-4.4.1.tgz", + "integrity": "sha512-KcKCqiftBJcZr++7ykoDIEwSa3XWowTfNPo92BYxjXiyYEVrUQh2aLyhxBCwww+heortUFxEJYcRzosstTEBYQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, "node_modules/vite-plugin-progress": { "version": "0.0.7", "resolved": "https://registry.npmjs.org/vite-plugin-progress/-/vite-plugin-progress-0.0.7.tgz", @@ -5977,6 +6312,16 @@ } } }, + "anymatch": { + "version": "3.1.3", + "resolved": "https://registry.npmmirror.com/anymatch/-/anymatch-3.1.3.tgz", + "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", + "dev": true, + "requires": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + } + }, "argparse": { "version": "2.0.1", "resolved": "https://registry.npmmirror.com/argparse/-/argparse-2.0.1.tgz", @@ -6025,6 +6370,12 @@ "resolved": "https://registry.npmjs.org/bignumber.js/-/bignumber.js-9.0.2.tgz", "integrity": "sha512-GAcQvbpsM0pUb0zw1EI0KhQEZ+lRwR5fYaAp3vPOYuP7aDvGy6cVN6XHLauvF8SOga2y0dcLcjt3iQDTSEliyw==" }, + "binary-extensions": { + "version": "2.3.0", + "resolved": "https://registry.npmmirror.com/binary-extensions/-/binary-extensions-2.3.0.tgz", + "integrity": "sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==", + "dev": true + }, "body-scroll-lock": { "version": "4.0.0-beta.0", "resolved": "https://registry.npmjs.org/body-scroll-lock/-/body-scroll-lock-4.0.0-beta.0.tgz", @@ -6074,6 +6425,15 @@ "run-applescript": "^5.0.0" } }, + "bundle-require": { + "version": "4.2.1", + "resolved": "https://registry.npmmirror.com/bundle-require/-/bundle-require-4.2.1.tgz", + "integrity": "sha512-7Q/6vkyYAwOmQNRw75x+4yRtZCZJXUDmHHlFdkiV0wgv/reNjtJwpu1jPJ0w2kbEpIM0uoKI3S4/f39dU7AjSA==", + "dev": true, + "requires": { + "load-tsconfig": "^0.2.3" + } + }, "callsites": { "version": "3.1.0", "resolved": "https://registry.npmmirror.com/callsites/-/callsites-3.1.0.tgz", @@ -6095,6 +6455,33 @@ "supports-color": "^7.1.0" } }, + "chokidar": { + "version": "3.6.0", + "resolved": "https://registry.npmmirror.com/chokidar/-/chokidar-3.6.0.tgz", + "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==", + "dev": true, + "requires": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "fsevents": "~2.3.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, + "dependencies": { + "glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmmirror.com/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "requires": { + "is-glob": "^4.0.1" + } + } + } + }, "cli-cursor": { "version": "4.0.0", "resolved": "https://registry.npmmirror.com/cli-cursor/-/cli-cursor-4.0.0.tgz", @@ -6212,6 +6599,35 @@ "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", "dev": true }, + "connect": { + "version": "3.7.0", + "resolved": "https://registry.npmmirror.com/connect/-/connect-3.7.0.tgz", + "integrity": "sha512-ZqRXc+tZukToSNmh5C2iWMSoV3X1YUcPbqEM4DkEG5tNQXrQUZCNVGGv3IuicnkMtPfGf3Xtp8WCXs295iQ1pQ==", + "dev": true, + "requires": { + "debug": "2.6.9", + "finalhandler": "1.1.2", + "parseurl": "~1.3.3", + "utils-merge": "1.0.1" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmmirror.com/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true + } + } + }, "copy-anything": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/copy-anything/-/copy-anything-2.0.6.tgz", @@ -6363,6 +6779,12 @@ } } }, + "ee-first": { + "version": "1.1.1", + "resolved": "https://registry.npmmirror.com/ee-first/-/ee-first-1.1.1.tgz", + "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==", + "dev": true + }, "emoji-regex": { "version": "8.0.0", "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", @@ -6373,6 +6795,12 @@ "resolved": "https://registry.npmjs.org/encode-utf8/-/encode-utf8-1.0.3.tgz", "integrity": "sha512-ucAnuBEhUK4boH2HjVYG5Q2mQyPorvv0u/ocS+zhdw0S8AlHYY+GOFhP1Gio5z4icpP2ivFSvhtFjQi8+T9ppw==" }, + "encodeurl": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/encodeurl/-/encodeurl-1.0.2.tgz", + "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==", + "dev": true + }, "errno": { "version": "0.1.8", "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.8.tgz", @@ -6419,6 +6847,12 @@ "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", "dev": true }, + "escape-html": { + "version": "1.0.3", + "resolved": "https://registry.npmmirror.com/escape-html/-/escape-html-1.0.3.tgz", + "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==", + "dev": true + }, "escape-string-regexp": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", @@ -6737,6 +7171,38 @@ "to-regex-range": "^5.0.1" } }, + "finalhandler": { + "version": "1.1.2", + "resolved": "https://registry.npmmirror.com/finalhandler/-/finalhandler-1.1.2.tgz", + "integrity": "sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==", + "dev": true, + "requires": { + "debug": "2.6.9", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "on-finished": "~2.3.0", + "parseurl": "~1.3.3", + "statuses": "~1.5.0", + "unpipe": "~1.0.0" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmmirror.com/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true + } + } + }, "find-up": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", @@ -6946,6 +7412,15 @@ "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", "dev": true }, + "is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmmirror.com/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "dev": true, + "requires": { + "binary-extensions": "^2.0.0" + } + }, "is-docker": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz", @@ -7238,6 +7713,12 @@ } } }, + "load-tsconfig": { + "version": "0.2.5", + "resolved": "https://registry.npmmirror.com/load-tsconfig/-/load-tsconfig-0.2.5.tgz", + "integrity": "sha512-IXO6OCs9yg8tMKzfPZ1YmheJbZCiEsnBdcB03l0OcfK9prKnJb96siuHCr5Fl37/yo9DnKU+TLpxzTUspw9shg==", + "dev": true + }, "locate-path": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", @@ -7431,12 +7912,20 @@ "integrity": "sha512-PNxA/X8pWk+TiqPbsoIYH0GQ5Di7m6326/lwU/S4mlo4wGQddIcf/V//1f9TB0V4j59b57b+HZxt8h3iMROGvg==", "dev": true }, + "mockjs": { + "version": "1.1.0", + "resolved": "https://registry.npmmirror.com/mockjs/-/mockjs-1.1.0.tgz", + "integrity": "sha512-eQsKcWzIaZzEZ07NuEyO4Nw65g0hdWAyurVol1IPl1gahRwY+svqzfgfey8U8dahLwG44d6/RwEzuK52rSa/JQ==", + "dev": true, + "requires": { + "commander": "*" + } + }, "ms": { "version": "2.1.3", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", - "dev": true, - "optional": true + "dev": true }, "nanoid": { "version": "4.0.2", @@ -7466,6 +7955,12 @@ "sax": "^1.2.4" } }, + "normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "dev": true + }, "npm-run-path": { "version": "5.1.0", "resolved": "https://registry.npmmirror.com/npm-run-path/-/npm-run-path-5.1.0.tgz", @@ -7497,6 +7992,15 @@ "boolbase": "^1.0.0" } }, + "on-finished": { + "version": "2.3.0", + "resolved": "https://registry.npmmirror.com/on-finished/-/on-finished-2.3.0.tgz", + "integrity": "sha512-ikqdkGAAyf/X/gPhXGvfgAytDZtDbr+bkNUJ0N9h5MI/dmdgCs3l6hoHrcUv41sRKew3jIwrp4qQDXiK99Utww==", + "dev": true, + "requires": { + "ee-first": "1.1.1" + } + }, "once": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", @@ -7587,6 +8091,12 @@ "integrity": "sha512-3YHlOa/JgH6Mnpr05jP9eDG254US9ek25LyIxZlDItp2iJtwyaXQb57lBYLdT3MowkUFYEV2XXNAYIPlESvJlA==", "dev": true }, + "parseurl": { + "version": "1.3.3", + "resolved": "https://registry.npmmirror.com/parseurl/-/parseurl-1.3.3.tgz", + "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", + "dev": true + }, "path-exists": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", @@ -7604,6 +8114,12 @@ "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", "dev": true }, + "path-to-regexp": { + "version": "6.3.0", + "resolved": "https://registry.npmmirror.com/path-to-regexp/-/path-to-regexp-6.3.0.tgz", + "integrity": "sha512-Yhpw4T9C6hPpgPeA28us07OJeqZ5EzQTkbfwuhsUg0c237RomFoETJgmp2sa3F/41gfLE6G5cqcYwznmeEeOlQ==", + "dev": true + }, "picocolors": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", @@ -7761,6 +8277,15 @@ } } }, + "readdirp": { + "version": "3.6.0", + "resolved": "https://registry.npmmirror.com/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "dev": true, + "requires": { + "picomatch": "^2.2.1" + } + }, "regenerator-runtime": { "version": "0.13.9", "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.9.tgz", @@ -8117,6 +8642,12 @@ "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==" }, + "statuses": { + "version": "1.5.0", + "resolved": "https://registry.npmmirror.com/statuses/-/statuses-1.5.0.tgz", + "integrity": "sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==", + "dev": true + }, "string-argv": { "version": "0.3.2", "resolved": "https://registry.npmmirror.com/string-argv/-/string-argv-0.3.2.tgz", @@ -8254,6 +8785,12 @@ "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", "dev": true }, + "unpipe": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/unpipe/-/unpipe-1.0.0.tgz", + "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==", + "dev": true + }, "untildify": { "version": "4.0.0", "resolved": "https://registry.npmmirror.com/untildify/-/untildify-4.0.0.tgz", @@ -8275,6 +8812,12 @@ "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", "dev": true }, + "utils-merge": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/utils-merge/-/utils-merge-1.0.1.tgz", + "integrity": "sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==", + "dev": true + }, "vite": { "version": "4.4.9", "resolved": "https://registry.npmmirror.com/vite/-/vite-4.4.9.tgz", @@ -8337,6 +8880,32 @@ "rollup": "^2.77.2" } }, + "vite-plugin-mock": { + "version": "3.0.2", + "resolved": "https://registry.npmmirror.com/vite-plugin-mock/-/vite-plugin-mock-3.0.2.tgz", + "integrity": "sha512-bD//HvkTygGmk+LsIAdf0jGNlCv4iWv0kZlH9UEgWT6QYoUwfjQAE4SKxHRw2tfLgVhbPQVv/+X3YlNWvueGUA==", + "dev": true, + "requires": { + "bundle-require": "^4.0.1", + "chokidar": "^3.5.3", + "connect": "^3.7.0", + "debug": "^4.3.4", + "fast-glob": "^3.2.12", + "path-to-regexp": "^6.2.1", + "picocolors": "^1.0.0" + }, + "dependencies": { + "debug": { + "version": "4.4.1", + "resolved": "https://registry.npmmirror.com/debug/-/debug-4.4.1.tgz", + "integrity": "sha512-KcKCqiftBJcZr++7ykoDIEwSa3XWowTfNPo92BYxjXiyYEVrUQh2aLyhxBCwww+heortUFxEJYcRzosstTEBYQ==", + "dev": true, + "requires": { + "ms": "^2.1.3" + } + } + } + }, "vite-plugin-progress": { "version": "0.0.7", "resolved": "https://registry.npmjs.org/vite-plugin-progress/-/vite-plugin-progress-0.0.7.tgz", diff --git a/package.json b/package.json index 3daff3e..6f07182 100644 --- a/package.json +++ b/package.json @@ -1,5 +1,5 @@ { - "name": "guxuan-admin", + "name": "JinShan-Admin", "private": true, "version": "1.0.0", "scripts": { @@ -58,10 +58,12 @@ "husky": "^8.0.3", "less": "^4.2.0", "lint-staged": "^14.0.0", + "mockjs": "^1.1.0", "rollup-plugin-visualizer": "^5.9.2", "vite": "^4.4.9", "vite-plugin-compression": "^0.5.1", "vite-plugin-eslint": "^1.8.1", + "vite-plugin-mock": "^3.0.2", "vite-plugin-progress": "^0.0.7", "vitepress": "^1.0.0-beta.7" } diff --git a/src/apis/modules/activity.js b/src/apis/modules/activity.js new file mode 100644 index 0000000..eff9327 --- /dev/null +++ b/src/apis/modules/activity.js @@ -0,0 +1,16 @@ +/** + * 区域模块接口 + */ +import request from '@/utils/request' +// 获取项目列表 +export const getProjectList = (params) => request.basic.get('/api/v1/activities', params) +// 获取单挑数据 +export const getItem = (id) => request.basic.get(`/api/v1/activities/${id}`) +// 添加条目 +export const createProject = (params) => request.basic.post('/api/v1/activities', params) +// 更新role +export const updateItem = (id, params) => request.basic.put(`/api/v1/activities/${id}`, params) +// 删除数据 +export const delItem = (id) => request.basic.delete(`/api/v1/activities/${id}`) +//获取活动报名列表 +export const getActivityList=(params)=>request.basic.get('/api/v1/activity-details',params) \ No newline at end of file diff --git a/src/apis/modules/announcement.js b/src/apis/modules/announcement.js new file mode 100644 index 0000000..c79c9bd --- /dev/null +++ b/src/apis/modules/announcement.js @@ -0,0 +1,15 @@ +/** + * 消息公告 + */ + +import request from '@/utils/request' +// 获取公告列表 +export const getNoticesList = (params) => request.basic.get('/api/v1/notices', params) +// 获取条目 +export const getNotices = (id) => request.basic.get(`/api/v1/notices/${id}`) +// 添加公告 +export const createNotices = (params) => request.basic.post('/api/v1/notices', params) +// 更新公告 +export const updateNotices = (id, params) => request.basic.put(`/api/v1/notices/${id}`, params) +// 删除公告 +export const delNotices = (id) => request.basic.delete(`/api/v1/notices/${id}`) diff --git a/src/apis/modules/common.js b/src/apis/modules/common.js index 4f5547f..b14e84b 100644 --- a/src/apis/modules/common.js +++ b/src/apis/modules/common.js @@ -5,3 +5,10 @@ export const getRegion = (params) => request.basic.get('/region', params) // 获取 验证码ID export const getCaptcha = (params) => request.basic.get('/api/v1/captcha/id', params) + +//上传图片 +export const uploadFile=(params)=>request.basic.post('/api/v1/upload',params,{ + headers: { + 'Content-Type': 'multipart/form-data' + }, + }) \ No newline at end of file diff --git a/src/apis/modules/imgmgt.js b/src/apis/modules/imgmgt.js new file mode 100644 index 0000000..e358071 --- /dev/null +++ b/src/apis/modules/imgmgt.js @@ -0,0 +1,14 @@ +/** + * 图片管理接口 + */ +import request from '@/utils/request' +// 获取菜单列表 +export const getDataList = (params) => request.basic.get('/api/v1/banners', params) +// 获取菜单条数据 +export const getMenu = (id) => request.basic.get(`/api/v1/banners/${id}`) +// 添加菜单 +export const createMenu = (params) => request.basic.post('/api/v1/banners', params) +// 更新菜单 +export const updateMenu = (id, params) => request.basic.put(`/api/v1/banners/${id}`, params) +// 删除菜单 +export const delMenu = (id) => request.basic.delete(`/api/v1/banners/${id}`) diff --git a/src/apis/modules/mock.js b/src/apis/modules/mock.js new file mode 100644 index 0000000..93a812c --- /dev/null +++ b/src/apis/modules/mock.js @@ -0,0 +1,14 @@ +/** + * 权限接口 + */ +import request from '@/utils/request' +// 获取role列表 +export const getUserRoleList = (params) => request.basic.get('/system/getUserRoleList', params) +// 获取role条数据 +export const getRole = (id) => request.basic.get(`/api/v1/roles/${id}`) +// 添加role +export const createRole = (params) => request.basic.post('/api/v1/roles', params) +// 更新role +export const updateRole = (id, params) => request.basic.put(`/api/v1/roles/${id}`, params) +// 删除role +export const delRole = (id) => request.basic.delete(`/api/v1/roles/${id}`) \ No newline at end of file diff --git a/src/apis/modules/user.js b/src/apis/modules/user.js index 3c7c022..506e35e 100644 --- a/src/apis/modules/user.js +++ b/src/apis/modules/user.js @@ -2,6 +2,7 @@ import request from '@/utils/request' // 登录 export const login = (params) => request.basic.post('/api/v1/login', params) +export const mocklogin = (params) => request.basic.post('/api/login', params) // 获取用户详情 export const getUserDetail = () => request.basic.get('/api/v1/current/user') // 更新用户信息 diff --git a/src/assets/blankSpace.png b/src/assets/blankSpace.png new file mode 100644 index 0000000000000000000000000000000000000000..ca79b9cc947b61101ff9d42932f6477a4ebe6f80 GIT binary patch literal 3368 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 literal 0 HcmV?d00001 diff --git a/src/assets/iconfont/demo.css b/src/assets/iconfont/demo.css new file mode 100644 index 0000000..a67054a --- /dev/null +++ b/src/assets/iconfont/demo.css @@ -0,0 +1,539 @@ +/* Logo 字体 */ +@font-face { + font-family: "iconfont logo"; + src: url('https://at.alicdn.com/t/font_985780_km7mi63cihi.eot?t=1545807318834'); + src: url('https://at.alicdn.com/t/font_985780_km7mi63cihi.eot?t=1545807318834#iefix') format('embedded-opentype'), + url('https://at.alicdn.com/t/font_985780_km7mi63cihi.woff?t=1545807318834') format('woff'), + url('https://at.alicdn.com/t/font_985780_km7mi63cihi.ttf?t=1545807318834') format('truetype'), + url('https://at.alicdn.com/t/font_985780_km7mi63cihi.svg?t=1545807318834#iconfont') format('svg'); +} + +.logo { + font-family: "iconfont logo"; + font-size: 160px; + font-style: normal; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} + +/* tabs */ +.nav-tabs { + position: relative; +} + +.nav-tabs .nav-more { + position: absolute; + right: 0; + bottom: 0; + height: 42px; + line-height: 42px; + color: #666; +} + +#tabs { + border-bottom: 1px solid #eee; +} + +#tabs li { + cursor: pointer; + width: 100px; + height: 40px; + line-height: 40px; + text-align: center; + font-size: 16px; + border-bottom: 2px solid transparent; + position: relative; + z-index: 1; + margin-bottom: -1px; + color: #666; +} + + +#tabs .active { + border-bottom-color: #f00; + color: #222; +} + +.tab-container .content { + display: none; +} + +/* 页面布局 */ +.main { + padding: 30px 100px; + width: 960px; + margin: 0 auto; +} + +.main .logo { + color: #333; + text-align: left; + margin-bottom: 30px; + line-height: 1; + height: 110px; + margin-top: -50px; + overflow: hidden; + *zoom: 1; +} + +.main .logo a { + font-size: 160px; + color: #333; +} + +.helps { + margin-top: 40px; +} + +.helps pre { + padding: 20px; + margin: 10px 0; + border: solid 1px #e7e1cd; + background-color: #fffdef; + overflow: auto; +} + +.icon_lists { + width: 100% !important; + overflow: hidden; + *zoom: 1; +} + +.icon_lists li { + width: 100px; + margin-bottom: 10px; + margin-right: 20px; + text-align: center; + list-style: none !important; + cursor: default; +} + +.icon_lists li .code-name { + line-height: 1.2; +} + +.icon_lists .icon { + display: block; + height: 100px; + line-height: 100px; + font-size: 42px; + margin: 10px auto; + color: #333; + -webkit-transition: font-size 0.25s linear, width 0.25s linear; + -moz-transition: font-size 0.25s linear, width 0.25s linear; + transition: font-size 0.25s linear, width 0.25s linear; +} + +.icon_lists .icon:hover { + font-size: 100px; +} + +.icon_lists .svg-icon { + /* 通过设置 font-size 来改变图标大小 */ + width: 1em; + /* 图标和文字相邻时,垂直对齐 */ + vertical-align: -0.15em; + /* 通过设置 color 来改变 SVG 的颜色/fill */ + fill: currentColor; + /* path 和 stroke 溢出 viewBox 部分在 IE 下会显示 + normalize.css 中也包含这行 */ + overflow: hidden; +} + +.icon_lists li .name, +.icon_lists li .code-name { + color: #666; +} + +/* markdown 样式 */ +.markdown { + color: #666; + font-size: 14px; + line-height: 1.8; +} + +.highlight { + line-height: 1.5; +} + +.markdown img { + vertical-align: middle; + max-width: 100%; +} + +.markdown h1 { + color: #404040; + font-weight: 500; + line-height: 40px; + margin-bottom: 24px; +} + +.markdown h2, +.markdown h3, +.markdown h4, +.markdown h5, +.markdown h6 { + color: #404040; + margin: 1.6em 0 0.6em 0; + font-weight: 500; + clear: both; +} + +.markdown h1 { + font-size: 28px; +} + +.markdown h2 { + font-size: 22px; +} + +.markdown h3 { + font-size: 16px; +} + +.markdown h4 { + font-size: 14px; +} + +.markdown h5 { + font-size: 12px; +} + +.markdown h6 { + font-size: 12px; +} + +.markdown hr { + height: 1px; + border: 0; + background: #e9e9e9; + margin: 16px 0; + clear: both; +} + +.markdown p { + margin: 1em 0; +} + +.markdown>p, +.markdown>blockquote, +.markdown>.highlight, +.markdown>ol, +.markdown>ul { + width: 80%; +} + +.markdown ul>li { + list-style: circle; +} + +.markdown>ul li, +.markdown blockquote ul>li { + margin-left: 20px; + padding-left: 4px; +} + +.markdown>ul li p, +.markdown>ol li p { + margin: 0.6em 0; +} + +.markdown ol>li { + list-style: decimal; +} + +.markdown>ol li, +.markdown blockquote ol>li { + margin-left: 20px; + padding-left: 4px; +} + +.markdown code { + margin: 0 3px; + padding: 0 5px; + background: #eee; + border-radius: 3px; +} + +.markdown strong, +.markdown b { + font-weight: 600; +} + +.markdown>table { + border-collapse: collapse; + border-spacing: 0px; + empty-cells: show; + border: 1px solid #e9e9e9; + width: 95%; + margin-bottom: 24px; +} + +.markdown>table th { + white-space: nowrap; + color: #333; + font-weight: 600; +} + +.markdown>table th, +.markdown>table td { + border: 1px solid #e9e9e9; + padding: 8px 16px; + text-align: left; +} + +.markdown>table th { + background: #F7F7F7; +} + +.markdown blockquote { + font-size: 90%; + color: #999; + border-left: 4px solid #e9e9e9; + padding-left: 0.8em; + margin: 1em 0; +} + +.markdown blockquote p { + margin: 0; +} + +.markdown .anchor { + opacity: 0; + transition: opacity 0.3s ease; + margin-left: 8px; +} + +.markdown .waiting { + color: #ccc; +} + +.markdown h1:hover .anchor, +.markdown h2:hover .anchor, +.markdown h3:hover .anchor, +.markdown h4:hover .anchor, +.markdown h5:hover .anchor, +.markdown h6:hover .anchor { + opacity: 1; + display: inline-block; +} + +.markdown>br, +.markdown>p>br { + clear: both; +} + + +.hljs { + display: block; + background: white; + padding: 0.5em; + color: #333333; + overflow-x: auto; +} + +.hljs-comment, +.hljs-meta { + color: #969896; +} + +.hljs-string, +.hljs-variable, +.hljs-template-variable, +.hljs-strong, +.hljs-emphasis, +.hljs-quote { + color: #df5000; +} + +.hljs-keyword, +.hljs-selector-tag, +.hljs-type { + color: #a71d5d; +} + +.hljs-literal, +.hljs-symbol, +.hljs-bullet, +.hljs-attribute { + color: #0086b3; +} + +.hljs-section, +.hljs-name { + color: #63a35c; +} + +.hljs-tag { + color: #333333; +} + +.hljs-title, +.hljs-attr, +.hljs-selector-id, +.hljs-selector-class, +.hljs-selector-attr, +.hljs-selector-pseudo { + color: #795da3; +} + +.hljs-addition { + color: #55a532; + background-color: #eaffea; +} + +.hljs-deletion { + color: #bd2c00; + background-color: #ffecec; +} + +.hljs-link { + text-decoration: underline; +} + +/* 代码高亮 */ +/* PrismJS 1.15.0 +https://prismjs.com/download.html#themes=prism&languages=markup+css+clike+javascript */ +/** + * prism.js default theme for JavaScript, CSS and HTML + * Based on dabblet (http://dabblet.com) + * @author Lea Verou + */ +code[class*="language-"], +pre[class*="language-"] { + color: black; + background: none; + text-shadow: 0 1px white; + font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace; + text-align: left; + white-space: pre; + word-spacing: normal; + word-break: normal; + word-wrap: normal; + line-height: 1.5; + + -moz-tab-size: 4; + -o-tab-size: 4; + tab-size: 4; + + -webkit-hyphens: none; + -moz-hyphens: none; + -ms-hyphens: none; + hyphens: none; +} + +pre[class*="language-"]::-moz-selection, +pre[class*="language-"] ::-moz-selection, +code[class*="language-"]::-moz-selection, +code[class*="language-"] ::-moz-selection { + text-shadow: none; + background: #b3d4fc; +} + +pre[class*="language-"]::selection, +pre[class*="language-"] ::selection, +code[class*="language-"]::selection, +code[class*="language-"] ::selection { + text-shadow: none; + background: #b3d4fc; +} + +@media print { + + code[class*="language-"], + pre[class*="language-"] { + text-shadow: none; + } +} + +/* Code blocks */ +pre[class*="language-"] { + padding: 1em; + margin: .5em 0; + overflow: auto; +} + +:not(pre)>code[class*="language-"], +pre[class*="language-"] { + background: #f5f2f0; +} + +/* Inline code */ +:not(pre)>code[class*="language-"] { + padding: .1em; + border-radius: .3em; + white-space: normal; +} + +.token.comment, +.token.prolog, +.token.doctype, +.token.cdata { + color: slategray; +} + +.token.punctuation { + color: #999; +} + +.namespace { + opacity: .7; +} + +.token.property, +.token.tag, +.token.boolean, +.token.number, +.token.constant, +.token.symbol, +.token.deleted { + color: #905; +} + +.token.selector, +.token.attr-name, +.token.string, +.token.char, +.token.builtin, +.token.inserted { + color: #690; +} + +.token.operator, +.token.entity, +.token.url, +.language-css .token.string, +.style .token.string { + color: #9a6e3a; + background: hsla(0, 0%, 100%, .5); +} + +.token.atrule, +.token.attr-value, +.token.keyword { + color: #07a; +} + +.token.function, +.token.class-name { + color: #DD4A68; +} + +.token.regex, +.token.important, +.token.variable { + color: #e90; +} + +.token.important, +.token.bold { + font-weight: bold; +} + +.token.italic { + font-style: italic; +} + +.token.entity { + cursor: help; +} diff --git a/src/assets/iconfont/iconfont.css b/src/assets/iconfont/iconfont.css new file mode 100644 index 0000000..0fd2e91 --- /dev/null +++ b/src/assets/iconfont/iconfont.css @@ -0,0 +1,23 @@ +@font-face { + font-family: "iconfont"; /* Project id 4966438 */ + src: url('iconfont.woff2?t=1751607897346') format('woff2'), + url('iconfont.woff?t=1751607897346') format('woff'), + url('iconfont.ttf?t=1751607897346') format('truetype'); +} + +.iconfont { + font-family: "iconfont" !important; + font-size: 16px; + font-style: normal; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} + +.icon-huodongliebiao-copy:before { + content: "\e600"; +} + +.icon-gonggao:before { + content: "\e62a"; +} + diff --git a/src/assets/iconfont/iconfont.js b/src/assets/iconfont/iconfont.js new file mode 100644 index 0000000..2145856 --- /dev/null +++ b/src/assets/iconfont/iconfont.js @@ -0,0 +1 @@ +window._iconfont_svg_string_4966438='',(c=>{var t=(e=(e=document.getElementsByTagName("script"))[e.length-1]).getAttribute("data-injectcss"),e=e.getAttribute("data-disable-injectsvg");if(!e){var n,o,i,s,d,l=function(t,e){e.parentNode.insertBefore(t,e)};if(t&&!c.__iconfont__svg__cssinject__){c.__iconfont__svg__cssinject__=!0;try{document.write("")}catch(t){console&&console.log(t)}}n=function(){var t,e=document.createElement("div");e.innerHTML=c._iconfont_svg_string_4966438,(e=e.getElementsByTagName("svg")[0])&&(e.setAttribute("aria-hidden","true"),e.style.position="absolute",e.style.width=0,e.style.height=0,e.style.overflow="hidden",e=e,(t=document.body).firstChild?l(e,t.firstChild):t.appendChild(e))},document.addEventListener?~["complete","loaded","interactive"].indexOf(document.readyState)?setTimeout(n,0):(o=function(){document.removeEventListener("DOMContentLoaded",o,!1),n()},document.addEventListener("DOMContentLoaded",o,!1)):document.attachEvent&&(i=n,s=c.document,d=!1,h(),s.onreadystatechange=function(){"complete"==s.readyState&&(s.onreadystatechange=null,a())})}function a(){d||(d=!0,i())}function h(){try{s.documentElement.doScroll("left")}catch(t){return void setTimeout(h,50)}a()}})(window); \ No newline at end of file diff --git a/src/assets/iconfont/iconfont.json b/src/assets/iconfont/iconfont.json new file mode 100644 index 0000000..0446e56 --- /dev/null +++ b/src/assets/iconfont/iconfont.json @@ -0,0 +1,23 @@ +{ + "id": "4966438", + "name": "近山", + "font_family": "iconfont", + "css_prefix_text": "icon-", + "description": "", + "glyphs": [ + { + "icon_id": "29742036", + "name": "活动列表", + "font_class": "huodongliebiao-copy", + "unicode": "e600", + "unicode_decimal": 58880 + }, + { + "icon_id": "8765148", + "name": "公告", + "font_class": "gonggao", + "unicode": "e62a", + "unicode_decimal": 58922 + } + ] +} diff --git a/src/assets/iconfont/iconfont.ttf b/src/assets/iconfont/iconfont.ttf new file mode 100644 index 0000000000000000000000000000000000000000..d3e41e4a13a478ffcd6f1c945e19be8d0cf1dba9 GIT binary patch literal 2260 zcmd^AO>7%Q6n?Y2-i;mq#D9sCG|k3toS!CkV$w9E38kb>kXp6Slz?aj+1Tr!VtXyy zsT$}Z2nkU^1Shy4E^z6MD-uH7P$h)mgs2dz5Hbgn145vH8p1cb>i}s4+!_1LeD9k# z-^{$7oh3#@t+Y-ejV&xb@re3r|MNs_3hbo|i^;qAPxWkw!edmpiPVUu|fN<+K}{2}Z}zEr>NmVtFuZWqg&(Hj zE(-5=(HK2M!s+>Qm&jYx>SgL8OWx}LD`v$)PBYc`NQOAx%fK+=IpM4%3G5AWV7i;a zr|@65TJ{5_7}g<>Lj-$3c`SP-LmxM&F>L08#II=`VO;aiBJc@KGoJyU2RkGhv1s;; z9sd+qK5_&tb_`xJV`Q|91U}0yve0Z1$#-Dw0eNDUI_Up#ahrP|v@?LLGyu8r%r=HC z+dFIg9Wc+C_?)mwKI)|;ousq$B&Er~kXST6%O)mIuvB{w3&~nw%^zxIzyM~1>`8f1` zHxL)LM33lFU8rPF#O-f!g?%xP)6pt9WtZO(>~e=&JyKWb_s!5?$DL($qPO>0@A93F z!BB@U6lxoi6rtg0bJTp1h_B|9CFLhpbE;v7^K@)<1`i$T8+dRmnhbiPE(h42ct?N#XmVkCl${Gl?)FYax74X+*`>KJSHvD_Z9A+~d97vM5QSytG)XE}lPiD#=f6fW9&B z1df9+>t^A%SJ1`+Db#Ia5q#9f67aB%9r)6uY%GJHwXuti;yGHHtx&A+8%T0uo;bZ^ zV@7Rs%fr>!;6Jgk1pK9q9n?gybTY~3;d~-(lxU8sq?1N<)EQD~h1O6P%-6q6SzH2T^zHXAB05K_RK&>Y zeZBjmmk?d08sfN`O5>Ek=WBn|0;0-hNQG6QR05i}*QaA8MPL;V zkoR4MP8!h(%A2DqG>wZbxwoHYe8Svk$@()BQvF9nL)+Q)Fi|p zIt*guQWOT8D6zttN*UMfVw@&x7fbe?+Wljnb3W&NpYQp;zvun^e$Nx{O7KLY55Ab6gr-yTB`p#(z^q7wLQ0C+1`j)V?GpaCCb1TfKDDtPCR^2o{l}t&5_yoI~SaY0{APLcl zcv6$dSZ5TPoCb%?9MwD^)maLKnkSV$kxB=IJ;JUGS7`OFtR7BX!>6wx^g{(XuW$I?^tr-vyKxndn7kS+w25$7L zfu#_$BIJmsX${#&%N1_bv5=ukzAu-Z5#Fzb%65#M?rDte8+X;3+}0<=NsNDj<0%?{ zj;(o!l-hUWnf5wvYyECv zY-DnTQ0;hVr5ZgNP;5&6aKkucH1l)i1W#vojNx3?MBPFd$HcLUsIQ~8pyZvJ-1&zb z|E)AUryrVwozh!+R!%6weiJxA>J0Btnq`{bJyJ{PAiif%i+bq#!^-jG2&JD$V6vlR zK=&b+K1c=Q*p zf8J;Pgx|(HZmFdgjxID{GPVv0b6)zEp25ic^ZgV$hvsGe^CuXsqmA43ZvW!&kA0HW zeR(i4;XK_UwqEa8tYe|(-_IM;hHGY{UCt)3m~;E;x=^=M6bk2y_2;6)D-sLHWeh6x zrO!Z*LgQPe3LYt!@g)8Gfty|Bp4Efi$d%S4Zhqs2t|>AZo(_kwO`3WC`BnXf>1gki zeq41~>xl40s@Wo-m_=kf5;Xr8z&w2kFhl>&0XejcA}2#IGoxwves$g|*%<-pM#Dtl znOuQWRJ$vNThPWw3N5@!>={QaEwsCrg&tzx!qP&G+G+QO;o~+QgL}L)`8t!Rcl6jx z9vs;L#KDIzUqruY$ua1LW+kbqpC0^f{i4IP_UexN(qiWIrE3zO3wl*W=^|$SQUw!X z!`6wqOY2-Gy7;J)8&6q(Zvj&!S1)J}cu#6~UOaK1r?HG07O!gVvQ<`bZ_+tq()Z$l zScg~Q0Q&Q;l38}Atvy?e5D&7#7PDv7@M(dJ)i|HG4P9cx7_K#( z)q8S#)AM%DUhmAEqz`^^tQ}ELb5rbv$Desp?~bo0jNB2Y3?i&9m!r?uHQv&>=-b0z zhRLo)A60!{Y9eH3X9q_cuLlv;n>ERPB*wOA^3K}FMH5Z5 zHxmT(p5JVC%RG>0GCjIE0$&mu057N2)mVh-l(oP7^cg@mIYNK@aqsvqin2hS#SrM) z`#fCd)5^Or9b;QM!Mi*lZ>e3xK?y7Wd<_C{l8X{(bJ7tZTt{_%@?kIzHJLOA40oA7 zx2+b_sfOrt^&4Cp%|_Q7>*{$!2AT^(%r!xC76rS5*N5X17h_~CDi$_paj@I1PhK0E zxixZY>{4+(&z268_NC1_?c6pnwqMru`s?@WlOs0@n=8W{G|3EUV4BWF=_g>s>xRw^ zZP?mevu;uFwffgE>Rqk3F5MmM?uxn5@P@eF05{*V(mWqMA)3;B7N+W}^F=M{9k#C6 zPj3+>ynlN6hxzMMN+iN5;ePrzvIs}%7v9Mo^VYm=pLil+@u&Ic;+8bKG;)VNbVh37 znvZgvm{NLuK9|+$sFda2Q*PCzoU+3FVu4kI`gOeZpjBLn7YXm;UX+e)b?aHjenFuR z^QLuA%;V8!uTh=-pS>;j!_wDxpwBycKi|HNy1Cnb{-xnlKbI>twQP-q3Rz8Cx65i0 zSEhWe5*zC0Y3tuMPyH(OQ|jdH+DEGsUOlK(YN;!<0`-(#wYT6gluf#RkKfQO@mJrL zzQw-Tbp^oFsS&p%8)gRkeKQL98QN>6tl;q|o0|+$0hIF_MI^(p-(@*Y>;VtR8o>Se z;y^GNggCGO4I7alv6Fx(A_FYwH7D9LdR{Zz}P8taB<#bX68BU7MFoOTX6l5nNG1=-J`B#0jX?owRgjH6-X*G2CGN2G&Bu$-J}k(6(>b!7y~W|LvG4s_JC0OTgzL0M0-O8#(<83CkPcmuAk9@i)+KM m_5R}R;?@C9(1}uLLJCD-r$eIbyiVvRCsmO2FS! { // 修改handleChange方法 const handleChange = ({ file, fileList: updatedList }) => { - console.log(111) - console.log(file.status) - console.log(updatedList) // 处理上传成功的情况 if (file.status === 'done') { const response = file.response; @@ -145,7 +142,7 @@ const handleCustomRequest = async (options) => { const formData = new FormData(); formData.append('file', file); - const { data } = await apis.common.uploadImg(formData); + const { data } = await apis.common.uploadFile(formData); const fullUrl = config('http.apiBasic') + data; // 正确构造文件对象 diff --git a/src/components/index.js b/src/components/index.js index c4bba98..7a747b5 100644 --- a/src/components/index.js +++ b/src/components/index.js @@ -19,6 +19,7 @@ import UploadImage from './Upload/UploadImage.vue' import UploadInput from './Upload/UploadInput.vue' import Scrollbar from './Scrollbar/Scrollbar.vue' import Cascader from './Cascader/Cascader.vue' +import GxUpload from './GxUpload/index.vue' import { setupLoadingDirective } from './Loading/directive' const componentList = [ @@ -41,6 +42,7 @@ const componentList = [ UploadInput, Scrollbar, Cascader, + GxUpload ] export const loading = Loading diff --git a/src/enums/enums.js b/src/enums/enums.js new file mode 100644 index 0000000..628383f --- /dev/null +++ b/src/enums/enums.js @@ -0,0 +1,38 @@ +export class EnumManager { + constructor(data) { + this.data = data; + this.valueMap = new Map(data.map(item => [item.value, item.name])); + this.nameMap = new Map(data.map(item => [item.name, item.value])); + this.colorMap=new Map(data.map(item=>[item.value,item.color])) + } + + // 获取整个数组 + getAll() { + return this.data.map(item=>({label:item.name,value:item.value})) + } + + // 根据value获取name + getName(value) { + return this.valueMap.get(value) || ''; + } + //根据value获取color + getColor(value){ + return this.colorMap.get(value)||'' + } + // 根据name获取value(可选) + getValue(name) { + return this.nameMap.get(name) || ''; + } + + // 获取所有value的数组 + getValues() { + return Array.from(this.valueMap.keys()); + } + + // 获取所有name的数组 + getNames() { + return Array.from(this.valueMap.values()); + } + +} + diff --git a/src/enums/index.js b/src/enums/index.js new file mode 100644 index 0000000..64ab02b --- /dev/null +++ b/src/enums/index.js @@ -0,0 +1,15 @@ +import {EnumManager} from './enums' + +const activatyStatus = new EnumManager([ + { value: 1, name: '待审核', color: '#faad14' }, // 黄色(警告色) + { value: 2, name: '进行中', color: '#52c41a' }, // 绿色(进行中) + { value: 3, name: '已完成', color: '#1890ff' }, // 蓝色(完成色) + { value: 4, name: '已过期', color: '#bfbfbf' }, // 灰色(失效色) + { value: 5, name: '审核不通过', color: '#ff4d4f' } // 红色(错误色) +]) + +const enumsStatus = new EnumManager([ + { value: 0, name: '启用', color: '#52c41a' }, // 绿色(启用) + { value: 1, name: '停用', color: '#ff4d4f' } // 红色(停用) +]) +export {activatyStatus,enumsStatus} \ No newline at end of file diff --git a/src/hooks/index.js b/src/hooks/index.js index 2eeeb6b..c9d3856 100644 --- a/src/hooks/index.js +++ b/src/hooks/index.js @@ -4,3 +4,4 @@ export { default as useMenu } from './useMenu' export { default as useModal } from './useModal' export { default as useMultiTab } from './useMultiTab' export { default as usePagination } from './usePagination' +export { default as useSpining } from './useSpining' \ No newline at end of file diff --git a/src/hooks/useSpining.js b/src/hooks/useSpining.js new file mode 100644 index 0000000..2b02ce2 --- /dev/null +++ b/src/hooks/useSpining.js @@ -0,0 +1,15 @@ +import { ref } from 'vue' +export default () => { + const spining = ref(false) // 直接使用基本类型ref + const showSpining = () => { + spining.value = true + } + const hideSpining = () => { + spining.value = false + } + return { + spining, // 直接暴露ref + showSpining, + hideSpining, + } +} diff --git a/src/layouts/UserLayout.vue b/src/layouts/UserLayout.vue index afd1a5b..e2e687f 100644 --- a/src/layouts/UserLayout.vue +++ b/src/layouts/UserLayout.vue @@ -5,10 +5,8 @@

{{ title }}

- -

{{ $t('pages.layouts.userLayout.title') }}

+ +
-
+
@@ -38,10 +34,7 @@