feat:更新知识库对话框
This commit is contained in:
@@ -9,6 +9,7 @@
|
|||||||
"preview": "vite preview"
|
"preview": "vite preview"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
|
"@vueup/vue-quill": "^1.5.5",
|
||||||
"axios": "^1.18.1",
|
"axios": "^1.18.1",
|
||||||
"element-plus": "^2.14.3",
|
"element-plus": "^2.14.3",
|
||||||
"pinia": "^4.0.2",
|
"pinia": "^4.0.2",
|
||||||
|
|||||||
394
pnpm-lock.yaml
generated
394
pnpm-lock.yaml
generated
@@ -8,6 +8,9 @@ importers:
|
|||||||
|
|
||||||
.:
|
.:
|
||||||
dependencies:
|
dependencies:
|
||||||
|
'@vueup/vue-quill':
|
||||||
|
specifier: ^1.5.5
|
||||||
|
version: 1.5.5(vue@3.5.40(typescript@6.0.3))
|
||||||
axios:
|
axios:
|
||||||
specifier: ^1.18.1
|
specifier: ^1.18.1
|
||||||
version: 1.18.1
|
version: 1.18.1
|
||||||
@@ -16,13 +19,13 @@ importers:
|
|||||||
version: 2.14.3(vue@3.5.40(typescript@6.0.3))
|
version: 2.14.3(vue@3.5.40(typescript@6.0.3))
|
||||||
pinia:
|
pinia:
|
||||||
specifier: ^4.0.2
|
specifier: ^4.0.2
|
||||||
version: 4.0.2(@vue/devtools-api@8.2.0)(typescript@6.0.3)(vue@3.5.40(typescript@6.0.3))
|
version: 4.0.2(@vue/devtools-api@8.2.1)(typescript@6.0.3)(vue@3.5.40(typescript@6.0.3))
|
||||||
vue:
|
vue:
|
||||||
specifier: ^3.5.39
|
specifier: ^3.5.39
|
||||||
version: 3.5.40(typescript@6.0.3)
|
version: 3.5.40(typescript@6.0.3)
|
||||||
vue-router:
|
vue-router:
|
||||||
specifier: ^5.2.0
|
specifier: ^5.2.0
|
||||||
version: 5.2.0(@vue/compiler-sfc@3.5.40)(pinia@4.0.2(@vue/devtools-api@8.2.0)(typescript@6.0.3)(vue@3.5.40(typescript@6.0.3)))(rolldown@1.1.5)(vite@8.1.5(@types/node@24.13.3)(sass-embedded@1.100.0)(sass@1.102.0)(yaml@2.9.0))(vue@3.5.40(typescript@6.0.3))
|
version: 5.2.0(@vue/compiler-sfc@3.5.40)(pinia@4.0.2(@vue/devtools-api@8.2.1)(typescript@6.0.3)(vue@3.5.40(typescript@6.0.3)))(rolldown@1.1.5)(vite@8.1.5(@types/node@24.13.3)(sass@1.102.0)(yaml@2.9.0))(vue@3.5.40(typescript@6.0.3))
|
||||||
vue3-eslint:
|
vue3-eslint:
|
||||||
specifier: git+https://gitee.com/Cxx0822/vue3-eslint
|
specifier: git+https://gitee.com/Cxx0822/vue3-eslint
|
||||||
version: git+https://gitee.com/Cxx0822/vue3-eslint#849a4e0e783d3ecc57035fb2f92950998b6b2e41(@typescript-eslint/eslint-plugin@5.62.0(@typescript-eslint/parser@5.62.0(eslint@7.32.0)(typescript@6.0.3))(eslint@7.32.0)(typescript@6.0.3))(@typescript-eslint/parser@5.62.0(eslint@7.32.0)(typescript@6.0.3))(eslint-config-standard@16.0.3(eslint-plugin-import@2.32.0(@typescript-eslint/parser@5.62.0(eslint@7.32.0)(typescript@6.0.3))(eslint@7.32.0))(eslint-plugin-node@11.1.0(eslint@7.32.0))(eslint-plugin-promise@5.2.0(eslint@7.32.0))(eslint@7.32.0))(eslint-plugin-import@2.32.0(@typescript-eslint/parser@5.62.0(eslint@7.32.0)(typescript@6.0.3))(eslint@7.32.0))(eslint-plugin-node@11.1.0(eslint@7.32.0))(eslint-plugin-promise@5.2.0(eslint@7.32.0))(eslint-plugin-vue@8.7.1(eslint@7.32.0))(eslint@7.32.0)
|
version: git+https://gitee.com/Cxx0822/vue3-eslint#849a4e0e783d3ecc57035fb2f92950998b6b2e41(@typescript-eslint/eslint-plugin@5.62.0(@typescript-eslint/parser@5.62.0(eslint@7.32.0)(typescript@6.0.3))(eslint@7.32.0)(typescript@6.0.3))(@typescript-eslint/parser@5.62.0(eslint@7.32.0)(typescript@6.0.3))(eslint-config-standard@16.0.3(eslint-plugin-import@2.32.0(@typescript-eslint/parser@5.62.0(eslint@7.32.0)(typescript@6.0.3))(eslint@7.32.0))(eslint-plugin-node@11.1.0(eslint@7.32.0))(eslint-plugin-promise@5.2.0(eslint@7.32.0))(eslint@7.32.0))(eslint-plugin-import@2.32.0(@typescript-eslint/parser@5.62.0(eslint@7.32.0)(typescript@6.0.3))(eslint@7.32.0))(eslint-plugin-node@11.1.0(eslint@7.32.0))(eslint-plugin-promise@5.2.0(eslint@7.32.0))(eslint-plugin-vue@8.7.1(eslint@7.32.0))(eslint@7.32.0)
|
||||||
@@ -32,7 +35,7 @@ importers:
|
|||||||
version: 24.13.3
|
version: 24.13.3
|
||||||
'@vitejs/plugin-vue':
|
'@vitejs/plugin-vue':
|
||||||
specifier: ^6.0.7
|
specifier: ^6.0.7
|
||||||
version: 6.0.8(vite@8.1.5(@types/node@24.13.3)(sass-embedded@1.100.0)(sass@1.102.0)(yaml@2.9.0))(vue@3.5.40(typescript@6.0.3))
|
version: 6.0.8(vite@8.1.5(@types/node@24.13.3)(sass@1.102.0)(yaml@2.9.0))(vue@3.5.40(typescript@6.0.3))
|
||||||
'@vue/tsconfig':
|
'@vue/tsconfig':
|
||||||
specifier: ^0.9.1
|
specifier: ^0.9.1
|
||||||
version: 0.9.1(typescript@6.0.3)(vue@3.5.40(typescript@6.0.3))
|
version: 0.9.1(typescript@6.0.3)(vue@3.5.40(typescript@6.0.3))
|
||||||
@@ -44,7 +47,7 @@ importers:
|
|||||||
version: 6.0.3
|
version: 6.0.3
|
||||||
vite:
|
vite:
|
||||||
specifier: ^8.1.1
|
specifier: ^8.1.1
|
||||||
version: 8.1.5(@types/node@24.13.3)(sass-embedded@1.100.0)(sass@1.102.0)(yaml@2.9.0)
|
version: 8.1.5(@types/node@24.13.3)(sass@1.102.0)(yaml@2.9.0)
|
||||||
vue-tsc:
|
vue-tsc:
|
||||||
specifier: ^3.3.5
|
specifier: ^3.3.5
|
||||||
version: 3.3.8(typescript@6.0.3)
|
version: 3.3.8(typescript@6.0.3)
|
||||||
@@ -96,9 +99,6 @@ packages:
|
|||||||
resolution: {integrity: sha512-eY+Yn3dCqTGmyiq2QRU66lA5FL8lqqqvecHt0fF3uHONIa7ToYsaCiWV8lOKqAs0Rb2SjixiKFROngnulPtt2g==}
|
resolution: {integrity: sha512-eY+Yn3dCqTGmyiq2QRU66lA5FL8lqqqvecHt0fF3uHONIa7ToYsaCiWV8lOKqAs0Rb2SjixiKFROngnulPtt2g==}
|
||||||
engines: {node: ^22.18.0 || >=24.11.0}
|
engines: {node: ^22.18.0 || >=24.11.0}
|
||||||
|
|
||||||
'@bufbuild/protobuf@2.13.0':
|
|
||||||
resolution: {integrity: sha512-acq7c49vxfm1ggJ95P70TX7ABDM0vxr1SYD3BB0o0jnBLB4OAqeHyKuN+cD3w80gXEDQ2zxHpR6CUeA+O/aU9g==}
|
|
||||||
|
|
||||||
'@ctrl/tinycolor@4.2.0':
|
'@ctrl/tinycolor@4.2.0':
|
||||||
resolution: {integrity: sha512-kzyuwOAQnXJNLS9PSyrk0CWk35nWJW/zl/6KvnTBMFK65gm7U1/Z5BqjxeapjZCIhQcM/DsrEmcbRwDyXyXK4A==}
|
resolution: {integrity: sha512-kzyuwOAQnXJNLS9PSyrk0CWk35nWJW/zl/6KvnTBMFK65gm7U1/Z5BqjxeapjZCIhQcM/DsrEmcbRwDyXyXK4A==}
|
||||||
engines: {node: '>=14'}
|
engines: {node: '>=14'}
|
||||||
@@ -494,14 +494,14 @@ packages:
|
|||||||
'@vue/compiler-ssr@3.5.40':
|
'@vue/compiler-ssr@3.5.40':
|
||||||
resolution: {integrity: sha512-rrE5xiXG663+vHCHa3J9p2z5OcBRjXmoqenprJxAFQxg5pSshzeBiCE6pu46axapRJ2Adk0YDA2BRZVjiHXnhg==}
|
resolution: {integrity: sha512-rrE5xiXG663+vHCHa3J9p2z5OcBRjXmoqenprJxAFQxg5pSshzeBiCE6pu46axapRJ2Adk0YDA2BRZVjiHXnhg==}
|
||||||
|
|
||||||
'@vue/devtools-api@8.2.0':
|
'@vue/devtools-api@8.2.1':
|
||||||
resolution: {integrity: sha512-wsa2juekhKh6xni3yrcPYYALoXLCiOVDvLxJ6dLXGBBJdzLwFsygNzqdLeIxBkoWeoTN1bQpXmMDxWdX5mDeAg==}
|
resolution: {integrity: sha512-6u4vXBlIBAC1wMplIZgpyPn7uh/s4Bf6F5bMzvLv+EdJ0aHs/+4B7Ygv864EStQSjRbsRzTko/kUG1A1IejQ3A==}
|
||||||
|
|
||||||
'@vue/devtools-kit@8.2.0':
|
'@vue/devtools-kit@8.2.1':
|
||||||
resolution: {integrity: sha512-6NVyj/npe412N3Tshpr9eSCzuhup6jlkVYXi0bEolIxfdqEYccVdNyqR7dvpYFMB+FmDEUaO8waMa8og/1MokA==}
|
resolution: {integrity: sha512-FIGIuq3AWReEpbAHY/cRGeHDfI0qOb8OCQ3YjbEAX04uaxIDbGc9rhkbVcG7rnfHPXE3RsU5KrWOu9V/okd8AQ==}
|
||||||
|
|
||||||
'@vue/devtools-shared@8.2.0':
|
'@vue/devtools-shared@8.2.1':
|
||||||
resolution: {integrity: sha512-Cc+nxAI3J49IRS9subfx+6gGokeS970/nCz8VvOWp1iBt45WAfOy18+KcDaAvEiUqV3yn5AadA22PwcOLkvqpg==}
|
resolution: {integrity: sha512-Fkac7lUdGReh6pVOi3AYPRGe82LQqRmAfThW7RRligOAP0ZA/Z1z9XLHDM9dv34pV2HRc79DK8uKPeG2fLnA/g==}
|
||||||
|
|
||||||
'@vue/language-core@3.3.8':
|
'@vue/language-core@3.3.8':
|
||||||
resolution: {integrity: sha512-ieGT8jJdhhy0mGzStZhsg/qPw5bQZJg5yF+3+XU6saf4sM7yo9ZXy3h+nCwrm2+b4qS/SypkNdR2jAF3uei9tA==}
|
resolution: {integrity: sha512-ieGT8jJdhhy0mGzStZhsg/qPw5bQZJg5yF+3+XU6saf4sM7yo9ZXy3h+nCwrm2+b4qS/SypkNdR2jAF3uei9tA==}
|
||||||
@@ -532,6 +532,11 @@ packages:
|
|||||||
vue:
|
vue:
|
||||||
optional: true
|
optional: true
|
||||||
|
|
||||||
|
'@vueup/vue-quill@1.5.5':
|
||||||
|
resolution: {integrity: sha512-ygA61ZZPaRzTHXi8H1w5td1XCtjwRsO6oBuJHdCbfotGQ7hBQukVp5dsYeVXWKuSiF8hGDKwIlROyNNrMalQCQ==}
|
||||||
|
peerDependencies:
|
||||||
|
vue: ^3.2.41
|
||||||
|
|
||||||
'@vueuse/core@14.3.0':
|
'@vueuse/core@14.3.0':
|
||||||
resolution: {integrity: sha512-aHfz47g0ZhMtTVHmIzMVpJy8ePhhOy68GY5bv110+5DVtZ+W7BsOx+m61UNQqfrWyPztIHIanWa3E2tib3NFIw==}
|
resolution: {integrity: sha512-aHfz47g0ZhMtTVHmIzMVpJy8ePhhOy68GY5bv110+5DVtZ+W7BsOx+m61UNQqfrWyPztIHIanWa3E2tib3NFIw==}
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
@@ -706,9 +711,6 @@ packages:
|
|||||||
color-name@1.1.4:
|
color-name@1.1.4:
|
||||||
resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==}
|
resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==}
|
||||||
|
|
||||||
colorjs.io@0.5.2:
|
|
||||||
resolution: {integrity: sha512-twmVoizEW7ylZSN32OgKdXRmo1qg+wT5/6C3xu5b9QsWzSFAhHLn2xd8ro0diCsKfCj1RdaTP/nrcW+vAoQPIw==}
|
|
||||||
|
|
||||||
combined-stream@1.0.8:
|
combined-stream@1.0.8:
|
||||||
resolution: {integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==}
|
resolution: {integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==}
|
||||||
engines: {node: '>= 0.8'}
|
engines: {node: '>= 0.8'}
|
||||||
@@ -995,12 +997,18 @@ packages:
|
|||||||
resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==}
|
resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==}
|
||||||
engines: {node: '>=0.10.0'}
|
engines: {node: '>=0.10.0'}
|
||||||
|
|
||||||
exsolve@1.1.0:
|
eventemitter3@5.0.4:
|
||||||
resolution: {integrity: sha512-D+42+T12DdIlJM3uepa55qGiL3sYdLBOxIl2ifQCzCHz4c7eiolaHsi3BIqEr7JxBzxv2pYZQX9kw16ziMcEmw==}
|
resolution: {integrity: sha512-mlsTRyGaPBjPedk6Bvw+aqbsXDtoAyAzm5MO7JgU+yVRyMQ5O8bD4Kcci7BS85f93veegeCPkL8R4GLClnjLFw==}
|
||||||
|
|
||||||
|
exsolve@1.1.1:
|
||||||
|
resolution: {integrity: sha512-9U/jZUgjnSGyntRr6y5Muu1MJcwFl6kPu7k8qLF0IMNfLqvw0NZ4nnVDq0RVoZ0RvCyumib4Ez3KYrVfilrw+g==}
|
||||||
|
|
||||||
fast-deep-equal@3.1.3:
|
fast-deep-equal@3.1.3:
|
||||||
resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==}
|
resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==}
|
||||||
|
|
||||||
|
fast-diff@1.3.0:
|
||||||
|
resolution: {integrity: sha512-VxPP4NqbUjj6MaAOafWeUn2cXWLcCtljklUtZf0Ind4XQ+QPtmA0b18zZy0jIQx+ExRVCR/ZQpBmik5lXshNsw==}
|
||||||
|
|
||||||
fast-glob@3.3.3:
|
fast-glob@3.3.3:
|
||||||
resolution: {integrity: sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==}
|
resolution: {integrity: sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==}
|
||||||
engines: {node: '>=8.6.0'}
|
engines: {node: '>=8.6.0'}
|
||||||
@@ -1432,6 +1440,13 @@ packages:
|
|||||||
lodash: '*'
|
lodash: '*'
|
||||||
lodash-es: '*'
|
lodash-es: '*'
|
||||||
|
|
||||||
|
lodash.clonedeep@4.5.0:
|
||||||
|
resolution: {integrity: sha512-H5ZhCF25riFd9uB5UCkVKo61m3S/xZk1x4wA6yp/L3RFP6Z/eHH1ymQcGLo7J3GMPfm0V/7m1tryHuGVxpqEBQ==}
|
||||||
|
|
||||||
|
lodash.isequal@4.5.0:
|
||||||
|
resolution: {integrity: sha512-pDo3lu8Jhfjqls6GkMgpahsF9kCyayhgykjyLMNFTKWrpVdAQtYyB4muAMWozBB4ig/dtWAmsMxLEI8wuz+DYQ==}
|
||||||
|
deprecated: This package is deprecated. Use require('node:util').isDeepStrictEqual instead.
|
||||||
|
|
||||||
lodash.merge@4.6.2:
|
lodash.merge@4.6.2:
|
||||||
resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==}
|
resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==}
|
||||||
|
|
||||||
@@ -1552,6 +1567,9 @@ packages:
|
|||||||
resolution: {integrity: sha512-19YVAg7T+WTrxggPukVq7DjTv6+PJ867TmhCvBsYwmbFCsZd344rq2Ld1p0wo8f8Qrrhgp82c6FJRqdXWtSEhg==}
|
resolution: {integrity: sha512-19YVAg7T+WTrxggPukVq7DjTv6+PJ867TmhCvBsYwmbFCsZd344rq2Ld1p0wo8f8Qrrhgp82c6FJRqdXWtSEhg==}
|
||||||
engines: {node: '>= 0.4'}
|
engines: {node: '>= 0.4'}
|
||||||
|
|
||||||
|
parchment@3.0.0:
|
||||||
|
resolution: {integrity: sha512-HUrJFQ/StvgmXRcQ1ftY6VEZUq3jA2t9ncFN4F84J/vN0/FPpQF+8FKXb3l6fLces6q0uOHj6NJn+2xvZnxO6A==}
|
||||||
|
|
||||||
parent-module@1.0.1:
|
parent-module@1.0.1:
|
||||||
resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==}
|
resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==}
|
||||||
engines: {node: '>=6'}
|
engines: {node: '>=6'}
|
||||||
@@ -1641,6 +1659,14 @@ packages:
|
|||||||
queue-microtask@1.2.3:
|
queue-microtask@1.2.3:
|
||||||
resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==}
|
resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==}
|
||||||
|
|
||||||
|
quill-delta@5.1.0:
|
||||||
|
resolution: {integrity: sha512-X74oCeRI4/p0ucjb5Ma8adTXd9Scumz367kkMK5V/IatcX6A0vlgLgKbzXWy5nZmCGeNJm2oQX0d2Eqj+ZIlCA==}
|
||||||
|
engines: {node: '>= 12.0.0'}
|
||||||
|
|
||||||
|
quill@2.0.2:
|
||||||
|
resolution: {integrity: sha512-QfazNrhMakEdRG57IoYFwffUIr04LWJxbS/ZkidRFXYCQt63c1gK6Z7IHUXMx/Vh25WgPBU42oBaNzQ0K1R/xw==}
|
||||||
|
engines: {npm: '>=8.2.3'}
|
||||||
|
|
||||||
readdirp@5.0.0:
|
readdirp@5.0.0:
|
||||||
resolution: {integrity: sha512-9u/XQ1pvrQtYyMpZe7DXKv2p5CNvyVwzUB6uhLAnQwHMSgKMBR62lc7AHljaeteeHXn11XTAaLLUVZYVZyuRBQ==}
|
resolution: {integrity: sha512-9u/XQ1pvrQtYyMpZe7DXKv2p5CNvyVwzUB6uhLAnQwHMSgKMBR62lc7AHljaeteeHXn11XTAaLLUVZYVZyuRBQ==}
|
||||||
engines: {node: '>= 20.19.0'}
|
engines: {node: '>= 20.19.0'}
|
||||||
@@ -1692,9 +1718,6 @@ packages:
|
|||||||
run-parallel@1.2.0:
|
run-parallel@1.2.0:
|
||||||
resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==}
|
resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==}
|
||||||
|
|
||||||
rxjs@7.8.2:
|
|
||||||
resolution: {integrity: sha512-dhKf903U/PQZY6boNNtAGdWbG85WAbjT/1xYoZIC7FAY0yWapOBQVsVrDl58W86//e1VpMNBtRV4MaXfdMySFA==}
|
|
||||||
|
|
||||||
safe-array-concat@1.1.4:
|
safe-array-concat@1.1.4:
|
||||||
resolution: {integrity: sha512-wtZlHyOje6OZTGqAoaDKxFkgRtkF9CnHAVnCHKfuj200wAgL+bSJhdsCD2l0Qx/2ekEXjPWcyKkfGb5CPboslg==}
|
resolution: {integrity: sha512-wtZlHyOje6OZTGqAoaDKxFkgRtkF9CnHAVnCHKfuj200wAgL+bSJhdsCD2l0Qx/2ekEXjPWcyKkfGb5CPboslg==}
|
||||||
engines: {node: '>=0.4'}
|
engines: {node: '>=0.4'}
|
||||||
@@ -1707,128 +1730,6 @@ packages:
|
|||||||
resolution: {integrity: sha512-x/+Cz4YrimQxQccJf5mKEbIa1NzeCRNI5Ecl/ekmlYaampdNLPalVyIcCZNNH3MvmqBugV5TMYZXv0ljslUlaw==}
|
resolution: {integrity: sha512-x/+Cz4YrimQxQccJf5mKEbIa1NzeCRNI5Ecl/ekmlYaampdNLPalVyIcCZNNH3MvmqBugV5TMYZXv0ljslUlaw==}
|
||||||
engines: {node: '>= 0.4'}
|
engines: {node: '>= 0.4'}
|
||||||
|
|
||||||
sass-embedded-all-unknown@1.100.0:
|
|
||||||
resolution: {integrity: sha512-auFtXY/kwYILmSVjtBDwyj0axcLbYYiffOKWoaXHnI5bsYwiRbBh3EneR1rpbX2ZIZCrwX93i5pxKLTZF/662Q==}
|
|
||||||
cpu: ['!arm', '!arm64', '!riscv64', '!x64']
|
|
||||||
|
|
||||||
sass-embedded-android-arm64@1.100.0:
|
|
||||||
resolution: {integrity: sha512-W+Ru9JwTnfU0UX3jSZcbqFdtKFMcYdfFwytc57h2DgnqCOIiAqI2E06mABZBZC+r3LwXCBuS5GbXAGeVgvVDkA==}
|
|
||||||
engines: {node: '>=14.0.0'}
|
|
||||||
cpu: [arm64]
|
|
||||||
os: [android]
|
|
||||||
|
|
||||||
sass-embedded-android-arm@1.100.0:
|
|
||||||
resolution: {integrity: sha512-70f3HgX2pFNmzpGQ86n5e6QfWn2fP4QUQGfFQK0P1XH73ZLIzLo2YqygrGKGKeeqtc5eU2Wl1/xQzhzuKnO4kw==}
|
|
||||||
engines: {node: '>=14.0.0'}
|
|
||||||
cpu: [arm]
|
|
||||||
os: [android]
|
|
||||||
|
|
||||||
sass-embedded-android-riscv64@1.100.0:
|
|
||||||
resolution: {integrity: sha512-icU3o0V/uCSytSpf+tX5Lf51BvyQEbLzDUJfUi9etSauYBGHpPKkdtdZH0si4v98phq11Kl8rSV1SggksxF1Hg==}
|
|
||||||
engines: {node: '>=14.0.0'}
|
|
||||||
cpu: [riscv64]
|
|
||||||
os: [android]
|
|
||||||
|
|
||||||
sass-embedded-android-x64@1.100.0:
|
|
||||||
resolution: {integrity: sha512-mevF9VQk6gEYByy8+jusaHGmd7Usb2ytX/DsEOd0JtOGCtcf1kh575xJ6OUBDIcJ15uLnbau/0iy1eP6WVBvWA==}
|
|
||||||
engines: {node: '>=14.0.0'}
|
|
||||||
cpu: [x64]
|
|
||||||
os: [android]
|
|
||||||
|
|
||||||
sass-embedded-darwin-arm64@1.100.0:
|
|
||||||
resolution: {integrity: sha512-1PVlYi61POo93IT/FfrG1mc1tAHxeSTyUALF2aOFmXGWjVXr3bQzEQiBGCOvQbj/ix+5hNyXFXcEMEyKvtUJJA==}
|
|
||||||
engines: {node: '>=14.0.0'}
|
|
||||||
cpu: [arm64]
|
|
||||||
os: [darwin]
|
|
||||||
|
|
||||||
sass-embedded-darwin-x64@1.100.0:
|
|
||||||
resolution: {integrity: sha512-x97o3JnGyImZNCIVs9wQHJUE5QCvmVIKaH1cwrz/5dK7OT1FpeNiW+u9TUomP9hG6Ekjd8EL8NBHpxTfIhdjmg==}
|
|
||||||
engines: {node: '>=14.0.0'}
|
|
||||||
cpu: [x64]
|
|
||||||
os: [darwin]
|
|
||||||
|
|
||||||
sass-embedded-linux-arm64@1.100.0:
|
|
||||||
resolution: {integrity: sha512-Dwjmj8Z6VRy7rAi53JAdEwIyUjpfl7PhpSc2/LpQPQx+aO5Dp7Spaipkax0ufJl1SoDUdchCsM4y/88YaluorQ==}
|
|
||||||
engines: {node: '>=14.0.0'}
|
|
||||||
cpu: [arm64]
|
|
||||||
os: [linux]
|
|
||||||
libc: glibc
|
|
||||||
|
|
||||||
sass-embedded-linux-arm@1.100.0:
|
|
||||||
resolution: {integrity: sha512-9Ul7O1eKrc5YlhwWjkp8tZPSe3UEwSZ1uwUZOQom1HL0pRlBA6F/IlGZYFTLwnHMIP1fc77MMNaBRfc05mKMpw==}
|
|
||||||
engines: {node: '>=14.0.0'}
|
|
||||||
cpu: [arm]
|
|
||||||
os: [linux]
|
|
||||||
libc: glibc
|
|
||||||
|
|
||||||
sass-embedded-linux-musl-arm64@1.100.0:
|
|
||||||
resolution: {integrity: sha512-XpACJB2KjSLjf2e9uuvGVdOURsoNrFqgRiihhXyUHK9W0t3LIHb7z5MA/7XGPIT9bWSOO2zyw+rH/FHtDV/Yrg==}
|
|
||||||
engines: {node: '>=14.0.0'}
|
|
||||||
cpu: [arm64]
|
|
||||||
os: [linux]
|
|
||||||
libc: musl
|
|
||||||
|
|
||||||
sass-embedded-linux-musl-arm@1.100.0:
|
|
||||||
resolution: {integrity: sha512-sl0JgbGloPyJg66XXx5UDSDScZ0oU85DpMQU4JU/sCUCFj1Z8zZ69SJWKTCNE4/jwnce7WI2zPCV5AG+RHOZJw==}
|
|
||||||
engines: {node: '>=14.0.0'}
|
|
||||||
cpu: [arm]
|
|
||||||
os: [linux]
|
|
||||||
libc: musl
|
|
||||||
|
|
||||||
sass-embedded-linux-musl-riscv64@1.100.0:
|
|
||||||
resolution: {integrity: sha512-ShvI0Kx04mwoCARwZ0UjiT97isQvzO80tAt91zmFyHLN9kelc/IrQi940farSm2xQVPCKdeVyeG0ekBsokSpYQ==}
|
|
||||||
engines: {node: '>=14.0.0'}
|
|
||||||
cpu: [riscv64]
|
|
||||||
os: [linux]
|
|
||||||
libc: musl
|
|
||||||
|
|
||||||
sass-embedded-linux-musl-x64@1.100.0:
|
|
||||||
resolution: {integrity: sha512-TDBCRWNuS4RDLQXvRc1gjZlWiWTWaWGp0Bwu/IKwJxov81lsvrCs3TihTyNXtW7V5aoN4Ky3r0QOkNb3mwmBnA==}
|
|
||||||
engines: {node: '>=14.0.0'}
|
|
||||||
cpu: [x64]
|
|
||||||
os: [linux]
|
|
||||||
libc: musl
|
|
||||||
|
|
||||||
sass-embedded-linux-riscv64@1.100.0:
|
|
||||||
resolution: {integrity: sha512-j4ENJGOheO+fm3j/yorLxCjBP6/XskrZx7dTLlT+lXYwN/qqCqoA/gsNLI0McS3DFM6GBwPiffzWsdWS8t6sEQ==}
|
|
||||||
engines: {node: '>=14.0.0'}
|
|
||||||
cpu: [riscv64]
|
|
||||||
os: [linux]
|
|
||||||
libc: glibc
|
|
||||||
|
|
||||||
sass-embedded-linux-x64@1.100.0:
|
|
||||||
resolution: {integrity: sha512-0vUSN8j0WGtCJIOPh//EmUvYGHW0QOe5iul8qyhPk50MAcw49MA0r34AhftjDdx94ILPF6vApFs0gwHPQRlpVA==}
|
|
||||||
engines: {node: '>=14.0.0'}
|
|
||||||
cpu: [x64]
|
|
||||||
os: [linux]
|
|
||||||
libc: glibc
|
|
||||||
|
|
||||||
sass-embedded-unknown-all@1.100.0:
|
|
||||||
resolution: {integrity: sha512-c+naBgWId4MIpToXcI0DgqetjdAkwTTAxFAuOaBz7HUXLdyG1oZRrEvSsbe41nEdQOKH0vgofVFCeSQgoXOG9A==}
|
|
||||||
os: ['!android', '!darwin', '!linux', '!win32']
|
|
||||||
|
|
||||||
sass-embedded-win32-arm64@1.100.0:
|
|
||||||
resolution: {integrity: sha512-iE+yxj+hUXwwbqpHkXxgAWTzeRfcWxJ7SSTQEPMk48lwq3oCrWLlz5sQuWHbuTK/i0GKQfROdP+hOmPi89yjUg==}
|
|
||||||
engines: {node: '>=14.0.0'}
|
|
||||||
cpu: [arm64]
|
|
||||||
os: [win32]
|
|
||||||
|
|
||||||
sass-embedded-win32-x64@1.100.0:
|
|
||||||
resolution: {integrity: sha512-qI4F8MI7/KYoy9NdjJfhSspG42WPkADSNDvwEV7qWvCSFC83koJssRsKO2/PfY+niZz6BG65Ic/D+A11h959hw==}
|
|
||||||
engines: {node: '>=14.0.0'}
|
|
||||||
cpu: [x64]
|
|
||||||
os: [win32]
|
|
||||||
|
|
||||||
sass-embedded@1.100.0:
|
|
||||||
resolution: {integrity: sha512-Ut8wlQSk19tm7jMK6mz6cF1+e+E7tUnW2tM02zQDPnOTcVbV8qCQG8UWxZkkNlY50+hV3hqP24OOkUlMz8xBpw==}
|
|
||||||
engines: {node: '>=16.0.0'}
|
|
||||||
hasBin: true
|
|
||||||
|
|
||||||
sass@1.100.0:
|
|
||||||
resolution: {integrity: sha512-B5j0rYMlinhhOo9tjQebMVVn0TfyXAF+wB3b2ggZUuJ/is/Y+7+JGjirAMxHZ9Z3hIP98NPfamlAkBHa1lAaXQ==}
|
|
||||||
engines: {node: '>=20.19.0'}
|
|
||||||
hasBin: true
|
|
||||||
|
|
||||||
sass@1.102.0:
|
sass@1.102.0:
|
||||||
resolution: {integrity: sha512-NSOyTnaQF7rTAEOtI2fwb386vL+akyiQLBZu8Na7hXCb+umJy0GAqlcMIaqACZ6Z1VgTBS4K9PG6B3IdjHGJsw==}
|
resolution: {integrity: sha512-NSOyTnaQF7rTAEOtI2fwb386vL+akyiQLBZu8Na7hXCb+umJy0GAqlcMIaqACZ6Z1VgTBS4K9PG6B3IdjHGJsw==}
|
||||||
engines: {node: '>=20.19.0'}
|
engines: {node: '>=20.19.0'}
|
||||||
@@ -1937,22 +1838,10 @@ packages:
|
|||||||
resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==}
|
resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==}
|
||||||
engines: {node: '>=8'}
|
engines: {node: '>=8'}
|
||||||
|
|
||||||
supports-color@8.1.1:
|
|
||||||
resolution: {integrity: sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==}
|
|
||||||
engines: {node: '>=10'}
|
|
||||||
|
|
||||||
supports-preserve-symlinks-flag@1.0.0:
|
supports-preserve-symlinks-flag@1.0.0:
|
||||||
resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==}
|
resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==}
|
||||||
engines: {node: '>= 0.4'}
|
engines: {node: '>= 0.4'}
|
||||||
|
|
||||||
sync-child-process@1.0.2:
|
|
||||||
resolution: {integrity: sha512-8lD+t2KrrScJ/7KXCSyfhT3/hRq78rC0wBFqNJXv3mZyn6hW2ypM05JmlSvtqRbeq6jqA94oHbxAr2vYsJ8vDA==}
|
|
||||||
engines: {node: '>=16.0.0'}
|
|
||||||
|
|
||||||
sync-message-port@1.2.0:
|
|
||||||
resolution: {integrity: sha512-gAQ9qrUN/UCypHtGFbbe7Rc/f9bzO88IwrG8TDo/aMKAApKyD6E3W4Cm0EfhfBb6Z6SKt59tTCTfD+n1xmAvMg==}
|
|
||||||
engines: {node: '>=16.0.0'}
|
|
||||||
|
|
||||||
table@6.9.0:
|
table@6.9.0:
|
||||||
resolution: {integrity: sha512-9kY+CygyYM6j02t5YFHbNz2FN5QmYGv9zAjVp4lCDjlCw7amdckXlEt/bjMhUIfj4ThGRE4gCUH5+yGnNuPo5A==}
|
resolution: {integrity: sha512-9kY+CygyYM6j02t5YFHbNz2FN5QmYGv9zAjVp4lCDjlCw7amdckXlEt/bjMhUIfj4ThGRE4gCUH5+yGnNuPo5A==}
|
||||||
engines: {node: '>=10.0.0'}
|
engines: {node: '>=10.0.0'}
|
||||||
@@ -2068,9 +1957,6 @@ packages:
|
|||||||
v8-compile-cache@2.4.0:
|
v8-compile-cache@2.4.0:
|
||||||
resolution: {integrity: sha512-ocyWc3bAHBB/guyqJQVI5o4BZkPhznPYUG2ea80Gond/BgNWpap8TOmLSeeQG7bnh2KMISxskdADG59j7zruhw==}
|
resolution: {integrity: sha512-ocyWc3bAHBB/guyqJQVI5o4BZkPhznPYUG2ea80Gond/BgNWpap8TOmLSeeQG7bnh2KMISxskdADG59j7zruhw==}
|
||||||
|
|
||||||
varint@6.0.0:
|
|
||||||
resolution: {integrity: sha512-cXEIW6cfr15lFv563k4GuVuW/fiwjknytD37jIOLSdSWuOI6WnO/oKwmP2FQTU2l01LP8/M5TSAJpzUaGe3uWg==}
|
|
||||||
|
|
||||||
vite@8.1.5:
|
vite@8.1.5:
|
||||||
resolution: {integrity: sha512-7ULLwsCdYx/nRyrpiEwvqb5TFHrMVZyBt+rg/OAXT7rgj/z+DtTDyKFeLAdDkubDVDKD8jOsndmy7m55XcfUsw==}
|
resolution: {integrity: sha512-7ULLwsCdYx/nRyrpiEwvqb5TFHrMVZyBt+rg/OAXT7rgj/z+DtTDyKFeLAdDkubDVDKD8jOsndmy7m55XcfUsw==}
|
||||||
engines: {node: ^20.19.0 || >=22.12.0}
|
engines: {node: ^20.19.0 || >=22.12.0}
|
||||||
@@ -2255,9 +2141,6 @@ snapshots:
|
|||||||
'@babel/helper-string-parser': 8.0.0
|
'@babel/helper-string-parser': 8.0.0
|
||||||
'@babel/helper-validator-identifier': 8.0.4
|
'@babel/helper-validator-identifier': 8.0.4
|
||||||
|
|
||||||
'@bufbuild/protobuf@2.13.0':
|
|
||||||
optional: true
|
|
||||||
|
|
||||||
'@ctrl/tinycolor@4.2.0': {}
|
'@ctrl/tinycolor@4.2.0': {}
|
||||||
|
|
||||||
'@element-plus/icons-vue@2.3.2(vue@3.5.40(typescript@6.0.3))':
|
'@element-plus/icons-vue@2.3.2(vue@3.5.40(typescript@6.0.3))':
|
||||||
@@ -2583,10 +2466,10 @@ snapshots:
|
|||||||
'@typescript-eslint/types': 5.62.0
|
'@typescript-eslint/types': 5.62.0
|
||||||
eslint-visitor-keys: 3.4.3
|
eslint-visitor-keys: 3.4.3
|
||||||
|
|
||||||
'@vitejs/plugin-vue@6.0.8(vite@8.1.5(@types/node@24.13.3)(sass-embedded@1.100.0)(sass@1.102.0)(yaml@2.9.0))(vue@3.5.40(typescript@6.0.3))':
|
'@vitejs/plugin-vue@6.0.8(vite@8.1.5(@types/node@24.13.3)(sass@1.102.0)(yaml@2.9.0))(vue@3.5.40(typescript@6.0.3))':
|
||||||
dependencies:
|
dependencies:
|
||||||
'@rolldown/pluginutils': 1.0.1
|
'@rolldown/pluginutils': 1.0.1
|
||||||
vite: 8.1.5(@types/node@24.13.3)(sass-embedded@1.100.0)(sass@1.102.0)(yaml@2.9.0)
|
vite: 8.1.5(@types/node@24.13.3)(sass@1.102.0)(yaml@2.9.0)
|
||||||
vue: 3.5.40(typescript@6.0.3)
|
vue: 3.5.40(typescript@6.0.3)
|
||||||
|
|
||||||
'@volar/language-core@2.4.28':
|
'@volar/language-core@2.4.28':
|
||||||
@@ -2641,18 +2524,18 @@ snapshots:
|
|||||||
'@vue/compiler-dom': 3.5.40
|
'@vue/compiler-dom': 3.5.40
|
||||||
'@vue/shared': 3.5.40
|
'@vue/shared': 3.5.40
|
||||||
|
|
||||||
'@vue/devtools-api@8.2.0':
|
'@vue/devtools-api@8.2.1':
|
||||||
dependencies:
|
dependencies:
|
||||||
'@vue/devtools-kit': 8.2.0
|
'@vue/devtools-kit': 8.2.1
|
||||||
|
|
||||||
'@vue/devtools-kit@8.2.0':
|
'@vue/devtools-kit@8.2.1':
|
||||||
dependencies:
|
dependencies:
|
||||||
'@vue/devtools-shared': 8.2.0
|
'@vue/devtools-shared': 8.2.1
|
||||||
birpc: 2.9.0
|
birpc: 2.9.0
|
||||||
hookable: 5.5.3
|
hookable: 5.5.3
|
||||||
perfect-debounce: 2.1.0
|
perfect-debounce: 2.1.0
|
||||||
|
|
||||||
'@vue/devtools-shared@8.2.0': {}
|
'@vue/devtools-shared@8.2.1': {}
|
||||||
|
|
||||||
'@vue/language-core@3.3.8':
|
'@vue/language-core@3.3.8':
|
||||||
dependencies:
|
dependencies:
|
||||||
@@ -2693,6 +2576,12 @@ snapshots:
|
|||||||
typescript: 6.0.3
|
typescript: 6.0.3
|
||||||
vue: 3.5.40(typescript@6.0.3)
|
vue: 3.5.40(typescript@6.0.3)
|
||||||
|
|
||||||
|
'@vueup/vue-quill@1.5.5(vue@3.5.40(typescript@6.0.3))':
|
||||||
|
dependencies:
|
||||||
|
quill: 2.0.2
|
||||||
|
quill-delta: 5.1.0
|
||||||
|
vue: 3.5.40(typescript@6.0.3)
|
||||||
|
|
||||||
'@vueuse/core@14.3.0(vue@3.5.40(typescript@6.0.3))':
|
'@vueuse/core@14.3.0(vue@3.5.40(typescript@6.0.3))':
|
||||||
dependencies:
|
dependencies:
|
||||||
'@types/web-bluetooth': 0.0.21
|
'@types/web-bluetooth': 0.0.21
|
||||||
@@ -2902,9 +2791,6 @@ snapshots:
|
|||||||
|
|
||||||
color-name@1.1.4: {}
|
color-name@1.1.4: {}
|
||||||
|
|
||||||
colorjs.io@0.5.2:
|
|
||||||
optional: true
|
|
||||||
|
|
||||||
combined-stream@1.0.8:
|
combined-stream@1.0.8:
|
||||||
dependencies:
|
dependencies:
|
||||||
delayed-stream: 1.0.0
|
delayed-stream: 1.0.0
|
||||||
@@ -3299,10 +3185,14 @@ snapshots:
|
|||||||
|
|
||||||
esutils@2.0.3: {}
|
esutils@2.0.3: {}
|
||||||
|
|
||||||
exsolve@1.1.0: {}
|
eventemitter3@5.0.4: {}
|
||||||
|
|
||||||
|
exsolve@1.1.1: {}
|
||||||
|
|
||||||
fast-deep-equal@3.1.3: {}
|
fast-deep-equal@3.1.3: {}
|
||||||
|
|
||||||
|
fast-diff@1.3.0: {}
|
||||||
|
|
||||||
fast-glob@3.3.3:
|
fast-glob@3.3.3:
|
||||||
dependencies:
|
dependencies:
|
||||||
'@nodelib/fs.stat': 2.0.5
|
'@nodelib/fs.stat': 2.0.5
|
||||||
@@ -3711,6 +3601,10 @@ snapshots:
|
|||||||
lodash: 4.18.1
|
lodash: 4.18.1
|
||||||
lodash-es: 4.18.1
|
lodash-es: 4.18.1
|
||||||
|
|
||||||
|
lodash.clonedeep@4.5.0: {}
|
||||||
|
|
||||||
|
lodash.isequal@4.5.0: {}
|
||||||
|
|
||||||
lodash.merge@4.6.2: {}
|
lodash.merge@4.6.2: {}
|
||||||
|
|
||||||
lodash.truncate@4.4.2: {}
|
lodash.truncate@4.4.2: {}
|
||||||
@@ -3843,6 +3737,8 @@ snapshots:
|
|||||||
object-keys: 1.1.1
|
object-keys: 1.1.1
|
||||||
safe-push-apply: 1.0.0
|
safe-push-apply: 1.0.0
|
||||||
|
|
||||||
|
parchment@3.0.0: {}
|
||||||
|
|
||||||
parent-module@1.0.1:
|
parent-module@1.0.1:
|
||||||
dependencies:
|
dependencies:
|
||||||
callsites: 3.1.0
|
callsites: 3.1.0
|
||||||
@@ -3867,9 +3763,9 @@ snapshots:
|
|||||||
|
|
||||||
picomatch@4.0.5: {}
|
picomatch@4.0.5: {}
|
||||||
|
|
||||||
pinia@4.0.2(@vue/devtools-api@8.2.0)(typescript@6.0.3)(vue@3.5.40(typescript@6.0.3)):
|
pinia@4.0.2(@vue/devtools-api@8.2.1)(typescript@6.0.3)(vue@3.5.40(typescript@6.0.3)):
|
||||||
dependencies:
|
dependencies:
|
||||||
'@vue/devtools-api': 8.2.0
|
'@vue/devtools-api': 8.2.1
|
||||||
nostics: 1.2.0
|
nostics: 1.2.0
|
||||||
vue: 3.5.40(typescript@6.0.3)
|
vue: 3.5.40(typescript@6.0.3)
|
||||||
optionalDependencies:
|
optionalDependencies:
|
||||||
@@ -3884,7 +3780,7 @@ snapshots:
|
|||||||
pkg-types@2.3.1:
|
pkg-types@2.3.1:
|
||||||
dependencies:
|
dependencies:
|
||||||
confbox: 0.2.4
|
confbox: 0.2.4
|
||||||
exsolve: 1.1.0
|
exsolve: 1.1.1
|
||||||
pathe: 2.0.3
|
pathe: 2.0.3
|
||||||
|
|
||||||
possible-typed-array-names@1.1.0: {}
|
possible-typed-array-names@1.1.0: {}
|
||||||
@@ -3912,6 +3808,19 @@ snapshots:
|
|||||||
|
|
||||||
queue-microtask@1.2.3: {}
|
queue-microtask@1.2.3: {}
|
||||||
|
|
||||||
|
quill-delta@5.1.0:
|
||||||
|
dependencies:
|
||||||
|
fast-diff: 1.3.0
|
||||||
|
lodash.clonedeep: 4.5.0
|
||||||
|
lodash.isequal: 4.5.0
|
||||||
|
|
||||||
|
quill@2.0.2:
|
||||||
|
dependencies:
|
||||||
|
eventemitter3: 5.0.4
|
||||||
|
lodash-es: 4.18.1
|
||||||
|
parchment: 3.0.0
|
||||||
|
quill-delta: 5.1.0
|
||||||
|
|
||||||
readdirp@5.0.0: {}
|
readdirp@5.0.0: {}
|
||||||
|
|
||||||
reflect.getprototypeof@1.0.10:
|
reflect.getprototypeof@1.0.10:
|
||||||
@@ -3987,11 +3896,6 @@ snapshots:
|
|||||||
dependencies:
|
dependencies:
|
||||||
queue-microtask: 1.2.3
|
queue-microtask: 1.2.3
|
||||||
|
|
||||||
rxjs@7.8.2:
|
|
||||||
dependencies:
|
|
||||||
tslib: 2.8.1
|
|
||||||
optional: true
|
|
||||||
|
|
||||||
safe-array-concat@1.1.4:
|
safe-array-concat@1.1.4:
|
||||||
dependencies:
|
dependencies:
|
||||||
call-bind: 1.0.9
|
call-bind: 1.0.9
|
||||||
@@ -4011,103 +3915,6 @@ snapshots:
|
|||||||
es-errors: 1.3.0
|
es-errors: 1.3.0
|
||||||
is-regex: 1.2.1
|
is-regex: 1.2.1
|
||||||
|
|
||||||
sass-embedded-all-unknown@1.100.0:
|
|
||||||
dependencies:
|
|
||||||
sass: 1.100.0
|
|
||||||
optional: true
|
|
||||||
|
|
||||||
sass-embedded-android-arm64@1.100.0:
|
|
||||||
optional: true
|
|
||||||
|
|
||||||
sass-embedded-android-arm@1.100.0:
|
|
||||||
optional: true
|
|
||||||
|
|
||||||
sass-embedded-android-riscv64@1.100.0:
|
|
||||||
optional: true
|
|
||||||
|
|
||||||
sass-embedded-android-x64@1.100.0:
|
|
||||||
optional: true
|
|
||||||
|
|
||||||
sass-embedded-darwin-arm64@1.100.0:
|
|
||||||
optional: true
|
|
||||||
|
|
||||||
sass-embedded-darwin-x64@1.100.0:
|
|
||||||
optional: true
|
|
||||||
|
|
||||||
sass-embedded-linux-arm64@1.100.0:
|
|
||||||
optional: true
|
|
||||||
|
|
||||||
sass-embedded-linux-arm@1.100.0:
|
|
||||||
optional: true
|
|
||||||
|
|
||||||
sass-embedded-linux-musl-arm64@1.100.0:
|
|
||||||
optional: true
|
|
||||||
|
|
||||||
sass-embedded-linux-musl-arm@1.100.0:
|
|
||||||
optional: true
|
|
||||||
|
|
||||||
sass-embedded-linux-musl-riscv64@1.100.0:
|
|
||||||
optional: true
|
|
||||||
|
|
||||||
sass-embedded-linux-musl-x64@1.100.0:
|
|
||||||
optional: true
|
|
||||||
|
|
||||||
sass-embedded-linux-riscv64@1.100.0:
|
|
||||||
optional: true
|
|
||||||
|
|
||||||
sass-embedded-linux-x64@1.100.0:
|
|
||||||
optional: true
|
|
||||||
|
|
||||||
sass-embedded-unknown-all@1.100.0:
|
|
||||||
dependencies:
|
|
||||||
sass: 1.100.0
|
|
||||||
optional: true
|
|
||||||
|
|
||||||
sass-embedded-win32-arm64@1.100.0:
|
|
||||||
optional: true
|
|
||||||
|
|
||||||
sass-embedded-win32-x64@1.100.0:
|
|
||||||
optional: true
|
|
||||||
|
|
||||||
sass-embedded@1.100.0:
|
|
||||||
dependencies:
|
|
||||||
'@bufbuild/protobuf': 2.13.0
|
|
||||||
colorjs.io: 0.5.2
|
|
||||||
immutable: 5.1.9
|
|
||||||
rxjs: 7.8.2
|
|
||||||
supports-color: 8.1.1
|
|
||||||
sync-child-process: 1.0.2
|
|
||||||
varint: 6.0.0
|
|
||||||
optionalDependencies:
|
|
||||||
sass-embedded-all-unknown: 1.100.0
|
|
||||||
sass-embedded-android-arm: 1.100.0
|
|
||||||
sass-embedded-android-arm64: 1.100.0
|
|
||||||
sass-embedded-android-riscv64: 1.100.0
|
|
||||||
sass-embedded-android-x64: 1.100.0
|
|
||||||
sass-embedded-darwin-arm64: 1.100.0
|
|
||||||
sass-embedded-darwin-x64: 1.100.0
|
|
||||||
sass-embedded-linux-arm: 1.100.0
|
|
||||||
sass-embedded-linux-arm64: 1.100.0
|
|
||||||
sass-embedded-linux-musl-arm: 1.100.0
|
|
||||||
sass-embedded-linux-musl-arm64: 1.100.0
|
|
||||||
sass-embedded-linux-musl-riscv64: 1.100.0
|
|
||||||
sass-embedded-linux-musl-x64: 1.100.0
|
|
||||||
sass-embedded-linux-riscv64: 1.100.0
|
|
||||||
sass-embedded-linux-x64: 1.100.0
|
|
||||||
sass-embedded-unknown-all: 1.100.0
|
|
||||||
sass-embedded-win32-arm64: 1.100.0
|
|
||||||
sass-embedded-win32-x64: 1.100.0
|
|
||||||
optional: true
|
|
||||||
|
|
||||||
sass@1.100.0:
|
|
||||||
dependencies:
|
|
||||||
chokidar: 5.0.0
|
|
||||||
immutable: 5.1.9
|
|
||||||
source-map-js: 1.2.1
|
|
||||||
optionalDependencies:
|
|
||||||
'@parcel/watcher': 2.6.0
|
|
||||||
optional: true
|
|
||||||
|
|
||||||
sass@1.102.0:
|
sass@1.102.0:
|
||||||
dependencies:
|
dependencies:
|
||||||
chokidar: 5.0.0
|
chokidar: 5.0.0
|
||||||
@@ -4241,21 +4048,8 @@ snapshots:
|
|||||||
dependencies:
|
dependencies:
|
||||||
has-flag: 4.0.0
|
has-flag: 4.0.0
|
||||||
|
|
||||||
supports-color@8.1.1:
|
|
||||||
dependencies:
|
|
||||||
has-flag: 4.0.0
|
|
||||||
optional: true
|
|
||||||
|
|
||||||
supports-preserve-symlinks-flag@1.0.0: {}
|
supports-preserve-symlinks-flag@1.0.0: {}
|
||||||
|
|
||||||
sync-child-process@1.0.2:
|
|
||||||
dependencies:
|
|
||||||
sync-message-port: 1.2.0
|
|
||||||
optional: true
|
|
||||||
|
|
||||||
sync-message-port@1.2.0:
|
|
||||||
optional: true
|
|
||||||
|
|
||||||
table@6.9.0:
|
table@6.9.0:
|
||||||
dependencies:
|
dependencies:
|
||||||
ajv: 8.20.0
|
ajv: 8.20.0
|
||||||
@@ -4349,14 +4143,14 @@ snapshots:
|
|||||||
pathe: 2.0.3
|
pathe: 2.0.3
|
||||||
picomatch: 4.0.5
|
picomatch: 4.0.5
|
||||||
|
|
||||||
unplugin@3.3.0(rolldown@1.1.5)(vite@8.1.5(@types/node@24.13.3)(sass-embedded@1.100.0)(sass@1.102.0)(yaml@2.9.0)):
|
unplugin@3.3.0(rolldown@1.1.5)(vite@8.1.5(@types/node@24.13.3)(sass@1.102.0)(yaml@2.9.0)):
|
||||||
dependencies:
|
dependencies:
|
||||||
'@jridgewell/remapping': 2.3.5
|
'@jridgewell/remapping': 2.3.5
|
||||||
picomatch: 4.0.5
|
picomatch: 4.0.5
|
||||||
webpack-virtual-modules: 0.6.2
|
webpack-virtual-modules: 0.6.2
|
||||||
optionalDependencies:
|
optionalDependencies:
|
||||||
rolldown: 1.1.5
|
rolldown: 1.1.5
|
||||||
vite: 8.1.5(@types/node@24.13.3)(sass-embedded@1.100.0)(sass@1.102.0)(yaml@2.9.0)
|
vite: 8.1.5(@types/node@24.13.3)(sass@1.102.0)(yaml@2.9.0)
|
||||||
|
|
||||||
uri-js@4.4.1:
|
uri-js@4.4.1:
|
||||||
dependencies:
|
dependencies:
|
||||||
@@ -4366,10 +4160,7 @@ snapshots:
|
|||||||
|
|
||||||
v8-compile-cache@2.4.0: {}
|
v8-compile-cache@2.4.0: {}
|
||||||
|
|
||||||
varint@6.0.0:
|
vite@8.1.5(@types/node@24.13.3)(sass@1.102.0)(yaml@2.9.0):
|
||||||
optional: true
|
|
||||||
|
|
||||||
vite@8.1.5(@types/node@24.13.3)(sass-embedded@1.100.0)(sass@1.102.0)(yaml@2.9.0):
|
|
||||||
dependencies:
|
dependencies:
|
||||||
lightningcss: 1.33.0
|
lightningcss: 1.33.0
|
||||||
picomatch: 4.0.5
|
picomatch: 4.0.5
|
||||||
@@ -4380,7 +4171,6 @@ snapshots:
|
|||||||
'@types/node': 24.13.3
|
'@types/node': 24.13.3
|
||||||
fsevents: 2.3.3
|
fsevents: 2.3.3
|
||||||
sass: 1.102.0
|
sass: 1.102.0
|
||||||
sass-embedded: 1.100.0
|
|
||||||
yaml: 2.9.0
|
yaml: 2.9.0
|
||||||
|
|
||||||
vscode-uri@3.1.0: {}
|
vscode-uri@3.1.0: {}
|
||||||
@@ -4400,11 +4190,11 @@ snapshots:
|
|||||||
transitivePeerDependencies:
|
transitivePeerDependencies:
|
||||||
- supports-color
|
- supports-color
|
||||||
|
|
||||||
vue-router@5.2.0(@vue/compiler-sfc@3.5.40)(pinia@4.0.2(@vue/devtools-api@8.2.0)(typescript@6.0.3)(vue@3.5.40(typescript@6.0.3)))(rolldown@1.1.5)(vite@8.1.5(@types/node@24.13.3)(sass-embedded@1.100.0)(sass@1.102.0)(yaml@2.9.0))(vue@3.5.40(typescript@6.0.3)):
|
vue-router@5.2.0(@vue/compiler-sfc@3.5.40)(pinia@4.0.2(@vue/devtools-api@8.2.1)(typescript@6.0.3)(vue@3.5.40(typescript@6.0.3)))(rolldown@1.1.5)(vite@8.1.5(@types/node@24.13.3)(sass@1.102.0)(yaml@2.9.0))(vue@3.5.40(typescript@6.0.3)):
|
||||||
dependencies:
|
dependencies:
|
||||||
'@babel/generator': 8.0.0
|
'@babel/generator': 8.0.0
|
||||||
'@vue-macros/common': 3.1.4(vue@3.5.40(typescript@6.0.3))
|
'@vue-macros/common': 3.1.4(vue@3.5.40(typescript@6.0.3))
|
||||||
'@vue/devtools-api': 8.2.0
|
'@vue/devtools-api': 8.2.1
|
||||||
ast-walker-scope: 0.9.0
|
ast-walker-scope: 0.9.0
|
||||||
chokidar: 5.0.0
|
chokidar: 5.0.0
|
||||||
json5: 2.2.3
|
json5: 2.2.3
|
||||||
@@ -4417,14 +4207,14 @@ snapshots:
|
|||||||
picomatch: 4.0.5
|
picomatch: 4.0.5
|
||||||
scule: 1.3.0
|
scule: 1.3.0
|
||||||
tinyglobby: 0.2.17
|
tinyglobby: 0.2.17
|
||||||
unplugin: 3.3.0(rolldown@1.1.5)(vite@8.1.5(@types/node@24.13.3)(sass-embedded@1.100.0)(sass@1.102.0)(yaml@2.9.0))
|
unplugin: 3.3.0(rolldown@1.1.5)(vite@8.1.5(@types/node@24.13.3)(sass@1.102.0)(yaml@2.9.0))
|
||||||
unplugin-utils: 0.3.2
|
unplugin-utils: 0.3.2
|
||||||
vue: 3.5.40(typescript@6.0.3)
|
vue: 3.5.40(typescript@6.0.3)
|
||||||
yaml: 2.9.0
|
yaml: 2.9.0
|
||||||
optionalDependencies:
|
optionalDependencies:
|
||||||
'@vue/compiler-sfc': 3.5.40
|
'@vue/compiler-sfc': 3.5.40
|
||||||
pinia: 4.0.2(@vue/devtools-api@8.2.0)(typescript@6.0.3)(vue@3.5.40(typescript@6.0.3))
|
pinia: 4.0.2(@vue/devtools-api@8.2.1)(typescript@6.0.3)(vue@3.5.40(typescript@6.0.3))
|
||||||
vite: 8.1.5(@types/node@24.13.3)(sass-embedded@1.100.0)(sass@1.102.0)(yaml@2.9.0)
|
vite: 8.1.5(@types/node@24.13.3)(sass@1.102.0)(yaml@2.9.0)
|
||||||
transitivePeerDependencies:
|
transitivePeerDependencies:
|
||||||
- '@farmfe/core'
|
- '@farmfe/core'
|
||||||
- '@rspack/core'
|
- '@rspack/core'
|
||||||
|
|||||||
@@ -7,4 +7,5 @@
|
|||||||
|
|
||||||
<style lang="scss">
|
<style lang="scss">
|
||||||
@use '@/styles/index.module.scss';
|
@use '@/styles/index.module.scss';
|
||||||
|
@use "@/styles/common.module.scss";
|
||||||
</style>
|
</style>
|
||||||
@@ -1,7 +1,7 @@
|
|||||||
<template>
|
<template>
|
||||||
<el-dialog v-model="libraryStore.fileDetailDialogVisible"
|
<el-dialog v-model="libraryStore.fileDetailDialogVisible"
|
||||||
:title="libraryStore.currentFile.name" center
|
:title="libraryStore.currentFile.name" center
|
||||||
width="90%" destroy-on-close class="file-dialog">
|
width="90%" destroy-on-close class="file-detail-dialog">
|
||||||
<el-splitter>
|
<el-splitter>
|
||||||
<el-splitter-panel size="50%">
|
<el-splitter-panel size="50%">
|
||||||
<div class="raw-file">
|
<div class="raw-file">
|
||||||
@@ -24,7 +24,7 @@
|
|||||||
<span class="q-num">Q{{ i + 1 }}</span>
|
<span class="q-num">Q{{ i + 1 }}</span>
|
||||||
<el-tag size="small" type="primary" effect="dark">{{ q.type }}</el-tag>
|
<el-tag size="small" type="primary" effect="dark">{{ q.type }}</el-tag>
|
||||||
</div>
|
</div>
|
||||||
<div class="q-body">{{ q.stem }}</div>
|
<div class="q-body">{{ q.question }}</div>
|
||||||
<ul v-if="q.options" class="q-options">
|
<ul v-if="q.options" class="q-options">
|
||||||
<li v-for="opt in q.options" :key="opt">{{ opt }}</li>
|
<li v-for="opt in q.options" :key="opt">{{ opt }}</li>
|
||||||
</ul>
|
</ul>
|
||||||
@@ -51,7 +51,7 @@ const libraryStore = useLibraryStore()
|
|||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style lang="scss">
|
<style lang="scss">
|
||||||
.file-dialog {
|
.file-detail-dialog {
|
||||||
.raw-file {
|
.raw-file {
|
||||||
height: 100%;
|
height: 100%;
|
||||||
padding: 10px;
|
padding: 10px;
|
||||||
|
|||||||
@@ -1,14 +1,20 @@
|
|||||||
<template>
|
<template>
|
||||||
<el-dialog v-model="libraryStore.fileDialogVisible"
|
<el-dialog v-model="libraryStore.fileDialogVisible"
|
||||||
title="新增资料" width="80%" center destroy-on-close>
|
title="新增资料" width="80%"
|
||||||
<el-splitter>
|
center destroy-on-close
|
||||||
<el-splitter-panel>
|
class="file-dialog common-dialog">
|
||||||
<el-form ref="ruleFormRef" :model="libraryStore.currentFile"
|
<el-steps :active="activeStep" align-center>
|
||||||
|
<el-step title="上传资料" :icon="Upload" />
|
||||||
|
<el-step title="确认资料" :icon="Document " />
|
||||||
|
<el-step title="生成题库" :icon="MagicStick" />
|
||||||
|
</el-steps>
|
||||||
|
|
||||||
|
<el-form ref="libraryFileFormRef" v-if="activeStep === 1"
|
||||||
|
:model="libraryStore.currentFile"
|
||||||
:rules="rules" label-width="auto">
|
:rules="rules" label-width="auto">
|
||||||
<el-form-item label="学科" prop="subject">
|
<el-form-item label="学科" prop="subject">
|
||||||
<el-select v-model="libraryStore.currentFile.subject"
|
<el-select v-model="libraryStore.currentFile.subject"
|
||||||
multiple filterable allow-create
|
filterable allow-create placeholder="请输入或选择学科名称">
|
||||||
placeholder="请输入或选择学科名称" style="width: 240px">
|
|
||||||
<el-option v-for="(item, index) in subjectOptions"
|
<el-option v-for="(item, index) in subjectOptions"
|
||||||
:key="index" :label="item" :value="item"/>
|
:key="index" :label="item" :value="item"/>
|
||||||
</el-select>
|
</el-select>
|
||||||
@@ -16,54 +22,77 @@
|
|||||||
|
|
||||||
<el-form-item label="模块" prop="module">
|
<el-form-item label="模块" prop="module">
|
||||||
<el-select v-model="libraryStore.currentFile.module"
|
<el-select v-model="libraryStore.currentFile.module"
|
||||||
multiple filterable allow-create
|
filterable allow-create placeholder="请输入或选择模块名称">
|
||||||
placeholder="请输入或选择模块名称" style="width: 240px">
|
|
||||||
<el-option v-for="(item, index) in subjectOptions"
|
<el-option v-for="(item, index) in subjectOptions"
|
||||||
:key="index" :label="item" :value="item"/>
|
:key="index" :label="item" :value="item"/>
|
||||||
</el-select>
|
</el-select>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
|
|
||||||
|
<el-form-item label="名称" prop="name">
|
||||||
|
<el-input v-model="libraryStore.currentFile.name"
|
||||||
|
show-word-limit :maxlength="20"
|
||||||
|
placeholder="请输入资料名称">
|
||||||
|
</el-input>
|
||||||
|
</el-form-item>
|
||||||
|
|
||||||
<el-form-item label="文件">
|
<el-form-item label="文件">
|
||||||
<el-upload class="upload-demo"
|
<el-upload class="upload-demo" drag :http-request="upload">
|
||||||
drag
|
|
||||||
:http-request="upload">
|
|
||||||
<el-icon class="el-icon--upload"><upload-filled /></el-icon>
|
<el-icon class="el-icon--upload"><upload-filled /></el-icon>
|
||||||
<div class="el-upload__text">
|
<div class="el-upload__text">
|
||||||
Drop file here or <em>click to upload</em>
|
拖拽文件至此或 <em>点击上传</em>
|
||||||
</div>
|
</div>
|
||||||
<template #tip>
|
<template #tip>
|
||||||
<div class="el-upload__tip">
|
<div class="el-upload__tip">
|
||||||
jpg/png files with a size less than 500kb
|
请上传小于10M的图片
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
</el-upload>
|
</el-upload>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-form>
|
</el-form>
|
||||||
</el-splitter-panel>
|
|
||||||
<el-splitter-panel>
|
<QuillEditor v-if="activeStep === 2" :content="fileContent" contentType="html" theme="snow"/>
|
||||||
<el-input
|
|
||||||
v-model="fileContent"
|
<div v-if="activeStep === 3" class="generate-question">
|
||||||
style="width: 100%;padding: 10px;"
|
<div>
|
||||||
:rows="20"
|
|
||||||
type="textarea"
|
|
||||||
placeholder="Please input"
|
|
||||||
/>
|
|
||||||
</el-splitter-panel>
|
|
||||||
<el-splitter-panel>
|
|
||||||
<el-button type="primary" @click="generate">生成题库</el-button>
|
<el-button type="primary" @click="generate">生成题库</el-button>
|
||||||
<el-input
|
</div>
|
||||||
v-model="questionContent"
|
|
||||||
style="width: 100%;padding: 10px;"
|
<div v-if="hasGenerate" class="question-list">
|
||||||
:rows="20"
|
<el-card v-for="(q, index) in libraryStore.currentFile.questions"
|
||||||
type="textarea"
|
:key="q.id" class="question-card">
|
||||||
placeholder="Please input"
|
<div class="question-title">
|
||||||
/>
|
{{ index + 1 }}.
|
||||||
</el-splitter-panel>
|
【{{ q.type === 'single' ? '单选' : '多选' }}】
|
||||||
</el-splitter>
|
{{ q.question }}
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="question-options">
|
||||||
|
<div v-for="(opt, i) in q.options" :key="i" style="line-height: 1.8">
|
||||||
|
{{ String.fromCharCode(65 + i) }}. {{ opt }}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="question-answer">
|
||||||
|
正确答案:{{ q.answer.join('、') }}
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="question-action">
|
||||||
|
<el-button type="danger" size="small"
|
||||||
|
@click="libraryStore.currentFile.questions.splice(index, 1)">
|
||||||
|
删除
|
||||||
|
</el-button>
|
||||||
|
</div>
|
||||||
|
</el-card>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div v-else v-html="questionContent" />
|
||||||
|
</div>
|
||||||
|
|
||||||
<template #footer>
|
<template #footer>
|
||||||
<el-button @click="libraryStore.fileDialogVisible = false">取消</el-button>
|
<el-button @click="libraryStore.fileDialogVisible = false">取消</el-button>
|
||||||
<el-button type="primary" @click="submitForm(ruleFormRef)">确认</el-button>
|
<el-button type="primary" @click="previousClick" :disabled="activeStep === 1">上一步</el-button>
|
||||||
|
<el-button type="primary" @click="nextClick" :disabled="activeStep === 3">下一步</el-button>
|
||||||
|
<el-button type="primary" @click="submitForm()" :disabled="activeStep !== 3">确认</el-button>
|
||||||
</template>
|
</template>
|
||||||
</el-dialog>
|
</el-dialog>
|
||||||
</template>
|
</template>
|
||||||
@@ -71,13 +100,17 @@
|
|||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { ref } from 'vue'
|
import { ref } from 'vue'
|
||||||
import { useLibraryStore } from '@/stores/library.ts'
|
import { useLibraryStore } from '@/stores/library.ts'
|
||||||
import { ElMessage, type FormInstance, type UploadRequestOptions } from 'element-plus'
|
import { ElLoading, ElMessage, type FormInstance, type UploadRequestOptions } from 'element-plus'
|
||||||
import { UploadFilled } from '@element-plus/icons-vue'
|
import { Document, MagicStick, Upload, UploadFilled } from '@element-plus/icons-vue'
|
||||||
import axios from 'axios'
|
import axios from 'axios'
|
||||||
|
import { QuillEditor } from '@vueup/vue-quill'
|
||||||
|
import '@vueup/vue-quill/dist/vue-quill.snow.css'
|
||||||
|
|
||||||
const libraryStore = useLibraryStore()
|
const libraryStore = useLibraryStore()
|
||||||
|
|
||||||
const ruleFormRef = ref<FormInstance>()
|
const libraryFileFormRef = ref<FormInstance>()
|
||||||
|
const activeStep = ref(1)
|
||||||
|
const hasGenerate = ref(false)
|
||||||
|
|
||||||
const subjectOptions = ['中医学', '公务员']
|
const subjectOptions = ['中医学', '公务员']
|
||||||
|
|
||||||
@@ -90,15 +123,47 @@ const rules = {
|
|||||||
],
|
],
|
||||||
module: [
|
module: [
|
||||||
{ required: true, message: '请输入模块名称', trigger: 'blur' }
|
{ required: true, message: '请输入模块名称', trigger: 'blur' }
|
||||||
|
],
|
||||||
|
name: [
|
||||||
|
{ required: true, message: '请输入资料名称', trigger: 'blur' }
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const previousClick = () => {
|
||||||
|
if (activeStep.value > 1) {
|
||||||
|
activeStep.value--
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
const nextClick = async () => {
|
||||||
|
if (activeStep.value === 1) {
|
||||||
|
try {
|
||||||
|
await libraryFileFormRef.value?.validate()
|
||||||
|
} catch {
|
||||||
|
ElMessage.error('请先输入信息')
|
||||||
|
return
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (activeStep.value < 3) {
|
||||||
|
activeStep.value++
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
const upload = async (options: UploadRequestOptions) => {
|
const upload = async (options: UploadRequestOptions) => {
|
||||||
const { file } = options
|
const { file } = options
|
||||||
|
libraryStore.currentFile.size = file.size
|
||||||
|
libraryStore.currentFile.type = 'image'
|
||||||
|
|
||||||
const formData = new FormData()
|
const formData = new FormData()
|
||||||
formData.append('file', file)
|
formData.append('file', file)
|
||||||
|
|
||||||
|
const loading = ElLoading.service({
|
||||||
|
lock: true,
|
||||||
|
text: '文件上传中 请等待',
|
||||||
|
background: 'rgba(0, 0, 0, 0.7)'
|
||||||
|
})
|
||||||
|
|
||||||
try {
|
try {
|
||||||
const res = await axios.post('http://127.0.0.1:8000/upload', formData, {
|
const res = await axios.post('http://127.0.0.1:8000/upload', formData, {
|
||||||
headers: {
|
headers: {
|
||||||
@@ -107,9 +172,11 @@ const upload = async (options: UploadRequestOptions) => {
|
|||||||
})
|
})
|
||||||
ElMessage.success('上传成功')
|
ElMessage.success('上传成功')
|
||||||
fileContent.value = res.data.text
|
fileContent.value = res.data.text
|
||||||
} catch (err) {
|
} catch (error) {
|
||||||
ElMessage.error('上传失败')
|
console.log(error)
|
||||||
console.error(err)
|
ElMessage.error('上传失败 请联系管理员')
|
||||||
|
} finally {
|
||||||
|
loading.close()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -120,6 +187,13 @@ const generate = async () => {
|
|||||||
}
|
}
|
||||||
|
|
||||||
questionContent.value = ''
|
questionContent.value = ''
|
||||||
|
hasGenerate.value = false
|
||||||
|
|
||||||
|
const loading = ElLoading.service({
|
||||||
|
lock: true,
|
||||||
|
text: '题库生成中 请等待',
|
||||||
|
background: 'rgba(0, 0, 0, 0.7)'
|
||||||
|
})
|
||||||
|
|
||||||
try {
|
try {
|
||||||
const response = await fetch('http://127.0.0.1:8000/generate', {
|
const response = await fetch('http://127.0.0.1:8000/generate', {
|
||||||
@@ -146,24 +220,77 @@ const generate = async () => {
|
|||||||
}
|
}
|
||||||
|
|
||||||
ElMessage.success('生成完成')
|
ElMessage.success('生成完成')
|
||||||
} catch (err) {
|
hasGenerate.value = true
|
||||||
ElMessage.error('生成失败')
|
|
||||||
console.error(err)
|
libraryStore.currentFile.questions = JSON.parse(questionContent.value)
|
||||||
|
} catch (error) {
|
||||||
|
console.log(error)
|
||||||
|
ElMessage.error('生成失败 请联系管理员')
|
||||||
|
} finally {
|
||||||
|
loading.close()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
const submitForm = async (formEl: FormInstance | undefined) => {
|
const submitForm = async () => {
|
||||||
if (!formEl) return
|
if (libraryStore.currentFile.questions.length > 0) {
|
||||||
await formEl.validate((valid, fields) => {
|
const res = await axios.post('http://127.0.0.1:8000/files', libraryStore.currentFile, {
|
||||||
if (valid) {
|
headers: {
|
||||||
libraryStore.fileDialogVisible = false
|
'Content-Type': 'application/json'
|
||||||
} else {
|
|
||||||
console.log('请先输入信息')
|
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
} else {
|
||||||
|
ElMessage.error('请先生成题库')
|
||||||
|
}
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style lang="scss">
|
<style lang="scss">
|
||||||
|
.file-dialog {
|
||||||
|
.el-dialog__body {
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
gap: 16px;
|
||||||
|
|
||||||
|
.ql-container {
|
||||||
|
height: auto;
|
||||||
|
}
|
||||||
|
|
||||||
|
.generate-question {
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
gap: 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.question-list {
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
gap: 10px;
|
||||||
|
|
||||||
|
.question-card {
|
||||||
|
.el-card__body {
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
gap: 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.question-title {
|
||||||
|
font-weight: 600;
|
||||||
|
}
|
||||||
|
|
||||||
|
.question-options {
|
||||||
|
padding-left: 16px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.question-answer {
|
||||||
|
color: #67c23a;
|
||||||
|
font-size: 13px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.question-action {
|
||||||
|
text-align: right;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|||||||
@@ -9,7 +9,7 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="file-text">
|
<div class="file-text">
|
||||||
<div class="file-name">{{ file.name }}</div>
|
<div class="file-name">{{ file.name }}</div>
|
||||||
<div class="file-meta">{{ file.size }} · {{ file.time }}</div>
|
<div class="file-meta">{{ file.size }} · {{ file.uploadTime }}</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|||||||
@@ -59,13 +59,11 @@ export const useLibraryStore = defineStore('library', {
|
|||||||
subject: '中医学',
|
subject: '中医学',
|
||||||
module: '中医基础理疗',
|
module: '中医基础理疗',
|
||||||
name: '向量代数.pdf',
|
name: '向量代数.pdf',
|
||||||
size: '2.4 MB',
|
size: 2.4,
|
||||||
time: '2分钟前',
|
uploadTime: '2分钟前',
|
||||||
type: 'pdf',
|
type: 'pdf',
|
||||||
iconClass: 'icon-pdf',
|
|
||||||
questions: [
|
questions: [
|
||||||
{ type: '选择题', stem: '设 a=(1,2,3), b=(2,-1,1),求 a·b = ?', options: ['A. 3', 'B. 5', 'C. 7', 'D. 9'], answer: 'A' },
|
{ id: 1, type: 'single', question: '设 a=(1,2,3), b=(2,-1,1),求 a·b = ?', options: ['A. 3', 'B. 5', 'C. 7', 'D. 9'], answer: ['A'] }
|
||||||
{ type: '计算题', stem: '求过点 P(1,0,2) 且法向量为 n=(2,1,-1) 的平面方程', answer: '2x + y - z = 0' }
|
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -73,23 +71,23 @@ export const useLibraryStore = defineStore('library', {
|
|||||||
subject: '中医学',
|
subject: '中医学',
|
||||||
module: '中医基础理疗',
|
module: '中医基础理疗',
|
||||||
name: '向量代数精讲.png',
|
name: '向量代数精讲.png',
|
||||||
size: '156 MB',
|
size: 156,
|
||||||
time: '3小时前',
|
uploadTime: '3小时前',
|
||||||
type: 'image',
|
type: 'image',
|
||||||
iconClass: 'icon-image'
|
questions: []
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
getEmptyFile(): ILibraryFile {
|
getEmptyFile(): ILibraryFile {
|
||||||
return {
|
return {
|
||||||
iconClass: '',
|
|
||||||
id: 0,
|
id: 0,
|
||||||
module: '',
|
module: '',
|
||||||
name: '',
|
name: '',
|
||||||
size: '',
|
size: 0,
|
||||||
subject: '',
|
subject: '',
|
||||||
time: '',
|
uploadTime: '',
|
||||||
type: ''
|
type: '',
|
||||||
|
questions: []
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
17
src/styles/common.module.scss
Normal file
17
src/styles/common.module.scss
Normal file
@@ -0,0 +1,17 @@
|
|||||||
|
.common-view {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
.common-dialog {
|
||||||
|
--el-dialog-margin-top: 0 !important;
|
||||||
|
margin: 0 auto !important;
|
||||||
|
height: 100vh;
|
||||||
|
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
|
||||||
|
.el-dialog__body {
|
||||||
|
flex-grow: 1;
|
||||||
|
overflow: auto;
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -5,10 +5,11 @@ export interface ITreeNode {
|
|||||||
}
|
}
|
||||||
|
|
||||||
export interface ILibraryFileQuestion {
|
export interface ILibraryFileQuestion {
|
||||||
|
id: number;
|
||||||
type: string;
|
type: string;
|
||||||
stem: string;
|
question: string;
|
||||||
options?: string[];
|
options: string[];
|
||||||
answer: string;
|
answer: string[];
|
||||||
}
|
}
|
||||||
|
|
||||||
export interface ILibraryFile {
|
export interface ILibraryFile {
|
||||||
@@ -16,9 +17,8 @@ export interface ILibraryFile {
|
|||||||
subject: string;
|
subject: string;
|
||||||
module: string;
|
module: string;
|
||||||
name: string;
|
name: string;
|
||||||
size: string;
|
size: number;
|
||||||
time: string;
|
uploadTime: string;
|
||||||
type: string;
|
type: string;
|
||||||
iconClass: string;
|
questions: ILibraryFileQuestion[];
|
||||||
questions?: ILibraryFileQuestion[];
|
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user