version: v4.8.7

This commit is contained in:
XiaoDaiGua-Ray 2024-06-11 10:35:01 +08:00
parent 7ca9663cb1
commit b0cd545c99
18 changed files with 365 additions and 275 deletions

View File

@ -1,5 +1,23 @@
# CHANGE LOG
## 4.8.7
## Feats
- 更新 `vite` 版本至 `5.2.12`
- 更新 `vue` 版本至 `3.4.27`
- 更新 `vue-hooks-plus` 版本至 `2.2.0`
- 更新 `@types/lodash-es` 版本至 `4.17.12`
- `FetchFunction` 移除,使用 `AxiosResponseInterceptor`, `AxiosRequestInterceptor` 替代插件类型推导
- `echarts macarons theme` 优化
- `RChart` 组件的默认 `loading` 效果支持自动跟随主题切换
- `SIDE_BAR_LOGO` 更名为 `SIDE_BAR_LOGO_DEFAULT`,现在支持在 `setting store` 中动态更新,以满足更广泛的需求
## Fixes
- 修复 `primaryColorOverride` 配置项不生效问题
- 修复面包屑在 `sameLevel` 的情况下,可能会被覆盖问题
## 4.8.6
## Fixes

View File

@ -1,7 +1,7 @@
{
"name": "ray-template",
"private": false,
"version": "4.8.6",
"version": "4.8.7",
"type": "module",
"engines": {
"node": "^18.0.0 || >=20.0.0",
@ -48,9 +48,9 @@
"pinia": "^2.1.7",
"pinia-plugin-persistedstate": "^3.2.0",
"print-js": "^1.6.0",
"vue": "^3.4.26",
"vue": "^3.4.27",
"vue-demi": "0.14.6",
"vue-hooks-plus": "2.1.0",
"vue-hooks-plus": "2.2.0",
"vue-i18n": "^9.13.1",
"vue-router": "^4.3.2",
"vue3-next-qrcode": "2.0.10"
@ -63,7 +63,7 @@
"@types/crypto-js": "^4.1.1",
"@types/dom-to-image": "2.6.7",
"@types/jsbarcode": "3.11.4",
"@types/lodash-es": "^4.17.11",
"@types/lodash-es": "^4.17.12",
"@types/mockjs": "1.0.7",
"@typescript-eslint/eslint-plugin": "^6.5.0",
"@typescript-eslint/parser": "^6.5.0",
@ -92,7 +92,7 @@
"typescript": "^5.2.2",
"unplugin-auto-import": "^0.17.5",
"unplugin-vue-components": "^0.26.0",
"vite": "^5.2.11",
"vite": "^5.2.12",
"vite-bundle-analyzer": "0.9.4",
"vite-plugin-cdn2": "1.1.0",
"vite-plugin-compression": "^0.5.1",

390
pnpm-lock.yaml generated
View File

@ -7,7 +7,7 @@ settings:
dependencies:
'@vueuse/core':
specifier: ^10.9.0
version: 10.9.0(vue@3.4.26)
version: 10.9.0(vue@3.4.27)
axios:
specifier: ^1.6.7
version: 1.6.8
@ -40,10 +40,10 @@ dependencies:
version: 1.1.0
naive-ui:
specifier: ^2.38.2
version: 2.38.2(vue@3.4.26)
version: 2.38.2(vue@3.4.27)
pinia:
specifier: ^2.1.7
version: 2.1.7(typescript@5.2.2)(vue@3.4.26)
version: 2.1.7(typescript@5.2.2)(vue@3.4.27)
pinia-plugin-persistedstate:
specifier: ^3.2.0
version: 3.2.1(pinia@2.1.7)
@ -51,20 +51,20 @@ dependencies:
specifier: ^1.6.0
version: 1.6.0
vue:
specifier: ^3.4.26
version: 3.4.26(typescript@5.2.2)
specifier: ^3.4.27
version: 3.4.27(typescript@5.2.2)
vue-demi:
specifier: 0.14.6
version: 0.14.6(vue@3.4.26)
version: 0.14.6(vue@3.4.27)
vue-hooks-plus:
specifier: 2.1.0
version: 2.1.0(vue@3.4.26)
specifier: 2.2.0
version: 2.2.0(vue@3.4.27)
vue-i18n:
specifier: ^9.13.1
version: 9.13.1(vue@3.4.26)
version: 9.13.1(vue@3.4.27)
vue-router:
specifier: ^4.3.2
version: 4.3.2(vue@3.4.26)
version: 4.3.2(vue@3.4.27)
vue3-next-qrcode:
specifier: 2.0.10
version: 2.0.10(typescript@5.2.2)
@ -92,7 +92,7 @@ devDependencies:
specifier: 3.11.4
version: 3.11.4
'@types/lodash-es':
specifier: ^4.17.11
specifier: ^4.17.12
version: 4.17.12
'@types/mockjs':
specifier: 1.0.7
@ -105,10 +105,10 @@ devDependencies:
version: 6.21.0(eslint@8.57.0)(typescript@5.2.2)
'@vitejs/plugin-vue':
specifier: ^5.0.4
version: 5.0.4(vite@5.2.11)(vue@3.4.26)
version: 5.0.4(vite@5.2.12)(vue@3.4.27)
'@vitejs/plugin-vue-jsx':
specifier: ^3.1.0
version: 3.1.0(vite@5.2.11)(vue@3.4.26)
version: 3.1.0(vite@5.2.12)(vue@3.4.27)
'@vitest/ui':
specifier: 1.4.0
version: 1.4.0(vitest@1.5.2)
@ -120,7 +120,7 @@ devDependencies:
version: 12.0.0(eslint-plugin-vue@9.25.0)(eslint@8.57.0)(typescript@5.2.2)
'@vue/test-utils':
specifier: 2.4.3
version: 2.4.3(vue@3.4.26)
version: 2.4.3(vue@3.4.27)
autoprefixer:
specifier: ^10.4.15
version: 10.4.16(postcss@8.4.38)
@ -177,10 +177,10 @@ devDependencies:
version: 0.17.5(@vueuse/core@10.9.0)
unplugin-vue-components:
specifier: ^0.26.0
version: 0.26.0(vue@3.4.26)
version: 0.26.0(vue@3.4.27)
vite:
specifier: ^5.2.11
version: 5.2.11(@types/node@20.5.1)(sass@1.71.1)
specifier: ^5.2.12
version: 5.2.12(@types/node@20.5.1)(sass@1.71.1)
vite-bundle-analyzer:
specifier: 0.9.4
version: 0.9.4
@ -189,31 +189,31 @@ devDependencies:
version: 1.1.0
vite-plugin-compression:
specifier: ^0.5.1
version: 0.5.1(vite@5.2.11)
version: 0.5.1(vite@5.2.12)
vite-plugin-ejs:
specifier: ^1.7.0
version: 1.7.0(vite@5.2.11)
version: 1.7.0(vite@5.2.12)
vite-plugin-eslint:
specifier: 1.8.1
version: 1.8.1(eslint@8.57.0)(vite@5.2.11)
version: 1.8.1(eslint@8.57.0)(vite@5.2.12)
vite-plugin-imp:
specifier: ^2.4.0
version: 2.4.0(vite@5.2.11)
version: 2.4.0(vite@5.2.12)
vite-plugin-inspect:
specifier: ^0.8.3
version: 0.8.3(vite@5.2.11)
version: 0.8.3(vite@5.2.12)
vite-plugin-mock-dev-server:
specifier: 1.4.7
version: 1.4.7(vite@5.2.11)
version: 1.4.7(vite@5.2.12)
vite-plugin-svg-icons:
specifier: ^2.0.1
version: 2.0.1(vite@5.2.11)
version: 2.0.1(vite@5.2.12)
vite-svg-loader:
specifier: ^4.0.0
version: 4.0.0
vite-tsconfig-paths:
specifier: 4.3.2
version: 4.3.2(typescript@5.2.2)(vite@5.2.11)
version: 4.3.2(typescript@5.2.2)(vite@5.2.12)
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)
@ -743,12 +743,12 @@ packages:
css-render: 0.15.12
dev: false
/@css-render/vue3-ssr@0.15.12(vue@3.4.26):
/@css-render/vue3-ssr@0.15.12(vue@3.4.27):
resolution: {integrity: sha512-AQLGhhaE0F+rwybRCkKUdzBdTEM/5PZBYy+fSYe1T9z9+yxMuV/k7ZRqa4M69X+EI1W8pa4kc9Iq2VjQkZx4rg==}
peerDependencies:
vue: ^3.0.11
dependencies:
vue: 3.4.26(typescript@5.2.2)
vue: 3.4.27(typescript@5.2.2)
dev: false
/@emotion/hash@0.8.0:
@ -1254,7 +1254,7 @@ packages:
jsonc-eslint-parser: 2.4.0
mlly: 1.6.1
source-map-js: 1.2.0
vue-i18n: 9.13.1(vue@3.4.26)
vue-i18n: 9.13.1(vue@3.4.27)
yaml-eslint-parser: 1.2.2
dev: true
@ -1303,7 +1303,7 @@ packages:
picocolors: 1.0.1
source-map-js: 1.2.0
unplugin: 1.10.1
vue-i18n: 9.13.1(vue@3.4.26)
vue-i18n: 9.13.1(vue@3.4.27)
transitivePeerDependencies:
- rollup
- supports-color
@ -1437,128 +1437,128 @@ packages:
picomatch: 2.3.1
dev: true
/@rollup/rollup-android-arm-eabi@4.14.3:
resolution: {integrity: sha512-X9alQ3XM6I9IlSlmC8ddAvMSyG1WuHk5oUnXGw+yUBs3BFoTizmG1La/Gr8fVJvDWAq+zlYTZ9DBgrlKRVY06g==}
/@rollup/rollup-android-arm-eabi@4.17.2:
resolution: {integrity: sha512-NM0jFxY8bB8QLkoKxIQeObCaDlJKewVlIEkuyYKm5An1tdVZ966w2+MPQ2l8LBZLjR+SgyV+nRkTIunzOYBMLQ==}
cpu: [arm]
os: [android]
requiresBuild: true
dev: true
optional: true
/@rollup/rollup-android-arm64@4.14.3:
resolution: {integrity: sha512-eQK5JIi+POhFpzk+LnjKIy4Ks+pwJ+NXmPxOCSvOKSNRPONzKuUvWE+P9JxGZVxrtzm6BAYMaL50FFuPe0oWMQ==}
/@rollup/rollup-android-arm64@4.17.2:
resolution: {integrity: sha512-yeX/Usk7daNIVwkq2uGoq2BYJKZY1JfyLTaHO/jaiSwi/lsf8fTFoQW/n6IdAsx5tx+iotu2zCJwz8MxI6D/Bw==}
cpu: [arm64]
os: [android]
requiresBuild: true
dev: true
optional: true
/@rollup/rollup-darwin-arm64@4.14.3:
resolution: {integrity: sha512-Od4vE6f6CTT53yM1jgcLqNfItTsLt5zE46fdPaEmeFHvPs5SjZYlLpHrSiHEKR1+HdRfxuzXHjDOIxQyC3ptBA==}
/@rollup/rollup-darwin-arm64@4.17.2:
resolution: {integrity: sha512-kcMLpE6uCwls023+kknm71ug7MZOrtXo+y5p/tsg6jltpDtgQY1Eq5sGfHcQfb+lfuKwhBmEURDga9N0ol4YPw==}
cpu: [arm64]
os: [darwin]
requiresBuild: true
dev: true
optional: true
/@rollup/rollup-darwin-x64@4.14.3:
resolution: {integrity: sha512-0IMAO21axJeNIrvS9lSe/PGthc8ZUS+zC53O0VhF5gMxfmcKAP4ESkKOCwEi6u2asUrt4mQv2rjY8QseIEb1aw==}
/@rollup/rollup-darwin-x64@4.17.2:
resolution: {integrity: sha512-AtKwD0VEx0zWkL0ZjixEkp5tbNLzX+FCqGG1SvOu993HnSz4qDI6S4kGzubrEJAljpVkhRSlg5bzpV//E6ysTQ==}
cpu: [x64]
os: [darwin]
requiresBuild: true
dev: true
optional: true
/@rollup/rollup-linux-arm-gnueabihf@4.14.3:
resolution: {integrity: sha512-ge2DC7tHRHa3caVEoSbPRJpq7azhG+xYsd6u2MEnJ6XzPSzQsTKyXvh6iWjXRf7Rt9ykIUWHtl0Uz3T6yXPpKw==}
/@rollup/rollup-linux-arm-gnueabihf@4.17.2:
resolution: {integrity: sha512-3reX2fUHqN7sffBNqmEyMQVj/CKhIHZd4y631duy0hZqI8Qoqf6lTtmAKvJFYa6bhU95B1D0WgzHkmTg33In0A==}
cpu: [arm]
os: [linux]
requiresBuild: true
dev: true
optional: true
/@rollup/rollup-linux-arm-musleabihf@4.14.3:
resolution: {integrity: sha512-ljcuiDI4V3ySuc7eSk4lQ9wU8J8r8KrOUvB2U+TtK0TiW6OFDmJ+DdIjjwZHIw9CNxzbmXY39wwpzYuFDwNXuw==}
/@rollup/rollup-linux-arm-musleabihf@4.17.2:
resolution: {integrity: sha512-uSqpsp91mheRgw96xtyAGP9FW5ChctTFEoXP0r5FAzj/3ZRv3Uxjtc7taRQSaQM/q85KEKjKsZuiZM3GyUivRg==}
cpu: [arm]
os: [linux]
requiresBuild: true
dev: true
optional: true
/@rollup/rollup-linux-arm64-gnu@4.14.3:
resolution: {integrity: sha512-Eci2us9VTHm1eSyn5/eEpaC7eP/mp5n46gTRB3Aar3BgSvDQGJZuicyq6TsH4HngNBgVqC5sDYxOzTExSU+NjA==}
/@rollup/rollup-linux-arm64-gnu@4.17.2:
resolution: {integrity: sha512-EMMPHkiCRtE8Wdk3Qhtciq6BndLtstqZIroHiiGzB3C5LDJmIZcSzVtLRbwuXuUft1Cnv+9fxuDtDxz3k3EW2A==}
cpu: [arm64]
os: [linux]
requiresBuild: true
dev: true
optional: true
/@rollup/rollup-linux-arm64-musl@4.14.3:
resolution: {integrity: sha512-UrBoMLCq4E92/LCqlh+blpqMz5h1tJttPIniwUgOFJyjWI1qrtrDhhpHPuFxULlUmjFHfloWdixtDhSxJt5iKw==}
/@rollup/rollup-linux-arm64-musl@4.17.2:
resolution: {integrity: sha512-NMPylUUZ1i0z/xJUIx6VUhISZDRT+uTWpBcjdv0/zkp7b/bQDF+NfnfdzuTiB1G6HTodgoFa93hp0O1xl+/UbA==}
cpu: [arm64]
os: [linux]
requiresBuild: true
dev: true
optional: true
/@rollup/rollup-linux-powerpc64le-gnu@4.14.3:
resolution: {integrity: sha512-5aRjvsS8q1nWN8AoRfrq5+9IflC3P1leMoy4r2WjXyFqf3qcqsxRCfxtZIV58tCxd+Yv7WELPcO9mY9aeQyAmw==}
/@rollup/rollup-linux-powerpc64le-gnu@4.17.2:
resolution: {integrity: sha512-T19My13y8uYXPw/L/k0JYaX1fJKFT/PWdXiHr8mTbXWxjVF1t+8Xl31DgBBvEKclw+1b00Chg0hxE2O7bTG7GQ==}
cpu: [ppc64]
os: [linux]
requiresBuild: true
dev: true
optional: true
/@rollup/rollup-linux-riscv64-gnu@4.14.3:
resolution: {integrity: sha512-sk/Qh1j2/RJSX7FhEpJn8n0ndxy/uf0kI/9Zc4b1ELhqULVdTfN6HL31CDaTChiBAOgLcsJ1sgVZjWv8XNEsAQ==}
/@rollup/rollup-linux-riscv64-gnu@4.17.2:
resolution: {integrity: sha512-BOaNfthf3X3fOWAB+IJ9kxTgPmMqPPH5f5k2DcCsRrBIbWnaJCgX2ll77dV1TdSy9SaXTR5iDXRL8n7AnoP5cg==}
cpu: [riscv64]
os: [linux]
requiresBuild: true
dev: true
optional: true
/@rollup/rollup-linux-s390x-gnu@4.14.3:
resolution: {integrity: sha512-jOO/PEaDitOmY9TgkxF/TQIjXySQe5KVYB57H/8LRP/ux0ZoO8cSHCX17asMSv3ruwslXW/TLBcxyaUzGRHcqg==}
/@rollup/rollup-linux-s390x-gnu@4.17.2:
resolution: {integrity: sha512-W0UP/x7bnn3xN2eYMql2T/+wpASLE5SjObXILTMPUBDB/Fg/FxC+gX4nvCfPBCbNhz51C+HcqQp2qQ4u25ok6g==}
cpu: [s390x]
os: [linux]
requiresBuild: true
dev: true
optional: true
/@rollup/rollup-linux-x64-gnu@4.14.3:
resolution: {integrity: sha512-8ybV4Xjy59xLMyWo3GCfEGqtKV5M5gCSrZlxkPGvEPCGDLNla7v48S662HSGwRd6/2cSneMQWiv+QzcttLrrOA==}
/@rollup/rollup-linux-x64-gnu@4.17.2:
resolution: {integrity: sha512-Hy7pLwByUOuyaFC6mAr7m+oMC+V7qyifzs/nW2OJfC8H4hbCzOX07Ov0VFk/zP3kBsELWNFi7rJtgbKYsav9QQ==}
cpu: [x64]
os: [linux]
requiresBuild: true
dev: true
optional: true
/@rollup/rollup-linux-x64-musl@4.14.3:
resolution: {integrity: sha512-s+xf1I46trOY10OqAtZ5Rm6lzHre/UiLA1J2uOhCFXWkbZrJRkYBPO6FhvGfHmdtQ3Bx793MNa7LvoWFAm93bg==}
/@rollup/rollup-linux-x64-musl@4.17.2:
resolution: {integrity: sha512-h1+yTWeYbRdAyJ/jMiVw0l6fOOm/0D1vNLui9iPuqgRGnXA0u21gAqOyB5iHjlM9MMfNOm9RHCQ7zLIzT0x11Q==}
cpu: [x64]
os: [linux]
requiresBuild: true
dev: true
optional: true
/@rollup/rollup-win32-arm64-msvc@4.14.3:
resolution: {integrity: sha512-+4h2WrGOYsOumDQ5S2sYNyhVfrue+9tc9XcLWLh+Kw3UOxAvrfOrSMFon60KspcDdytkNDh7K2Vs6eMaYImAZg==}
/@rollup/rollup-win32-arm64-msvc@4.17.2:
resolution: {integrity: sha512-tmdtXMfKAjy5+IQsVtDiCfqbynAQE/TQRpWdVataHmhMb9DCoJxp9vLcCBjEQWMiUYxO1QprH/HbY9ragCEFLA==}
cpu: [arm64]
os: [win32]
requiresBuild: true
dev: true
optional: true
/@rollup/rollup-win32-ia32-msvc@4.14.3:
resolution: {integrity: sha512-T1l7y/bCeL/kUwh9OD4PQT4aM7Bq43vX05htPJJ46RTI4r5KNt6qJRzAfNfM+OYMNEVBWQzR2Gyk+FXLZfogGw==}
/@rollup/rollup-win32-ia32-msvc@4.17.2:
resolution: {integrity: sha512-7II/QCSTAHuE5vdZaQEwJq2ZACkBpQDOmQsE6D6XUbnBHW8IAhm4eTufL6msLJorzrHDFv3CF8oCA/hSIRuZeQ==}
cpu: [ia32]
os: [win32]
requiresBuild: true
dev: true
optional: true
/@rollup/rollup-win32-x64-msvc@4.14.3:
resolution: {integrity: sha512-/BypzV0H1y1HzgYpxqRaXGBRqfodgoBBCcsrujT6QRcakDQdfU+Lq9PENPh5jB4I44YWq+0C2eHsHya+nZY1sA==}
/@rollup/rollup-win32-x64-msvc@4.17.2:
resolution: {integrity: sha512-TGGO7v7qOq4CYmSBVEYpI1Y5xDuCEnbVC5Vth8mOsW0gDSzxNrVERPc790IGHsrT2dQSimgMr9Ub3Y1Jci5/8w==}
cpu: [x64]
os: [win32]
requiresBuild: true
@ -1634,10 +1634,14 @@ packages:
/@types/lodash-es@4.17.12:
resolution: {integrity: sha512-0NgftHUcV4v34VhXm8QBSftKVXtbkBG3ViCjs6+eJ5a6y6Mi/jiFGPc1sC7QK+9BFhWrURE3EOggmWaSxL9OzQ==}
dependencies:
'@types/lodash': 4.17.0
'@types/lodash': 4.17.1
/@types/lodash@4.17.0:
resolution: {integrity: sha512-t7dhREVv6dbNj0q17X12j7yDG4bD/DHYX7o5/DbDxobP0HnGPgpRz2Ej77aL7TZT3DSw13fqUTj8J4mMnqa7WA==}
dev: false
/@types/lodash@4.17.1:
resolution: {integrity: sha512-X+2qazGS3jxLAIz5JDXDzglAF3KpijdhFxlf/V1+hEsOUc+HnWi81L/uv/EvGuV90WY+7mPGFCUDGfQC3Gj95Q==}
/@types/minimatch@3.0.5:
resolution: {integrity: sha512-Klz949h02Gz2uZCMGwDUSDS1YBlTdDDgbWHi+81l29tQALUtvz4rAYi5uoVhE5Lagoq6DeqAUlbrHvW/mXDgdQ==}
@ -1818,7 +1822,7 @@ packages:
resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==}
dev: true
/@vitejs/plugin-vue-jsx@3.1.0(vite@5.2.11)(vue@3.4.26):
/@vitejs/plugin-vue-jsx@3.1.0(vite@5.2.12)(vue@3.4.27):
resolution: {integrity: sha512-w9M6F3LSEU5kszVb9An2/MmXNxocAnUb3WhRr8bHlimhDrXNt6n6D2nJQR3UXpGlZHh/EsgouOHCsM8V3Ln+WA==}
engines: {node: ^14.18.0 || >=16.0.0}
peerDependencies:
@ -1828,21 +1832,21 @@ packages:
'@babel/core': 7.24.1
'@babel/plugin-transform-typescript': 7.23.6(@babel/core@7.24.1)
'@vue/babel-plugin-jsx': 1.2.2(@babel/core@7.24.1)
vite: 5.2.11(@types/node@20.5.1)(sass@1.71.1)
vue: 3.4.26(typescript@5.2.2)
vite: 5.2.12(@types/node@20.5.1)(sass@1.71.1)
vue: 3.4.27(typescript@5.2.2)
transitivePeerDependencies:
- supports-color
dev: true
/@vitejs/plugin-vue@5.0.4(vite@5.2.11)(vue@3.4.26):
/@vitejs/plugin-vue@5.0.4(vite@5.2.12)(vue@3.4.27):
resolution: {integrity: sha512-WS3hevEszI6CEVEx28F8RjTX97k3KsrcY6kvTg7+Whm5y3oYvcqzVeGCU3hxSAn4uY2CLCkeokkGKpoctccilQ==}
engines: {node: ^18.0.0 || >=20.0.0}
peerDependencies:
vite: ^5.0.0
vue: ^3.2.25
dependencies:
vite: 5.2.11(@types/node@20.5.1)(sass@1.71.1)
vue: 3.4.26(typescript@5.2.2)
vite: 5.2.12(@types/node@20.5.1)(sass@1.71.1)
vue: 3.4.27(typescript@5.2.2)
dev: true
/@vitest/expect@1.5.2:
@ -1978,15 +1982,6 @@ packages:
source-map-js: 1.2.0
dev: true
/@vue/compiler-core@3.4.26:
resolution: {integrity: sha512-N9Vil6Hvw7NaiyFUFBPXrAyETIGlQ8KcFMkyk6hW1Cl6NvoqvP+Y8p1Eqvx+UdqsnrnI9+HMUEJegzia3mhXmQ==}
dependencies:
'@babel/parser': 7.24.5
'@vue/shared': 3.4.26
entities: 4.5.0
estree-walker: 2.0.2
source-map-js: 1.2.0
/@vue/compiler-core@3.4.27:
resolution: {integrity: sha512-E+RyqY24KnyDXsCuQrI+mlcdW3ALND6U7Gqa/+bVwbcpcR3BRRIckFoz7Qyd4TTlnugtwuI7YgjbvsLmxb+yvg==}
dependencies:
@ -1995,7 +1990,6 @@ packages:
entities: 4.5.0
estree-walker: 2.0.2
source-map-js: 1.2.0
dev: true
/@vue/compiler-dom@3.4.21:
resolution: {integrity: sha512-IZC6FKowtT1sl0CR5DpXSiEB5ayw75oT2bma1BEhV7RRR1+cfwLrxc2Z8Zq/RGFzJ8w5r9QtCOvTjQgdn0IKmA==}
@ -2004,18 +1998,11 @@ packages:
'@vue/shared': 3.4.21
dev: true
/@vue/compiler-dom@3.4.26:
resolution: {integrity: sha512-4CWbR5vR9fMg23YqFOhr6t6WB1Fjt62d6xdFPyj8pxrYub7d+OgZaObMsoxaF9yBUHPMiPFK303v61PwAuGvZA==}
dependencies:
'@vue/compiler-core': 3.4.26
'@vue/shared': 3.4.26
/@vue/compiler-dom@3.4.27:
resolution: {integrity: sha512-kUTvochG/oVgE1w5ViSr3KUBh9X7CWirebA3bezTbB5ZKBQZwR2Mwj9uoSKRMFcz4gSMzzLXBPD6KpCLb9nvWw==}
dependencies:
'@vue/compiler-core': 3.4.27
'@vue/shared': 3.4.27
dev: true
/@vue/compiler-sfc@3.4.21:
resolution: {integrity: sha512-me7epoTxYlY+2CUM7hy9PCDdpMPfIwrOvAXud2Upk10g4YLv9UBW7kL798TvMeDhPthkZ0CONNrK2GoeI1ODiQ==}
@ -2031,19 +2018,6 @@ packages:
source-map-js: 1.2.0
dev: true
/@vue/compiler-sfc@3.4.26:
resolution: {integrity: sha512-It1dp+FAOCgluYSVYlDn5DtZBxk1NCiJJfu2mlQqa/b+k8GL6NG/3/zRbJnHdhV2VhxFghaDq5L4K+1dakW6cw==}
dependencies:
'@babel/parser': 7.24.5
'@vue/compiler-core': 3.4.26
'@vue/compiler-dom': 3.4.26
'@vue/compiler-ssr': 3.4.26
'@vue/shared': 3.4.26
estree-walker: 2.0.2
magic-string: 0.30.10
postcss: 8.4.38
source-map-js: 1.2.0
/@vue/compiler-sfc@3.4.27:
resolution: {integrity: sha512-nDwntUEADssW8e0rrmE0+OrONwmRlegDA1pD6QhVeXxjIytV03yDqTey9SBDiALsvAd5U4ZrEKbMyVXhX6mCGA==}
dependencies:
@ -2056,7 +2030,6 @@ packages:
magic-string: 0.30.10
postcss: 8.4.38
source-map-js: 1.2.0
dev: true
/@vue/compiler-ssr@3.4.21:
resolution: {integrity: sha512-M5+9nI2lPpAsgXOGQobnIueVqc9sisBFexh5yMIMRAPYLa7+5wEJs8iqOZc1WAa9WQbx9GR2twgznU8LTIiZ4Q==}
@ -2065,18 +2038,11 @@ packages:
'@vue/shared': 3.4.21
dev: true
/@vue/compiler-ssr@3.4.26:
resolution: {integrity: sha512-FNwLfk7LlEPRY/g+nw2VqiDKcnDTVdCfBREekF8X74cPLiWHUX6oldktf/Vx28yh4STNy7t+/yuLoMBBF7YDiQ==}
dependencies:
'@vue/compiler-dom': 3.4.26
'@vue/shared': 3.4.26
/@vue/compiler-ssr@3.4.27:
resolution: {integrity: sha512-CVRzSJIltzMG5FcidsW0jKNQnNRYC8bT21VegyMMtHmhW3UOI7knmUehzswXLrExDLE6lQCZdrhD4ogI7c+vuw==}
dependencies:
'@vue/compiler-dom': 3.4.27
'@vue/shared': 3.4.27
dev: true
/@vue/devtools-api@6.6.1:
resolution: {integrity: sha512-LgPscpE3Vs0x96PzSSB4IGVSZXZBZHpfxs+ZA1d+VEPwHdOXowy/Y2CsvCAIFrf+ssVU1pD1jidj505EpUnfbA==}
@ -2134,45 +2100,41 @@ packages:
vue-template-compiler: 2.7.16
dev: true
/@vue/reactivity@3.4.26:
resolution: {integrity: sha512-E/ynEAu/pw0yotJeLdvZEsp5Olmxt+9/WqzvKff0gE67tw73gmbx6tRkiagE/eH0UCubzSlGRebCbidB1CpqZQ==}
/@vue/reactivity@3.4.27:
resolution: {integrity: sha512-kK0g4NknW6JX2yySLpsm2jlunZJl2/RJGZ0H9ddHdfBVHcNzxmQ0sS0b09ipmBoQpY8JM2KmUw+a6sO8Zo+zIA==}
dependencies:
'@vue/shared': 3.4.26
'@vue/shared': 3.4.27
/@vue/runtime-core@3.4.26:
resolution: {integrity: sha512-AFJDLpZvhT4ujUgZSIL9pdNcO23qVFh7zWCsNdGQBw8ecLNxOOnPcK9wTTIYCmBJnuPHpukOwo62a2PPivihqw==}
/@vue/runtime-core@3.4.27:
resolution: {integrity: sha512-7aYA9GEbOOdviqVvcuweTLe5Za4qBZkUY7SvET6vE8kyypxVgaT1ixHLg4urtOlrApdgcdgHoTZCUuTGap/5WA==}
dependencies:
'@vue/reactivity': 3.4.26
'@vue/shared': 3.4.26
'@vue/reactivity': 3.4.27
'@vue/shared': 3.4.27
/@vue/runtime-dom@3.4.26:
resolution: {integrity: sha512-UftYA2hUXR2UOZD/Fc3IndZuCOOJgFxJsWOxDkhfVcwLbsfh2CdXE2tG4jWxBZuDAs9J9PzRTUFt1PgydEtItw==}
/@vue/runtime-dom@3.4.27:
resolution: {integrity: sha512-ScOmP70/3NPM+TW9hvVAz6VWWtZJqkbdf7w6ySsws+EsqtHvkhxaWLecrTorFxsawelM5Ys9FnDEMt6BPBDS0Q==}
dependencies:
'@vue/runtime-core': 3.4.26
'@vue/shared': 3.4.26
'@vue/runtime-core': 3.4.27
'@vue/shared': 3.4.27
csstype: 3.1.3
/@vue/server-renderer@3.4.26(vue@3.4.26):
resolution: {integrity: sha512-xoGAqSjYDPGAeRWxeoYwqJFD/gw7mpgzOvSxEmjWaFO2rE6qpbD1PC172YRpvKhrihkyHJkNDADFXTfCyVGhKw==}
/@vue/server-renderer@3.4.27(vue@3.4.27):
resolution: {integrity: sha512-dlAMEuvmeA3rJsOMJ2J1kXU7o7pOxgsNHVr9K8hB3ImIkSuBrIdy0vF66h8gf8Tuinf1TK3mPAz2+2sqyf3KzA==}
peerDependencies:
vue: 3.4.26
vue: 3.4.27
dependencies:
'@vue/compiler-ssr': 3.4.26
'@vue/shared': 3.4.26
vue: 3.4.26(typescript@5.2.2)
'@vue/compiler-ssr': 3.4.27
'@vue/shared': 3.4.27
vue: 3.4.27(typescript@5.2.2)
/@vue/shared@3.4.21:
resolution: {integrity: sha512-PuJe7vDIi6VYSinuEbUIQgMIRZGgM8e4R+G+/dQTk0X1NEdvgvvgv7m+rfmDH1gZzyA1OjjoWskvHlfRNfQf3g==}
dev: true
/@vue/shared@3.4.26:
resolution: {integrity: sha512-Fg4zwR0GNnjzodMt3KRy2AWGMKQXByl56+4HjN87soxLNU9P5xcJkstAlIeEF3cU6UYOzmJl1tV0dVPGIljCnQ==}
/@vue/shared@3.4.27:
resolution: {integrity: sha512-DL3NmY2OFlqmYYrzp39yi3LDkKxa5vZVwxWdQ3rG0ekuWscHraeIbnI8t+aZK7qhYqEqWKTUdijadunb9pnrgA==}
dev: true
/@vue/test-utils@2.4.3(vue@3.4.26):
/@vue/test-utils@2.4.3(vue@3.4.27):
resolution: {integrity: sha512-F4K7mF+ad++VlTrxMJVRnenKSJmO6fkQt2wpRDiKDesQMkfpniGWsqEi/JevxGBo2qEkwwjvTUAoiGJLNx++CA==}
peerDependencies:
'@vue/server-renderer': ^3.0.1
@ -2182,17 +2144,17 @@ packages:
optional: true
dependencies:
js-beautify: 1.14.11
vue: 3.4.26(typescript@5.2.2)
vue: 3.4.27(typescript@5.2.2)
vue-component-type-helpers: 1.8.26
dev: true
/@vueuse/core@10.9.0(vue@3.4.26):
/@vueuse/core@10.9.0(vue@3.4.27):
resolution: {integrity: sha512-/1vjTol8SXnx6xewDEKfS0Ra//ncg4Hb0DaZiwKf7drgfMsKFExQ+FnnENcN6efPen+1kIzhLQoGSy0eDUVOMg==}
dependencies:
'@types/web-bluetooth': 0.0.20
'@vueuse/metadata': 10.9.0
'@vueuse/shared': 10.9.0(vue@3.4.26)
vue-demi: 0.14.7(vue@3.4.26)
'@vueuse/shared': 10.9.0(vue@3.4.27)
vue-demi: 0.14.7(vue@3.4.27)
transitivePeerDependencies:
- '@vue/composition-api'
- vue
@ -2200,10 +2162,10 @@ packages:
/@vueuse/metadata@10.9.0:
resolution: {integrity: sha512-iddNbg3yZM0X7qFY2sAotomgdHK7YJ6sKUvQqbvwnf7TmaVPxS4EJydcNsVejNdS8iWCtDk+fYXr7E32nyTnGA==}
/@vueuse/shared@10.9.0(vue@3.4.26):
/@vueuse/shared@10.9.0(vue@3.4.27):
resolution: {integrity: sha512-Uud2IWncmAfJvRaFYzv5OHDli+FbOzxiVEQdLCKQKLyhz94PIyFC3CHcH7EDMwIn8NPtD06+PNbC/PiO0LGLtw==}
dependencies:
vue-demi: 0.14.7(vue@3.4.26)
vue-demi: 0.14.7(vue@3.4.27)
transitivePeerDependencies:
- '@vue/composition-api'
- vue
@ -5768,13 +5730,13 @@ packages:
minimatch: 3.1.2
dev: true
/naive-ui@2.38.2(vue@3.4.26):
/naive-ui@2.38.2(vue@3.4.27):
resolution: {integrity: sha512-WhZ+6DW61aYSmFyfH7evcSGFmd2xR68Yq1mNRrVdJwBhZsnNdAUsMN9IeNCVEPMCND/jzYZghkStoNoR5Xa09g==}
peerDependencies:
vue: ^3.0.0
dependencies:
'@css-render/plugin-bem': 0.15.12(css-render@0.15.12)
'@css-render/vue3-ssr': 0.15.12(vue@3.4.26)
'@css-render/vue3-ssr': 0.15.12(vue@3.4.27)
'@types/katex': 0.16.7
'@types/lodash': 4.17.0
'@types/lodash-es': 4.17.12
@ -5789,10 +5751,10 @@ packages:
lodash-es: 4.17.21
seemly: 0.3.8
treemate: 0.3.11
vdirs: 0.1.8(vue@3.4.26)
vooks: 0.2.12(vue@3.4.26)
vue: 3.4.26(typescript@5.2.2)
vueuc: 0.4.58(vue@3.4.26)
vdirs: 0.1.8(vue@3.4.27)
vooks: 0.2.12(vue@3.4.27)
vue: 3.4.27(typescript@5.2.2)
vueuc: 0.4.58(vue@3.4.27)
dev: false
/nanoid@3.3.7:
@ -6172,10 +6134,10 @@ packages:
peerDependencies:
pinia: ^2.0.0
dependencies:
pinia: 2.1.7(typescript@5.2.2)(vue@3.4.26)
pinia: 2.1.7(typescript@5.2.2)(vue@3.4.27)
dev: false
/pinia@2.1.7(typescript@5.2.2)(vue@3.4.26):
/pinia@2.1.7(typescript@5.2.2)(vue@3.4.27):
resolution: {integrity: sha512-+C2AHFtcFqjPih0zpYuvof37SFxMQ7OEG2zV9jRI12i9BOy3YQVAHwdKtyyc8pDcDyIc33WCIsZaCFWU7WWxGQ==}
peerDependencies:
'@vue/composition-api': ^1.4.0
@ -6189,8 +6151,8 @@ packages:
dependencies:
'@vue/devtools-api': 6.6.1
typescript: 5.2.2
vue: 3.4.26(typescript@5.2.2)
vue-demi: 0.14.6(vue@3.4.26)
vue: 3.4.27(typescript@5.2.2)
vue-demi: 0.14.6(vue@3.4.27)
dev: false
/pkg-types@1.0.3:
@ -6564,29 +6526,29 @@ packages:
fsevents: 2.3.3
dev: true
/rollup@4.14.3:
resolution: {integrity: sha512-ag5tTQKYsj1bhrFC9+OEWqb5O6VYgtQDO9hPDBMmIbePwhfSr+ExlcU741t8Dhw5DkPCQf6noz0jb36D6W9/hw==}
/rollup@4.17.2:
resolution: {integrity: sha512-/9ClTJPByC0U4zNLowV1tMBe8yMEAxewtR3cUNX5BoEpGH3dQEWpJLr6CLp0fPdYRF/fzVOgvDb1zXuakwF5kQ==}
engines: {node: '>=18.0.0', npm: '>=8.0.0'}
hasBin: true
dependencies:
'@types/estree': 1.0.5
optionalDependencies:
'@rollup/rollup-android-arm-eabi': 4.14.3
'@rollup/rollup-android-arm64': 4.14.3
'@rollup/rollup-darwin-arm64': 4.14.3
'@rollup/rollup-darwin-x64': 4.14.3
'@rollup/rollup-linux-arm-gnueabihf': 4.14.3
'@rollup/rollup-linux-arm-musleabihf': 4.14.3
'@rollup/rollup-linux-arm64-gnu': 4.14.3
'@rollup/rollup-linux-arm64-musl': 4.14.3
'@rollup/rollup-linux-powerpc64le-gnu': 4.14.3
'@rollup/rollup-linux-riscv64-gnu': 4.14.3
'@rollup/rollup-linux-s390x-gnu': 4.14.3
'@rollup/rollup-linux-x64-gnu': 4.14.3
'@rollup/rollup-linux-x64-musl': 4.14.3
'@rollup/rollup-win32-arm64-msvc': 4.14.3
'@rollup/rollup-win32-ia32-msvc': 4.14.3
'@rollup/rollup-win32-x64-msvc': 4.14.3
'@rollup/rollup-android-arm-eabi': 4.17.2
'@rollup/rollup-android-arm64': 4.17.2
'@rollup/rollup-darwin-arm64': 4.17.2
'@rollup/rollup-darwin-x64': 4.17.2
'@rollup/rollup-linux-arm-gnueabihf': 4.17.2
'@rollup/rollup-linux-arm-musleabihf': 4.17.2
'@rollup/rollup-linux-arm64-gnu': 4.17.2
'@rollup/rollup-linux-arm64-musl': 4.17.2
'@rollup/rollup-linux-powerpc64le-gnu': 4.17.2
'@rollup/rollup-linux-riscv64-gnu': 4.17.2
'@rollup/rollup-linux-s390x-gnu': 4.17.2
'@rollup/rollup-linux-x64-gnu': 4.17.2
'@rollup/rollup-linux-x64-musl': 4.17.2
'@rollup/rollup-win32-arm64-msvc': 4.17.2
'@rollup/rollup-win32-ia32-msvc': 4.17.2
'@rollup/rollup-win32-x64-msvc': 4.17.2
fsevents: 2.3.3
dev: true
@ -7548,7 +7510,7 @@ packages:
dependencies:
'@antfu/utils': 0.7.7
'@rollup/pluginutils': 5.1.0
'@vueuse/core': 10.9.0(vue@3.4.26)
'@vueuse/core': 10.9.0(vue@3.4.27)
fast-glob: 3.3.2
local-pkg: 0.5.0
magic-string: 0.30.8
@ -7559,7 +7521,7 @@ packages:
- rollup
dev: true
/unplugin-vue-components@0.26.0(vue@3.4.26):
/unplugin-vue-components@0.26.0(vue@3.4.27):
resolution: {integrity: sha512-s7IdPDlnOvPamjunVxw8kNgKNK8A5KM1YpK5j/p97jEKTjlPNrA0nZBiSfAKKlK1gWZuyWXlKL5dk3EDw874LQ==}
engines: {node: '>=14'}
peerDependencies:
@ -7582,7 +7544,7 @@ packages:
minimatch: 9.0.3
resolve: 1.22.8
unplugin: 1.10.0
vue: 3.4.26(typescript@5.2.2)
vue: 3.4.27(typescript@5.2.2)
transitivePeerDependencies:
- rollup
- supports-color
@ -7669,13 +7631,13 @@ packages:
engines: {node: '>= 0.8'}
dev: true
/vdirs@0.1.8(vue@3.4.26):
/vdirs@0.1.8(vue@3.4.27):
resolution: {integrity: sha512-H9V1zGRLQZg9b+GdMk8MXDN2Lva0zx72MPahDKc30v+DtwKjfyOSXWRIX4t2mhDubM1H09gPhWeth/BJWPHGUw==}
peerDependencies:
vue: ^3.0.11
dependencies:
evtd: 0.2.4
vue: 3.4.26(typescript@5.2.2)
vue: 3.4.27(typescript@5.2.2)
dev: false
/vite-bundle-analyzer@0.9.4:
@ -7694,7 +7656,7 @@ packages:
debug: 4.3.4
pathe: 1.1.2
picocolors: 1.0.0
vite: 5.2.11(@types/node@20.5.1)(sass@1.71.1)
vite: 5.2.12(@types/node@20.5.1)(sass@1.71.1)
transitivePeerDependencies:
- '@types/node'
- less
@ -7720,7 +7682,7 @@ packages:
- supports-color
dev: true
/vite-plugin-compression@0.5.1(vite@5.2.11):
/vite-plugin-compression@0.5.1(vite@5.2.12):
resolution: {integrity: sha512-5QJKBDc+gNYVqL/skgFAP81Yuzo9R+EAf19d+EtsMF/i8kFUpNi3J/H01QD3Oo8zBQn+NzoCIFkpPLynoOzaJg==}
peerDependencies:
vite: '>=2.0.0'
@ -7728,21 +7690,21 @@ packages:
chalk: 4.1.2
debug: 4.3.4
fs-extra: 10.1.0
vite: 5.2.11(@types/node@20.5.1)(sass@1.71.1)
vite: 5.2.12(@types/node@20.5.1)(sass@1.71.1)
transitivePeerDependencies:
- supports-color
dev: true
/vite-plugin-ejs@1.7.0(vite@5.2.11):
/vite-plugin-ejs@1.7.0(vite@5.2.12):
resolution: {integrity: sha512-JNP3zQDC4mSbfoJ3G73s5mmZITD8NGjUmLkq4swxyahy/W0xuokK9U9IJGXw7KCggq6UucT6hJ0p+tQrNtqTZw==}
peerDependencies:
vite: '>=5.0.0'
dependencies:
ejs: 3.1.9
vite: 5.2.11(@types/node@20.5.1)(sass@1.71.1)
vite: 5.2.12(@types/node@20.5.1)(sass@1.71.1)
dev: true
/vite-plugin-eslint@1.8.1(eslint@8.57.0)(vite@5.2.11):
/vite-plugin-eslint@1.8.1(eslint@8.57.0)(vite@5.2.12):
resolution: {integrity: sha512-PqdMf3Y2fLO9FsNPmMX+//2BF5SF8nEWspZdgl4kSt7UvHDRHVVfHvxsD7ULYzZrJDGRxR81Nq7TOFgwMnUang==}
peerDependencies:
eslint: '>=7'
@ -7752,10 +7714,10 @@ packages:
'@types/eslint': 8.56.6
eslint: 8.57.0
rollup: 2.79.1
vite: 5.2.11(@types/node@20.5.1)(sass@1.71.1)
vite: 5.2.12(@types/node@20.5.1)(sass@1.71.1)
dev: true
/vite-plugin-imp@2.4.0(vite@5.2.11):
/vite-plugin-imp@2.4.0(vite@5.2.12):
resolution: {integrity: sha512-L/6/nvOw+MyNh4UxAlCZHsmKd5MitmHamqqAWB15sbUgVIEz/OQ8jpKr6kkQU0eA/AIe8fkCVbQBlP81ajrqWg==}
peerDependencies:
vite: '>= 2.0.0-beta.5'
@ -7767,12 +7729,12 @@ packages:
chalk: 4.1.2
param-case: 3.0.4
pascal-case: 3.1.2
vite: 5.2.11(@types/node@20.5.1)(sass@1.71.1)
vite: 5.2.12(@types/node@20.5.1)(sass@1.71.1)
transitivePeerDependencies:
- supports-color
dev: true
/vite-plugin-inspect@0.8.3(vite@5.2.11):
/vite-plugin-inspect@0.8.3(vite@5.2.12):
resolution: {integrity: sha512-SBVzOIdP/kwe6hjkt7LSW4D0+REqqe58AumcnCfRNw4Kt3mbS9pEBkch+nupu2PBxv2tQi69EQHQ1ZA1vgB/Og==}
engines: {node: '>=14'}
peerDependencies:
@ -7791,13 +7753,13 @@ packages:
perfect-debounce: 1.0.0
picocolors: 1.0.0
sirv: 2.0.4
vite: 5.2.11(@types/node@20.5.1)(sass@1.71.1)
vite: 5.2.12(@types/node@20.5.1)(sass@1.71.1)
transitivePeerDependencies:
- rollup
- supports-color
dev: true
/vite-plugin-mock-dev-server@1.4.7(vite@5.2.11):
/vite-plugin-mock-dev-server@1.4.7(vite@5.2.12):
resolution: {integrity: sha512-vGNW423fkmMibf0BfYL89n2n4tNKDt51d6Ee14gC1LlLiJAp6jabJBPsjWgU+uMgtp68+1uBb5F1qTlqdAhnoQ==}
engines: {node: ^16 || ^18 || >= 20}
peerDependencies:
@ -7819,7 +7781,7 @@ packages:
mime-types: 2.1.35
path-to-regexp: 6.2.1
picocolors: 1.0.0
vite: 5.2.11(@types/node@20.5.1)(sass@1.71.1)
vite: 5.2.12(@types/node@20.5.1)(sass@1.71.1)
ws: 8.16.0
transitivePeerDependencies:
- bufferutil
@ -7828,7 +7790,7 @@ packages:
- utf-8-validate
dev: true
/vite-plugin-svg-icons@2.0.1(vite@5.2.11):
/vite-plugin-svg-icons@2.0.1(vite@5.2.12):
resolution: {integrity: sha512-6ktD+DhV6Rz3VtedYvBKKVA2eXF+sAQVaKkKLDSqGUfnhqXl3bj5PPkVTl3VexfTuZy66PmINi8Q6eFnVfRUmA==}
peerDependencies:
vite: '>=2.0.0'
@ -7841,7 +7803,7 @@ packages:
pathe: 0.2.0
svg-baker: 1.7.0
svgo: 2.8.0
vite: 5.2.11(@types/node@20.5.1)(sass@1.71.1)
vite: 5.2.12(@types/node@20.5.1)(sass@1.71.1)
transitivePeerDependencies:
- supports-color
dev: true
@ -7853,7 +7815,7 @@ packages:
svgo: 3.1.0
dev: true
/vite-tsconfig-paths@4.3.2(typescript@5.2.2)(vite@5.2.11):
/vite-tsconfig-paths@4.3.2(typescript@5.2.2)(vite@5.2.12):
resolution: {integrity: sha512-0Vd/a6po6Q+86rPlntHye7F31zA2URZMbH8M3saAZ/xR9QoGN/L21bxEGfXdWmFdNkqPpRdxFT7nmNe12e9/uA==}
peerDependencies:
vite: '*'
@ -7864,14 +7826,14 @@ packages:
debug: 4.3.4
globrex: 0.1.2
tsconfck: 3.0.3(typescript@5.2.2)
vite: 5.2.11(@types/node@20.5.1)(sass@1.71.1)
vite: 5.2.12(@types/node@20.5.1)(sass@1.71.1)
transitivePeerDependencies:
- supports-color
- typescript
dev: true
/vite@5.2.11(@types/node@20.5.1)(sass@1.71.1):
resolution: {integrity: sha512-HndV31LWW05i1BLPMUCE1B9E9GFbOu1MbenhS58FuK6owSO5qHm7GiCotrNY1YE5rMeQSFBGmT5ZaLEjFizgiQ==}
/vite@5.2.12(@types/node@20.5.1)(sass@1.71.1):
resolution: {integrity: sha512-/gC8GxzxMK5ntBwb48pR32GGhENnjtY30G4A0jemunsBkiEZFw60s8InGpN8gkhHEkjnRK1aSAxeQgwvFhUHAA==}
engines: {node: ^18.0.0 || >=20.0.0}
hasBin: true
peerDependencies:
@ -7901,7 +7863,7 @@ packages:
'@types/node': 20.5.1
esbuild: 0.20.2
postcss: 8.4.38
rollup: 4.14.3
rollup: 4.17.2
sass: 1.71.1
optionalDependencies:
fsevents: 2.3.3
@ -7952,7 +7914,7 @@ packages:
strip-literal: 2.0.0
tinybench: 2.6.0
tinypool: 0.8.4
vite: 5.2.11(@types/node@20.5.1)(sass@1.71.1)
vite: 5.2.12(@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
transitivePeerDependencies:
@ -7965,20 +7927,20 @@ packages:
- terser
dev: true
/vooks@0.2.12(vue@3.4.26):
/vooks@0.2.12(vue@3.4.27):
resolution: {integrity: sha512-iox0I3RZzxtKlcgYaStQYKEzWWGAduMmq+jS7OrNdQo1FgGfPMubGL3uGHOU9n97NIvfFDBGnpSvkWyb/NSn/Q==}
peerDependencies:
vue: ^3.0.0
dependencies:
evtd: 0.2.4
vue: 3.4.26(typescript@5.2.2)
vue: 3.4.27(typescript@5.2.2)
dev: false
/vue-component-type-helpers@1.8.26:
resolution: {integrity: sha512-CIwb7s8cqUuPpHDk+0DY8EJ/x8tzdzqw8ycX8hhw1GnbngTgSsIceHAqrrLjmv8zXi+j5XaiqYRQMw8sKyyjkw==}
dev: true
/vue-demi@0.14.6(vue@3.4.26):
/vue-demi@0.14.6(vue@3.4.27):
resolution: {integrity: sha512-8QA7wrYSHKaYgUxDA5ZC24w+eHm3sYCbp0EzcDwKqN3p6HqtTCGR/GVsPyZW92unff4UlcSh++lmqDWN3ZIq4w==}
engines: {node: '>=12'}
hasBin: true
@ -7990,10 +7952,10 @@ packages:
'@vue/composition-api':
optional: true
dependencies:
vue: 3.4.26(typescript@5.2.2)
vue: 3.4.27(typescript@5.2.2)
dev: false
/vue-demi@0.14.7(vue@3.4.26):
/vue-demi@0.14.7(vue@3.4.27):
resolution: {integrity: sha512-EOG8KXDQNwkJILkx/gPcoL/7vH+hORoBaKgGe+6W7VFMvCYJfmF2dGbvgDroVnI8LU7/kTu8mbjRZGBU1z9NTA==}
engines: {node: '>=12'}
hasBin: true
@ -8005,7 +7967,7 @@ packages:
'@vue/composition-api':
optional: true
dependencies:
vue: 3.4.26(typescript@5.2.2)
vue: 3.4.27(typescript@5.2.2)
/vue-eslint-parser@9.3.2(eslint@8.57.0):
resolution: {integrity: sha512-q7tWyCVaV9f8iQyIA5Mkj/S6AoJ9KBN8IeUSf3XEmBrOtxOZnfTg5s4KClbZBCK3GtnT/+RyCLZyDHuZwTuBjg==}
@ -8043,8 +8005,8 @@ packages:
- supports-color
dev: true
/vue-hooks-plus@2.1.0(vue@3.4.26):
resolution: {integrity: sha512-UkwmyoFX8WlfHgkqgDJ1jTLvVohtspRR8JFIZYCAgG01nqYVxoTiHZbEhOdIMH1Ba0CxP/xL26knT1+a2w5JpQ==}
/vue-hooks-plus@2.2.0(vue@3.4.27):
resolution: {integrity: sha512-Zad8X7hsddVGtNizYVeAFp35N8Y82IOrwWfy1GgkOZwg/hhYs/oEjPBtTU6FV4fOGEpJ7trP2MffRO5J1iohHw==}
peerDependencies:
vue: ^3.2.25
dependencies:
@ -8055,10 +8017,10 @@ packages:
qs: 6.12.1
query-string: 7.1.3
screenfull: 5.2.0
vue: 3.4.26(typescript@5.2.2)
vue: 3.4.27(typescript@5.2.2)
dev: false
/vue-i18n@9.13.1(vue@3.4.26):
/vue-i18n@9.13.1(vue@3.4.27):
resolution: {integrity: sha512-mh0GIxx0wPtPlcB1q4k277y0iKgo25xmDPWioVVYanjPufDBpvu5ySTjP5wOrSvlYQ2m1xI+CFhGdauv/61uQg==}
engines: {node: '>= 16'}
peerDependencies:
@ -8067,15 +8029,15 @@ packages:
'@intlify/core-base': 9.13.1
'@intlify/shared': 9.13.1
'@vue/devtools-api': 6.6.1
vue: 3.4.26(typescript@5.2.2)
vue: 3.4.27(typescript@5.2.2)
/vue-router@4.3.2(vue@3.4.26):
/vue-router@4.3.2(vue@3.4.27):
resolution: {integrity: sha512-hKQJ1vDAZ5LVkKEnHhmm1f9pMiWIBNGF5AwU67PdH7TyXCj/a4hTccuUuYCAMgJK6rO/NVYtQIEN3yL8CECa7Q==}
peerDependencies:
vue: ^3.2.0
dependencies:
'@vue/devtools-api': 6.6.1
vue: 3.4.26(typescript@5.2.2)
vue: 3.4.27(typescript@5.2.2)
dev: false
/vue-template-compiler@2.7.16:
@ -8101,39 +8063,39 @@ packages:
resolution: {integrity: sha512-YwdQ1YjbHzcUsA7Vj5ziQLoX7oQZGWDZNaAadLu7EZzV9UU8Dd2IXAxGobF7dIHamgz5mPiOgH1Xb3qO8bCGDA==}
dependencies:
js-binary-schema-parser: 2.0.3
vue: 3.4.26(typescript@5.2.2)
vue: 3.4.27(typescript@5.2.2)
transitivePeerDependencies:
- typescript
dev: false
/vue@3.4.26(typescript@5.2.2):
resolution: {integrity: sha512-bUIq/p+VB+0xrJubaemrfhk1/FiW9iX+pDV+62I/XJ6EkspAO9/DXEjbDFoe8pIfOZBqfk45i9BMc41ptP/uRg==}
/vue@3.4.27(typescript@5.2.2):
resolution: {integrity: sha512-8s/56uK6r01r1icG/aEOHqyMVxd1bkYcSe9j8HcKtr/xTOFWvnzIVTehNW+5Yt89f+DLBe4A569pnZLS5HzAMA==}
peerDependencies:
typescript: '*'
peerDependenciesMeta:
typescript:
optional: true
dependencies:
'@vue/compiler-dom': 3.4.26
'@vue/compiler-sfc': 3.4.26
'@vue/runtime-dom': 3.4.26
'@vue/server-renderer': 3.4.26(vue@3.4.26)
'@vue/shared': 3.4.26
'@vue/compiler-dom': 3.4.27
'@vue/compiler-sfc': 3.4.27
'@vue/runtime-dom': 3.4.27
'@vue/server-renderer': 3.4.27(vue@3.4.27)
'@vue/shared': 3.4.27
typescript: 5.2.2
/vueuc@0.4.58(vue@3.4.26):
/vueuc@0.4.58(vue@3.4.27):
resolution: {integrity: sha512-Wnj/N8WbPRSxSt+9ji1jtDHPzda5h2OH/0sFBhvdxDRuyCZbjGg3/cKMaKqEoe+dErTexG2R+i6Q8S/Toq1MYg==}
peerDependencies:
vue: ^3.0.11
dependencies:
'@css-render/vue3-ssr': 0.15.12(vue@3.4.26)
'@css-render/vue3-ssr': 0.15.12(vue@3.4.27)
'@juggle/resize-observer': 3.4.0
css-render: 0.15.12
evtd: 0.2.4
seemly: 0.3.8
vdirs: 0.1.8(vue@3.4.26)
vooks: 0.2.12(vue@3.4.26)
vue: 3.4.26(typescript@5.2.2)
vdirs: 0.1.8(vue@3.4.27)
vooks: 0.2.12(vue@3.4.27)
vue: 3.4.27(typescript@5.2.2)
dev: false
/webidl-conversions@7.0.0:

View File

@ -78,7 +78,7 @@ export const PRE_LOADING_CONFIG: PreloadingConfig = {
*
* LOGO
*/
export const SIDE_BAR_LOGO: LayoutSideBarLogo | undefined = {
export const SIDE_BAR_LOGO_DEFAULT: LayoutSideBarLogo | undefined = {
icon: 'ray',
title: 'Ray Template',
url: '/dashboard',

View File

@ -7,7 +7,24 @@
"#f7c5a0",
"#d4a4eb",
"#d2f5a6",
"#76f2f2"
"#76f2f2",
"#9b8bba",
"#e098c7",
"#8fd3e8",
"#71669e",
"#cc70af",
"#7cb4cc",
"#7EC4FF",
"#5FCBB0",
"#49C4BF",
"#F0C9CA",
"#34DC90",
"#3295E0",
"#EAB62E",
"#76C3F3",
"#2DC2C0",
"#FCC43F",
"#84CFFF"
],
"backgroundColor": "transparent",
"textStyle": {},
@ -297,6 +314,9 @@
"legend": {
"textStyle": {
"color": "#999999"
},
"pageTextStyle": {
"color": "#999999"
}
},
"tooltip": {

View File

@ -19,7 +19,13 @@
"#c9ab00",
"#7eb00a",
"#6f5553",
"#c14089"
"#c14089",
"#516b91",
"#59c4e6",
"#edafda",
"#93b7e3",
"#a5e7f0",
"#cbb0e3"
],
"backgroundColor": "transparent",
"textStyle": {},

View File

@ -1,6 +1,6 @@
import { axiosCanceler } from '@/axios/utils/interceptor'
import type { FetchFunction, FetchErrorFunction } from '@/axios/types'
import type { AxiosRequestInterceptor, FetchErrorFunction } from '@/axios/types'
/**
*
@ -10,7 +10,7 @@ import type { FetchFunction, FetchErrorFunction } from '@/axios/types'
* @description
*
*/
const injectRequestCanceler: FetchFunction = (ins, mode) => {
const injectRequestCanceler: AxiosRequestInterceptor = (ins, mode) => {
axiosCanceler.removePendingRequest(ins) // 检查是否存在重复请求, 若存在则取消已发的请求
axiosCanceler.addPendingRequest(ins) // 把当前的请求信息添加到 pendingRequest 表中
}

View File

@ -2,7 +2,10 @@ import { appendRequestHeaders } from '@/axios/utils/append-request-headers'
import { APP_CATCH_KEY } from '@/app-config'
import { getStorage } from '@/utils'
import type { RequestInterceptorConfig, FetchFunction } from '@/axios/types'
import type {
RequestInterceptorConfig,
AxiosRequestInterceptor,
} from '@/axios/types'
/**
*
@ -26,7 +29,7 @@ const requestHeaderToken = (ins: RequestInterceptorConfig, mode: string) => {
}
/** 注入请求头信息 */
const injectRequestHeaders: FetchFunction = (ins, mode) => {
const injectRequestHeaders: AxiosRequestInterceptor = (ins, mode) => {
appendRequestHeaders(ins, [
requestHeaderToken(ins, mode),
{

View File

@ -1,6 +1,9 @@
import { axiosCanceler } from '@/axios/utils/interceptor'
import type { FetchFunction, FetchErrorFunction } from '@/axios/types'
import type {
AxiosResponseInterceptor,
FetchErrorFunction,
} from '@/axios/types'
/**
*
@ -10,7 +13,7 @@ import type { FetchFunction, FetchErrorFunction } from '@/axios/types'
* @description
*
*/
const injectResponseCanceler: FetchFunction = (ins, mode) => {
const injectResponseCanceler: AxiosResponseInterceptor = (ins, mode) => {
axiosCanceler.removePendingRequest(ins)
}

View File

@ -7,6 +7,8 @@ import type {
Axios,
AxiosResponse,
AxiosError,
InternalAxiosRequestConfig,
AxiosRequestHeaders,
} from 'axios'
import type { AnyFC } from '@/types'
@ -45,6 +47,24 @@ export interface AppRawRequestConfig<T = any> extends AxiosRequestConfig<T> {
*
*/
__CANCELER_TAG_RAY_TEMPLATE__?: '__CANCELER_TAG_RAY_TEMPLATE__'
/**
*
* @description
*
*
*
* @default true
*/
responseErrorMessage?: boolean
/**
*
* @description
*
*
*
* @default false
*/
responseSuccessMessage?: boolean
}
export interface CancelerParams<T = any, D = any>
@ -125,11 +145,6 @@ export interface ErrorImplementQueue {
implementResponseInterceptorErrorArray: AnyFC[]
}
export type FetchFunction = <T = any, K = any>(
ins: RequestInterceptorConfig<T> & ResponseInterceptorConfig<T, K>,
mode: string,
) => void
export type FetchType = 'ok' | 'error'
export type FetchErrorFunction<T = any, D = any> = (
@ -146,3 +161,24 @@ export interface AxiosFetchError<T = any> {
requestError: T | null
responseError: T | null
}
interface AxiosResponseConfigInterceptor<T = any>
extends AppRawRequestConfig<T> {
headers: AxiosRequestHeaders
}
type AxiosResponseOmit<T = any, D = any> = Omit<AxiosResponse<T, D>, 'config'>
type AxiosResponseInterceptorIns<T = any, D = any> = AxiosResponseOmit<T, D> & {
config: AxiosResponseConfigInterceptor<T>
}
export type AxiosResponseInterceptor<T = any, K = any> = (
ins: AxiosResponseInterceptorIns<T, K>,
mode: string,
) => void
export type AxiosRequestInterceptor<T = any> = (
ins: RequestInterceptorConfig<T>,
mode: string,
) => void

View File

@ -9,6 +9,8 @@
* @remark
*/
import { useTheme } from '@/hooks'
import type {
ChartThemeRawArray,
ChartThemeRawModules,
@ -68,14 +70,17 @@ export const setupChartTheme = () => {
* @example
* const options = loadingOptions({ ...LoadingOptions })
*/
export const loadingOptions = (options?: LoadingOptions) =>
Object.assign(
export const loadingOptions = (options?: LoadingOptions) => {
const { getAppTheme } = useTheme()
const { theme } = getAppTheme()
return Object.assign(
{},
{
text: 'loading',
color: '#c23531',
textColor: '#000',
maskColor: 'rgba(255, 255, 255, 0.9)',
textColor: theme ? '#fff' : '#000',
maskColor: theme ? 'rgba(0, 0, 0, 0.5)' : 'rgba(255, 255, 255, 0.5)',
zlevel: 0,
fontSize: 12,
showSpinner: true,
@ -87,3 +92,4 @@ export const loadingOptions = (options?: LoadingOptions) =>
},
options,
)
}

View File

@ -14,7 +14,8 @@ import './index.scss'
import { NEllipsis, NTooltip } from 'naive-ui'
import { RIcon } from '@/components'
import { isValueType } from '@/utils'
import { isValueType, renderNode } from '@/utils'
import { useSettingGetters } from '@/store'
/**
*
@ -33,10 +34,7 @@ export default defineComponent({
},
setup() {
const router = useRouter()
const {
layout: { sideBarLogo },
} = __APP_CFG__
const { getSideBarLogo } = useSettingGetters()
/**
*
@ -46,27 +44,35 @@ export default defineComponent({
* - outsideStation: 新开页面跳转
*/
const sideBarLogoClick = () => {
if (sideBarLogo && sideBarLogo.url) {
sideBarLogo.jumpType === 'station'
? router.push(sideBarLogo.url)
: window.open(sideBarLogo.url)
if (getSideBarLogo.value && getSideBarLogo.value.url) {
getSideBarLogo.value.jumpType === 'station'
? router.push(getSideBarLogo.value.url)
: window.open(getSideBarLogo.value.url)
}
}
const TemplateLogo = ({ cursor }: { cursor: string }) => {
if (typeof sideBarLogo.icon === 'string') {
if (!getSideBarLogo.value) {
return null
}
if (typeof getSideBarLogo.value.icon === 'string') {
return (
<RIcon name={sideBarLogo!.icon as string} size="30" cursor={cursor} />
<RIcon
name={getSideBarLogo.value.icon as string}
size="30"
cursor={cursor}
/>
)
}
if (isValueType<object>(sideBarLogo.icon, 'Object')) {
return <sideBarLogo.icon />
if (isValueType<object>(getSideBarLogo.value.icon, 'Object')) {
return renderNode(getSideBarLogo.value.icon)
}
}
return {
sideBarLogo,
sideBarLogo: getSideBarLogo,
sideBarLogoClick,
TemplateLogo,
}
@ -104,7 +110,7 @@ export default defineComponent({
{{
trigger: () => (
<h1 class="n-menu-item-content">
{sideBarLogo.title[0] || null}
{sideBarLogo.title?.[0] || null}
</h1>
),
default: () => sideBarLogo.title,

View File

@ -16,67 +16,86 @@ export const useSettingGetters = () => {
/**
*
* @remark
* @description
*
*/
const getDrawerPlacement = computed(() => variable.drawerPlacement)
/**
*
* @remark Naive UI
* @description
* Naive UI
*/
const getPrimaryColorOverride = computed(() => variable.primaryColorOverride)
/**
*
* @remark app
* @description
* app
*/
const getAppTheme = computed(() => variable.appTheme)
/**
*
* @remark
* @description
*
*/
const getMenuTagSwitch = computed(() => variable.menuTagSwitch)
/**
*
* @remark
* @description
*
*/
const getBreadcrumbSwitch = computed(() => variable.breadcrumbSwitch)
/**
*
* @remark app
* @description
* app
*/
const getLocaleLanguage = computed(() => variable.localeLanguage)
/**
*
* @remark
* @description
*
*/
const getLockScreenSwitch = computed(() => variable.lockScreenSwitch)
/**
*
* @remark
* @description
*
*/
const getCopyrightSwitch = computed(() => variable.copyrightSwitch)
/**
*
* @remark app
* @description
* app
*/
const getContentTransition = computed(() => variable.contentTransition)
/**
*
* @remark
* @description
*
*/
const getWatermarkSwitch = computed(() => variable.watermarkSwitch)
/**
*
* @remark
* @description
*
*/
const getWatermarkConfig = computed(() => variable.watermarkConfig)
/**
*
* @remark app
* @description
* app
*/
const getAppRootRoute = computed(() => variable.appRootRoute)
/**
*
* @description
* side bar
*/
const getSideBarLogo = computed(() => variable.sideBarLogo)
return {
getDrawerPlacement,
getPrimaryColorOverride,
@ -90,6 +109,7 @@ export const useSettingGetters = () => {
getWatermarkSwitch,
getWatermarkConfig,
getAppRootRoute,
getSideBarLogo,
}
}

View File

@ -376,11 +376,16 @@ export const piniaMenuStore = defineStore(
if (menuState.currentMenuOption) {
const { currentMenuOption } = menuState
setBreadcrumbOptions(currentMenuOption.key)
// 惰性更新面包屑,避免 sameLevel 模式下的面包屑被覆盖
if (!menuState.breadcrumbOptions.length) {
setBreadcrumbOptions(currentMenuOption.key)
}
setMenuTagOptionsWhenMenuValueChange(
currentMenuOption.fullPath,
currentMenuOption,
)
updateDocumentTitle(currentMenuOption)
}
resolve()

View File

@ -2,7 +2,7 @@ import { getAppDefaultLanguage } from '@/locales/utils'
import { colorToRgba, setStorage } from '@/utils'
import { useI18n, useDayjs } from '@/hooks'
import { watchOnce } from '@vueuse/core'
import { APP_CATCH_KEY, APP_THEME } from '@/app-config'
import { APP_CATCH_KEY, APP_THEME, SIDE_BAR_LOGO_DEFAULT } from '@/app-config'
import type { SettingState } from '@/store/modules/setting/types'
import type { LocalKey } from '@/hooks'
@ -48,6 +48,7 @@ export const piniaSettingStore = defineStore(
name: 'Dashboard',
path: '/dashboard',
},
sideBarLogo: Object.assign({}, SIDE_BAR_LOGO_DEFAULT),
})
/** 修改当前语言 */
@ -119,18 +120,18 @@ export const piniaSettingStore = defineStore(
() => settingState.appTheme,
(ndata) => {
ndata
? Object.assign(
? (settingState.primaryColorOverride = Object.assign(
{},
settingState.primaryColorOverride,
APP_THEME.appNaiveUIThemeOverrides.dark,
APP_THEME.appNaiveUIThemeOverridesCommon.dark,
)
: Object.assign(
))
: (settingState.primaryColorOverride = Object.assign(
{},
settingState.primaryColorOverride,
APP_THEME.appNaiveUIThemeOverrides.light,
APP_THEME.appNaiveUIThemeOverridesCommon.light,
)
))
},
{
immediate: true,

View File

@ -1,5 +1,5 @@
import type { GlobalThemeOverrides } from 'naive-ui'
import type { Placement } from '@/types'
import type { Placement, LayoutSideBarLogo } from '@/types'
export interface WatermarkConfig {
content: string
@ -30,4 +30,5 @@ export interface SettingState {
contentTransition: string
watermarkConfig: WatermarkConfig
appRootRoute: AppRootRoute
sideBarLogo: LayoutSideBarLogo | undefined
}

View File

@ -122,7 +122,7 @@ export default defineComponent({
slot warning warning
default-value
</NAlert>
<NAlert title="已知问题" type="warning">
<NAlert title="已知问题" type="warning">
NTabs width fitContent disabled,
popover
<br />
@ -192,7 +192,7 @@ export default defineComponent({
<NRadioGroup v-model:value={this.width}>
<NRadio value="fitContent">fitContent</NRadio>
<NRadio value="block">block</NRadio>
<NRadio value={700}>700</NRadio>
<NRadio value={800}>800</NRadio>
</NRadioGroup>
<RSegment
defaultValue="this is two"

View File

@ -40,7 +40,10 @@ import path from 'node:path'
import { htmlTitlePlugin, mixinCss } from './vite-helper'
import { APP_THEME } from './src/app-config/design-config'
import { PRE_LOADING_CONFIG, SIDE_BAR_LOGO } from './src/app-config/app-config'
import {
PRE_LOADING_CONFIG,
SIDE_BAR_LOGO_DEFAULT,
} from './src/app-config/app-config'
import type { AppConfigExport } from '@/types'
import type { BuildOptions } from 'vite'
@ -52,7 +55,7 @@ const config: AppConfigExport = {
preloadingConfig: PRE_LOADING_CONFIG,
/** 默认主题色(不可省略, 必填), 也用于 ejs 注入 */
appPrimaryColor: APP_THEME.appPrimaryColor,
sideBarLogo: SIDE_BAR_LOGO,
sideBarLogo: SIDE_BAR_LOGO_DEFAULT,
/**
*
* css