fix:remove localforage

This commit is contained in:
zyronon
2025-08-17 02:42:41 +08:00
parent 82b8ed8039
commit 41a72dfb28
7 changed files with 27 additions and 274 deletions

View File

@@ -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",

264
pnpm-lock.yaml generated
View File

@@ -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: {}

View File

@@ -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() {

View File

@@ -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}))
}

View File

@@ -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)
}

View File

@@ -28,7 +28,6 @@
],
"types": [
"vite/client",
"element-plus/global",
"unplugin-vue-macros/macros-global",
],
"baseUrl": "src",

View File

@@ -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,