diff --git a/package.json b/package.json index b54ff3f..89a9711 100644 --- a/package.json +++ b/package.json @@ -40,6 +40,7 @@ "unocss": "^0.49.8", "unplugin-auto-import": "^0.13.0", "unplugin-vue-components": "^0.23.0", + "unplugin-vue-router": "^0.7.0", "vite": "^4.4.9", "vite-plugin-pages": "^0.28.0", "vite-plugin-style-import": "^2.0.0", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 025cab8..26f5407 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -85,6 +85,9 @@ devDependencies: unplugin-vue-components: specifier: ^0.23.0 version: 0.23.0(vue@3.3.4) + unplugin-vue-router: + specifier: ^0.7.0 + version: 0.7.0(vue-router@4.2.4)(vue@3.3.4) vite: specifier: ^4.4.9 version: 4.4.9(less@4.2.0) @@ -170,10 +173,10 @@ packages: '@babel/helper-compilation-targets': 7.22.15 '@babel/helper-module-transforms': 7.22.17(@babel/core@7.22.17) '@babel/helpers': 7.22.15 - '@babel/parser': 7.22.16 + '@babel/parser': 7.23.6 '@babel/template': 7.22.15 '@babel/traverse': 7.22.17 - '@babel/types': 7.23.0 + '@babel/types': 7.23.6 convert-source-map: 1.9.0 debug: 4.3.4 gensync: 1.0.0-beta.2 @@ -187,7 +190,7 @@ packages: resolution: {integrity: sha512-Zu9oWARBqeVOW0dZOjXc3JObrzuqothQ3y/n1kUtrjCoCPLkXUwMvOo/F/TCfoHMbWIFlWwpZtkZVb9ga4U2pA==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.23.0 + '@babel/types': 7.23.6 '@jridgewell/gen-mapping': 0.3.3 '@jridgewell/trace-mapping': 0.3.19 jsesc: 2.5.2 @@ -197,7 +200,7 @@ packages: resolution: {integrity: sha512-LvBTxu8bQSQkcyKOU+a1btnNFQ1dMAd0R6PyW3arXes06F6QLWLIrd681bxRPIXlrMGR3XYnW9JyML7dP3qgxg==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.23.0 + '@babel/types': 7.23.6 dev: true /@babel/helper-compilation-targets@7.22.15: @@ -239,28 +242,28 @@ packages: engines: {node: '>=6.9.0'} dependencies: '@babel/template': 7.22.15 - '@babel/types': 7.23.0 + '@babel/types': 7.23.6 dev: true /@babel/helper-hoist-variables@7.22.5: resolution: {integrity: sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.23.0 + '@babel/types': 7.23.6 dev: true /@babel/helper-member-expression-to-functions@7.22.15: resolution: {integrity: sha512-qLNsZbgrNh0fDQBCPocSL8guki1hcPvltGDv/NxvUoABwFq7GkKSu1nRXeJkVZc+wJvne2E0RKQz+2SQrz6eAA==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.23.0 + '@babel/types': 7.23.6 dev: true /@babel/helper-module-imports@7.22.15: resolution: {integrity: sha512-0pYVBnDKZO2fnSPCrgM/6WMc7eS20Fbok+0r88fp+YtWVLZrp4CkafFGIp+W0VKw4a22sgebPT99y+FDNMdP4w==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.23.0 + '@babel/types': 7.23.6 dev: true /@babel/helper-module-transforms@7.22.17(@babel/core@7.22.17): @@ -281,7 +284,7 @@ packages: resolution: {integrity: sha512-HBwaojN0xFRx4yIvpwGqxiV2tUfl7401jlok564NgB9EHS1y6QT17FmKWm4ztqjeVdXLuC4fSvHc5ePpQjoTbw==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.23.0 + '@babel/types': 7.23.6 dev: true /@babel/helper-plugin-utils@7.22.5: @@ -305,21 +308,21 @@ packages: resolution: {integrity: sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.23.0 + '@babel/types': 7.23.6 dev: true /@babel/helper-skip-transparent-expression-wrappers@7.22.5: resolution: {integrity: sha512-tK14r66JZKiC43p8Ki33yLBVJKlQDFoA8GYN67lWCDCqoL6EMMSuM9b+Iff2jHaM/RRFYl7K+iiru7hbRqNx8Q==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.23.0 + '@babel/types': 7.23.6 dev: true /@babel/helper-split-export-declaration@7.22.6: resolution: {integrity: sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.23.0 + '@babel/types': 7.23.6 dev: true /@babel/helper-string-parser@7.22.5: @@ -327,6 +330,11 @@ packages: engines: {node: '>=6.9.0'} dev: true + /@babel/helper-string-parser@7.23.4: + resolution: {integrity: sha512-803gmbQdqwdf4olxrX4AJyFBV/RTr3rSmOj0rKwesmzlfhYNDEs+/iOcznzpNWlJlIlTJC2QfPFcHB6DlzdVLQ==} + engines: {node: '>=6.9.0'} + dev: true + /@babel/helper-validator-identifier@7.22.20: resolution: {integrity: sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==} engines: {node: '>=6.9.0'} @@ -343,7 +351,7 @@ packages: dependencies: '@babel/template': 7.22.15 '@babel/traverse': 7.22.17 - '@babel/types': 7.23.0 + '@babel/types': 7.23.6 transitivePeerDependencies: - supports-color dev: true @@ -365,6 +373,14 @@ packages: '@babel/types': 7.23.0 dev: true + /@babel/parser@7.23.6: + resolution: {integrity: sha512-Z2uID7YJ7oNvAI20O9X0bblw7Qqs8Q2hFy0R9tAfnfLkp5MW0UH9eUvnDSnFwKZ0AvgS1ucqR4KzvVHgnke1VQ==} + engines: {node: '>=6.0.0'} + hasBin: true + dependencies: + '@babel/types': 7.23.6 + dev: true + /@babel/plugin-syntax-jsx@7.22.5(@babel/core@7.22.17): resolution: {integrity: sha512-gvyP4hZrgrs/wWMaocvxZ44Hw0b3W8Pe+cMxc8V1ULQ07oh8VNbIRaoD1LRZVTvD+0nieDKjfgKg89sD7rrKrg==} engines: {node: '>=6.9.0'} @@ -408,8 +424,8 @@ packages: engines: {node: '>=6.9.0'} dependencies: '@babel/code-frame': 7.22.13 - '@babel/parser': 7.22.16 - '@babel/types': 7.23.0 + '@babel/parser': 7.23.6 + '@babel/types': 7.23.6 dev: true /@babel/traverse@7.22.17: @@ -422,8 +438,8 @@ packages: '@babel/helper-function-name': 7.22.5 '@babel/helper-hoist-variables': 7.22.5 '@babel/helper-split-export-declaration': 7.22.6 - '@babel/parser': 7.22.16 - '@babel/types': 7.23.0 + '@babel/parser': 7.23.6 + '@babel/types': 7.23.6 debug: 4.3.4 globals: 11.12.0 transitivePeerDependencies: @@ -439,6 +455,15 @@ packages: to-fast-properties: 2.0.0 dev: true + /@babel/types@7.23.6: + resolution: {integrity: sha512-+uarb83brBzPKN38NX1MkB6vb6+mwvR6amUulqAE7ccQw1pEl+bCia9TbdG1lsnFP7lZySvUn37CHyXQdfTwzg==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/helper-string-parser': 7.23.4 + '@babel/helper-validator-identifier': 7.22.20 + to-fast-properties: 2.0.0 + dev: true + /@esbuild-kit/cjs-loader@2.4.2: resolution: {integrity: sha512-BDXFbYOJzT/NBEtp71cvsrGPwGAMGRB/349rwKuoxNSiKjPraNNnlK6MIIabViCjqZugu6j+xeMDlEkWdHHJSg==} dependencies: @@ -993,6 +1018,20 @@ packages: picomatch: 2.3.1 dev: true + /@rollup/pluginutils@5.1.0: + resolution: {integrity: sha512-XTIWOPPcpvyKI6L1NHo0lFlCyznUEyPmPY1mc3KpPVDYulHSTvyeLNVW00QTLIAFNhR3kYnJTQHeGqU4M3n09g==} + engines: {node: '>=14.0.0'} + peerDependencies: + rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0 + peerDependenciesMeta: + rollup: + optional: true + dependencies: + '@types/estree': 1.0.1 + estree-walker: 2.0.2 + picomatch: 2.3.1 + dev: true + /@sindresorhus/is@5.6.0: resolution: {integrity: sha512-TV7t8GKYaJWsn00tFDqBw8+Uqmr8A0fRU1tvTQhyZzGv0sJCGRQL3JGMI3ucuKo3XIZdUP+Lx7/gh2t3lewy7g==} engines: {node: '>=14.16'} @@ -1106,7 +1145,7 @@ packages: hasBin: true dependencies: '@ampproject/remapping': 2.2.1 - '@rollup/pluginutils': 5.0.5 + '@rollup/pluginutils': 5.1.0 '@unocss/config': 0.49.8 '@unocss/core': 0.49.8 '@unocss/preset-uno': 0.49.8 @@ -1236,7 +1275,7 @@ packages: vite: ^2.9.0 || ^3.0.0-0 || ^4.0.0 dependencies: '@ampproject/remapping': 2.2.1 - '@rollup/pluginutils': 5.0.5 + '@rollup/pluginutils': 5.1.0 '@unocss/config': 0.49.8 '@unocss/core': 0.49.8 '@unocss/inspector': 0.49.8 @@ -1295,6 +1334,26 @@ packages: '@volar/language-core': 1.10.1 dev: true + /@vue-macros/common@1.10.0(vue@3.3.4): + resolution: {integrity: sha512-4DZsPeQA/nBQDw2RkYAmH7KrFjJVrMdAhJhO1JCl1bbbFXCGeoGjXfkg9wHPppj47s2HpAB3GrqNwqVGbi12NQ==} + engines: {node: '>=16.14.0'} + peerDependencies: + vue: ^2.7.0 || ^3.2.25 + peerDependenciesMeta: + vue: + optional: true + dependencies: + '@babel/types': 7.23.6 + '@rollup/pluginutils': 5.1.0 + '@vue/compiler-sfc': 3.3.11 + ast-kit: 0.11.3 + local-pkg: 0.5.0 + magic-string-ast: 0.3.0 + vue: 3.3.4 + transitivePeerDependencies: + - rollup + dev: true + /@vue/babel-helper-vue-transform-on@1.1.5: resolution: {integrity: sha512-SgUymFpMoAyWeYWLAY+MkCK3QEROsiUnfaw5zxOVD/M64KQs8D/4oK6Q5omVA2hnvEOE0SCkH2TZxs/jnnUj7w==} dev: true @@ -1309,7 +1368,7 @@ packages: '@babel/plugin-syntax-jsx': 7.22.5(@babel/core@7.22.17) '@babel/template': 7.22.15 '@babel/traverse': 7.22.17 - '@babel/types': 7.23.0 + '@babel/types': 7.23.6 '@vue/babel-helper-vue-transform-on': 1.1.5 camelcase: 6.3.0 html-tags: 3.3.1 @@ -1318,15 +1377,31 @@ packages: - supports-color dev: true + /@vue/compiler-core@3.3.11: + resolution: {integrity: sha512-h97/TGWBilnLuRaj58sxNrsUU66fwdRKLOLQ9N/5iNDfp+DZhYH9Obhe0bXxhedl8fjAgpRANpiZfbgWyruQ0w==} + dependencies: + '@babel/parser': 7.23.6 + '@vue/shared': 3.3.11 + estree-walker: 2.0.2 + source-map-js: 1.0.2 + dev: true + /@vue/compiler-core@3.3.4: resolution: {integrity: sha512-cquyDNvZ6jTbf/+x+AgM2Arrp6G4Dzbb0R64jiG804HRMfRiFXWI6kqUVqZ6ZR0bQhIoQjB4+2bhNtVwndW15g==} dependencies: - '@babel/parser': 7.22.16 + '@babel/parser': 7.23.6 '@vue/shared': 3.3.4 estree-walker: 2.0.2 source-map-js: 1.0.2 dev: true + /@vue/compiler-dom@3.3.11: + resolution: {integrity: sha512-zoAiUIqSKqAJ81WhfPXYmFGwDRuO+loqLxvXmfUdR5fOitPoUiIeFI9cTTyv9MU5O1+ZZglJVTusWzy+wfk5hw==} + dependencies: + '@vue/compiler-core': 3.3.11 + '@vue/shared': 3.3.11 + dev: true + /@vue/compiler-dom@3.3.4: resolution: {integrity: sha512-wyM+OjOVpuUukIq6p5+nwHYtj9cFroz9cwkfmP9O1nzH68BenTTv0u7/ndggT8cIQlnBeOo6sUT/gvHcIkLA5w==} dependencies: @@ -1334,21 +1409,43 @@ packages: '@vue/shared': 3.3.4 dev: true + /@vue/compiler-sfc@3.3.11: + resolution: {integrity: sha512-U4iqPlHO0KQeK1mrsxCN0vZzw43/lL8POxgpzcJweopmqtoYy9nljJzWDIQS3EfjiYhfdtdk9Gtgz7MRXnz3GA==} + dependencies: + '@babel/parser': 7.23.6 + '@vue/compiler-core': 3.3.11 + '@vue/compiler-dom': 3.3.11 + '@vue/compiler-ssr': 3.3.11 + '@vue/reactivity-transform': 3.3.11 + '@vue/shared': 3.3.11 + estree-walker: 2.0.2 + magic-string: 0.30.5 + postcss: 8.4.32 + source-map-js: 1.0.2 + dev: true + /@vue/compiler-sfc@3.3.4: resolution: {integrity: sha512-6y/d8uw+5TkCuzBkgLS0v3lSM3hJDntFEiUORM11pQ/hKvkhSKZrXW6i69UyXlJQisJxuUEJKAWEqWbWsLeNKQ==} dependencies: - '@babel/parser': 7.22.16 + '@babel/parser': 7.23.6 '@vue/compiler-core': 3.3.4 '@vue/compiler-dom': 3.3.4 '@vue/compiler-ssr': 3.3.4 '@vue/reactivity-transform': 3.3.4 '@vue/shared': 3.3.4 estree-walker: 2.0.2 - magic-string: 0.30.3 - postcss: 8.4.29 + magic-string: 0.30.5 + postcss: 8.4.32 source-map-js: 1.0.2 dev: true + /@vue/compiler-ssr@3.3.11: + resolution: {integrity: sha512-Zd66ZwMvndxRTgVPdo+muV4Rv9n9DwQ4SSgWWKWkPFebHQfVYRrVjeygmmDmPewsHyznCNvJ2P2d6iOOhdv8Qg==} + dependencies: + '@vue/compiler-dom': 3.3.11 + '@vue/shared': 3.3.11 + dev: true + /@vue/compiler-ssr@3.3.4: resolution: {integrity: sha512-m0v6oKpup2nMSehwA6Uuu+j+wEwcy7QmwMkVNVfrV9P2qE5KshC6RwOCq8fjGS/Eak/uNb8AaWekfiXxbBB6gQ==} dependencies: @@ -1370,23 +1467,33 @@ packages: dependencies: '@volar/language-core': 1.10.1 '@volar/source-map': 1.10.1 - '@vue/compiler-dom': 3.3.4 + '@vue/compiler-dom': 3.3.11 '@vue/reactivity': 3.3.4 - '@vue/shared': 3.3.4 + '@vue/shared': 3.3.11 minimatch: 9.0.3 muggle-string: 0.3.1 typescript: 4.9.5 vue-template-compiler: 2.7.14 dev: true + /@vue/reactivity-transform@3.3.11: + resolution: {integrity: sha512-fPGjH0wqJo68A0wQ1k158utDq/cRyZNlFoxGwNScE28aUFOKFEnCBsvyD8jHn+0kd0UKVpuGuaZEQ6r9FJRqCg==} + dependencies: + '@babel/parser': 7.23.6 + '@vue/compiler-core': 3.3.11 + '@vue/shared': 3.3.11 + estree-walker: 2.0.2 + magic-string: 0.30.5 + dev: true + /@vue/reactivity-transform@3.3.4: resolution: {integrity: sha512-MXgwjako4nu5WFLAjpBnCj/ieqcjE2aJBINUNQzkZQfzIZA4xn+0fV1tIYBJvvva3N3OvKGofRLvQIwEQPpaXw==} dependencies: - '@babel/parser': 7.22.16 + '@babel/parser': 7.23.6 '@vue/compiler-core': 3.3.4 '@vue/shared': 3.3.4 estree-walker: 2.0.2 - magic-string: 0.30.3 + magic-string: 0.30.5 dev: true /@vue/reactivity@3.3.4: @@ -1420,6 +1527,10 @@ packages: vue: 3.3.4 dev: true + /@vue/shared@3.3.11: + resolution: {integrity: sha512-u2G8ZQ9IhMWTMXaWqZycnK4UthG1fA238CD+DP4Dm4WJi5hdUKKLg0RMRaRpDPNMdkTwIDkp7WtD0Rd9BH9fLw==} + dev: true + /@vue/shared@3.3.4: resolution: {integrity: sha512-7OjdcV8vQ74eiz1TZLzZP4JwqM5fA94K6yntPS5Z25r9HDuGNzaGdgvwKYq6S+MxwF0TFRwe50fIR/MYnakdkQ==} dev: true @@ -1616,6 +1727,28 @@ packages: engines: {node: '>=0.10.0'} dev: true + /ast-kit@0.11.3: + resolution: {integrity: sha512-qdwwKEhckRk0XE22/xDdmU3v/60E8Edu4qFhgTLIhGGDs/PAJwLw9pQn8Rj99PitlbBZbYpx0k/lbir4kg0SuA==} + engines: {node: '>=16.14.0'} + dependencies: + '@babel/parser': 7.23.6 + '@rollup/pluginutils': 5.1.0 + pathe: 1.1.1 + transitivePeerDependencies: + - rollup + dev: true + + /ast-kit@0.9.5: + resolution: {integrity: sha512-kbL7ERlqjXubdDd+szuwdlQ1xUxEz9mCz1+m07ftNVStgwRb2RWw+U6oKo08PAvOishMxiqz1mlJyLl8yQx2Qg==} + engines: {node: '>=16.14.0'} + dependencies: + '@babel/parser': 7.22.16 + '@rollup/pluginutils': 5.0.5 + pathe: 1.1.1 + transitivePeerDependencies: + - rollup + dev: true + /ast-types@0.13.4: resolution: {integrity: sha512-x1FCFnFifvYDDzTaLII71vG5uvDwgtmDTEVWAxrgeiR8VjMONcCXJx7E+USjDtHlwFmt9MysbqgF9b9Vjr6w+w==} engines: {node: '>=4'} @@ -1623,6 +1756,16 @@ packages: tslib: 2.6.2 dev: true + /ast-walker-scope@0.5.0: + resolution: {integrity: sha512-NsyHMxBh4dmdEHjBo1/TBZvCKxffmZxRYhmclfu0PP6Aftre47jOHYaYaNqJcV0bxihxFXhDkzLHUwHc0ocd0Q==} + engines: {node: '>=16.14.0'} + dependencies: + '@babel/parser': 7.22.16 + ast-kit: 0.9.5 + transitivePeerDependencies: + - rollup + dev: true + /async-retry@1.3.3: resolution: {integrity: sha512-wfr/jstw9xNi/0teMHrRW7dsz3Lt5ARhYNZ2ewpadnhaIp5mbALhOAP+EAdsC7t4Z6wqsDVv9+W6gm1Dk9mEyw==} dependencies: @@ -4182,6 +4325,14 @@ packages: engines: {node: '>=14'} dev: true + /local-pkg@0.5.0: + resolution: {integrity: sha512-ok6z3qlYyCDS4ZEU27HaU6x/xZa9Whf8jD4ptH5UZTQYZVYeb9bnZ3ojVhiJNLiXK1Hfc0GNbLXcmZ5plLDDBg==} + engines: {node: '>=14'} + dependencies: + mlly: 1.4.2 + pkg-types: 1.0.3 + dev: true + /locate-path@2.0.0: resolution: {integrity: sha512-NCI2kiDkyR7VeEKm27Kda/iQHyKJe1Bu0FlTbYp3CqJu+9IFe9bLyAjMxf5ZDDbEg+iMPzB5zYyUTSm8wVTKmA==} engines: {node: '>=4'} @@ -4290,6 +4441,13 @@ packages: engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} dev: true + /magic-string-ast@0.3.0: + resolution: {integrity: sha512-0shqecEPgdFpnI3AP90epXyxZy9g6CRZ+SZ7BcqFwYmtFEnZ1jpevcV5HoyVnlDS9gCnc1UIg3Rsvp3Ci7r8OA==} + engines: {node: '>=16.14.0'} + dependencies: + magic-string: 0.30.3 + dev: true + /magic-string@0.25.9: resolution: {integrity: sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==} dependencies: @@ -4317,6 +4475,13 @@ packages: '@jridgewell/sourcemap-codec': 1.4.15 dev: true + /magic-string@0.30.5: + resolution: {integrity: sha512-7xlpfBaQaP/T6Vh8MO/EqXSW5En6INHEvEXQiuff7Gku0PWjU3uf6w/j9o7O+SpB5fOAkrI5HeoNgwjEO0pFsA==} + engines: {node: '>=12'} + dependencies: + '@jridgewell/sourcemap-codec': 1.4.15 + dev: true + /make-dir@2.1.0: resolution: {integrity: sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==} engines: {node: '>=6'} @@ -4569,8 +4734,8 @@ packages: hasBin: true dev: true - /nanoid@3.3.6: - resolution: {integrity: sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==} + /nanoid@3.3.7: + resolution: {integrity: sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==} engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} hasBin: true dev: true @@ -5281,7 +5446,16 @@ packages: resolution: {integrity: sha512-cbI+jaqIeu/VGqXEarWkRCCffhjgXc0qjBtXpqJhTBohMUjUQnbBr0xqX3vEKudc4iviTewcJo5ajcec5+wdJw==} engines: {node: ^10 || ^12 || >=14} dependencies: - nanoid: 3.3.6 + nanoid: 3.3.7 + picocolors: 1.0.0 + source-map-js: 1.0.2 + dev: true + + /postcss@8.4.32: + resolution: {integrity: sha512-D/kj5JNu6oo2EIy+XL/26JEDTlIbB8hw85G8StOE6L74RQAVVP5rej6wxCNqyMbR4RkPfqvezVbPw81Ngd6Kcw==} + engines: {node: ^10 || ^12 || >=14} + dependencies: + nanoid: 3.3.7 picocolors: 1.0.0 source-map-js: 1.0.2 dev: true @@ -6377,14 +6551,14 @@ packages: dependencies: acorn: 8.10.0 estree-walker: 3.0.3 - magic-string: 0.30.3 + magic-string: 0.30.5 unplugin: 1.5.0 dev: true /unimport@2.2.4: resolution: {integrity: sha512-qMgmeEGqqrrmEtm0dqxMG37J6xBtrriqxq9hILvDb+e6l2F0yTnJomLoCCp0eghLR7bYGeBsUU5Y0oyiUYhViw==} dependencies: - '@rollup/pluginutils': 5.0.5 + '@rollup/pluginutils': 5.1.0 escape-string-regexp: 5.0.0 fast-glob: 3.3.1 local-pkg: 0.4.3 @@ -6402,11 +6576,11 @@ packages: /unimport@3.3.0: resolution: {integrity: sha512-3jhq3ZG5hFZzrWGDCpx83kjPzefP/EeuKkIO1T0MA4Zwj+dO/Og1mFvZ4aZ5WSDm0FVbbdVIRH1zKBG7c4wOpg==} dependencies: - '@rollup/pluginutils': 5.0.5 + '@rollup/pluginutils': 5.1.0 escape-string-regexp: 5.0.0 fast-glob: 3.3.1 local-pkg: 0.4.3 - magic-string: 0.30.3 + magic-string: 0.30.5 mlly: 1.4.2 pathe: 1.1.1 pkg-types: 1.0.3 @@ -6517,6 +6691,33 @@ packages: - supports-color dev: true + /unplugin-vue-router@0.7.0(vue-router@4.2.4)(vue@3.3.4): + resolution: {integrity: sha512-ddRreGq0t5vlSB7OMy4e4cfU1w2AwBQCwmvW3oP/0IHQiokzbx4hd3TpwBu3eIAFVuhX2cwNQwp1U32UybTVCw==} + peerDependencies: + vue-router: ^4.1.0 + peerDependenciesMeta: + vue-router: + optional: true + dependencies: + '@babel/types': 7.23.0 + '@rollup/pluginutils': 5.0.5 + '@vue-macros/common': 1.10.0(vue@3.3.4) + ast-walker-scope: 0.5.0 + chokidar: 3.5.3 + fast-glob: 3.3.1 + json5: 2.2.3 + local-pkg: 0.4.3 + mlly: 1.4.2 + pathe: 1.1.1 + scule: 1.0.0 + unplugin: 1.5.0 + vue-router: 4.2.4(vue@3.3.4) + yaml: 2.3.2 + transitivePeerDependencies: + - rollup + - vue + dev: true + /unplugin@1.4.0: resolution: {integrity: sha512-5x4eIEL6WgbzqGtF9UV8VEC/ehKptPXDS6L2b0mv4FRMkJxRtjaJfOWDd6a8+kYbqsjklix7yWP0N3SUepjXcg==} dependencies: @@ -6546,7 +6747,7 @@ packages: dependencies: '@babel/core': 7.22.17 '@babel/standalone': 7.22.17 - '@babel/types': 7.23.0 + '@babel/types': 7.23.6 defu: 6.1.2 jiti: 1.20.0 mri: 1.2.0 diff --git a/src/api/instance/api.ts b/src/api/instance/api.ts index e162ae7..fa9558a 100644 --- a/src/api/instance/api.ts +++ b/src/api/instance/api.ts @@ -9,6 +9,7 @@ import { env } from '@/config/env'; * @see src/api/instance/instance.ts */ export const api = new Service({ + timeout: 2000, baseURL: env.apiPrefix, }); @@ -17,12 +18,12 @@ export const api = new Service({ */ addToastInterceptor(api.instance); +/** + * 添加异常处理拦截器 + */ +addExceptionInterceptor(api.instance, () => api.expireHandler?.()); /** * 添加登陆令牌拦截器 */ addAuthInterceptor(api.instance); -/** - * 添加异常处理拦截器 - */ -addExceptionInterceptor(api.instance, () => api.expireHandler?.()); diff --git a/src/api/interceptors/auth.ts b/src/api/interceptors/auth.ts index c7aceb8..9af5bf4 100644 --- a/src/api/interceptors/auth.ts +++ b/src/api/interceptors/auth.ts @@ -11,6 +11,7 @@ export function addAuthInterceptor(axios: AxiosInstance) { if (userStore.accessToken) { config.headers.Authorization = `Bearer ${userStore.accessToken}`; } + // throw Error('dd'); return config; }); } diff --git a/src/api/interceptors/exception.ts b/src/api/interceptors/exception.ts index 00e7ddd..20e4e61 100644 --- a/src/api/interceptors/exception.ts +++ b/src/api/interceptors/exception.ts @@ -33,6 +33,7 @@ export function addExceptionInterceptor(axios: AxiosInstance, exipreHandler?: (. return res; }, error => { + console.log('res error', error); if (error.response) { const code = error.response.data?.code; if (expiredCodes.includes(code)) { diff --git a/src/api/interceptors/toast.ts b/src/api/interceptors/toast.ts index f50acb3..4df00da 100644 --- a/src/api/interceptors/toast.ts +++ b/src/api/interceptors/toast.ts @@ -22,7 +22,7 @@ export function addToastInterceptor(axios: AxiosInstance) { return config; }, error => { - error.config.closeToast?.(); + error.config?.closeToast?.(); return Promise.reject(error); } ); @@ -37,7 +37,7 @@ export function addToastInterceptor(axios: AxiosInstance) { return response; }, error => { - error.config.closeToast?.(); + error.config?.closeToast?.(); return Promise.reject(error); } ); diff --git a/src/components/AnForbidden/AnForbidden.vue b/src/components/AnForbidden/AnForbidden.vue index 7854858..8ec1227 100644 --- a/src/components/AnForbidden/AnForbidden.vue +++ b/src/components/AnForbidden/AnForbidden.vue @@ -5,8 +5,8 @@ forbiden
-

403

-

权限不足,如需访问请联系管理员!

+

403

+

权限不足,如需访问请联系管理员!

预览 - +