version: v5.0.5

This commit is contained in:
XiaoDaiGua-Ray 2024-11-14 21:10:46 +08:00
parent 83e0c19ba9
commit 2c84e3ce4c
23 changed files with 404 additions and 271 deletions

View File

@ -1,4 +1,5 @@
{ {
"editor.formatOnSave": true,
"i18n-ally.localesPaths": ["src/locales/lang"], "i18n-ally.localesPaths": ["src/locales/lang"],
"i18n-ally.keystyle": "nested", "i18n-ally.keystyle": "nested",
"i18n-ally.sortKeys": true, "i18n-ally.sortKeys": true,
@ -45,6 +46,5 @@
"stylelint", "stylelint",
"WUJIE", "WUJIE",
"zlevel" "zlevel"
], ]
"peacock.color": "#007fff"
} }

View File

@ -1,5 +1,20 @@
# CHANGE LOG # CHANGE LOG
## 5.0.5
## Feats
- 新增 `GLOBAL_CLASS_NAMES` 配置项
- 新增 `canSkipRoute` 方法,用于初始化系统菜单时,自动获取可跳转的路由,避免权限系统列表中无权限路由跳转导致异常的问题
- 优化 `useElementFullscreen` 方法的过渡效果
- `useElementFullscreen` 新增 `isFullscreen` 属性,标识当前元素是否处于网页全屏状态
## Fixes
- 修复锁屏逻辑问题
- 修复菜单有时候不能正常的展开被激活项的问题
- 修复 `useSiderBar``close` 问题
## 5.0.4 ## 5.0.4
`ts` 版本与 `eslint` 解析插件版本更新至最新版,并且同步解决了以前历史遗留的一些问题。 `ts` 版本与 `eslint` 解析插件版本更新至最新版,并且同步解决了以前历史遗留的一些问题。

View File

