save
This commit is contained in:
@@ -20,6 +20,7 @@
|
||||
"axios": "^1.5.0",
|
||||
"compromise": "^14.10.0",
|
||||
"copy-to-clipboard": "^3.3.3",
|
||||
"dayjs": "^1.11.11",
|
||||
"element-plus": "^2.3.9",
|
||||
"file-saver": "^2.0.5",
|
||||
"git-last-commit": "^1.0.1",
|
||||
@@ -70,6 +71,5 @@
|
||||
"commitizen": {
|
||||
"path": "./node_modules/cz-conventional-changelog"
|
||||
}
|
||||
},
|
||||
"packageManager": "pnpm@9.1.4+sha512.9df9cf27c91715646c7d675d1c9c8e41f6fce88246f1318c1aa6a1ed1aeb3c4f032fcdf4ba63cc69c4fe6d634279176b5358727d8f2cc1e65b65f43ce2f8bfb0"
|
||||
}
|
||||
}
|
||||
|
||||
341
pnpm-lock.yaml
generated
341
pnpm-lock.yaml
generated
@@ -23,9 +23,12 @@ importers:
|
||||
copy-to-clipboard:
|
||||
specifier: ^3.3.3
|
||||
version: 3.3.3
|
||||
dayjs:
|
||||
specifier: ^1.11.11
|
||||
version: 1.11.11
|
||||
element-plus:
|
||||
specifier: ^2.3.9
|
||||
version: 2.7.3(vue@3.4.27)
|
||||
version: 2.7.3(vue@3.4.27(typescript@5.4.5))
|
||||
file-saver:
|
||||
specifier: ^2.0.5
|
||||
version: 2.0.5
|
||||
@@ -52,7 +55,7 @@ importers:
|
||||
version: 5.0.7
|
||||
pinia:
|
||||
specifier: ^2.1.6
|
||||
version: 2.1.7(typescript@5.4.5)(vue@3.4.27)
|
||||
version: 2.1.7(typescript@5.4.5)(vue@3.4.27(typescript@5.4.5))
|
||||
sentence-splitter:
|
||||
specifier: ^4.2.1
|
||||
version: 4.4.1
|
||||
@@ -61,7 +64,7 @@ importers:
|
||||
version: 4.1.4
|
||||
vant:
|
||||
specifier: ^4.8.1
|
||||
version: 4.9.0(vue@3.4.27)
|
||||
version: 4.9.0(vue@3.4.27(typescript@5.4.5))
|
||||
vue:
|
||||
specifier: ^3.4.27
|
||||
version: 3.4.27(typescript@5.4.5)
|
||||
@@ -70,17 +73,17 @@ importers:
|
||||
version: 1.2.2
|
||||
vue-i18n:
|
||||
specifier: '9'
|
||||
version: 9.13.1(vue@3.4.27)
|
||||
version: 9.13.1(vue@3.4.27(typescript@5.4.5))
|
||||
vue-router:
|
||||
specifier: '4'
|
||||
version: 4.3.2(vue@3.4.27)
|
||||
version: 4.3.2(vue@3.4.27(typescript@5.4.5))
|
||||
vue-virtual-scroller:
|
||||
specifier: 2.0.0-beta.8
|
||||
version: 2.0.0-beta.8(vue@3.4.27)
|
||||
version: 2.0.0-beta.8(vue@3.4.27(typescript@5.4.5))
|
||||
devDependencies:
|
||||
'@iconify/vue':
|
||||
specifier: ^4.1.1
|
||||
version: 4.1.2(vue@3.4.27)
|
||||
version: 4.1.2(vue@3.4.27(typescript@5.4.5))
|
||||
'@types/file-saver':
|
||||
specifier: ^2.0.5
|
||||
version: 2.0.7
|
||||
@@ -92,13 +95,13 @@ importers:
|
||||
version: 0.60.3(postcss@8.4.38)
|
||||
'@vitejs/plugin-vue':
|
||||
specifier: ^4.2.3
|
||||
version: 4.6.2(vite@5.2.12)(vue@3.4.27)
|
||||
version: 4.6.2(vite@5.2.12(@types/node@20.12.13)(sass@1.77.4))(vue@3.4.27(typescript@5.4.5))
|
||||
'@vitejs/plugin-vue-jsx':
|
||||
specifier: ^3.0.1
|
||||
version: 3.1.0(vite@5.2.12)(vue@3.4.27)
|
||||
version: 3.1.0(vite@5.2.12(@types/node@20.12.13)(sass@1.77.4))(vue@3.4.27(typescript@5.4.5))
|
||||
'@vue-macros/reactivity-transform':
|
||||
specifier: ^0.4.5
|
||||
version: 0.4.6(vue@3.4.27)
|
||||
version: 0.4.6(rollup@4.18.0)(vue@3.4.27(typescript@5.4.5))
|
||||
'@vue/compiler-sfc':
|
||||
specifier: ^3.3.4
|
||||
version: 3.4.27
|
||||
@@ -119,7 +122,7 @@ importers:
|
||||
version: 8.0.3
|
||||
rollup-plugin-visualizer:
|
||||
specifier: ^5.9.2
|
||||
version: 5.12.0
|
||||
version: 5.12.0(rollup@4.18.0)
|
||||
sass:
|
||||
specifier: ^1.64.2
|
||||
version: 1.77.4
|
||||
@@ -131,19 +134,19 @@ importers:
|
||||
version: 5.4.5
|
||||
unocss:
|
||||
specifier: ^0.60.2
|
||||
version: 0.60.3(postcss@8.4.38)(vite@5.2.12)
|
||||
version: 0.60.3(postcss@8.4.38)(rollup@4.18.0)(vite@5.2.12(@types/node@20.12.13)(sass@1.77.4))
|
||||
unplugin-auto-import:
|
||||
specifier: ^0.16.6
|
||||
version: 0.16.7
|
||||
version: 0.16.7(@vueuse/core@9.13.0(vue@3.4.27(typescript@5.4.5)))(rollup@4.18.0)
|
||||
unplugin-vue-components:
|
||||
specifier: ^0.25.2
|
||||
version: 0.25.2(vue@3.4.27)
|
||||
version: 0.25.2(@babel/parser@7.24.6)(rollup@4.18.0)(vue@3.4.27(typescript@5.4.5))
|
||||
unplugin-vue-define-options:
|
||||
specifier: ^1.4.1
|
||||
version: 1.4.5(vue@3.4.27)
|
||||
version: 1.4.5(rollup@4.18.0)(vue@3.4.27(typescript@5.4.5))
|
||||
unplugin-vue-macros:
|
||||
specifier: ^2.9.3
|
||||
version: 2.9.3(typescript@5.4.5)(vite@5.2.12)(vue@3.4.27)
|
||||
version: 2.9.3(@vueuse/core@9.13.0(vue@3.4.27(typescript@5.4.5)))(esbuild@0.20.2)(rollup@4.18.0)(typescript@5.4.5)(vite@5.2.12(@types/node@20.12.13)(sass@1.77.4))(vue@3.4.27(typescript@5.4.5))
|
||||
vite:
|
||||
specifier: ^5.2.11
|
||||
version: 5.2.12(@types/node@20.12.13)(sass@1.77.4)
|
||||
@@ -3707,7 +3710,7 @@ snapshots:
|
||||
'@commitlint/types': 19.0.3
|
||||
chalk: 5.3.0
|
||||
cosmiconfig: 9.0.0(typescript@5.4.5)
|
||||
cosmiconfig-typescript-loader: 5.0.0(@types/node@20.12.13)(cosmiconfig@9.0.0)(typescript@5.4.5)
|
||||
cosmiconfig-typescript-loader: 5.0.0(@types/node@20.12.13)(cosmiconfig@9.0.0(typescript@5.4.5))(typescript@5.4.5)
|
||||
lodash.isplainobject: 4.0.6
|
||||
lodash.merge: 4.6.2
|
||||
lodash.uniq: 4.5.0
|
||||
@@ -3734,7 +3737,7 @@ snapshots:
|
||||
|
||||
'@ctrl/tinycolor@3.6.1': {}
|
||||
|
||||
'@element-plus/icons-vue@2.3.1(vue@3.4.27)':
|
||||
'@element-plus/icons-vue@2.3.1(vue@3.4.27(typescript@5.4.5))':
|
||||
dependencies:
|
||||
vue: 3.4.27(typescript@5.4.5)
|
||||
|
||||
@@ -3832,7 +3835,7 @@ snapshots:
|
||||
transitivePeerDependencies:
|
||||
- supports-color
|
||||
|
||||
'@iconify/vue@4.1.2(vue@3.4.27)':
|
||||
'@iconify/vue@4.1.2(vue@3.4.27(typescript@5.4.5))':
|
||||
dependencies:
|
||||
'@iconify/types': 2.0.0
|
||||
vue: 3.4.27(typescript@5.4.5)
|
||||
@@ -3900,11 +3903,13 @@ snapshots:
|
||||
|
||||
'@polka/url@1.0.0-next.25': {}
|
||||
|
||||
'@rollup/pluginutils@5.1.0':
|
||||
'@rollup/pluginutils@5.1.0(rollup@4.18.0)':
|
||||
dependencies:
|
||||
'@types/estree': 1.0.5
|
||||
estree-walker: 2.0.2
|
||||
picomatch: 2.3.1
|
||||
optionalDependencies:
|
||||
rollup: 4.18.0
|
||||
|
||||
'@rollup/rollup-android-arm-eabi@4.18.0':
|
||||
optional: true
|
||||
@@ -3978,24 +3983,26 @@ snapshots:
|
||||
'@types/node@20.12.13':
|
||||
dependencies:
|
||||
undici-types: 5.26.5
|
||||
optional: true
|
||||
|
||||
'@types/qs@6.9.15': {}
|
||||
|
||||
'@types/web-bluetooth@0.0.16': {}
|
||||
|
||||
'@unocss/astro@0.60.3(vite@5.2.12)':
|
||||
'@unocss/astro@0.60.3(rollup@4.18.0)(vite@5.2.12(@types/node@20.12.13)(sass@1.77.4))':
|
||||
dependencies:
|
||||
'@unocss/core': 0.60.3
|
||||
'@unocss/reset': 0.60.3
|
||||
'@unocss/vite': 0.60.3(vite@5.2.12)
|
||||
'@unocss/vite': 0.60.3(rollup@4.18.0)(vite@5.2.12(@types/node@20.12.13)(sass@1.77.4))
|
||||
optionalDependencies:
|
||||
vite: 5.2.12(@types/node@20.12.13)(sass@1.77.4)
|
||||
transitivePeerDependencies:
|
||||
- rollup
|
||||
|
||||
'@unocss/cli@0.60.3':
|
||||
'@unocss/cli@0.60.3(rollup@4.18.0)':
|
||||
dependencies:
|
||||
'@ampproject/remapping': 2.3.0
|
||||
'@rollup/pluginutils': 5.1.0
|
||||
'@rollup/pluginutils': 5.1.0(rollup@4.18.0)
|
||||
'@unocss/config': 0.60.3
|
||||
'@unocss/core': 0.60.3
|
||||
'@unocss/preset-uno': 0.60.3
|
||||
@@ -4119,10 +4126,10 @@ snapshots:
|
||||
dependencies:
|
||||
'@unocss/core': 0.60.3
|
||||
|
||||
'@unocss/vite@0.60.3(vite@5.2.12)':
|
||||
'@unocss/vite@0.60.3(rollup@4.18.0)(vite@5.2.12(@types/node@20.12.13)(sass@1.77.4))':
|
||||
dependencies:
|
||||
'@ampproject/remapping': 2.3.0
|
||||
'@rollup/pluginutils': 5.1.0
|
||||
'@rollup/pluginutils': 5.1.0(rollup@4.18.0)
|
||||
'@unocss/config': 0.60.3
|
||||
'@unocss/core': 0.60.3
|
||||
'@unocss/inspector': 0.60.3
|
||||
@@ -4137,11 +4144,11 @@ snapshots:
|
||||
|
||||
'@vant/popperjs@1.3.0': {}
|
||||
|
||||
'@vant/use@1.6.0(vue@3.4.27)':
|
||||
'@vant/use@1.6.0(vue@3.4.27(typescript@5.4.5))':
|
||||
dependencies:
|
||||
vue: 3.4.27(typescript@5.4.5)
|
||||
|
||||
'@vitejs/plugin-vue-jsx@3.1.0(vite@5.2.12)(vue@3.4.27)':
|
||||
'@vitejs/plugin-vue-jsx@3.1.0(vite@5.2.12(@types/node@20.12.13)(sass@1.77.4))(vue@3.4.27(typescript@5.4.5))':
|
||||
dependencies:
|
||||
'@babel/core': 7.24.6
|
||||
'@babel/plugin-transform-typescript': 7.24.6(@babel/core@7.24.6)
|
||||
@@ -4151,7 +4158,7 @@ snapshots:
|
||||
transitivePeerDependencies:
|
||||
- supports-color
|
||||
|
||||
'@vitejs/plugin-vue@4.6.2(vite@5.2.12)(vue@3.4.27)':
|
||||
'@vitejs/plugin-vue@4.6.2(vite@5.2.12(@types/node@20.12.13)(sass@1.77.4))(vue@3.4.27(typescript@5.4.5))':
|
||||
dependencies:
|
||||
vite: 5.2.12(@types/node@20.12.13)(sass@1.77.4)
|
||||
vue: 3.4.27(typescript@5.4.5)
|
||||
@@ -4169,175 +4176,179 @@ snapshots:
|
||||
'@volar/language-core': 2.2.5
|
||||
path-browserify: 1.0.1
|
||||
|
||||
'@vue-macros/api@0.9.7(vue@3.4.27)':
|
||||
'@vue-macros/api@0.9.7(rollup@4.18.0)(vue@3.4.27(typescript@5.4.5))':
|
||||
dependencies:
|
||||
'@babel/types': 7.24.6
|
||||
'@vue-macros/common': 1.10.4(vue@3.4.27)
|
||||
'@vue-macros/common': 1.10.4(rollup@4.18.0)(vue@3.4.27(typescript@5.4.5))
|
||||
resolve.exports: 2.0.2
|
||||
transitivePeerDependencies:
|
||||
- rollup
|
||||
- vue
|
||||
|
||||
'@vue-macros/better-define@1.7.7(vue@3.4.27)':
|
||||
'@vue-macros/better-define@1.7.7(rollup@4.18.0)(vue@3.4.27(typescript@5.4.5))':
|
||||
dependencies:
|
||||
'@vue-macros/api': 0.9.7(vue@3.4.27)
|
||||
'@vue-macros/common': 1.10.4(vue@3.4.27)
|
||||
'@vue-macros/api': 0.9.7(rollup@4.18.0)(vue@3.4.27(typescript@5.4.5))
|
||||
'@vue-macros/common': 1.10.4(rollup@4.18.0)(vue@3.4.27(typescript@5.4.5))
|
||||
unplugin: 1.10.1
|
||||
transitivePeerDependencies:
|
||||
- rollup
|
||||
- vue
|
||||
|
||||
'@vue-macros/boolean-prop@0.3.5(vue@3.4.27)':
|
||||
'@vue-macros/boolean-prop@0.3.5(rollup@4.18.0)(vue@3.4.27(typescript@5.4.5))':
|
||||
dependencies:
|
||||
'@vue-macros/common': 1.10.4(vue@3.4.27)
|
||||
'@vue-macros/common': 1.10.4(rollup@4.18.0)(vue@3.4.27(typescript@5.4.5))
|
||||
'@vue/compiler-core': 3.4.27
|
||||
transitivePeerDependencies:
|
||||
- rollup
|
||||
- vue
|
||||
|
||||
'@vue-macros/chain-call@0.2.5(vue@3.4.27)':
|
||||
'@vue-macros/chain-call@0.2.5(rollup@4.18.0)(vue@3.4.27(typescript@5.4.5))':
|
||||
dependencies:
|
||||
'@vue-macros/common': 1.10.4(vue@3.4.27)
|
||||
'@vue-macros/common': 1.10.4(rollup@4.18.0)(vue@3.4.27(typescript@5.4.5))
|
||||
unplugin: 1.10.1
|
||||
transitivePeerDependencies:
|
||||
- rollup
|
||||
- vue
|
||||
|
||||
'@vue-macros/common@1.10.4(vue@3.4.27)':
|
||||
'@vue-macros/common@1.10.4(rollup@4.18.0)(vue@3.4.27(typescript@5.4.5))':
|
||||
dependencies:
|
||||
'@babel/types': 7.24.6
|
||||
'@rollup/pluginutils': 5.1.0
|
||||
'@rollup/pluginutils': 5.1.0(rollup@4.18.0)
|
||||
'@vue/compiler-sfc': 3.4.27
|
||||
ast-kit: 0.12.1
|
||||
local-pkg: 0.5.0
|
||||
magic-string-ast: 0.6.1
|
||||
optionalDependencies:
|
||||
vue: 3.4.27(typescript@5.4.5)
|
||||
transitivePeerDependencies:
|
||||
- rollup
|
||||
|
||||
'@vue-macros/define-emit@0.2.7(vue@3.4.27)':
|
||||
'@vue-macros/define-emit@0.2.7(rollup@4.18.0)(vue@3.4.27(typescript@5.4.5))':
|
||||
dependencies:
|
||||
'@vue-macros/api': 0.9.7(vue@3.4.27)
|
||||
'@vue-macros/common': 1.10.4(vue@3.4.27)
|
||||
'@vue-macros/api': 0.9.7(rollup@4.18.0)(vue@3.4.27(typescript@5.4.5))
|
||||
'@vue-macros/common': 1.10.4(rollup@4.18.0)(vue@3.4.27(typescript@5.4.5))
|
||||
unplugin: 1.10.1
|
||||
vue: 3.4.27(typescript@5.4.5)
|
||||
transitivePeerDependencies:
|
||||
- rollup
|
||||
|
||||
'@vue-macros/define-models@1.2.5(vue@3.4.27)':
|
||||
'@vue-macros/define-models@1.2.5(@vueuse/core@9.13.0(vue@3.4.27(typescript@5.4.5)))(rollup@4.18.0)(vue@3.4.27(typescript@5.4.5))':
|
||||
dependencies:
|
||||
'@vue-macros/common': 1.10.4(vue@3.4.27)
|
||||
'@vue-macros/common': 1.10.4(rollup@4.18.0)(vue@3.4.27(typescript@5.4.5))
|
||||
ast-walker-scope: 0.6.1
|
||||
unplugin: 1.10.1
|
||||
optionalDependencies:
|
||||
'@vueuse/core': 9.13.0(vue@3.4.27(typescript@5.4.5))
|
||||
transitivePeerDependencies:
|
||||
- rollup
|
||||
- vue
|
||||
|
||||
'@vue-macros/define-prop@0.3.7(vue@3.4.27)':
|
||||
'@vue-macros/define-prop@0.3.7(rollup@4.18.0)(vue@3.4.27(typescript@5.4.5))':
|
||||
dependencies:
|
||||
'@vue-macros/api': 0.9.7(vue@3.4.27)
|
||||
'@vue-macros/common': 1.10.4(vue@3.4.27)
|
||||
'@vue-macros/api': 0.9.7(rollup@4.18.0)(vue@3.4.27(typescript@5.4.5))
|
||||
'@vue-macros/common': 1.10.4(rollup@4.18.0)(vue@3.4.27(typescript@5.4.5))
|
||||
unplugin: 1.10.1
|
||||
vue: 3.4.27(typescript@5.4.5)
|
||||
transitivePeerDependencies:
|
||||
- rollup
|
||||
|
||||
'@vue-macros/define-props-refs@1.2.5(vue@3.4.27)':
|
||||
'@vue-macros/define-props-refs@1.2.5(rollup@4.18.0)(vue@3.4.27(typescript@5.4.5))':
|
||||
dependencies:
|
||||
'@vue-macros/common': 1.10.4(vue@3.4.27)
|
||||
'@vue-macros/common': 1.10.4(rollup@4.18.0)(vue@3.4.27(typescript@5.4.5))
|
||||
unplugin: 1.10.1
|
||||
vue: 3.4.27(typescript@5.4.5)
|
||||
transitivePeerDependencies:
|
||||
- rollup
|
||||
|
||||
'@vue-macros/define-props@2.0.6(@vue-macros/reactivity-transform@0.4.6)(vue@3.4.27)':
|
||||
'@vue-macros/define-props@2.0.6(@vue-macros/reactivity-transform@0.4.6(rollup@4.18.0)(vue@3.4.27(typescript@5.4.5)))(rollup@4.18.0)(vue@3.4.27(typescript@5.4.5))':
|
||||
dependencies:
|
||||
'@vue-macros/common': 1.10.4(vue@3.4.27)
|
||||
'@vue-macros/reactivity-transform': 0.4.6(vue@3.4.27)
|
||||
'@vue-macros/common': 1.10.4(rollup@4.18.0)(vue@3.4.27(typescript@5.4.5))
|
||||
'@vue-macros/reactivity-transform': 0.4.6(rollup@4.18.0)(vue@3.4.27(typescript@5.4.5))
|
||||
unplugin: 1.10.1
|
||||
vue: 3.4.27(typescript@5.4.5)
|
||||
transitivePeerDependencies:
|
||||
- rollup
|
||||
|
||||
'@vue-macros/define-render@1.5.5(vue@3.4.27)':
|
||||
'@vue-macros/define-render@1.5.5(rollup@4.18.0)(vue@3.4.27(typescript@5.4.5))':
|
||||
dependencies:
|
||||
'@vue-macros/common': 1.10.4(vue@3.4.27)
|
||||
'@vue-macros/common': 1.10.4(rollup@4.18.0)(vue@3.4.27(typescript@5.4.5))
|
||||
unplugin: 1.10.1
|
||||
vue: 3.4.27(typescript@5.4.5)
|
||||
transitivePeerDependencies:
|
||||
- rollup
|
||||
|
||||
'@vue-macros/define-slots@1.1.5(vue@3.4.27)':
|
||||
'@vue-macros/define-slots@1.1.5(rollup@4.18.0)(vue@3.4.27(typescript@5.4.5))':
|
||||
dependencies:
|
||||
'@vue-macros/common': 1.10.4(vue@3.4.27)
|
||||
'@vue-macros/common': 1.10.4(rollup@4.18.0)(vue@3.4.27(typescript@5.4.5))
|
||||
unplugin: 1.10.1
|
||||
vue: 3.4.27(typescript@5.4.5)
|
||||
transitivePeerDependencies:
|
||||
- rollup
|
||||
|
||||
'@vue-macros/devtools@0.2.0(typescript@5.4.5)(vite@5.2.12)':
|
||||
'@vue-macros/devtools@0.2.0(typescript@5.4.5)(vite@5.2.12(@types/node@20.12.13)(sass@1.77.4))':
|
||||
dependencies:
|
||||
sirv: 2.0.4
|
||||
vite: 5.2.12(@types/node@20.12.13)(sass@1.77.4)
|
||||
vue: 3.4.27(typescript@5.4.5)
|
||||
optionalDependencies:
|
||||
vite: 5.2.12(@types/node@20.12.13)(sass@1.77.4)
|
||||
transitivePeerDependencies:
|
||||
- typescript
|
||||
|
||||
'@vue-macros/export-expose@0.1.5(vue@3.4.27)':
|
||||
'@vue-macros/export-expose@0.1.5(rollup@4.18.0)(vue@3.4.27(typescript@5.4.5))':
|
||||
dependencies:
|
||||
'@vue-macros/common': 1.10.4(vue@3.4.27)
|
||||
'@vue-macros/common': 1.10.4(rollup@4.18.0)(vue@3.4.27(typescript@5.4.5))
|
||||
'@vue/compiler-sfc': 3.4.27
|
||||
unplugin: 1.10.1
|
||||
vue: 3.4.27(typescript@5.4.5)
|
||||
transitivePeerDependencies:
|
||||
- rollup
|
||||
|
||||
'@vue-macros/export-props@0.4.5(vue@3.4.27)':
|
||||
'@vue-macros/export-props@0.4.5(rollup@4.18.0)(vue@3.4.27(typescript@5.4.5))':
|
||||
dependencies:
|
||||
'@vue-macros/common': 1.10.4(vue@3.4.27)
|
||||
'@vue-macros/common': 1.10.4(rollup@4.18.0)(vue@3.4.27(typescript@5.4.5))
|
||||
unplugin: 1.10.1
|
||||
vue: 3.4.27(typescript@5.4.5)
|
||||
transitivePeerDependencies:
|
||||
- rollup
|
||||
|
||||
'@vue-macros/export-render@0.2.5(vue@3.4.27)':
|
||||
'@vue-macros/export-render@0.2.5(rollup@4.18.0)(vue@3.4.27(typescript@5.4.5))':
|
||||
dependencies:
|
||||
'@vue-macros/common': 1.10.4(vue@3.4.27)
|
||||
'@vue-macros/common': 1.10.4(rollup@4.18.0)(vue@3.4.27(typescript@5.4.5))
|
||||
'@vue/compiler-sfc': 3.4.27
|
||||
unplugin: 1.10.1
|
||||
vue: 3.4.27(typescript@5.4.5)
|
||||
transitivePeerDependencies:
|
||||
- rollup
|
||||
|
||||
'@vue-macros/hoist-static@1.5.5(vue@3.4.27)':
|
||||
'@vue-macros/hoist-static@1.5.5(rollup@4.18.0)(vue@3.4.27(typescript@5.4.5))':
|
||||
dependencies:
|
||||
'@vue-macros/common': 1.10.4(vue@3.4.27)
|
||||
'@vue-macros/common': 1.10.4(rollup@4.18.0)(vue@3.4.27(typescript@5.4.5))
|
||||
unplugin: 1.10.1
|
||||
transitivePeerDependencies:
|
||||
- rollup
|
||||
- vue
|
||||
|
||||
'@vue-macros/jsx-directive@0.8.14(vue@3.4.27)':
|
||||
'@vue-macros/jsx-directive@0.8.14(rollup@4.18.0)(vue@3.4.27(typescript@5.4.5))':
|
||||
dependencies:
|
||||
'@vue-macros/common': 1.10.4(vue@3.4.27)
|
||||
'@vue-macros/common': 1.10.4(rollup@4.18.0)(vue@3.4.27(typescript@5.4.5))
|
||||
unplugin: 1.10.1
|
||||
transitivePeerDependencies:
|
||||
- rollup
|
||||
- vue
|
||||
|
||||
'@vue-macros/named-template@0.4.5(vue@3.4.27)':
|
||||
'@vue-macros/named-template@0.4.5(rollup@4.18.0)(vue@3.4.27(typescript@5.4.5))':
|
||||
dependencies:
|
||||
'@vue-macros/common': 1.10.4(vue@3.4.27)
|
||||
'@vue-macros/common': 1.10.4(rollup@4.18.0)(vue@3.4.27(typescript@5.4.5))
|
||||
'@vue/compiler-dom': 3.4.27
|
||||
unplugin: 1.10.1
|
||||
transitivePeerDependencies:
|
||||
- rollup
|
||||
- vue
|
||||
|
||||
'@vue-macros/reactivity-transform@0.4.6(vue@3.4.27)':
|
||||
'@vue-macros/reactivity-transform@0.4.6(rollup@4.18.0)(vue@3.4.27(typescript@5.4.5))':
|
||||
dependencies:
|
||||
'@babel/parser': 7.24.6
|
||||
'@vue-macros/common': 1.10.4(vue@3.4.27)
|
||||
'@vue-macros/common': 1.10.4(rollup@4.18.0)(vue@3.4.27(typescript@5.4.5))
|
||||
'@vue/compiler-core': 3.4.27
|
||||
'@vue/shared': 3.4.27
|
||||
magic-string: 0.30.10
|
||||
@@ -4346,50 +4357,50 @@ snapshots:
|
||||
transitivePeerDependencies:
|
||||
- rollup
|
||||
|
||||
'@vue-macros/setup-block@0.3.5(vue@3.4.27)':
|
||||
'@vue-macros/setup-block@0.3.5(rollup@4.18.0)(vue@3.4.27(typescript@5.4.5))':
|
||||
dependencies:
|
||||
'@vue-macros/common': 1.10.4(vue@3.4.27)
|
||||
'@vue-macros/common': 1.10.4(rollup@4.18.0)(vue@3.4.27(typescript@5.4.5))
|
||||
'@vue/compiler-dom': 3.4.27
|
||||
unplugin: 1.10.1
|
||||
transitivePeerDependencies:
|
||||
- rollup
|
||||
- vue
|
||||
|
||||
'@vue-macros/setup-component@0.17.5(vue@3.4.27)':
|
||||
'@vue-macros/setup-component@0.17.5(rollup@4.18.0)(vue@3.4.27(typescript@5.4.5))':
|
||||
dependencies:
|
||||
'@vue-macros/common': 1.10.4(vue@3.4.27)
|
||||
'@vue-macros/common': 1.10.4(rollup@4.18.0)(vue@3.4.27(typescript@5.4.5))
|
||||
unplugin: 1.10.1
|
||||
transitivePeerDependencies:
|
||||
- rollup
|
||||
- vue
|
||||
|
||||
'@vue-macros/setup-sfc@0.17.5(vue@3.4.27)':
|
||||
'@vue-macros/setup-sfc@0.17.5(rollup@4.18.0)(vue@3.4.27(typescript@5.4.5))':
|
||||
dependencies:
|
||||
'@vue-macros/common': 1.10.4(vue@3.4.27)
|
||||
'@vue-macros/common': 1.10.4(rollup@4.18.0)(vue@3.4.27(typescript@5.4.5))
|
||||
unplugin: 1.10.1
|
||||
transitivePeerDependencies:
|
||||
- rollup
|
||||
- vue
|
||||
|
||||
'@vue-macros/short-bind@0.2.5(vue@3.4.27)':
|
||||
'@vue-macros/short-bind@0.2.5(rollup@4.18.0)(vue@3.4.27(typescript@5.4.5))':
|
||||
dependencies:
|
||||
'@vue-macros/common': 1.10.4(vue@3.4.27)
|
||||
'@vue-macros/common': 1.10.4(rollup@4.18.0)(vue@3.4.27(typescript@5.4.5))
|
||||
'@vue/compiler-core': 3.4.27
|
||||
transitivePeerDependencies:
|
||||
- rollup
|
||||
- vue
|
||||
|
||||
'@vue-macros/short-emits@1.5.5(vue@3.4.27)':
|
||||
'@vue-macros/short-emits@1.5.5(rollup@4.18.0)(vue@3.4.27(typescript@5.4.5))':
|
||||
dependencies:
|
||||
'@vue-macros/common': 1.10.4(vue@3.4.27)
|
||||
'@vue-macros/common': 1.10.4(rollup@4.18.0)(vue@3.4.27(typescript@5.4.5))
|
||||
unplugin: 1.10.1
|
||||
transitivePeerDependencies:
|
||||
- rollup
|
||||
- vue
|
||||
|
||||
'@vue-macros/short-vmodel@1.4.5(vue@3.4.27)':
|
||||
'@vue-macros/short-vmodel@1.4.5(rollup@4.18.0)(vue@3.4.27(typescript@5.4.5))':
|
||||
dependencies:
|
||||
'@vue-macros/common': 1.10.4(vue@3.4.27)
|
||||
'@vue-macros/common': 1.10.4(rollup@4.18.0)(vue@3.4.27(typescript@5.4.5))
|
||||
'@vue/compiler-core': 3.4.27
|
||||
transitivePeerDependencies:
|
||||
- rollup
|
||||
@@ -4399,7 +4410,6 @@ snapshots:
|
||||
|
||||
'@vue/babel-plugin-jsx@1.2.2(@babel/core@7.24.6)':
|
||||
dependencies:
|
||||
'@babel/core': 7.24.6
|
||||
'@babel/helper-module-imports': 7.22.15
|
||||
'@babel/helper-plugin-utils': 7.24.6
|
||||
'@babel/plugin-syntax-jsx': 7.24.6(@babel/core@7.24.6)
|
||||
@@ -4411,6 +4421,8 @@ snapshots:
|
||||
camelcase: 6.3.0
|
||||
html-tags: 3.3.1
|
||||
svg-tags: 1.0.0
|
||||
optionalDependencies:
|
||||
'@babel/core': 7.24.6
|
||||
transitivePeerDependencies:
|
||||
- supports-color
|
||||
|
||||
@@ -4463,8 +4475,9 @@ snapshots:
|
||||
computeds: 0.0.1
|
||||
minimatch: 9.0.4
|
||||
path-browserify: 1.0.1
|
||||
typescript: 5.4.5
|
||||
vue-template-compiler: 2.7.16
|
||||
optionalDependencies:
|
||||
typescript: 5.4.5
|
||||
|
||||
'@vue/reactivity@3.4.27':
|
||||
dependencies:
|
||||
@@ -4481,7 +4494,7 @@ snapshots:
|
||||
'@vue/shared': 3.4.27
|
||||
csstype: 3.1.3
|
||||
|
||||
'@vue/server-renderer@3.4.27(vue@3.4.27)':
|
||||
'@vue/server-renderer@3.4.27(vue@3.4.27(typescript@5.4.5))':
|
||||
dependencies:
|
||||
'@vue/compiler-ssr': 3.4.27
|
||||
'@vue/shared': 3.4.27
|
||||
@@ -4489,21 +4502,21 @@ snapshots:
|
||||
|
||||
'@vue/shared@3.4.27': {}
|
||||
|
||||
'@vueuse/core@9.13.0(vue@3.4.27)':
|
||||
'@vueuse/core@9.13.0(vue@3.4.27(typescript@5.4.5))':
|
||||
dependencies:
|
||||
'@types/web-bluetooth': 0.0.16
|
||||
'@vueuse/metadata': 9.13.0
|
||||
'@vueuse/shared': 9.13.0(vue@3.4.27)
|
||||
vue-demi: 0.14.8(vue@3.4.27)
|
||||
'@vueuse/shared': 9.13.0(vue@3.4.27(typescript@5.4.5))
|
||||
vue-demi: 0.14.8(vue@3.4.27(typescript@5.4.5))
|
||||
transitivePeerDependencies:
|
||||
- '@vue/composition-api'
|
||||
- vue
|
||||
|
||||
'@vueuse/metadata@9.13.0': {}
|
||||
|
||||
'@vueuse/shared@9.13.0(vue@3.4.27)':
|
||||
'@vueuse/shared@9.13.0(vue@3.4.27(typescript@5.4.5))':
|
||||
dependencies:
|
||||
vue-demi: 0.14.8(vue@3.4.27)
|
||||
vue-demi: 0.14.8(vue@3.4.27(typescript@5.4.5))
|
||||
transitivePeerDependencies:
|
||||
- '@vue/composition-api'
|
||||
- vue
|
||||
@@ -4964,7 +4977,7 @@ snapshots:
|
||||
|
||||
core-util-is@1.0.3: {}
|
||||
|
||||
cosmiconfig-typescript-loader@5.0.0(@types/node@20.12.13)(cosmiconfig@9.0.0)(typescript@5.4.5):
|
||||
cosmiconfig-typescript-loader@5.0.0(@types/node@20.12.13)(cosmiconfig@9.0.0(typescript@5.4.5))(typescript@5.4.5):
|
||||
dependencies:
|
||||
'@types/node': 20.12.13
|
||||
cosmiconfig: 9.0.0(typescript@5.4.5)
|
||||
@@ -4978,6 +4991,7 @@ snapshots:
|
||||
import-fresh: 3.3.0
|
||||
js-yaml: 4.1.0
|
||||
parse-json: 5.2.0
|
||||
optionalDependencies:
|
||||
typescript: 5.4.5
|
||||
optional: true
|
||||
|
||||
@@ -5104,15 +5118,15 @@ snapshots:
|
||||
|
||||
electron-to-chromium@1.4.787: {}
|
||||
|
||||
element-plus@2.7.3(vue@3.4.27):
|
||||
element-plus@2.7.3(vue@3.4.27(typescript@5.4.5)):
|
||||
dependencies:
|
||||
'@ctrl/tinycolor': 3.6.1
|
||||
'@element-plus/icons-vue': 2.3.1(vue@3.4.27)
|
||||
'@element-plus/icons-vue': 2.3.1(vue@3.4.27(typescript@5.4.5))
|
||||
'@floating-ui/dom': 1.6.5
|
||||
'@popperjs/core': '@sxzz/popperjs-es@2.11.7'
|
||||
'@types/lodash': 4.17.4
|
||||
'@types/lodash-es': 4.17.12
|
||||
'@vueuse/core': 9.13.0(vue@3.4.27)
|
||||
'@vueuse/core': 9.13.0(vue@3.4.27(typescript@5.4.5))
|
||||
async-validator: 4.2.5
|
||||
dayjs: 1.11.11
|
||||
escape-html: 1.0.3
|
||||
@@ -6277,12 +6291,13 @@ snapshots:
|
||||
|
||||
pify@2.3.0: {}
|
||||
|
||||
pinia@2.1.7(typescript@5.4.5)(vue@3.4.27):
|
||||
pinia@2.1.7(typescript@5.4.5)(vue@3.4.27(typescript@5.4.5)):
|
||||
dependencies:
|
||||
'@vue/devtools-api': 6.6.1
|
||||
typescript: 5.4.5
|
||||
vue: 3.4.27(typescript@5.4.5)
|
||||
vue-demi: 0.14.8(vue@3.4.27)
|
||||
vue-demi: 0.14.8(vue@3.4.27(typescript@5.4.5))
|
||||
optionalDependencies:
|
||||
typescript: 5.4.5
|
||||
|
||||
pinkie-promise@2.0.1:
|
||||
dependencies:
|
||||
@@ -6446,12 +6461,14 @@ snapshots:
|
||||
|
||||
reusify@1.0.4: {}
|
||||
|
||||
rollup-plugin-visualizer@5.12.0:
|
||||
rollup-plugin-visualizer@5.12.0(rollup@4.18.0):
|
||||
dependencies:
|
||||
open: 8.4.2
|
||||
picomatch: 2.3.1
|
||||
source-map: 0.7.4
|
||||
yargs: 17.7.2
|
||||
optionalDependencies:
|
||||
rollup: 4.18.0
|
||||
|
||||
rollup@4.18.0:
|
||||
dependencies:
|
||||
@@ -6811,11 +6828,12 @@ snapshots:
|
||||
object.reduce: 1.0.1
|
||||
undertaker-registry: 1.0.1
|
||||
|
||||
undici-types@5.26.5: {}
|
||||
undici-types@5.26.5:
|
||||
optional: true
|
||||
|
||||
unimport@3.7.2:
|
||||
unimport@3.7.2(rollup@4.18.0):
|
||||
dependencies:
|
||||
'@rollup/pluginutils': 5.1.0
|
||||
'@rollup/pluginutils': 5.1.0(rollup@4.18.0)
|
||||
acorn: 8.11.3
|
||||
escape-string-regexp: 5.0.0
|
||||
estree-walker: 3.0.3
|
||||
@@ -6845,10 +6863,10 @@ snapshots:
|
||||
|
||||
universalify@2.0.1: {}
|
||||
|
||||
unocss@0.60.3(postcss@8.4.38)(vite@5.2.12):
|
||||
unocss@0.60.3(postcss@8.4.38)(rollup@4.18.0)(vite@5.2.12(@types/node@20.12.13)(sass@1.77.4)):
|
||||
dependencies:
|
||||
'@unocss/astro': 0.60.3(vite@5.2.12)
|
||||
'@unocss/cli': 0.60.3
|
||||
'@unocss/astro': 0.60.3(rollup@4.18.0)(vite@5.2.12(@types/node@20.12.13)(sass@1.77.4))
|
||||
'@unocss/cli': 0.60.3(rollup@4.18.0)
|
||||
'@unocss/core': 0.60.3
|
||||
'@unocss/extractor-arbitrary-variants': 0.60.3
|
||||
'@unocss/postcss': 0.60.3(postcss@8.4.38)
|
||||
@@ -6866,36 +6884,42 @@ snapshots:
|
||||
'@unocss/transformer-compile-class': 0.60.3
|
||||
'@unocss/transformer-directives': 0.60.3
|
||||
'@unocss/transformer-variant-group': 0.60.3
|
||||
'@unocss/vite': 0.60.3(vite@5.2.12)
|
||||
'@unocss/vite': 0.60.3(rollup@4.18.0)(vite@5.2.12(@types/node@20.12.13)(sass@1.77.4))
|
||||
optionalDependencies:
|
||||
vite: 5.2.12(@types/node@20.12.13)(sass@1.77.4)
|
||||
transitivePeerDependencies:
|
||||
- postcss
|
||||
- rollup
|
||||
- supports-color
|
||||
|
||||
unplugin-auto-import@0.16.7:
|
||||
unplugin-auto-import@0.16.7(@vueuse/core@9.13.0(vue@3.4.27(typescript@5.4.5)))(rollup@4.18.0):
|
||||
dependencies:
|
||||
'@antfu/utils': 0.7.8
|
||||
'@rollup/pluginutils': 5.1.0
|
||||
'@rollup/pluginutils': 5.1.0(rollup@4.18.0)
|
||||
fast-glob: 3.3.2
|
||||
local-pkg: 0.5.0
|
||||
magic-string: 0.30.10
|
||||
minimatch: 9.0.4
|
||||
unimport: 3.7.2
|
||||
unimport: 3.7.2(rollup@4.18.0)
|
||||
unplugin: 1.10.1
|
||||
optionalDependencies:
|
||||
'@vueuse/core': 9.13.0(vue@3.4.27(typescript@5.4.5))
|
||||
transitivePeerDependencies:
|
||||
- rollup
|
||||
|
||||
unplugin-combine@1.0.0(vite@5.2.12):
|
||||
unplugin-combine@1.0.0(esbuild@0.20.2)(rollup@4.18.0)(vite@5.2.12(@types/node@20.12.13)(sass@1.77.4)):
|
||||
dependencies:
|
||||
'@antfu/utils': 0.7.8
|
||||
unplugin: 1.10.1
|
||||
optionalDependencies:
|
||||
esbuild: 0.20.2
|
||||
rollup: 4.18.0
|
||||
vite: 5.2.12(@types/node@20.12.13)(sass@1.77.4)
|
||||
|
||||
unplugin-vue-components@0.25.2(vue@3.4.27):
|
||||
unplugin-vue-components@0.25.2(@babel/parser@7.24.6)(rollup@4.18.0)(vue@3.4.27(typescript@5.4.5)):
|
||||
dependencies:
|
||||
'@antfu/utils': 0.7.8
|
||||
'@rollup/pluginutils': 5.1.0
|
||||
'@rollup/pluginutils': 5.1.0(rollup@4.18.0)
|
||||
chokidar: 3.6.0
|
||||
debug: 4.3.4
|
||||
fast-glob: 3.3.2
|
||||
@@ -6905,49 +6929,51 @@ snapshots:
|
||||
resolve: 1.22.8
|
||||
unplugin: 1.10.1
|
||||
vue: 3.4.27(typescript@5.4.5)
|
||||
optionalDependencies:
|
||||
'@babel/parser': 7.24.6
|
||||
transitivePeerDependencies:
|
||||
- rollup
|
||||
- supports-color
|
||||
|
||||
unplugin-vue-define-options@1.4.5(vue@3.4.27):
|
||||
unplugin-vue-define-options@1.4.5(rollup@4.18.0)(vue@3.4.27(typescript@5.4.5)):
|
||||
dependencies:
|
||||
'@vue-macros/common': 1.10.4(vue@3.4.27)
|
||||
'@vue-macros/common': 1.10.4(rollup@4.18.0)(vue@3.4.27(typescript@5.4.5))
|
||||
ast-walker-scope: 0.6.1
|
||||
unplugin: 1.10.1
|
||||
transitivePeerDependencies:
|
||||
- rollup
|
||||
- vue
|
||||
|
||||
unplugin-vue-macros@2.9.3(typescript@5.4.5)(vite@5.2.12)(vue@3.4.27):
|
||||
unplugin-vue-macros@2.9.3(@vueuse/core@9.13.0(vue@3.4.27(typescript@5.4.5)))(esbuild@0.20.2)(rollup@4.18.0)(typescript@5.4.5)(vite@5.2.12(@types/node@20.12.13)(sass@1.77.4))(vue@3.4.27(typescript@5.4.5)):
|
||||
dependencies:
|
||||
'@vue-macros/better-define': 1.7.7(vue@3.4.27)
|
||||
'@vue-macros/boolean-prop': 0.3.5(vue@3.4.27)
|
||||
'@vue-macros/chain-call': 0.2.5(vue@3.4.27)
|
||||
'@vue-macros/common': 1.10.4(vue@3.4.27)
|
||||
'@vue-macros/define-emit': 0.2.7(vue@3.4.27)
|
||||
'@vue-macros/define-models': 1.2.5(vue@3.4.27)
|
||||
'@vue-macros/define-prop': 0.3.7(vue@3.4.27)
|
||||
'@vue-macros/define-props': 2.0.6(@vue-macros/reactivity-transform@0.4.6)(vue@3.4.27)
|
||||
'@vue-macros/define-props-refs': 1.2.5(vue@3.4.27)
|
||||
'@vue-macros/define-render': 1.5.5(vue@3.4.27)
|
||||
'@vue-macros/define-slots': 1.1.5(vue@3.4.27)
|
||||
'@vue-macros/devtools': 0.2.0(typescript@5.4.5)(vite@5.2.12)
|
||||
'@vue-macros/export-expose': 0.1.5(vue@3.4.27)
|
||||
'@vue-macros/export-props': 0.4.5(vue@3.4.27)
|
||||
'@vue-macros/export-render': 0.2.5(vue@3.4.27)
|
||||
'@vue-macros/hoist-static': 1.5.5(vue@3.4.27)
|
||||
'@vue-macros/jsx-directive': 0.8.14(vue@3.4.27)
|
||||
'@vue-macros/named-template': 0.4.5(vue@3.4.27)
|
||||
'@vue-macros/reactivity-transform': 0.4.6(vue@3.4.27)
|
||||
'@vue-macros/setup-block': 0.3.5(vue@3.4.27)
|
||||
'@vue-macros/setup-component': 0.17.5(vue@3.4.27)
|
||||
'@vue-macros/setup-sfc': 0.17.5(vue@3.4.27)
|
||||
'@vue-macros/short-bind': 0.2.5(vue@3.4.27)
|
||||
'@vue-macros/short-emits': 1.5.5(vue@3.4.27)
|
||||
'@vue-macros/short-vmodel': 1.4.5(vue@3.4.27)
|
||||
'@vue-macros/better-define': 1.7.7(rollup@4.18.0)(vue@3.4.27(typescript@5.4.5))
|
||||
'@vue-macros/boolean-prop': 0.3.5(rollup@4.18.0)(vue@3.4.27(typescript@5.4.5))
|
||||
'@vue-macros/chain-call': 0.2.5(rollup@4.18.0)(vue@3.4.27(typescript@5.4.5))
|
||||
'@vue-macros/common': 1.10.4(rollup@4.18.0)(vue@3.4.27(typescript@5.4.5))
|
||||
'@vue-macros/define-emit': 0.2.7(rollup@4.18.0)(vue@3.4.27(typescript@5.4.5))
|
||||
'@vue-macros/define-models': 1.2.5(@vueuse/core@9.13.0(vue@3.4.27(typescript@5.4.5)))(rollup@4.18.0)(vue@3.4.27(typescript@5.4.5))
|
||||
'@vue-macros/define-prop': 0.3.7(rollup@4.18.0)(vue@3.4.27(typescript@5.4.5))
|
||||
'@vue-macros/define-props': 2.0.6(@vue-macros/reactivity-transform@0.4.6(rollup@4.18.0)(vue@3.4.27(typescript@5.4.5)))(rollup@4.18.0)(vue@3.4.27(typescript@5.4.5))
|
||||
'@vue-macros/define-props-refs': 1.2.5(rollup@4.18.0)(vue@3.4.27(typescript@5.4.5))
|
||||
'@vue-macros/define-render': 1.5.5(rollup@4.18.0)(vue@3.4.27(typescript@5.4.5))
|
||||
'@vue-macros/define-slots': 1.1.5(rollup@4.18.0)(vue@3.4.27(typescript@5.4.5))
|
||||
'@vue-macros/devtools': 0.2.0(typescript@5.4.5)(vite@5.2.12(@types/node@20.12.13)(sass@1.77.4))
|
||||
'@vue-macros/export-expose': 0.1.5(rollup@4.18.0)(vue@3.4.27(typescript@5.4.5))
|
||||
'@vue-macros/export-props': 0.4.5(rollup@4.18.0)(vue@3.4.27(typescript@5.4.5))
|
||||
'@vue-macros/export-render': 0.2.5(rollup@4.18.0)(vue@3.4.27(typescript@5.4.5))
|
||||
'@vue-macros/hoist-static': 1.5.5(rollup@4.18.0)(vue@3.4.27(typescript@5.4.5))
|
||||
'@vue-macros/jsx-directive': 0.8.14(rollup@4.18.0)(vue@3.4.27(typescript@5.4.5))
|
||||
'@vue-macros/named-template': 0.4.5(rollup@4.18.0)(vue@3.4.27(typescript@5.4.5))
|
||||
'@vue-macros/reactivity-transform': 0.4.6(rollup@4.18.0)(vue@3.4.27(typescript@5.4.5))
|
||||
'@vue-macros/setup-block': 0.3.5(rollup@4.18.0)(vue@3.4.27(typescript@5.4.5))
|
||||
'@vue-macros/setup-component': 0.17.5(rollup@4.18.0)(vue@3.4.27(typescript@5.4.5))
|
||||
'@vue-macros/setup-sfc': 0.17.5(rollup@4.18.0)(vue@3.4.27(typescript@5.4.5))
|
||||
'@vue-macros/short-bind': 0.2.5(rollup@4.18.0)(vue@3.4.27(typescript@5.4.5))
|
||||
'@vue-macros/short-emits': 1.5.5(rollup@4.18.0)(vue@3.4.27(typescript@5.4.5))
|
||||
'@vue-macros/short-vmodel': 1.4.5(rollup@4.18.0)(vue@3.4.27(typescript@5.4.5))
|
||||
unplugin: 1.10.1
|
||||
unplugin-combine: 1.0.0(vite@5.2.12)
|
||||
unplugin-vue-define-options: 1.4.5(vue@3.4.27)
|
||||
unplugin-combine: 1.0.0(esbuild@0.20.2)(rollup@4.18.0)(vite@5.2.12(@types/node@20.12.13)(sass@1.77.4))
|
||||
unplugin-vue-define-options: 1.4.5(rollup@4.18.0)(vue@3.4.27(typescript@5.4.5))
|
||||
vue: 3.4.27(typescript@5.4.5)
|
||||
transitivePeerDependencies:
|
||||
- '@vueuse/core'
|
||||
@@ -6999,10 +7025,10 @@ snapshots:
|
||||
|
||||
value-or-function@3.0.0: {}
|
||||
|
||||
vant@4.9.0(vue@3.4.27):
|
||||
vant@4.9.0(vue@3.4.27(typescript@5.4.5)):
|
||||
dependencies:
|
||||
'@vant/popperjs': 1.3.0
|
||||
'@vant/use': 1.6.0(vue@3.4.27)
|
||||
'@vant/use': 1.6.0(vue@3.4.27(typescript@5.4.5))
|
||||
'@vue/shared': 3.4.27
|
||||
vue: 3.4.27(typescript@5.4.5)
|
||||
|
||||
@@ -7047,36 +7073,36 @@ snapshots:
|
||||
|
||||
vite@5.2.12(@types/node@20.12.13)(sass@1.77.4):
|
||||
dependencies:
|
||||
'@types/node': 20.12.13
|
||||
esbuild: 0.20.2
|
||||
postcss: 8.4.38
|
||||
rollup: 4.18.0
|
||||
sass: 1.77.4
|
||||
optionalDependencies:
|
||||
'@types/node': 20.12.13
|
||||
fsevents: 2.3.3
|
||||
sass: 1.77.4
|
||||
|
||||
vue-activity-calendar@1.2.2: {}
|
||||
|
||||
vue-demi@0.14.8(vue@3.4.27):
|
||||
vue-demi@0.14.8(vue@3.4.27(typescript@5.4.5)):
|
||||
dependencies:
|
||||
vue: 3.4.27(typescript@5.4.5)
|
||||
|
||||
vue-i18n@9.13.1(vue@3.4.27):
|
||||
vue-i18n@9.13.1(vue@3.4.27(typescript@5.4.5)):
|
||||
dependencies:
|
||||
'@intlify/core-base': 9.13.1
|
||||
'@intlify/shared': 9.13.1
|
||||
'@vue/devtools-api': 6.6.1
|
||||
vue: 3.4.27(typescript@5.4.5)
|
||||
|
||||
vue-observe-visibility@2.0.0-alpha.1(vue@3.4.27):
|
||||
vue-observe-visibility@2.0.0-alpha.1(vue@3.4.27(typescript@5.4.5)):
|
||||
dependencies:
|
||||
vue: 3.4.27(typescript@5.4.5)
|
||||
|
||||
vue-resize@2.0.0-alpha.1(vue@3.4.27):
|
||||
vue-resize@2.0.0-alpha.1(vue@3.4.27(typescript@5.4.5)):
|
||||
dependencies:
|
||||
vue: 3.4.27(typescript@5.4.5)
|
||||
|
||||
vue-router@4.3.2(vue@3.4.27):
|
||||
vue-router@4.3.2(vue@3.4.27(typescript@5.4.5)):
|
||||
dependencies:
|
||||
'@vue/devtools-api': 6.6.1
|
||||
vue: 3.4.27(typescript@5.4.5)
|
||||
@@ -7093,20 +7119,21 @@ snapshots:
|
||||
semver: 7.6.2
|
||||
typescript: 5.4.5
|
||||
|
||||
vue-virtual-scroller@2.0.0-beta.8(vue@3.4.27):
|
||||
vue-virtual-scroller@2.0.0-beta.8(vue@3.4.27(typescript@5.4.5)):
|
||||
dependencies:
|
||||
mitt: 2.1.0
|
||||
vue: 3.4.27(typescript@5.4.5)
|
||||
vue-observe-visibility: 2.0.0-alpha.1(vue@3.4.27)
|
||||
vue-resize: 2.0.0-alpha.1(vue@3.4.27)
|
||||
vue-observe-visibility: 2.0.0-alpha.1(vue@3.4.27(typescript@5.4.5))
|
||||
vue-resize: 2.0.0-alpha.1(vue@3.4.27(typescript@5.4.5))
|
||||
|
||||
vue@3.4.27(typescript@5.4.5):
|
||||
dependencies:
|
||||
'@vue/compiler-dom': 3.4.27
|
||||
'@vue/compiler-sfc': 3.4.27
|
||||
'@vue/runtime-dom': 3.4.27
|
||||
'@vue/server-renderer': 3.4.27(vue@3.4.27)
|
||||
'@vue/server-renderer': 3.4.27(vue@3.4.27(typescript@5.4.5))
|
||||
'@vue/shared': 3.4.27
|
||||
optionalDependencies:
|
||||
typescript: 5.4.5
|
||||
|
||||
wasm-feature-detect@1.6.1: {}
|
||||
|
||||
@@ -4,7 +4,7 @@ import DictPlan from "@/pages/mobile/components/DictPlan.vue";
|
||||
import NavBar from "@/pages/mobile/components/NavBar.vue";
|
||||
import {onMounted} from "vue";
|
||||
import {useRoute} from "vue-router";
|
||||
import {DefaultDict, Dict} from "@/types.ts";
|
||||
import {Dict, getDefaultDict} from "@/types.ts";
|
||||
import {cloneDeep} from "lodash-es";
|
||||
import {nanoid} from "nanoid";
|
||||
import {dictionaryResources} from "@/assets/dictionary.ts";
|
||||
@@ -27,7 +27,7 @@ onMounted(() => {
|
||||
runtimeStore.editDict = cloneDeep(find)
|
||||
} else {
|
||||
runtimeStore.editDict = cloneDeep({
|
||||
...cloneDeep(DefaultDict),
|
||||
...getDefaultDict(),
|
||||
...item,
|
||||
})
|
||||
runtimeStore.editDict.id = nanoid(6)
|
||||
|
||||
@@ -3,7 +3,7 @@ import {useBaseStore} from "@/stores/base.ts"
|
||||
|
||||
import {computed, onMounted, onUnmounted, provide, watch} from "vue"
|
||||
import {useSettingStore} from "@/stores/setting.ts";
|
||||
import {emitter, EventKey} from "@/utils/eventBus.ts";
|
||||
import {emitter, EventKey, useEvent} from "@/utils/eventBus.ts";
|
||||
import SlideHorizontal from "@/components/slide/SlideHorizontal.vue";
|
||||
import SlideItem from "@/components/slide/SlideItem.vue";
|
||||
import CollectList from "@/pages/mobile/components/CollectList.vue";
|
||||
@@ -21,14 +21,8 @@ watch(() => settingStore.showPanel, n => {
|
||||
}
|
||||
})
|
||||
|
||||
onMounted(() => {
|
||||
emitter.on(EventKey.changeDict, () => {
|
||||
tabIndex = 0
|
||||
})
|
||||
})
|
||||
|
||||
onUnmounted(() => {
|
||||
emitter.off(EventKey.changeDict)
|
||||
useEvent(EventKey.changeDict, () => {
|
||||
tabIndex = 0
|
||||
})
|
||||
|
||||
|
||||
|
||||
@@ -39,26 +39,15 @@ const word: Word = $computed(() => {
|
||||
})
|
||||
|
||||
function getCurrentPractice() {
|
||||
if (store.chapter.length) {
|
||||
data.words = store.chapter
|
||||
data.index = 0
|
||||
|
||||
data.words = cloneDeep(store.chapter)
|
||||
emitter.emit(EventKey.resetWord)
|
||||
}
|
||||
}
|
||||
|
||||
function sort(list: Word[]) {
|
||||
store.currentDict.chapterWords[store.currentDict.chapterIndex] = data.words = list
|
||||
data.index = 0
|
||||
syncMyDictList(store.currentDict)
|
||||
}
|
||||
|
||||
function nextChapter() {
|
||||
if (store.currentDict.chapterIndex >= store.currentDict.chapterWords.length - 1) {
|
||||
store.currentDict.chapterIndex = 0
|
||||
} else store.currentDict.chapterIndex++
|
||||
|
||||
getCurrentPractice()
|
||||
}
|
||||
|
||||
@@ -222,7 +211,6 @@ function unknow() {
|
||||
<div class="list-header">
|
||||
<div class="left">
|
||||
<div class="title">
|
||||
{{ store.chapterName }}
|
||||
</div>
|
||||
<BaseIcon title="切换词典"
|
||||
@click="emitter.emit(EventKey.openDictModal,'list')"
|
||||
@@ -249,7 +237,7 @@ function unknow() {
|
||||
</div>
|
||||
<BaseIcon icon="bi:arrow-right"
|
||||
@click="next"
|
||||
v-if="store.currentDict.chapterIndex < store.currentDict.chapterWords.length - 1"/>
|
||||
/>
|
||||
</div>
|
||||
<div class="right">
|
||||
{{ data.words.length }}个单词
|
||||
|
||||
@@ -318,7 +318,6 @@ onMounted(() => {
|
||||
<div class="list-header">
|
||||
<div class="left">
|
||||
<div class="title">
|
||||
{{ store.chapterName }}
|
||||
</div>
|
||||
<BaseIcon title="切换词典"
|
||||
@click="emitter.emit(EventKey.openDictModal,'list')"
|
||||
|
||||
@@ -7,7 +7,7 @@ import {useBaseStore} from "@/stores/base.ts";
|
||||
import {onMounted, onUnmounted} from "vue";
|
||||
import {useRuntimeStore} from "@/stores/runtime.ts";
|
||||
import {ShortcutKey, Word} from "@/types.ts";
|
||||
import {emitter, EventKey} from "@/utils/eventBus.ts";
|
||||
import {emitter, EventKey, useEvent, useEvents} from "@/utils/eventBus.ts";
|
||||
import {useSettingStore} from "@/stores/setting.ts";
|
||||
import {syncMyDictList} from "@/hooks/dict.ts";
|
||||
|
||||
@@ -29,31 +29,24 @@ function getCurrentPractice() {
|
||||
}
|
||||
|
||||
function sort(list: Word[]) {
|
||||
store.currentDict.chapterWords[store.currentDict.chapterIndex] = wordData.words = list
|
||||
wordData.index = 0
|
||||
syncMyDictList(store.currentDict)
|
||||
}
|
||||
|
||||
function next() {
|
||||
if (store.currentDict.chapterIndex >= store.currentDict.chapterWords.length - 1) {
|
||||
store.currentDict.chapterIndex = 0
|
||||
} else store.currentDict.chapterIndex++
|
||||
|
||||
getCurrentPractice()
|
||||
}
|
||||
|
||||
onMounted(() => {
|
||||
getCurrentPractice()
|
||||
emitter.on(EventKey.changeDict, getCurrentPractice)
|
||||
emitter.on(EventKey.next, next)
|
||||
emitter.on(ShortcutKey.NextChapter, next)
|
||||
|
||||
})
|
||||
|
||||
onUnmounted(() => {
|
||||
emitter.off(EventKey.changeDict, getCurrentPractice)
|
||||
emitter.off(EventKey.next, next)
|
||||
emitter.off(ShortcutKey.NextChapter, next)
|
||||
})
|
||||
useEvents([
|
||||
[EventKey.changeDict, getCurrentPractice],
|
||||
[EventKey.next, next],
|
||||
[ShortcutKey.NextChapter, next],
|
||||
])
|
||||
|
||||
defineExpose({getCurrentPractice})
|
||||
|
||||
|
||||
@@ -13,7 +13,7 @@ import {Icon} from "@iconify/vue";
|
||||
import Tooltip from "@/pages/pc/components/Tooltip.vue";
|
||||
import IconWrapper from "@/pages/pc/components/IconWrapper.vue";
|
||||
import BaseIcon from "@/components/BaseIcon.vue";
|
||||
import {emitter, EventKey} from "@/utils/eventBus.ts";
|
||||
import {emitter, EventKey, useEvent} from "@/utils/eventBus.ts";
|
||||
import {useRouter} from "vue-router";
|
||||
import {useRuntimeStore} from "@/stores/runtime.ts";
|
||||
import {cloneDeep} from "lodash-es";
|
||||
@@ -46,14 +46,8 @@ function changeIndex(dict: Dict) {
|
||||
store.changeDict(dict, practiceType)
|
||||
}
|
||||
|
||||
onMounted(() => {
|
||||
emitter.on(EventKey.changeDict, () => {
|
||||
tabIndex = 0
|
||||
})
|
||||
})
|
||||
|
||||
onUnmounted(() => {
|
||||
emitter.off(EventKey.changeDict)
|
||||
useEvent(EventKey.changeDict, () => {
|
||||
tabIndex = 0
|
||||
})
|
||||
|
||||
const {
|
||||
|
||||
@@ -5,7 +5,7 @@ import BaseButton from "@/components/BaseButton.vue";
|
||||
import Empty from "@/components/Empty.vue";
|
||||
import {useRuntimeStore} from "@/stores/runtime.ts";
|
||||
import {cloneDeep} from "lodash-es";
|
||||
import {Article, DefaultArticle, DefaultDict, Dict, DictResource, DictType, Sort, TranslateType} from "@/types.ts";
|
||||
import {Article, DefaultArticle, Dict, DictResource, DictType, getDefaultDict, Sort, TranslateType} from "@/types.ts";
|
||||
import {emitter, EventKey} from "@/utils/eventBus.ts";
|
||||
import EditBatchArticleModal from "@/pages/pc/components/article/EditBatchArticleModal.vue";
|
||||
import {Icon} from "@iconify/vue";
|
||||
@@ -58,7 +58,7 @@ async function getDictDetail(val: {
|
||||
runtimeStore.editDict = cloneDeep(find)
|
||||
} else {
|
||||
runtimeStore.editDict = cloneDeep({
|
||||
...cloneDeep(DefaultDict),
|
||||
...getDefaultDict(),
|
||||
...item,
|
||||
})
|
||||
runtimeStore.editDict.id = nanoid(6)
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<script setup lang="ts">
|
||||
|
||||
import {DefaultDict, Dict, DictType} from "@/types.ts";
|
||||
import {Dict, DictType, getDefaultDict} from "@/types.ts";
|
||||
import {cloneDeep} from "lodash-es";
|
||||
|
||||
import {FormInstance, FormRules} from "element-plus";
|
||||
@@ -54,7 +54,7 @@ async function onSubmit() {
|
||||
await dictFormRef.validate((valid, fields) => {
|
||||
if (valid) {
|
||||
let data: Dict = cloneDeep({
|
||||
...DefaultDict,
|
||||
...getDefaultDict(),
|
||||
...dictForm,
|
||||
})
|
||||
//任意修改,都将其变为自定义词典
|
||||
@@ -100,7 +100,7 @@ onMounted(() => {
|
||||
})
|
||||
|
||||
if (props.isAdd) {
|
||||
dictForm = cloneDeep(DefaultDict)
|
||||
dictForm = getDefaultDict()
|
||||
} else {
|
||||
dictForm = cloneDeep(runtimeStore.editDict)
|
||||
}
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
import BaseIcon from "@/components/BaseIcon.vue";
|
||||
import BaseButton from "@/components/BaseButton.vue";
|
||||
import {assign, chunk, cloneDeep, reverse, shuffle} from "lodash-es";
|
||||
import {DefaultDict, Dict, DictResource, DictType, Sort, Word} from "@/types.ts";
|
||||
import {Dict, DictResource, DictType, getDefaultDict, Sort, Word} from "@/types.ts";
|
||||
import {nanoid} from "nanoid";
|
||||
import {FormInstance, FormRules} from "element-plus";
|
||||
import {reactive} from "vue";
|
||||
@@ -78,7 +78,7 @@ async function getDictDetail(val: {
|
||||
runtimeStore.editDict = cloneDeep(find)
|
||||
} else {
|
||||
runtimeStore.editDict = cloneDeep({
|
||||
...cloneDeep(DefaultDict),
|
||||
...getDefaultDict(),
|
||||
...item,
|
||||
})
|
||||
runtimeStore.editDict.id = nanoid(6)
|
||||
|
||||
@@ -19,7 +19,7 @@ import {MessageBox} from "@/utils/MessageBox.tsx";
|
||||
import {useBaseStore} from "@/stores/base.ts";
|
||||
import EditSingleArticleModal from "@/pages/pc/components/article/EditSingleArticleModal.vue";
|
||||
import {usePracticeStore} from "@/stores/practice.ts";
|
||||
import {emitter, EventKey} from "@/utils/eventBus.ts";
|
||||
import {emitter, EventKey, useEvents} from "@/utils/eventBus.ts";
|
||||
import IconWrapper from "@/pages/pc/components/IconWrapper.vue";
|
||||
import {Icon} from "@iconify/vue";
|
||||
import Tooltip from "@/pages/pc/components/Tooltip.vue";
|
||||
@@ -284,27 +284,19 @@ function shortcutKeyEdit() {
|
||||
|
||||
onMounted(() => {
|
||||
init()
|
||||
emitter.on(EventKey.changeDict, init)
|
||||
emitter.on(EventKey.next, next)
|
||||
|
||||
emitter.on(ShortcutKey.NextChapter, next)
|
||||
emitter.on(ShortcutKey.PlayWordPronunciation, play)
|
||||
emitter.on(ShortcutKey.ShowWord, show)
|
||||
emitter.on(ShortcutKey.Next, skip)
|
||||
emitter.on(ShortcutKey.ToggleCollect, collect)
|
||||
emitter.on(ShortcutKey.EditArticle, shortcutKeyEdit)
|
||||
})
|
||||
|
||||
onUnmounted(() => {
|
||||
emitter.off(EventKey.changeDict, init)
|
||||
emitter.off(EventKey.next, next)
|
||||
emitter.off(ShortcutKey.NextChapter, next)
|
||||
emitter.off(ShortcutKey.PlayWordPronunciation, play)
|
||||
emitter.off(ShortcutKey.ShowWord, show)
|
||||
emitter.off(ShortcutKey.Next, skip)
|
||||
emitter.off(ShortcutKey.ToggleCollect, collect)
|
||||
emitter.off(ShortcutKey.EditArticle, shortcutKeyEdit)
|
||||
})
|
||||
useEvents([
|
||||
[EventKey.changeDict, init],
|
||||
[EventKey.next, next],
|
||||
|
||||
[ShortcutKey.NextChapter, next],
|
||||
[ShortcutKey.PlayWordPronunciation, play],
|
||||
[ShortcutKey.ShowWord, show],
|
||||
[ShortcutKey.Next, skip],
|
||||
[ShortcutKey.ToggleCollect, collect],
|
||||
[ShortcutKey.EditArticle, shortcutKeyEdit],
|
||||
])
|
||||
|
||||
defineExpose({getCurrentPractice})
|
||||
|
||||
|
||||
@@ -6,10 +6,9 @@ import {useRoute} from "vue-router";
|
||||
import {useRuntimeStore} from "@/stores/runtime.ts";
|
||||
import {useBaseStore} from "@/stores/base.ts";
|
||||
import {assign, cloneDeep, reverse, shuffle} from "lodash-es";
|
||||
import {DefaultDict, Sort, Word} from "@/types.ts";
|
||||
import {Sort, Word} from "@/types.ts";
|
||||
import {nanoid} from "nanoid";
|
||||
import BaseIcon from "@/components/BaseIcon.vue";
|
||||
import {Icon} from "@iconify/vue";
|
||||
import {useNav} from "@/utils";
|
||||
import {FormInstance, FormRules} from "element-plus";
|
||||
import MiniDialog from "@/pages/pc/components/dialog/MiniDialog.vue";
|
||||
@@ -174,13 +173,11 @@ function sort(type: Sort) {
|
||||
|
||||
<template>
|
||||
<BasePage>
|
||||
<header class="flex gap-4">
|
||||
<div class="back" @click.stop="back">
|
||||
<Icon icon="octicon:arrow-left-24" width="20"/>
|
||||
</div>
|
||||
<header class="flex gap-4 items-center">
|
||||
<BaseIcon @click="back" icon="octicon:arrow-left-24" width="20"/>
|
||||
<div class="left">
|
||||
<div class="top">
|
||||
<div class="title">
|
||||
<div class="text-xl">
|
||||
{{ runtimeStore.editDict.name }}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -6,12 +6,13 @@ import "vue-activity-calendar/style.css";
|
||||
import {useRouter} from "vue-router";
|
||||
import BaseIcon from "@/components/BaseIcon.vue";
|
||||
import Dialog from "@/pages/pc/components/dialog/Dialog.vue";
|
||||
import {useNav} from "@/utils";
|
||||
import {_getAccomplishDate, _getAccomplishDays, useNav} from "@/utils";
|
||||
import BasePage from "@/pages/pc/components/BasePage.vue";
|
||||
import {getDefaultDict} from "@/types.ts";
|
||||
import {onMounted, watch} from "vue";
|
||||
import {getCurrentStudyWord} from "@/hooks/dict.ts";
|
||||
import {usePracticeStore} from "@/stores/practice.ts";
|
||||
import {EventKey, useEvent} from "@/utils/eventBus.ts";
|
||||
|
||||
const store = useBaseStore()
|
||||
const statStore = usePracticeStore()
|
||||
@@ -34,11 +35,6 @@ let currentStudy = $ref({
|
||||
review: [],
|
||||
write: []
|
||||
})
|
||||
watch(() => store.load, n => {
|
||||
if (n) {
|
||||
currentStudy = getCurrentStudyWord()
|
||||
}
|
||||
})
|
||||
|
||||
onMounted(() => {
|
||||
if (!currentStudy.new.length) {
|
||||
@@ -46,12 +42,21 @@ onMounted(() => {
|
||||
}
|
||||
})
|
||||
|
||||
useEvent(EventKey.changeDict, () => {
|
||||
currentStudy = getCurrentStudyWord()
|
||||
})
|
||||
|
||||
function study() {
|
||||
nav('study-word', {}, currentStudy)
|
||||
}
|
||||
|
||||
let show = $ref(false)
|
||||
let tempPerDayStudyNumber = $ref(0)
|
||||
|
||||
function changePerDayStudyNumber() {
|
||||
store.sdict.perDayStudyNumber = tempPerDayStudyNumber
|
||||
currentStudy = getCurrentStudyWord()
|
||||
}
|
||||
</script>
|
||||
|
||||
<template>
|
||||
@@ -68,35 +73,27 @@ let tempPerDayStudyNumber = $ref(0)
|
||||
@click="router.push('/dict')"/>
|
||||
</div>
|
||||
<div class="flex-1 flex flex-col justify-end items-end">
|
||||
<div class="flex gap-3">
|
||||
<div class="">
|
||||
<div class="title">
|
||||
每日目标
|
||||
</div>
|
||||
<div class="flex">
|
||||
<div style="color:#ac6ed1;" class="cursor-pointer" v-if="false">
|
||||
更改目标
|
||||
</div>
|
||||
<div class="text-xs">学习 {{ store.sdict.perDayStudyNumber }} 个单词</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="flex gap-3 items-center">
|
||||
每日目标
|
||||
<div
|
||||
style="color:#ac6ed1;"
|
||||
@click="show = true;tempPerDayStudyNumber = store.sdict.perDayStudyNumber"
|
||||
class="bg-slate-200 w-10 h-10 flex center text-2xl rounded cursor-pointer">
|
||||
class="bg-slate-200 px-2 h-10 flex center text-2xl rounded cursor-pointer">
|
||||
{{ store.sdict.perDayStudyNumber }}
|
||||
</div>
|
||||
个单词
|
||||
</div>
|
||||
<div class="mt-2">
|
||||
<div>预计完成日期:2024-04-01</div>
|
||||
<div class="mt-2 text-sm">
|
||||
预计完成日期:{{ _getAccomplishDate(store.sdict.words.length, store.sdict.perDayStudyNumber) }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="mt-2">
|
||||
<div class="text-sm flex justify-between">
|
||||
已学习{{ store.currentStudyWordProgress }}%
|
||||
<span>{{ store.currentStudyWordDict.lastLearnIndex }} /{{
|
||||
<span>{{ store.currentStudyWordDict.lastLearnIndex }} / {{
|
||||
store.currentStudyWordDict.words.length
|
||||
}}词</span>
|
||||
}}</span>
|
||||
</div>
|
||||
<el-progress class="mt-1" :percentage="store.currentStudyWordProgress" :show-text="false"></el-progress>
|
||||
</div>
|
||||
@@ -205,7 +202,7 @@ let tempPerDayStudyNumber = $ref(0)
|
||||
<Dialog v-model="show"
|
||||
title="每日目标"
|
||||
:footer="true"
|
||||
@ok="store.sdict.perDayStudyNumber = tempPerDayStudyNumber"
|
||||
@ok="changePerDayStudyNumber"
|
||||
>
|
||||
<div class="target-modal">
|
||||
<div class="center text-2xl gap-2">
|
||||
@@ -228,7 +225,7 @@ let tempPerDayStudyNumber = $ref(0)
|
||||
<div>预计</div>
|
||||
<span class="text-2xl"
|
||||
style="color:rgb(176,116,211)">{{
|
||||
Math.ceil(store.sdict.words.length / tempPerDayStudyNumber)
|
||||
_getAccomplishDays(store.sdict.words.length, tempPerDayStudyNumber)
|
||||
}}</span>天完成学习
|
||||
</div>
|
||||
<div>
|
||||
|
||||
@@ -69,7 +69,7 @@ const router = VueRouter.createRouter({
|
||||
},
|
||||
})
|
||||
|
||||
router.beforeEach((to, from) => {
|
||||
router.beforeEach((to: any, from: any) => {
|
||||
// console.log('beforeEach-to',to.path)
|
||||
// console.log('beforeEach-from',from.path)
|
||||
const runtimeStore = useRuntimeStore()
|
||||
|
||||
@@ -1,16 +1,14 @@
|
||||
import {defineStore} from 'pinia'
|
||||
import {Article, DefaultDict, Dict, DictType, DisplayStatistics, getDefaultDict, Sort, Word} from "../types.ts"
|
||||
import {chunk, cloneDeep, merge, reverse, shuffle} from "lodash-es";
|
||||
import {Dict, DictType, getDefaultDict, Sort, Word} from "../types.ts"
|
||||
import {cloneDeep, merge, reverse, shuffle} from "lodash-es";
|
||||
import {emitter, EventKey} from "@/utils/eventBus.ts"
|
||||
import {useRuntimeStore} from "@/stores/runtime.ts";
|
||||
import * as localforage from "localforage";
|
||||
import {nanoid} from "nanoid";
|
||||
import {SAVE_DICT_KEY, SAVE_SETTING_KEY} from "@/utils/const.ts";
|
||||
import {checkAndUpgradeSaveDict, getDictFile} from "@/utils";
|
||||
import {SAVE_DICT_KEY} from "@/utils/const.ts";
|
||||
import {_checkDictWords, checkAndUpgradeSaveDict, getDictFile} from "@/utils";
|
||||
|
||||
export interface BaseState {
|
||||
myDictList: Dict[],
|
||||
collectDictIds: string[],
|
||||
current: {
|
||||
index: number,
|
||||
practiceType: DictType,//练习类型,目前仅词典为collect时判断是练单词还是文章使用
|
||||
@@ -25,8 +23,6 @@ export interface BaseState {
|
||||
currentStudy?: {
|
||||
word: {
|
||||
dictIndex: number,
|
||||
perDayStudyNumber: number,
|
||||
lastLearnIndex: number,
|
||||
},
|
||||
article: {
|
||||
dictIndex: number,
|
||||
@@ -37,6 +33,7 @@ export interface BaseState {
|
||||
|
||||
export const DefaultBaseState = (): BaseState => ({
|
||||
commonDictList: [
|
||||
getDefaultDict(),
|
||||
{
|
||||
...getDefaultDict(),
|
||||
index: 1,
|
||||
@@ -120,7 +117,7 @@ export const DefaultBaseState = (): BaseState => ({
|
||||
|
||||
articleDictList: [
|
||||
{
|
||||
...cloneDeep(DefaultDict),
|
||||
...getDefaultDict(),
|
||||
id: 'article_nce2',
|
||||
name: "新概念英语2-课文",
|
||||
description: '新概念英语2-课文',
|
||||
@@ -175,7 +172,7 @@ export const DefaultBaseState = (): BaseState => ({
|
||||
|
||||
myDictList: [
|
||||
{
|
||||
...cloneDeep(DefaultDict),
|
||||
...getDefaultDict(),
|
||||
id: 'collect',
|
||||
name: '收藏',
|
||||
type: DictType.collect,
|
||||
@@ -184,7 +181,7 @@ export const DefaultBaseState = (): BaseState => ({
|
||||
isCustom: true,
|
||||
},
|
||||
{
|
||||
...cloneDeep(DefaultDict),
|
||||
...getDefaultDict(),
|
||||
id: 'skip',
|
||||
name: '简单词',
|
||||
type: DictType.simple,
|
||||
@@ -192,7 +189,7 @@ export const DefaultBaseState = (): BaseState => ({
|
||||
isCustom: true,
|
||||
},
|
||||
{
|
||||
...cloneDeep(DefaultDict),
|
||||
...getDefaultDict(),
|
||||
id: 'wrong',
|
||||
name: '错词本',
|
||||
type: DictType.wrong,
|
||||
@@ -200,7 +197,7 @@ export const DefaultBaseState = (): BaseState => ({
|
||||
isCustom: true,
|
||||
},
|
||||
{
|
||||
...cloneDeep(DefaultDict),
|
||||
...getDefaultDict(),
|
||||
id: 'cet4',
|
||||
name: 'CET-4',
|
||||
description: '大学英语四级词库',
|
||||
@@ -213,7 +210,7 @@ export const DefaultBaseState = (): BaseState => ({
|
||||
type: DictType.word
|
||||
},
|
||||
{
|
||||
...cloneDeep(DefaultDict),
|
||||
...getDefaultDict(),
|
||||
id: 'article_nce2',
|
||||
name: "新概念英语2-课文",
|
||||
description: '新概念英语2-课文',
|
||||
@@ -226,26 +223,9 @@ export const DefaultBaseState = (): BaseState => ({
|
||||
resourceId: 'article_nce2',
|
||||
length: 96
|
||||
},
|
||||
// {
|
||||
// ...cloneDeep(DefaultDict),
|
||||
// id: 'nce-new-2',
|
||||
// name: '新概念英语(新版)-2',
|
||||
// description: '新概念英语新版第二册',
|
||||
// category: '青少年英语',
|
||||
// tags: ['新概念英语'],
|
||||
// url: 'nce-new-2.json',
|
||||
// translateLanguage: 'common',
|
||||
// language: 'en',
|
||||
// type: DictType.word,
|
||||
// resourceId: 'nce-new-2',
|
||||
// length: 862
|
||||
// },
|
||||
],
|
||||
collectDictIds: [],
|
||||
current: {
|
||||
index: 4,
|
||||
// dictType: DictType.article,
|
||||
// dictIndex: 0,
|
||||
practiceType: DictType.article,
|
||||
},
|
||||
simpleWords: [
|
||||
@@ -324,21 +304,6 @@ export const useBaseStore = defineStore('base', {
|
||||
chapter(state: BaseState): Word[] {
|
||||
return this.currentDict.chapterWords[this.currentDict.chapterIndex] ?? []
|
||||
},
|
||||
chapterName(state: BaseState) {
|
||||
let title = ''
|
||||
switch (this.currentDict.type) {
|
||||
case DictType.collect:
|
||||
if (state.current.practiceType === DictType.article) {
|
||||
return `第${this.currentDict.chapterIndex + 1}章`
|
||||
}
|
||||
case DictType.wrong:
|
||||
case DictType.simple:
|
||||
return this.currentDict.name
|
||||
case DictType.word:
|
||||
return `第${this.currentDict.chapterIndex + 1}章`
|
||||
}
|
||||
return title
|
||||
}
|
||||
},
|
||||
actions: {
|
||||
setState(obj: any) {
|
||||
@@ -353,7 +318,7 @@ export const useBaseStore = defineStore('base', {
|
||||
} else {
|
||||
let configStr: string = await localforage.getItem(SAVE_DICT_KEY.key)
|
||||
let data = checkAndUpgradeSaveDict(configStr)
|
||||
// this.setState(data)
|
||||
this.setState(data)
|
||||
}
|
||||
localforage.setItem(SAVE_DICT_KEY.key, JSON.stringify({val: this.$state, version: SAVE_DICT_KEY.version}))
|
||||
} catch (e) {
|
||||
@@ -368,21 +333,9 @@ export const useBaseStore = defineStore('base', {
|
||||
}
|
||||
|
||||
if (this.currentStudy.word.dictIndex >= 0) {
|
||||
let current = this.currentStudyWordDict
|
||||
await _checkDictWords(this.currentStudyWordDict)
|
||||
let current = this.articleDictList[this.currentStudy.article.dictIndex]
|
||||
let dictResourceUrl = `./dicts/${current.language}/${current.type}/${current.translateLanguage}/${current.url}`;
|
||||
if (!current.words.length) {
|
||||
let v = await getDictFile(dictResourceUrl)
|
||||
// v = v.slice(0, 50)
|
||||
v.map(s => {
|
||||
s.id = nanoid(6)
|
||||
})
|
||||
// current.originWords = cloneDeep(v)
|
||||
// current.words = cloneDeep(v)
|
||||
current.words = Object.freeze(v)
|
||||
}
|
||||
|
||||
current = this.articleDictList[this.currentStudy.article.dictIndex]
|
||||
dictResourceUrl = `./dicts/${current.language}/${current.type}/${current.translateLanguage}/${current.url}`;
|
||||
if (!current.articles.length) {
|
||||
let s = await getDictFile(dictResourceUrl)
|
||||
current.articles = cloneDeep(s.map(v => {
|
||||
@@ -398,96 +351,10 @@ export const useBaseStore = defineStore('base', {
|
||||
})
|
||||
},
|
||||
async changeDict(dict: Dict, practiceType?: DictType, chapterIndex?: number, wordIndex?: number) {
|
||||
//TODO 保存统计
|
||||
// this.saveStatistics()
|
||||
console.log('changeDict', cloneDeep(dict), chapterIndex, wordIndex)
|
||||
if (practiceType === undefined) this.current.practiceType = practiceType
|
||||
if ([DictType.collect,
|
||||
DictType.simple,
|
||||
DictType.wrong].includes(dict.type)) {
|
||||
} else {
|
||||
//TODO 需要和其他需要下载的地方统一
|
||||
let url = `./dicts/${dict.language}/${dict.type}/${dict.translateLanguage}/${dict.url}`;
|
||||
if (dict.type === DictType.article) {
|
||||
if (!dict.articles.length) {
|
||||
let r = await fetch(url)
|
||||
let v = await r.json()
|
||||
v.map(s => {
|
||||
s.id = nanoid(6)
|
||||
})
|
||||
dict.articles = cloneDeep(v)
|
||||
} else {
|
||||
dict.length = dict.articles.length
|
||||
}
|
||||
if (chapterIndex > dict.articles.length) {
|
||||
}
|
||||
} else {
|
||||
//如果不是自定义词典,并且有url地址才去下载
|
||||
if (!dict.isCustom && dict.url) {
|
||||
if (!dict.originWords.length) {
|
||||
let v = await getDictFile(url)
|
||||
v.map(s => {
|
||||
s.id = nanoid(6)
|
||||
})
|
||||
dict.originWords = cloneDeep(v)
|
||||
if (dict.sort === Sort.normal) {
|
||||
dict.words = cloneDeep(dict.originWords)
|
||||
} else if (dict.sort === Sort.random) {
|
||||
dict.words = shuffle(dict.originWords)
|
||||
} else {
|
||||
dict.words = reverse(dict.originWords)
|
||||
}
|
||||
dict.words.map(v => v.checked = false)
|
||||
dict.length = dict.words.length
|
||||
} else {
|
||||
dict.length = dict.words.length
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
// await checkDictHasTranslate(dict)
|
||||
let rIndex = this.myDictList.findIndex((v: Dict) => v.id === dict.id)
|
||||
if (rIndex > -1) {
|
||||
this.myDictList[rIndex] = dict
|
||||
this.current.index = rIndex
|
||||
} else {
|
||||
this.myDictList.push(cloneDeep(dict))
|
||||
this.current.index = this.myDictList.length - 1
|
||||
}
|
||||
|
||||
emitter.emit(EventKey.changeDict)
|
||||
},
|
||||
async changeWordDict(dict: Dict) {
|
||||
if ([DictType.collect,
|
||||
DictType.simple,
|
||||
DictType.wrong].includes(dict.type)) {
|
||||
} else {
|
||||
//TODO 需要和其他需要下载的地方统一
|
||||
let url = `./dicts/${dict.language}/${dict.type}/${dict.translateLanguage}/${dict.url}`;
|
||||
//如果不是自定义词典,并且有url地址才去下载
|
||||
if (!dict.isCustom && dict.url) {
|
||||
if (!dict.words.length) {
|
||||
let v = await getDictFile(url)
|
||||
v.map(s => {
|
||||
s.id = nanoid(6)
|
||||
})
|
||||
if (dict.sort === Sort.normal) {
|
||||
dict.words = cloneDeep(v)
|
||||
} else if (dict.sort === Sort.random) {
|
||||
dict.words = shuffle(v)
|
||||
} else {
|
||||
dict.words = reverse(v)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
console.log('changeDict', cloneDeep(dict),)
|
||||
|
||||
this.wordDictList.map(v => {
|
||||
v.words = []
|
||||
})
|
||||
|
||||
// await checkDictHasTranslate(dict)
|
||||
this.wordDictList.map((v) => v.words = [])
|
||||
// await checkDictHasTranslate(newDict)
|
||||
let rIndex = this.wordDictList.findIndex((v: Dict) => v.id === dict.id)
|
||||
if (rIndex > -1) {
|
||||
this.wordDictList[rIndex] = Object.assign(dict, this.wordDictList[rIndex])
|
||||
@@ -496,7 +363,9 @@ export const useBaseStore = defineStore('base', {
|
||||
this.wordDictList.push(getDefaultDict(dict))
|
||||
this.currentStudy.word.dictIndex = this.wordDictList.length - 1
|
||||
}
|
||||
await _checkDictWords(this.currentStudyWordDict)
|
||||
|
||||
console.log(' store.currentStudyWordDict', this.currentStudyWordDict)
|
||||
emitter.emit(EventKey.changeDict)
|
||||
},
|
||||
async changeArticleDict(dict: Dict) {
|
||||
@@ -566,6 +435,7 @@ export const useBaseStore = defineStore('base', {
|
||||
if (rIndex > -1) {
|
||||
this.currentStudy.word.dictIndex = rIndex
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
},
|
||||
})
|
||||
@@ -1,6 +1,5 @@
|
||||
import {defineStore} from "pinia"
|
||||
import {DefaultDict, Dict} from "@/types.ts";
|
||||
import {cloneDeep} from "lodash-es";
|
||||
import {Dict, getDefaultDict} from "@/types.ts";
|
||||
|
||||
export interface RuntimeState {
|
||||
disableEventListener: boolean,
|
||||
@@ -18,7 +17,7 @@ export const useRuntimeStore = defineStore('runtime', {
|
||||
routeData: null,
|
||||
disableEventListener: false,
|
||||
modalList: [],
|
||||
editDict: cloneDeep(DefaultDict),
|
||||
editDict: getDefaultDict(),
|
||||
showDictModal: false,
|
||||
showSettingModal: false,
|
||||
excludeRoutes: [],
|
||||
|
||||
21
src/types.ts
21
src/types.ts
@@ -236,26 +236,6 @@ export const languageCategoryOptions = [
|
||||
{id: 'my', name: '我的', flag: myFlag},
|
||||
]
|
||||
|
||||
export const DefaultDict: Dict = {
|
||||
id: '',
|
||||
name: '',
|
||||
description: '',
|
||||
sort: Sort.normal,
|
||||
words: [],
|
||||
articles: [],
|
||||
statistics: [],
|
||||
isCustom: false,
|
||||
length: 0,
|
||||
/*资源属性*/
|
||||
resourceId: '',
|
||||
url: '',
|
||||
category: '',
|
||||
tags: [],
|
||||
translateLanguage: 'common',
|
||||
type: DictType.word,
|
||||
language: 'en',
|
||||
}
|
||||
|
||||
export function getDefaultDict(val = {}): Dict {
|
||||
return {
|
||||
id: '',
|
||||
@@ -288,7 +268,6 @@ export interface Dict {
|
||||
perDayStudyNumber: number,
|
||||
description: string,
|
||||
sort: Sort,
|
||||
originWords: Word[],//原始单词
|
||||
words: Word[],
|
||||
articles: Article[],
|
||||
statistics: Statistics[],
|
||||
|
||||
@@ -30,4 +30,14 @@ export function useEvent(key: string, func: () => void) {
|
||||
onUnmounted(() => {
|
||||
emitter.off(key, func)
|
||||
})
|
||||
}
|
||||
|
||||
export function useEvents(arrs: any[],) {
|
||||
onMounted(() => {
|
||||
arrs.map((arr) => emitter.on(arr[0], arr[1]))
|
||||
})
|
||||
|
||||
onUnmounted(() => {
|
||||
arrs.map((arr) => emitter.off(arr[0], arr[1]))
|
||||
})
|
||||
}
|
||||
@@ -6,6 +6,8 @@ import {Dict, DictType} from "@/types.ts";
|
||||
import {ArchiveReader, libarchiveWasm} from "libarchive-wasm";
|
||||
import {useRouter} from "vue-router";
|
||||
import {useRuntimeStore} from "@/stores/runtime.ts";
|
||||
import {nanoid} from "nanoid";
|
||||
import dayjs from 'dayjs'
|
||||
|
||||
export function getRandom(a: number, b: number): number {
|
||||
return Math.random() * (b - a) + a;
|
||||
@@ -45,41 +47,8 @@ export function checkAndUpgradeSaveDict(val: any) {
|
||||
}
|
||||
return defaultBaseState
|
||||
} else {
|
||||
if (version <= 3) {
|
||||
// if (false) {
|
||||
let temp = (list: any[]): any[] => {
|
||||
return list.map(a => {
|
||||
return {
|
||||
word: a.name,
|
||||
trans: a.trans.map(b => {
|
||||
return {
|
||||
cn: b,
|
||||
}
|
||||
}),
|
||||
phonetic0: a.usphone,
|
||||
phonetic1: a.ukphone,
|
||||
}
|
||||
})
|
||||
}
|
||||
state.myDictList.map(v => {
|
||||
if ([DictType.collect, DictType.simple, DictType.wrong].includes(v.type)) {
|
||||
v.originWords = temp(v.originWords)
|
||||
if (v.words) v.words = temp(v.words)
|
||||
v.chapterWords.map((s, i) => {
|
||||
v.chapterWords[i] = temp(s)
|
||||
})
|
||||
} else {
|
||||
if (v.isCustom) {
|
||||
if (v.type === DictType.word) {
|
||||
v.originWords = temp(v.originWords)
|
||||
if (v.words) v.words = temp(v.words)
|
||||
v.chapterWords.map((s, i) => {
|
||||
v.chapterWords[i] = temp(s)
|
||||
})
|
||||
}
|
||||
}
|
||||
}
|
||||
})
|
||||
if (version <= 4) {
|
||||
state = defaultBaseState
|
||||
}
|
||||
//防止人为删除数据,导致数据不完整报错
|
||||
for (const [key, value] of Object.entries(defaultBaseState)) {
|
||||
@@ -236,4 +205,33 @@ export function _dateFormat(val, type?): string {
|
||||
default:
|
||||
return `${year}-${mStr}-${dayStr} ${hStr}:${minStr}:${secStr}`
|
||||
}
|
||||
}
|
||||
|
||||
export async function _checkDictWords(dict: Dict) {
|
||||
if ([DictType.collect,
|
||||
DictType.simple,
|
||||
DictType.wrong].includes(dict.type)) {
|
||||
} else {
|
||||
//TODO 需要和其他需要下载的地方统一
|
||||
let url = `./dicts/${dict.language}/${dict.type}/${dict.translateLanguage}/${dict.url}`;
|
||||
//如果不是自定义词典,并且有url地址才去下载
|
||||
if (!dict.isCustom && dict.url) {
|
||||
if (!dict.words.length) {
|
||||
let v = await getDictFile(url)
|
||||
v.map(s => {
|
||||
s.id = nanoid(6)
|
||||
})
|
||||
dict.words = Object.freeze(v)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
export function _getAccomplishDays(total: number, dayNumber: number) {
|
||||
return Math.ceil(total / dayNumber)
|
||||
}
|
||||
|
||||
export function _getAccomplishDate(total: number, dayNumber: number) {
|
||||
let d = _getAccomplishDays(total, dayNumber)
|
||||
return dayjs().add(d, 'day').format('YYYY-MM-DD')
|
||||
}
|
||||
Reference in New Issue
Block a user