From 356665eb1e1101aebfe0fd9618e565110fc8f044 Mon Sep 17 00:00:00 2001 From: zhangli <2235006734@qq.com> Date: Sat, 7 Oct 2023 15:59:16 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E7=99=BB=E5=BD=95=E9=A1=B5=E9=9D=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .env | 4 +- package-lock.json | 540 +++++++++++++++++++++++++++++++ src/api/path/system.api.ts | 28 +- src/assets/images/login/code.png | Bin 0 -> 4610 bytes src/views/login/index.vue | 80 ++--- 5 files changed, 568 insertions(+), 84 deletions(-) create mode 100644 src/assets/images/login/code.png diff --git a/.env b/.env index 046190f..3af333c 100644 --- a/.env +++ b/.env @@ -3,7 +3,7 @@ VITE_DEV_PORT = '8080' # development path # VITE_DEV_PATH = 'https://demo.mtruning.club' -VITE_DEV_PATH = 'http://locahost:12080' +VITE_DEV_PATH = 'http://127.0.0.1:12080' # production path VITE_PRO_PATH = 'https://demo.mtruning.club' @@ -12,4 +12,4 @@ VITE_PRO_PATH = 'https://demo.mtruning.club' VITE_APP_TENANT_ENABLE=true # 验证码的开关 -VITE_APP_CAPTCHA_ENABLE=true +# VITE_APP_CAPTCHA_ENABLE=true diff --git a/package-lock.json b/package-lock.json index fa99215..2cbd0a3 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1312,6 +1312,17 @@ "node": ">=6.0.0" } }, + "node_modules/@jridgewell/source-map": { + "version": "0.3.5", + "resolved": "https://registry.npmmirror.com/@jridgewell/source-map/-/source-map-0.3.5.tgz", + "integrity": "sha512-UTYAUj/wviwdsMfzoSJspJxbkH5o1snzwX0//0ENX1u/55kkZZkcTZP6u9bwKGkv+dkk9at4m1Cpt0uY80kcpQ==", + "dev": true, + "peer": true, + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.0", + "@jridgewell/trace-mapping": "^0.3.9" + } + }, "node_modules/@jridgewell/sourcemap-codec": { "version": "1.4.15", "resolved": "https://registry.npmmirror.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", @@ -1430,6 +1441,35 @@ "resolved": "https://registry.npmmirror.com/@types/crypto-js/-/crypto-js-4.1.2.tgz", "integrity": "sha512-t33RNmTu5ufG/sorROIafiCVJMx3jz95bXUMoPAZcUD14fxMXnuTzqzXZoxpR0tNx2xpw11Dlmem9vGCsrSOfA==" }, + "node_modules/@types/eslint": { + "version": "8.44.3", + "resolved": "https://registry.npmmirror.com/@types/eslint/-/eslint-8.44.3.tgz", + "integrity": "sha512-iM/WfkwAhwmPff3wZuPLYiHX18HI24jU8k1ZSH7P8FHwxTjZ2P6CoX2wnF43oprR+YXJM6UUxATkNvyv/JHd+g==", + "dev": true, + "peer": true, + "dependencies": { + "@types/estree": "*", + "@types/json-schema": "*" + } + }, + "node_modules/@types/eslint-scope": { + "version": "3.7.5", + "resolved": "https://registry.npmmirror.com/@types/eslint-scope/-/eslint-scope-3.7.5.tgz", + "integrity": "sha512-JNvhIEyxVW6EoMIFIvj93ZOywYFatlpu9deeH6eSx6PE3WHYvHaQtmHmQeNw7aA81bYGBPPQqdtBm6b1SsQMmA==", + "dev": true, + "peer": true, + "dependencies": { + "@types/eslint": "*", + "@types/estree": "*" + } + }, + "node_modules/@types/estree": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/@types/estree/-/estree-1.0.2.tgz", + "integrity": "sha512-VeiPZ9MMwXjO32/Xu7+OwflfmeoRwkE/qzndw42gGtgJwZopBnzy2gD//NN1+go1mADzkDcqf/KnFRSjTJ8xJA==", + "dev": true, + "peer": true + }, "node_modules/@types/fined": { "version": "1.1.3", "resolved": "https://registry.npmmirror.com/@types/fined/-/fined-1.1.3.tgz", @@ -1999,6 +2039,181 @@ } } }, + "node_modules/@webassemblyjs/ast": { + "version": "1.11.6", + "resolved": "https://registry.npmmirror.com/@webassemblyjs/ast/-/ast-1.11.6.tgz", + "integrity": "sha512-IN1xI7PwOvLPgjcf180gC1bqn3q/QaOCwYUahIOhbYUu8KA/3tw2RT/T0Gidi1l7Hhj5D/INhJxiICObqpMu4Q==", + "dev": true, + "peer": true, + "dependencies": { + "@webassemblyjs/helper-numbers": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6" + } + }, + "node_modules/@webassemblyjs/floating-point-hex-parser": { + "version": "1.11.6", + "resolved": "https://registry.npmmirror.com/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.6.tgz", + "integrity": "sha512-ejAj9hfRJ2XMsNHk/v6Fu2dGS+i4UaXBXGemOfQ/JfQ6mdQg/WXtwleQRLLS4OvfDhv8rYnVwH27YJLMyYsxhw==", + "dev": true, + "peer": true + }, + "node_modules/@webassemblyjs/helper-api-error": { + "version": "1.11.6", + "resolved": "https://registry.npmmirror.com/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.6.tgz", + "integrity": "sha512-o0YkoP4pVu4rN8aTJgAyj9hC2Sv5UlkzCHhxqWj8butaLvnpdc2jOwh4ewE6CX0txSfLn/UYaV/pheS2Txg//Q==", + "dev": true, + "peer": true + }, + "node_modules/@webassemblyjs/helper-buffer": { + "version": "1.11.6", + "resolved": "https://registry.npmmirror.com/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.6.tgz", + "integrity": "sha512-z3nFzdcp1mb8nEOFFk8DrYLpHvhKC3grJD2ardfKOzmbmJvEf/tPIqCY+sNcwZIY8ZD7IkB2l7/pqhUhqm7hLA==", + "dev": true, + "peer": true + }, + "node_modules/@webassemblyjs/helper-numbers": { + "version": "1.11.6", + "resolved": "https://registry.npmmirror.com/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.6.tgz", + "integrity": "sha512-vUIhZ8LZoIWHBohiEObxVm6hwP034jwmc9kuq5GdHZH0wiLVLIPcMCdpJzG4C11cHoQ25TFIQj9kaVADVX7N3g==", + "dev": true, + "peer": true, + "dependencies": { + "@webassemblyjs/floating-point-hex-parser": "1.11.6", + "@webassemblyjs/helper-api-error": "1.11.6", + "@xtuc/long": "4.2.2" + } + }, + "node_modules/@webassemblyjs/helper-wasm-bytecode": { + "version": "1.11.6", + "resolved": "https://registry.npmmirror.com/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.6.tgz", + "integrity": "sha512-sFFHKwcmBprO9e7Icf0+gddyWYDViL8bpPjJJl0WHxCdETktXdmtWLGVzoHbqUcY4Be1LkNfwTmXOJUFZYSJdA==", + "dev": true, + "peer": true + }, + "node_modules/@webassemblyjs/helper-wasm-section": { + "version": "1.11.6", + "resolved": "https://registry.npmmirror.com/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.6.tgz", + "integrity": "sha512-LPpZbSOwTpEC2cgn4hTydySy1Ke+XEu+ETXuoyvuyezHO3Kjdu90KK95Sh9xTbmjrCsUwvWwCOQQNta37VrS9g==", + "dev": true, + "peer": true, + "dependencies": { + "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/helper-buffer": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/wasm-gen": "1.11.6" + } + }, + "node_modules/@webassemblyjs/ieee754": { + "version": "1.11.6", + "resolved": "https://registry.npmmirror.com/@webassemblyjs/ieee754/-/ieee754-1.11.6.tgz", + "integrity": "sha512-LM4p2csPNvbij6U1f19v6WR56QZ8JcHg3QIJTlSwzFcmx6WSORicYj6I63f9yU1kEUtrpG+kjkiIAkevHpDXrg==", + "dev": true, + "peer": true, + "dependencies": { + "@xtuc/ieee754": "^1.2.0" + } + }, + "node_modules/@webassemblyjs/leb128": { + "version": "1.11.6", + "resolved": "https://registry.npmmirror.com/@webassemblyjs/leb128/-/leb128-1.11.6.tgz", + "integrity": "sha512-m7a0FhE67DQXgouf1tbN5XQcdWoNgaAuoULHIfGFIEVKA6tu/edls6XnIlkmS6FrXAquJRPni3ZZKjw6FSPjPQ==", + "dev": true, + "peer": true, + "dependencies": { + "@xtuc/long": "4.2.2" + } + }, + "node_modules/@webassemblyjs/utf8": { + "version": "1.11.6", + "resolved": "https://registry.npmmirror.com/@webassemblyjs/utf8/-/utf8-1.11.6.tgz", + "integrity": "sha512-vtXf2wTQ3+up9Zsg8sa2yWiQpzSsMyXj0qViVP6xKGCUT8p8YJ6HqI7l5eCnWx1T/FYdsv07HQs2wTFbbof/RA==", + "dev": true, + "peer": true + }, + "node_modules/@webassemblyjs/wasm-edit": { + "version": "1.11.6", + "resolved": "https://registry.npmmirror.com/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.6.tgz", + "integrity": "sha512-Ybn2I6fnfIGuCR+Faaz7YcvtBKxvoLV3Lebn1tM4o/IAJzmi9AWYIPWpyBfU8cC+JxAO57bk4+zdsTjJR+VTOw==", + "dev": true, + "peer": true, + "dependencies": { + "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/helper-buffer": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/helper-wasm-section": "1.11.6", + "@webassemblyjs/wasm-gen": "1.11.6", + "@webassemblyjs/wasm-opt": "1.11.6", + "@webassemblyjs/wasm-parser": "1.11.6", + "@webassemblyjs/wast-printer": "1.11.6" + } + }, + "node_modules/@webassemblyjs/wasm-gen": { + "version": "1.11.6", + "resolved": "https://registry.npmmirror.com/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.6.tgz", + "integrity": "sha512-3XOqkZP/y6B4F0PBAXvI1/bky7GryoogUtfwExeP/v7Nzwo1QLcq5oQmpKlftZLbT+ERUOAZVQjuNVak6UXjPA==", + "dev": true, + "peer": true, + "dependencies": { + "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/ieee754": "1.11.6", + "@webassemblyjs/leb128": "1.11.6", + "@webassemblyjs/utf8": "1.11.6" + } + }, + "node_modules/@webassemblyjs/wasm-opt": { + "version": "1.11.6", + "resolved": "https://registry.npmmirror.com/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.6.tgz", + "integrity": "sha512-cOrKuLRE7PCe6AsOVl7WasYf3wbSo4CeOk6PkrjS7g57MFfVUF9u6ysQBBODX0LdgSvQqRiGz3CXvIDKcPNy4g==", + "dev": true, + "peer": true, + "dependencies": { + "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/helper-buffer": "1.11.6", + "@webassemblyjs/wasm-gen": "1.11.6", + "@webassemblyjs/wasm-parser": "1.11.6" + } + }, + "node_modules/@webassemblyjs/wasm-parser": { + "version": "1.11.6", + "resolved": "https://registry.npmmirror.com/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.6.tgz", + "integrity": "sha512-6ZwPeGzMJM3Dqp3hCsLgESxBGtT/OeCvCZ4TA1JUPYgmhAx38tTPR9JaKy0S5H3evQpO/h2uWs2j6Yc/fjkpTQ==", + "dev": true, + "peer": true, + "dependencies": { + "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/helper-api-error": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/ieee754": "1.11.6", + "@webassemblyjs/leb128": "1.11.6", + "@webassemblyjs/utf8": "1.11.6" + } + }, + "node_modules/@webassemblyjs/wast-printer": { + "version": "1.11.6", + "resolved": "https://registry.npmmirror.com/@webassemblyjs/wast-printer/-/wast-printer-1.11.6.tgz", + "integrity": "sha512-JM7AhRcE+yW2GWYaKeHL5vt4xqee5N2WcezptmgyhNS+ScggqcT1OtXykhAb13Sn5Yas0j2uv9tHgrjwvzAP4A==", + "dev": true, + "peer": true, + "dependencies": { + "@webassemblyjs/ast": "1.11.6", + "@xtuc/long": "4.2.2" + } + }, + "node_modules/@xtuc/ieee754": { + "version": "1.2.0", + "resolved": "https://registry.npmmirror.com/@xtuc/ieee754/-/ieee754-1.2.0.tgz", + "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==", + "dev": true, + "peer": true + }, + "node_modules/@xtuc/long": { + "version": "4.2.2", + "resolved": "https://registry.npmmirror.com/@xtuc/long/-/long-4.2.2.tgz", + "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==", + "dev": true, + "peer": true + }, "node_modules/acorn": { "version": "8.10.0", "resolved": "https://registry.npmmirror.com/acorn/-/acorn-8.10.0.tgz", @@ -2011,6 +2226,16 @@ "node": ">=0.4.0" } }, + "node_modules/acorn-import-assertions": { + "version": "1.9.0", + "resolved": "https://registry.npmmirror.com/acorn-import-assertions/-/acorn-import-assertions-1.9.0.tgz", + "integrity": "sha512-cmMwop9x+8KFhxvKrKfPYmN6/pKTYYHBqLa0DfvVZcKMJWNyWLnaqND7dx/qn66R7ewM1UX5XMaDVP5wlVTaVA==", + "dev": true, + "peer": true, + "peerDependencies": { + "acorn": "^8" + } + }, "node_modules/acorn-jsx": { "version": "5.3.2", "resolved": "https://registry.npmmirror.com/acorn-jsx/-/acorn-jsx-5.3.2.tgz", @@ -2415,6 +2640,13 @@ "ieee754": "^1.1.13" } }, + "node_modules/buffer-from": { + "version": "1.1.2", + "resolved": "https://registry.npmmirror.com/buffer-from/-/buffer-from-1.1.2.tgz", + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", + "dev": true, + "peer": true + }, "node_modules/call-bind": { "version": "1.0.2", "resolved": "https://registry.npmmirror.com/call-bind/-/call-bind-1.0.2.tgz", @@ -2571,6 +2803,16 @@ "fsevents": "~2.3.2" } }, + "node_modules/chrome-trace-event": { + "version": "1.0.3", + "resolved": "https://registry.npmmirror.com/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz", + "integrity": "sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==", + "dev": true, + "peer": true, + "engines": { + "node": ">=6.0" + } + }, "node_modules/clean-stack": { "version": "2.2.0", "resolved": "https://registry.npmmirror.com/clean-stack/-/clean-stack-2.2.0.tgz", @@ -3290,6 +3532,20 @@ "node": ">= 0.8" } }, + "node_modules/enhanced-resolve": { + "version": "5.15.0", + "resolved": "https://registry.npmmirror.com/enhanced-resolve/-/enhanced-resolve-5.15.0.tgz", + "integrity": "sha512-LXYT42KJ7lpIKECr2mAXIaMldcNCh/7E0KBKOu4KSfkHmP+mZmSs+8V5gBAqisWBy0OO4W5Oyys0GO1Y8KtdKg==", + "dev": true, + "peer": true, + "dependencies": { + "graceful-fs": "^4.2.4", + "tapable": "^2.2.0" + }, + "engines": { + "node": ">=10.13.0" + } + }, "node_modules/entities": { "version": "3.0.1", "resolved": "https://registry.npmmirror.com/entities/-/entities-3.0.1.tgz", @@ -3364,6 +3620,13 @@ "node": ">= 0.4" } }, + "node_modules/es-module-lexer": { + "version": "1.3.1", + "resolved": "https://registry.npmmirror.com/es-module-lexer/-/es-module-lexer-1.3.1.tgz", + "integrity": "sha512-JUFAyicQV9mXc3YRxPnDlrfBKpqt6hUYzz9/boprUJHs4e4KVr3XwOF70doO6gwXUor6EWZJAyWAfKki84t20Q==", + "dev": true, + "peer": true + }, "node_modules/es-set-tostringtag": { "version": "2.0.1", "resolved": "https://registry.npmmirror.com/es-set-tostringtag/-/es-set-tostringtag-2.0.1.tgz", @@ -4248,6 +4511,16 @@ "node": ">=0.10.0" } }, + "node_modules/events": { + "version": "3.3.0", + "resolved": "https://registry.npmmirror.com/events/-/events-3.3.0.tgz", + "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", + "dev": true, + "peer": true, + "engines": { + "node": ">=0.8.x" + } + }, "node_modules/evtd": { "version": "0.2.4", "resolved": "https://registry.npmmirror.com/evtd/-/evtd-0.2.4.tgz", @@ -4713,6 +4986,13 @@ "node": ">= 6" } }, + "node_modules/glob-to-regexp": { + "version": "0.4.1", + "resolved": "https://registry.npmmirror.com/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz", + "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==", + "dev": true, + "peer": true + }, "node_modules/global-dirs": { "version": "0.1.1", "resolved": "https://registry.npmmirror.com/global-dirs/-/global-dirs-0.1.1.tgz", @@ -5608,6 +5888,34 @@ "node": ">=0.10.0" } }, + "node_modules/jest-worker": { + "version": "27.5.1", + "resolved": "https://registry.npmmirror.com/jest-worker/-/jest-worker-27.5.1.tgz", + "integrity": "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==", + "dev": true, + "peer": true, + "dependencies": { + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" + }, + "engines": { + "node": ">= 10.13.0" + } + }, + "node_modules/jest-worker/node_modules/supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmmirror.com/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "dev": true, + "peer": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, "node_modules/js-stringify": { "version": "1.0.2", "resolved": "https://registry.npmmirror.com/js-stringify/-/js-stringify-1.0.2.tgz", @@ -5803,6 +6111,16 @@ "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", "dev": true }, + "node_modules/loader-runner": { + "version": "4.3.0", + "resolved": "https://registry.npmmirror.com/loader-runner/-/loader-runner-4.3.0.tgz", + "integrity": "sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==", + "dev": true, + "peer": true, + "engines": { + "node": ">=6.11.5" + } + }, "node_modules/locate-path": { "version": "5.0.0", "resolved": "https://registry.npmmirror.com/locate-path/-/locate-path-5.0.0.tgz", @@ -7121,6 +7439,16 @@ "node": ">=8" } }, + "node_modules/randombytes": { + "version": "2.1.0", + "resolved": "https://registry.npmmirror.com/randombytes/-/randombytes-2.1.0.tgz", + "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", + "dev": true, + "peer": true, + "dependencies": { + "safe-buffer": "^5.1.0" + } + }, "node_modules/read-pkg": { "version": "5.2.0", "resolved": "https://registry.npmmirror.com/read-pkg/-/read-pkg-5.2.0.tgz", @@ -7515,6 +7843,51 @@ } } }, + "node_modules/schema-utils": { + "version": "3.3.0", + "resolved": "https://registry.npmmirror.com/schema-utils/-/schema-utils-3.3.0.tgz", + "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==", + "dev": true, + "peer": true, + "dependencies": { + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + }, + "engines": { + "node": ">= 10.13.0" + } + }, + "node_modules/schema-utils/node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmmirror.com/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dev": true, + "peer": true, + "dependencies": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + }, + "node_modules/schema-utils/node_modules/ajv-keywords": { + "version": "3.5.2", + "resolved": "https://registry.npmmirror.com/ajv-keywords/-/ajv-keywords-3.5.2.tgz", + "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", + "dev": true, + "peer": true, + "peerDependencies": { + "ajv": "^6.9.1" + } + }, + "node_modules/schema-utils/node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmmirror.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true, + "peer": true + }, "node_modules/screenfull": { "version": "6.0.2", "resolved": "https://registry.npmmirror.com/screenfull/-/screenfull-6.0.2.tgz", @@ -7560,6 +7933,16 @@ "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", "dev": true }, + "node_modules/serialize-javascript": { + "version": "6.0.1", + "resolved": "https://registry.npmmirror.com/serialize-javascript/-/serialize-javascript-6.0.1.tgz", + "integrity": "sha512-owoXEFjWRllis8/M1Q+Cw5k8ZH40e3zhp/ovX+Xr/vi1qj6QesbyXXViFbpNvWvPNAD62SutwEXavefrLJWj7w==", + "dev": true, + "peer": true, + "dependencies": { + "randombytes": "^2.1.0" + } + }, "node_modules/set-function-name": { "version": "2.0.1", "resolved": "https://registry.npmmirror.com/set-function-name/-/set-function-name-2.0.1.tgz", @@ -7667,6 +8050,17 @@ "node": ">=0.10.0" } }, + "node_modules/source-map-support": { + "version": "0.5.21", + "resolved": "https://registry.npmmirror.com/source-map-support/-/source-map-support-0.5.21.tgz", + "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", + "dev": true, + "peer": true, + "dependencies": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, "node_modules/spdx-correct": { "version": "3.2.0", "resolved": "https://registry.npmmirror.com/spdx-correct/-/spdx-correct-3.2.0.tgz", @@ -7887,6 +8281,84 @@ "integrity": "sha512-ovssysQTa+luh7A5Weu3Rta6FJlFBBbInjOh722LIt6klpU2/HtdUbszju/G4devcvk8PGt7FCLv5wftu3THUA==", "dev": true }, + "node_modules/tapable": { + "version": "2.2.1", + "resolved": "https://registry.npmmirror.com/tapable/-/tapable-2.2.1.tgz", + "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==", + "dev": true, + "peer": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/terser": { + "version": "5.21.0", + "resolved": "https://registry.npmmirror.com/terser/-/terser-5.21.0.tgz", + "integrity": "sha512-WtnFKrxu9kaoXuiZFSGrcAvvBqAdmKx0SFNmVNYdJamMu9yyN3I/QF0FbH4QcqJQ+y1CJnzxGIKH0cSj+FGYRw==", + "dev": true, + "peer": true, + "dependencies": { + "@jridgewell/source-map": "^0.3.3", + "acorn": "^8.8.2", + "commander": "^2.20.0", + "source-map-support": "~0.5.20" + }, + "bin": { + "terser": "bin/terser" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/terser-webpack-plugin": { + "version": "5.3.9", + "resolved": "https://registry.npmmirror.com/terser-webpack-plugin/-/terser-webpack-plugin-5.3.9.tgz", + "integrity": "sha512-ZuXsqE07EcggTWQjXUj+Aot/OMcD0bMKGgF63f7UxYcu5/AJF53aIpK1YoP5xR9l6s/Hy2b+t1AM0bLNPRuhwA==", + "dev": true, + "peer": true, + "dependencies": { + "@jridgewell/trace-mapping": "^0.3.17", + "jest-worker": "^27.4.5", + "schema-utils": "^3.1.1", + "serialize-javascript": "^6.0.1", + "terser": "^5.16.8" + }, + "engines": { + "node": ">= 10.13.0" + }, + "peerDependencies": { + "webpack": "^5.1.0" + }, + "peerDependenciesMeta": { + "@swc/core": { + "optional": true + }, + "esbuild": { + "optional": true + }, + "uglify-js": { + "optional": true + } + } + }, + "node_modules/terser-webpack-plugin/node_modules/@jridgewell/trace-mapping": { + "version": "0.3.19", + "resolved": "https://registry.npmmirror.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.19.tgz", + "integrity": "sha512-kf37QtfW+Hwx/buWGMPcR60iF9ziHa6r/CZJIHbmcm4+0qrXiVdxegAH0F6yddEVQ7zdkjcGCgCzUu+BcbhQxw==", + "dev": true, + "peer": true, + "dependencies": { + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" + } + }, + "node_modules/terser/node_modules/commander": { + "version": "2.20.3", + "resolved": "https://registry.npmmirror.com/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", + "dev": true, + "peer": true + }, "node_modules/text-extensions": { "version": "1.9.0", "resolved": "https://registry.npmmirror.com/text-extensions/-/text-extensions-1.9.0.tgz", @@ -8844,6 +9316,20 @@ "vue": "^3.0.11" } }, + "node_modules/watchpack": { + "version": "2.4.0", + "resolved": "https://registry.npmmirror.com/watchpack/-/watchpack-2.4.0.tgz", + "integrity": "sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg==", + "dev": true, + "peer": true, + "dependencies": { + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.1.2" + }, + "engines": { + "node": ">=10.13.0" + } + }, "node_modules/wcwidth": { "version": "1.0.1", "resolved": "https://registry.npmmirror.com/wcwidth/-/wcwidth-1.0.1.tgz", @@ -8853,6 +9339,60 @@ "defaults": "^1.0.3" } }, + "node_modules/webpack": { + "version": "5.88.2", + "resolved": "https://registry.npmmirror.com/webpack/-/webpack-5.88.2.tgz", + "integrity": "sha512-JmcgNZ1iKj+aiR0OvTYtWQqJwq37Pf683dY9bVORwVbUrDhLhdn/PlO2sHsFHPkj7sHNQF3JwaAkp49V+Sq1tQ==", + "dev": true, + "peer": true, + "dependencies": { + "@types/eslint-scope": "^3.7.3", + "@types/estree": "^1.0.0", + "@webassemblyjs/ast": "^1.11.5", + "@webassemblyjs/wasm-edit": "^1.11.5", + "@webassemblyjs/wasm-parser": "^1.11.5", + "acorn": "^8.7.1", + "acorn-import-assertions": "^1.9.0", + "browserslist": "^4.14.5", + "chrome-trace-event": "^1.0.2", + "enhanced-resolve": "^5.15.0", + "es-module-lexer": "^1.2.1", + "eslint-scope": "5.1.1", + "events": "^3.2.0", + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.2.9", + "json-parse-even-better-errors": "^2.3.1", + "loader-runner": "^4.2.0", + "mime-types": "^2.1.27", + "neo-async": "^2.6.2", + "schema-utils": "^3.2.0", + "tapable": "^2.1.1", + "terser-webpack-plugin": "^5.3.7", + "watchpack": "^2.4.0", + "webpack-sources": "^3.2.3" + }, + "bin": { + "webpack": "bin/webpack.js" + }, + "engines": { + "node": ">=10.13.0" + }, + "peerDependenciesMeta": { + "webpack-cli": { + "optional": true + } + } + }, + "node_modules/webpack-sources": { + "version": "3.2.3", + "resolved": "https://registry.npmmirror.com/webpack-sources/-/webpack-sources-3.2.3.tgz", + "integrity": "sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==", + "dev": true, + "peer": true, + "engines": { + "node": ">=10.13.0" + } + }, "node_modules/which": { "version": "2.0.2", "resolved": "https://registry.npmmirror.com/which/-/which-2.0.2.tgz", diff --git a/src/api/path/system.api.ts b/src/api/path/system.api.ts index 1edd3b9..5ef3d0a 100644 --- a/src/api/path/system.api.ts +++ b/src/api/path/system.api.ts @@ -36,40 +36,18 @@ export const getUserProfileApi = async () => { // 获取验证图片 以及token -export const getCodeApi = async (data: any) => { - try { - const res = await http(RequestHttpEnum.POST)(`${ModuleTypeEnum.SYSTEM}/captcha/get`, data) - return res.data - } catch (err) { - httpErrorHandle() - } -} - -// 获取验证码 export const getCodeImg = async () => { - // return request.get({ - // url: 'system/captcha/captchaImage', headers: { - // isToken: false - // } - // }) try { + console.log("1233") const res = await http(RequestHttpEnum.GET)(`${ModuleTypeEnum.SYSTEM}/captcha/captchaImage`) - return res - } catch (err) { - httpErrorHandle() - } -} - -// 滑动或者点选验证 -export const reqCheckApi = async (data: any) => { - try { - const res = await http(RequestHttpEnum.POST)(`${ModuleTypeEnum.SYSTEM}/captcha/check`, data) return res.data } catch (err) { httpErrorHandle() } } + + // 使用租户名,获得租户编号 export const getTenantIdByNameApi = async (name: string) => { try { diff --git a/src/assets/images/login/code.png b/src/assets/images/login/code.png new file mode 100644 index 0000000000000000000000000000000000000000..4e742b2af84816f873fc850bc639ab5f50609e45 GIT binary patch literal 4610 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 - -
- - - + + + + -
- -
- +
@@ -93,11 +86,9 @@
- {{ + {{ $t('login.form_button') }} - @@ -126,7 +117,6 @@ import { StorageEnum } from '@/enums/storageEnum' import { icon } from '@/plugins' import { routerTurnByName } from '@/utils' import { getTenantIdByNameApi, getUserProfileApi, loginApi, getCodeImg } from '@/api/path' -import { Verify } from '@/components/Verifition' interface FormState { username: string @@ -143,16 +133,16 @@ const show = ref(false) const showBg = ref(false) const systemStore = useSystemStore() +const codeUrl = ref(""); const t = window['$t'] const formInline = reactive({ tenantName: '闻荫源码', username: 'admin', password: 'admin123', - code:'', + code: "", uuid:'' }) -const codeUrl = ref(""); const rules = { username: { @@ -196,36 +186,6 @@ const getImageUrl = (name: string, folder: string) => { return new URL(`../../assets/images/${folder}/${name}.png`, import.meta.url).href } -// 打乱图片顺序 -const shuffleHandle = () => { - shuffleTimiing.value = setInterval(() => { - bgList.value = shuffle(bgList.value) - }, carouselInterval) -} - -// 验证码 -const verify = ref() -const captchaType = ref('blockPuzzle') // blockPuzzle 滑块 clickWord 点击文字 -const captchaEnable = import.meta.env.VITE_APP_CAPTCHA_ENABLE -// 获取验证码 -// const getCode = async () => { -// // 情况一,未开启:则直接登录 -// if (captchaEnable === 'false') { -// await handleSubmit({}) -// } else { -// // 情况二,已开启:则展示验证码;只有完成验证码的情况,才进行登录 -// // 弹出验证码 -// verify.value.show() -// } -// } - -function getCode() { - getCodeImg().then(res => { - codeUrl.value = "data:image/gif;base64," + res.img; - formInline.uuid = res.uuid; - }); -} - // 多租户 const tenantEnable = import.meta.env.VITE_APP_TENANT_ENABLE // 获取租户 ID @@ -241,7 +201,6 @@ const getTenantId = async () => { } } - // 登录 const handleSubmit = async (params: any) => { formRef.value.validate(async (errors: any) => { @@ -249,13 +208,14 @@ const handleSubmit = async (params: any) => { // 获取租户 ID await getTenantId() - const { username, password } = formInline + const { username, password, code, uuid } = formInline loading.value = true // 提交请求【登录】 const loginRes = await loginApi({ username, password, - captchaVerification: params.captchaVerification + code, + uuid }) if (loginRes && loginRes.data) { // ① Token 信息(先存储下,保证可以加载个人信息) @@ -289,7 +249,13 @@ const handleSubmit = async (params: any) => { } }) } - +//获取验证码 +const getCode = async () => { + getCodeImg().then(res => { + codeUrl.value = "data:image/gif;base64," + res.img; + formInline.uuid = res.uuid; + }); +} onMounted(() => { setTimeout(() => { show.value = true @@ -298,8 +264,8 @@ onMounted(() => { setTimeout(() => { showBg.value = true }, 100) + getCode() - shuffleHandle() })