diff --git a/package.json b/package.json index 4b0991b..cc45cfd 100644 --- a/package.json +++ b/package.json @@ -11,13 +11,16 @@ "lint": "eslint . --ext .vue,.js,.jsx,.cjs,.mjs,.ts,.tsx,.cts,.mts --fix --ignore-path .gitignore" }, "dependencies": { + "axios": "^1.2.2", "pinia": "^2.0.28", + "qs": "^6.11.0", "vue": "^3.2.45", "vue-router": "^4.1.6" }, "devDependencies": { "@rushstack/eslint-patch": "^1.1.4", "@types/node": "^18.11.12", + "@types/qs": "^6.9.7", "@vicons/fluent": "^0.12.0", "@vitejs/plugin-vue": "^4.0.0", "@vue/eslint-config-prettier": "^7.0.0", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 3f24975..ce11495 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -3,17 +3,20 @@ lockfileVersion: 5.4 specifiers: '@rushstack/eslint-patch': ^1.1.4 '@types/node': ^18.11.12 + '@types/qs': ^6.9.7 '@vicons/fluent': ^0.12.0 '@vitejs/plugin-vue': ^4.0.0 '@vue/eslint-config-prettier': ^7.0.0 '@vue/eslint-config-typescript': ^11.0.0 '@vue/tsconfig': ^0.1.3 + axios: ^1.2.2 eslint: ^8.22.0 eslint-plugin-vue: ^9.3.0 naive-ui: ^2.34.3 npm-run-all: ^4.1.5 pinia: ^2.0.28 prettier: ^2.7.1 + qs: ^6.11.0 typescript: ~4.7.4 vfonts: ^0.0.3 vite: ^4.0.0 @@ -22,13 +25,16 @@ specifiers: vue-tsc: ^1.0.12 dependencies: + axios: registry.npmmirror.com/axios/1.2.2 pinia: registry.npmmirror.com/pinia/2.0.28_e7lp6ggkpgyi5vqd44m2kxvk6i + qs: registry.npmmirror.com/qs/6.11.0 vue: registry.npmmirror.com/vue/3.2.45 vue-router: registry.npmmirror.com/vue-router/4.1.6_vue@3.2.45 devDependencies: '@rushstack/eslint-patch': registry.npmmirror.com/@rushstack/eslint-patch/1.2.0 '@types/node': registry.npmmirror.com/@types/node/18.11.18 + '@types/qs': registry.npmmirror.com/@types/qs/6.9.7 '@vicons/fluent': registry.npmmirror.com/@vicons/fluent/0.12.0 '@vitejs/plugin-vue': registry.npmmirror.com/@vitejs/plugin-vue/4.0.0_vite@4.0.3+vue@3.2.45 '@vue/eslint-config-prettier': registry.npmmirror.com/@vue/eslint-config-prettier/7.0.0_l5rdqc4k22455lce6ocqroldia @@ -463,6 +469,12 @@ packages: version: 18.11.18 dev: true + registry.npmmirror.com/@types/qs/6.9.7: + resolution: {integrity: sha512-FGa1F62FT09qcrueBA6qYTrJPVDzah9a+493+o2PCXsesWHIn27G98TsSMs3WPNbZIEj4+VJf6saSFpvD+3Zsw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@types/qs/-/qs-6.9.7.tgz} + name: '@types/qs' + version: 6.9.7 + dev: true + registry.npmmirror.com/@types/semver/7.3.13: resolution: {integrity: sha512-21cFJr9z3g5dW8B0CVI9g2O9beqaThGQ6ZFBqHfwhzLDKUxaqTIy3vnfah/UPkfOiF2pLq+tGz+W8RyCskuslw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@types/semver/-/semver-7.3.13.tgz} name: '@types/semver' @@ -916,6 +928,24 @@ packages: version: 4.2.5 dev: true + registry.npmmirror.com/asynckit/0.4.0: + resolution: {integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/asynckit/-/asynckit-0.4.0.tgz} + name: asynckit + version: 0.4.0 + dev: false + + registry.npmmirror.com/axios/1.2.2: + resolution: {integrity: sha512-bz/J4gS2S3I7mpN/YZfGFTqhXTYzRho8Ay38w2otuuDR322KzFIWm/4W2K6gIwvWaws5n+mnb7D1lN9uD+QH6Q==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/axios/-/axios-1.2.2.tgz} + name: axios + version: 1.2.2 + dependencies: + follow-redirects: registry.npmmirror.com/follow-redirects/1.15.2 + form-data: registry.npmmirror.com/form-data/4.0.0 + proxy-from-env: registry.npmmirror.com/proxy-from-env/1.1.0 + transitivePeerDependencies: + - debug + dev: false + registry.npmmirror.com/balanced-match/1.0.2: resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/balanced-match/-/balanced-match-1.0.2.tgz} name: balanced-match @@ -961,7 +991,6 @@ packages: dependencies: function-bind: registry.npmmirror.com/function-bind/1.1.1 get-intrinsic: registry.npmmirror.com/get-intrinsic/1.1.3 - dev: true registry.npmmirror.com/callsites/3.1.0: resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/callsites/-/callsites-3.1.0.tgz} @@ -1020,6 +1049,15 @@ packages: version: 1.1.4 dev: true + registry.npmmirror.com/combined-stream/1.0.8: + resolution: {integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/combined-stream/-/combined-stream-1.0.8.tgz} + name: combined-stream + version: 1.0.8 + engines: {node: '>= 0.8'} + dependencies: + delayed-stream: registry.npmmirror.com/delayed-stream/1.0.0 + dev: false + registry.npmmirror.com/concat-map/0.0.1: resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/concat-map/-/concat-map-0.0.1.tgz} name: concat-map @@ -1132,6 +1170,13 @@ packages: object-keys: registry.npmmirror.com/object-keys/1.1.1 dev: true + registry.npmmirror.com/delayed-stream/1.0.0: + resolution: {integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/delayed-stream/-/delayed-stream-1.0.0.tgz} + name: delayed-stream + version: 1.0.0 + engines: {node: '>=0.4.0'} + dev: false + registry.npmmirror.com/dir-glob/3.0.1: resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/dir-glob/-/dir-glob-3.0.1.tgz} name: dir-glob @@ -1548,6 +1593,29 @@ packages: version: 3.2.7 dev: true + registry.npmmirror.com/follow-redirects/1.15.2: + resolution: {integrity: sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/follow-redirects/-/follow-redirects-1.15.2.tgz} + name: follow-redirects + version: 1.15.2 + engines: {node: '>=4.0'} + peerDependencies: + debug: '*' + peerDependenciesMeta: + debug: + optional: true + dev: false + + registry.npmmirror.com/form-data/4.0.0: + resolution: {integrity: sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/form-data/-/form-data-4.0.0.tgz} + name: form-data + version: 4.0.0 + engines: {node: '>= 6'} + dependencies: + asynckit: registry.npmmirror.com/asynckit/0.4.0 + combined-stream: registry.npmmirror.com/combined-stream/1.0.8 + mime-types: registry.npmmirror.com/mime-types/2.1.35 + dev: false + registry.npmmirror.com/fs.realpath/1.0.0: resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/fs.realpath/-/fs.realpath-1.0.0.tgz} name: fs.realpath @@ -1568,7 +1636,6 @@ packages: resolution: {integrity: sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/function-bind/-/function-bind-1.1.1.tgz} name: function-bind version: 1.1.1 - dev: true registry.npmmirror.com/function.prototype.name/1.1.5: resolution: {integrity: sha512-uN7m/BzVKQnCUF/iW8jYea67v++2u7m5UgENbHRtdDVclOUP+FMPlCNdmk0h/ysGyo2tavMJEDqJAkJdRa1vMA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/function.prototype.name/-/function.prototype.name-1.1.5.tgz} @@ -1596,7 +1663,6 @@ packages: function-bind: registry.npmmirror.com/function-bind/1.1.1 has: registry.npmmirror.com/has/1.0.3 has-symbols: registry.npmmirror.com/has-symbols/1.0.3 - dev: true registry.npmmirror.com/get-symbol-description/1.0.0: resolution: {integrity: sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/get-symbol-description/-/get-symbol-description-1.0.0.tgz} @@ -1715,7 +1781,6 @@ packages: name: has-symbols version: 1.0.3 engines: {node: '>= 0.4'} - dev: true registry.npmmirror.com/has-tostringtag/1.0.0: resolution: {integrity: sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/has-tostringtag/-/has-tostringtag-1.0.0.tgz} @@ -1733,7 +1798,6 @@ packages: engines: {node: '>= 0.4.0'} dependencies: function-bind: registry.npmmirror.com/function-bind/1.1.1 - dev: true registry.npmmirror.com/he/1.2.0: resolution: {integrity: sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/he/-/he-1.2.0.tgz} @@ -2071,6 +2135,22 @@ packages: picomatch: registry.npmmirror.com/picomatch/2.3.1 dev: true + registry.npmmirror.com/mime-db/1.52.0: + resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/mime-db/-/mime-db-1.52.0.tgz} + name: mime-db + version: 1.52.0 + engines: {node: '>= 0.6'} + dev: false + + registry.npmmirror.com/mime-types/2.1.35: + resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/mime-types/-/mime-types-2.1.35.tgz} + name: mime-types + version: 2.1.35 + engines: {node: '>= 0.6'} + dependencies: + mime-db: registry.npmmirror.com/mime-db/1.52.0 + dev: false + registry.npmmirror.com/minimatch/3.1.2: resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/minimatch/-/minimatch-3.1.2.tgz} name: minimatch @@ -2195,7 +2275,6 @@ packages: resolution: {integrity: sha512-z+cPxW0QGUp0mcqcsgQyLVRDoXFQbXOwBaqyF7VIgI4TWNQsDHrBpUQslRmIfAoYWdYzs6UlKJtB2XJpTaNSpQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/object-inspect/-/object-inspect-1.12.2.tgz} name: object-inspect version: 1.12.2 - dev: true registry.npmmirror.com/object-keys/1.1.1: resolution: {integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/object-keys/-/object-keys-1.1.1.tgz} @@ -2417,6 +2496,12 @@ packages: hasBin: true dev: true + registry.npmmirror.com/proxy-from-env/1.1.0: + resolution: {integrity: sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/proxy-from-env/-/proxy-from-env-1.1.0.tgz} + name: proxy-from-env + version: 1.1.0 + dev: false + registry.npmmirror.com/punycode/2.1.1: resolution: {integrity: sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/punycode/-/punycode-2.1.1.tgz} name: punycode @@ -2424,6 +2509,15 @@ packages: engines: {node: '>=6'} dev: true + registry.npmmirror.com/qs/6.11.0: + resolution: {integrity: sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/qs/-/qs-6.11.0.tgz} + name: qs + version: 6.11.0 + engines: {node: '>=0.6'} + dependencies: + side-channel: registry.npmmirror.com/side-channel/1.0.4 + dev: false + registry.npmmirror.com/queue-microtask/1.2.3: resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/queue-microtask/-/queue-microtask-1.2.3.tgz} name: queue-microtask @@ -2590,7 +2684,6 @@ packages: call-bind: registry.npmmirror.com/call-bind/1.0.2 get-intrinsic: registry.npmmirror.com/get-intrinsic/1.1.3 object-inspect: registry.npmmirror.com/object-inspect/1.12.2 - dev: true registry.npmmirror.com/slash/3.0.0: resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/slash/-/slash-3.0.0.tgz} diff --git a/src/App.vue b/src/App.vue index 186d4b5..928da52 100644 --- a/src/App.vue +++ b/src/App.vue @@ -11,12 +11,14 @@ import { NConfigProvider, type GlobalThemeOverrides } from 'naive-ui' const themeOverrides: GlobalThemeOverrides = { common: { - primaryColor: '#42b883', + primaryColor: '#6777ef', + primaryColorHover: 'rgba(103, 119, 239, 0.8)', + primaryColorPressed: '#515dbc', borderRadius: '4px', }, - // Button: { - // textColor: '#FF0000', - // }, + Button: { + fontSizeLarge: '18px', + }, // Select: { // peers: { // InternalSelection: { diff --git a/src/views/HomeView/HomeView.vue b/src/layouts/MainPage/MainPage.vue similarity index 56% rename from src/views/HomeView/HomeView.vue rename to src/layouts/MainPage/MainPage.vue index 4f67398..272e9d7 100644 --- a/src/views/HomeView/HomeView.vue +++ b/src/layouts/MainPage/MainPage.vue @@ -29,23 +29,20 @@ - 平山道
平山道
平山道
平山道
平山道
平山道
平山道
平山道
平山道
平山道
平山道
平山道
平山道
平山道
平山道
平山道
平山道
平山道
平山道
平山道
平山道
平山道
平山道
平山道
平山道
平山道
- 平山道
平山道
平山道
平山道
平山道
平山道
平山道
平山道
平山道
平山道
平山道
平山道
平山道
平山道
平山道
平山道
平山道
平山道
平山道
平山道
平山道
平山道
平山道
平山道
平山道
平山道
- 平山道
平山道
平山道
平山道
平山道
平山道
平山道
平山道
平山道
平山道
平山道
平山道
平山道
平山道
平山道
平山道
平山道
平山道
平山道
平山道
平山道
平山道
平山道
平山道
平山道
平山道
- 平山道
平山道
平山道
平山道
平山道
平山道
平山道
平山道
平山道
平山道
平山道
平山道
平山道
平山道
平山道
平山道
平山道
平山道
平山道
平山道
平山道
平山道
平山道
平山道
平山道
平山道
+
diff --git a/src/main.ts b/src/main.ts index f70a218..3313e93 100644 --- a/src/main.ts +++ b/src/main.ts @@ -5,6 +5,10 @@ import App from './App.vue' import router from './router' import './assets/main.css' +// 通用字体 +import 'vfonts/Lato.css' +// 等宽字体 +import 'vfonts/FiraCode.css' import { // create naive ui @@ -21,10 +25,12 @@ import { NForm, NFormItem, NInput, - NRow, - NCol, + NGrid, + NGridItem, NMessageProvider, NCard, + NCheckbox, + NCheckboxGroup, } from 'naive-ui' const naive = create({ @@ -40,10 +46,12 @@ const naive = create({ NForm, NFormItem, NInput, - NRow, - NCol, + NGrid, + NGridItem, NMessageProvider, NCard, + NCheckbox, + NCheckboxGroup, ], }) diff --git a/src/router/index.ts b/src/router/index.ts index 0a6e774..216f815 100644 --- a/src/router/index.ts +++ b/src/router/index.ts @@ -1,18 +1,26 @@ import { createRouter, createWebHistory } from 'vue-router' -import HomeView from '../views/HomeView/HomeView.vue' -import LoginView from '../views/LoginView/LoginView.vue' +import MainPage from '../layouts/MainPage/MainPage.vue' +import Login from '../views/Login/Login.vue' +import Page404 from '../views/404/index.vue' const router = createRouter({ history: createWebHistory(import.meta.env.BASE_URL), routes: [ { path: '/', - redirect: '/login', + component: MainPage, + children: [ + { + path: '404', + name: '404', + component: Page404, + }, + ], }, { path: '/login', name: 'login', - component: LoginView, + component: Login, }, ], }) diff --git a/src/type/PrincipalType.ts b/src/type/PrincipalType.ts new file mode 100644 index 0000000..841ec9b --- /dev/null +++ b/src/type/PrincipalType.ts @@ -0,0 +1,13 @@ +export enum PrincipalType { + EMAIL, + MOBILE_PHONE, + USERNAME, +} + +export const regexConsts = { + email: /^\w+([-+.]\w+)*@[a-zA-Z0-9][-a-zA-Z0-9]{0,62}(\.[a-zA-Z0-9][-a-zA-Z0-9]{0,62})*(\.(?![0-9]+$)[a-zA-Z0-9][-0-9A-Za-z]{0,62})$/, + mobilePhone: /^(13[0-9]|14[01456879]|15[0-35-9]|16[2567]|17[0-8]|18[0-9]|19[0-35-9])\d{8}$/, + username: /^[\da-zA-Z_.@\\]{4,36}$/, + + password: /^(?=.*\d)(?=.*[a-z])(?=.*[A-Z])[\w\\!#$%&'*+\-/=?^`{|}~@()[]",\.;':><]{8,32}$/, +} diff --git a/src/utils/request.ts b/src/utils/request.ts new file mode 100644 index 0000000..e69de29 diff --git a/src/views/ChangePassword/components/LoginByOTP.vue b/src/views/ChangePassword/components/LoginByOTP.vue new file mode 100644 index 0000000..6fa5e7c --- /dev/null +++ b/src/views/ChangePassword/components/LoginByOTP.vue @@ -0,0 +1,181 @@ + + + + + diff --git a/src/views/ChangePassword/components/LoginByPassword.vue b/src/views/ChangePassword/components/LoginByPassword.vue new file mode 100644 index 0000000..6463a06 --- /dev/null +++ b/src/views/ChangePassword/components/LoginByPassword.vue @@ -0,0 +1,161 @@ + + + + + diff --git a/src/views/ChangePassword/index.vue b/src/views/ChangePassword/index.vue new file mode 100644 index 0000000..3608f68 --- /dev/null +++ b/src/views/ChangePassword/index.vue @@ -0,0 +1,28 @@ + + + + + diff --git a/src/views/Login/Login.vue b/src/views/Login/Login.vue new file mode 100644 index 0000000..3608f68 --- /dev/null +++ b/src/views/Login/Login.vue @@ -0,0 +1,28 @@ + + + + + diff --git a/src/views/Login/components/LoginByOTP.vue b/src/views/Login/components/LoginByOTP.vue new file mode 100644 index 0000000..6fa5e7c --- /dev/null +++ b/src/views/Login/components/LoginByOTP.vue @@ -0,0 +1,181 @@ + + + + + diff --git a/src/views/Login/components/LoginByPassword.vue b/src/views/Login/components/LoginByPassword.vue new file mode 100644 index 0000000..0a5b7ae --- /dev/null +++ b/src/views/Login/components/LoginByPassword.vue @@ -0,0 +1,140 @@ + + + + + diff --git a/src/views/LoginView/LoginView.vue b/src/views/LoginView/LoginView.vue deleted file mode 100644 index c49c18b..0000000 --- a/src/views/LoginView/LoginView.vue +++ /dev/null @@ -1,184 +0,0 @@ - - - - -