@ -1,7 +1,7 @@
{ {
"name": "ray-template", "name": "ray-template",
"private": false, "private": false,
"version": "5.0.4", "version": "5.0.5",
"type": "module", "type": "module",
"engines": { "engines": {
"node": "^18.0.0 || >=20.0.0", "node": "^18.0.0 || >=20.0.0",

274
pnpm-lock.yaml generated
View File

@ -16,7 +16,7 @@ importers:
version: 2.0.10(@logicflow/core@2.0.6) version: 2.0.10(@logicflow/core@2.0.6)
'@vueuse/core': '@vueuse/core':
specifier: ^11.1.0 specifier: ^11.1.0
version: 11.1.0(vue@3.5.12) version: 11.1.0(vue@3.5.12(typescript@5.6.3))
axios: axios:
specifier: ^1.7.5 specifier: ^1.7.5
version: 1.7.5 version: 1.7.5
@ -49,13 +49,13 @@ importers:
version: 1.1.0 version: 1.1.0
naive-ui: naive-ui:
specifier: ^2.40.1 specifier: ^2.40.1
version: 2.40.1(vue@3.5.12) version: 2.40.1(vue@3.5.12(typescript@5.6.3))
pinia: pinia:
specifier: ^2.2.4 specifier: ^2.2.4
version: 2.2.4(typescript@5.6.3)(vue@3.5.12) version: 2.2.4(typescript@5.6.3)(vue@3.5.12(typescript@5.6.3))
pinia-plugin-persistedstate: pinia-plugin-persistedstate:
specifier: ^4.1.1 specifier: ^4.1.1
version: 4.1.1(pinia@2.2.4)(rollup@4.20.0) version: 4.1.1(pinia@2.2.4(typescript@5.6.3)(vue@3.5.12(typescript@5.6.3)))(rollup@4.20.0)(webpack-sources@3.2.3)
print-js: print-js:
specifier: ^1.6.0 specifier: ^1.6.0
version: 1.6.0 version: 1.6.0
@ -64,16 +64,16 @@ importers:
version: 3.5.12(typescript@5.6.3) version: 3.5.12(typescript@5.6.3)
vue-demi: vue-demi:
specifier: 0.14.6 specifier: 0.14.6
version: 0.14.6(vue@3.5.12) version: 0.14.6(vue@3.5.12(typescript@5.6.3))
vue-hooks-plus: vue-hooks-plus:
specifier: 2.2.1 specifier: 2.2.1
version: 2.2.1(vue@3.5.12) version: 2.2.1(vue@3.5.12(typescript@5.6.3))
vue-i18n: vue-i18n:
specifier: ^9.13.1 specifier: ^9.13.1
version: 9.13.1(vue@3.5.12) version: 9.13.1(vue@3.5.12(typescript@5.6.3))
vue-router: vue-router:
specifier: ^4.3.2 specifier: ^4.3.2
version: 4.3.2(vue@3.5.12) version: 4.3.2(vue@3.5.12(typescript@5.6.3))
vue3-next-qrcode: vue3-next-qrcode:
specifier: 2.0.10 specifier: 2.0.10
version: 2.0.10(typescript@5.6.3) version: 2.0.10(typescript@5.6.3)
@ -89,7 +89,7 @@ importers:
version: 1.10.21 version: 1.10.21
'@intlify/unplugin-vue-i18n': '@intlify/unplugin-vue-i18n':
specifier: ^4.0.0 specifier: ^4.0.0
version: 4.0.0(rollup@4.20.0)(vue-i18n@9.13.1) version: 4.0.0(rollup@4.20.0)(vue-i18n@9.13.1(vue@3.5.12(typescript@5.6.3)))
'@types/crypto-js': '@types/crypto-js':
specifier: ^4.2.2 specifier: ^4.2.2
version: 4.2.2 version: 4.2.2
@ -104,28 +104,28 @@ importers:
version: 1.0.7 version: 1.0.7
'@typescript-eslint/eslint-plugin': '@typescript-eslint/eslint-plugin':
specifier: ^8.13.0 specifier: ^8.13.0
version: 8.13.0(@typescript-eslint/parser@8.13.0)(eslint@8.57.0)(typescript@5.6.3) version: 8.13.0(@typescript-eslint/parser@8.13.0(eslint@8.57.0)(typescript@5.6.3))(eslint@8.57.0)(typescript@5.6.3)
'@typescript-eslint/parser': '@typescript-eslint/parser':
specifier: ^8.13.0 specifier: ^8.13.0
version: 8.13.0(eslint@8.57.0)(typescript@5.6.3) version: 8.13.0(eslint@8.57.0)(typescript@5.6.3)
'@vitejs/plugin-vue': '@vitejs/plugin-vue':
specifier: ^5.1.0 specifier: ^5.1.0
version: 5.1.0(vite@5.4.3)(vue@3.5.12) version: 5.1.0(vite@5.4.3(@types/node@20.5.1)(sass@1.71.1))(vue@3.5.12(typescript@5.6.3))
'@vitejs/plugin-vue-jsx': '@vitejs/plugin-vue-jsx':
specifier: ^4.0.1 specifier: ^4.0.1
version: 4.0.1(vite@5.4.3)(vue@3.5.12) version: 4.0.1(vite@5.4.3(@types/node@20.5.1)(sass@1.71.1))(vue@3.5.12(typescript@5.6.3))
'@vitest/ui': '@vitest/ui':
specifier: 1.4.0 specifier: 1.4.0
version: 1.4.0(vitest@1.5.2) version: 1.4.0(vitest@1.5.2)
'@vue/eslint-config-prettier': '@vue/eslint-config-prettier':
specifier: ^9.0.0 specifier: ^9.0.0
version: 9.0.0(eslint@8.57.0)(prettier@3.2.5) version: 9.0.0(@types/eslint@8.56.6)(eslint@8.57.0)(prettier@3.2.5)
'@vue/eslint-config-typescript': '@vue/eslint-config-typescript':
specifier: ^12.0.0 specifier: ^12.0.0
version: 12.0.0(eslint-plugin-vue@9.25.0)(eslint@8.57.0)(typescript@5.6.3) version: 12.0.0(eslint-plugin-vue@9.25.0(eslint@8.57.0))(eslint@8.57.0)(typescript@5.6.3)
'@vue/test-utils': '@vue/test-utils':
specifier: 2.4.3 specifier: 2.4.3
version: 2.4.3(vue@3.5.12) version: 2.4.3(@vue/server-renderer@3.5.12(vue@3.5.12(typescript@5.6.3)))(vue@3.5.12(typescript@5.6.3))
autoprefixer: autoprefixer:
specifier: ^10.4.16 specifier: ^10.4.16
version: 10.4.16(postcss@8.4.38) version: 10.4.16(postcss@8.4.38)
@ -140,10 +140,10 @@ importers:
version: 9.1.0(eslint@8.57.0) version: 9.1.0(eslint@8.57.0)
eslint-config-standard-with-typescript: eslint-config-standard-with-typescript:
specifier: ^43.0.0 specifier: ^43.0.0
version: 43.0.0(@typescript-eslint/eslint-plugin@8.13.0)(eslint-plugin-import@2.30.0)(eslint-plugin-n@16.6.2)(eslint-plugin-promise@6.1.1)(eslint@8.57.0)(typescript@5.6.3) version: 43.0.0(@typescript-eslint/eslint-plugin@8.13.0(@typescript-eslint/parser@8.13.0(eslint@8.57.0)(typescript@5.6.3))(eslint@8.57.0)(typescript@5.6.3))(eslint-plugin-import@2.30.0(@typescript-eslint/parser@8.13.0(eslint@8.57.0)(typescript@5.6.3))(eslint@8.57.0))(eslint-plugin-n@16.6.2(eslint@8.57.0))(eslint-plugin-promise@6.1.1(eslint@8.57.0))(eslint@8.57.0)(typescript@5.6.3)
eslint-plugin-prettier: eslint-plugin-prettier:
specifier: ^5.1.3 specifier: ^5.1.3
version: 5.1.3(eslint-config-prettier@9.1.0)(eslint@8.57.0)(prettier@3.2.5) version: 5.1.3(@types/eslint@8.56.6)(eslint-config-prettier@9.1.0(eslint@8.57.0))(eslint@8.57.0)(prettier@3.2.5)
eslint-plugin-promise: eslint-plugin-promise:
specifier: ^6.1.1 specifier: ^6.1.1
version: 6.1.1(eslint@8.57.0) version: 6.1.1(eslint@8.57.0)
@ -182,10 +182,10 @@ importers:
version: 5.6.3 version: 5.6.3
unplugin-auto-import: unplugin-auto-import:
specifier: ^0.18.2 specifier: ^0.18.2
version: 0.18.2(@vueuse/core@11.1.0)(rollup@4.20.0) version: 0.18.2(@nuxt/kit@3.13.2(rollup@4.20.0)(webpack-sources@3.2.3))(@vueuse/core@11.1.0(vue@3.5.12(typescript@5.6.3)))(rollup@4.20.0)(webpack-sources@3.2.3)
unplugin-vue-components: unplugin-vue-components:
specifier: ^0.27.4 specifier: ^0.27.4
version: 0.27.4(rollup@4.20.0)(vue@3.5.12) version: 0.27.4(@babel/parser@7.25.8)(@nuxt/kit@3.13.2(rollup@4.20.0)(webpack-sources@3.2.3))(rollup@4.20.0)(vue@3.5.12(typescript@5.6.3))(webpack-sources@3.2.3)
vite: vite:
specifier: ^5.4.3 specifier: ^5.4.3
version: 5.4.3(@types/node@20.5.1)(sass@1.71.1) version: 5.4.3(@types/node@20.5.1)(sass@1.71.1)
@ -197,25 +197,25 @@ importers:
version: 1.1.0(rollup@4.20.0) version: 1.1.0(rollup@4.20.0)
vite-plugin-ejs: vite-plugin-ejs:
specifier: ^1.7.0 specifier: ^1.7.0
version: 1.7.0(vite@5.4.3) version: 1.7.0(vite@5.4.3(@types/node@20.5.1)(sass@1.71.1))
vite-plugin-eslint: vite-plugin-eslint:
specifier: 1.8.1 specifier: 1.8.1
version: 1.8.1(eslint@8.57.0)(vite@5.4.3) version: 1.8.1(eslint@8.57.0)(vite@5.4.3(@types/node@20.5.1)(sass@1.71.1))
vite-plugin-inspect: vite-plugin-inspect:
specifier: ^0.8.3 specifier: ^0.8.3
version: 0.8.3(rollup@4.20.0)(vite@5.4.3) version: 0.8.3(@nuxt/kit@3.13.2(rollup@4.20.0)(webpack-sources@3.2.3))(rollup@4.20.0)(vite@5.4.3(@types/node@20.5.1)(sass@1.71.1))
vite-plugin-mock-dev-server: vite-plugin-mock-dev-server:
specifier: 1.4.7 specifier: 1.4.7
version: 1.4.7(rollup@4.20.0)(vite@5.4.3) version: 1.4.7(rollup@4.20.0)(vite@5.4.3(@types/node@20.5.1)(sass@1.71.1))
vite-plugin-svg-icons: vite-plugin-svg-icons:
specifier: ^2.0.1 specifier: ^2.0.1
version: 2.0.1(vite@5.4.3) version: 2.0.1(vite@5.4.3(@types/node@20.5.1)(sass@1.71.1))
vite-svg-loader: vite-svg-loader:
specifier: ^4.0.0 specifier: ^4.0.0
version: 4.0.0 version: 4.0.0
vite-tsconfig-paths: vite-tsconfig-paths:
specifier: 4.3.2 specifier: 4.3.2
version: 4.3.2(typescript@5.6.3)(vite@5.4.3) version: 4.3.2(typescript@5.6.3)(vite@5.4.3(@types/node@20.5.1)(sass@1.71.1))
vitest: vitest:
specifier: 1.5.2 specifier: 1.5.2
version: 1.5.2(@types/node@20.5.1)(@vitest/ui@1.4.0)(happy-dom@14.3.1)(sass@1.71.1) version: 1.5.2(@types/node@20.5.1)(@vitest/ui@1.4.0)(happy-dom@14.3.1)(sass@1.71.1)
@ -5338,7 +5338,7 @@ snapshots:
'@types/node': 20.5.1 '@types/node': 20.5.1
chalk: 4.1.2 chalk: 4.1.2
cosmiconfig: 8.3.6(typescript@5.6.3) cosmiconfig: 8.3.6(typescript@5.6.3)
cosmiconfig-typescript-loader: 4.4.0(@types/node@20.5.1)(cosmiconfig@8.3.6)(ts-node@10.9.2)(typescript@5.6.3) cosmiconfig-typescript-loader: 4.4.0(@types/node@20.5.1)(cosmiconfig@8.3.6(typescript@5.6.3))(ts-node@10.9.2(@types/node@20.5.1)(typescript@5.6.3))(typescript@5.6.3)
lodash.isplainobject: 4.0.6 lodash.isplainobject: 4.0.6
lodash.merge: 4.6.2 lodash.merge: 4.6.2
lodash.uniq: 4.5.0 lodash.uniq: 4.5.0
@ -5400,7 +5400,7 @@ snapshots:
dependencies: dependencies:
css-render: 0.15.14 css-render: 0.15.14
'@css-render/vue3-ssr@0.15.14(vue@3.5.12)': '@css-render/vue3-ssr@0.15.14(vue@3.5.12(typescript@5.6.3))':
dependencies: dependencies:
vue: 3.5.12(typescript@5.6.3) vue: 3.5.12(typescript@5.6.3)
@ -5585,7 +5585,7 @@ snapshots:
'@interactjs/types@1.10.26': {} '@interactjs/types@1.10.26': {}
'@intlify/bundle-utils@8.0.0(vue-i18n@9.13.1)': '@intlify/bundle-utils@8.0.0(vue-i18n@9.13.1(vue@3.5.12(typescript@5.6.3)))':
dependencies: dependencies:
'@intlify/message-compiler': 9.13.1 '@intlify/message-compiler': 9.13.1
'@intlify/shared': 9.13.1 '@intlify/shared': 9.13.1
@ -5595,8 +5595,9 @@ snapshots:
jsonc-eslint-parser: 2.4.0 jsonc-eslint-parser: 2.4.0
mlly: 1.6.1 mlly: 1.6.1
source-map-js: 1.2.0 source-map-js: 1.2.0
vue-i18n: 9.13.1(vue@3.5.12)
yaml-eslint-parser: 1.2.2 yaml-eslint-parser: 1.2.2
optionalDependencies:
vue-i18n: 9.13.1(vue@3.5.12(typescript@5.6.3))
'@intlify/core-base@9.13.1': '@intlify/core-base@9.13.1':
dependencies: dependencies:
@ -5610,9 +5611,9 @@ snapshots:
'@intlify/shared@9.13.1': {} '@intlify/shared@9.13.1': {}
'@intlify/unplugin-vue-i18n@4.0.0(rollup@4.20.0)(vue-i18n@9.13.1)': '@intlify/unplugin-vue-i18n@4.0.0(rollup@4.20.0)(vue-i18n@9.13.1(vue@3.5.12(typescript@5.6.3)))':
dependencies: dependencies:
'@intlify/bundle-utils': 8.0.0(vue-i18n@9.13.1) '@intlify/bundle-utils': 8.0.0(vue-i18n@9.13.1(vue@3.5.12(typescript@5.6.3)))
'@intlify/shared': 9.13.1 '@intlify/shared': 9.13.1
'@rollup/pluginutils': 5.1.0(rollup@4.20.0) '@rollup/pluginutils': 5.1.0(rollup@4.20.0)
'@vue/compiler-sfc': 3.4.27 '@vue/compiler-sfc': 3.4.27
@ -5624,7 +5625,8 @@ snapshots:
picocolors: 1.0.1 picocolors: 1.0.1
source-map-js: 1.2.0 source-map-js: 1.2.0
unplugin: 1.10.1 unplugin: 1.10.1
vue-i18n: 9.13.1(vue@3.5.12) optionalDependencies:
vue-i18n: 9.13.1(vue@3.5.12(typescript@5.6.3))
transitivePeerDependencies: transitivePeerDependencies:
- rollup - rollup
- supports-color - supports-color
@ -5701,9 +5703,9 @@ snapshots:
'@nodelib/fs.scandir': 2.1.5 '@nodelib/fs.scandir': 2.1.5
fastq: 1.17.1 fastq: 1.17.1
'@nuxt/kit@3.13.2(rollup@4.20.0)': '@nuxt/kit@3.13.2(rollup@4.20.0)(webpack-sources@3.2.3)':
dependencies: dependencies:
'@nuxt/schema': 3.13.2(rollup@4.20.0) '@nuxt/schema': 3.13.2(rollup@4.20.0)(webpack-sources@3.2.3)
c12: 1.11.2 c12: 1.11.2
consola: 3.2.3 consola: 3.2.3
defu: 6.1.4 defu: 6.1.4
@ -5720,8 +5722,8 @@ snapshots:
scule: 1.3.0 scule: 1.3.0
semver: 7.6.3 semver: 7.6.3
ufo: 1.5.4 ufo: 1.5.4
unctx: 2.3.1 unctx: 2.3.1(webpack-sources@3.2.3)
unimport: 3.13.1(rollup@4.20.0) unimport: 3.13.1(rollup@4.20.0)(webpack-sources@3.2.3)
untyped: 1.4.2 untyped: 1.4.2
transitivePeerDependencies: transitivePeerDependencies:
- magicast - magicast
@ -5729,7 +5731,7 @@ snapshots:
- supports-color - supports-color
- webpack-sources - webpack-sources
'@nuxt/schema@3.13.2(rollup@4.20.0)': '@nuxt/schema@3.13.2(rollup@4.20.0)(webpack-sources@3.2.3)':
dependencies: dependencies:
compatx: 0.1.8 compatx: 0.1.8
consola: 3.2.3 consola: 3.2.3
@ -5741,7 +5743,7 @@ snapshots:
std-env: 3.7.0 std-env: 3.7.0
ufo: 1.5.4 ufo: 1.5.4
uncrypto: 0.1.3 uncrypto: 0.1.3
unimport: 3.13.1(rollup@4.20.0) unimport: 3.13.1(rollup@4.20.0)(webpack-sources@3.2.3)
untyped: 1.4.2 untyped: 1.4.2
transitivePeerDependencies: transitivePeerDependencies:
- rollup - rollup
@ -5771,6 +5773,7 @@ snapshots:
'@types/estree': 1.0.5 '@types/estree': 1.0.5
estree-walker: 2.0.2 estree-walker: 2.0.2
picomatch: 2.3.1 picomatch: 2.3.1
optionalDependencies:
rollup: 4.20.0 rollup: 4.20.0
'@rollup/pluginutils@5.1.2(rollup@4.20.0)': '@rollup/pluginutils@5.1.2(rollup@4.20.0)':
@ -5778,6 +5781,7 @@ snapshots:
'@types/estree': 1.0.5 '@types/estree': 1.0.5
estree-walker: 2.0.2 estree-walker: 2.0.2
picomatch: 2.3.1 picomatch: 2.3.1
optionalDependencies:
rollup: 4.20.0 rollup: 4.20.0
'@rollup/rollup-android-arm-eabi@4.20.0': '@rollup/rollup-android-arm-eabi@4.20.0':
@ -5899,7 +5903,7 @@ snapshots:
'@types/web-bluetooth@0.0.20': {} '@types/web-bluetooth@0.0.20': {}
'@typescript-eslint/eslint-plugin@6.21.0(@typescript-eslint/parser@6.21.0)(eslint@8.57.0)(typescript@5.6.3)': '@typescript-eslint/eslint-plugin@6.21.0(@typescript-eslint/parser@6.21.0(eslint@8.57.0)(typescript@5.6.3))(eslint@8.57.0)(typescript@5.6.3)':
dependencies: dependencies:
'@eslint-community/regexpp': 4.10.0 '@eslint-community/regexpp': 4.10.0
'@typescript-eslint/parser': 6.21.0(eslint@8.57.0)(typescript@5.6.3) '@typescript-eslint/parser': 6.21.0(eslint@8.57.0)(typescript@5.6.3)
@ -5914,11 +5918,12 @@ snapshots:
natural-compare: 1.4.0 natural-compare: 1.4.0
semver: 7.6.0 semver: 7.6.0
ts-api-utils: 1.3.0(typescript@5.6.3) ts-api-utils: 1.3.0(typescript@5.6.3)
optionalDependencies:
typescript: 5.6.3 typescript: 5.6.3
transitivePeerDependencies: transitivePeerDependencies:
- supports-color - supports-color
'@typescript-eslint/eslint-plugin@8.13.0(@typescript-eslint/parser@8.13.0)(eslint@8.57.0)(typescript@5.6.3)': '@typescript-eslint/eslint-plugin@8.13.0(@typescript-eslint/parser@8.13.0(eslint@8.57.0)(typescript@5.6.3))(eslint@8.57.0)(typescript@5.6.3)':
dependencies: dependencies:
'@eslint-community/regexpp': 4.11.1 '@eslint-community/regexpp': 4.11.1
'@typescript-eslint/parser': 8.13.0(eslint@8.57.0)(typescript@5.6.3) '@typescript-eslint/parser': 8.13.0(eslint@8.57.0)(typescript@5.6.3)
@ -5931,6 +5936,7 @@ snapshots:
ignore: 5.3.2 ignore: 5.3.2
natural-compare: 1.4.0 natural-compare: 1.4.0
ts-api-utils: 1.3.0(typescript@5.6.3) ts-api-utils: 1.3.0(typescript@5.6.3)
optionalDependencies:
typescript: 5.6.3 typescript: 5.6.3
transitivePeerDependencies: transitivePeerDependencies:
- supports-color - supports-color
@ -5943,6 +5949,7 @@ snapshots:
'@typescript-eslint/visitor-keys': 6.21.0 '@typescript-eslint/visitor-keys': 6.21.0
debug: 4.3.4 debug: 4.3.4
eslint: 8.57.0 eslint: 8.57.0
optionalDependencies:
typescript: 5.6.3 typescript: 5.6.3
transitivePeerDependencies: transitivePeerDependencies:
- supports-color - supports-color
@ -5955,6 +5962,7 @@ snapshots:
'@typescript-eslint/visitor-keys': 8.13.0 '@typescript-eslint/visitor-keys': 8.13.0
debug: 4.3.7 debug: 4.3.7
eslint: 8.57.0 eslint: 8.57.0
optionalDependencies:
typescript: 5.6.3 typescript: 5.6.3
transitivePeerDependencies: transitivePeerDependencies:
- supports-color - supports-color
@ -5976,6 +5984,7 @@ snapshots:
debug: 4.3.4 debug: 4.3.4
eslint: 8.57.0 eslint: 8.57.0
ts-api-utils: 1.3.0(typescript@5.6.3) ts-api-utils: 1.3.0(typescript@5.6.3)
optionalDependencies:
typescript: 5.6.3 typescript: 5.6.3
transitivePeerDependencies: transitivePeerDependencies:
- supports-color - supports-color
@ -5986,6 +5995,7 @@ snapshots:
'@typescript-eslint/utils': 8.13.0(eslint@8.57.0)(typescript@5.6.3) '@typescript-eslint/utils': 8.13.0(eslint@8.57.0)(typescript@5.6.3)
debug: 4.3.7 debug: 4.3.7
ts-api-utils: 1.3.0(typescript@5.6.3) ts-api-utils: 1.3.0(typescript@5.6.3)
optionalDependencies:
typescript: 5.6.3 typescript: 5.6.3
transitivePeerDependencies: transitivePeerDependencies:
- eslint - eslint
@ -6005,6 +6015,7 @@ snapshots:
minimatch: 9.0.3 minimatch: 9.0.3
semver: 7.6.3 semver: 7.6.3
ts-api-utils: 1.3.0(typescript@5.6.3) ts-api-utils: 1.3.0(typescript@5.6.3)
optionalDependencies:
typescript: 5.6.3 typescript: 5.6.3
transitivePeerDependencies: transitivePeerDependencies:
- supports-color - supports-color
@ -6019,6 +6030,7 @@ snapshots:
minimatch: 9.0.5 minimatch: 9.0.5
semver: 7.6.3 semver: 7.6.3
ts-api-utils: 1.3.0(typescript@5.6.3) ts-api-utils: 1.3.0(typescript@5.6.3)
optionalDependencies:
typescript: 5.6.3 typescript: 5.6.3
transitivePeerDependencies: transitivePeerDependencies:
- supports-color - supports-color
@ -6060,7 +6072,7 @@ snapshots:
'@ungap/structured-clone@1.2.0': {} '@ungap/structured-clone@1.2.0': {}
'@vitejs/plugin-vue-jsx@4.0.1(vite@5.4.3)(vue@3.5.12)': '@vitejs/plugin-vue-jsx@4.0.1(vite@5.4.3(@types/node@20.5.1)(sass@1.71.1))(vue@3.5.12(typescript@5.6.3))':
dependencies: dependencies:
'@babel/core': 7.24.7 '@babel/core': 7.24.7
'@babel/plugin-transform-typescript': 7.24.8(@babel/core@7.24.7) '@babel/plugin-transform-typescript': 7.24.8(@babel/core@7.24.7)
@ -6070,7 +6082,7 @@ snapshots:
transitivePeerDependencies: transitivePeerDependencies:
- supports-color - supports-color
'@vitejs/plugin-vue@5.1.0(vite@5.4.3)(vue@3.5.12)': '@vitejs/plugin-vue@5.1.0(vite@5.4.3(@types/node@20.5.1)(sass@1.71.1))(vue@3.5.12(typescript@5.6.3))':
dependencies: dependencies:
vite: 5.4.3(@types/node@20.5.1)(sass@1.71.1) vite: 5.4.3(@types/node@20.5.1)(sass@1.71.1)
vue: 3.5.12(typescript@5.6.3) vue: 3.5.12(typescript@5.6.3)
@ -6138,7 +6150,6 @@ snapshots:
'@vue/babel-plugin-jsx@1.2.2(@babel/core@7.24.7)': '@vue/babel-plugin-jsx@1.2.2(@babel/core@7.24.7)':
dependencies: dependencies:
'@babel/core': 7.24.7
'@babel/helper-module-imports': 7.22.15 '@babel/helper-module-imports': 7.22.15
'@babel/helper-plugin-utils': 7.24.8 '@babel/helper-plugin-utils': 7.24.8
'@babel/plugin-syntax-jsx': 7.24.1(@babel/core@7.24.7) '@babel/plugin-syntax-jsx': 7.24.1(@babel/core@7.24.7)
@ -6150,6 +6161,8 @@ snapshots:
camelcase: 6.3.0 camelcase: 6.3.0
html-tags: 3.3.1 html-tags: 3.3.1
svg-tags: 1.0.0 svg-tags: 1.0.0
optionalDependencies:
'@babel/core': 7.24.7
transitivePeerDependencies: transitivePeerDependencies:
- supports-color - supports-color
@ -6261,23 +6274,24 @@ snapshots:
'@vue/devtools-api@6.6.3': {} '@vue/devtools-api@6.6.3': {}
'@vue/eslint-config-prettier@9.0.0(eslint@8.57.0)(prettier@3.2.5)': '@vue/eslint-config-prettier@9.0.0(@types/eslint@8.56.6)(eslint@8.57.0)(prettier@3.2.5)':
dependencies: dependencies:
eslint: 8.57.0 eslint: 8.57.0
eslint-config-prettier: 9.1.0(eslint@8.57.0) eslint-config-prettier: 9.1.0(eslint@8.57.0)
eslint-plugin-prettier: 5.1.3(eslint-config-prettier@9.1.0)(eslint@8.57.0)(prettier@3.2.5) eslint-plugin-prettier: 5.1.3(@types/eslint@8.56.6)(eslint-config-prettier@9.1.0(eslint@8.57.0))(eslint@8.57.0)(prettier@3.2.5)
prettier: 3.2.5 prettier: 3.2.5
transitivePeerDependencies: transitivePeerDependencies:
- '@types/eslint' - '@types/eslint'
'@vue/eslint-config-typescript@12.0.0(eslint-plugin-vue@9.25.0)(eslint@8.57.0)(typescript@5.6.3)': '@vue/eslint-config-typescript@12.0.0(eslint-plugin-vue@9.25.0(eslint@8.57.0))(eslint@8.57.0)(typescript@5.6.3)':
dependencies: dependencies:
'@typescript-eslint/eslint-plugin': 6.21.0(@typescript-eslint/parser@6.21.0)(eslint@8.57.0)(typescript@5.6.3) '@typescript-eslint/eslint-plugin': 6.21.0(@typescript-eslint/parser@6.21.0(eslint@8.57.0)(typescript@5.6.3))(eslint@8.57.0)(typescript@5.6.3)
'@typescript-eslint/parser': 6.21.0(eslint@8.57.0)(typescript@5.6.3) '@typescript-eslint/parser': 6.21.0(eslint@8.57.0)(typescript@5.6.3)
eslint: 8.57.0 eslint: 8.57.0
eslint-plugin-vue: 9.25.0(eslint@8.57.0) eslint-plugin-vue: 9.25.0(eslint@8.57.0)
typescript: 5.6.3
vue-eslint-parser: 9.3.2(eslint@8.57.0) vue-eslint-parser: 9.3.2(eslint@8.57.0)
optionalDependencies:
typescript: 5.6.3
transitivePeerDependencies: transitivePeerDependencies:
- supports-color - supports-color
@ -6291,6 +6305,7 @@ snapshots:
minimatch: 9.0.5 minimatch: 9.0.5
muggle-string: 0.4.1 muggle-string: 0.4.1
path-browserify: 1.0.1 path-browserify: 1.0.1
optionalDependencies:
typescript: 5.6.3 typescript: 5.6.3
'@vue/reactivity@3.5.12': '@vue/reactivity@3.5.12':
@ -6309,7 +6324,7 @@ snapshots:
'@vue/shared': 3.5.12 '@vue/shared': 3.5.12
csstype: 3.1.3 csstype: 3.1.3
'@vue/server-renderer@3.5.12(vue@3.5.12)': '@vue/server-renderer@3.5.12(vue@3.5.12(typescript@5.6.3))':
dependencies: dependencies:
'@vue/compiler-ssr': 3.5.12 '@vue/compiler-ssr': 3.5.12
'@vue/shared': 3.5.12 '@vue/shared': 3.5.12
@ -6321,27 +6336,29 @@ snapshots:
'@vue/shared@3.5.12': {} '@vue/shared@3.5.12': {}
'@vue/test-utils@2.4.3(vue@3.5.12)': '@vue/test-utils@2.4.3(@vue/server-renderer@3.5.12(vue@3.5.12(typescript@5.6.3)))(vue@3.5.12(typescript@5.6.3))':
dependencies: dependencies:
js-beautify: 1.14.11 js-beautify: 1.14.11
vue: 3.5.12(typescript@5.6.3) vue: 3.5.12(typescript@5.6.3)
vue-component-type-helpers: 1.8.26 vue-component-type-helpers: 1.8.26
optionalDependencies:
'@vue/server-renderer': 3.5.12(vue@3.5.12(typescript@5.6.3))
'@vueuse/core@11.1.0(vue@3.5.12)': '@vueuse/core@11.1.0(vue@3.5.12(typescript@5.6.3))':
dependencies: dependencies:
'@types/web-bluetooth': 0.0.20 '@types/web-bluetooth': 0.0.20
'@vueuse/metadata': 11.1.0 '@vueuse/metadata': 11.1.0
'@vueuse/shared': 11.1.0(vue@3.5.12) '@vueuse/shared': 11.1.0(vue@3.5.12(typescript@5.6.3))
vue-demi: 0.14.10(vue@3.5.12) vue-demi: 0.14.10(vue@3.5.12(typescript@5.6.3))
transitivePeerDependencies: transitivePeerDependencies:
- '@vue/composition-api' - '@vue/composition-api'
- vue - vue
'@vueuse/metadata@11.1.0': {} '@vueuse/metadata@11.1.0': {}
'@vueuse/shared@11.1.0(vue@3.5.12)': '@vueuse/shared@11.1.0(vue@3.5.12(typescript@5.6.3))':
dependencies: dependencies:
vue-demi: 0.14.10(vue@3.5.12) vue-demi: 0.14.10(vue@3.5.12(typescript@5.6.3))
transitivePeerDependencies: transitivePeerDependencies:
- '@vue/composition-api' - '@vue/composition-api'
- vue - vue
@ -6854,7 +6871,7 @@ snapshots:
object-assign: 4.1.1 object-assign: 4.1.1
vary: 1.1.2 vary: 1.1.2
cosmiconfig-typescript-loader@4.4.0(@types/node@20.5.1)(cosmiconfig@8.3.6)(ts-node@10.9.2)(typescript@5.6.3): cosmiconfig-typescript-loader@4.4.0(@types/node@20.5.1)(cosmiconfig@8.3.6(typescript@5.6.3))(ts-node@10.9.2(@types/node@20.5.1)(typescript@5.6.3))(typescript@5.6.3):
dependencies: dependencies:
'@types/node': 20.5.1 '@types/node': 20.5.1
cosmiconfig: 8.3.6(typescript@5.6.3) cosmiconfig: 8.3.6(typescript@5.6.3)
@ -6875,6 +6892,7 @@ snapshots:
js-yaml: 4.1.0 js-yaml: 4.1.0
parse-json: 5.2.0 parse-json: 5.2.0
path-type: 4.0.0 path-type: 4.0.0
optionalDependencies:
typescript: 5.6.3 typescript: 5.6.3
create-require@1.1.1: {} create-require@1.1.1: {}
@ -7357,23 +7375,23 @@ snapshots:
dependencies: dependencies:
eslint: 8.57.0 eslint: 8.57.0
eslint-config-standard-with-typescript@43.0.0(@typescript-eslint/eslint-plugin@8.13.0)(eslint-plugin-import@2.30.0)(eslint-plugin-n@16.6.2)(eslint-plugin-promise@6.1.1)(eslint@8.57.0)(typescript@5.6.3): eslint-config-standard-with-typescript@43.0.0(@typescript-eslint/eslint-plugin@8.13.0(@typescript-eslint/parser@8.13.0(eslint@8.57.0)(typescript@5.6.3))(eslint@8.57.0)(typescript@5.6.3))(eslint-plugin-import@2.30.0(@typescript-eslint/parser@8.13.0(eslint@8.57.0)(typescript@5.6.3))(eslint@8.57.0))(eslint-plugin-n@16.6.2(eslint@8.57.0))(eslint-plugin-promise@6.1.1(eslint@8.57.0))(eslint@8.57.0)(typescript@5.6.3):
dependencies: dependencies:
'@typescript-eslint/eslint-plugin': 8.13.0(@typescript-eslint/parser@8.13.0)(eslint@8.57.0)(typescript@5.6.3) '@typescript-eslint/eslint-plugin': 8.13.0(@typescript-eslint/parser@8.13.0(eslint@8.57.0)(typescript@5.6.3))(eslint@8.57.0)(typescript@5.6.3)
'@typescript-eslint/parser': 6.21.0(eslint@8.57.0)(typescript@5.6.3) '@typescript-eslint/parser': 6.21.0(eslint@8.57.0)(typescript@5.6.3)
eslint: 8.57.0 eslint: 8.57.0
eslint-config-standard: 17.1.0(eslint-plugin-import@2.30.0)(eslint-plugin-n@16.6.2)(eslint-plugin-promise@6.1.1)(eslint@8.57.0) eslint-config-standard: 17.1.0(eslint-plugin-import@2.30.0(@typescript-eslint/parser@8.13.0(eslint@8.57.0)(typescript@5.6.3))(eslint@8.57.0))(eslint-plugin-n@16.6.2(eslint@8.57.0))(eslint-plugin-promise@6.1.1(eslint@8.57.0))(eslint@8.57.0)
eslint-plugin-import: 2.30.0(@typescript-eslint/parser@8.13.0)(eslint@8.57.0) eslint-plugin-import: 2.30.0(@typescript-eslint/parser@8.13.0(eslint@8.57.0)(typescript@5.6.3))(eslint@8.57.0)
eslint-plugin-n: 16.6.2(eslint@8.57.0) eslint-plugin-n: 16.6.2(eslint@8.57.0)
eslint-plugin-promise: 6.1.1(eslint@8.57.0) eslint-plugin-promise: 6.1.1(eslint@8.57.0)
typescript: 5.6.3 typescript: 5.6.3
transitivePeerDependencies: transitivePeerDependencies:
- supports-color - supports-color
eslint-config-standard@17.1.0(eslint-plugin-import@2.30.0)(eslint-plugin-n@16.6.2)(eslint-plugin-promise@6.1.1)(eslint@8.57.0): eslint-config-standard@17.1.0(eslint-plugin-import@2.30.0(@typescript-eslint/parser@8.13.0(eslint@8.57.0)(typescript@5.6.3))(eslint@8.57.0))(eslint-plugin-n@16.6.2(eslint@8.57.0))(eslint-plugin-promise@6.1.1(eslint@8.57.0))(eslint@8.57.0):
dependencies: dependencies:
eslint: 8.57.0 eslint: 8.57.0
eslint-plugin-import: 2.30.0(@typescript-eslint/parser@8.13.0)(eslint@8.57.0) eslint-plugin-import: 2.30.0(@typescript-eslint/parser@8.13.0(eslint@8.57.0)(typescript@5.6.3))(eslint@8.57.0)
eslint-plugin-n: 16.6.2(eslint@8.57.0) eslint-plugin-n: 16.6.2(eslint@8.57.0)
eslint-plugin-promise: 6.1.1(eslint@8.57.0) eslint-plugin-promise: 6.1.1(eslint@8.57.0)
@ -7385,10 +7403,11 @@ snapshots:
transitivePeerDependencies: transitivePeerDependencies:
- supports-color - supports-color
eslint-module-utils@2.11.0(@typescript-eslint/parser@8.13.0)(eslint-import-resolver-node@0.3.9)(eslint@8.57.0): eslint-module-utils@2.11.0(@typescript-eslint/parser@8.13.0(eslint@8.57.0)(typescript@5.6.3))(eslint-import-resolver-node@0.3.9)(eslint@8.57.0):
dependencies: dependencies:
'@typescript-eslint/parser': 8.13.0(eslint@8.57.0)(typescript@5.6.3)
debug: 3.2.7 debug: 3.2.7
optionalDependencies:
'@typescript-eslint/parser': 8.13.0(eslint@8.57.0)(typescript@5.6.3)
eslint: 8.57.0 eslint: 8.57.0
eslint-import-resolver-node: 0.3.9 eslint-import-resolver-node: 0.3.9
transitivePeerDependencies: transitivePeerDependencies:
@ -7401,10 +7420,9 @@ snapshots:
eslint: 8.57.0 eslint: 8.57.0
eslint-compat-utils: 0.5.0(eslint@8.57.0) eslint-compat-utils: 0.5.0(eslint@8.57.0)
eslint-plugin-import@2.30.0(@typescript-eslint/parser@8.13.0)(eslint@8.57.0): eslint-plugin-import@2.30.0(@typescript-eslint/parser@8.13.0(eslint@8.57.0)(typescript@5.6.3))(eslint@8.57.0):
dependencies: dependencies:
'@rtsao/scc': 1.1.0 '@rtsao/scc': 1.1.0
'@typescript-eslint/parser': 8.13.0(eslint@8.57.0)(typescript@5.6.3)
array-includes: 3.1.8 array-includes: 3.1.8
array.prototype.findlastindex: 1.2.5 array.prototype.findlastindex: 1.2.5
array.prototype.flat: 1.3.2 array.prototype.flat: 1.3.2
@ -7413,7 +7431,7 @@ snapshots:
doctrine: 2.1.0 doctrine: 2.1.0
eslint: 8.57.0 eslint: 8.57.0
eslint-import-resolver-node: 0.3.9 eslint-import-resolver-node: 0.3.9
eslint-module-utils: 2.11.0(@typescript-eslint/parser@8.13.0)(eslint-import-resolver-node@0.3.9)(eslint@8.57.0) eslint-module-utils: 2.11.0(@typescript-eslint/parser@8.13.0(eslint@8.57.0)(typescript@5.6.3))(eslint-import-resolver-node@0.3.9)(eslint@8.57.0)
hasown: 2.0.2 hasown: 2.0.2
is-core-module: 2.15.1 is-core-module: 2.15.1
is-glob: 4.0.3 is-glob: 4.0.3
@ -7423,6 +7441,8 @@ snapshots:
object.values: 1.2.0 object.values: 1.2.0
semver: 6.3.1 semver: 6.3.1
tsconfig-paths: 3.15.0 tsconfig-paths: 3.15.0
optionalDependencies:
'@typescript-eslint/parser': 8.13.0(eslint@8.57.0)(typescript@5.6.3)
transitivePeerDependencies: transitivePeerDependencies:
- eslint-import-resolver-typescript - eslint-import-resolver-typescript
- eslint-import-resolver-webpack - eslint-import-resolver-webpack
@ -7443,13 +7463,15 @@ snapshots:
resolve: 1.22.8 resolve: 1.22.8
semver: 7.6.3 semver: 7.6.3
eslint-plugin-prettier@5.1.3(eslint-config-prettier@9.1.0)(eslint@8.57.0)(prettier@3.2.5): eslint-plugin-prettier@5.1.3(@types/eslint@8.56.6)(eslint-config-prettier@9.1.0(eslint@8.57.0))(eslint@8.57.0)(prettier@3.2.5):
dependencies: dependencies:
eslint: 8.57.0 eslint: 8.57.0
eslint-config-prettier: 9.1.0(eslint@8.57.0)
prettier: 3.2.5 prettier: 3.2.5
prettier-linter-helpers: 1.0.0 prettier-linter-helpers: 1.0.0
synckit: 0.8.8 synckit: 0.8.8
optionalDependencies:
'@types/eslint': 8.56.6
eslint-config-prettier: 9.1.0(eslint@8.57.0)
eslint-plugin-promise@6.1.1(eslint@8.57.0): eslint-plugin-promise@6.1.1(eslint@8.57.0):
dependencies: dependencies:
@ -8588,10 +8610,10 @@ snapshots:
arrify: 2.0.1 arrify: 2.0.1
minimatch: 3.1.2 minimatch: 3.1.2
naive-ui@2.40.1(vue@3.5.12): naive-ui@2.40.1(vue@3.5.12(typescript@5.6.3)):
dependencies: dependencies:
'@css-render/plugin-bem': 0.15.14(css-render@0.15.14) '@css-render/plugin-bem': 0.15.14(css-render@0.15.14)
'@css-render/vue3-ssr': 0.15.14(vue@3.5.12) '@css-render/vue3-ssr': 0.15.14(vue@3.5.12(typescript@5.6.3))
'@types/katex': 0.16.7 '@types/katex': 0.16.7
'@types/lodash': 4.17.6 '@types/lodash': 4.17.6
'@types/lodash-es': 4.17.12 '@types/lodash-es': 4.17.12
@ -8606,10 +8628,10 @@ snapshots:
lodash-es: 4.17.21 lodash-es: 4.17.21
seemly: 0.3.8 seemly: 0.3.8
treemate: 0.3.11 treemate: 0.3.11
vdirs: 0.1.8(vue@3.5.12) vdirs: 0.1.8(vue@3.5.12(typescript@5.6.3))
vooks: 0.2.12(vue@3.5.12) vooks: 0.2.12(vue@3.5.12(typescript@5.6.3))
vue: 3.5.12(typescript@5.6.3) vue: 3.5.12(typescript@5.6.3)
vueuc: 0.4.64(vue@3.5.12) vueuc: 0.4.64(vue@3.5.12(typescript@5.6.3))
nanoid@3.3.7: {} nanoid@3.3.7: {}
@ -8836,25 +8858,27 @@ snapshots:
pidtree@0.6.0: {} pidtree@0.6.0: {}
pinia-plugin-persistedstate@4.1.1(pinia@2.2.4)(rollup@4.20.0): pinia-plugin-persistedstate@4.1.1(pinia@2.2.4(typescript@5.6.3)(vue@3.5.12(typescript@5.6.3)))(rollup@4.20.0)(webpack-sources@3.2.3):
dependencies: dependencies:
'@nuxt/kit': 3.13.2(rollup@4.20.0) '@nuxt/kit': 3.13.2(rollup@4.20.0)(webpack-sources@3.2.3)
deep-pick-omit: 1.2.1 deep-pick-omit: 1.2.1
defu: 6.1.4 defu: 6.1.4
destr: 2.0.3 destr: 2.0.3
pinia: 2.2.4(typescript@5.6.3)(vue@3.5.12) optionalDependencies:
pinia: 2.2.4(typescript@5.6.3)(vue@3.5.12(typescript@5.6.3))
transitivePeerDependencies: transitivePeerDependencies:
- magicast - magicast
- rollup - rollup
- supports-color - supports-color
- webpack-sources - webpack-sources
pinia@2.2.4(typescript@5.6.3)(vue@3.5.12): pinia@2.2.4(typescript@5.6.3)(vue@3.5.12(typescript@5.6.3)):
dependencies: dependencies:
'@vue/devtools-api': 6.6.3 '@vue/devtools-api': 6.6.3
typescript: 5.6.3
vue: 3.5.12(typescript@5.6.3) vue: 3.5.12(typescript@5.6.3)
vue-demi: 0.14.10(vue@3.5.12) vue-demi: 0.14.10(vue@3.5.12(typescript@5.6.3))
optionalDependencies:
typescript: 5.6.3
pkg-types@1.2.0: pkg-types@1.2.0:
dependencies: dependencies:
@ -9571,7 +9595,7 @@ snapshots:
yn: 3.1.1 yn: 3.1.1
tsconfck@3.0.3(typescript@5.6.3): tsconfck@3.0.3(typescript@5.6.3):
dependencies: optionalDependencies:
typescript: 5.6.3 typescript: 5.6.3
tsconfig-paths@3.15.0: tsconfig-paths@3.15.0:
@ -9653,12 +9677,12 @@ snapshots:
uncrypto@0.1.3: {} uncrypto@0.1.3: {}
unctx@2.3.1: unctx@2.3.1(webpack-sources@3.2.3):
dependencies: dependencies:
acorn: 8.12.1 acorn: 8.12.1
estree-walker: 3.0.3 estree-walker: 3.0.3
magic-string: 0.30.11 magic-string: 0.30.11
unplugin: 1.13.1 unplugin: 1.13.1(webpack-sources@3.2.3)
transitivePeerDependencies: transitivePeerDependencies:
- webpack-sources - webpack-sources
@ -9668,7 +9692,7 @@ snapshots:
unidecode@0.1.8: {} unidecode@0.1.8: {}
unimport@3.11.1(rollup@4.20.0): unimport@3.11.1(rollup@4.20.0)(webpack-sources@3.2.3):
dependencies: dependencies:
'@rollup/pluginutils': 5.1.0(rollup@4.20.0) '@rollup/pluginutils': 5.1.0(rollup@4.20.0)
acorn: 8.12.1 acorn: 8.12.1
@ -9682,12 +9706,12 @@ snapshots:
pkg-types: 1.2.0 pkg-types: 1.2.0
scule: 1.3.0 scule: 1.3.0
strip-literal: 2.1.0 strip-literal: 2.1.0
unplugin: 1.13.1 unplugin: 1.13.1(webpack-sources@3.2.3)
transitivePeerDependencies: transitivePeerDependencies:
- rollup - rollup
- webpack-sources - webpack-sources
unimport@3.13.1(rollup@4.20.0): unimport@3.13.1(rollup@4.20.0)(webpack-sources@3.2.3):
dependencies: dependencies:
'@rollup/pluginutils': 5.1.2(rollup@4.20.0) '@rollup/pluginutils': 5.1.2(rollup@4.20.0)
acorn: 8.12.1 acorn: 8.12.1
@ -9701,7 +9725,7 @@ snapshots:
pkg-types: 1.2.0 pkg-types: 1.2.0
scule: 1.3.0 scule: 1.3.0
strip-literal: 2.1.0 strip-literal: 2.1.0
unplugin: 1.14.1 unplugin: 1.14.1(webpack-sources@3.2.3)
transitivePeerDependencies: transitivePeerDependencies:
- rollup - rollup
- webpack-sources - webpack-sources
@ -9717,22 +9741,24 @@ snapshots:
unpipe@1.0.0: {} unpipe@1.0.0: {}
unplugin-auto-import@0.18.2(@vueuse/core@11.1.0)(rollup@4.20.0): unplugin-auto-import@0.18.2(@nuxt/kit@3.13.2(rollup@4.20.0)(webpack-sources@3.2.3))(@vueuse/core@11.1.0(vue@3.5.12(typescript@5.6.3)))(rollup@4.20.0)(webpack-sources@3.2.3):
dependencies: dependencies:
'@antfu/utils': 0.7.10 '@antfu/utils': 0.7.10
'@rollup/pluginutils': 5.1.0(rollup@4.20.0) '@rollup/pluginutils': 5.1.0(rollup@4.20.0)
'@vueuse/core': 11.1.0(vue@3.5.12)
fast-glob: 3.3.2 fast-glob: 3.3.2
local-pkg: 0.5.0 local-pkg: 0.5.0
magic-string: 0.30.11 magic-string: 0.30.11
minimatch: 9.0.5 minimatch: 9.0.5
unimport: 3.11.1(rollup@4.20.0) unimport: 3.11.1(rollup@4.20.0)(webpack-sources@3.2.3)
unplugin: 1.13.1 unplugin: 1.13.1(webpack-sources@3.2.3)
optionalDependencies:
'@nuxt/kit': 3.13.2(rollup@4.20.0)(webpack-sources@3.2.3)
'@vueuse/core': 11.1.0(vue@3.5.12(typescript@5.6.3))
transitivePeerDependencies: transitivePeerDependencies:
- rollup - rollup
- webpack-sources - webpack-sources
unplugin-vue-components@0.27.4(rollup@4.20.0)(vue@3.5.12): unplugin-vue-components@0.27.4(@babel/parser@7.25.8)(@nuxt/kit@3.13.2(rollup@4.20.0)(webpack-sources@3.2.3))(rollup@4.20.0)(vue@3.5.12(typescript@5.6.3))(webpack-sources@3.2.3):
dependencies: dependencies:
'@antfu/utils': 0.7.10 '@antfu/utils': 0.7.10
'@rollup/pluginutils': 5.1.0(rollup@4.20.0) '@rollup/pluginutils': 5.1.0(rollup@4.20.0)
@ -9743,8 +9769,11 @@ snapshots:
magic-string: 0.30.11 magic-string: 0.30.11
minimatch: 9.0.5 minimatch: 9.0.5
mlly: 1.7.1 mlly: 1.7.1
unplugin: 1.13.1 unplugin: 1.13.1(webpack-sources@3.2.3)
vue: 3.5.12(typescript@5.6.3) vue: 3.5.12(typescript@5.6.3)
optionalDependencies:
'@babel/parser': 7.25.8
'@nuxt/kit': 3.13.2(rollup@4.20.0)(webpack-sources@3.2.3)
transitivePeerDependencies: transitivePeerDependencies:
- rollup - rollup
- supports-color - supports-color
@ -9757,15 +9786,19 @@ snapshots:
webpack-sources: 3.2.3 webpack-sources: 3.2.3
webpack-virtual-modules: 0.6.1 webpack-virtual-modules: 0.6.1
unplugin@1.13.1: unplugin@1.13.1(webpack-sources@3.2.3):
dependencies: dependencies:
acorn: 8.12.1 acorn: 8.12.1
webpack-virtual-modules: 0.6.2 webpack-virtual-modules: 0.6.2
optionalDependencies:
webpack-sources: 3.2.3
unplugin@1.14.1: unplugin@1.14.1(webpack-sources@3.2.3):
dependencies: dependencies:
acorn: 8.12.1 acorn: 8.12.1
webpack-virtual-modules: 0.6.2 webpack-virtual-modules: 0.6.2
optionalDependencies:
webpack-sources: 3.2.3
unset-value@1.0.0: unset-value@1.0.0:
dependencies: dependencies:
@ -9825,7 +9858,7 @@ snapshots:
vary@1.1.2: {} vary@1.1.2: {}
vdirs@0.1.8(vue@3.5.12): vdirs@0.1.8(vue@3.5.12(typescript@5.6.3)):
dependencies: dependencies:
evtd: 0.2.4 evtd: 0.2.4
vue: 3.5.12(typescript@5.6.3) vue: 3.5.12(typescript@5.6.3)
@ -9865,12 +9898,12 @@ snapshots:
- rollup - rollup
- supports-color - supports-color
vite-plugin-ejs@1.7.0(vite@5.4.3): vite-plugin-ejs@1.7.0(vite@5.4.3(@types/node@20.5.1)(sass@1.71.1)):
dependencies: dependencies:
ejs: 3.1.9 ejs: 3.1.9
vite: 5.4.3(@types/node@20.5.1)(sass@1.71.1) vite: 5.4.3(@types/node@20.5.1)(sass@1.71.1)
vite-plugin-eslint@1.8.1(eslint@8.57.0)(vite@5.4.3): vite-plugin-eslint@1.8.1(eslint@8.57.0)(vite@5.4.3(@types/node@20.5.1)(sass@1.71.1)):
dependencies: dependencies:
'@rollup/pluginutils': 4.2.1 '@rollup/pluginutils': 4.2.1
'@types/eslint': 8.56.6 '@types/eslint': 8.56.6
@ -9878,7 +9911,7 @@ snapshots:
rollup: 2.79.1 rollup: 2.79.1
vite: 5.4.3(@types/node@20.5.1)(sass@1.71.1) vite: 5.4.3(@types/node@20.5.1)(sass@1.71.1)
vite-plugin-inspect@0.8.3(rollup@4.20.0)(vite@5.4.3): vite-plugin-inspect@0.8.3(@nuxt/kit@3.13.2(rollup@4.20.0)(webpack-sources@3.2.3))(rollup@4.20.0)(vite@5.4.3(@types/node@20.5.1)(sass@1.71.1)):
dependencies: dependencies:
'@antfu/utils': 0.7.7 '@antfu/utils': 0.7.7
'@rollup/pluginutils': 5.1.0(rollup@4.20.0) '@rollup/pluginutils': 5.1.0(rollup@4.20.0)
@ -9890,11 +9923,13 @@ snapshots:
picocolors: 1.0.0 picocolors: 1.0.0
sirv: 2.0.4 sirv: 2.0.4
vite: 5.4.3(@types/node@20.5.1)(sass@1.71.1) vite: 5.4.3(@types/node@20.5.1)(sass@1.71.1)
optionalDependencies:
'@nuxt/kit': 3.13.2(rollup@4.20.0)(webpack-sources@3.2.3)
transitivePeerDependencies: transitivePeerDependencies:
- rollup - rollup
- supports-color - supports-color
vite-plugin-mock-dev-server@1.4.7(rollup@4.20.0)(vite@5.4.3): vite-plugin-mock-dev-server@1.4.7(rollup@4.20.0)(vite@5.4.3(@types/node@20.5.1)(sass@1.71.1)):
dependencies: dependencies:
'@pengzhanbo/utils': 1.1.1 '@pengzhanbo/utils': 1.1.1
'@rollup/pluginutils': 5.1.0(rollup@4.20.0) '@rollup/pluginutils': 5.1.0(rollup@4.20.0)
@ -9920,7 +9955,7 @@ snapshots:
- supports-color - supports-color
- utf-8-validate - utf-8-validate
vite-plugin-svg-icons@2.0.1(vite@5.4.3): vite-plugin-svg-icons@2.0.1(vite@5.4.3(@types/node@20.5.1)(sass@1.71.1)):
dependencies: dependencies:
'@types/svgo': 2.6.4 '@types/svgo': 2.6.4
cors: 2.8.5 cors: 2.8.5
@ -9939,11 +9974,12 @@ snapshots:
'@vue/compiler-sfc': 3.4.21 '@vue/compiler-sfc': 3.4.21
svgo: 3.1.0 svgo: 3.1.0
vite-tsconfig-paths@4.3.2(typescript@5.6.3)(vite@5.4.3): vite-tsconfig-paths@4.3.2(typescript@5.6.3)(vite@5.4.3(@types/node@20.5.1)(sass@1.71.1)):
dependencies: dependencies:
debug: 4.3.4 debug: 4.3.4
globrex: 0.1.2 globrex: 0.1.2
tsconfck: 3.0.3(typescript@5.6.3) tsconfck: 3.0.3(typescript@5.6.3)
optionalDependencies:
vite: 5.4.3(@types/node@20.5.1)(sass@1.71.1) vite: 5.4.3(@types/node@20.5.1)(sass@1.71.1)
transitivePeerDependencies: transitivePeerDependencies:
- supports-color - supports-color
@ -9951,28 +9987,25 @@ snapshots:
vite@5.4.3(@types/node@20.5.1)(sass@1.71.1): vite@5.4.3(@types/node@20.5.1)(sass@1.71.1):
dependencies: dependencies:
'@types/node': 20.5.1
esbuild: 0.21.5 esbuild: 0.21.5
postcss: 8.4.45 postcss: 8.4.45
rollup: 4.20.0 rollup: 4.20.0
sass: 1.71.1
optionalDependencies: optionalDependencies:
'@types/node': 20.5.1
fsevents: 2.3.3 fsevents: 2.3.3
sass: 1.71.1
vitest@1.5.2(@types/node@20.5.1)(@vitest/ui@1.4.0)(happy-dom@14.3.1)(sass@1.71.1): vitest@1.5.2(@types/node@20.5.1)(@vitest/ui@1.4.0)(happy-dom@14.3.1)(sass@1.71.1):
dependencies: dependencies:
'@types/node': 20.5.1
'@vitest/expect': 1.5.2 '@vitest/expect': 1.5.2
'@vitest/runner': 1.5.2 '@vitest/runner': 1.5.2
'@vitest/snapshot': 1.5.2 '@vitest/snapshot': 1.5.2
'@vitest/spy': 1.5.2 '@vitest/spy': 1.5.2
'@vitest/ui': 1.4.0(vitest@1.5.2)
'@vitest/utils': 1.5.2 '@vitest/utils': 1.5.2
acorn-walk: 8.3.2 acorn-walk: 8.3.2
chai: 4.4.1 chai: 4.4.1
debug: 4.3.4 debug: 4.3.4
execa: 8.0.1 execa: 8.0.1
happy-dom: 14.3.1
local-pkg: 0.5.0 local-pkg: 0.5.0
magic-string: 0.30.8 magic-string: 0.30.8
pathe: 1.1.2 pathe: 1.1.2
@ -9984,6 +10017,10 @@ snapshots:
vite: 5.4.3(@types/node@20.5.1)(sass@1.71.1) vite: 5.4.3(@types/node@20.5.1)(sass@1.71.1)
vite-node: 1.5.2(@types/node@20.5.1)(sass@1.71.1) vite-node: 1.5.2(@types/node@20.5.1)(sass@1.71.1)
why-is-node-running: 2.2.2 why-is-node-running: 2.2.2
optionalDependencies:
'@types/node': 20.5.1
'@vitest/ui': 1.4.0(vitest@1.5.2)
happy-dom: 14.3.1
transitivePeerDependencies: transitivePeerDependencies:
- less - less
- lightningcss - lightningcss
@ -9994,7 +10031,7 @@ snapshots:
- supports-color - supports-color
- terser - terser
vooks@0.2.12(vue@3.5.12): vooks@0.2.12(vue@3.5.12(typescript@5.6.3)):
dependencies: dependencies:
evtd: 0.2.4 evtd: 0.2.4
vue: 3.5.12(typescript@5.6.3) vue: 3.5.12(typescript@5.6.3)
@ -10003,11 +10040,11 @@ snapshots:
vue-component-type-helpers@1.8.26: {} vue-component-type-helpers@1.8.26: {}
vue-demi@0.14.10(vue@3.5.12): vue-demi@0.14.10(vue@3.5.12(typescript@5.6.3)):
dependencies: dependencies:
vue: 3.5.12(typescript@5.6.3) vue: 3.5.12(typescript@5.6.3)
vue-demi@0.14.6(vue@3.5.12): vue-demi@0.14.6(vue@3.5.12(typescript@5.6.3)):
dependencies: dependencies:
vue: 3.5.12(typescript@5.6.3) vue: 3.5.12(typescript@5.6.3)
@ -10037,7 +10074,7 @@ snapshots:
transitivePeerDependencies: transitivePeerDependencies:
- supports-color - supports-color
vue-hooks-plus@2.2.1(vue@3.5.12): vue-hooks-plus@2.2.1(vue@3.5.12(typescript@5.6.3)):
dependencies: dependencies:
'@types/js-cookie': 3.0.6 '@types/js-cookie': 3.0.6
'@vue/devtools-api': 6.6.3 '@vue/devtools-api': 6.6.3
@ -10048,14 +10085,14 @@ snapshots:
screenfull: 5.2.0 screenfull: 5.2.0
vue: 3.5.12(typescript@5.6.3) vue: 3.5.12(typescript@5.6.3)
vue-i18n@9.13.1(vue@3.5.12): vue-i18n@9.13.1(vue@3.5.12(typescript@5.6.3)):
dependencies: dependencies:
'@intlify/core-base': 9.13.1 '@intlify/core-base': 9.13.1
'@intlify/shared': 9.13.1 '@intlify/shared': 9.13.1
'@vue/devtools-api': 6.6.1 '@vue/devtools-api': 6.6.1
vue: 3.5.12(typescript@5.6.3) vue: 3.5.12(typescript@5.6.3)
vue-router@4.3.2(vue@3.5.12): vue-router@4.3.2(vue@3.5.12(typescript@5.6.3)):
dependencies: dependencies:
'@vue/devtools-api': 6.6.1 '@vue/devtools-api': 6.6.1
vue: 3.5.12(typescript@5.6.3) vue: 3.5.12(typescript@5.6.3)
@ -10079,19 +10116,20 @@ snapshots:
'@vue/compiler-dom': 3.5.12 '@vue/compiler-dom': 3.5.12
'@vue/compiler-sfc': 3.5.12 '@vue/compiler-sfc': 3.5.12
'@vue/runtime-dom': 3.5.12 '@vue/runtime-dom': 3.5.12
'@vue/server-renderer': 3.5.12(vue@3.5.12) '@vue/server-renderer': 3.5.12(vue@3.5.12(typescript@5.6.3))
'@vue/shared': 3.5.12 '@vue/shared': 3.5.12
optionalDependencies:
typescript: 5.6.3 typescript: 5.6.3
vueuc@0.4.64(vue@3.5.12): vueuc@0.4.64(vue@3.5.12(typescript@5.6.3)):
dependencies: dependencies:
'@css-render/vue3-ssr': 0.15.14(vue@3.5.12) '@css-render/vue3-ssr': 0.15.14(vue@3.5.12(typescript@5.6.3))
'@juggle/resize-observer': 3.4.0 '@juggle/resize-observer': 3.4.0
css-render: 0.15.14 css-render: 0.15.14
evtd: 0.2.4 evtd: 0.2.4
seemly: 0.3.8 seemly: 0.3.8
vdirs: 0.1.8(vue@3.5.12) vdirs: 0.1.8(vue@3.5.12(typescript@5.6.3))
vooks: 0.2.12(vue@3.5.12) vooks: 0.2.12(vue@3.5.12(typescript@5.6.3))
vue: 3.5.12(typescript@5.6.3) vue: 3.5.12(typescript@5.6.3)
webidl-conversions@7.0.0: {} webidl-conversions@7.0.0: {}

View File

@ -44,6 +44,7 @@ const GlobalSpin = defineComponent({
{...(this.$props as SpinProps)} {...(this.$props as SpinProps)}
show={this.spinValue} show={this.spinValue}
themeOverrides={this.overrides} themeOverrides={this.overrides}
style="height: var(--html-height)"
> >
{{ {{
...this.$slots, ...this.$slots,

View File

@ -1,17 +1,10 @@
/**
*
*
*
* ,
*/
import { useStorage } from '@vueuse/core' import { useStorage } from '@vueuse/core'
import { APP_CATCH_KEY } from '@/app-config' import { APP_CATCH_KEY } from '@/app-config'
const appLockScreen = useStorage( const appLockScreen = useStorage(
APP_CATCH_KEY.isAppLockScreen, APP_CATCH_KEY.isAppLockScreen,
false, false,
sessionStorage, window.localStorage,
{ {
mergeDefaults: true, mergeDefaults: true,
}, },

View File

@ -24,7 +24,7 @@ const LockScreen = defineComponent({
formInstRef.value?.validate((error) => { formInstRef.value?.validate((error) => {
if (!error) { if (!error) {
setLockAppScreen(true) setLockAppScreen(true)
updateSettingState('lockScreenSwitch', true) updateSettingState('lockScreenSwitch', false)
state.lockCondition = useCondition() state.lockCondition = useCondition()
} }
@ -46,34 +46,36 @@ const LockScreen = defineComponent({
}, },
render() { render() {
return ( return (
<div class="app-lock-screen__input"> <div class="app-lock-screen__content">
<NForm <div class="app-lock-screen__input">
ref="formInstRef" <NForm
model={this.lockCondition} ref="formInstRef"
rules={rules} model={this.lockCondition}
labelPlacement="left" rules={rules}
> labelPlacement="left"
<NFormItem path="lockPassword"> >
<NInput <NFormItem path="lockPassword">
ref="inputInstRef" <NInput
v-model:value={this.lockCondition.lockPassword} ref="inputInstRef"
type="password" v-model:value={this.lockCondition.lockPassword}
placeholder="请输入锁屏密码" type="password"
clearable placeholder="请输入锁屏密码"
showPasswordOn="click" clearable
minlength={6} showPasswordOn="click"
maxlength={12} minlength={6}
onKeydown={(e: KeyboardEvent) => { maxlength={12}
if (e.code === 'Enter') { onKeydown={(e: KeyboardEvent) => {
this.lockScreen() if (e.code === 'Enter') {
} this.lockScreen()
}} }
/> }}
</NFormItem> />
<NButton type="primary" onClick={this.lockScreen.bind(this)}> </NFormItem>
<NButton type="primary" onClick={this.lockScreen.bind(this)}>
</NButton>
</NForm> </NButton>
</NForm>
</div>
</div> </div>
) )
}, },

View File

@ -1,3 +1,5 @@
import '../../index.scss'
import { NInput, NForm, NFormItem, NButton, NFlex } from 'naive-ui' import { NInput, NForm, NFormItem, NButton, NFlex } from 'naive-ui'
import AppAvatar from '@/app-components/app/AppAvatar' import AppAvatar from '@/app-components/app/AppAvatar'
@ -90,59 +92,73 @@ export default defineComponent({
const { unlockScreen, backToSigning } = this const { unlockScreen, backToSigning } = this
return ( return (
<div class="app-lock-screen__unlock"> <div class="app-lock-screen__content app-lock-screen__content--full">
<div class="app-lock-screen__unlock__content"> <div class="app-lock-screen__unlock">
<div class="app-lock-screen__unlock__content-wrapper"> <div class="app-lock-screen__unlock__content">
<div <div class="app-lock-screen__unlock__content-wrapper">
class={[ <div
'app-lock-screen__unlock__content-bg__wrapper', class={[
'app-lock-screen__unlock__content-bg', 'app-lock-screen__unlock__content-bg__wrapper',
isTabletOrSmaller 'app-lock-screen__unlock__content-bg',
? 'app-lock-screen__unlock__content-bg--smaller' isTabletOrSmaller
: '', ? 'app-lock-screen__unlock__content-bg--smaller'
]} : '',
> ]}
<div class="left">{hmSplit[0]}</div> >
<div class="right">{hmSplit[1]}</div> <div class="left">{hmSplit[0]}</div>
<div class="right">{hmSplit[1]}</div>
</div>
</div> </div>
</div> <div class="app-lock-screen__unlock__content-avatar">
<div class="app-lock-screen__unlock__content-avatar"> <AppAvatar
<AppAvatar avatarSize={52} style="pointer-events: none;" vertical /> avatarSize={52}
</div> style="pointer-events: none;"
<div class="app-lock-screen__unlock__content-input"> vertical
<NForm ref="formRef" model={this.lockCondition} rules={rules}> />
<NFormItem path="lockPassword">
<NInput
ref="inputInstRef"
v-model:value={this.lockCondition.lockPassword}
type="password"
placeholder="请输入解锁密码"
clearable
minlength={6}
maxlength={12}
onKeydown={(e: KeyboardEvent) => {
if (e.code === 'Enter') {
unlockScreen()
}
}}
/>
</NFormItem>
<NFlex justify="space-between">
<NButton type="primary" text onClick={backToSigning.bind(this)}>
</NButton>
<NButton type="primary" text onClick={unlockScreen.bind(this)}>
</NButton>
</NFlex>
</NForm>
</div>
<div class="app-lock-screen__unlock__content-date">
<div class="current-date">
{HH_MM}&nbsp;<span>{AM_PM}</span>
</div> </div>
<div class="current-year"> <div class="app-lock-screen__unlock__content-input">
{YY_MM_DD}&nbsp;<span>{DDD}</span> <NForm ref="formRef" model={this.lockCondition} rules={rules}>
<NFormItem path="lockPassword">
<NInput
ref="inputInstRef"
v-model:value={this.lockCondition.lockPassword}
type="password"
placeholder="请输入解锁密码"
clearable
minlength={6}
maxlength={12}
onKeydown={(e: KeyboardEvent) => {
if (e.code === 'Enter') {
unlockScreen()
}
}}
/>
</NFormItem>
<NFlex justify="space-between">
<NButton
type="primary"
text
onClick={backToSigning.bind(this)}
>
</NButton>
<NButton
type="primary"
text
onClick={unlockScreen.bind(this)}
>
</NButton>
</NFlex>
</NForm>
</div>
<div class="app-lock-screen__unlock__content-date">
<div class="current-date">
{HH_MM}&nbsp;<span>{AM_PM}</span>
</div>
<div class="current-year">
{YY_MM_DD}&nbsp;<span>{DDD}</span>
</div>
</div> </div>
</div> </div>
</div> </div>

View File

@ -1,4 +1,10 @@
.app-lock-screen__content { .app-lock-screen__content {
&.app-lock-screen__content--full {
width: 100%;
height: var(--html-height);
@include flexCenter;
}
& .app-lock-screen__input { & .app-lock-screen__input {
& button[class*='n-button'] { & button[class*='n-button'] {
width: 100%; width: 100%;

View File

@ -1,22 +1,11 @@
/**
*
* ,
*
*/
import './index.scss'
import { RModal } from '@/components' import { RModal } from '@/components'
import LockScreen from './components/LockScreen' import LockScreen from './components/LockScreen'
import UnlockScreen from './components/UnlockScreen'
import useAppLockScreen from '@/app-components/app/AppLockScreen/appLockVar'
import { useSettingGetters, useSettingActions } from '@/store' import { useSettingGetters, useSettingActions } from '@/store'
const AppLockScreen = defineComponent({ const AppLockScreen = defineComponent({
name: 'AppLockScreen', name: 'AppLockScreen',
setup() { setup() {
const { getLockAppScreen } = useAppLockScreen()
const { updateSettingState } = useSettingActions() const { updateSettingState } = useSettingActions()
const { getLockScreenSwitch } = useSettingGetters() const { getLockScreenSwitch } = useSettingGetters()
const lockScreenSwitchRef = computed({ const lockScreenSwitchRef = computed({
@ -28,12 +17,9 @@ const AppLockScreen = defineComponent({
return { return {
lockScreenSwitchRef, lockScreenSwitchRef,
getLockAppScreen,
} }
}, },
render() { render() {
const { getLockAppScreen } = this
return ( return (
<RModal <RModal
v-model:show={this.lockScreenSwitchRef} v-model:show={this.lockScreenSwitchRef}
@ -42,12 +28,10 @@ const AppLockScreen = defineComponent({
autoFocus={false} autoFocus={false}
maskClosable={false} maskClosable={false}
closeOnEsc={false} closeOnEsc={false}
preset={!getLockAppScreen() ? 'dialog' : void 0} preset="dialog"
title="锁定屏幕" title="锁定屏幕"
> >
<div class="app-lock-screen__content"> <LockScreen />
{!getLockAppScreen() ? <LockScreen /> : <UnlockScreen />}
</div>
</RModal> </RModal>
) )
}, },

View File

@ -7,7 +7,7 @@ import {
getStorage, getStorage,
} from '@/utils' } from '@/utils'
import { useSettingGetters } from '@/store' import { useSettingGetters } from '@/store'
import { APP_CATCH_KEY, THEME_CLASS_NAMES } from '@/app-config' import { APP_CATCH_KEY, GLOBAL_CLASS_NAMES, APP_THEME } from '@/app-config'
import { useWindowSize } from '@vueuse/core' import { useWindowSize } from '@vueuse/core'
import type { SettingState } from '@/store/modules/setting/types' import type { SettingState } from '@/store/modules/setting/types'
@ -20,9 +20,14 @@ export default defineComponent({
// 同步主题色变量至 html如果未获取到缓存值则已默认值填充 // 同步主题色变量至 html如果未获取到缓存值则已默认值填充
const syncPrimaryColorToBody = () => { const syncPrimaryColorToBody = () => {
// 默认主题色
const { const {
appPrimaryColor: { primaryColor, primaryFadeColor }, appPrimaryColor: { primaryColor, primaryFadeColor },
} = __APP_CFG__ // 默认主题色 } = APP_THEME
// 主题色配置 class 名
const { rayTemplateThemePrimaryColor, rayTemplateThemePrimaryFadeColor } =
GLOBAL_CLASS_NAMES
const html = document.documentElement const html = document.documentElement
// 获取缓存 naive ui 配置项 // 获取缓存 naive ui 配置项
@ -42,18 +47,19 @@ export default defineComponent({
const fp = colorToRgba(p, 0.38) const fp = colorToRgba(p, 0.38)
// 设置全局主题色 css 变量 // 设置全局主题色 css 变量
html.style.setProperty('--ray-theme-primary-color', p) // 主色调 html.style.setProperty(rayTemplateThemePrimaryColor, p) // 主色调
// 降低透明度后的主色调
html.style.setProperty( html.style.setProperty(
'--ray-theme-primary-fade-color', rayTemplateThemePrimaryFadeColor,
fp || primaryFadeColor, fp || primaryFadeColor,
) // 降低透明度后的主色调 )
} }
} }
// 隐藏加载动画 // 隐藏加载动画
const hiddenLoadingAnimation = () => { const hiddenLoadingAnimation = () => {
// pre-loading-animation 是默认 id // pre-loading-animation 是默认 id
const el = document.getElementById('pre-loading-animation') const el = document.getElementById(GLOBAL_CLASS_NAMES.preLoadingAnimation)
if (el) { if (el) {
setStyle(el, { setStyle(el, {
@ -65,7 +71,7 @@ export default defineComponent({
// 切换主题时,同步更新 html class 以便于进行自定义 css 配置 // 切换主题时,同步更新 html class 以便于进行自定义 css 配置
const updateGlobalThemeClass = (bool: boolean) => { const updateGlobalThemeClass = (bool: boolean) => {
const html = document.documentElement const html = document.documentElement
const { darkClassName, lightClassName } = THEME_CLASS_NAMES const { darkClassName, lightClassName } = GLOBAL_CLASS_NAMES
bool bool
? removeClass(html, lightClassName) ? removeClass(html, lightClassName)
@ -82,8 +88,8 @@ export default defineComponent({
updateGlobalThemeClass(getAppTheme.value) updateGlobalThemeClass(getAppTheme.value)
// 注入全局宽高尺寸 // 注入全局宽高尺寸
setStyle(document.documentElement, { setStyle(document.documentElement, {
'--html-height': `${height.value}px`, [GLOBAL_CLASS_NAMES.htmlHeight]: `${height.value}px`,
'--html-width': `${width.value}px`, [GLOBAL_CLASS_NAMES.htmlWidth]: `${width.value}px`,
}) })
}) })

View File

@ -5,11 +5,19 @@ import type { MessageProviderProps } from 'naive-ui'
* *
* @description * @description
* html * html
*
* class name
*
*/ */
export const THEME_CLASS_NAMES = { export const GLOBAL_CLASS_NAMES = {
darkClassName: 'ray-template--dark', darkClassName: 'ray-template--dark',
lightClassName: 'ray-template--light', lightClassName: 'ray-template--light',
} rayTemplateThemePrimaryColor: '--ray-theme-primary-color',
rayTemplateThemePrimaryFadeColor: '--ray-theme-primary-fade-color',
preLoadingAnimation: 'pre-loading-animation',
htmlHeight: '--html-height',
htmlWidth: '--html-width',
} as const
/** /**
* *

View File

@ -170,11 +170,19 @@ export function useSiderBar() {
spliceMenTagOptions(index) spliceMenTagOptions(index)
if (option.fullPath === getMenuKey.value) { if (option.fullPath === getMenuKey.value) {
const tag = getMenuTagOptions.value[index - 1] let i = checkCloseLeft(index)
? index - 1
: checkCloseRight(index)
? index
: index - 1
if (tag) { if (i < 0) {
changeMenuModelValue(tag.fullPath, tag) i = 0
} }
const tag = getMenuTagOptions.value[i]
tag && changeMenuModelValue(tag.fullPath, tag)
} }
} }
} }

View File

@ -42,8 +42,8 @@ export const useDayjs = () => {
* dayjs * dayjs
* *
* @example * @example
* locale('en') * locale('zh-CN')
* locale('zh-cn') * locale('en-US')
*/ */
const locale = (key: LocalKey) => { const locale = (key: LocalKey) => {
const locale = DAYJS_LOCAL_MAP[key] const locale = DAYJS_LOCAL_MAP[key]

View File

@ -56,7 +56,7 @@ export interface UseElementFullscreenOptions {
* @description * @description
* transition * transition
* *
* @default 'width 0.3s var(--r-bezier), height 0.3s var(--r-bezier)' * @default 'transform 0.3s var(--r-bezier)'
*/ */
transition?: string transition?: string
} }
@ -101,7 +101,7 @@ export const useElementFullscreen = (
exit: _exit, exit: _exit,
backgroundColor, backgroundColor,
zIndex, zIndex,
transition = 'all 0.3s var(--r-bezier)', transition = 'transform 0.3s var(--r-bezier)',
} = options ?? {} } = options ?? {}
let isSetup = false let isSetup = false
const catchBoundingClientRect: { const catchBoundingClientRect: {
@ -111,6 +111,8 @@ export const useElementFullscreen = (
x: null, x: null,
y: null, y: null,
} }
// 使用 ref 来追踪状态
const isFullscreen = ref(false)
const updateStyle = () => { const updateStyle = () => {
const element = unrefElement(target) as HTMLElement | null const element = unrefElement(target) as HTMLElement | null
@ -153,7 +155,7 @@ export const useElementFullscreen = (
z-index: var(--element-fullscreen-z-index) !important; z-index: var(--element-fullscreen-z-index) !important;
background-color: var(--element-fullscreen-background-color); background-color: var(--element-fullscreen-background-color);
} }
` `.trim()
styleElement.innerHTML = cssContent styleElement.innerHTML = cssContent
@ -185,6 +187,7 @@ export const useElementFullscreen = (
} }
element.style.transition = transition element.style.transition = transition
isFullscreen.value = true
_enter?.() _enter?.()
} }
@ -199,6 +202,8 @@ export const useElementFullscreen = (
element.removeAttribute(ID_TAG) element.removeAttribute(ID_TAG)
} }
isFullscreen.value = false
_exit?.() _exit?.()
} }
@ -222,13 +227,15 @@ export const useElementFullscreen = (
} }
// 回滚 z-index 值,避免无限增加 // 回滚 z-index 值,避免无限增加
currentZIndex-- currentZIndex = Math.max(999, currentZIndex - 1) // 防止 zIndex 小于初始值
isFullscreen.value = false
}) })
return { return {
enter, enter,
exit, exit,
toggleFullscreen, toggleFullscreen,
isFullscreen: readonly(isFullscreen), // 暴露只读状态
} }
} }

View File

@ -24,7 +24,7 @@ export default defineComponent({
const modelMenuKey = computed({ const modelMenuKey = computed({
get: () => { get: () => {
// eslint-disable-next-line vue/no-async-in-computed-properties // eslint-disable-next-line vue/no-async-in-computed-properties
nextTick().then(() => { setTimeout(() => {
/** /**
* *
* @description * @description
@ -34,7 +34,7 @@ export default defineComponent({
* *
*/ */
showMenuOption() showMenuOption()
}) }, 300)
return getMenuKey.value return getMenuKey.value
}, },

View File

@ -218,10 +218,10 @@ export default defineComponent({
const RenderPreIcon = (meta: AppRouteMeta) => { const RenderPreIcon = (meta: AppRouteMeta) => {
const { icon } = meta const { icon } = meta
if (typeof icon === 'string') { if (typeof icon === 'string' && icon) {
return <RIcon name={icon} size="24" /> return <RIcon name={icon} size="24" />
} else if (typeof icon === 'function') { } else if (typeof icon === 'function') {
return () => icon return <icon />
} else { } else {
return <RIcon name="search" size="24" /> return <RIcon name="search" size="24" />
} }

View File

@ -79,8 +79,6 @@ export default defineComponent({
layoutContentMaximize layoutContentMaximize
? 'r-layout-full__viewer-content--maximize' ? 'r-layout-full__viewer-content--maximize'
: null, : null,
'r-layout-full__viewer-content--maximize--light',
'r-layout-full__viewer-content--maximize--dark',
]} ]}
> >
{layoutContentMaximize ? ( {layoutContentMaximize ? (

View File

@ -19,6 +19,7 @@ import {
HeaderWrapper, HeaderWrapper,
FeatureWrapper, FeatureWrapper,
} from './default' } from './default'
import UnlockScreen from '@/app-components/app/AppLockScreen/components/UnlockScreen'
import { LAYOUT_CONTENT_REF } from '@/app-config' import { LAYOUT_CONTENT_REF } from '@/app-config'
import { layoutCssVars } from '@/layout/layout-css-vars' import { layoutCssVars } from '@/layout/layout-css-vars'
@ -70,6 +71,8 @@ export default defineComponent({
{getCopyrightSwitch ? <FooterWrapper ref="layoutFooterRef" /> : null} {getCopyrightSwitch ? <FooterWrapper ref="layoutFooterRef" /> : null}
</NLayoutContent> </NLayoutContent>
</NLayout> </NLayout>
) : null ) : (
<UnlockScreen />
)
}, },
}) })

View File

@ -0,0 +1,45 @@
import type { AppRouteRecordRaw } from '../types'
import type { AppMenuOption } from '@/types'
type LikeTemplateRouteOption = AppRouteRecordRaw | AppMenuOption
type SkipReturnType = LikeTemplateRouteOption | undefined
/**
*
* @param options
*
* @description
* undefined
* 使
*
* @example
* const canSkip1 = canSkipRoute(menuOptions)
* const canSkip2 = canSkipRoute(routeOptions)
*/
export const canSkipRoute = (
options: LikeTemplateRouteOption[],
): SkipReturnType => {
if (!Array.isArray(options)) {
return void 0
}
const skip = (skipOptions: LikeTemplateRouteOption[]): SkipReturnType => {
for (const curr of skipOptions) {
if (
(!curr.children || curr.children.length === 0) &&
!curr.meta.windowOpen
) {
return curr
} else {
const found = skip(curr.children || [])
if (found) {
return found
}
}
}
}
return skip(options)
}

View File

@ -8,3 +8,4 @@ export * from './setup-router-loading-bar'
export * from './valid-menu-item-show' export * from './valid-menu-item-show'
export * from './valid-role' export * from './valid-role'
export * from './vue-router-register' export * from './vue-router-register'
export { canSkipRoute } from './can-skip-route'

View File

@ -18,7 +18,7 @@
import { NEllipsis } from 'naive-ui' import { NEllipsis } from 'naive-ui'
import { setStorage, equalRouterPath, updateObjectValue } from '@/utils' import { setStorage, equalRouterPath, updateObjectValue } from '@/utils'
import { validRole, validMenuItemShow } from '@/router/utils' import { validRole, validMenuItemShow, canSkipRoute } from '@/router/utils'
import { import {
parseAndFindMatchingNodes, parseAndFindMatchingNodes,
updateDocumentTitle, updateDocumentTitle,
@ -379,19 +379,18 @@ export const piniaMenuStore = defineStore(
'', '',
) )
if (menuState.currentMenuOption) { const r =
const { currentMenuOption } = menuState menuState.currentMenuOption ||
(canSkipRoute(menuState.options) as AppMenuOption)
if (r) {
// 惰性更新面包屑,避免 sameLevel 模式下的面包屑被覆盖 // 惰性更新面包屑,避免 sameLevel 模式下的面包屑被覆盖
if (!menuState.breadcrumbOptions.length) { if (!menuState.breadcrumbOptions.length) {
setBreadcrumbOptions(currentMenuOption.key) setBreadcrumbOptions(r.key)
} }
setMenuTagOptionsWhenMenuValueChange( setMenuTagOptionsWhenMenuValueChange(r.fullPath, r)
currentMenuOption.fullPath, updateDocumentTitle(r)
currentMenuOption,
)
updateDocumentTitle(currentMenuOption)
} }
resolve() resolve()

View File

@ -1,7 +1,7 @@
import { getAppDefaultLanguage } from '@/locales/utils' import { getAppDefaultLanguage } from '@/locales/utils'
import { colorToRgba, setStorage, updateObjectValue, setStyle } from '@/utils' import { colorToRgba, setStorage, updateObjectValue, setStyle } from '@/utils'
import { useI18n, useDayjs } from '@/hooks' import { useI18n, useDayjs } from '@/hooks'
import { APP_CATCH_KEY, APP_THEME } from '@/app-config' import { APP_CATCH_KEY, APP_THEME, GLOBAL_CLASS_NAMES } from '@/app-config'
import type { SettingState } from '@/store/modules/setting/types' import type { SettingState } from '@/store/modules/setting/types'
import type { LocalKey } from '@/hooks' import type { LocalKey } from '@/hooks'
@ -99,10 +99,9 @@ export const piniaSettingStore = defineStore(
const updateLocale = (key: string) => { const updateLocale = (key: string) => {
locale(key) locale(key)
dayjsLocal(key as LocalKey) dayjsLocal(key as LocalKey)
setStorage(APP_CATCH_KEY.localeLanguage, key, 'localStorage')
settingState.localeLanguage = key settingState.localeLanguage = key
setStorage(APP_CATCH_KEY.localeLanguage, key, 'localStorage')
} }
/** /**
@ -117,14 +116,16 @@ export const piniaSettingStore = defineStore(
primaryColorHover: value, primaryColorHover: value,
primaryColorPressed: value, primaryColorPressed: value,
} }
const { rayTemplateThemePrimaryColor, rayTemplateThemePrimaryFadeColor } =
GLOBAL_CLASS_NAMES
const html = document.documentElement
settingState.primaryColorOverride.common = themeOverrides settingState.primaryColorOverride.common = themeOverrides
const html = document.documentElement // 设置主题色变量
html.style.setProperty(rayTemplateThemePrimaryColor, value)
/** 设置主题色变量 */ // 设置主题色辅助色变量
html.style.setProperty('--ray-theme-primary-color', value) html.style.setProperty(rayTemplateThemePrimaryFadeColor, alphaColor)
html.style.setProperty('--ray-theme-primary-fade-color', alphaColor)
} }
/** /**
@ -200,6 +201,8 @@ export const piniaSettingStore = defineStore(
{ {
persist: { persist: {
key: APP_CATCH_KEY.appPiniaSettingStore, key: APP_CATCH_KEY.appPiniaSettingStore,
omit: ['lockScreenSwitch'],
storage: window.localStorage,
}, },
}, },
) )