diff --git a/auto-imports.d.ts b/auto-imports.d.ts index 918aad8..7274c7d 100644 --- a/auto-imports.d.ts +++ b/auto-imports.d.ts @@ -4,5 +4,85 @@ // Generated by unplugin-auto-import export {} declare global { - + const EffectScope: typeof import('vue')['EffectScope'] + const acceptHMRUpdate: typeof import('pinia')['acceptHMRUpdate'] + const computed: typeof import('vue')['computed'] + const createApp: typeof import('vue')['createApp'] + const createPinia: typeof import('pinia')['createPinia'] + const customRef: typeof import('vue')['customRef'] + const defineAsyncComponent: typeof import('vue')['defineAsyncComponent'] + const defineComponent: typeof import('vue')['defineComponent'] + const defineStore: typeof import('pinia')['defineStore'] + const effectScope: typeof import('vue')['effectScope'] + const flexible: typeof import('./src/utils/flexible.js')['default'] + const getActivePinia: typeof import('pinia')['getActivePinia'] + const getCurrentInstance: typeof import('vue')['getCurrentInstance'] + const getCurrentScope: typeof import('vue')['getCurrentScope'] + const getLocal: typeof import('./src/utils/local')['getLocal'] + const getMousePosition: typeof import('./src/utils/tools')['getMousePosition'] + const getUniversalZoomLevel: typeof import('./src/utils/tools')['getUniversalZoomLevel'] + const h: typeof import('vue')['h'] + const inject: typeof import('vue')['inject'] + const isProxy: typeof import('vue')['isProxy'] + const isReactive: typeof import('vue')['isReactive'] + const isReadonly: typeof import('vue')['isReadonly'] + const isRef: typeof import('vue')['isRef'] + const mapActions: typeof import('pinia')['mapActions'] + const mapGetters: typeof import('pinia')['mapGetters'] + const mapState: typeof import('pinia')['mapState'] + const mapStores: typeof import('pinia')['mapStores'] + const mapWritableState: typeof import('pinia')['mapWritableState'] + const markRaw: typeof import('vue')['markRaw'] + const nextTick: typeof import('vue')['nextTick'] + const onActivated: typeof import('vue')['onActivated'] + const onBeforeMount: typeof import('vue')['onBeforeMount'] + const onBeforeRouteLeave: typeof import('vue-router')['onBeforeRouteLeave'] + const onBeforeRouteUpdate: typeof import('vue-router')['onBeforeRouteUpdate'] + const onBeforeUnmount: typeof import('vue')['onBeforeUnmount'] + const onBeforeUpdate: typeof import('vue')['onBeforeUpdate'] + const onDeactivated: typeof import('vue')['onDeactivated'] + const onErrorCaptured: typeof import('vue')['onErrorCaptured'] + const onMounted: typeof import('vue')['onMounted'] + const onRenderTracked: typeof import('vue')['onRenderTracked'] + const onRenderTriggered: typeof import('vue')['onRenderTriggered'] + const onScopeDispose: typeof import('vue')['onScopeDispose'] + const onServerPrefetch: typeof import('vue')['onServerPrefetch'] + const onUnmounted: typeof import('vue')['onUnmounted'] + const onUpdated: typeof import('vue')['onUpdated'] + const provide: typeof import('vue')['provide'] + const reactive: typeof import('vue')['reactive'] + const readonly: typeof import('vue')['readonly'] + const ref: typeof import('vue')['ref'] + const removeLocal: typeof import('./src/utils/local')['removeLocal'] + const request: typeof import('./src/utils/request')['default'] + const resolveComponent: typeof import('vue')['resolveComponent'] + const setActivePinia: typeof import('pinia')['setActivePinia'] + const setLocal: typeof import('./src/utils/local')['setLocal'] + const setMapStoreSuffix: typeof import('pinia')['setMapStoreSuffix'] + const shallowReactive: typeof import('vue')['shallowReactive'] + const shallowReadonly: typeof import('vue')['shallowReadonly'] + const shallowRef: typeof import('vue')['shallowRef'] + const storeToRefs: typeof import('pinia')['storeToRefs'] + const stores: typeof import('./src/stores/index')['default'] + const toRaw: typeof import('vue')['toRaw'] + const toRef: typeof import('vue')['toRef'] + const toRefs: typeof import('vue')['toRefs'] + const triggerRef: typeof import('vue')['triggerRef'] + const unref: typeof import('vue')['unref'] + const useAttrs: typeof import('vue')['useAttrs'] + const useCssModule: typeof import('vue')['useCssModule'] + const useCssVars: typeof import('vue')['useCssVars'] + const useLink: typeof import('vue-router')['useLink'] + const useRoute: typeof import('vue-router')['useRoute'] + const useRouter: typeof import('vue-router')['useRouter'] + const useSlots: typeof import('vue')['useSlots'] + const watch: typeof import('vue')['watch'] + const watchEffect: typeof import('vue')['watchEffect'] + const watchPostEffect: typeof import('vue')['watchPostEffect'] + const watchSyncEffect: typeof import('vue')['watchSyncEffect'] +} +// for type re-export +declare global { + // @ts-ignore + export type { Component, ComponentPublicInstance, ComputedRef, InjectionKey, PropType, Ref, VNode } from 'vue' } diff --git a/package-lock.json b/package-lock.json index ef72238..82bd8d4 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", @@ -60,22 +61,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", @@ -481,19 +466,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", @@ -564,12 +536,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", @@ -624,19 +590,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", @@ -661,7 +614,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", @@ -819,6 +775,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", @@ -1076,6 +1054,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", @@ -1087,7 +1068,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" @@ -1108,12 +1092,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": "*" } @@ -1122,7 +1112,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" @@ -1356,11 +1349,6 @@ "node": ">= 0.4" } }, - "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", @@ -2016,11 +2004,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "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", @@ -2213,31 +2196,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", @@ -2448,11 +2406,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", @@ -4429,22 +4382,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", @@ -4614,11 +4553,6 @@ "integrity": "sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==", "dev": true }, - "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", @@ -4933,11 +4867,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", @@ -7504,9 +7433,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", @@ -7519,6 +7449,9 @@ "engines": { "node": ">=14" }, + "funding": { + "url": "https://github.com/sponsors/antfu" + }, "peerDependencies": { "@nuxt/kit": "^3.2.2", "@vueuse/core": "*" @@ -7567,9 +7500,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", @@ -7585,6 +7519,9 @@ "engines": { "node": ">=14" }, + "funding": { + "url": "https://github.com/sponsors/antfu" + }, "peerDependencies": { "@babel/parser": "^7.15.8", "@nuxt/kit": "^3.2.2", @@ -7730,6 +7667,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/vary": { "version": "1.1.2", "resolved": "https://registry.npmmirror.com/vary/-/vary-1.1.2.tgz", @@ -8130,17 +8087,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", @@ -8333,19 +8279,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", @@ -8401,11 +8334,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", @@ -8446,19 +8374,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", @@ -8483,7 +8398,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", @@ -8584,6 +8502,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", @@ -8801,6 +8736,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", @@ -8812,6 +8750,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": {} } } @@ -8819,12 +8760,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": "*" }, @@ -8833,6 +8780,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": {} } } @@ -8993,11 +8943,6 @@ "integrity": "sha512-hsU18Ae8CDTR6Kgu9DYf0EbCr/a5iGL0rytQDobUcdpYOKokk8LEjVphnXkDkgpi0wYVsqrXuP0bZxJaTqdgoA==", "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", @@ -9490,11 +9435,6 @@ "is-data-view": "^1.0.1" } }, - "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", @@ -9642,28 +9582,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", @@ -9837,11 +9755,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", @@ -11302,18 +11215,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", @@ -11451,11 +11354,6 @@ "integrity": "sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==", "dev": true }, - "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", @@ -11701,11 +11599,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", @@ -13684,7 +13577,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": { @@ -13728,7 +13621,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": { @@ -13856,6 +13749,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==" + } + } + }, "vary": { "version": "1.1.2", "resolved": "https://registry.npmmirror.com/vary/-/vary-1.1.2.tgz", diff --git a/package.json b/package.json index 849f99f..ff38ced 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 b43840e..0901b59 100644 --- a/src/main.ts +++ b/src/main.ts @@ -2,7 +2,6 @@ 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' @@ -12,14 +11,12 @@ import "virtual:svg-icons-register"; import flexible from "./utils/flexible.js"; -//引入element-plus相关样式 -import 'element-plus/dist/index.css' import './assets/main.css' import "./router/router-config" // 路由守卫,做动态路由的地方 -var lastTouchEnd = 0; +let lastTouchEnd = 0; document.addEventListener('touchend', function(event) { - var now = (new Date()).getTime(); + const now = (new Date()).getTime(); if (now - lastTouchEnd <= 300) { event.preventDefault(); } @@ -27,7 +24,6 @@ document.addEventListener('touchend', function(event) { }, false); const app = createApp(App) -// app.use(ElementPlus) app.use(router) .use(store) .component("SvgIcon", SvgIcon) 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 a45cf69..4a8153e 100644 --- a/vite.config.ts +++ b/vite.config.ts @@ -4,9 +4,9 @@ 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 { createSvgIconsPlugin } from "vite-plugin-svg-icons"; -import path from "path"; +import { createSvgIconsPlugin } from 'vite-plugin-svg-icons' +import path from 'path' +import { VantResolver } from '@vant/auto-import-resolver' // console.log(process) // console.log(import.meta.env.VITE_APP_URL) @@ -18,55 +18,56 @@ export default defineConfig({ vue(), // ... AutoImport({ - resolvers: [ElementPlusResolver()], + resolvers: [VantResolver()], + imports: ['vue', 'vue-router', 'pinia'], + dts: true, + dirs: ['src/stores', 'src/utils'] }), Components({ - resolvers: [ElementPlusResolver()], - }), - createSvgIconsPlugin({ - // 指定需要缓存的图标文件夹 - iconDirs: [path.resolve(process.cwd(), "src/assets/icons")], - // 指定symbolId格式 - symbolId: "icon-[dir]-[name]", - inject: "body-last", // 注入位置优化 + resolvers: [VantResolver()], + dts: false }), + createSvgIconsPlugin({ + // 指定需要缓存的图标文件夹 + iconDirs: [path.resolve(process.cwd(), 'src/assets/icons')], + // 指定symbolId格式 + symbolId: 'icon-[dir]-[name]', + inject: 'body-last' // 注入位置优化 + }) ], css: { - preprocessorOptions: { - less: { - modifyVars: { - "primary-color": "#ec6800", - }, - javascriptEnabled: true, - // 全局导入less变量文件 - additionalData: `@import "${path.resolve( - __dirname, - "src/assets/css/style.less" - )}";`, - }, - }, + preprocessorOptions: { + less: { + modifyVars: { + 'primary-color': '#ec6800' + }, + javascriptEnabled: true, + // 全局导入less变量文件 + additionalData: `@import "${path.resolve(__dirname, 'src/assets/css/style.less')}";` + } + } }, resolve: { alias: { '@': fileURLToPath(new URL('./src', import.meta.url)), - '_c': fileURLToPath(new URL('./src/components', import.meta.url)) + _c: fileURLToPath(new URL('./src/components', import.meta.url)) } }, server: { - host: "0.0.0.0", // 允许局域网内的IP访问 - port: 8060, // 根据环境设置端口 - open: false, // 自动打开浏览器 - strictPort: true, // 如果端口已被占用,则尝试下一个可用端口 - hmr: { - overlay: true, - }, + host: '0.0.0.0', // 允许局域网内的IP访问 + port: 8060, // 根据环境设置端口 + open: false, // 自动打开浏览器 + strictPort: true, // 如果端口已被占用,则尝试下一个可用端口 + hmr: { + overlay: true + }, proxy: { - "/api": { + '/api': { //'/api'是自行设置的请求前缀 - target: "http://18.167.251.121:10095", + target: 'http://18.167.251.121:10095', changeOrigin: true, //用于控制请求头中的host值 - rewrite: (path) => path.replace(/^\/api/, "/api"), //路径重写,(正则)匹配以api开头的路径为空(将请求前缀删除) - }, + rewrite: (path) => path.replace(/^\/api/, '/api') //路径重写,(正则)匹配以api开头的路径为空(将请求前缀删除) + } } -} + } })