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.keystyle": "nested",
"i18n-ally.sortKeys": true,
@ -45,6 +46,5 @@
"stylelint",
"WUJIE",
"zlevel"
],
"peacock.color": "#007fff"
]
}

View File

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

View File

@ -1,7 +1,7 @@
{
"name": "ray-template",
"private": false,
"version": "5.0.4",
"version": "5.0.5",
"type": "module",
"engines": {
"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)
'@vueuse/core':
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:
specifier: ^1.7.5
version: 1.7.5
@ -49,13 +49,13 @@ importers:
version: 1.1.0
naive-ui:
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:
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:
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:
specifier: ^1.6.0
version: 1.6.0
@ -64,16 +64,16 @@ importers:
version: 3.5.12(typescript@5.6.3)
vue-demi:
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:
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:
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:
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:
specifier: 2.0.10
version: 2.0.10(typescript@5.6.3)
@ -89,7 +89,7 @@ importers:
version: 1.10.21
'@intlify/unplugin-vue-i18n':
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':
specifier: ^4.2.2
version: 4.2.2
@ -104,28 +104,28 @@ importers:
version: 1.0.7
'@typescript-eslint/eslint-plugin':
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':
specifier: ^8.13.0
version: 8.13.0(eslint@8.57.0)(typescript@5.6.3)
'@vitejs/plugin-vue':
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':
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':
specifier: 1.4.0
version: 1.4.0(vitest@1.5.2)
'@vue/eslint-config-prettier':
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':
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':
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:
specifier: ^10.4.16
version: 10.4.16(postcss@8.4.38)
@ -140,10 +140,10 @@ importers:
version: 9.1.0(eslint@8.57.0)
eslint-config-standard-with-typescript:
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:
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:
specifier: ^6.1.1
version: 6.1.1(eslint@8.57.0)
@ -182,10 +182,10 @@ importers:
version: 5.6.3
unplugin-auto-import:
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:
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:
specifier: ^5.4.3
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)
vite-plugin-ejs:
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:
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:
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:
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:
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:
specifier: ^4.0.0
version: 4.0.0
vite-tsconfig-paths:
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:
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)
@ -5338,7 +5338,7 @@ snapshots:
'@types/node': 20.5.1
chalk: 4.1.2
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.merge: 4.6.2
lodash.uniq: 4.5.0
@ -5400,7 +5400,7 @@ snapshots:
dependencies:
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:
vue: 3.5.12(typescript@5.6.3)
@ -5585,7 +5585,7 @@ snapshots:
'@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:
'@intlify/message-compiler': 9.13.1
'@intlify/shared': 9.13.1
@ -5595,8 +5595,9 @@ snapshots:
jsonc-eslint-parser: 2.4.0
mlly: 1.6.1
source-map-js: 1.2.0
vue-i18n: 9.13.1(vue@3.5.12)
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':
dependencies:
@ -5610,9 +5611,9 @@ snapshots:
'@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:
'@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
'@rollup/pluginutils': 5.1.0(rollup@4.20.0)
'@vue/compiler-sfc': 3.4.27
@ -5624,7 +5625,8 @@ snapshots:
picocolors: 1.0.1
source-map-js: 1.2.0
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:
- rollup
- supports-color
@ -5701,9 +5703,9 @@ snapshots:
'@nodelib/fs.scandir': 2.1.5
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:
'@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
consola: 3.2.3
defu: 6.1.4
@ -5720,8 +5722,8 @@ snapshots:
scule: 1.3.0
semver: 7.6.3
ufo: 1.5.4
unctx: 2.3.1
unimport: 3.13.1(rollup@4.20.0)
unctx: 2.3.1(webpack-sources@3.2.3)
unimport: 3.13.1(rollup@4.20.0)(webpack-sources@3.2.3)
untyped: 1.4.2
transitivePeerDependencies:
- magicast
@ -5729,7 +5731,7 @@ snapshots:
- supports-color
- 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:
compatx: 0.1.8
consola: 3.2.3
@ -5741,7 +5743,7 @@ snapshots:
std-env: 3.7.0
ufo: 1.5.4
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
transitivePeerDependencies:
- rollup
@ -5771,6 +5773,7 @@ snapshots:
'@types/estree': 1.0.5
estree-walker: 2.0.2
picomatch: 2.3.1
optionalDependencies:
rollup: 4.20.0
'@rollup/pluginutils@5.1.2(rollup@4.20.0)':
@ -5778,6 +5781,7 @@ snapshots:
'@types/estree': 1.0.5
estree-walker: 2.0.2
picomatch: 2.3.1
optionalDependencies:
rollup: 4.20.0
'@rollup/rollup-android-arm-eabi@4.20.0':
@ -5899,7 +5903,7 @@ snapshots:
'@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:
'@eslint-community/regexpp': 4.10.0
'@typescript-eslint/parser': 6.21.0(eslint@8.57.0)(typescript@5.6.3)
@ -5914,11 +5918,12 @@ snapshots:
natural-compare: 1.4.0
semver: 7.6.0
ts-api-utils: 1.3.0(typescript@5.6.3)
optionalDependencies:
typescript: 5.6.3
transitivePeerDependencies:
- 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:
'@eslint-community/regexpp': 4.11.1
'@typescript-eslint/parser': 8.13.0(eslint@8.57.0)(typescript@5.6.3)
@ -5931,6 +5936,7 @@ snapshots:
ignore: 5.3.2
natural-compare: 1.4.0
ts-api-utils: 1.3.0(typescript@5.6.3)
optionalDependencies:
typescript: 5.6.3
transitivePeerDependencies:
- supports-color
@ -5943,6 +5949,7 @@ snapshots:
'@typescript-eslint/visitor-keys': 6.21.0
debug: 4.3.4
eslint: 8.57.0
optionalDependencies:
typescript: 5.6.3
transitivePeerDependencies:
- supports-color
@ -5955,6 +5962,7 @@ snapshots:
'@typescript-eslint/visitor-keys': 8.13.0
debug: 4.3.7
eslint: 8.57.0
optionalDependencies:
typescript: 5.6.3
transitivePeerDependencies:
- supports-color
@ -5976,6 +5984,7 @@ snapshots:
debug: 4.3.4
eslint: 8.57.0
ts-api-utils: 1.3.0(typescript@5.6.3)
optionalDependencies:
typescript: 5.6.3
transitivePeerDependencies:
- supports-color
@ -5986,6 +5995,7 @@ snapshots:
'@typescript-eslint/utils': 8.13.0(eslint@8.57.0)(typescript@5.6.3)
debug: 4.3.7
ts-api-utils: 1.3.0(typescript@5.6.3)
optionalDependencies:
typescript: 5.6.3
transitivePeerDependencies:
- eslint
@ -6005,6 +6015,7 @@ snapshots:
minimatch: 9.0.3
semver: 7.6.3
ts-api-utils: 1.3.0(typescript@5.6.3)
optionalDependencies:
typescript: 5.6.3
transitivePeerDependencies:
- supports-color
@ -6019,6 +6030,7 @@ snapshots:
minimatch: 9.0.5
semver: 7.6.3
ts-api-utils: 1.3.0(typescript@5.6.3)
optionalDependencies:
typescript: 5.6.3
transitivePeerDependencies:
- supports-color
@ -6060,7 +6072,7 @@ snapshots:
'@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:
'@babel/core': 7.24.7
'@babel/plugin-transform-typescript': 7.24.8(@babel/core@7.24.7)
@ -6070,7 +6082,7 @@ snapshots:
transitivePeerDependencies:
- 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:
vite: 5.4.3(@types/node@20.5.1)(sass@1.71.1)
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)':
dependencies:
'@babel/core': 7.24.7
'@babel/helper-module-imports': 7.22.15
'@babel/helper-plugin-utils': 7.24.8
'@babel/plugin-syntax-jsx': 7.24.1(@babel/core@7.24.7)
@ -6150,6 +6161,8 @@ snapshots:
camelcase: 6.3.0
html-tags: 3.3.1
svg-tags: 1.0.0
optionalDependencies:
'@babel/core': 7.24.7
transitivePeerDependencies:
- supports-color
@ -6261,23 +6274,24 @@ snapshots:
'@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:
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
transitivePeerDependencies:
- '@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:
'@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)
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)
optionalDependencies:
typescript: 5.6.3
transitivePeerDependencies:
- supports-color
@ -6291,6 +6305,7 @@ snapshots:
minimatch: 9.0.5
muggle-string: 0.4.1
path-browserify: 1.0.1
optionalDependencies:
typescript: 5.6.3
'@vue/reactivity@3.5.12':
@ -6309,7 +6324,7 @@ snapshots:
'@vue/shared': 3.5.12
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:
'@vue/compiler-ssr': 3.5.12
'@vue/shared': 3.5.12
@ -6321,27 +6336,29 @@ snapshots:
'@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:
js-beautify: 1.14.11
vue: 3.5.12(typescript@5.6.3)
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:
'@types/web-bluetooth': 0.0.20
'@vueuse/metadata': 11.1.0
'@vueuse/shared': 11.1.0(vue@3.5.12)
vue-demi: 0.14.10(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(typescript@5.6.3))
transitivePeerDependencies:
- '@vue/composition-api'
- vue
'@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:
vue-demi: 0.14.10(vue@3.5.12)
vue-demi: 0.14.10(vue@3.5.12(typescript@5.6.3))
transitivePeerDependencies:
- '@vue/composition-api'
- vue
@ -6854,7 +6871,7 @@ snapshots:
object-assign: 4.1.1
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:
'@types/node': 20.5.1
cosmiconfig: 8.3.6(typescript@5.6.3)
@ -6875,6 +6892,7 @@ snapshots:
js-yaml: 4.1.0
parse-json: 5.2.0
path-type: 4.0.0
optionalDependencies:
typescript: 5.6.3
create-require@1.1.1: {}
@ -7357,23 +7375,23 @@ snapshots:
dependencies:
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:
'@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)
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-plugin-import: 2.30.0(@typescript-eslint/parser@8.13.0)(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)(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)
typescript: 5.6.3
transitivePeerDependencies:
- 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:
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-promise: 6.1.1(eslint@8.57.0)
@ -7385,10 +7403,11 @@ snapshots:
transitivePeerDependencies:
- 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:
'@typescript-eslint/parser': 8.13.0(eslint@8.57.0)(typescript@5.6.3)
debug: 3.2.7
optionalDependencies:
'@typescript-eslint/parser': 8.13.0(eslint@8.57.0)(typescript@5.6.3)
eslint: 8.57.0
eslint-import-resolver-node: 0.3.9
transitivePeerDependencies:
@ -7401,10 +7420,9 @@ snapshots:
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:
'@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.prototype.findlastindex: 1.2.5
array.prototype.flat: 1.3.2
@ -7413,7 +7431,7 @@ snapshots:
doctrine: 2.1.0
eslint: 8.57.0
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
is-core-module: 2.15.1
is-glob: 4.0.3
@ -7423,6 +7441,8 @@ snapshots:
object.values: 1.2.0
semver: 6.3.1
tsconfig-paths: 3.15.0
optionalDependencies:
'@typescript-eslint/parser': 8.13.0(eslint@8.57.0)(typescript@5.6.3)
transitivePeerDependencies:
- eslint-import-resolver-typescript
- eslint-import-resolver-webpack
@ -7443,13 +7463,15 @@ snapshots:
resolve: 1.22.8
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:
eslint: 8.57.0
eslint-config-prettier: 9.1.0(eslint@8.57.0)
prettier: 3.2.5
prettier-linter-helpers: 1.0.0
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):
dependencies:
@ -8588,10 +8610,10 @@ snapshots:
arrify: 2.0.1
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:
'@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/lodash': 4.17.6
'@types/lodash-es': 4.17.12
@ -8606,10 +8628,10 @@ snapshots:
lodash-es: 4.17.21
seemly: 0.3.8
treemate: 0.3.11
vdirs: 0.1.8(vue@3.5.12)
vooks: 0.2.12(vue@3.5.12)
vdirs: 0.1.8(vue@3.5.12(typescript@5.6.3))
vooks: 0.2.12(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: {}
@ -8836,25 +8858,27 @@ snapshots:
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:
'@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
defu: 6.1.4
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:
- magicast
- rollup
- supports-color
- 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:
'@vue/devtools-api': 6.6.3
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:
dependencies:
@ -9571,7 +9595,7 @@ snapshots:
yn: 3.1.1
tsconfck@3.0.3(typescript@5.6.3):
dependencies:
optionalDependencies:
typescript: 5.6.3
tsconfig-paths@3.15.0:
@ -9653,12 +9677,12 @@ snapshots:
uncrypto@0.1.3: {}
unctx@2.3.1:
unctx@2.3.1(webpack-sources@3.2.3):
dependencies:
acorn: 8.12.1
estree-walker: 3.0.3
magic-string: 0.30.11
unplugin: 1.13.1
unplugin: 1.13.1(webpack-sources@3.2.3)
transitivePeerDependencies:
- webpack-sources
@ -9668,7 +9692,7 @@ snapshots:
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:
'@rollup/pluginutils': 5.1.0(rollup@4.20.0)
acorn: 8.12.1
@ -9682,12 +9706,12 @@ snapshots:
pkg-types: 1.2.0
scule: 1.3.0
strip-literal: 2.1.0
unplugin: 1.13.1
unplugin: 1.13.1(webpack-sources@3.2.3)
transitivePeerDependencies:
- rollup
- webpack-sources
unimport@3.13.1(rollup@4.20.0):
unimport@3.13.1(rollup@4.20.0)(webpack-sources@3.2.3):
dependencies:
'@rollup/pluginutils': 5.1.2(rollup@4.20.0)
acorn: 8.12.1
@ -9701,7 +9725,7 @@ snapshots:
pkg-types: 1.2.0
scule: 1.3.0
strip-literal: 2.1.0
unplugin: 1.14.1
unplugin: 1.14.1(webpack-sources@3.2.3)
transitivePeerDependencies:
- rollup
- webpack-sources
@ -9717,22 +9741,24 @@ snapshots:
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:
'@antfu/utils': 0.7.10
'@rollup/pluginutils': 5.1.0(rollup@4.20.0)
'@vueuse/core': 11.1.0(vue@3.5.12)
fast-glob: 3.3.2
local-pkg: 0.5.0
magic-string: 0.30.11
minimatch: 9.0.5
unimport: 3.11.1(rollup@4.20.0)
unplugin: 1.13.1
unimport: 3.11.1(rollup@4.20.0)(webpack-sources@3.2.3)
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:
- rollup
- 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:
'@antfu/utils': 0.7.10
'@rollup/pluginutils': 5.1.0(rollup@4.20.0)
@ -9743,8 +9769,11 @@ snapshots:
magic-string: 0.30.11
minimatch: 9.0.5
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)
optionalDependencies:
'@babel/parser': 7.25.8
'@nuxt/kit': 3.13.2(rollup@4.20.0)(webpack-sources@3.2.3)
transitivePeerDependencies:
- rollup
- supports-color
@ -9757,15 +9786,19 @@ snapshots:
webpack-sources: 3.2.3
webpack-virtual-modules: 0.6.1
unplugin@1.13.1:
unplugin@1.13.1(webpack-sources@3.2.3):
dependencies:
acorn: 8.12.1
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:
acorn: 8.12.1
webpack-virtual-modules: 0.6.2
optionalDependencies:
webpack-sources: 3.2.3
unset-value@1.0.0:
dependencies:
@ -9825,7 +9858,7 @@ snapshots:
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:
evtd: 0.2.4
vue: 3.5.12(typescript@5.6.3)
@ -9865,12 +9898,12 @@ snapshots:
- rollup
- 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:
ejs: 3.1.9
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:
'@rollup/pluginutils': 4.2.1
'@types/eslint': 8.56.6
@ -9878,7 +9911,7 @@ snapshots:
rollup: 2.79.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:
'@antfu/utils': 0.7.7
'@rollup/pluginutils': 5.1.0(rollup@4.20.0)
@ -9890,11 +9923,13 @@ snapshots:
picocolors: 1.0.0
sirv: 2.0.4
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:
- rollup
- 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:
'@pengzhanbo/utils': 1.1.1
'@rollup/pluginutils': 5.1.0(rollup@4.20.0)
@ -9920,7 +9955,7 @@ snapshots:
- supports-color
- 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:
'@types/svgo': 2.6.4
cors: 2.8.5
@ -9939,11 +9974,12 @@ snapshots:
'@vue/compiler-sfc': 3.4.21
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:
debug: 4.3.4
globrex: 0.1.2
tsconfck: 3.0.3(typescript@5.6.3)
optionalDependencies:
vite: 5.4.3(@types/node@20.5.1)(sass@1.71.1)
transitivePeerDependencies:
- supports-color
@ -9951,28 +9987,25 @@ snapshots:
vite@5.4.3(@types/node@20.5.1)(sass@1.71.1):
dependencies:
'@types/node': 20.5.1
esbuild: 0.21.5
postcss: 8.4.45
rollup: 4.20.0
sass: 1.71.1
optionalDependencies:
'@types/node': 20.5.1
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):
dependencies:
'@types/node': 20.5.1
'@vitest/expect': 1.5.2
'@vitest/runner': 1.5.2
'@vitest/snapshot': 1.5.2
'@vitest/spy': 1.5.2
'@vitest/ui': 1.4.0(vitest@1.5.2)
'@vitest/utils': 1.5.2
acorn-walk: 8.3.2
chai: 4.4.1
debug: 4.3.4
execa: 8.0.1
happy-dom: 14.3.1
local-pkg: 0.5.0
magic-string: 0.30.8
pathe: 1.1.2
@ -9984,6 +10017,10 @@ snapshots:
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)
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:
- less
- lightningcss
@ -9994,7 +10031,7 @@ snapshots:
- supports-color
- terser
vooks@0.2.12(vue@3.5.12):
vooks@0.2.12(vue@3.5.12(typescript@5.6.3)):
dependencies:
evtd: 0.2.4
vue: 3.5.12(typescript@5.6.3)
@ -10003,11 +10040,11 @@ snapshots:
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:
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:
vue: 3.5.12(typescript@5.6.3)
@ -10037,7 +10074,7 @@ snapshots:
transitivePeerDependencies:
- 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:
'@types/js-cookie': 3.0.6
'@vue/devtools-api': 6.6.3
@ -10048,14 +10085,14 @@ snapshots:
screenfull: 5.2.0
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:
'@intlify/core-base': 9.13.1
'@intlify/shared': 9.13.1
'@vue/devtools-api': 6.6.1
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:
'@vue/devtools-api': 6.6.1
vue: 3.5.12(typescript@5.6.3)
@ -10079,19 +10116,20 @@ snapshots:
'@vue/compiler-dom': 3.5.12
'@vue/compiler-sfc': 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
optionalDependencies:
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:
'@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
css-render: 0.15.14
evtd: 0.2.4
seemly: 0.3.8
vdirs: 0.1.8(vue@3.5.12)
vooks: 0.2.12(vue@3.5.12)
vdirs: 0.1.8(vue@3.5.12(typescript@5.6.3))
vooks: 0.2.12(vue@3.5.12(typescript@5.6.3))
vue: 3.5.12(typescript@5.6.3)
webidl-conversions@7.0.0: {}

