提交 730d3267 authored 作者: 王鹏飞's avatar 王鹏飞

chore: update

上级 24bab73e
...@@ -40,4 +40,4 @@ function generateUploadTarget(src, dist) { ...@@ -40,4 +40,4 @@ function generateUploadTarget(src, dist) {
}) })
} }
generateUploadTarget('./dist', '/website/prod/saas-lab') generateUploadTarget('./dist', '/website/prod/zws')
...@@ -11,28 +11,29 @@ ...@@ -11,28 +11,29 @@
"axios": "^1.1.3", "axios": "^1.1.3",
"blueimp-md5": "^2.19.0", "blueimp-md5": "^2.19.0",
"element-plus": "^2.2.19", "element-plus": "^2.2.19",
"pinia": "^2.0.17", "pinia": "^2.0.23",
"qs": "^6.11.0", "qs": "^6.11.0",
"vue": "^3.2.37", "vue": "^3.2.41",
"vue-router": "^4.1.3" "vue-router": "^4.1.6"
}, },
"devDependencies": { "devDependencies": {
"@rushstack/eslint-patch": "^1.1.4", "@rushstack/eslint-patch": "^1.2.0",
"@types/blueimp-md5": "^2.18.0", "@types/blueimp-md5": "^2.18.0",
"@types/node": "^16.11.47", "@types/node": "^18.11.8",
"@vitejs/plugin-vue": "^3.0.1", "@types/qs": "^6.9.7",
"@vue/eslint-config-typescript": "^11.0.0", "@vitejs/plugin-vue": "^3.2.0",
"@vue/eslint-config-typescript": "^11.0.2",
"@vue/tsconfig": "^0.1.3", "@vue/tsconfig": "^0.1.3",
"ali-oss": "^6.17.1", "ali-oss": "^6.17.1",
"chalk": "^5.1.2", "chalk": "^5.1.2",
"eslint": "^8.21.0", "eslint": "^8.26.0",
"eslint-plugin-vue": "^9.3.0", "eslint-plugin-vue": "^9.6.0",
"npm-run-all": "^4.1.5", "npm-run-all": "^4.1.5",
"sass": "^1.55.0", "sass": "^1.55.0",
"typescript": "~4.7.4", "typescript": "~4.8.4",
"unplugin-auto-import": "^0.11.4", "unplugin-auto-import": "^0.11.4",
"vite": "^3.0.4", "vite": "^3.2.1",
"vue-tsc": "^0.39.5" "vue-tsc": "^1.0.9"
} }
}, },
"node_modules/@antfu/utils": { "node_modules/@antfu/utils": {
...@@ -272,9 +273,15 @@ ...@@ -272,9 +273,15 @@
} }
}, },
"node_modules/@types/node": { "node_modules/@types/node": {
"version": "16.18.3", "version": "18.11.8",
"resolved": "https://registry.npmmirror.com/@types/node/-/node-16.18.3.tgz", "resolved": "https://registry.npmmirror.com/@types/node/-/node-18.11.8.tgz",
"integrity": "sha512-jh6m0QUhIRcZpNv7Z/rpN+ZWXOicUUQbSoWks7Htkbb9IjFQj4kzcX/xFCkjstCj5flMsN8FiSvt+q+Tcs4Llg==", "integrity": "sha512-uGwPWlE0Hj972KkHtCDVwZ8O39GmyjfMane1Z3GUBGGnkZ2USDq7SxLpVIiIHpweY9DS0QTDH0Nw7RNBsAAZ5A==",
"dev": true
},
"node_modules/@types/qs": {
"version": "6.9.7",
"resolved": "https://registry.npmmirror.com/@types/qs/-/qs-6.9.7.tgz",
"integrity": "sha512-FGa1F62FT09qcrueBA6qYTrJPVDzah9a+493+o2PCXsesWHIn27G98TsSMs3WPNbZIEj4+VJf6saSFpvD+3Zsw==",
"dev": true "dev": true
}, },
"node_modules/@types/semver": { "node_modules/@types/semver": {
...@@ -455,65 +462,80 @@ ...@@ -455,65 +462,80 @@
"vue": "^3.2.25" "vue": "^3.2.25"
} }
}, },
"node_modules/@volar/code-gen": { "node_modules/@volar/language-core": {
"version": "0.39.5", "version": "1.0.9",
"resolved": "https://registry.npmmirror.com/@volar/code-gen/-/code-gen-0.39.5.tgz", "resolved": "https://registry.npmmirror.com/@volar/language-core/-/language-core-1.0.9.tgz",
"integrity": "sha512-vQr5VoCH8T2NHmqLc/AA1/4F8l41WB+24+I+VjxBaev/Hmwjye9K0GlmMHAOl84WB3hWGOqpHaPX6JkqzRNjJg==", "integrity": "sha512-5Fty3slLet6svXiJw2YxhYeo6c7wFdtILrql5bZymYLM+HbiZtJbryW1YnUEKAP7MO9Mbeh+TNH4Z0HFxHgIqw==",
"dev": true, "dev": true,
"dependencies": { "dependencies": {
"@volar/source-map": "0.39.5" "@volar/source-map": "1.0.9",
"@vue/reactivity": "^3.2.40",
"muggle-string": "^0.1.0"
} }
}, },
"node_modules/@volar/source-map": { "node_modules/@volar/source-map": {
"version": "0.39.5", "version": "1.0.9",
"resolved": "https://registry.npmmirror.com/@volar/source-map/-/source-map-0.39.5.tgz", "resolved": "https://registry.npmmirror.com/@volar/source-map/-/source-map-1.0.9.tgz",
"integrity": "sha512-IVOX+v++Sr5Kok4/cLbDJp2vf1ia1rChpV7adgcnMle6uORBuGFEur234UzamK0iHRCcfFFRz7z+hSPf2CO23Q==", "integrity": "sha512-fazB/vy5ZEJ3yKx4fabJyGNI3CBkdLkfEIRVu6+1P3VixK0Mn+eqyUIkLBrzGYaeFM3GybhCLCvsVdNz0Fu/CQ==",
"dev": true
},
"node_modules/@volar/typescript-faster": {
"version": "0.39.5",
"resolved": "https://registry.npmmirror.com/@volar/typescript-faster/-/typescript-faster-0.39.5.tgz",
"integrity": "sha512-IzLqlxefmKkjNKXC/8aFiqPcTqnj6RG31D2f9cIWxmW9pvUYJxLED+y9phnOxNxq0OmeRtQ3Pfmvu85tUBoZsQ==",
"dev": true, "dev": true,
"dependencies": { "dependencies": {
"semver": "^7.3.7" "muggle-string": "^0.1.0"
} }
}, },
"node_modules/@volar/vue-code-gen": { "node_modules/@volar/typescript": {
"version": "0.39.5", "version": "1.0.9",
"resolved": "https://registry.npmmirror.com/@volar/vue-code-gen/-/vue-code-gen-0.39.5.tgz", "resolved": "https://registry.npmmirror.com/@volar/typescript/-/typescript-1.0.9.tgz",
"integrity": "sha512-y+QUV9MuuasiIuRoGKQl+gMhDaAX6XNhckAyJCvD1FZ8f2eJuPY2VtoFxmu/Z2bGWBdtUW/g98jaeKJ+j3wwOw==", "integrity": "sha512-dVziu+ShQUWuMukM6bvK2v2O446/gG6l1XkTh2vfkccw1IzjfbiP1TWQoNo1ipTfZOtu5YJGYAx+o5HNrGXWfQ==",
"dev": true, "dev": true,
"dependencies": { "dependencies": {
"@volar/code-gen": "0.39.5", "@volar/language-core": "1.0.9"
"@volar/source-map": "0.39.5",
"@vue/compiler-core": "^3.2.37",
"@vue/compiler-dom": "^3.2.37",
"@vue/shared": "^3.2.37"
} }
}, },
"node_modules/@volar/vue-language-core": { "node_modules/@volar/vue-language-core": {
"version": "0.39.5", "version": "1.0.9",
"resolved": "https://registry.npmmirror.com/@volar/vue-language-core/-/vue-language-core-0.39.5.tgz", "resolved": "https://registry.npmmirror.com/@volar/vue-language-core/-/vue-language-core-1.0.9.tgz",
"integrity": "sha512-m+e1tYuL/WRPhSeC7hZ0NuSwHsfnnGJVxCBHLaP7jR0f6xcC0DAegP3QF+gfu9ZJFPGznpZYFKadngMjuhQS9Q==", "integrity": "sha512-tofNoR8ShPFenHT1YVMuvoXtXWwoQE+fiXVqSmW0dSKZqEDjWQ3YeXSd0a6aqyKaIbvR7kWWGp34WbpQlwf9Ww==",
"dev": true,
"dependencies": {
"@volar/language-core": "1.0.9",
"@volar/source-map": "1.0.9",
"@vue/compiler-dom": "^3.2.40",
"@vue/compiler-sfc": "^3.2.40",
"@vue/reactivity": "^3.2.40",
"@vue/shared": "^3.2.40",
"minimatch": "^5.1.0",
"vue-template-compiler": "^2.7.10"
}
},
"node_modules/@volar/vue-language-core/node_modules/brace-expansion": {
"version": "2.0.1",
"resolved": "https://registry.npmmirror.com/brace-expansion/-/brace-expansion-2.0.1.tgz",
"integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==",
"dev": true, "dev": true,
"dependencies": { "dependencies": {
"@volar/code-gen": "0.39.5", "balanced-match": "^1.0.0"
"@volar/source-map": "0.39.5", }
"@volar/vue-code-gen": "0.39.5", },
"@vue/compiler-sfc": "^3.2.37", "node_modules/@volar/vue-language-core/node_modules/minimatch": {
"@vue/reactivity": "^3.2.37" "version": "5.1.0",
"resolved": "https://registry.npmmirror.com/minimatch/-/minimatch-5.1.0.tgz",
"integrity": "sha512-9TPBGGak4nHfGZsPBohm9AWg6NoT7QTCehS3BIJABslyZbzxfV78QM2Y6+i741OPZIafFAaiiEMh5OyIrJPgtg==",
"dev": true,
"dependencies": {
"brace-expansion": "^2.0.1"
},
"engines": {
"node": ">=10"
} }
}, },
"node_modules/@volar/vue-typescript": { "node_modules/@volar/vue-typescript": {
"version": "0.39.5", "version": "1.0.9",
"resolved": "https://registry.npmmirror.com/@volar/vue-typescript/-/vue-typescript-0.39.5.tgz", "resolved": "https://registry.npmmirror.com/@volar/vue-typescript/-/vue-typescript-1.0.9.tgz",
"integrity": "sha512-ckhWD1xOi0OMr702XVkv/Npsb9FKAp5gvhxyLv0QqWekPdSo04t4KrZfwosJLGERIEcyr50SuB7HqBp8ndQmzA==", "integrity": "sha512-ZLe4y9YNbviACa7uAMCilzxA76gbbSlKfjspXBzk6fCobd8QCIig+VyDYcjANIlm2HhgSCX8jYTzhCKlegh4mw==",
"dev": true, "dev": true,
"dependencies": { "dependencies": {
"@volar/code-gen": "0.39.5", "@volar/typescript": "1.0.9",
"@volar/typescript-faster": "0.39.5", "@volar/vue-language-core": "1.0.9"
"@volar/vue-language-core": "0.39.5"
} }
}, },
"node_modules/@vue/compiler-core": { "node_modules/@vue/compiler-core": {
...@@ -1186,6 +1208,12 @@ ...@@ -1186,6 +1208,12 @@
"resolved": "https://registry.npmmirror.com/dayjs/-/dayjs-1.11.6.tgz", "resolved": "https://registry.npmmirror.com/dayjs/-/dayjs-1.11.6.tgz",
"integrity": "sha512-zZbY5giJAinCG+7AGaw0wIhNZ6J8AhWuSXKvuc1KAyMiRsvGQWqh4L+MomvhdAYjN+lqvVCMq1I41e3YHvXkyQ==" "integrity": "sha512-zZbY5giJAinCG+7AGaw0wIhNZ6J8AhWuSXKvuc1KAyMiRsvGQWqh4L+MomvhdAYjN+lqvVCMq1I41e3YHvXkyQ=="
}, },
"node_modules/de-indent": {
"version": "1.0.2",
"resolved": "https://registry.npmmirror.com/de-indent/-/de-indent-1.0.2.tgz",
"integrity": "sha512-e/1zu3xH5MQryN2zdVaF0OrdNLUbvWxzMbi+iNA6Bky7l1RoP8a2fIbRocyHclXt/arDrrR6lL3TqFD9pMQTsg==",
"dev": true
},
"node_modules/debug": { "node_modules/debug": {
"version": "4.3.4", "version": "4.3.4",
"resolved": "https://registry.npmmirror.com/debug/-/debug-4.3.4.tgz", "resolved": "https://registry.npmmirror.com/debug/-/debug-4.3.4.tgz",
...@@ -2547,6 +2575,15 @@ ...@@ -2547,6 +2575,15 @@
"node": ">= 0.4" "node": ">= 0.4"
} }
}, },
"node_modules/he": {
"version": "1.2.0",
"resolved": "https://registry.npmmirror.com/he/-/he-1.2.0.tgz",
"integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==",
"dev": true,
"bin": {
"he": "bin/he"
}
},
"node_modules/hosted-git-info": { "node_modules/hosted-git-info": {
"version": "2.8.9", "version": "2.8.9",
"resolved": "https://registry.npmmirror.com/hosted-git-info/-/hosted-git-info-2.8.9.tgz", "resolved": "https://registry.npmmirror.com/hosted-git-info/-/hosted-git-info-2.8.9.tgz",
...@@ -3216,6 +3253,12 @@ ...@@ -3216,6 +3253,12 @@
"integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
"dev": true "dev": true
}, },
"node_modules/muggle-string": {
"version": "0.1.0",
"resolved": "https://registry.npmmirror.com/muggle-string/-/muggle-string-0.1.0.tgz",
"integrity": "sha512-Tr1knR3d2mKvvWthlk7202rywKbiOm4rVFLsfAaSIhJ6dt9o47W4S+JMtWhd/PW9Wrdew2/S2fSvhz3E2gkfEg==",
"dev": true
},
"node_modules/mz": { "node_modules/mz": {
"version": "2.7.0", "version": "2.7.0",
"resolved": "https://registry.npmmirror.com/mz/-/mz-2.7.0.tgz", "resolved": "https://registry.npmmirror.com/mz/-/mz-2.7.0.tgz",
...@@ -4565,9 +4608,9 @@ ...@@ -4565,9 +4608,9 @@
} }
}, },
"node_modules/typescript": { "node_modules/typescript": {
"version": "4.7.4", "version": "4.8.4",
"resolved": "https://registry.npmmirror.com/typescript/-/typescript-4.7.4.tgz", "resolved": "https://registry.npmmirror.com/typescript/-/typescript-4.8.4.tgz",
"integrity": "sha512-C0WQT0gezHuw6AdY1M2jxUO83Rjf0HP7Sk1DtXj6j1EwkQNZrHAg2XPWlq62oqEhYvONq5pkC2Y9oPljWToLmQ==", "integrity": "sha512-QCh+85mCy+h0IGff8r5XWzOVSbBO+KfeYrMQh7NJ58QujwcE22u+NUSmUxqF+un70P9GXKxa2HCNiTTMJknyjQ==",
"devOptional": true, "devOptional": true,
"bin": { "bin": {
"tsc": "bin/tsc", "tsc": "bin/tsc",
...@@ -4923,14 +4966,24 @@ ...@@ -4923,14 +4966,24 @@
"vue": "^3.2.0" "vue": "^3.2.0"
} }
}, },
"node_modules/vue-template-compiler": {
"version": "2.7.13",
"resolved": "https://registry.npmmirror.com/vue-template-compiler/-/vue-template-compiler-2.7.13.tgz",
"integrity": "sha512-jYM6TClwDS9YqP48gYrtAtaOhRKkbYmbzE+Q51gX5YDr777n7tNI/IZk4QV4l/PjQPNh/FVa/E92sh/RqKMrog==",
"dev": true,
"dependencies": {
"de-indent": "^1.0.2",
"he": "^1.2.0"
}
},
"node_modules/vue-tsc": { "node_modules/vue-tsc": {
"version": "0.39.5", "version": "1.0.9",
"resolved": "https://registry.npmmirror.com/vue-tsc/-/vue-tsc-0.39.5.tgz", "resolved": "https://registry.npmmirror.com/vue-tsc/-/vue-tsc-1.0.9.tgz",
"integrity": "sha512-jhTsrKhZkafpIeN4Cbhr1K53hNfa/oesSrlh7hUaeHyCk55VhZT6oJkwJbtqN4MYkWZIwPrm3/xTwsELuf2ocg==", "integrity": "sha512-vRmHD1K6DmBymNhoHjQy/aYKTRQNLGOu2/ESasChG9Vy113K6CdP0NlhR0bzgFJfv2eFB9Ez/9L5kIciUajBxQ==",
"dev": true, "dev": true,
"dependencies": { "dependencies": {
"@volar/vue-language-core": "0.39.5", "@volar/vue-language-core": "1.0.9",
"@volar/vue-typescript": "0.39.5" "@volar/vue-typescript": "1.0.9"
}, },
"bin": { "bin": {
"vue-tsc": "bin/vue-tsc.js" "vue-tsc": "bin/vue-tsc.js"
...@@ -5259,9 +5312,15 @@ ...@@ -5259,9 +5312,15 @@
} }
}, },
"@types/node": { "@types/node": {
"version": "16.18.3", "version": "18.11.8",
"resolved": "https://registry.npmmirror.com/@types/node/-/node-16.18.3.tgz", "resolved": "https://registry.npmmirror.com/@types/node/-/node-18.11.8.tgz",
"integrity": "sha512-jh6m0QUhIRcZpNv7Z/rpN+ZWXOicUUQbSoWks7Htkbb9IjFQj4kzcX/xFCkjstCj5flMsN8FiSvt+q+Tcs4Llg==", "integrity": "sha512-uGwPWlE0Hj972KkHtCDVwZ8O39GmyjfMane1Z3GUBGGnkZ2USDq7SxLpVIiIHpweY9DS0QTDH0Nw7RNBsAAZ5A==",
"dev": true
},
"@types/qs": {
"version": "6.9.7",
"resolved": "https://registry.npmmirror.com/@types/qs/-/qs-6.9.7.tgz",
"integrity": "sha512-FGa1F62FT09qcrueBA6qYTrJPVDzah9a+493+o2PCXsesWHIn27G98TsSMs3WPNbZIEj4+VJf6saSFpvD+3Zsw==",
"dev": true "dev": true
}, },
"@types/semver": { "@types/semver": {
...@@ -5379,65 +5438,79 @@ ...@@ -5379,65 +5438,79 @@
"dev": true, "dev": true,
"requires": {} "requires": {}
}, },
"@volar/code-gen": { "@volar/language-core": {
"version": "0.39.5", "version": "1.0.9",
"resolved": "https://registry.npmmirror.com/@volar/code-gen/-/code-gen-0.39.5.tgz", "resolved": "https://registry.npmmirror.com/@volar/language-core/-/language-core-1.0.9.tgz",
"integrity": "sha512-vQr5VoCH8T2NHmqLc/AA1/4F8l41WB+24+I+VjxBaev/Hmwjye9K0GlmMHAOl84WB3hWGOqpHaPX6JkqzRNjJg==", "integrity": "sha512-5Fty3slLet6svXiJw2YxhYeo6c7wFdtILrql5bZymYLM+HbiZtJbryW1YnUEKAP7MO9Mbeh+TNH4Z0HFxHgIqw==",
"dev": true, "dev": true,
"requires": { "requires": {
"@volar/source-map": "0.39.5" "@volar/source-map": "1.0.9",
"@vue/reactivity": "^3.2.40",
"muggle-string": "^0.1.0"
} }
}, },
"@volar/source-map": { "@volar/source-map": {
"version": "0.39.5", "version": "1.0.9",
"resolved": "https://registry.npmmirror.com/@volar/source-map/-/source-map-0.39.5.tgz", "resolved": "https://registry.npmmirror.com/@volar/source-map/-/source-map-1.0.9.tgz",
"integrity": "sha512-IVOX+v++Sr5Kok4/cLbDJp2vf1ia1rChpV7adgcnMle6uORBuGFEur234UzamK0iHRCcfFFRz7z+hSPf2CO23Q==", "integrity": "sha512-fazB/vy5ZEJ3yKx4fabJyGNI3CBkdLkfEIRVu6+1P3VixK0Mn+eqyUIkLBrzGYaeFM3GybhCLCvsVdNz0Fu/CQ==",
"dev": true
},
"@volar/typescript-faster": {
"version": "0.39.5",
"resolved": "https://registry.npmmirror.com/@volar/typescript-faster/-/typescript-faster-0.39.5.tgz",
"integrity": "sha512-IzLqlxefmKkjNKXC/8aFiqPcTqnj6RG31D2f9cIWxmW9pvUYJxLED+y9phnOxNxq0OmeRtQ3Pfmvu85tUBoZsQ==",
"dev": true, "dev": true,
"requires": { "requires": {
"semver": "^7.3.7" "muggle-string": "^0.1.0"
} }
}, },
"@volar/vue-code-gen": { "@volar/typescript": {
"version": "0.39.5", "version": "1.0.9",
"resolved": "https://registry.npmmirror.com/@volar/vue-code-gen/-/vue-code-gen-0.39.5.tgz", "resolved": "https://registry.npmmirror.com/@volar/typescript/-/typescript-1.0.9.tgz",
"integrity": "sha512-y+QUV9MuuasiIuRoGKQl+gMhDaAX6XNhckAyJCvD1FZ8f2eJuPY2VtoFxmu/Z2bGWBdtUW/g98jaeKJ+j3wwOw==", "integrity": "sha512-dVziu+ShQUWuMukM6bvK2v2O446/gG6l1XkTh2vfkccw1IzjfbiP1TWQoNo1ipTfZOtu5YJGYAx+o5HNrGXWfQ==",
"dev": true, "dev": true,
"requires": { "requires": {
"@volar/code-gen": "0.39.5", "@volar/language-core": "1.0.9"
"@volar/source-map": "0.39.5",
"@vue/compiler-core": "^3.2.37",
"@vue/compiler-dom": "^3.2.37",
"@vue/shared": "^3.2.37"
} }
}, },
"@volar/vue-language-core": { "@volar/vue-language-core": {
"version": "0.39.5", "version": "1.0.9",
"resolved": "https://registry.npmmirror.com/@volar/vue-language-core/-/vue-language-core-0.39.5.tgz", "resolved": "https://registry.npmmirror.com/@volar/vue-language-core/-/vue-language-core-1.0.9.tgz",
"integrity": "sha512-m+e1tYuL/WRPhSeC7hZ0NuSwHsfnnGJVxCBHLaP7jR0f6xcC0DAegP3QF+gfu9ZJFPGznpZYFKadngMjuhQS9Q==", "integrity": "sha512-tofNoR8ShPFenHT1YVMuvoXtXWwoQE+fiXVqSmW0dSKZqEDjWQ3YeXSd0a6aqyKaIbvR7kWWGp34WbpQlwf9Ww==",
"dev": true, "dev": true,
"requires": { "requires": {
"@volar/code-gen": "0.39.5", "@volar/language-core": "1.0.9",
"@volar/source-map": "0.39.5", "@volar/source-map": "1.0.9",
"@volar/vue-code-gen": "0.39.5", "@vue/compiler-dom": "^3.2.40",
"@vue/compiler-sfc": "^3.2.37", "@vue/compiler-sfc": "^3.2.40",
"@vue/reactivity": "^3.2.37" "@vue/reactivity": "^3.2.40",
"@vue/shared": "^3.2.40",
"minimatch": "^5.1.0",
"vue-template-compiler": "^2.7.10"
},
"dependencies": {
"brace-expansion": {
"version": "2.0.1",
"resolved": "https://registry.npmmirror.com/brace-expansion/-/brace-expansion-2.0.1.tgz",
"integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==",
"dev": true,
"requires": {
"balanced-match": "^1.0.0"
}
},
"minimatch": {
"version": "5.1.0",
"resolved": "https://registry.npmmirror.com/minimatch/-/minimatch-5.1.0.tgz",
"integrity": "sha512-9TPBGGak4nHfGZsPBohm9AWg6NoT7QTCehS3BIJABslyZbzxfV78QM2Y6+i741OPZIafFAaiiEMh5OyIrJPgtg==",
"dev": true,
"requires": {
"brace-expansion": "^2.0.1"
}
}
} }
}, },
"@volar/vue-typescript": { "@volar/vue-typescript": {
"version": "0.39.5", "version": "1.0.9",
"resolved": "https://registry.npmmirror.com/@volar/vue-typescript/-/vue-typescript-0.39.5.tgz", "resolved": "https://registry.npmmirror.com/@volar/vue-typescript/-/vue-typescript-1.0.9.tgz",
"integrity": "sha512-ckhWD1xOi0OMr702XVkv/Npsb9FKAp5gvhxyLv0QqWekPdSo04t4KrZfwosJLGERIEcyr50SuB7HqBp8ndQmzA==", "integrity": "sha512-ZLe4y9YNbviACa7uAMCilzxA76gbbSlKfjspXBzk6fCobd8QCIig+VyDYcjANIlm2HhgSCX8jYTzhCKlegh4mw==",
"dev": true, "dev": true,
"requires": { "requires": {
"@volar/code-gen": "0.39.5", "@volar/typescript": "1.0.9",
"@volar/typescript-faster": "0.39.5", "@volar/vue-language-core": "1.0.9"
"@volar/vue-language-core": "0.39.5"
} }
}, },
"@vue/compiler-core": { "@vue/compiler-core": {
...@@ -5980,6 +6053,12 @@ ...@@ -5980,6 +6053,12 @@
"resolved": "https://registry.npmmirror.com/dayjs/-/dayjs-1.11.6.tgz", "resolved": "https://registry.npmmirror.com/dayjs/-/dayjs-1.11.6.tgz",
"integrity": "sha512-zZbY5giJAinCG+7AGaw0wIhNZ6J8AhWuSXKvuc1KAyMiRsvGQWqh4L+MomvhdAYjN+lqvVCMq1I41e3YHvXkyQ==" "integrity": "sha512-zZbY5giJAinCG+7AGaw0wIhNZ6J8AhWuSXKvuc1KAyMiRsvGQWqh4L+MomvhdAYjN+lqvVCMq1I41e3YHvXkyQ=="
}, },
"de-indent": {
"version": "1.0.2",
"resolved": "https://registry.npmmirror.com/de-indent/-/de-indent-1.0.2.tgz",
"integrity": "sha512-e/1zu3xH5MQryN2zdVaF0OrdNLUbvWxzMbi+iNA6Bky7l1RoP8a2fIbRocyHclXt/arDrrR6lL3TqFD9pMQTsg==",
"dev": true
},
"debug": { "debug": {
"version": "4.3.4", "version": "4.3.4",
"resolved": "https://registry.npmmirror.com/debug/-/debug-4.3.4.tgz", "resolved": "https://registry.npmmirror.com/debug/-/debug-4.3.4.tgz",
...@@ -6951,6 +7030,12 @@ ...@@ -6951,6 +7030,12 @@
"has-symbols": "^1.0.2" "has-symbols": "^1.0.2"
} }
}, },
"he": {
"version": "1.2.0",
"resolved": "https://registry.npmmirror.com/he/-/he-1.2.0.tgz",
"integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==",
"dev": true
},
"hosted-git-info": { "hosted-git-info": {
"version": "2.8.9", "version": "2.8.9",
"resolved": "https://registry.npmmirror.com/hosted-git-info/-/hosted-git-info-2.8.9.tgz", "resolved": "https://registry.npmmirror.com/hosted-git-info/-/hosted-git-info-2.8.9.tgz",
...@@ -7504,6 +7589,12 @@ ...@@ -7504,6 +7589,12 @@
"integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
"dev": true "dev": true
}, },
"muggle-string": {
"version": "0.1.0",
"resolved": "https://registry.npmmirror.com/muggle-string/-/muggle-string-0.1.0.tgz",
"integrity": "sha512-Tr1knR3d2mKvvWthlk7202rywKbiOm4rVFLsfAaSIhJ6dt9o47W4S+JMtWhd/PW9Wrdew2/S2fSvhz3E2gkfEg==",
"dev": true
},
"mz": { "mz": {
"version": "2.7.0", "version": "2.7.0",
"resolved": "https://registry.npmmirror.com/mz/-/mz-2.7.0.tgz", "resolved": "https://registry.npmmirror.com/mz/-/mz-2.7.0.tgz",
...@@ -8572,9 +8663,9 @@ ...@@ -8572,9 +8663,9 @@
"dev": true "dev": true
}, },
"typescript": { "typescript": {
"version": "4.7.4", "version": "4.8.4",
"resolved": "https://registry.npmmirror.com/typescript/-/typescript-4.7.4.tgz", "resolved": "https://registry.npmmirror.com/typescript/-/typescript-4.8.4.tgz",
"integrity": "sha512-C0WQT0gezHuw6AdY1M2jxUO83Rjf0HP7Sk1DtXj6j1EwkQNZrHAg2XPWlq62oqEhYvONq5pkC2Y9oPljWToLmQ==", "integrity": "sha512-QCh+85mCy+h0IGff8r5XWzOVSbBO+KfeYrMQh7NJ58QujwcE22u+NUSmUxqF+un70P9GXKxa2HCNiTTMJknyjQ==",
"devOptional": true "devOptional": true
}, },
"ufo": { "ufo": {
...@@ -8843,14 +8934,24 @@ ...@@ -8843,14 +8934,24 @@
"@vue/devtools-api": "^6.4.5" "@vue/devtools-api": "^6.4.5"
} }
}, },
"vue-template-compiler": {
"version": "2.7.13",
"resolved": "https://registry.npmmirror.com/vue-template-compiler/-/vue-template-compiler-2.7.13.tgz",
"integrity": "sha512-jYM6TClwDS9YqP48gYrtAtaOhRKkbYmbzE+Q51gX5YDr777n7tNI/IZk4QV4l/PjQPNh/FVa/E92sh/RqKMrog==",
"dev": true,
"requires": {
"de-indent": "^1.0.2",
"he": "^1.2.0"
}
},
"vue-tsc": { "vue-tsc": {
"version": "0.39.5", "version": "1.0.9",
"resolved": "https://registry.npmmirror.com/vue-tsc/-/vue-tsc-0.39.5.tgz", "resolved": "https://registry.npmmirror.com/vue-tsc/-/vue-tsc-1.0.9.tgz",
"integrity": "sha512-jhTsrKhZkafpIeN4Cbhr1K53hNfa/oesSrlh7hUaeHyCk55VhZT6oJkwJbtqN4MYkWZIwPrm3/xTwsELuf2ocg==", "integrity": "sha512-vRmHD1K6DmBymNhoHjQy/aYKTRQNLGOu2/ESasChG9Vy113K6CdP0NlhR0bzgFJfv2eFB9Ez/9L5kIciUajBxQ==",
"dev": true, "dev": true,
"requires": { "requires": {
"@volar/vue-language-core": "0.39.5", "@volar/vue-language-core": "1.0.9",
"@volar/vue-typescript": "0.39.5" "@volar/vue-typescript": "1.0.9"
} }
}, },
"webpack-sources": { "webpack-sources": {
......
...@@ -17,27 +17,28 @@ ...@@ -17,27 +17,28 @@
"axios": "^1.1.3", "axios": "^1.1.3",
"blueimp-md5": "^2.19.0", "blueimp-md5": "^2.19.0",
"element-plus": "^2.2.19", "element-plus": "^2.2.19",
"pinia": "^2.0.17", "pinia": "^2.0.23",
"qs": "^6.11.0", "qs": "^6.11.0",
"vue": "^3.2.37", "vue": "^3.2.41",
"vue-router": "^4.1.3" "vue-router": "^4.1.6"
}, },
"devDependencies": { "devDependencies": {
"@rushstack/eslint-patch": "^1.1.4", "@rushstack/eslint-patch": "^1.2.0",
"@types/blueimp-md5": "^2.18.0", "@types/blueimp-md5": "^2.18.0",
"@types/node": "^16.11.47", "@types/node": "^18.11.8",
"@vitejs/plugin-vue": "^3.0.1", "@types/qs": "^6.9.7",
"@vue/eslint-config-typescript": "^11.0.0", "@vitejs/plugin-vue": "^3.2.0",
"@vue/eslint-config-typescript": "^11.0.2",
"@vue/tsconfig": "^0.1.3", "@vue/tsconfig": "^0.1.3",
"ali-oss": "^6.17.1", "ali-oss": "^6.17.1",
"chalk": "^5.1.2", "chalk": "^5.1.2",
"eslint": "^8.21.0", "eslint": "^8.26.0",
"eslint-plugin-vue": "^9.3.0", "eslint-plugin-vue": "^9.6.0",
"npm-run-all": "^4.1.5", "npm-run-all": "^4.1.5",
"sass": "^1.55.0", "sass": "^1.55.0",
"typescript": "~4.7.4", "typescript": "~4.8.4",
"unplugin-auto-import": "^0.11.4", "unplugin-auto-import": "^0.11.4",
"vite": "^3.0.4", "vite": "^3.2.1",
"vue-tsc": "^0.39.5" "vue-tsc": "^1.0.9"
} }
} }
...@@ -14,7 +14,7 @@ interface Props { ...@@ -14,7 +14,7 @@ interface Props {
} }
const props = withDefaults(defineProps<Props>(), { const props = withDefaults(defineProps<Props>(), {
prefix: 'upload/saas-lab/' prefix: 'upload/zws/'
}) })
const emit = defineEmits(['update:modelValue', 'success']) const emit = defineEmits(['update:modelValue', 'success'])
......
<script lang="ts">
const DEFAULT_OPTIONS = {
controls: true,
autoplay: false,
controlBar: {
pictureInPictureToggle: false
},
// fluid: true,
responsive: true
// playbackRates: [0.5, 1, 1.5, 2]
}
const DEFAULT_EVENTS = [
'abort',
'canplay',
'canplaythrough',
'durationchange',
'emptied',
'ended',
'error',
'loadeddata',
'loadedmetadata',
'pause',
'play',
'playing',
'progress',
'ratechange',
'resize',
'seeked',
'seeking',
'stalled',
'suspend',
'timeupdate',
'volumechange',
'waiting'
]
</script>
<script setup lang="ts">
import videojs from 'video.js'
import type { VideoJsPlayerOptions, VideoJsPlayer } from 'video.js'
import 'video.js/dist/video-js.css'
interface Props {
src?: string | { src: string; type?: string }
options?: VideoJsPlayerOptions
}
const props = defineProps<Props>()
const emit = defineEmits(['ready', ...DEFAULT_EVENTS])
let player = $ref<VideoJsPlayer | null>()
const videoRef = $ref<HTMLVideoElement>()
const videoOptions = $computed<VideoJsPlayerOptions>(() => {
return Object.assign({}, DEFAULT_OPTIONS, props.options)
})
watch(
() => props.src,
src => {
src && changeSrc(src)
},
{ deep: true, immediate: true }
)
// 初始化播放器
function initPlayer() {
if (!videoRef) return
if (player) {
player.dispose()
player = null
}
player = videojs(videoRef, videoOptions, function onPlayerReady() {
props.src && changeSrc(props.src)
// 注册事件
DEFAULT_EVENTS.forEach(eventName => {
this.on(eventName, (...arg) => {
// console.log(eventName, ...arg)
emit(eventName, ...arg)
})
})
emit('ready', this)
})
return player
}
function changeSrc(src: string | { src: string; type?: string }) {
if (!player || !src) return
// if (!player.paused()) {
// console.log(2)
// player.pause()
// }
player.src(src)
// player.load()
// player.play()
}
onMounted(() => {
initPlayer()
})
onUnmounted(() => {
player && player.dispose()
})
</script>
<template>
<video class="video-js vjs-default-skin vjs-big-play-centered" ref="videoRef"></video>
</template>
<style>
.video-js {
font-size: 12px;
}
</style>
<script setup lang="ts">
import Editor from '@tinymce/tinymce-vue'
import md5 from 'blueimp-md5'
import { getSignature, uploadFile } from '@/api/base'
const props = defineProps({
height: {
type: Number,
default: 600
}
})
const ImageUploadHandler = (blobInfo: any) =>
new Promise((resolve, reject) => {
const file = blobInfo.blob()
getSignature()
.then((response: any) => {
const prefix = 'upload/admin/'
const key = prefix + md5(file.name + new Date().getTime()) + file.name.substr(file.name.lastIndexOf('.'))
const { accessid, policy, signature, host } = response
const params = {
key,
OSSAccessKeyId: accessid,
policy,
signature,
success_action_status: '200',
file,
url: `${host}/${key}`
}
uploadFile(params)
.then((res: any) => {
resolve(res.url)
})
.catch(() => {
reject('上传失败')
})
})
.catch(() => {
reject('获取Signature失败')
})
})
const init = {
language: 'zh-Hans',
height: props.height,
menubar: false,
statusbar: false,
plugins: 'table charmap fullscreen lists link code preview quickbars',
toolbar:
'undo redo | fontsizeselect lineheight bold italic underline strikethrough forecolor backcolor | link quickimage image media table | align hangingindent indent outdent numlist bullist | charmap blockquote hr fullscreen | code preview',
// font_formats:
// '微软雅黑=Microsoft YaHei,Helvetica Neue,PingFang SC,sans-serif;苹果苹方=PingFang SC,Microsoft YaHei,sans-serif;宋体=simsun,serif;仿宋体=FangSong,serif;黑体=SimHei,sans-serif;Arial=arial,helvetica,sans-serif;Times New Roman',
fontsize_formats: '8px 10px 12px 14px 15px 16px 17px 18px 20px 24px',
lineheight_formats: '0.5 1 1.2 1.5 2',
images_upload_handler: ImageUploadHandler,
automatic_uploads: true,
quickbars_insert_toolbar: false,
// style_formats: [{ title: '悬挂缩进', block: 'p', styles: { textIndent: '-2em', paddingLeft: '2em' } }],
content_style: 'img {max-width:100%;}'
}
</script>
<template>
<editor :init="init" v-bind="$attrs" style="width: 100%" />
</template>
import { defineStore } from 'pinia'
import { getMapList } from '@/api/base'
interface State {
mapList: IMapState[]
}
interface IMapState {
id: string
key: string
name: string
remark: string
values: IValuesList[]
}
interface IValuesList {
data_dictionary_id: string
id: string
label: string
remark: string
sort: string
value: string
}
export const useMapStore = defineStore({
id: 'map',
state: (): State => {
return {
mapList: []
}
},
getters: {
getMapValuesByKey: state => {
return (key: string) => state.mapList.find(map => map.key === key)?.values || []
}
},
actions: {
async getMapList() {
const res = await getMapList()
this.mapList = res.data || []
}
}
})
useMapStore().getMapList()
// json to array // json to array
export const json2Array = function (data, isValueToNumber = true) { export const json2Array = function (data: any, isValueToNumber = true) {
return Object.keys(data).map(value => ({ label: data[value], value: isValueToNumber ? parseInt(value) : value })) return Object.keys(data).map(value => ({ label: data[value], value: isValueToNumber ? parseInt(value) : value }))
} }
// 组卷模式
export const paperType = {
1: '选题组卷',
2: '自动组卷',
3: '自由组卷'
}
// 组卷模式列表
export const paperTypeList = json2Array(paperType)
// 试题类型
export const questionType = {
1: '单选题',
2: '多选题',
3: '问答题',
5: '案例题',
6: '判断题',
7: '实操题',
8: '情景题'
}
// 试题类型列表
export const questionTypeList = json2Array(questionType, false)
// 试题难度
export const questionDifficulty = {
1: '易',
2: '中',
3: '难',
0: '无'
}
// 试题难度列表
export const questionDifficultyList = json2Array(questionDifficulty, false)
...@@ -7,7 +7,7 @@ import vue from '@vitejs/plugin-vue' ...@@ -7,7 +7,7 @@ import vue from '@vitejs/plugin-vue'
import AutoImport from 'unplugin-auto-import/vite' import AutoImport from 'unplugin-auto-import/vite'
export default defineConfig(({ mode }) => ({ export default defineConfig(({ mode }) => ({
base: mode === 'prod' ? 'https://webapp-pub.ezijing.com/website/prod/saas-lab/' : '/', base: mode === 'prod' ? 'https://webapp-pub.ezijing.com/website/prod/zws/' : '/',
plugins: [ plugins: [
vue({ reactivityTransform: true }), vue({ reactivityTransform: true }),
AutoImport({ AutoImport({
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论