From 92d23601e368fac16a9787f10e993ff002dc1c39 Mon Sep 17 00:00:00 2001 From: zhangyh Date: Thu, 9 Oct 2025 11:33:47 +0800 Subject: [PATCH] =?UTF-8?q?chore:=20=E5=BC=95=E5=85=A5vant=E7=BB=84?= =?UTF-8?q?=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- package-lock.json | 358 ++++++++++++++++--------------------------- package.json | 3 +- src/main.ts | 4 - src/utils/request.ts | 34 ++-- tsconfig.json | 4 +- tsconfig.node.json | 3 +- vite.config.ts | 13 +- 7 files changed, 167 insertions(+), 252 deletions(-) diff --git a/package-lock.json b/package-lock.json index 5d3483e..2040544 100644 --- a/package-lock.json +++ b/package-lock.json @@ -10,18 +10,19 @@ "hasInstallScript": true, "dependencies": { "axios": "^1.3.6", - "element-plus": "^2.10.4", "gsap": "^3.13.0", "normalize.css": "^8.0.1", "pinia": "^2.0.32", "pinia-persistedstate-plugin": "^0.1.0", "pinia-plugin-persistedstate": "^3.1.0", + "vant": "^4.9.21", "vue": "^3.2.47", "vue-router": "^4.1.6" }, "devDependencies": { "@rushstack/eslint-patch": "^1.2.0", "@types/node": "^18.16.0", + "@vant/auto-import-resolver": "^1.3.0", "@vitejs/plugin-vue": "^4.0.0", "@vue/eslint-config-prettier": "^7.1.0", "@vue/eslint-config-typescript": "^11.0.2", @@ -59,22 +60,6 @@ "node": ">=6.0.0" } }, - "node_modules/@ctrl/tinycolor": { - "version": "3.6.0", - "resolved": "https://registry.npmmirror.com/@ctrl/tinycolor/-/tinycolor-3.6.0.tgz", - "integrity": "sha512-/Z3l6pXthq0JvMYdUFyX9j0MaCltlIn6mfh9jLyQwg5aPKxkyNa0PTHtU1AlFXLNk55ZuAeJRcpvq+tmLfKmaQ==", - "engines": { - "node": ">=10" - } - }, - "node_modules/@element-plus/icons-vue": { - "version": "2.3.1", - "resolved": "https://registry.npmmirror.com/@element-plus/icons-vue/-/icons-vue-2.3.1.tgz", - "integrity": "sha512-XxVUZv48RZAd87ucGS48jPf6pKu0yV5UCg9f4FFwtrYxXOwWuVJo6wOvSLKEoMQKjv8GsX/mhP6UsC1lRwbUWg==", - "peerDependencies": { - "vue": "^3.2.0" - } - }, "node_modules/@esbuild/android-arm": { "version": "0.17.18", "resolved": "https://registry.npmmirror.com/@esbuild/android-arm/-/android-arm-0.17.18.tgz", @@ -480,19 +465,6 @@ "node": "^12.22.0 || ^14.17.0 || >=16.0.0" } }, - "node_modules/@floating-ui/core": { - "version": "1.2.6", - "resolved": "https://registry.npmmirror.com/@floating-ui/core/-/core-1.2.6.tgz", - "integrity": "sha512-EvYTiXet5XqweYGClEmpu3BoxmsQ4hkj3QaYA6qEnigCWffTP3vNRwBReTdrwDwo7OoJ3wM8Uoe9Uk4n+d4hfg==" - }, - "node_modules/@floating-ui/dom": { - "version": "1.2.6", - "resolved": "https://registry.npmmirror.com/@floating-ui/dom/-/dom-1.2.6.tgz", - "integrity": "sha512-02vxFDuvuVPs22iJICacezYJyf7zwwOCWkPNkWNBr1U0Qt1cKFYzWvxts0AmqcOQGwt/3KJWcWIgtbUU38keyw==", - "dependencies": { - "@floating-ui/core": "^1.2.6" - } - }, "node_modules/@humanwhocodes/config-array": { "version": "0.11.8", "resolved": "https://registry.npmmirror.com/@humanwhocodes/config-array/-/config-array-0.11.8.tgz", @@ -563,12 +535,6 @@ "node": ">= 8" } }, - "node_modules/@popperjs/core": { - "name": "@sxzz/popperjs-es", - "version": "2.11.7", - "resolved": "https://registry.npmmirror.com/@sxzz/popperjs-es/-/popperjs-es-2.11.7.tgz", - "integrity": "sha512-Ccy0NlLkzr0Ex2FKvh2X+OyERHXJ88XJ1MXtsI9y9fGexlaXaVTPzBCRBwIxFkORuOb+uBqeu+RqnpgYTEZRUQ==" - }, "node_modules/@rollup/pluginutils": { "version": "5.0.2", "resolved": "https://registry.npmmirror.com/@rollup/pluginutils/-/pluginutils-5.0.2.tgz", @@ -614,19 +580,6 @@ "integrity": "sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==", "dev": true }, - "node_modules/@types/lodash": { - "version": "4.14.194", - "resolved": "https://registry.npmmirror.com/@types/lodash/-/lodash-4.14.194.tgz", - "integrity": "sha512-r22s9tAS7imvBt2lyHC9B8AGwWnXaYb1tY09oyLkXDs4vArpYJzw09nj8MLx5VfciBPGIb+ZwG0ssYnEPJxn/g==" - }, - "node_modules/@types/lodash-es": { - "version": "4.17.7", - "resolved": "https://registry.npmmirror.com/@types/lodash-es/-/lodash-es-4.17.7.tgz", - "integrity": "sha512-z0ptr6UI10VlU6l5MYhGwS4mC8DZyYer2mCoyysZtSF7p26zOX8UpbrV0YpNYLGS8K4PUFIyEr62IMFFjveSiQ==", - "dependencies": { - "@types/lodash": "*" - } - }, "node_modules/@types/node": { "version": "18.16.0", "resolved": "https://registry.npmmirror.com/@types/node/-/node-18.16.0.tgz", @@ -642,7 +595,10 @@ "node_modules/@types/web-bluetooth": { "version": "0.0.16", "resolved": "https://registry.npmmirror.com/@types/web-bluetooth/-/web-bluetooth-0.0.16.tgz", - "integrity": "sha512-oh8q2Zc32S6gd/j50GowEjKLoOVOwHP/bWVjKJInBwQqdOYMdPrf1oVlelTlyfFK3CKxL1uahMDAr+vy8T7yMQ==" + "integrity": "sha512-oh8q2Zc32S6gd/j50GowEjKLoOVOwHP/bWVjKJInBwQqdOYMdPrf1oVlelTlyfFK3CKxL1uahMDAr+vy8T7yMQ==", + "dev": true, + "optional": true, + "peer": true }, "node_modules/@typescript-eslint/eslint-plugin": { "version": "5.59.0", @@ -800,6 +756,28 @@ "node": "^12.22.0 || ^14.17.0 || >=16.0.0" } }, + "node_modules/@vant/auto-import-resolver": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/@vant/auto-import-resolver/-/auto-import-resolver-1.3.0.tgz", + "integrity": "sha512-lJyWtCyFizR4bHZvMiNMF3w+WTFTUWAvka1eqTnPK9ticUcKTCOx6qEmHcm8JPb3g1t3GaD2W3MnHkBp/nHamw==", + "dev": true, + "license": "MIT" + }, + "node_modules/@vant/popperjs": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/@vant/popperjs/-/popperjs-1.3.0.tgz", + "integrity": "sha512-hB+czUG+aHtjhaEmCJDuXOep0YTZjdlRR+4MSmIFnkCQIxJaXLQdSsR90XWvAI2yvKUI7TCGqR8pQg2RtvkMHw==", + "license": "MIT" + }, + "node_modules/@vant/use": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/@vant/use/-/use-1.6.0.tgz", + "integrity": "sha512-PHHxeAASgiOpSmMjceweIrv2AxDZIkWXyaczksMoWvKV2YAYEhoizRuk/xFnKF+emUIi46TsQ+rvlm/t2BBCfA==", + "license": "MIT", + "peerDependencies": { + "vue": "^3.0.0" + } + }, "node_modules/@vitejs/plugin-vue": { "version": "4.1.0", "resolved": "https://registry.npmmirror.com/@vitejs/plugin-vue/-/plugin-vue-4.1.0.tgz", @@ -1057,6 +1035,9 @@ "version": "9.13.0", "resolved": "https://registry.npmmirror.com/@vueuse/core/-/core-9.13.0.tgz", "integrity": "sha512-pujnclbeHWxxPRqXWmdkKV5OX4Wk4YeK7wusHqRwU0Q7EFusHoqNA/aPhB6KCh9hEqJkLAJo7bb0Lh9b+OIVzw==", + "dev": true, + "optional": true, + "peer": true, "dependencies": { "@types/web-bluetooth": "^0.0.16", "@vueuse/metadata": "9.13.0", @@ -1068,7 +1049,10 @@ "version": "0.14.0", "resolved": "https://registry.npmmirror.com/vue-demi/-/vue-demi-0.14.0.tgz", "integrity": "sha512-gt58r2ogsNQeVoQ3EhoUAvUsH9xviydl0dWJj7dabBC/2L4uBId7ujtCwDRD0JhkGsV1i0CtfLAeyYKBht9oWg==", + "dev": true, "hasInstallScript": true, + "optional": true, + "peer": true, "bin": { "vue-demi-fix": "bin/vue-demi-fix.js", "vue-demi-switch": "bin/vue-demi-switch.js" @@ -1089,12 +1073,18 @@ "node_modules/@vueuse/metadata": { "version": "9.13.0", "resolved": "https://registry.npmmirror.com/@vueuse/metadata/-/metadata-9.13.0.tgz", - "integrity": "sha512-gdU7TKNAUVlXXLbaF+ZCfte8BjRJQWPCa2J55+7/h+yDtzw3vOoGQDRXzI6pyKyo6bXFT5/QoPE4hAknExjRLQ==" + "integrity": "sha512-gdU7TKNAUVlXXLbaF+ZCfte8BjRJQWPCa2J55+7/h+yDtzw3vOoGQDRXzI6pyKyo6bXFT5/QoPE4hAknExjRLQ==", + "dev": true, + "optional": true, + "peer": true }, "node_modules/@vueuse/shared": { "version": "9.13.0", "resolved": "https://registry.npmmirror.com/@vueuse/shared/-/shared-9.13.0.tgz", "integrity": "sha512-UrnhU+Cnufu4S6JLCPZnkWh0WwZGUp72ktOF2DFptMlOs3TOdVv8xJN53zhHGARmVOsz5KqOls09+J1NR6sBKw==", + "dev": true, + "optional": true, + "peer": true, "dependencies": { "vue-demi": "*" } @@ -1103,7 +1093,10 @@ "version": "0.14.0", "resolved": "https://registry.npmmirror.com/vue-demi/-/vue-demi-0.14.0.tgz", "integrity": "sha512-gt58r2ogsNQeVoQ3EhoUAvUsH9xviydl0dWJj7dabBC/2L4uBId7ujtCwDRD0JhkGsV1i0CtfLAeyYKBht9oWg==", + "dev": true, "hasInstallScript": true, + "optional": true, + "peer": true, "bin": { "vue-demi-fix": "bin/vue-demi-fix.js", "vue-demi-switch": "bin/vue-demi-switch.js" @@ -1256,11 +1249,6 @@ "node": ">=8" } }, - "node_modules/async-validator": { - "version": "4.2.5", - "resolved": "https://registry.npmmirror.com/async-validator/-/async-validator-4.2.5.tgz", - "integrity": "sha512-7HhHjtERjqlNbZtqNqy2rckN/SpOOlmDliet+lP7k+eKZEjPk3DgyeU9lIXLdeLz0uBbbVp+9Qdow9wJWgwwfg==" - }, "node_modules/asynckit": { "version": "0.4.0", "resolved": "https://registry.npmmirror.com/asynckit/-/asynckit-0.4.0.tgz", @@ -1520,11 +1508,6 @@ "resolved": "https://registry.npmmirror.com/csstype/-/csstype-2.6.21.tgz", "integrity": "sha512-Z1PhmomIfypOpoMjRQB70jfvy/wxT50qW08YXO5lMIJkrdq4yOTR+AW7FqutScmB9NkLwxo+jU+kZLbofZZq/w==" }, - "node_modules/dayjs": { - "version": "1.11.13", - "resolved": "https://registry.npmmirror.com/dayjs/-/dayjs-1.11.13.tgz", - "integrity": "sha512-oaMBel6gjolK862uaPQOVTA7q3TZhuSvuMQAAglQDOWYO9A91IrAOUJEyKVlqJlHE0vq5p5UXxzdPfMH/x6xNg==" - }, "node_modules/de-indent": { "version": "1.0.2", "resolved": "https://registry.npmmirror.com/de-indent/-/de-indent-1.0.2.tgz", @@ -1605,31 +1588,6 @@ "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==", "dev": true }, - "node_modules/element-plus": { - "version": "2.10.4", - "resolved": "https://registry.npmmirror.com/element-plus/-/element-plus-2.10.4.tgz", - "integrity": "sha512-UD4elWHrCnp1xlPhbXmVcaKFLCRaRAY6WWRwemGfGW3ceIjXm9fSYc9RNH3AiOEA6Ds1p9ZvhCs76CR9J8Vd+A==", - "dependencies": { - "@ctrl/tinycolor": "^3.4.1", - "@element-plus/icons-vue": "^2.3.1", - "@floating-ui/dom": "^1.0.1", - "@popperjs/core": "npm:@sxzz/popperjs-es@^2.11.7", - "@types/lodash": "^4.14.182", - "@types/lodash-es": "^4.17.6", - "@vueuse/core": "^9.1.0", - "async-validator": "^4.2.5", - "dayjs": "^1.11.13", - "escape-html": "^1.0.3", - "lodash": "^4.17.21", - "lodash-es": "^4.17.21", - "lodash-unified": "^1.0.2", - "memoize-one": "^6.0.0", - "normalize-wheel-es": "^1.2.0" - }, - "peerDependencies": { - "vue": "^3.2.0" - } - }, "node_modules/emoji-regex": { "version": "9.2.2", "resolved": "https://registry.npmmirror.com/emoji-regex/-/emoji-regex-9.2.2.tgz", @@ -1768,11 +1726,6 @@ "@esbuild/win32-x64": "0.17.18" } }, - "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==" - }, "node_modules/escape-string-regexp": { "version": "4.0.0", "resolved": "https://registry.npmmirror.com/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", @@ -3067,22 +3020,8 @@ "node_modules/lodash": { "version": "4.17.21", "resolved": "https://registry.npmmirror.com/lodash/-/lodash-4.17.21.tgz", - "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" - }, - "node_modules/lodash-es": { - "version": "4.17.21", - "resolved": "https://registry.npmmirror.com/lodash-es/-/lodash-es-4.17.21.tgz", - "integrity": "sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==" - }, - "node_modules/lodash-unified": { - "version": "1.0.3", - "resolved": "https://registry.npmmirror.com/lodash-unified/-/lodash-unified-1.0.3.tgz", - "integrity": "sha512-WK9qSozxXOD7ZJQlpSqOT+om2ZfcT4yO+03FuzAHD0wF6S0l0090LRPDx3vhTTLZ8cFKpBn+IOcVXK6qOcIlfQ==", - "peerDependencies": { - "@types/lodash-es": "*", - "lodash": "*", - "lodash-es": "*" - } + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", + "dev": true }, "node_modules/lodash.merge": { "version": "4.6.2", @@ -3216,11 +3155,6 @@ "semver": "bin/semver" } }, - "node_modules/memoize-one": { - "version": "6.0.0", - "resolved": "https://registry.npmmirror.com/memoize-one/-/memoize-one-6.0.0.tgz", - "integrity": "sha512-rkpe71W0N0c0Xz6QD0eJETuWAJGnJ9afsl1srmwPrI+yBCkge5EycXXbYRyvL29zZVUWQCY7InPRCv3GDXuZNw==" - }, "node_modules/memorystream": { "version": "0.3.1", "resolved": "https://registry.npmmirror.com/memorystream/-/memorystream-0.3.1.tgz", @@ -3411,11 +3345,6 @@ "node": ">=0.10.0" } }, - "node_modules/normalize-wheel-es": { - "version": "1.2.0", - "resolved": "https://registry.npmmirror.com/normalize-wheel-es/-/normalize-wheel-es-1.2.0.tgz", - "integrity": "sha512-Wj7+EJQ8mSuXr2iWfnujrimU35R2W4FAErEyTmJoJ7ucwTn2hOUSsRehMb5RSYkxXGTM7Y9QpvPmp++w5ftoJw==" - }, "node_modules/normalize.css": { "version": "8.0.1", "resolved": "https://registry.npmmirror.com/normalize.css/-/normalize.css-8.0.1.tgz", @@ -4670,9 +4599,10 @@ }, "node_modules/unplugin-auto-import": { "version": "0.15.3", - "resolved": "https://registry.npmmirror.com/unplugin-auto-import/-/unplugin-auto-import-0.15.3.tgz", + "resolved": "https://registry.npmjs.org/unplugin-auto-import/-/unplugin-auto-import-0.15.3.tgz", "integrity": "sha512-RLT8SqbPn4bT7yBshZId0uPSofKWnwr66RyDaxWaFb/+f7OTDOWAsVNz+hOQLBWSjvbekr2xZY9ccS8TDHJbCQ==", "dev": true, + "license": "MIT", "dependencies": { "@antfu/utils": "^0.7.2", "@rollup/pluginutils": "^5.0.2", @@ -4685,6 +4615,9 @@ "engines": { "node": ">=14" }, + "funding": { + "url": "https://github.com/sponsors/antfu" + }, "peerDependencies": { "@nuxt/kit": "^3.2.2", "@vueuse/core": "*" @@ -4733,9 +4666,10 @@ }, "node_modules/unplugin-vue-components": { "version": "0.24.1", - "resolved": "https://registry.npmmirror.com/unplugin-vue-components/-/unplugin-vue-components-0.24.1.tgz", + "resolved": "https://registry.npmjs.org/unplugin-vue-components/-/unplugin-vue-components-0.24.1.tgz", "integrity": "sha512-T3A8HkZoIE1Cja95xNqolwza0yD5IVlgZZ1PVAGvVCx8xthmjsv38xWRCtHtwl+rvZyL9uif42SRkDGw9aCfMA==", "dev": true, + "license": "MIT", "dependencies": { "@antfu/utils": "^0.7.2", "@rollup/pluginutils": "^5.0.2", @@ -4751,6 +4685,9 @@ "engines": { "node": ">=14" }, + "funding": { + "url": "https://github.com/sponsors/antfu" + }, "peerDependencies": { "@babel/parser": "^7.15.8", "@nuxt/kit": "^3.2.2", @@ -4823,6 +4760,26 @@ "spdx-expression-parse": "^3.0.0" } }, + "node_modules/vant": { + "version": "4.9.21", + "resolved": "https://registry.npmjs.org/vant/-/vant-4.9.21.tgz", + "integrity": "sha512-hXUoZMrLLjykimFRLDlGNd+K2iYSRh9YwLMKnsVdVZ+9inUKxpqnjhOqlZwocbnYkvJlS+febf9u9aJpDol4Pw==", + "license": "MIT", + "dependencies": { + "@vant/popperjs": "^1.3.0", + "@vant/use": "^1.6.0", + "@vue/shared": "^3.5.17" + }, + "peerDependencies": { + "vue": "^3.0.0" + } + }, + "node_modules/vant/node_modules/@vue/shared": { + "version": "3.5.22", + "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.5.22.tgz", + "integrity": "sha512-F4yc6palwq3TT0u+FYf0Ns4Tfl9GRFURDN2gWG7L1ecIaS/4fCIuFOjMTnCyjsu/OK6vaDKLCrGAa+KvvH+h4w==", + "license": "MIT" + }, "node_modules/vite": { "version": "4.3.1", "resolved": "https://registry.npmmirror.com/vite/-/vite-4.3.1.tgz", @@ -5128,17 +5085,6 @@ "resolved": "https://registry.npmmirror.com/@babel/parser/-/parser-7.21.4.tgz", "integrity": "sha512-alVJj7k7zIxqBZ7BTRhz0IqJFxW1VJbm6N8JbcYhQ186df9ZBPbZBmWSqAMXwHGsCJdYks7z/voa3ibiS5bCIw==" }, - "@ctrl/tinycolor": { - "version": "3.6.0", - "resolved": "https://registry.npmmirror.com/@ctrl/tinycolor/-/tinycolor-3.6.0.tgz", - "integrity": "sha512-/Z3l6pXthq0JvMYdUFyX9j0MaCltlIn6mfh9jLyQwg5aPKxkyNa0PTHtU1AlFXLNk55ZuAeJRcpvq+tmLfKmaQ==" - }, - "@element-plus/icons-vue": { - "version": "2.3.1", - "resolved": "https://registry.npmmirror.com/@element-plus/icons-vue/-/icons-vue-2.3.1.tgz", - "integrity": "sha512-XxVUZv48RZAd87ucGS48jPf6pKu0yV5UCg9f4FFwtrYxXOwWuVJo6wOvSLKEoMQKjv8GsX/mhP6UsC1lRwbUWg==", - "requires": {} - }, "@esbuild/android-arm": { "version": "0.17.18", "resolved": "https://registry.npmmirror.com/@esbuild/android-arm/-/android-arm-0.17.18.tgz", @@ -5331,19 +5277,6 @@ "integrity": "sha512-kf9RB0Fg7NZfap83B3QOqOGg9QmD9yBudqQXzzOtn3i4y7ZUXe5ONeW34Gwi+TxhH4mvj72R1Zc300KUMa9Bng==", "dev": true }, - "@floating-ui/core": { - "version": "1.2.6", - "resolved": "https://registry.npmmirror.com/@floating-ui/core/-/core-1.2.6.tgz", - "integrity": "sha512-EvYTiXet5XqweYGClEmpu3BoxmsQ4hkj3QaYA6qEnigCWffTP3vNRwBReTdrwDwo7OoJ3wM8Uoe9Uk4n+d4hfg==" - }, - "@floating-ui/dom": { - "version": "1.2.6", - "resolved": "https://registry.npmmirror.com/@floating-ui/dom/-/dom-1.2.6.tgz", - "integrity": "sha512-02vxFDuvuVPs22iJICacezYJyf7zwwOCWkPNkWNBr1U0Qt1cKFYzWvxts0AmqcOQGwt/3KJWcWIgtbUU38keyw==", - "requires": { - "@floating-ui/core": "^1.2.6" - } - }, "@humanwhocodes/config-array": { "version": "0.11.8", "resolved": "https://registry.npmmirror.com/@humanwhocodes/config-array/-/config-array-0.11.8.tgz", @@ -5399,11 +5332,6 @@ "fastq": "^1.6.0" } }, - "@popperjs/core": { - "version": "npm:@sxzz/popperjs-es@2.11.7", - "resolved": "https://registry.npmmirror.com/@sxzz/popperjs-es/-/popperjs-es-2.11.7.tgz", - "integrity": "sha512-Ccy0NlLkzr0Ex2FKvh2X+OyERHXJ88XJ1MXtsI9y9fGexlaXaVTPzBCRBwIxFkORuOb+uBqeu+RqnpgYTEZRUQ==" - }, "@rollup/pluginutils": { "version": "5.0.2", "resolved": "https://registry.npmmirror.com/@rollup/pluginutils/-/pluginutils-5.0.2.tgz", @@ -5438,19 +5366,6 @@ "integrity": "sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==", "dev": true }, - "@types/lodash": { - "version": "4.14.194", - "resolved": "https://registry.npmmirror.com/@types/lodash/-/lodash-4.14.194.tgz", - "integrity": "sha512-r22s9tAS7imvBt2lyHC9B8AGwWnXaYb1tY09oyLkXDs4vArpYJzw09nj8MLx5VfciBPGIb+ZwG0ssYnEPJxn/g==" - }, - "@types/lodash-es": { - "version": "4.17.7", - "resolved": "https://registry.npmmirror.com/@types/lodash-es/-/lodash-es-4.17.7.tgz", - "integrity": "sha512-z0ptr6UI10VlU6l5MYhGwS4mC8DZyYer2mCoyysZtSF7p26zOX8UpbrV0YpNYLGS8K4PUFIyEr62IMFFjveSiQ==", - "requires": { - "@types/lodash": "*" - } - }, "@types/node": { "version": "18.16.0", "resolved": "https://registry.npmmirror.com/@types/node/-/node-18.16.0.tgz", @@ -5466,7 +5381,10 @@ "@types/web-bluetooth": { "version": "0.0.16", "resolved": "https://registry.npmmirror.com/@types/web-bluetooth/-/web-bluetooth-0.0.16.tgz", - "integrity": "sha512-oh8q2Zc32S6gd/j50GowEjKLoOVOwHP/bWVjKJInBwQqdOYMdPrf1oVlelTlyfFK3CKxL1uahMDAr+vy8T7yMQ==" + "integrity": "sha512-oh8q2Zc32S6gd/j50GowEjKLoOVOwHP/bWVjKJInBwQqdOYMdPrf1oVlelTlyfFK3CKxL1uahMDAr+vy8T7yMQ==", + "dev": true, + "optional": true, + "peer": true }, "@typescript-eslint/eslint-plugin": { "version": "5.59.0", @@ -5567,6 +5485,23 @@ "eslint-visitor-keys": "^3.3.0" } }, + "@vant/auto-import-resolver": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/@vant/auto-import-resolver/-/auto-import-resolver-1.3.0.tgz", + "integrity": "sha512-lJyWtCyFizR4bHZvMiNMF3w+WTFTUWAvka1eqTnPK9ticUcKTCOx6qEmHcm8JPb3g1t3GaD2W3MnHkBp/nHamw==", + "dev": true + }, + "@vant/popperjs": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/@vant/popperjs/-/popperjs-1.3.0.tgz", + "integrity": "sha512-hB+czUG+aHtjhaEmCJDuXOep0YTZjdlRR+4MSmIFnkCQIxJaXLQdSsR90XWvAI2yvKUI7TCGqR8pQg2RtvkMHw==" + }, + "@vant/use": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/@vant/use/-/use-1.6.0.tgz", + "integrity": "sha512-PHHxeAASgiOpSmMjceweIrv2AxDZIkWXyaczksMoWvKV2YAYEhoizRuk/xFnKF+emUIi46TsQ+rvlm/t2BBCfA==", + "requires": {} + }, "@vitejs/plugin-vue": { "version": "4.1.0", "resolved": "https://registry.npmmirror.com/@vitejs/plugin-vue/-/plugin-vue-4.1.0.tgz", @@ -5784,6 +5719,9 @@ "version": "9.13.0", "resolved": "https://registry.npmmirror.com/@vueuse/core/-/core-9.13.0.tgz", "integrity": "sha512-pujnclbeHWxxPRqXWmdkKV5OX4Wk4YeK7wusHqRwU0Q7EFusHoqNA/aPhB6KCh9hEqJkLAJo7bb0Lh9b+OIVzw==", + "dev": true, + "optional": true, + "peer": true, "requires": { "@types/web-bluetooth": "^0.0.16", "@vueuse/metadata": "9.13.0", @@ -5795,6 +5733,9 @@ "version": "0.14.0", "resolved": "https://registry.npmmirror.com/vue-demi/-/vue-demi-0.14.0.tgz", "integrity": "sha512-gt58r2ogsNQeVoQ3EhoUAvUsH9xviydl0dWJj7dabBC/2L4uBId7ujtCwDRD0JhkGsV1i0CtfLAeyYKBht9oWg==", + "dev": true, + "optional": true, + "peer": true, "requires": {} } } @@ -5802,12 +5743,18 @@ "@vueuse/metadata": { "version": "9.13.0", "resolved": "https://registry.npmmirror.com/@vueuse/metadata/-/metadata-9.13.0.tgz", - "integrity": "sha512-gdU7TKNAUVlXXLbaF+ZCfte8BjRJQWPCa2J55+7/h+yDtzw3vOoGQDRXzI6pyKyo6bXFT5/QoPE4hAknExjRLQ==" + "integrity": "sha512-gdU7TKNAUVlXXLbaF+ZCfte8BjRJQWPCa2J55+7/h+yDtzw3vOoGQDRXzI6pyKyo6bXFT5/QoPE4hAknExjRLQ==", + "dev": true, + "optional": true, + "peer": true }, "@vueuse/shared": { "version": "9.13.0", "resolved": "https://registry.npmmirror.com/@vueuse/shared/-/shared-9.13.0.tgz", "integrity": "sha512-UrnhU+Cnufu4S6JLCPZnkWh0WwZGUp72ktOF2DFptMlOs3TOdVv8xJN53zhHGARmVOsz5KqOls09+J1NR6sBKw==", + "dev": true, + "optional": true, + "peer": true, "requires": { "vue-demi": "*" }, @@ -5816,6 +5763,9 @@ "version": "0.14.0", "resolved": "https://registry.npmmirror.com/vue-demi/-/vue-demi-0.14.0.tgz", "integrity": "sha512-gt58r2ogsNQeVoQ3EhoUAvUsH9xviydl0dWJj7dabBC/2L4uBId7ujtCwDRD0JhkGsV1i0CtfLAeyYKBht9oWg==", + "dev": true, + "optional": true, + "peer": true, "requires": {} } } @@ -5925,11 +5875,6 @@ "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==", "dev": true }, - "async-validator": { - "version": "4.2.5", - "resolved": "https://registry.npmmirror.com/async-validator/-/async-validator-4.2.5.tgz", - "integrity": "sha512-7HhHjtERjqlNbZtqNqy2rckN/SpOOlmDliet+lP7k+eKZEjPk3DgyeU9lIXLdeLz0uBbbVp+9Qdow9wJWgwwfg==" - }, "asynckit": { "version": "0.4.0", "resolved": "https://registry.npmmirror.com/asynckit/-/asynckit-0.4.0.tgz", @@ -6138,11 +6083,6 @@ "resolved": "https://registry.npmmirror.com/csstype/-/csstype-2.6.21.tgz", "integrity": "sha512-Z1PhmomIfypOpoMjRQB70jfvy/wxT50qW08YXO5lMIJkrdq4yOTR+AW7FqutScmB9NkLwxo+jU+kZLbofZZq/w==" }, - "dayjs": { - "version": "1.11.13", - "resolved": "https://registry.npmmirror.com/dayjs/-/dayjs-1.11.13.tgz", - "integrity": "sha512-oaMBel6gjolK862uaPQOVTA7q3TZhuSvuMQAAglQDOWYO9A91IrAOUJEyKVlqJlHE0vq5p5UXxzdPfMH/x6xNg==" - }, "de-indent": { "version": "1.0.2", "resolved": "https://registry.npmmirror.com/de-indent/-/de-indent-1.0.2.tgz", @@ -6203,28 +6143,6 @@ "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==", "dev": true }, - "element-plus": { - "version": "2.10.4", - "resolved": "https://registry.npmmirror.com/element-plus/-/element-plus-2.10.4.tgz", - "integrity": "sha512-UD4elWHrCnp1xlPhbXmVcaKFLCRaRAY6WWRwemGfGW3ceIjXm9fSYc9RNH3AiOEA6Ds1p9ZvhCs76CR9J8Vd+A==", - "requires": { - "@ctrl/tinycolor": "^3.4.1", - "@element-plus/icons-vue": "^2.3.1", - "@floating-ui/dom": "^1.0.1", - "@popperjs/core": "npm:@sxzz/popperjs-es@^2.11.7", - "@types/lodash": "^4.14.182", - "@types/lodash-es": "^4.17.6", - "@vueuse/core": "^9.1.0", - "async-validator": "^4.2.5", - "dayjs": "^1.11.13", - "escape-html": "^1.0.3", - "lodash": "^4.17.21", - "lodash-es": "^4.17.21", - "lodash-unified": "^1.0.2", - "memoize-one": "^6.0.0", - "normalize-wheel-es": "^1.2.0" - } - }, "emoji-regex": { "version": "9.2.2", "resolved": "https://registry.npmmirror.com/emoji-regex/-/emoji-regex-9.2.2.tgz", @@ -6344,11 +6262,6 @@ "@esbuild/win32-x64": "0.17.18" } }, - "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==" - }, "escape-string-regexp": { "version": "4.0.0", "resolved": "https://registry.npmmirror.com/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", @@ -7366,18 +7279,8 @@ "lodash": { "version": "4.17.21", "resolved": "https://registry.npmmirror.com/lodash/-/lodash-4.17.21.tgz", - "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" - }, - "lodash-es": { - "version": "4.17.21", - "resolved": "https://registry.npmmirror.com/lodash-es/-/lodash-es-4.17.21.tgz", - "integrity": "sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==" - }, - "lodash-unified": { - "version": "1.0.3", - "resolved": "https://registry.npmmirror.com/lodash-unified/-/lodash-unified-1.0.3.tgz", - "integrity": "sha512-WK9qSozxXOD7ZJQlpSqOT+om2ZfcT4yO+03FuzAHD0wF6S0l0090LRPDx3vhTTLZ8cFKpBn+IOcVXK6qOcIlfQ==", - "requires": {} + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", + "dev": true }, "lodash.merge": { "version": "4.6.2", @@ -7488,11 +7391,6 @@ } } }, - "memoize-one": { - "version": "6.0.0", - "resolved": "https://registry.npmmirror.com/memoize-one/-/memoize-one-6.0.0.tgz", - "integrity": "sha512-rkpe71W0N0c0Xz6QD0eJETuWAJGnJ9afsl1srmwPrI+yBCkge5EycXXbYRyvL29zZVUWQCY7InPRCv3GDXuZNw==" - }, "memorystream": { "version": "0.3.1", "resolved": "https://registry.npmmirror.com/memorystream/-/memorystream-0.3.1.tgz", @@ -7640,11 +7538,6 @@ "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", "dev": true }, - "normalize-wheel-es": { - "version": "1.2.0", - "resolved": "https://registry.npmmirror.com/normalize-wheel-es/-/normalize-wheel-es-1.2.0.tgz", - "integrity": "sha512-Wj7+EJQ8mSuXr2iWfnujrimU35R2W4FAErEyTmJoJ7ucwTn2hOUSsRehMb5RSYkxXGTM7Y9QpvPmp++w5ftoJw==" - }, "normalize.css": { "version": "8.0.1", "resolved": "https://registry.npmmirror.com/normalize.css/-/normalize.css-8.0.1.tgz", @@ -8631,7 +8524,7 @@ }, "unplugin-auto-import": { "version": "0.15.3", - "resolved": "https://registry.npmmirror.com/unplugin-auto-import/-/unplugin-auto-import-0.15.3.tgz", + "resolved": "https://registry.npmjs.org/unplugin-auto-import/-/unplugin-auto-import-0.15.3.tgz", "integrity": "sha512-RLT8SqbPn4bT7yBshZId0uPSofKWnwr66RyDaxWaFb/+f7OTDOWAsVNz+hOQLBWSjvbekr2xZY9ccS8TDHJbCQ==", "dev": true, "requires": { @@ -8675,7 +8568,7 @@ }, "unplugin-vue-components": { "version": "0.24.1", - "resolved": "https://registry.npmmirror.com/unplugin-vue-components/-/unplugin-vue-components-0.24.1.tgz", + "resolved": "https://registry.npmjs.org/unplugin-vue-components/-/unplugin-vue-components-0.24.1.tgz", "integrity": "sha512-T3A8HkZoIE1Cja95xNqolwza0yD5IVlgZZ1PVAGvVCx8xthmjsv38xWRCtHtwl+rvZyL9uif42SRkDGw9aCfMA==", "dev": true, "requires": { @@ -8745,6 +8638,23 @@ "spdx-expression-parse": "^3.0.0" } }, + "vant": { + "version": "4.9.21", + "resolved": "https://registry.npmjs.org/vant/-/vant-4.9.21.tgz", + "integrity": "sha512-hXUoZMrLLjykimFRLDlGNd+K2iYSRh9YwLMKnsVdVZ+9inUKxpqnjhOqlZwocbnYkvJlS+febf9u9aJpDol4Pw==", + "requires": { + "@vant/popperjs": "^1.3.0", + "@vant/use": "^1.6.0", + "@vue/shared": "^3.5.17" + }, + "dependencies": { + "@vue/shared": { + "version": "3.5.22", + "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.5.22.tgz", + "integrity": "sha512-F4yc6palwq3TT0u+FYf0Ns4Tfl9GRFURDN2gWG7L1ecIaS/4fCIuFOjMTnCyjsu/OK6vaDKLCrGAa+KvvH+h4w==" + } + } + }, "vite": { "version": "4.3.1", "resolved": "https://registry.npmmirror.com/vite/-/vite-4.3.1.tgz", diff --git a/package.json b/package.json index b94525b..aa2ead1 100644 --- a/package.json +++ b/package.json @@ -15,18 +15,19 @@ }, "dependencies": { "axios": "^1.3.6", - "element-plus": "^2.10.4", "gsap": "^3.13.0", "normalize.css": "^8.0.1", "pinia": "^2.0.32", "pinia-persistedstate-plugin": "^0.1.0", "pinia-plugin-persistedstate": "^3.1.0", + "vant": "^4.9.21", "vue": "^3.2.47", "vue-router": "^4.1.6" }, "devDependencies": { "@rushstack/eslint-patch": "^1.2.0", "@types/node": "^18.16.0", + "@vant/auto-import-resolver": "^1.3.0", "@vitejs/plugin-vue": "^4.0.0", "@vue/eslint-config-prettier": "^7.1.0", "@vue/eslint-config-typescript": "^11.0.2", diff --git a/src/main.ts b/src/main.ts index 38dcecd..958030d 100644 --- a/src/main.ts +++ b/src/main.ts @@ -2,15 +2,12 @@ import { createApp } from 'vue' import App from './App.vue' import router from './router' -// import ElementPlus from 'element-plus' import store from './stores/index' import 'normalize.css/normalize.css' import './assets/css/style.css' import flexible from "./utils/flexible.js"; -//引入element-plus相关样式 -import 'element-plus/dist/index.css' import './assets/main.css' import "./router/router-config" // 路由守卫,做动态路由的地方 @@ -24,7 +21,6 @@ document.addEventListener('touchend', function(event) { }, false); const app = createApp(App) -// app.use(ElementPlus) app.use(router) app.use(store) flexible(); diff --git a/src/utils/request.ts b/src/utils/request.ts index 9295d2a..4272946 100644 --- a/src/utils/request.ts +++ b/src/utils/request.ts @@ -1,6 +1,5 @@ import axios from 'axios' -// import { Message, Loading, MessageBox } from 'element-ui' -import { ElMessage, ElLoading, ElMessageBox } from 'element-plus' +import { showToast, showLoading, showConfirmDialog, closeToast } from 'vant' import { useUserInfoStore } from '@/stores/modules/userInfo' const store = useUserInfoStore() import { getLocal } from '@/utils/local' @@ -62,17 +61,18 @@ service.interceptors.response.use( const res = response.data // 处理异常的情况 if (res.errCode != 0) { - ElMessage({ + showToast({ message: res.errMsg, - type: 'error', - duration: 5 * 1000 + type: 'fail', + duration: 5000 }) // 403:非法的token; 50012:其他客户端登录了; 401:Token 过期了; if (res.errCode === 403 || res.errCode === 50012 || res.errCode === 401) { - ElMessageBox.confirm('你已被登出,可以取消继续留在该页面,或者重新登录', '确定登出', { + showConfirmDialog({ + title: '确定登出', + message: '你已被登出,可以取消继续留在该页面,或者重新登录', confirmButtonText: '重新登录', - cancelButtonText: '取消', - type: 'warning' + cancelButtonText: '取消' }).then(() => { store.loginOut().then(() => { location.reload() // 为了重新实例化vue-router对象 避免bug @@ -98,10 +98,10 @@ service.interceptors.response.use( closeLoading() } console.log('err' + error) // for debug - ElMessage({ + showToast({ message: error.message, - type: 'error', - duration: 5 * 1000 + type: 'fail', + duration: 5000 }) return Promise.reject(error) } @@ -154,18 +154,16 @@ const LoadingInstance: { _target: any; _count: number } = { _count: 0 } function openLoading(loadingDom: any) { - LoadingInstance._target = ElLoading.service({ - lock: true, - text: '数据正在加载中', - spinner: 'el-icon-loading', - background: 'rgba(25, 32, 53, 1)', - target: loadingDom || 'body' + LoadingInstance._target = showLoading({ + message: '数据正在加载中', + forbidClick: true, + background: 'rgba(25, 32, 53, 1)' }) } function closeLoading() { if (LoadingInstance._count > 0) LoadingInstance._count-- if (LoadingInstance._count === 0) { - LoadingInstance._target.close() + LoadingInstance._target?.close() LoadingInstance._target = null } } diff --git a/tsconfig.json b/tsconfig.json index ecdc2b6..f79094a 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -9,7 +9,9 @@ "paths": { "@/*": ["./src/*"], "_c/*": ["./src/components/*"] - } + }, + "skipLibCheck": true, + "strict": false }, "references": [ diff --git a/tsconfig.node.json b/tsconfig.node.json index 5337e5a..2b5abb3 100644 --- a/tsconfig.node.json +++ b/tsconfig.node.json @@ -3,6 +3,7 @@ "include": ["vite.config.*", "vitest.config.*", "cypress.config.*", "playwright.config.*"], "compilerOptions": { "composite": true, - "types": ["node","element-plus/global"] + "types": ["node", "vant/global"], + "skipLibCheck": true } } diff --git a/vite.config.ts b/vite.config.ts index 4175d89..8cfb042 100644 --- a/vite.config.ts +++ b/vite.config.ts @@ -4,8 +4,8 @@ import { defineConfig } from 'vite' import vue from '@vitejs/plugin-vue' import AutoImport from 'unplugin-auto-import/vite' import Components from 'unplugin-vue-components/vite' -import { ElementPlusResolver } from 'unplugin-vue-components/resolvers' import path from "path"; +import {VantResolver} from '@vant/auto-import-resolver' // console.log(process) // console.log(import.meta.env.VITE_APP_URL) @@ -17,10 +17,17 @@ export default defineConfig({ vue(), // ... AutoImport({ - resolvers: [ElementPlusResolver()], + resolvers: [VantResolver()], + imports: ['vue', 'vue-router', 'pinia'], + dts: true, + dirs: [ + 'src/stores', + 'src/utils', + ], }), Components({ - resolvers: [ElementPlusResolver()], + resolvers: [VantResolver()], + dts: false, }), ], css: {