From f1236daf7975e3436ff52257918ef6a4e8ad810d Mon Sep 17 00:00:00 2001 From: Seven <1530011482@qq.com> Date: Sun, 23 Aug 2026 20:58:10 +0800 Subject: [PATCH] =?UTF-8?q?=E6=90=AD=E5=BB=BA=E5=88=9D=E6=AD=A5=E6=A1=86?= =?UTF-8?q?=E6=9E=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- babel.config.js | 9 +++ package-lock.json | 131 ++++++++++++++++++++++++++++++- package.json | 5 +- src/App.vue | 19 +---- src/assets/css/style_public.css | 48 +++++++++++ src/main.js | 11 +++ src/pages/index/IndexPage.vue | 38 +++++++++ src/pages/login/Login.vue | 32 -------- src/pages/login/LoginPage.vue | 35 +++++++++ src/pages/login/RegisterPage.vue | 37 +++++++++ src/router.js | 38 +++++++++ src/store/index.js | 0 12 files changed, 352 insertions(+), 51 deletions(-) create mode 100644 src/assets/css/style_public.css create mode 100644 src/pages/index/IndexPage.vue delete mode 100644 src/pages/login/Login.vue create mode 100644 src/pages/login/LoginPage.vue create mode 100644 src/pages/login/RegisterPage.vue create mode 100644 src/store/index.js diff --git a/babel.config.js b/babel.config.js index e955840..ca8c045 100644 --- a/babel.config.js +++ b/babel.config.js @@ -1,5 +1,14 @@ module.exports = { presets: [ '@vue/cli-plugin-babel/preset' + ], + plugins: [ + [ + 'component', + { + libraryName: 'element-ui', + styleLibraryName: 'theme-chalk' + } + ] ] } diff --git a/package-lock.json b/package-lock.json index 29b4fe9..d2af2e3 100644 --- a/package-lock.json +++ b/package-lock.json @@ -9,7 +9,9 @@ "version": "0.1.0", "dependencies": { "core-js": "^3.8.3", - "vue": "^2.6.14" + "element-ui": "^2.15.14", + "vue": "^2.6.14", + "vue-router": "^3.6.5" }, "devDependencies": { "@babel/core": "^7.12.16", @@ -17,6 +19,7 @@ "@vue/cli-plugin-babel": "~5.0.0", "@vue/cli-plugin-eslint": "~5.0.0", "@vue/cli-service": "~5.0.0", + "babel-plugin-component": "^1.1.1", "eslint": "^7.32.0", "eslint-plugin-vue": "^8.0.3", "vue-template-compiler": "^2.6.14" @@ -3435,6 +3438,14 @@ "dev": true, "license": "MIT" }, + "node_modules/async-validator": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/async-validator/-/async-validator-1.8.5.tgz", + "integrity": "sha512-tXBM+1m056MAX0E8TL2iCjg8WvSyXu0Zc8LNtYqrVeyoL3+esHRZ4SieE9fKQyyU09uONjnMEjrNBMqT0mbvmA==", + "dependencies": { + "babel-runtime": "6.x" + } + }, "node_modules/at-least-node": { "version": "1.0.0", "resolved": "https://registry.npmmirror.com/at-least-node/-/at-least-node-1.0.0.tgz", @@ -3482,6 +3493,12 @@ "postcss": "^8.1.0" } }, + "node_modules/babel-helper-vue-jsx-merge-props": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/babel-helper-vue-jsx-merge-props/-/babel-helper-vue-jsx-merge-props-2.0.3.tgz", + "integrity": "sha512-gsLiKK7Qrb7zYJNgiXKpXblxbV5ffSwR0f5whkPAaBAR4fhi6bwRZxX9wBlIc5M/v8CCkXUbXZL4N/nSE97cqg==", + "license": "MIT" + }, "node_modules/babel-loader": { "version": "8.4.1", "resolved": "https://registry.npmmirror.com/babel-loader/-/babel-loader-8.4.1.tgz", @@ -3517,6 +3534,39 @@ "node": ">=8.9.0" } }, + "node_modules/babel-plugin-component": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/babel-plugin-component/-/babel-plugin-component-1.1.1.tgz", + "integrity": "sha512-WUw887kJf2GH80Ng/ZMctKZ511iamHNqPhd9uKo14yzisvV7Wt1EckIrb8oq/uCz3B3PpAW7Xfl7AkTLDYT6ag==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-module-imports": "7.0.0-beta.35" + } + }, + "node_modules/babel-plugin-component/node_modules/@babel/helper-module-imports": { + "version": "7.0.0-beta.35", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.0.0-beta.35.tgz", + "integrity": "sha512-vaC1KyIZSuyWb3Lj277fX0pxivyHwuDU4xZsofqgYAbkDxNieMg2vuhzP5AgMweMY7fCQUMTi+BgPqTLjkxXFg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/types": "7.0.0-beta.35", + "lodash": "^4.2.0" + } + }, + "node_modules/babel-plugin-component/node_modules/@babel/types": { + "version": "7.0.0-beta.35", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.0.0-beta.35.tgz", + "integrity": "sha512-y9XT11CozHDgjWcTdxmhSj13rJVXpa5ZXwjjOiTedjaM0ba5ItqdS02t31EhPl7HtOWxsZkYCCUNrSfrOisA6w==", + "dev": true, + "license": "MIT", + "dependencies": { + "esutils": "^2.0.2", + "lodash": "^4.2.0", + "to-fast-properties": "^2.0.0" + } + }, "node_modules/babel-plugin-dynamic-import-node": { "version": "2.3.3", "resolved": "https://registry.npmmirror.com/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.3.tgz", @@ -3569,6 +3619,24 @@ "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" } }, + "node_modules/babel-runtime": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz", + "integrity": "sha512-ITKNuq2wKlW1fJg9sSW52eepoYgZBggvOAHC0u/CYu/qxQ9EVzThCgR69BnSXLHjy2f7SY5zaQ4yt7H9ZVxY2g==", + "license": "MIT", + "dependencies": { + "core-js": "^2.4.0", + "regenerator-runtime": "^0.11.0" + } + }, + "node_modules/babel-runtime/node_modules/core-js": { + "version": "2.6.12", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.12.tgz", + "integrity": "sha512-Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ==", + "deprecated": "core-js@<3.23.3 is no longer maintained and not recommended for usage due to the number of issues. Because of the V8 engine whims, feature detection in old core-js versions could cause a slowdown up to 100x even if nothing is polyfilled. Some versions have web compatibility issues. Please, upgrade your dependencies to the actual version of core-js.", + "hasInstallScript": true, + "license": "MIT" + }, "node_modules/balanced-match": { "version": "1.0.2", "resolved": "https://registry.npmmirror.com/balanced-match/-/balanced-match-1.0.2.tgz", @@ -4803,7 +4871,6 @@ "version": "1.5.2", "resolved": "https://registry.npmmirror.com/deepmerge/-/deepmerge-1.5.2.tgz", "integrity": "sha512-95k0GDqvBjZavkuvzx/YqVLv/6YYa17fz6ILMSf7neqQITCPbnfEnQvEgMPNjH4kgobe7+WIL0yJEHku+H3qtQ==", - "dev": true, "license": "MIT", "engines": { "node": ">=0.10.0" @@ -5228,6 +5295,23 @@ "dev": true, "license": "ISC" }, + "node_modules/element-ui": { + "version": "2.15.14", + "resolved": "https://registry.npmjs.org/element-ui/-/element-ui-2.15.14.tgz", + "integrity": "sha512-2v9fHL0ZGINotOlRIAJD5YuVB8V7WKxrE9Qy7dXhRipa035+kF7WuU/z+tEmLVPBcJ0zt8mOu1DKpWcVzBK8IA==", + "license": "MIT", + "dependencies": { + "async-validator": "~1.8.1", + "babel-helper-vue-jsx-merge-props": "^2.0.0", + "deepmerge": "^1.2.0", + "normalize-wheel": "^1.0.1", + "resize-observer-polyfill": "^1.5.0", + "throttle-debounce": "^1.0.1" + }, + "peerDependencies": { + "vue": "^2.5.17" + } + }, "node_modules/emoji-regex": { "version": "8.0.0", "resolved": "https://registry.npmmirror.com/emoji-regex/-/emoji-regex-8.0.0.tgz", @@ -8423,6 +8507,12 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/normalize-wheel": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/normalize-wheel/-/normalize-wheel-1.0.1.tgz", + "integrity": "sha512-1OnlAPZ3zgrk8B91HyRj+eVv+kS5u+Z0SCsak6Xil/kmgEia50ga7zfkumayonZrImffAxPU/5WcyGhzetHNPA==", + "license": "BSD-3-Clause" + }, "node_modules/npm-run-path": { "version": "2.0.2", "resolved": "https://registry.npmmirror.com/npm-run-path/-/npm-run-path-2.0.2.tgz", @@ -9863,6 +9953,12 @@ "node": ">=4" } }, + "node_modules/regenerator-runtime": { + "version": "0.11.1", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz", + "integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==", + "license": "MIT" + }, "node_modules/regexpp": { "version": "3.2.0", "resolved": "https://registry.npmmirror.com/regexpp/-/regexpp-3.2.0.tgz", @@ -9965,6 +10061,12 @@ "dev": true, "license": "MIT" }, + "node_modules/resize-observer-polyfill": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/resize-observer-polyfill/-/resize-observer-polyfill-1.5.1.tgz", + "integrity": "sha512-LwZrotdHOo12nQuZlHEmtuXdqGoOD0OhaxopaNFxWzInpEgaLWoVuAMbTzixuosCx2nEG58ngzW3vxdWoxIgdg==", + "license": "MIT" + }, "node_modules/resolve": { "version": "1.22.12", "resolved": "https://registry.npmmirror.com/resolve/-/resolve-1.22.12.tgz", @@ -11109,6 +11211,15 @@ "url": "https://opencollective.com/webpack" } }, + "node_modules/throttle-debounce": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/throttle-debounce/-/throttle-debounce-1.1.0.tgz", + "integrity": "sha512-XH8UiPCQcWNuk2LYePibW/4qL97+ZQ1AN3FNXwZRBNPPowo/NRU5fAlDCSNBJIYCKbioZfuYtMhG4quqoJhVzg==", + "license": "MIT", + "engines": { + "node": ">=4" + } + }, "node_modules/thunky": { "version": "1.1.0", "resolved": "https://registry.npmmirror.com/thunky/-/thunky-1.1.0.tgz", @@ -11116,6 +11227,16 @@ "dev": true, "license": "MIT" }, + "node_modules/to-fast-properties": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", + "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, "node_modules/to-regex-range": { "version": "5.0.1", "resolved": "https://registry.npmmirror.com/to-regex-range/-/to-regex-range-5.0.1.tgz", @@ -11528,6 +11649,12 @@ "url": "https://github.com/chalk/chalk?sponsor=1" } }, + "node_modules/vue-router": { + "version": "3.6.5", + "resolved": "https://registry.npmjs.org/vue-router/-/vue-router-3.6.5.tgz", + "integrity": "sha512-VYXZQLtjuvKxxcshuRAwjHnciqZVoXAjTjcqBTz4rKc8qih9g9pI3hbDjmqXaHdgL3v8pV6P8Z335XvHzESxLQ==", + "license": "MIT" + }, "node_modules/vue-style-loader": { "version": "4.1.3", "resolved": "https://registry.npmmirror.com/vue-style-loader/-/vue-style-loader-4.1.3.tgz", diff --git a/package.json b/package.json index 2e4e4cb..3f7bb0b 100644 --- a/package.json +++ b/package.json @@ -9,7 +9,9 @@ }, "dependencies": { "core-js": "^3.8.3", - "vue": "^2.6.14" + "element-ui": "^2.15.14", + "vue": "^2.6.14", + "vue-router": "^3.6.5" }, "devDependencies": { "@babel/core": "^7.12.16", @@ -17,6 +19,7 @@ "@vue/cli-plugin-babel": "~5.0.0", "@vue/cli-plugin-eslint": "~5.0.0", "@vue/cli-service": "~5.0.0", + "babel-plugin-component": "^1.1.1", "eslint": "^7.32.0", "eslint-plugin-vue": "^8.0.3", "vue-template-compiler": "^2.6.14" diff --git a/src/App.vue b/src/App.vue index 55df315..19226fa 100644 --- a/src/App.vue +++ b/src/App.vue @@ -1,28 +1,15 @@ diff --git a/src/assets/css/style_public.css b/src/assets/css/style_public.css new file mode 100644 index 0000000..c624f1a --- /dev/null +++ b/src/assets/css/style_public.css @@ -0,0 +1,48 @@ +* { + margin: 0; + padding: 0; + border: 0; + font-size: 100%; + font: inherit; + vertical-align: baseline; + } + + li { + list-style: none; + } + + a { + text-decoration: none; + } + + button { + outline: none; + user-select: none; + } + + input { + outline: none; + } + + .fl { + float: left; + } + + .fr { + float: right; + } + + /* 清除浮动 */ + .clearfix:after { + content: ""; + display: block; + clear: both; + } + + .el-message-box__wrapper { + top: -500px; + } + + .el-card { + box-shadow: 0 1px 1px rgba(0, 0, 0, 0.15) !important + } \ No newline at end of file diff --git a/src/main.js b/src/main.js index 63eb05f..6439016 100644 --- a/src/main.js +++ b/src/main.js @@ -1,8 +1,19 @@ import Vue from 'vue' import App from './App.vue' +import router from './router' +import store from './store' +import { Button, Select, Input, InputNumber } from 'element-ui'; +import './assets/css/style_public.css' Vue.config.productionTip = false +Vue.use(Button) +Vue.use(Select) +Vue.use(Input) +Vue.use(InputNumber) + new Vue({ + router, + store, render: h => h(App), }).$mount('#app') diff --git a/src/pages/index/IndexPage.vue b/src/pages/index/IndexPage.vue new file mode 100644 index 0000000..c01bc3e --- /dev/null +++ b/src/pages/index/IndexPage.vue @@ -0,0 +1,38 @@ + + + + + diff --git a/src/pages/login/Login.vue b/src/pages/login/Login.vue deleted file mode 100644 index d167419..0000000 --- a/src/pages/login/Login.vue +++ /dev/null @@ -1,32 +0,0 @@ - - - - - - diff --git a/src/pages/login/LoginPage.vue b/src/pages/login/LoginPage.vue new file mode 100644 index 0000000..7094e4c --- /dev/null +++ b/src/pages/login/LoginPage.vue @@ -0,0 +1,35 @@ + + + + + diff --git a/src/pages/login/RegisterPage.vue b/src/pages/login/RegisterPage.vue new file mode 100644 index 0000000..a3862ed --- /dev/null +++ b/src/pages/login/RegisterPage.vue @@ -0,0 +1,37 @@ + + + + + diff --git a/src/router.js b/src/router.js index e69de29..a5b79e2 100644 --- a/src/router.js +++ b/src/router.js @@ -0,0 +1,38 @@ +import Vue from 'vue' +import VueRouter from 'vue-router' + +import LoginPage from './pages/login/LoginPage.vue' +import RegisterPage from './pages/login/RegisterPage.vue' +import IndexPage from './pages/index/IndexPage.vue' + +Vue.use(VueRouter) + +const routes = [ + { + path: '/', + redirect: '/login' + }, + { + path: '/login', + name: 'login', + component: LoginPage + }, + { + path: '/register', + name: 'RegisterPage', + componenr: RegisterPage + }, + { + path: '/index', + name: 'index', + component: IndexPage + } +] + +const router = new VueRouter({ + mode: 'history', + base: process.env.BASE_URL, + routes +}) + +export default router \ No newline at end of file diff --git a/src/store/index.js b/src/store/index.js new file mode 100644 index 0000000..e69de29