提交 6e6de54a authored 作者: 王鹏飞's avatar 王鹏飞

feat: 新增知识日历

上级 53f9703c
...@@ -15,31 +15,31 @@ ...@@ -15,31 +15,31 @@
"dependencies": { "dependencies": {
"@element-plus/icons-vue": "^1.1.4", "@element-plus/icons-vue": "^1.1.4",
"@tinymce/tinymce-vue": "^5.0.0", "@tinymce/tinymce-vue": "^5.0.0",
"axios": "^0.27.1", "axios": "^0.27.2",
"blueimp-md5": "^2.19.0", "blueimp-md5": "^2.19.0",
"element-plus": "^2.1.11", "element-plus": "^2.2.0",
"pinia": "^2.0.13", "pinia": "^2.0.14",
"qs": "^6.10.3", "qs": "^6.10.3",
"sass": "^1.51.0", "sass": "^1.51.0",
"vue": "^3.2.33", "vue": "^3.2.33",
"vue-router": "^4.0.14" "vue-router": "^4.0.15"
}, },
"devDependencies": { "devDependencies": {
"@rushstack/eslint-patch": "^1.1.3", "@rushstack/eslint-patch": "^1.1.3",
"@types/blueimp-md5": "^2.18.0", "@types/blueimp-md5": "^2.18.0",
"@types/node": "^17.0.29", "@types/node": "^17.0.33",
"@types/qs": "^6.9.7", "@types/qs": "^6.9.7",
"@vitejs/plugin-vue": "^2.3.1", "@vitejs/plugin-vue": "^2.3.3",
"@vue/eslint-config-typescript": "^10.0.0", "@vue/eslint-config-typescript": "^10.0.0",
"@vue/tsconfig": "^0.1.3", "@vue/tsconfig": "^0.1.3",
"ali-oss": "^6.17.1", "ali-oss": "^6.17.1",
"chalk": "^5.0.1", "chalk": "^5.0.1",
"eslint": "^8.14.0", "eslint": "^8.14.0",
"eslint-plugin-vue": "^8.7.1", "eslint-plugin-vue": "^8.7.1",
"typescript": "~4.6.3", "typescript": "~4.6.4",
"unplugin-auto-import": "^0.7.1", "unplugin-auto-import": "^0.7.1",
"vite": "^2.9.6", "vite": "^2.9.9",
"vite-plugin-checker": "^0.4.6", "vite-plugin-checker": "^0.4.6",
"vue-tsc": "^0.34.10" "vue-tsc": "^0.34.13"
} }
} }
lockfileVersion: 5.3 lockfileVersion: 5.4
specifiers: specifiers:
'@element-plus/icons-vue': ^1.1.4 '@element-plus/icons-vue': ^1.1.4
'@rushstack/eslint-patch': ^1.1.3 '@rushstack/eslint-patch': ^1.1.3
'@tinymce/tinymce-vue': ^5.0.0 '@tinymce/tinymce-vue': ^5.0.0
'@types/blueimp-md5': ^2.18.0 '@types/blueimp-md5': ^2.18.0
'@types/node': ^17.0.29 '@types/node': ^17.0.33
'@types/qs': ^6.9.7 '@types/qs': ^6.9.7
'@vitejs/plugin-vue': ^2.3.1 '@vitejs/plugin-vue': ^2.3.3
'@vue/eslint-config-typescript': ^10.0.0 '@vue/eslint-config-typescript': ^10.0.0
'@vue/tsconfig': ^0.1.3 '@vue/tsconfig': ^0.1.3
ali-oss: ^6.17.1 ali-oss: ^6.17.1
axios: ^0.27.1 axios: ^0.27.2
blueimp-md5: ^2.19.0 blueimp-md5: ^2.19.0
chalk: ^5.0.1 chalk: ^5.0.1
element-plus: ^2.1.11 element-plus: ^2.2.0
eslint: ^8.14.0 eslint: ^8.14.0
eslint-plugin-vue: ^8.7.1 eslint-plugin-vue: ^8.7.1
pinia: ^2.0.13 pinia: ^2.0.14
qs: ^6.10.3 qs: ^6.10.3
sass: ^1.51.0 sass: ^1.51.0
typescript: ~4.6.3 typescript: ~4.6.4
unplugin-auto-import: ^0.7.1 unplugin-auto-import: ^0.7.1
vite: ^2.9.6 vite: ^2.9.9
vite-plugin-checker: ^0.4.6 vite-plugin-checker: ^0.4.6
vue: ^3.2.33 vue: ^3.2.33
vue-router: ^4.0.14 vue-router: ^4.0.15
vue-tsc: ^0.34.10 vue-tsc: ^0.34.13
dependencies: dependencies:
'@element-plus/icons-vue': 1.1.4_vue@3.2.33 '@element-plus/icons-vue': 1.1.4_vue@3.2.33
'@tinymce/tinymce-vue': 5.0.0_vue@3.2.33 '@tinymce/tinymce-vue': 5.0.0_vue@3.2.33
axios: 0.27.1 axios: 0.27.2
blueimp-md5: 2.19.0 blueimp-md5: 2.19.0
element-plus: 2.1.11_vue@3.2.33 element-plus: 2.2.0_vue@3.2.33
pinia: 2.0.13_typescript@4.6.3+vue@3.2.33 pinia: 2.0.14_ytvqwwdyss532bvoq2clv4ed5m
qs: 6.10.3 qs: 6.10.3
sass: 1.51.0 sass: 1.51.0
vue: 3.2.33 vue: 3.2.33
vue-router: 4.0.14_vue@3.2.33 vue-router: 4.0.15_vue@3.2.33
devDependencies: devDependencies:
'@rushstack/eslint-patch': 1.1.3 '@rushstack/eslint-patch': 1.1.3
'@types/blueimp-md5': 2.18.0 '@types/blueimp-md5': 2.18.0
'@types/node': 17.0.29 '@types/node': 17.0.33
'@types/qs': 6.9.7 '@types/qs': 6.9.7
'@vitejs/plugin-vue': 2.3.1_vite@2.9.6+vue@3.2.33 '@vitejs/plugin-vue': 2.3.3_vite@2.9.9+vue@3.2.33
'@vue/eslint-config-typescript': 10.0.0_f5d04023b0e9c1203fb3ac493367e3ca '@vue/eslint-config-typescript': 10.0.0_ywt6hnycbgkkmd3ofvn7w5wgkm
'@vue/tsconfig': 0.1.3_@types+node@17.0.29 '@vue/tsconfig': 0.1.3_@types+node@17.0.33
ali-oss: 6.17.1 ali-oss: 6.17.1
chalk: 5.0.1 chalk: 5.0.1
eslint: 8.14.0 eslint: 8.14.0
eslint-plugin-vue: 8.7.1_eslint@8.14.0 eslint-plugin-vue: 8.7.1_eslint@8.14.0
typescript: 4.6.3 typescript: 4.6.4
unplugin-auto-import: 0.7.1_vite@2.9.6 unplugin-auto-import: 0.7.1_vite@2.9.9
vite: 2.9.6_sass@1.51.0 vite: 2.9.9_sass@1.51.0
vite-plugin-checker: 0.4.6_vite@2.9.6 vite-plugin-checker: 0.4.6_vite@2.9.9
vue-tsc: 0.34.10_typescript@4.6.3 vue-tsc: 0.34.13_typescript@4.6.4
packages: packages:
...@@ -74,7 +74,6 @@ packages: ...@@ -74,7 +74,6 @@ packages:
/@babel/helper-validator-identifier/7.16.7: /@babel/helper-validator-identifier/7.16.7:
resolution: {integrity: sha512-hsEnFemeiW4D08A5gUAZxLBTXpZ39P+a+DGDsHw1yxqyQ/jzFEnxf5uTEGp+3bzAbNOxU1paTgYS4ECU/IgfDw==} resolution: {integrity: sha512-hsEnFemeiW4D08A5gUAZxLBTXpZ39P+a+DGDsHw1yxqyQ/jzFEnxf5uTEGp+3bzAbNOxU1paTgYS4ECU/IgfDw==}
engines: {node: '>=6.9.0'} engines: {node: '>=6.9.0'}
dev: true
/@babel/highlight/7.17.9: /@babel/highlight/7.17.9:
resolution: {integrity: sha512-J9PfEKCbFIv2X5bjTMiZu6Vf341N05QIY+d6FvVKynkG1S7G0j3I0QoRtWIrXhZ+/Nlb5Q0MzqL7TokEJ5BNHg==} resolution: {integrity: sha512-J9PfEKCbFIv2X5bjTMiZu6Vf341N05QIY+d6FvVKynkG1S7G0j3I0QoRtWIrXhZ+/Nlb5Q0MzqL7TokEJ5BNHg==}
...@@ -89,6 +88,15 @@ packages: ...@@ -89,6 +88,15 @@ packages:
resolution: {integrity: sha512-vqUSBLP8dQHFPdPi9bc5GK9vRkYHJ49fsZdtoJ8EQ8ibpwk5rPKfvNIwChB0KVXcIjcepEBBd2VHC5r9Gy8ueg==} resolution: {integrity: sha512-vqUSBLP8dQHFPdPi9bc5GK9vRkYHJ49fsZdtoJ8EQ8ibpwk5rPKfvNIwChB0KVXcIjcepEBBd2VHC5r9Gy8ueg==}
engines: {node: '>=6.0.0'} engines: {node: '>=6.0.0'}
hasBin: true hasBin: true
dependencies:
'@babel/types': 7.17.10
/@babel/types/7.17.10:
resolution: {integrity: sha512-9O26jG0mBYfGkUYCYZRnBwbVLd1UZOICEr2Em6InB6jVfsAv1GKgwXHmrSg+WFWDmeKTA6vyTZiN8tCSM5Oo3A==}
engines: {node: '>=6.9.0'}
dependencies:
'@babel/helper-validator-identifier': 7.16.7
to-fast-properties: 2.0.0
/@ctrl/tinycolor/3.4.1: /@ctrl/tinycolor/3.4.1:
resolution: {integrity: sha512-ej5oVy6lykXsvieQtqZxCOaLT+xD4+QNarq78cIYISHmZXshCvROLudpQN3lfL8G0NL7plMSSK+zlyvCaIJ4Iw==} resolution: {integrity: sha512-ej5oVy6lykXsvieQtqZxCOaLT+xD4+QNarq78cIYISHmZXshCvROLudpQN3lfL8G0NL7plMSSK+zlyvCaIJ4Iw==}
...@@ -214,15 +222,15 @@ packages: ...@@ -214,15 +222,15 @@ packages:
resolution: {integrity: sha512-/THyiqyQAP9AfARo4pF+aCGcyiQ94tX/Is2I7HofNRqoYLgN1PBoOWu2/zTA5zMxzP5EFutMtWtGAFRKUe961Q==} resolution: {integrity: sha512-/THyiqyQAP9AfARo4pF+aCGcyiQ94tX/Is2I7HofNRqoYLgN1PBoOWu2/zTA5zMxzP5EFutMtWtGAFRKUe961Q==}
dev: false dev: false
/@types/node/17.0.29: /@types/node/17.0.33:
resolution: {integrity: sha512-tx5jMmMFwx7wBwq/V7OohKDVb/JwJU5qCVkeLMh1//xycAJ/ESuw9aJ9SEtlCZDYi2pBfe4JkisSoAtbOsBNAA==} resolution: {integrity: sha512-miWq2m2FiQZmaHfdZNcbpp9PuXg34W5JZ5CrJ/BaS70VuhoJENBEQybeiYSaPBRNq6KQGnjfEnc/F3PN++D+XQ==}
dev: true dev: true
/@types/qs/6.9.7: /@types/qs/6.9.7:
resolution: {integrity: sha512-FGa1F62FT09qcrueBA6qYTrJPVDzah9a+493+o2PCXsesWHIn27G98TsSMs3WPNbZIEj4+VJf6saSFpvD+3Zsw==} resolution: {integrity: sha512-FGa1F62FT09qcrueBA6qYTrJPVDzah9a+493+o2PCXsesWHIn27G98TsSMs3WPNbZIEj4+VJf6saSFpvD+3Zsw==}
dev: true dev: true
/@typescript-eslint/eslint-plugin/5.19.0_851e4194b2dcd49c3bd3bab657985903: /@typescript-eslint/eslint-plugin/5.19.0_gc5msd4pmqm2gy2gcaxbbh2wfa:
resolution: {integrity: sha512-w59GpFqDYGnWFim9p6TGJz7a3qWeENJuAKCqjGSx+Hq/bwq3RZwXYqy98KIfN85yDqz9mq6QXiY5h0FjGQLyEg==} resolution: {integrity: sha512-w59GpFqDYGnWFim9p6TGJz7a3qWeENJuAKCqjGSx+Hq/bwq3RZwXYqy98KIfN85yDqz9mq6QXiY5h0FjGQLyEg==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
peerDependencies: peerDependencies:
...@@ -233,23 +241,23 @@ packages: ...@@ -233,23 +241,23 @@ packages:
typescript: typescript:
optional: true optional: true
dependencies: dependencies:
'@typescript-eslint/parser': 5.19.0_eslint@8.14.0+typescript@4.6.3 '@typescript-eslint/parser': 5.19.0_t725usgvqspm5woeqpaxbfp2qu
'@typescript-eslint/scope-manager': 5.19.0 '@typescript-eslint/scope-manager': 5.19.0
'@typescript-eslint/type-utils': 5.19.0_eslint@8.14.0+typescript@4.6.3 '@typescript-eslint/type-utils': 5.19.0_t725usgvqspm5woeqpaxbfp2qu
'@typescript-eslint/utils': 5.19.0_eslint@8.14.0+typescript@4.6.3 '@typescript-eslint/utils': 5.19.0_t725usgvqspm5woeqpaxbfp2qu
debug: 4.3.4 debug: 4.3.4
eslint: 8.14.0 eslint: 8.14.0
functional-red-black-tree: 1.0.1 functional-red-black-tree: 1.0.1
ignore: 5.2.0 ignore: 5.2.0
regexpp: 3.2.0 regexpp: 3.2.0
semver: 7.3.7 semver: 7.3.7
tsutils: 3.21.0_typescript@4.6.3 tsutils: 3.21.0_typescript@4.6.4
typescript: 4.6.3 typescript: 4.6.4
transitivePeerDependencies: transitivePeerDependencies:
- supports-color - supports-color
dev: true dev: true
/@typescript-eslint/parser/5.19.0_eslint@8.14.0+typescript@4.6.3: /@typescript-eslint/parser/5.19.0_t725usgvqspm5woeqpaxbfp2qu:
resolution: {integrity: sha512-yhktJjMCJX8BSBczh1F/uY8wGRYrBeyn84kH6oyqdIJwTGKmzX5Qiq49LRQ0Jh0LXnWijEziSo6BRqny8nqLVQ==} resolution: {integrity: sha512-yhktJjMCJX8BSBczh1F/uY8wGRYrBeyn84kH6oyqdIJwTGKmzX5Qiq49LRQ0Jh0LXnWijEziSo6BRqny8nqLVQ==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
peerDependencies: peerDependencies:
...@@ -261,10 +269,10 @@ packages: ...@@ -261,10 +269,10 @@ packages:
dependencies: dependencies:
'@typescript-eslint/scope-manager': 5.19.0 '@typescript-eslint/scope-manager': 5.19.0
'@typescript-eslint/types': 5.19.0 '@typescript-eslint/types': 5.19.0
'@typescript-eslint/typescript-estree': 5.19.0_typescript@4.6.3 '@typescript-eslint/typescript-estree': 5.19.0_typescript@4.6.4
debug: 4.3.4 debug: 4.3.4
eslint: 8.14.0 eslint: 8.14.0
typescript: 4.6.3 typescript: 4.6.4
transitivePeerDependencies: transitivePeerDependencies:
- supports-color - supports-color
dev: true dev: true
...@@ -277,7 +285,7 @@ packages: ...@@ -277,7 +285,7 @@ packages:
'@typescript-eslint/visitor-keys': 5.19.0 '@typescript-eslint/visitor-keys': 5.19.0
dev: true dev: true
/@typescript-eslint/type-utils/5.19.0_eslint@8.14.0+typescript@4.6.3: /@typescript-eslint/type-utils/5.19.0_t725usgvqspm5woeqpaxbfp2qu:
resolution: {integrity: sha512-O6XQ4RI4rQcBGshTQAYBUIGsKqrKeuIOz9v8bckXZnSeXjn/1+BDZndHLe10UplQeJLXDNbaZYrAytKNQO2T4Q==} resolution: {integrity: sha512-O6XQ4RI4rQcBGshTQAYBUIGsKqrKeuIOz9v8bckXZnSeXjn/1+BDZndHLe10UplQeJLXDNbaZYrAytKNQO2T4Q==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
peerDependencies: peerDependencies:
...@@ -287,11 +295,11 @@ packages: ...@@ -287,11 +295,11 @@ packages:
typescript: typescript:
optional: true optional: true
dependencies: dependencies:
'@typescript-eslint/utils': 5.19.0_eslint@8.14.0+typescript@4.6.3 '@typescript-eslint/utils': 5.19.0_t725usgvqspm5woeqpaxbfp2qu
debug: 4.3.4 debug: 4.3.4
eslint: 8.14.0 eslint: 8.14.0
tsutils: 3.21.0_typescript@4.6.3 tsutils: 3.21.0_typescript@4.6.4
typescript: 4.6.3 typescript: 4.6.4
transitivePeerDependencies: transitivePeerDependencies:
- supports-color - supports-color
dev: true dev: true
...@@ -301,7 +309,7 @@ packages: ...@@ -301,7 +309,7 @@ packages:
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
dev: true dev: true
/@typescript-eslint/typescript-estree/5.19.0_typescript@4.6.3: /@typescript-eslint/typescript-estree/5.19.0_typescript@4.6.4:
resolution: {integrity: sha512-dRPuD4ocXdaE1BM/dNR21elSEUPKaWgowCA0bqJ6YbYkvtrPVEvZ+zqcX5a8ECYn3q5iBSSUcBBD42ubaOp0Hw==} resolution: {integrity: sha512-dRPuD4ocXdaE1BM/dNR21elSEUPKaWgowCA0bqJ6YbYkvtrPVEvZ+zqcX5a8ECYn3q5iBSSUcBBD42ubaOp0Hw==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
peerDependencies: peerDependencies:
...@@ -316,13 +324,13 @@ packages: ...@@ -316,13 +324,13 @@ packages:
globby: 11.1.0 globby: 11.1.0
is-glob: 4.0.3 is-glob: 4.0.3
semver: 7.3.7 semver: 7.3.7
tsutils: 3.21.0_typescript@4.6.3 tsutils: 3.21.0_typescript@4.6.4
typescript: 4.6.3 typescript: 4.6.4
transitivePeerDependencies: transitivePeerDependencies:
- supports-color - supports-color
dev: true dev: true
/@typescript-eslint/utils/5.19.0_eslint@8.14.0+typescript@4.6.3: /@typescript-eslint/utils/5.19.0_t725usgvqspm5woeqpaxbfp2qu:
resolution: {integrity: sha512-ZuEckdupXpXamKvFz/Ql8YnePh2ZWcwz7APICzJL985Rp5C2AYcHO62oJzIqNhAMtMK6XvrlBTZeNG8n7gS3lQ==} resolution: {integrity: sha512-ZuEckdupXpXamKvFz/Ql8YnePh2ZWcwz7APICzJL985Rp5C2AYcHO62oJzIqNhAMtMK6XvrlBTZeNG8n7gS3lQ==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
peerDependencies: peerDependencies:
...@@ -331,7 +339,7 @@ packages: ...@@ -331,7 +339,7 @@ packages:
'@types/json-schema': 7.0.11 '@types/json-schema': 7.0.11
'@typescript-eslint/scope-manager': 5.19.0 '@typescript-eslint/scope-manager': 5.19.0
'@typescript-eslint/types': 5.19.0 '@typescript-eslint/types': 5.19.0
'@typescript-eslint/typescript-estree': 5.19.0_typescript@4.6.3 '@typescript-eslint/typescript-estree': 5.19.0_typescript@4.6.4
eslint: 8.14.0 eslint: 8.14.0
eslint-scope: 5.1.1 eslint-scope: 5.1.1
eslint-utils: 3.0.0_eslint@8.14.0 eslint-utils: 3.0.0_eslint@8.14.0
...@@ -348,43 +356,43 @@ packages: ...@@ -348,43 +356,43 @@ packages:
eslint-visitor-keys: 3.3.0 eslint-visitor-keys: 3.3.0
dev: true dev: true
/@vitejs/plugin-vue/2.3.1_vite@2.9.6+vue@3.2.33: /@vitejs/plugin-vue/2.3.3_vite@2.9.9+vue@3.2.33:
resolution: {integrity: sha512-YNzBt8+jt6bSwpt7LP890U1UcTOIZZxfpE5WOJ638PNxSEKOqAi0+FSKS0nVeukfdZ0Ai/H7AFd6k3hayfGZqQ==} resolution: {integrity: sha512-SmQLDyhz+6lGJhPELsBdzXGc+AcaT8stgkbiTFGpXPe8Tl1tJaBw1A6pxDqDuRsVkD8uscrkx3hA7QDOoKYtyw==}
engines: {node: '>=12.0.0'} engines: {node: '>=12.0.0'}
peerDependencies: peerDependencies:
vite: ^2.5.10 vite: ^2.5.10
vue: ^3.2.25 vue: ^3.2.25
dependencies: dependencies:
vite: 2.9.6_sass@1.51.0 vite: 2.9.9_sass@1.51.0
vue: 3.2.33 vue: 3.2.33
dev: true dev: true
/@volar/code-gen/0.34.10: /@volar/code-gen/0.34.13:
resolution: {integrity: sha512-Pygl26uA4CuQcDgNndeTSNOYF+NbShcV+rwWRy/nRNv1JB++1EbaQ60/ti8c5zTRoL4a8OtipKMq9Sw8LzpRIw==} resolution: {integrity: sha512-FO1jC3aB514Ydg0yX3Usx+s/hwnKhDI9yfcEuCyJvWLZtcc+DOrWJu4G0MMLG6AdRvn5UbSyec/g5TnevYfY1g==}
dependencies: dependencies:
'@volar/source-map': 0.34.10 '@volar/source-map': 0.34.13
dev: true dev: true
/@volar/source-map/0.34.10: /@volar/source-map/0.34.13:
resolution: {integrity: sha512-DBSUGNJB2B08U6Ut14ZJSEOcBS7eV/aiinhoLbMrEe/HJtZRcnPuyE8f0c2BvmRM2LK8WQx77V54/lw/Ra8WDA==} resolution: {integrity: sha512-Cb9rqhA00Q1tgqr2XjckMqlOJlozaBd6R4PndsvTRkGHTwdlv63CvunJGdAh6dXOIDZRKvhplfIJDKS9nDiIIA==}
dev: true dev: true
/@volar/vue-code-gen/0.34.10: /@volar/vue-code-gen/0.34.13:
resolution: {integrity: sha512-oK5gat5AHllSMJzY+UMbttJvAjoUGzicXxLHoIwb6DTHpfcf2pADYUndiw5kSYHo+2Xd/+U1c9D8FUOJ+JHAFw==} resolution: {integrity: sha512-rNuxyKmv+NW+SbQx6Hx6oQrkAtk7LWc47fiKKt0LZhNPQaNGj7/zhTvpe+aLFCDZw+a6rrH622qi+eovOOAnBA==}
dependencies: dependencies:
'@volar/code-gen': 0.34.10 '@volar/code-gen': 0.34.13
'@volar/source-map': 0.34.10 '@volar/source-map': 0.34.13
'@vue/compiler-core': 3.2.33 '@vue/compiler-core': 3.2.33
'@vue/compiler-dom': 3.2.33 '@vue/compiler-dom': 3.2.33
'@vue/shared': 3.2.33 '@vue/shared': 3.2.33
dev: true dev: true
/@volar/vue-typescript/0.34.10: /@volar/vue-typescript/0.34.13:
resolution: {integrity: sha512-FCGSqLC+T/AcBUFXoFniPKLa/fLslBuHsepUmId8dG5ROXZhQaJ5h4fkA87247SWb7z4o9mI6v86xevXEjRVKw==} resolution: {integrity: sha512-vfZngBr0fkZSA5BajA8VLTsao7ZES7j5pHch6xV5vjjcuK6GIbxytQjKPq20Q34DMUrvgI6g30yULAc6zSB4rQ==}
dependencies: dependencies:
'@volar/code-gen': 0.34.10 '@volar/code-gen': 0.34.13
'@volar/source-map': 0.34.10 '@volar/source-map': 0.34.13
'@volar/vue-code-gen': 0.34.10 '@volar/vue-code-gen': 0.34.13
'@vue/compiler-sfc': 3.2.33 '@vue/compiler-sfc': 3.2.33
'@vue/reactivity': 3.2.33 '@vue/reactivity': 3.2.33
dev: true dev: true
...@@ -427,21 +435,25 @@ packages: ...@@ -427,21 +435,25 @@ packages:
resolution: {integrity: sha512-IiA0SvDrJEgXvVxjNkHPFfDx6SXw0b/TUkqMcDZWNg9fnCAHbTpoo59YfJ9QLFkwa3raau5vSlRVzMSLDnfdtQ==} resolution: {integrity: sha512-IiA0SvDrJEgXvVxjNkHPFfDx6SXw0b/TUkqMcDZWNg9fnCAHbTpoo59YfJ9QLFkwa3raau5vSlRVzMSLDnfdtQ==}
dev: false dev: false
/@vue/eslint-config-typescript/10.0.0_f5d04023b0e9c1203fb3ac493367e3ca: /@vue/eslint-config-typescript/10.0.0_ywt6hnycbgkkmd3ofvn7w5wgkm:
resolution: {integrity: sha512-F94cL8ug3FaYXlCfU5/wiGjk1qeadmoBpRGAOBq+qre3Smdupa59dd6ZJrsfRODpsMPyTG7330juMDsUvpZ3Rw==} resolution: {integrity: sha512-F94cL8ug3FaYXlCfU5/wiGjk1qeadmoBpRGAOBq+qre3Smdupa59dd6ZJrsfRODpsMPyTG7330juMDsUvpZ3Rw==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
peerDependencies: peerDependencies:
eslint: ^6.2.0 || ^7.0.0 || ^8.0.0 eslint: ^6.2.0 || ^7.0.0 || ^8.0.0
eslint-plugin-vue: ^8.0.1 eslint-plugin-vue: ^8.0.1
typescript: '*'
peerDependenciesMeta:
typescript:
optional: true
dependencies: dependencies:
'@typescript-eslint/eslint-plugin': 5.19.0_851e4194b2dcd49c3bd3bab657985903 '@typescript-eslint/eslint-plugin': 5.19.0_gc5msd4pmqm2gy2gcaxbbh2wfa
'@typescript-eslint/parser': 5.19.0_eslint@8.14.0+typescript@4.6.3 '@typescript-eslint/parser': 5.19.0_t725usgvqspm5woeqpaxbfp2qu
eslint: 8.14.0 eslint: 8.14.0
eslint-plugin-vue: 8.7.1_eslint@8.14.0 eslint-plugin-vue: 8.7.1_eslint@8.14.0
typescript: 4.6.4
vue-eslint-parser: 8.3.0_eslint@8.14.0 vue-eslint-parser: 8.3.0_eslint@8.14.0
transitivePeerDependencies: transitivePeerDependencies:
- supports-color - supports-color
- typescript
dev: true dev: true
/@vue/reactivity-transform/3.2.33: /@vue/reactivity-transform/3.2.33:
...@@ -486,7 +498,7 @@ packages: ...@@ -486,7 +498,7 @@ packages:
/@vue/shared/3.2.33: /@vue/shared/3.2.33:
resolution: {integrity: sha512-UBc1Pg1T3yZ97vsA2ueER0F6GbJebLHYlEi4ou1H5YL4KWvMOOWwpYo9/QpWq93wxKG6Wo13IY74Hcn/f7c7Bg==} resolution: {integrity: sha512-UBc1Pg1T3yZ97vsA2ueER0F6GbJebLHYlEi4ou1H5YL4KWvMOOWwpYo9/QpWq93wxKG6Wo13IY74Hcn/f7c7Bg==}
/@vue/tsconfig/0.1.3_@types+node@17.0.29: /@vue/tsconfig/0.1.3_@types+node@17.0.33:
resolution: {integrity: sha512-kQVsh8yyWPvHpb8gIc9l/HIDiiVUy1amynLNpCy8p+FoCiZXCo6fQos5/097MmnNZc9AtseDsCrfkhqCrJ8Olg==} resolution: {integrity: sha512-kQVsh8yyWPvHpb8gIc9l/HIDiiVUy1amynLNpCy8p+FoCiZXCo6fQos5/097MmnNZc9AtseDsCrfkhqCrJ8Olg==}
peerDependencies: peerDependencies:
'@types/node': '*' '@types/node': '*'
...@@ -494,7 +506,7 @@ packages: ...@@ -494,7 +506,7 @@ packages:
'@types/node': '@types/node':
optional: true optional: true
dependencies: dependencies:
'@types/node': 17.0.29 '@types/node': 17.0.33
dev: true dev: true
/@vueuse/core/8.2.6_vue@3.2.33: /@vueuse/core/8.2.6_vue@3.2.33:
...@@ -675,8 +687,8 @@ packages: ...@@ -675,8 +687,8 @@ packages:
resolution: {integrity: sha1-x57Zf380y48robyXkLzDZkdLS3k=} resolution: {integrity: sha1-x57Zf380y48robyXkLzDZkdLS3k=}
dev: false dev: false
/axios/0.27.1: /axios/0.27.2:
resolution: {integrity: sha512-ePNMai55xo5GsXajb/k756AqZqpqeDaGwGcdvbZLSSELbbYwsIn2jNmGfUPEwd8j/yu4OoMstLLIVa4t0MneEA==} resolution: {integrity: sha512-t+yRIyySRTp/wua5xEr+z1q60QmLq8ABsS5O9Me1AsE5dfKqgnCFzwiCZZ/cGNd1lq4/7akDWMxdhVlucjmnOQ==}
dependencies: dependencies:
follow-redirects: 1.14.9 follow-redirects: 1.14.9
form-data: 4.0.0 form-data: 4.0.0
...@@ -857,6 +869,11 @@ packages: ...@@ -857,6 +869,11 @@ packages:
/debug/2.6.9: /debug/2.6.9:
resolution: {integrity: sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==} resolution: {integrity: sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==}
peerDependencies:
supports-color: '*'
peerDependenciesMeta:
supports-color:
optional: true
dependencies: dependencies:
ms: 2.0.0 ms: 2.0.0
dev: true dev: true
...@@ -934,8 +951,8 @@ packages: ...@@ -934,8 +951,8 @@ packages:
resolution: {integrity: sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=} resolution: {integrity: sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=}
dev: true dev: true
/element-plus/2.1.11_vue@3.2.33: /element-plus/2.2.0_vue@3.2.33:
resolution: {integrity: sha512-s4X0I8s787tv+9UdekBC1g7v42Fj4bucPAmu03EjbgrGrV7BJvkoBGuK52lNfu4yC76bl6Uyjesd5Fu8CMakSw==} resolution: {integrity: sha512-zxmAFEAa1T/n09rR+NozXcWl5CjaFtqoaxhFSafag0dgc90tgEHitDXfegdFAl4ahugdNTqu9aLzngx3VhDAtA==}
peerDependencies: peerDependencies:
vue: ^3.2.0 vue: ^3.2.0
dependencies: dependencies:
...@@ -951,7 +968,7 @@ packages: ...@@ -951,7 +968,7 @@ packages:
escape-html: 1.0.3 escape-html: 1.0.3
lodash: 4.17.21 lodash: 4.17.21
lodash-es: 4.17.21 lodash-es: 4.17.21
lodash-unified: 1.0.2_da03a4540fbd16bbaafbb96724306afd lodash-unified: 1.0.2_3ib2ivapxullxkx3xftsimdk7u
memoize-one: 6.0.0 memoize-one: 6.0.0
normalize-wheel-es: 1.1.2 normalize-wheel-es: 1.1.2
vue: 3.2.33 vue: 3.2.33
...@@ -1773,7 +1790,7 @@ packages: ...@@ -1773,7 +1790,7 @@ packages:
resolution: {integrity: sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==} resolution: {integrity: sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==}
dev: false dev: false
/lodash-unified/1.0.2_da03a4540fbd16bbaafbb96724306afd: /lodash-unified/1.0.2_3ib2ivapxullxkx3xftsimdk7u:
resolution: {integrity: sha512-OGbEy+1P+UT26CYi4opY4gebD8cWRDxAT6MAObIVQMiqYdxZr1g3QHWCToVsm31x2NkLS4K3+MC2qInaRMa39g==} resolution: {integrity: sha512-OGbEy+1P+UT26CYi4opY4gebD8cWRDxAT6MAObIVQMiqYdxZr1g3QHWCToVsm31x2NkLS4K3+MC2qInaRMa39g==}
peerDependencies: peerDependencies:
'@types/lodash-es': '*' '@types/lodash-es': '*'
...@@ -1913,6 +1930,12 @@ packages: ...@@ -1913,6 +1930,12 @@ packages:
engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1}
hasBin: true hasBin: true
/nanoid/3.3.4:
resolution: {integrity: sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==}
engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1}
hasBin: true
dev: true
/natural-compare/1.4.0: /natural-compare/1.4.0:
resolution: {integrity: sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=} resolution: {integrity: sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=}
dev: true dev: true
...@@ -2063,8 +2086,8 @@ packages: ...@@ -2063,8 +2086,8 @@ packages:
resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==}
engines: {node: '>=8.6'} engines: {node: '>=8.6'}
/pinia/2.0.13_typescript@4.6.3+vue@3.2.33: /pinia/2.0.14_ytvqwwdyss532bvoq2clv4ed5m:
resolution: {integrity: sha512-B7rSqm1xNpwcPMnqns8/gVBfbbi7lWTByzS6aPZ4JOXSJD4Y531rZHDCoYWBwLyHY/8hWnXljgiXp6rRyrofcw==} resolution: {integrity: sha512-0nPuZR4TetT/WcLN+feMSjWJku3SQU7dBbXC6uw+R6FLQJCsg+/0pzXyD82T1FmAYe0lsx+jnEDQ1BLgkRKlxA==}
peerDependencies: peerDependencies:
'@vue/composition-api': ^1.4.0 '@vue/composition-api': ^1.4.0
typescript: '>=4.4.4' typescript: '>=4.4.4'
...@@ -2076,7 +2099,7 @@ packages: ...@@ -2076,7 +2099,7 @@ packages:
optional: true optional: true
dependencies: dependencies:
'@vue/devtools-api': 6.1.4 '@vue/devtools-api': 6.1.4
typescript: 4.6.3 typescript: 4.6.4
vue: 3.2.33 vue: 3.2.33
vue-demi: 0.12.5_vue@3.2.33 vue-demi: 0.12.5_vue@3.2.33
dev: false dev: false
...@@ -2101,6 +2124,15 @@ packages: ...@@ -2101,6 +2124,15 @@ packages:
picocolors: 1.0.0 picocolors: 1.0.0
source-map-js: 1.0.2 source-map-js: 1.0.2
/postcss/8.4.13:
resolution: {integrity: sha512-jtL6eTBrza5MPzy8oJLFuUscHDXTV5KcLlqAWHl5q5WYRfnNRGSmOZmOZ1T6Gy7A99mOZfqungmZMpMmCVJ8ZA==}
engines: {node: ^10 || ^12 || >=14}
dependencies:
nanoid: 3.3.4
picocolors: 1.0.0
source-map-js: 1.0.2
dev: true
/prelude-ls/1.1.2: /prelude-ls/1.1.2:
resolution: {integrity: sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=} resolution: {integrity: sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=}
engines: {node: '>= 0.8.0'} engines: {node: '>= 0.8.0'}
...@@ -2449,6 +2481,10 @@ packages: ...@@ -2449,6 +2481,10 @@ packages:
resolution: {integrity: sha1-fSKbH8xjfkZsoIEYCDanqr/4P0M=} resolution: {integrity: sha1-fSKbH8xjfkZsoIEYCDanqr/4P0M=}
dev: true dev: true
/to-fast-properties/2.0.0:
resolution: {integrity: sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=}
engines: {node: '>=4'}
/to-regex-range/5.0.1: /to-regex-range/5.0.1:
resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==}
engines: {node: '>=8.0'} engines: {node: '>=8.0'}
...@@ -2468,14 +2504,14 @@ packages: ...@@ -2468,14 +2504,14 @@ packages:
resolution: {integrity: sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw==} resolution: {integrity: sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw==}
dev: true dev: true
/tsutils/3.21.0_typescript@4.6.3: /tsutils/3.21.0_typescript@4.6.4:
resolution: {integrity: sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==} resolution: {integrity: sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==}
engines: {node: '>= 6'} engines: {node: '>= 6'}
peerDependencies: peerDependencies:
typescript: '>=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta' typescript: '>=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta'
dependencies: dependencies:
tslib: 1.14.1 tslib: 1.14.1
typescript: 4.6.3 typescript: 4.6.4
dev: true dev: true
/type-check/0.3.2: /type-check/0.3.2:
...@@ -2502,8 +2538,8 @@ packages: ...@@ -2502,8 +2538,8 @@ packages:
engines: {node: '>=10'} engines: {node: '>=10'}
dev: true dev: true
/typescript/4.6.3: /typescript/4.6.4:
resolution: {integrity: sha512-yNIatDa5iaofVozS/uQJEl3JRWLKKGJKh6Yaiv0GLGSuhpFJe7P3SbHZ8/yjAHRQwKRoA6YZqlfjXWmVzoVSMw==} resolution: {integrity: sha512-9ia/jWHIEbo49HfjrLGfKbZSuWo9iTMwXO+Ca3pRsSpbsMbc7/IU8NKdCZVRRBafVPGnoJeFL76ZOAA84I9fEg==}
engines: {node: '>=4.2.0'} engines: {node: '>=4.2.0'}
hasBin: true hasBin: true
dev: true dev: true
...@@ -2525,7 +2561,7 @@ packages: ...@@ -2525,7 +2561,7 @@ packages:
engines: {node: '>= 0.8'} engines: {node: '>= 0.8'}
dev: true dev: true
/unplugin-auto-import/0.7.1_vite@2.9.6: /unplugin-auto-import/0.7.1_vite@2.9.9:
resolution: {integrity: sha512-9865OV9eP99PNxHR2mtTDExeN01m4M9boT5U2BtIwsU1wDRsaFIYWLwcCBEjvXzXfTTC2NNMskhHGVAMfL2WgA==} resolution: {integrity: sha512-9865OV9eP99PNxHR2mtTDExeN01m4M9boT5U2BtIwsU1wDRsaFIYWLwcCBEjvXzXfTTC2NNMskhHGVAMfL2WgA==}
engines: {node: '>=14'} engines: {node: '>=14'}
peerDependencies: peerDependencies:
...@@ -2539,7 +2575,7 @@ packages: ...@@ -2539,7 +2575,7 @@ packages:
local-pkg: 0.4.1 local-pkg: 0.4.1
magic-string: 0.26.1 magic-string: 0.26.1
resolve: 1.22.0 resolve: 1.22.0
unplugin: 0.6.2_vite@2.9.6 unplugin: 0.6.2_vite@2.9.9
transitivePeerDependencies: transitivePeerDependencies:
- esbuild - esbuild
- rollup - rollup
...@@ -2547,7 +2583,7 @@ packages: ...@@ -2547,7 +2583,7 @@ packages:
- webpack - webpack
dev: true dev: true
/unplugin/0.6.2_vite@2.9.6: /unplugin/0.6.2_vite@2.9.9:
resolution: {integrity: sha512-+QONc2uBFQbeo4x5mlJHjTKjR6pmuchMpGVrWhwdGFFMb4ttFZ4E9KqhOOrNcm3Q8NNyB1vJ4s5e36IZC7UWYw==} resolution: {integrity: sha512-+QONc2uBFQbeo4x5mlJHjTKjR6pmuchMpGVrWhwdGFFMb4ttFZ4E9KqhOOrNcm3Q8NNyB1vJ4s5e36IZC7UWYw==}
peerDependencies: peerDependencies:
esbuild: '>=0.13' esbuild: '>=0.13'
...@@ -2565,7 +2601,7 @@ packages: ...@@ -2565,7 +2601,7 @@ packages:
optional: true optional: true
dependencies: dependencies:
chokidar: 3.5.3 chokidar: 3.5.3
vite: 2.9.6_sass@1.51.0 vite: 2.9.9_sass@1.51.0
webpack-sources: 3.2.3 webpack-sources: 3.2.3
webpack-virtual-modules: 0.4.3 webpack-virtual-modules: 0.4.3
dev: true dev: true
...@@ -2625,7 +2661,7 @@ packages: ...@@ -2625,7 +2661,7 @@ packages:
resolution: {integrity: sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==} resolution: {integrity: sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==}
dev: true dev: true
/vite-plugin-checker/0.4.6_vite@2.9.6: /vite-plugin-checker/0.4.6_vite@2.9.9:
resolution: {integrity: sha512-oFel33hlsc8aUspfq0ThQRpWsfrG772fmZ5qPHKUhmew6ieejd2viITlwXHIRBY6hE3U0kirXoTWwft3DdbK+g==} resolution: {integrity: sha512-oFel33hlsc8aUspfq0ThQRpWsfrG772fmZ5qPHKUhmew6ieejd2viITlwXHIRBY6hE3U0kirXoTWwft3DdbK+g==}
hasBin: true hasBin: true
peerDependencies: peerDependencies:
...@@ -2642,15 +2678,15 @@ packages: ...@@ -2642,15 +2678,15 @@ packages:
npm-run-path: 4.0.1 npm-run-path: 4.0.1
strip-ansi: 6.0.1 strip-ansi: 6.0.1
tiny-invariant: 1.2.0 tiny-invariant: 1.2.0
vite: 2.9.6_sass@1.51.0 vite: 2.9.9_sass@1.51.0
vscode-languageclient: 7.0.0 vscode-languageclient: 7.0.0
vscode-languageserver: 7.0.0 vscode-languageserver: 7.0.0
vscode-languageserver-textdocument: 1.0.4 vscode-languageserver-textdocument: 1.0.4
vscode-uri: 3.0.3 vscode-uri: 3.0.3
dev: true dev: true
/vite/2.9.6_sass@1.51.0: /vite/2.9.9_sass@1.51.0:
resolution: {integrity: sha512-3IffdrByHW95Yjv0a13TQOQfJs7L5dVlSPuTt432XLbRMriWbThqJN2k/IS6kXn5WY4xBLhK9XoaWay1B8VzUw==} resolution: {integrity: sha512-ffaam+NgHfbEmfw/Vuh6BHKKlI/XIAhxE5QSS7gFLIngxg171mg1P3a4LSRME0z2ZU1ScxoKzphkipcYwSD5Ew==}
engines: {node: '>=12.2.0'} engines: {node: '>=12.2.0'}
hasBin: true hasBin: true
peerDependencies: peerDependencies:
...@@ -2666,7 +2702,7 @@ packages: ...@@ -2666,7 +2702,7 @@ packages:
optional: true optional: true
dependencies: dependencies:
esbuild: 0.14.36 esbuild: 0.14.36
postcss: 8.4.12 postcss: 8.4.13
resolve: 1.22.0 resolve: 1.22.0
rollup: 2.70.2 rollup: 2.70.2
sass: 1.51.0 sass: 1.51.0
...@@ -2756,8 +2792,8 @@ packages: ...@@ -2756,8 +2792,8 @@ packages:
- supports-color - supports-color
dev: true dev: true
/vue-router/4.0.14_vue@3.2.33: /vue-router/4.0.15_vue@3.2.33:
resolution: {integrity: sha512-wAO6zF9zxA3u+7AkMPqw9LjoUCjSxfFvINQj3E/DceTt6uEz1XZLraDhdg2EYmvVwTBSGlLYsUw8bDmx0754Mw==} resolution: {integrity: sha512-xa+pIN9ZqORdIW1MkN2+d9Ui2pCM1b/UMgwYUCZOiFYHAvz/slKKBDha8DLrh5aCG/RibtrpyhKjKOZ85tYyWg==}
peerDependencies: peerDependencies:
vue: ^3.2.0 vue: ^3.2.0
dependencies: dependencies:
...@@ -2765,14 +2801,14 @@ packages: ...@@ -2765,14 +2801,14 @@ packages:
vue: 3.2.33 vue: 3.2.33
dev: false dev: false
/vue-tsc/0.34.10_typescript@4.6.3: /vue-tsc/0.34.13_typescript@4.6.4:
resolution: {integrity: sha512-rWU4SjDqk9ylQN2hbnyP+rEu8W2a712DWUmciX6rDnId1m8sN/cuypTKjWjHHjaBLWNKULoEakRTOvrQ4ainhw==} resolution: {integrity: sha512-xvmUq03dFpLfYSfE8jl2lwDPcbrmh81TB+OsVkkp+Em3Ar4ff2XgMKuUgoFXpWTv5tLLoYYpggFWwYADa2zgQg==}
hasBin: true hasBin: true
peerDependencies: peerDependencies:
typescript: '*' typescript: '*'
dependencies: dependencies:
'@volar/vue-typescript': 0.34.10 '@volar/vue-typescript': 0.34.13
typescript: 4.6.3 typescript: 4.6.4
dev: true dev: true
/vue/3.2.33: /vue/3.2.33:
......
...@@ -6,7 +6,17 @@ export default { ...@@ -6,7 +6,17 @@ export default {
<script setup lang="ts"> <script setup lang="ts">
import type { Component } from 'vue' import type { Component } from 'vue'
import { User, Picture, Files, VideoCamera, Notebook, DishDot, QuestionFilled, Stamp } from '@element-plus/icons-vue' import {
User,
Picture,
Files,
VideoCamera,
Notebook,
DishDot,
QuestionFilled,
Stamp,
Calendar
} from '@element-plus/icons-vue'
const route = useRoute() const route = useRoute()
interface IMenuItem { interface IMenuItem {
name: string name: string
...@@ -23,7 +33,8 @@ const menuList: IMenuItem[] = [ ...@@ -23,7 +33,8 @@ const menuList: IMenuItem[] = [
{ name: '课程管理', path: '/course', icon: Notebook }, { name: '课程管理', path: '/course', icon: Notebook },
{ name: '团队管理', path: '/team', icon: DishDot }, { name: '团队管理', path: '/team', icon: DishDot },
{ name: '问答管理', path: '/qa', icon: QuestionFilled }, { name: '问答管理', path: '/qa', icon: QuestionFilled },
{ name: '审核管理', path: '/audit', icon: Stamp } { name: '审核管理', path: '/audit', icon: Stamp },
{ name: '知识日历', path: '/share', icon: Calendar }
] ]
const defaultActive = computed(() => { const defaultActive = computed(() => {
// 扁平菜单 // 扁平菜单
......
...@@ -50,7 +50,7 @@ function update() { ...@@ -50,7 +50,7 @@ function update() {
</el-form-item> </el-form-item>
</el-form> </el-form>
<template #footer> <template #footer>
<el-button type="text" @click="$emit('update:modelValue', false)">取消</el-button>&nbsp;&nbsp; <el-button text @click="$emit('update:modelValue', false)">取消</el-button>
<el-button type="primary" @click="onSubmit">保存</el-button> <el-button type="primary" @click="onSubmit">保存</el-button>
</template> </template>
</el-dialog> </el-dialog>
......
import httpRequest from '@/utils/axios'
// 获取资料消息列表
// 类型(1:入学指南,2:学习地图,3:考试攻略,4:消息)
export function getShareList(params?: { title?: string; page?: number; page_size?: number }) {
return httpRequest.get('/api/psp/backend/share/index', { params })
}
// 创建资料
export function createShare(data: { title: string; content: string[]; weight?: string }) {
return httpRequest.post('/api/psp/backend/share/create', data)
}
// 更新资料
export function updateShare(data: { id: string; title: string; content: string[]; weight?: string }) {
return httpRequest.post('/api/psp/backend/share/update', data)
}
// 获取资料详情
export function getShare(params: { id: string }) {
return httpRequest.get('/api/psp/backend/share/view', { params })
}
// 删除资料
export function deleteShare(data: { id: string }) {
return httpRequest.post('/api/psp/backend/share/delete', data)
}
import type { RouteRecordRaw } from 'vue-router'
import AppLayout from '@/components/layout/Index.vue'
export const routes: Array<RouteRecordRaw> = [
{
path: '/share',
component: AppLayout,
children: [
{ path: '', component: () => import('./views/List.vue') },
{ path: 'create', component: () => import('./views/Update.vue') },
{ path: 'update/:id', component: () => import('./views/Update.vue'), props: true }
]
}
]
<script setup lang="ts">
import { ElMessage, ElMessageBox } from 'element-plus'
import { getShareList, deleteShare } from '../api'
const appList = ref()
const listOptions = {
remote: {
httpRequest: getShareList,
params: { title: '' }
},
filters: [{ type: 'input', prop: 'title', placeholder: '标题' }],
columns: [
{ label: '标题', prop: 'title' },
{ label: '权重', prop: 'weight' },
{ label: '创建时间', prop: 'created_time' },
{ label: '操作', slots: 'table-operate', width: 160, align: 'right' }
]
}
const onRemove = (row: any) => {
ElMessageBox.confirm('确定要删除吗?', '提示').then(() => {
deleteShare({ id: row.id }).then(() => {
ElMessage({ type: 'success', message: '删除成功' })
appList.value?.refetch()
})
})
}
</script>
<template>
<AppCard>
<AppList v-bind="listOptions" ref="appList">
<template #header-aside>
<router-link to="/share/create">
<el-button type="primary">创建</el-button>
</router-link>
</template>
<template #table-cover="{ row }">
<el-image
:src="row.cover_page + '?x-oss-process=image/resize,m_fill,h_100,w_200'"
:preview-src-list="[row.cover_page]"
preview-teleported
lazy
fit="cover"
style="width: 200px; height: 100px"
/>
</template>
<template #table-operate="{ row }">
<el-space>
<router-link :to="`/share/update/${row.id}`">
<el-button plain>编辑</el-button>
</router-link>
<el-button type="danger" plain @click="onRemove(row)">删除</el-button>
</el-space>
</template>
</AppList>
</AppCard>
</template>
<script setup lang="ts">
import { ElMessage } from 'element-plus'
import type { FormInstance } from 'element-plus'
import { CirclePlus, Delete } from '@element-plus/icons-vue'
import { createShare, updateShare, getShare } from '../api'
const props = defineProps<{ id?: string }>()
const router = useRouter()
const formRef = ref<FormInstance>()
const form = reactive<{ title: string; content: string[]; weight: string }>({ title: '', content: [], weight: '0' })
const rules = {
title: [{ required: true, message: '请输入标题', trigger: 'blur' }]
}
// 提交
const onSubmit = () => {
if (!formRef.value) return
formRef.value.validate().then(() => {
props.id ? update() : create()
})
}
// 取消
const onCancel = () => {
router.replace('/share')
}
// 创建
const create = () => {
createShare(form).then(() => {
ElMessage({ message: '创建成功', type: 'success' })
router.push('/share')
})
}
// 修改
const update = () => {
const params = { ...form, id: props.id as string }
updateShare(params).then(() => {
ElMessage({ message: '修改成功', type: 'success' })
router.push('/share')
})
}
// 添加金句
const onAddText = () => {
form.content = [...form.content, '']
}
// 删除金句
const onRemoveText = (index: number) => {
form.content.splice(index, 1)
}
onMounted(() => {
props.id &&
getShare({ id: props.id }).then(res => {
Object.assign(form, res.data)
})
})
</script>
<template>
<AppCard>
<el-form ref="formRef" :model="form" :rules="rules" label-width="120px">
<el-form-item label="标题" prop="title">
<el-input v-model="form.title" />
</el-form-item>
<el-form-item label="权重" prop="weight">
<el-input type="number" v-model="form.weight" />
</el-form-item>
<el-form-item label="金句" prop="content">
<div class="text-wrapper">
<div class="text-item" v-for="(item, index) in form.content" :key="index">
<el-input type="textarea" v-model="form.content[index]" />
<el-button :icon="Delete" @click="onRemoveText(index)"></el-button>
</div>
<el-button :icon="CirclePlus" @click="onAddText">添加金句</el-button>
</div>
</el-form-item>
<el-form-item>
<el-button type="primary" auto-insert-space @click="onSubmit">保存</el-button>
<el-button auto-insert-space @click="onCancel">取消</el-button>
</el-form-item>
</el-form>
</AppCard>
</template>
<style lang="scss" scoped>
.text-wrapper {
width: 100%;
background-color: #f9f9f9;
padding: 10px;
border-radius: 8px;
}
.text-item {
display: flex;
align-items: center;
margin-bottom: 20px;
.el-button {
margin-left: 20px;
}
}
</style>
...@@ -15,7 +15,7 @@ const httpRequest = axios.create({ ...@@ -15,7 +15,7 @@ const httpRequest = axios.create({
httpRequest.interceptors.request.use( httpRequest.interceptors.request.use(
function (config) { function (config) {
if (config.headers?.['Content-Type'] === 'application/x-www-form-urlencoded') { if (config.headers?.['Content-Type'] === 'application/x-www-form-urlencoded') {
config.data = qs.stringify(config.data) config.data = qs.stringify(config.data, { skipNulls: true })
} }
if (config.headers?.['Content-Type'] === 'multipart/form-data') { if (config.headers?.['Content-Type'] === 'multipart/form-data') {
const formData = new window.FormData() const formData = new window.FormData()
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论