View File

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

View File

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

View File

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

View File

@ -1,3 +1,5 @@
import '../../index.scss'
import { NInput, NForm, NFormItem, NButton, NFlex } from 'naive-ui'
import AppAvatar from '@/app-components/app/AppAvatar'
@ -90,59 +92,73 @@ export default defineComponent({
const { unlockScreen, backToSigning } = this
return (
<div class="app-lock-screen__unlock">
<div class="app-lock-screen__unlock__content">
<div class="app-lock-screen__unlock__content-wrapper">
<div
class={[
'app-lock-screen__unlock__content-bg__wrapper',
'app-lock-screen__unlock__content-bg',
isTabletOrSmaller
? 'app-lock-screen__unlock__content-bg--smaller'
: '',
]}
>
<div class="left">{hmSplit[0]}</div>
<div class="right">{hmSplit[1]}</div>
<div class="app-lock-screen__content app-lock-screen__content--full">
<div class="app-lock-screen__unlock">
<div class="app-lock-screen__unlock__content">
<div class="app-lock-screen__unlock__content-wrapper">
<div
class={[
'app-lock-screen__unlock__content-bg__wrapper',
'app-lock-screen__unlock__content-bg',
isTabletOrSmaller
? 'app-lock-screen__unlock__content-bg--smaller'
: '',
]}
>
<div class="left">{hmSplit[0]}</div>
<div class="right">{hmSplit[1]}</div>
</div>
</div>
</div>
<div class="app-lock-screen__unlock__content-avatar">
<AppAvatar avatarSize={52} style="pointer-events: none;" vertical />
</div>
<div class="app-lock-screen__unlock__content-input">
<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 class="app-lock-screen__unlock__content-avatar">
<AppAvatar
avatarSize={52}
style="pointer-events: none;"
vertical
/>
</div>
<div class="current-year">
{YY_MM_DD}&nbsp;<span>{DDD}</span>
<div class="app-lock-screen__unlock__content-input">
<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>

View File

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

View File

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

View File

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

View File

@ -5,11 +5,19 @@ import type { MessageProviderProps } from 'naive-ui'
*
* @description
* html
*
* class name
*
*/
export const THEME_CLASS_NAMES = {
export const GLOBAL_CLASS_NAMES = {
darkClassName: 'ray-template--dark',
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)
if (option.fullPath === getMenuKey.value) {
const tag = getMenuTagOptions.value[index - 1]
let i = checkCloseLeft(index)
? index - 1
: checkCloseRight(index)
? index
: index - 1
if (tag) {
changeMenuModelValue(tag.fullPath, tag)
if (i < 0) {
i = 0
}
const tag = getMenuTagOptions.value[i]
tag && changeMenuModelValue(tag.fullPath, tag)
}
}
}

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -19,6 +19,7 @@ import {
HeaderWrapper,
FeatureWrapper,
} from './default'
import UnlockScreen from '@/app-components/app/AppLockScreen/components/UnlockScreen'
import { LAYOUT_CONTENT_REF } from '@/app-config'
import { layoutCssVars } from '@/layout/layout-css-vars'
@ -70,6 +71,8 @@ export default defineComponent({
{getCopyrightSwitch ? <FooterWrapper ref="layoutFooterRef" /> : null}
</NLayoutContent>
</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-role'
export * from './vue-router-register'
export { canSkipRoute } from './can-skip-route'

View File

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

View File

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