From 41a72dfb28838b395efa680691c2c76bcca6fbac Mon Sep 17 00:00:00 2001 From: zyronon Date: Sun, 17 Aug 2025 02:42:41 +0800 Subject: [PATCH] fix:remove localforage --- package.json | 9 +- pnpm-lock.yaml | 264 ++-------------------------------------- src/App.vue | 7 +- src/pages/test/test.vue | 6 +- src/stores/base.ts | 12 +- tsconfig.json | 1 - vite.config.ts | 2 - 7 files changed, 27 insertions(+), 274 deletions(-) diff --git a/package.json b/package.json index 22a7837a..f1a55ce8 100644 --- a/package.json +++ b/package.json @@ -23,25 +23,20 @@ "compromise": "^14.14.4", "copy-to-clipboard": "^3.3.3", "dayjs": "^1.11.13", - "element-plus": "^2.10.3", "file-saver": "^2.0.5", - "git-last-commit": "^1.0.1", + "idb-keyval": "^6.2.2", "libarchive-wasm": "^1.2.0", - "localforage": "^1.10.0", "mitt": "^3.0.1", "nanoid": "^5.1.5", "pinia": "^3.0.3", "sentence-splitter": "^4.4.1", "string-comparison": "^1.3.0", - "tesseract.js": "^4.1.4", - "unplugin-element-plus": "^0.10.0", "vue": "^3.5.17", "vue-router": "^4.5.1", "vue-virtual-scroller": "2.0.0-beta.8" }, "devDependencies": { "@alicloud/pop-core": "^1.8.0", - "ali-oss": "^6.23.0", "@iconify/vue": "^4.3.0", "@types/file-saver": "^2.0.7", "@types/lodash-es": "^4.17.12", @@ -49,9 +44,11 @@ "@vitejs/plugin-vue": "^6.0.0", "@vitejs/plugin-vue-jsx": "^5.0.1", "@vue/compiler-sfc": "^3.5.17", + "ali-oss": "^6.23.0", "commitizen": "^4.3.1", "cz-conventional-changelog": "^3.3.0", "esm": "^3.2.25", + "git-last-commit": "^1.0.1", "gulp": "^4.0.2", "husky": "^8.0.3", "rollup-plugin-visualizer": "^5.14.0", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index f0628359..81bf594e 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -29,21 +29,15 @@ importers: dayjs: specifier: ^1.11.13 version: 1.11.13 - element-plus: - specifier: ^2.10.3 - version: 2.10.7(vue@3.5.18(typescript@5.9.2)) file-saver: specifier: ^2.0.5 version: 2.0.5 - git-last-commit: - specifier: ^1.0.1 - version: 1.0.1 + idb-keyval: + specifier: ^6.2.2 + version: 6.2.2 libarchive-wasm: specifier: ^1.2.0 version: 1.2.0 - localforage: - specifier: ^1.10.0 - version: 1.10.0 mitt: specifier: ^3.0.1 version: 3.0.1 @@ -59,12 +53,6 @@ importers: string-comparison: specifier: ^1.3.0 version: 1.3.0 - tesseract.js: - specifier: ^4.1.4 - version: 4.1.4 - unplugin-element-plus: - specifier: ^0.10.0 - version: 0.10.0 vue: specifier: ^3.5.17 version: 3.5.18(typescript@5.9.2) @@ -111,6 +99,9 @@ importers: esm: specifier: ^3.2.25 version: 3.2.25 + git-last-commit: + specifier: ^1.0.1 + version: 1.0.1 gulp: specifier: ^4.0.2 version: 4.0.2 @@ -301,15 +292,6 @@ packages: resolution: {integrity: sha512-/yCrWGCoA1SVKOks25EGadP9Pnj0oAIHGpl2wH2M2Y46dPM2ueb8wyCVOD7O3WCTkaJ0IkKvzhl1JY7+uCT2Dw==} engines: {node: '>=v18'} - '@ctrl/tinycolor@3.6.1': - resolution: {integrity: sha512-SITSV6aIXsuVNV3f3O0f2n/cgyEDWoSqtZMYiAmcsYHydcKrOz3gUxB/iXd/Qf08+IZX4KpgNbvUdMBmWz+kcA==} - engines: {node: '>=10'} - - '@element-plus/icons-vue@2.3.2': - resolution: {integrity: sha512-OzIuTaIfC8QXEPmJvB4Y4kw34rSXdCJzxcD1kFStBvr8bK6X1zQAYDo0CNMjojnfTqRQCJ0I7prlErcoRiET2A==} - peerDependencies: - vue: ^3.2.0 - '@emnapi/core@1.4.5': resolution: {integrity: sha512-XsLw1dEOpkSX/WucdqUhPWP7hDxSvZiY+fsUC14h+FtQ2Ifni4znbBt8punRX+Uj2JG/uDb8nEHVKvrVlvdZ5Q==} @@ -475,15 +457,6 @@ packages: cpu: [x64] os: [win32] - '@floating-ui/core@1.7.3': - resolution: {integrity: sha512-sGnvb5dmrJaKEZ+LDIpguvdX3bDlEllmv4/ClQ9awcmCZrlx5jQyyMWFM5kBI+EyNOCDDiKk8il0zeuX3Zlg/w==} - - '@floating-ui/dom@1.7.3': - resolution: {integrity: sha512-uZA413QEpNuhtb3/iIKoYMSK07keHPYeXF02Zhd6e213j+d1NamLix/mCLxBUDW/Gx52sPH2m+chlUsyaBs/Ag==} - - '@floating-ui/utils@0.2.10': - resolution: {integrity: sha512-aGTxbpbg8/b5JfU1HXSrbH3wXZuLPJcNEcZQFMxLs3oSzgtVu6nFPkbbGGUvBcUjKV2YyB9Wxxabo+HEH9tcRQ==} - '@iconify/types@2.0.0': resolution: {integrity: sha512-+wluvCrRhXrhyOmRDJ3q8mux9JkKy5SJ/v8ol2tu4FVjyYvtEzkc/3pK15ET6RKg4b4w4BmTk1+gsCUhf21Ykg==} @@ -805,9 +778,6 @@ packages: cpu: [x64] os: [win32] - '@sxzz/popperjs-es@2.11.7': - resolution: {integrity: sha512-Ccy0NlLkzr0Ex2FKvh2X+OyERHXJ88XJ1MXtsI9y9fGexlaXaVTPzBCRBwIxFkORuOb+uBqeu+RqnpgYTEZRUQ==} - '@textlint/ast-node-types@13.4.1': resolution: {integrity: sha512-qrZyhCh8Ekk6nwArx3BROybm9BnX6vF7VcZbijetV/OM3yfS4rTYhoMWISmhVEP2H2re0CtWEyMl/XF+WdvVLQ==} @@ -1356,9 +1326,6 @@ packages: resolution: {integrity: sha512-VPXfB4Vk49z1LHHodrEQ6Xf7W4gg1w0dAPROHngx7qgDjqmIQ+fXmwgGXTW/ITLai0YLSvWepJOP9EVpMnEAcw==} engines: {node: '>= 0.10'} - async-validator@4.2.5: - resolution: {integrity: sha512-7HhHjtERjqlNbZtqNqy2rckN/SpOOlmDliet+lP7k+eKZEjPk3DgyeU9lIXLdeLz0uBbbVp+9Qdow9wJWgwwfg==} - asynckit@0.4.0: resolution: {integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==} @@ -1412,9 +1379,6 @@ packages: bl@4.1.0: resolution: {integrity: sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==} - bmp-js@0.1.0: - resolution: {integrity: sha512-vHdS19CnY3hwiNdkaqk93DvjVLfbEcI8mys4UjuWrlX1haDmroo8o4xCzh4wD6DGV6HxRCyauwhHRqMTfERtjw==} - boundary@2.0.0: resolution: {integrity: sha512-rJKn5ooC9u8q13IMCrW0RSp31pxBCHE3y9V/tp3TdWSLf8Em3p6Di4NBpfzbJge9YjjFEsD0RtFEjtvHL5VyEA==} @@ -1845,11 +1809,6 @@ packages: electron-to-chromium@1.5.202: resolution: {integrity: sha512-NxbYjRmiHcHXV1Ws3fWUW+SLb62isauajk45LUJ/HgIOkUA7jLZu/X2Iif+X9FBNK8QkF9Zb4Q2mcwXCcY30mg==} - element-plus@2.10.7: - resolution: {integrity: sha512-bL4yhepL8/0NEQA5+N2Q6ZVKLipIDkiQjK2mqtSmGh6CxJk1yaBMdG5HXfYkbk1htNcT3ULk9g23lzT323JGcA==} - peerDependencies: - vue: ^3.2.0 - emoji-regex@8.0.0: resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} @@ -1882,9 +1841,6 @@ packages: es-module-lexer@0.4.1: resolution: {integrity: sha512-ooYciCUtfw6/d2w56UVeqHPcoCFAiJdz5XOkYpv/Txl1HMUozpXjz/2RIQgqwKdXNDPSF1W7mJCFse3G+HDyAA==} - es-module-lexer@1.7.0: - resolution: {integrity: sha512-jEQoCwk8hyb2AZziIOLhDqpm5+2ww5uIE6lkO/6jcOCusfk6LhMHpXXfBLXTZ7Ydyt0j4VoUQv6uGNYbdW+kBA==} - es-object-atoms@1.1.1: resolution: {integrity: sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==} engines: {node: '>= 0.4'} @@ -2289,9 +2245,6 @@ packages: ieee754@1.2.1: resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==} - immediate@3.0.6: - resolution: {integrity: sha512-XXOFtyqDjNDAQxVfYxuF7g9Il/IbWmmlQg2MYKOH8ExIT1qg6xc4zyS3HaEEATgs1btfzxq15ciUiY7gjSXRGQ==} - immutable@5.1.3: resolution: {integrity: sha512-+chQdDfvscSF1SJqv2gn4SRO2ZyS3xL3r7IW/wWEEzrzLisnOlKiQu5ytC/BVNcS15C39WT2Hg/bjKjDMcu+zg==} @@ -2374,9 +2327,6 @@ packages: engines: {node: '>=8'} hasBin: true - is-electron@2.2.2: - resolution: {integrity: sha512-FO/Rhvz5tuw4MCWkpMzHFKWD2LsfHzIb7i6MdPYZ/KW7AlxawyLkqdy+jPZP1WubqEADE3O4FUENlJHDfQASRg==} - is-extendable@0.1.1: resolution: {integrity: sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==} engines: {node: '>=0.10.0'} @@ -2451,9 +2401,6 @@ packages: resolution: {integrity: sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==} engines: {node: '>=10'} - is-url@1.2.4: - resolution: {integrity: sha512-ITvGim8FhRiYe4IQ5uHSkj7pVaPDrCTkNd3yq3cV7iZAcJdHTUMPMEHcqSOy9xZ9qFenQCvi+2wjH9a1nXqHww==} - is-utf8@0.2.1: resolution: {integrity: sha512-rMYPYvCzsXywIsldgLaSoPlw5PfoB/ssr7hY4pLfcodrA5M/eArza1a9VmTiNIBNMjOGr1Ow9mTyU2o69U6U9Q==} @@ -2576,9 +2523,6 @@ packages: libarchive-wasm@1.2.0: resolution: {integrity: sha512-aunFn8oL9VwGRj+brRvdOv8BRUD4Ea1WxJW45IdiuXE2Vp/m/X+M1UxSU+yPzXfc1mPPC8AARaflg/CtF11u8g==} - lie@3.1.1: - resolution: {integrity: sha512-RiNhHysUjhrDQntfYSfY4MU24coXXdEOgw9WGcKHNeEwffDYbF//u87M1EWaMGzuFoSbqW0C9C6lEEhDOAswfw==} - liftoff@3.1.0: resolution: {integrity: sha512-DlIPlJUkCV0Ips2zf2pJP0unEoT1kwYhiiPUGF3s/jtxTCjziNLoiVVh+jqWOWeFi6mmwQ5fNxvAUyPad4Dfog==} engines: {node: '>= 0.8'} @@ -2594,19 +2538,6 @@ packages: resolution: {integrity: sha512-WunYko2W1NcdfAFpuLUoucsgULmgDBRkdxHxWQ7mK0cQqwPiy8E1enjuRBrhLtZkB5iScJ1XIPdhVEFK8aOLSg==} engines: {node: '>=14'} - localforage@1.10.0: - resolution: {integrity: sha512-14/H1aX7hzBBmmh7sGPd+AOMkkIrHM3Z1PAyGgZigA1H1p5O5ANnMyWzvpAETtG68/dC4pC0ncy3+PPGzXZHPg==} - - lodash-es@4.17.21: - resolution: {integrity: sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==} - - lodash-unified@1.0.3: - resolution: {integrity: sha512-WK9qSozxXOD7ZJQlpSqOT+om2ZfcT4yO+03FuzAHD0wF6S0l0090LRPDx3vhTTLZ8cFKpBn+IOcVXK6qOcIlfQ==} - peerDependencies: - '@types/lodash-es': '*' - lodash: '*' - lodash-es: '*' - lodash.isplainobject@4.0.6: resolution: {integrity: sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==} @@ -2675,9 +2606,6 @@ packages: mdn-data@2.12.2: resolution: {integrity: sha512-IEn+pegP1aManZuckezWCO+XZQDplx1366JoVhTpMpBB1sPey/SbveZQUosKiKiGYjg1wH4pMlNgXbCiYgihQA==} - memoize-one@6.0.0: - resolution: {integrity: sha512-rkpe71W0N0c0Xz6QD0eJETuWAJGnJ9afsl1srmwPrI+yBCkge5EycXXbYRyvL29zZVUWQCY7InPRCv3GDXuZNw==} - merge-descriptors@1.0.3: resolution: {integrity: sha512-gaNvAS7TZ897/rVaZ0nMtAyxNyi/pdbjbAwUpFQpN70GqnVfOiXpeUUMKRBmzXaSQ8DdTX4/0ms62r2K+hE6mQ==} @@ -2788,15 +2716,6 @@ packages: node-fetch-native@1.6.7: resolution: {integrity: sha512-g9yhqoedzIUm0nTnTqAQvueMPVOuIY16bqgAJJC8XOOubYFNwz6IER9qs0Gq2Xd0+CecCKFjtdDTMA4u4xG06Q==} - node-fetch@2.7.0: - resolution: {integrity: sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==} - engines: {node: 4.x || >=6.0.0} - peerDependencies: - encoding: ^0.1.0 - peerDependenciesMeta: - encoding: - optional: true - node-hex@1.0.1: resolution: {integrity: sha512-iwpZdvW6Umz12ICmu9IYPRxg0tOLGmU3Tq2tKetejCj3oZd7b2nUXwP3a7QA5M9glWy8wlPS1G3RwM/CdsUbdQ==} engines: {node: '>=8.0.0'} @@ -2815,9 +2734,6 @@ packages: resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} engines: {node: '>=0.10.0'} - normalize-wheel-es@1.2.0: - resolution: {integrity: sha512-Wj7+EJQ8mSuXr2iWfnujrimU35R2W4FAErEyTmJoJ7ucwTn2hOUSsRehMb5RSYkxXGTM7Y9QpvPmp++w5ftoJw==} - now-and-later@2.0.1: resolution: {integrity: sha512-KGvQ0cB70AQfg107Xvs/Fbu+dGmZoTRJp2TaPwcwQm3/7PteUyN2BCgk8KBMPGBUXZdVwyWS8fDCGFygBm19UQ==} engines: {node: '>= 0.10'} @@ -2880,10 +2796,6 @@ packages: resolution: {integrity: sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==} engines: {node: '>=12'} - opencollective-postinstall@2.0.3: - resolution: {integrity: sha512-8AV/sCtuzUeTo8gQK5qDZzARrulB3egtLzFgteqB2tcT4Mw7B8Kt7JcDHmltjz6FOAHsvTevk70gZEbhM4ZS9Q==} - hasBin: true - ora@5.4.1: resolution: {integrity: sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ==} engines: {node: '>=10'} @@ -3087,9 +2999,6 @@ packages: resolution: {integrity: sha512-HFM8rkZ+i3zrV+4LQjwQ0W+ez98pApMGM3HUrN04j3CqzPOzl9nmP15Y8YXNm8QHGv/eacOVEjqhmWpkRV0NAw==} engines: {node: '>= 0.10'} - regenerator-runtime@0.13.11: - resolution: {integrity: sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==} - regex-not@1.0.2: resolution: {integrity: sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==} engines: {node: '>=0.10.0'} @@ -3421,12 +3330,6 @@ packages: sver-compat@1.5.0: resolution: {integrity: sha512-aFTHfmjwizMNlNE6dsGmoAM4lHjL0CyiobWaFiXWSlD7cIxshW422Nb8KbXCmR6z+0ZEPY+daXJrDyh/vuwTyg==} - tesseract.js-core@4.0.4: - resolution: {integrity: sha512-MJ+vtktjAaT0681uPl6TDUPhbRbpD/S9emko5rtorgHRZpQo7R3BG7h+3pVHgn1KjfNf1bvnx4B7KxEK8YKqpg==} - - tesseract.js@4.1.4: - resolution: {integrity: sha512-iLjJjLWVNV4PApofEsd54Y1MbjhzpPxEzF8EjYmC2CLN4hrUqO5aTNTSbGA7/QjycKtAWHhn2YmDR+6GFwi2Zg==} - thenify-all@1.6.0: resolution: {integrity: sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==} engines: {node: '>=0.8'} @@ -3492,9 +3395,6 @@ packages: resolution: {integrity: sha512-sf4i37nQ2LBx4m3wB74y+ubopq6W/dIzXg0FDGjsYnZHVa1Da8FH853wlL2gtUhg+xJXjfk3kUZS3BRoQeoQBQ==} engines: {node: '>=6'} - tr46@0.0.3: - resolution: {integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==} - trigram-utils@1.0.3: resolution: {integrity: sha512-UAhS1Ll21FtClVIzIN0I/SmGnJ+D08BOxX7Dl1penV8raC0ksf2dJkhNI6kU1Mj3uT86Bul12iMvxXquXSYSng==} @@ -3601,10 +3501,6 @@ packages: webpack: optional: true - unplugin-element-plus@0.10.0: - resolution: {integrity: sha512-oRSW0x6U58xBOWKy8TcoVZNA8ElIpfp3TUJRLQI6ey/E9PpjHl9/deeTAZNt8D57Li4OA4pCJtM6p2cb4Ff4ZA==} - engines: {node: '>=18.12.0'} - unplugin-utils@0.2.5: resolution: {integrity: sha512-gwXJnPRewT4rT7sBi/IvxKTjsms7jX7QIDLOClApuZwR49SXbrB1z2NLUZ+vDHyqCj/n58OzRRqaW+B8OZi8vg==} engines: {node: '>=18.12.0'} @@ -3623,10 +3519,6 @@ packages: resolution: {integrity: sha512-4/u/j4FrCKdi17jaxuJA0jClGxB1AvU2hw/IuayPc4ay1XGaJs/rbb4v5WKwAjNifjmXK9PIFyuPiaK8azyR9w==} engines: {node: '>=14.0.0'} - unplugin@2.3.5: - resolution: {integrity: sha512-RyWSb5AHmGtjjNQ6gIlA67sHOsWpsbWpwDokLwTcejVdOjEkJZh7QKu14J00gDDVSh8kGH4KYC/TNBceXFZhtw==} - engines: {node: '>=18.12.0'} - unset-value@1.0.0: resolution: {integrity: sha512-PcA2tsuGSF9cnySLHTLSh2qrQiJ70mn+r+Glzxv2TWZblxsxCC52BDlZoPCsz7STd9pN7EZetkWZBAvk4cgZdQ==} engines: {node: '>=0.10.0'} @@ -3788,21 +3680,12 @@ packages: typescript: optional: true - wasm-feature-detect@1.8.0: - resolution: {integrity: sha512-zksaLKM2fVlnB5jQQDqKXXwYHLQUVH9es+5TOOHwGOVJOCeRBCiPjwSg+3tN2AdTCzjgli4jijCH290kXb/zWQ==} - wcwidth@1.0.1: resolution: {integrity: sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==} - webidl-conversions@3.0.1: - resolution: {integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==} - webpack-virtual-modules@0.6.2: resolution: {integrity: sha512-66/V2i5hQanC51vBQKPH4aI8NMAcBW59FVBs+rC7eGHupMyfn34q7rZIE+ETlJ+XTevqfUhVVBgSUNSW2flEUQ==} - whatwg-url@5.0.0: - resolution: {integrity: sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==} - which-module@1.0.0: resolution: {integrity: sha512-F6+WgncZi/mJDrammbTuHe1q0R5hOXv/mBaiNA2TCNT/LTHusX0V+CJnj9XT8ki5ln2UZyyddDgHfCzyrOH7MQ==} @@ -3882,9 +3765,6 @@ packages: yargs@7.1.2: resolution: {integrity: sha512-ZEjj/dQYQy0Zx0lgLMLR8QuaqTihnxirir7EwUHp1Axq4e3+k8jXU5K0VLbNvedv1f4EWtBonDIZm0NUr+jCcA==} - zlibjs@0.3.1: - resolution: {integrity: sha512-+J9RrgTKOmlxFSDHo0pI1xM6BLVUv+o0ZT9ANtCxGkjIVCCUdx9alUF8Gm+dGLKbkkkidWIHFDZHDMpfITt4+w==} - snapshots: '@alicloud/pop-core@1.8.0': @@ -4118,12 +3998,6 @@ snapshots: chalk: 5.5.0 optional: true - '@ctrl/tinycolor@3.6.1': {} - - '@element-plus/icons-vue@2.3.2(vue@3.5.18(typescript@5.9.2))': - dependencies: - vue: 3.5.18(typescript@5.9.2) - '@emnapi/core@1.4.5': dependencies: '@emnapi/wasi-threads': 1.0.4 @@ -4218,17 +4092,6 @@ snapshots: '@esbuild/win32-x64@0.25.9': optional: true - '@floating-ui/core@1.7.3': - dependencies: - '@floating-ui/utils': 0.2.10 - - '@floating-ui/dom@1.7.3': - dependencies: - '@floating-ui/core': 1.7.3 - '@floating-ui/utils': 0.2.10 - - '@floating-ui/utils@0.2.10': {} - '@iconify/types@2.0.0': {} '@iconify/utils@3.0.1': @@ -4470,8 +4333,6 @@ snapshots: '@rollup/rollup-win32-x64-msvc@4.46.2': optional: true - '@sxzz/popperjs-es@2.11.7': {} - '@textlint/ast-node-types@13.4.1': {} '@tybys/wasm-util@0.10.0': @@ -4507,7 +4368,8 @@ snapshots: '@types/qs@6.14.0': {} - '@types/web-bluetooth@0.0.16': {} + '@types/web-bluetooth@0.0.16': + optional: true '@unocss/astro@66.4.2(vite@7.1.2(@types/node@24.3.0)(jiti@2.5.1)(sass@1.90.0))': dependencies: @@ -5068,8 +4930,10 @@ snapshots: transitivePeerDependencies: - '@vue/composition-api' - vue + optional: true - '@vueuse/metadata@9.13.0': {} + '@vueuse/metadata@9.13.0': + optional: true '@vueuse/shared@9.13.0(vue@3.5.18(typescript@5.9.2))': dependencies: @@ -5077,6 +4941,7 @@ snapshots: transitivePeerDependencies: - '@vue/composition-api' - vue + optional: true acorn@8.15.0: {} @@ -5240,8 +5105,6 @@ snapshots: dependencies: async-done: 1.3.2 - async-validator@4.2.5: {} - asynckit@0.4.0: {} at-least-node@1.0.0: {} @@ -5307,8 +5170,6 @@ snapshots: inherits: 2.0.4 readable-stream: 3.6.2 - bmp-js@0.1.0: {} - boundary@2.0.0: {} bowser@1.9.4: {} @@ -5760,27 +5621,6 @@ snapshots: electron-to-chromium@1.5.202: {} - element-plus@2.10.7(vue@3.5.18(typescript@5.9.2)): - dependencies: - '@ctrl/tinycolor': 3.6.1 - '@element-plus/icons-vue': 2.3.2(vue@3.5.18(typescript@5.9.2)) - '@floating-ui/dom': 1.7.3 - '@popperjs/core': '@sxzz/popperjs-es@2.11.7' - '@types/lodash': 4.17.20 - '@types/lodash-es': 4.17.12 - '@vueuse/core': 9.13.0(vue@3.5.18(typescript@5.9.2)) - 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.3(@types/lodash-es@4.17.12)(lodash-es@4.17.21)(lodash@4.17.21) - memoize-one: 6.0.0 - normalize-wheel-es: 1.2.0 - vue: 3.5.18(typescript@5.9.2) - transitivePeerDependencies: - - '@vue/composition-api' - emoji-regex@8.0.0: {} end-of-stream@1.4.5: @@ -5804,8 +5644,6 @@ snapshots: es-module-lexer@0.4.1: {} - es-module-lexer@1.7.0: {} - es-object-atoms@1.1.1: dependencies: es-errors: 1.3.0 @@ -6326,8 +6164,6 @@ snapshots: ieee754@1.2.1: {} - immediate@3.0.6: {} - immutable@5.1.3: {} import-fresh@3.3.1: @@ -6416,8 +6252,6 @@ snapshots: is-docker@2.2.1: {} - is-electron@2.2.2: {} - is-extendable@0.1.1: {} is-extendable@1.0.1: @@ -6478,8 +6312,6 @@ snapshots: is-unicode-supported@0.1.0: {} - is-url@1.2.4: {} - is-utf8@0.2.1: {} is-valid-glob@1.0.0: {} @@ -6576,10 +6408,6 @@ snapshots: libarchive-wasm@1.2.0: {} - lie@3.1.1: - dependencies: - immediate: 3.0.6 - liftoff@3.1.0: dependencies: extend: 3.0.2 @@ -6610,18 +6438,6 @@ snapshots: pkg-types: 2.2.0 quansync: 0.2.10 - localforage@1.10.0: - dependencies: - lie: 3.1.1 - - lodash-es@4.17.21: {} - - lodash-unified@1.0.3(@types/lodash-es@4.17.12)(lodash-es@4.17.21)(lodash@4.17.21): - dependencies: - '@types/lodash-es': 4.17.12 - lodash: 4.17.21 - lodash-es: 4.17.21 - lodash.isplainobject@4.0.6: optional: true @@ -6692,8 +6508,6 @@ snapshots: mdn-data@2.12.2: {} - memoize-one@6.0.0: {} - merge-descriptors@1.0.3: {} merge@2.1.1: {} @@ -6811,10 +6625,6 @@ snapshots: node-fetch-native@1.6.7: {} - node-fetch@2.7.0: - dependencies: - whatwg-url: 5.0.0 - node-hex@1.0.1: {} node-releases@2.0.19: {} @@ -6832,8 +6642,6 @@ snapshots: normalize-path@3.0.0: {} - normalize-wheel-es@1.2.0: {} - now-and-later@2.0.1: dependencies: once: 1.4.0 @@ -6906,8 +6714,6 @@ snapshots: is-docker: 2.2.1 is-wsl: 2.2.0 - opencollective-postinstall@2.0.3: {} - ora@5.4.1: dependencies: bl: 4.1.0 @@ -7132,8 +6938,6 @@ snapshots: dependencies: resolve: 1.22.10 - regenerator-runtime@0.13.11: {} - regex-not@1.0.2: dependencies: extend-shallow: 3.0.2 @@ -7496,23 +7300,6 @@ snapshots: es6-iterator: 2.0.3 es6-symbol: 3.1.4 - tesseract.js-core@4.0.4: {} - - tesseract.js@4.1.4: - dependencies: - bmp-js: 0.1.0 - idb-keyval: 6.2.2 - is-electron: 2.2.2 - is-url: 1.2.4 - node-fetch: 2.7.0 - opencollective-postinstall: 2.0.3 - regenerator-runtime: 0.13.11 - tesseract.js-core: 4.0.4 - wasm-feature-detect: 1.8.0 - zlibjs: 0.3.1 - transitivePeerDependencies: - - encoding - thenify-all@1.6.0: dependencies: thenify: 3.3.1 @@ -7581,8 +7368,6 @@ snapshots: totalist@3.0.1: {} - tr46@0.0.3: {} - trigram-utils@1.0.3: dependencies: collapse-white-space: 1.0.6 @@ -7688,13 +7473,6 @@ snapshots: unplugin: 1.16.1 vite: 7.1.2(@types/node@24.3.0)(jiti@2.5.1)(sass@1.90.0) - unplugin-element-plus@0.10.0: - dependencies: - es-module-lexer: 1.7.0 - magic-string: 0.30.17 - unplugin: 2.3.5 - unplugin-utils: 0.2.5 - unplugin-utils@0.2.5: dependencies: pathe: 2.0.3 @@ -7759,12 +7537,6 @@ snapshots: acorn: 8.15.0 webpack-virtual-modules: 0.6.2 - unplugin@2.3.5: - dependencies: - acorn: 8.15.0 - picomatch: 4.0.3 - webpack-virtual-modules: 0.6.2 - unset-value@1.0.0: dependencies: has-value: 0.3.1 @@ -7892,6 +7664,7 @@ snapshots: vue-demi@0.14.10(vue@3.5.18(typescript@5.9.2)): dependencies: vue: 3.5.18(typescript@5.9.2) + optional: true vue-flow-layout@0.2.0: {} @@ -7931,21 +7704,12 @@ snapshots: optionalDependencies: typescript: 5.9.2 - wasm-feature-detect@1.8.0: {} - wcwidth@1.0.1: dependencies: defaults: 1.0.4 - webidl-conversions@3.0.1: {} - webpack-virtual-modules@0.6.2: {} - whatwg-url@5.0.0: - dependencies: - tr46: 0.0.3 - webidl-conversions: 3.0.1 - which-module@1.0.0: {} which@1.3.1: @@ -8037,5 +7801,3 @@ snapshots: which-module: 1.0.0 y18n: 3.2.2 yargs-parser: 5.0.1 - - zlibjs@0.3.1: {} diff --git a/src/App.vue b/src/App.vue index 9865e1b1..0bdb4a00 100644 --- a/src/App.vue +++ b/src/App.vue @@ -4,14 +4,13 @@ import {BaseState, useBaseStore} from "@/stores/base.ts"; import {useRuntimeStore} from "@/stores/runtime.ts"; import {useSettingStore} from "@/stores/setting.ts"; import useTheme from "@/hooks/theme.ts"; -import * as localforage from "localforage"; import CollectNotice from "@/pages/pc/components/CollectNotice.vue"; import {SAVE_DICT_KEY, SAVE_SETTING_KEY} from "@/utils/const.ts"; import {isMobile, shakeCommonDict} from "@/utils"; import router, {routes} from "@/router.ts"; +import {set} from 'idb-keyval' import {useRoute} from "vue-router"; -import ConflictNotice from "@/pages/pc/components/ConflictNotice.vue"; const store = useBaseStore() const runtimeStore = useRuntimeStore() @@ -19,11 +18,11 @@ const settingStore = useSettingStore() const {setTheme} = useTheme() watch(store.$state, (n: BaseState) => { - localforage.setItem(SAVE_DICT_KEY.key, JSON.stringify({val: shakeCommonDict(n), version: SAVE_DICT_KEY.version})) + set(SAVE_DICT_KEY.key, JSON.stringify({val: shakeCommonDict(n), version: SAVE_DICT_KEY.version})) }) watch(settingStore.$state, (n) => { - localStorage.setItem(SAVE_SETTING_KEY.key, JSON.stringify({val: n, version: SAVE_SETTING_KEY.version})) + set(SAVE_SETTING_KEY.key, JSON.stringify({val: n, version: SAVE_SETTING_KEY.version})) }) async function init() { diff --git a/src/pages/test/test.vue b/src/pages/test/test.vue index 82f594fd..e42b4fee 100644 --- a/src/pages/test/test.vue +++ b/src/pages/test/test.vue @@ -2,22 +2,22 @@ // import origin from './data.json' import BaseButton from "@/components/BaseButton.vue"; import {checkAndUpgradeSaveDict} from "@/utils"; -import localforage from "localforage"; import {SAVE_DICT_KEY} from "@/utils/const.ts"; import str from './data.json' +import {get} from 'idb-keyval' let data = {} let origin = {} async function look() { - let configStr: string = await localforage.getItem(SAVE_DICT_KEY.key) + let configStr: string = await get(SAVE_DICT_KEY.key) let obj = JSON.parse(configStr) console.log('local', obj) } -function set() { +function set1() { // localforage.setItem(SAVE_DICT_KEY.key, JSON.stringify({val: shakeCommonDict(origin.val as any), version: 3})) } diff --git a/src/stores/base.ts b/src/stores/base.ts index 5e449c9d..331cfb01 100644 --- a/src/stores/base.ts +++ b/src/stores/base.ts @@ -1,12 +1,10 @@ import {defineStore} from 'pinia' import {Dict, DictId, Word} from "../types/types.ts" -import {cloneDeep} from "@/utils"; -import * as localforage from "localforage"; -import {nanoid} from "nanoid"; +import {_getStudyProgress, checkAndUpgradeSaveDict} from "@/utils"; import {SAVE_DICT_KEY} from "@/utils/const.ts"; -import {_getStudyProgress, checkAndUpgradeSaveDict, getDictFile} from "@/utils"; -import {markRaw, shallowReactive} from "vue"; +import {shallowReactive} from "vue"; import {getDefaultDict} from "@/types/func.ts"; +import {get, set} from 'idb-keyval' export interface BaseState { simpleWords: string[], @@ -130,11 +128,11 @@ export const useBaseStore = defineStore('base', { if (outData) { this.setState(outData) } else { - let configStr: string = await localforage.getItem(SAVE_DICT_KEY.key) + let configStr: string = await get(SAVE_DICT_KEY.key) let data = checkAndUpgradeSaveDict(configStr) this.setState(data) } - localforage.setItem(SAVE_DICT_KEY.key, JSON.stringify({val: this.$state, version: SAVE_DICT_KEY.version})) + set(SAVE_DICT_KEY.key, JSON.stringify({val: this.$state, version: SAVE_DICT_KEY.version})) } catch (e) { console.error('读取本地dict数据失败', e) } diff --git a/tsconfig.json b/tsconfig.json index f27711dd..2b824183 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -28,7 +28,6 @@ ], "types": [ "vite/client", - "element-plus/global", "unplugin-vue-macros/macros-global", ], "baseUrl": "src", diff --git a/vite.config.ts b/vite.config.ts index 483903cd..3bbfebc8 100644 --- a/vite.config.ts +++ b/vite.config.ts @@ -8,7 +8,6 @@ import {getLastCommit} from "git-last-commit"; import UnoCSS from 'unocss/vite' import VueMacros from 'unplugin-vue-macros/vite' import {Plugin as importToCDN} from 'vite-plugin-cdn-import' -import ElementPlus from 'unplugin-element-plus/vite' function pathResolve(dir: string) { return resolve(__dirname, ".", dir) @@ -31,7 +30,6 @@ export default defineConfig(() => { }, }), UnoCSS(), - ElementPlus(), lifecycle === 'report' ? visualizer({ gzipSize: true,