From 387ef0999bfa880ff3909fd0aa40549e17c09fee Mon Sep 17 00:00:00 2001 From: yuetsh <517252939@qq.com> Date: Sun, 23 Apr 2023 10:24:37 +0800 Subject: [PATCH] admin config. --- package-lock.json | 266 +++++++++++++++++++++-------------- package.json | 18 +-- src/admin/setting/config.vue | 54 ++++--- src/auto-imports.d.ts | 9 ++ 4 files changed, 216 insertions(+), 131 deletions(-) diff --git a/package-lock.json b/package-lock.json index b14ec2c..983a8d1 100644 --- a/package-lock.json +++ b/package-lock.json @@ -11,7 +11,7 @@ "@codemirror/lang-cpp": "^6.0.2", "@codemirror/lang-python": "^6.1.2", "@element-plus/icons-vue": "^2.1.0", - "@vueuse/core": "^9.13.0", + "@vueuse/core": "^10.1.0", "@wangeditor/editor": "^5.1.23", "@wangeditor/editor-for-vue": "^5.1.12", "axios": "1.3.5", @@ -23,7 +23,7 @@ "naive-ui": "^2.34.3", "normalize.css": "^8.0.1", "party-js": "^2.2.0", - "pinia": "^2.0.34", + "pinia": "^2.0.35", "vue": "^3.2.47", "vue-chartjs": "^5.2.0", "vue-codemirror": "^6.1.1", @@ -31,19 +31,19 @@ }, "devDependencies": { "@iconify-json/ep": "^1.1.10", - "@types/node": "^18.15.11", + "@types/node": "^18.15.13", "@vitejs/plugin-legacy": "^4.0.2", "@vitejs/plugin-vue": "^4.1.0", - "markdown-it-shiki": "^0.8.0", + "markdown-it-shiki": "^0.8.1", "prettier": "^2.8.7", - "terser": "^5.16.9", + "terser": "^5.17.1", "typescript": "^5.0.4", - "unplugin-auto-import": "^0.15.2", + "unplugin-auto-import": "^0.15.3", "unplugin-icons": "^0.16.1", "unplugin-vue-components": "^0.24.1", - "vite": "^4.2.1", - "vite-plugin-vue-markdown": "^0.22.4", - "vue-tsc": "^1.2.0" + "vite": "^4.3.1", + "vite-plugin-vue-markdown": "^0.22.6", + "vue-tsc": "^1.4.4" } }, "node_modules/@ampproject/remapping": { @@ -2351,9 +2351,9 @@ } }, "node_modules/@mdit-vue/plugin-component": { - "version": "0.11.2", - "resolved": "https://registry.npmmirror.com/@mdit-vue/plugin-component/-/plugin-component-0.11.2.tgz", - "integrity": "sha512-ucFiEULCkLcCG1Tf1MfG5u5PS4BIXWIeKGHRGsXxz1ix2GbZWKFVgWEdNEckBu8s75Fv1WJLIOiAYZyri2f1nw==", + "version": "0.12.0", + "resolved": "https://registry.npmmirror.com/@mdit-vue/plugin-component/-/plugin-component-0.12.0.tgz", + "integrity": "sha512-LrwV3f0Y6H7b7m/w1Y3bkGuR3HOiBK4QiHHW3HuRMza6MZodDQbj8Baik5/V5GiSg1/ltijS1CymVcycd1EfTw==", "dev": true, "dependencies": { "@types/markdown-it": "^12.2.3", @@ -2361,21 +2361,21 @@ } }, "node_modules/@mdit-vue/plugin-frontmatter": { - "version": "0.11.1", - "resolved": "https://registry.npmmirror.com/@mdit-vue/plugin-frontmatter/-/plugin-frontmatter-0.11.1.tgz", - "integrity": "sha512-AdZJInjD1pTJXlfhuoBS5ycuIQ3ewBfY0R/XHM3TRDEaDHQJHxouUCpCyijZmpdljTU45lFetIowaKtAi7GBog==", + "version": "0.12.0", + "resolved": "https://registry.npmmirror.com/@mdit-vue/plugin-frontmatter/-/plugin-frontmatter-0.12.0.tgz", + "integrity": "sha512-26Y3JktjGgNoCVH7NLqi5RcdAauAqxepTt2qXueRcRHtGpiRQV2/M1FveIhCOTCtHSuG5bBOHUxGaV6vRK3Vbw==", "dev": true, "dependencies": { - "@mdit-vue/types": "0.11.0", + "@mdit-vue/types": "0.12.0", "@types/markdown-it": "^12.2.3", "gray-matter": "^4.0.3", "markdown-it": "^13.0.1" } }, "node_modules/@mdit-vue/types": { - "version": "0.11.0", - "resolved": "https://registry.npmmirror.com/@mdit-vue/types/-/types-0.11.0.tgz", - "integrity": "sha512-ygCGP7vFpqS02hpZwEe1uz8cfImWX06+zRs08J+tCZRKb6k+easIaIHFtY9ZSxt7j9L/gAPLDo/5RmOT6z0DPQ==", + "version": "0.12.0", + "resolved": "https://registry.npmmirror.com/@mdit-vue/types/-/types-0.12.0.tgz", + "integrity": "sha512-mrC4y8n88BYvgcgzq9bvTlDgFyi2zuvzmPilRvRc3Uz1iIvq8mDhxJ0rHKFUNzPEScpDvJdIujqiDrulMqiudA==", "dev": true }, "node_modules/@nodelib/fs.scandir": { @@ -2566,9 +2566,9 @@ "dev": true }, "node_modules/@types/node": { - "version": "18.15.11", - "resolved": "https://registry.npmmirror.com/@types/node/-/node-18.15.11.tgz", - "integrity": "sha512-E5Kwq2n4SbMzQOn6wnmBjuK9ouqlURrcZDVfbo9ftDDTFt3nk7ZKK4GMOzoYgnpQJKcxwQw+lGaBvvlMo0qN/Q==", + "version": "18.15.13", + "resolved": "https://registry.npmmirror.com/@types/node/-/node-18.15.13.tgz", + "integrity": "sha512-N+0kuo9KgrUQ1Sn/ifDXsvg0TTleP7rIy4zOBGECxAljqvqfqpTfzx0Q1NUedOixRMBfe2Whhb056a42cWs26Q==", "dev": true }, "node_modules/@types/web-bluetooth": { @@ -2674,69 +2674,75 @@ } }, "node_modules/@volar/language-core": { - "version": "1.3.0-alpha.0", - "resolved": "https://registry.npmmirror.com/@volar/language-core/-/language-core-1.3.0-alpha.0.tgz", - "integrity": "sha512-W3uMzecHPcbwddPu4SJpUcPakRBK/y/BP+U0U6NiPpUX1tONLC4yCawt+QBJqtgJ+sfD6ztf5PyvPL3hQRqfOA==", + "version": "1.4.1", + "resolved": "https://registry.npmmirror.com/@volar/language-core/-/language-core-1.4.1.tgz", + "integrity": "sha512-EIY+Swv+TjsWpxOxujjMf1ZXqOjg9MT2VMXZ+1dKva0wD8W0L6EtptFFcCJdBbcKmGMFkr57Qzz9VNMWhs3jXQ==", "dev": true, "dependencies": { - "@volar/source-map": "1.3.0-alpha.0" + "@volar/source-map": "1.4.1" } }, "node_modules/@volar/source-map": { - "version": "1.3.0-alpha.0", - "resolved": "https://registry.npmmirror.com/@volar/source-map/-/source-map-1.3.0-alpha.0.tgz", - "integrity": "sha512-jSdizxWFvDTvkPYZnO6ew3sBZUnS0abKCbuopkc0JrIlFbznWC/fPH3iPFIMS8/IIkRxq1Jh9VVG60SmtsdaMQ==", + "version": "1.4.1", + "resolved": "https://registry.npmmirror.com/@volar/source-map/-/source-map-1.4.1.tgz", + "integrity": "sha512-bZ46ad72dsbzuOWPUtJjBXkzSQzzSejuR3CT81+GvTEI2E994D8JPXzM3tl98zyCNnjgs4OkRyliImL1dvJ5BA==", "dev": true, "dependencies": { "muggle-string": "^0.2.2" } }, "node_modules/@volar/typescript": { - "version": "1.3.0-alpha.0", - "resolved": "https://registry.npmmirror.com/@volar/typescript/-/typescript-1.3.0-alpha.0.tgz", - "integrity": "sha512-5UItyW2cdH2mBLu4RrECRNJRgtvvzKrSCn2y3v/D61QwIDkGx4aeil6x8RFuUL5TFtV6QvVHXnsOHxNgd+sCow==", + "version": "1.4.1", + "resolved": "https://registry.npmmirror.com/@volar/typescript/-/typescript-1.4.1.tgz", + "integrity": "sha512-phTy6p9yG6bgMIKQWEeDOi/aeT0njZsb1a/G1mrEuDsLmAn24Le4gDwSsGNhea6Uhu+3gdpUZn2PmZXa+WG2iQ==", "dev": true, "dependencies": { - "@volar/language-core": "1.3.0-alpha.0" + "@volar/language-core": "1.4.1" + }, + "peerDependencies": { + "typescript": "*" } }, "node_modules/@volar/vue-language-core": { - "version": "1.2.0", - "resolved": "https://registry.npmmirror.com/@volar/vue-language-core/-/vue-language-core-1.2.0.tgz", - "integrity": "sha512-w7yEiaITh2WzKe6u8ZdeLKCUz43wdmY/OqAmsB/PGDvvhTcVhCJ6f0W/RprZL1IhqH8wALoWiwEh/Wer7ZviMQ==", + "version": "1.4.4", + "resolved": "https://registry.npmmirror.com/@volar/vue-language-core/-/vue-language-core-1.4.4.tgz", + "integrity": "sha512-c3hL6un+CfoOlusGvpypcodmk9ke/ImrWIUc0GkgI+imoQpUGzgu3tEQWlPs604R7AhxeZwWUi8hQNfax0R/zA==", "dev": true, "dependencies": { - "@volar/language-core": "1.3.0-alpha.0", - "@volar/source-map": "1.3.0-alpha.0", - "@vue/compiler-dom": "^3.2.47", - "@vue/compiler-sfc": "^3.2.47", - "@vue/reactivity": "^3.2.47", - "@vue/shared": "^3.2.47", - "minimatch": "^6.1.6", + "@volar/language-core": "1.4.1", + "@volar/source-map": "1.4.1", + "@vue/compiler-dom": "^3.2.0", + "@vue/compiler-sfc": "^3.2.0", + "@vue/reactivity": "^3.2.0", + "@vue/shared": "^3.2.0", + "minimatch": "^9.0.0", "muggle-string": "^0.2.2", "vue-template-compiler": "^2.7.14" } }, "node_modules/@volar/vue-language-core/node_modules/minimatch": { - "version": "6.2.0", - "resolved": "https://registry.npmmirror.com/minimatch/-/minimatch-6.2.0.tgz", - "integrity": "sha512-sauLxniAmvnhhRjFwPNnJKaPFYyddAgbYdeUpHULtCT/GhzdCx/MDNy+Y40lBxTQUrMzDE8e0S43Z5uqfO0REg==", + "version": "9.0.0", + "resolved": "https://registry.npmmirror.com/minimatch/-/minimatch-9.0.0.tgz", + "integrity": "sha512-0jJj8AvgKqWN05mrwuqi8QYKx1WmYSUoKSxu5Qhs9prezTz10sxAHGNZe9J9cqIJzta8DWsleh2KaVaLl6Ru2w==", "dev": true, "dependencies": { "brace-expansion": "^2.0.1" }, "engines": { - "node": ">=10" + "node": ">=16 || 14 >=14.17" } }, "node_modules/@volar/vue-typescript": { - "version": "1.2.0", - "resolved": "https://registry.npmmirror.com/@volar/vue-typescript/-/vue-typescript-1.2.0.tgz", - "integrity": "sha512-zjmRi9y3J1EkG+pfuHp8IbHmibihrKK485cfzsHjiuvJMGrpkWvlO5WVEk8oslMxxeGC5XwBFE9AOlvh378EPA==", + "version": "1.4.4", + "resolved": "https://registry.npmmirror.com/@volar/vue-typescript/-/vue-typescript-1.4.4.tgz", + "integrity": "sha512-L61Fk15jlJw3QtIddD4cVE5jei5i6zbLJRiaEMYDDnUKB259/qUrdvnMfnZUFVyDwlevzdstjtaUyreeG/0nPQ==", "dev": true, "dependencies": { - "@volar/typescript": "1.3.0-alpha.0", - "@volar/vue-language-core": "1.2.0" + "@volar/typescript": "1.4.1", + "@volar/vue-language-core": "1.4.4" + }, + "peerDependencies": { + "typescript": "*" } }, "node_modules/@vue/compiler-core": { @@ -2868,27 +2874,71 @@ "integrity": "sha512-BHGyyGN3Q97EZx0taMQ+OLNuZcW3d37ZEVmEAyeoA9ERdGvm9Irc/0Fua8SNyOtV1w6BS4q25wbMzJujO9HIfQ==" }, "node_modules/@vueuse/core": { - "version": "9.13.0", - "resolved": "https://registry.npmmirror.com/@vueuse/core/-/core-9.13.0.tgz", - "integrity": "sha512-pujnclbeHWxxPRqXWmdkKV5OX4Wk4YeK7wusHqRwU0Q7EFusHoqNA/aPhB6KCh9hEqJkLAJo7bb0Lh9b+OIVzw==", + "version": "10.1.0", + "resolved": "https://registry.npmmirror.com/@vueuse/core/-/core-10.1.0.tgz", + "integrity": "sha512-3Znoa5m5RO+z4/C9w6DRaKTR3wCVJvD5rav8HTDGsr+7rOZRHtcgFJ8NcCs0ZvIpmev2kExTa311ns5j2RbzDQ==", "dependencies": { "@types/web-bluetooth": "^0.0.16", - "@vueuse/metadata": "9.13.0", - "@vueuse/shared": "9.13.0", - "vue-demi": "*" + "@vueuse/metadata": "10.1.0", + "@vueuse/shared": "10.1.0", + "vue-demi": ">=0.14.0" + } + }, + "node_modules/@vueuse/core/node_modules/vue-demi": { + "version": "0.14.0", + "resolved": "https://registry.npmmirror.com/vue-demi/-/vue-demi-0.14.0.tgz", + "integrity": "sha512-gt58r2ogsNQeVoQ3EhoUAvUsH9xviydl0dWJj7dabBC/2L4uBId7ujtCwDRD0JhkGsV1i0CtfLAeyYKBht9oWg==", + "hasInstallScript": true, + "bin": { + "vue-demi-fix": "bin/vue-demi-fix.js", + "vue-demi-switch": "bin/vue-demi-switch.js" + }, + "engines": { + "node": ">=12" + }, + "peerDependencies": { + "@vue/composition-api": "^1.0.0-rc.1", + "vue": "^3.0.0-0 || ^2.6.0" + }, + "peerDependenciesMeta": { + "@vue/composition-api": { + "optional": true + } } }, "node_modules/@vueuse/metadata": { - "version": "9.13.0", - "resolved": "https://registry.npmmirror.com/@vueuse/metadata/-/metadata-9.13.0.tgz", - "integrity": "sha512-gdU7TKNAUVlXXLbaF+ZCfte8BjRJQWPCa2J55+7/h+yDtzw3vOoGQDRXzI6pyKyo6bXFT5/QoPE4hAknExjRLQ==" + "version": "10.1.0", + "resolved": "https://registry.npmmirror.com/@vueuse/metadata/-/metadata-10.1.0.tgz", + "integrity": "sha512-cM28HjDEw5FIrPE9rgSPFZvQ0ZYnOLAOr8hl1XM6tFl80U3WAR5ROdnAqiYybniwP5gt9MKKAJAqd/ab2aHkqg==" }, "node_modules/@vueuse/shared": { - "version": "9.13.0", - "resolved": "https://registry.npmmirror.com/@vueuse/shared/-/shared-9.13.0.tgz", - "integrity": "sha512-UrnhU+Cnufu4S6JLCPZnkWh0WwZGUp72ktOF2DFptMlOs3TOdVv8xJN53zhHGARmVOsz5KqOls09+J1NR6sBKw==", + "version": "10.1.0", + "resolved": "https://registry.npmmirror.com/@vueuse/shared/-/shared-10.1.0.tgz", + "integrity": "sha512-2X52ogu12i9DkKOQ01yeb/BKg9UO87RNnpm5sXkQvyORlbq8ONS5l39MYkjkeVWWjdT0teJru7a2S41dmHmqjQ==", "dependencies": { - "vue-demi": "*" + "vue-demi": ">=0.14.0" + } + }, + "node_modules/@vueuse/shared/node_modules/vue-demi": { + "version": "0.14.0", + "resolved": "https://registry.npmmirror.com/vue-demi/-/vue-demi-0.14.0.tgz", + "integrity": "sha512-gt58r2ogsNQeVoQ3EhoUAvUsH9xviydl0dWJj7dabBC/2L4uBId7ujtCwDRD0JhkGsV1i0CtfLAeyYKBht9oWg==", + "hasInstallScript": true, + "bin": { + "vue-demi-fix": "bin/vue-demi-fix.js", + "vue-demi-switch": "bin/vue-demi-switch.js" + }, + "engines": { + "node": ">=12" + }, + "peerDependencies": { + "@vue/composition-api": "^1.0.0-rc.1", + "vue": "^3.0.0-0 || ^2.6.0" + }, + "peerDependenciesMeta": { + "@vue/composition-api": { + "optional": true + } } }, "node_modules/@wangeditor/basic-modules": { @@ -4485,8 +4535,6 @@ "resolved": "https://registry.npmmirror.com/lru-cache/-/lru-cache-6.0.0.tgz", "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", "dev": true, - "optional": true, - "peer": true, "dependencies": { "yallist": "^4.0.0" }, @@ -4525,9 +4573,9 @@ } }, "node_modules/markdown-it-shiki": { - "version": "0.8.0", - "resolved": "https://registry.npmmirror.com/markdown-it-shiki/-/markdown-it-shiki-0.8.0.tgz", - "integrity": "sha512-RsMhQPFnQlXIlTdu94cYjCKeX3G3JmAijICB1BuoIZn12HEWIGGF970tytOq1404ioM3mXkETjXtBu7D73BzWQ==", + "version": "0.8.1", + "resolved": "https://registry.npmmirror.com/markdown-it-shiki/-/markdown-it-shiki-0.8.1.tgz", + "integrity": "sha512-x3R9nxmOMGai+ZWNL+KpiA6f39xplB7ssyeOrptwlMVPRSMVBnKFi66acIqqbUjK2o8caH48B+sWwL0/8ljAOA==", "dev": true, "dependencies": { "shiki": "^0.14.1", @@ -4926,9 +4974,9 @@ } }, "node_modules/pinia": { - "version": "2.0.34", - "resolved": "https://registry.npmmirror.com/pinia/-/pinia-2.0.34.tgz", - "integrity": "sha512-cgOoGUiyqX0SSgX8XelK9+Ri4XA2/YyNtgjogwfzIx1g7iZTaZPxm7/bZYMCLU2qHRiHhxG7SuQO0eBacFNc2Q==", + "version": "2.0.35", + "resolved": "https://registry.npmmirror.com/pinia/-/pinia-2.0.35.tgz", + "integrity": "sha512-P1IKKQWhxGXiiZ3atOaNI75bYlFUbRxtJdhPLX059Z7+b9Z04rnTZdSY8Aph1LA+/4QEMAYHsTQ638Wfe+6K5g==", "dependencies": { "@vue/devtools-api": "^6.5.0", "vue-demi": "*" @@ -5240,8 +5288,6 @@ "resolved": "https://registry.npmmirror.com/semver/-/semver-7.3.8.tgz", "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", "dev": true, - "optional": true, - "peer": true, "dependencies": { "lru-cache": "^6.0.0" }, @@ -5496,9 +5542,9 @@ } }, "node_modules/terser": { - "version": "5.16.9", - "resolved": "https://registry.npmmirror.com/terser/-/terser-5.16.9.tgz", - "integrity": "sha512-HPa/FdTB9XGI2H1/keLFZHxl6WNvAI4YalHGtDQTlMnJcoqSab1UwL4l1hGEhs6/GmLHBZIg/YgB++jcbzoOEg==", + "version": "5.17.1", + "resolved": "https://registry.npmmirror.com/terser/-/terser-5.17.1.tgz", + "integrity": "sha512-hVl35zClmpisy6oaoKALOpS0rDYLxRFLHhRuDlEGTKey9qHjS1w9GMORjuwIMt70Wan4lwsLYyWDVnWgF+KUEw==", "dev": true, "dependencies": { "@jridgewell/source-map": "^0.3.2", @@ -5689,17 +5735,17 @@ } }, "node_modules/unplugin-auto-import": { - "version": "0.15.2", - "resolved": "https://registry.npmmirror.com/unplugin-auto-import/-/unplugin-auto-import-0.15.2.tgz", - "integrity": "sha512-Wivfu+xccgvEZG8QtZcIvt6napfX9wyOFqM//7FHOtev8+k+dp3ykiqsEl6TODgHmqTTBeQX4Ah1JvRgUNjlkg==", + "version": "0.15.3", + "resolved": "https://registry.npmmirror.com/unplugin-auto-import/-/unplugin-auto-import-0.15.3.tgz", + "integrity": "sha512-RLT8SqbPn4bT7yBshZId0uPSofKWnwr66RyDaxWaFb/+f7OTDOWAsVNz+hOQLBWSjvbekr2xZY9ccS8TDHJbCQ==", "dev": true, "dependencies": { "@antfu/utils": "^0.7.2", "@rollup/pluginutils": "^5.0.2", "local-pkg": "^0.4.3", "magic-string": "^0.30.0", - "minimatch": "^7.4.3", - "unimport": "^3.0.3", + "minimatch": "^9.0.0", + "unimport": "^3.0.6", "unplugin": "^1.3.1" }, "engines": { @@ -5730,10 +5776,22 @@ "node": ">=12" } }, + "node_modules/unplugin-auto-import/node_modules/minimatch": { + "version": "9.0.0", + "resolved": "https://registry.npmmirror.com/minimatch/-/minimatch-9.0.0.tgz", + "integrity": "sha512-0jJj8AvgKqWN05mrwuqi8QYKx1WmYSUoKSxu5Qhs9prezTz10sxAHGNZe9J9cqIJzta8DWsleh2KaVaLl6Ru2w==", + "dev": true, + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + } + }, "node_modules/unplugin-auto-import/node_modules/unimport": { - "version": "3.0.4", - "resolved": "https://registry.npmmirror.com/unimport/-/unimport-3.0.4.tgz", - "integrity": "sha512-eoof/HLiNJcIkVpnqc7sJbzKSLx39J6xTaP7E4ElgVQKeq2t9fPTkvJKcA55IJTaRPkEkDq8kcc/IZPmrypnFg==", + "version": "3.0.6", + "resolved": "https://registry.npmmirror.com/unimport/-/unimport-3.0.6.tgz", + "integrity": "sha512-GYxGJ1Bri1oqx8VFDjdgooGzeK7jBk3bvhXmamTIpu3nONOcUMGwZbX7X0L5RA7OWMXpR4vzpSQP7pXUzJg1/Q==", "dev": true, "dependencies": { "@rollup/pluginutils": "^5.0.2", @@ -5880,15 +5938,14 @@ } }, "node_modules/vite": { - "version": "4.2.1", - "resolved": "https://registry.npmmirror.com/vite/-/vite-4.2.1.tgz", - "integrity": "sha512-7MKhqdy0ISo4wnvwtqZkjke6XN4taqQ2TBaTccLIpOKv7Vp2h4Y+NpmWCnGDeSvvn45KxvWgGyb0MkHvY1vgbg==", + "version": "4.3.1", + "resolved": "https://registry.npmmirror.com/vite/-/vite-4.3.1.tgz", + "integrity": "sha512-EPmfPLAI79Z/RofuMvkIS0Yr091T2ReUoXQqc5ppBX/sjFRhHKiPPF/R46cTdoci/XgeQpB23diiJxq5w30vdg==", "dev": true, "dependencies": { "esbuild": "^0.17.5", "postcss": "^8.4.21", - "resolve": "^1.22.1", - "rollup": "^3.18.0" + "rollup": "^3.20.2" }, "bin": { "vite": "bin/vite.js" @@ -5929,15 +5986,15 @@ } }, "node_modules/vite-plugin-vue-markdown": { - "version": "0.22.4", - "resolved": "https://registry.npmmirror.com/vite-plugin-vue-markdown/-/vite-plugin-vue-markdown-0.22.4.tgz", - "integrity": "sha512-+kDzqGI5Lq0Wa6M4EJtV7cqOIHgGp6g4jcazXljQKLl9Og4fRs6FuGAPa2HiJ44Z9es85LAPiPbTjwrZEGEUKA==", + "version": "0.22.6", + "resolved": "https://registry.npmmirror.com/vite-plugin-vue-markdown/-/vite-plugin-vue-markdown-0.22.6.tgz", + "integrity": "sha512-BB0/yYoRO+4hceFZRgU/iAOpgklFvo/eHLapOkavIoDkP0jeoQubOMTEF8K4FuYRX9jaN5WcP2TrfhUgc7RuUg==", "dev": true, "dependencies": { "@antfu/utils": "^0.7.2", - "@mdit-vue/plugin-component": "^0.11.2", - "@mdit-vue/plugin-frontmatter": "^0.11.1", - "@mdit-vue/types": "^0.11.0", + "@mdit-vue/plugin-component": "^0.12.0", + "@mdit-vue/plugin-frontmatter": "^0.12.0", + "@mdit-vue/types": "^0.12.0", "@rollup/pluginutils": "^5.0.2", "@types/markdown-it": "^12.2.3", "markdown-it": "^13.0.1" @@ -6049,13 +6106,14 @@ } }, "node_modules/vue-tsc": { - "version": "1.2.0", - "resolved": "https://registry.npmmirror.com/vue-tsc/-/vue-tsc-1.2.0.tgz", - "integrity": "sha512-rIlzqdrhyPYyLG9zxsVRa+JEseeS9s8F2BbVVVWRRsTZvJO2BbhLEb2HW3MY+DFma0378tnIqs+vfTzbcQtRFw==", + "version": "1.4.4", + "resolved": "https://registry.npmmirror.com/vue-tsc/-/vue-tsc-1.4.4.tgz", + "integrity": "sha512-2XsCjF2mLo6gwOVcOpngwJkP8GzYQjNh20A+Pr2FGdsWzr9jjXJ0k08/DfcslfncsuCrTrnWtb4KEL3gcDtlNA==", "dev": true, "dependencies": { - "@volar/vue-language-core": "1.2.0", - "@volar/vue-typescript": "1.2.0" + "@volar/vue-language-core": "1.4.4", + "@volar/vue-typescript": "1.4.4", + "semver": "^7.3.8" }, "bin": { "vue-tsc": "bin/vue-tsc.js" @@ -6125,9 +6183,7 @@ "version": "4.0.0", "resolved": "https://registry.npmmirror.com/yallist/-/yallist-4.0.0.tgz", "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true, - "optional": true, - "peer": true + "dev": true }, "node_modules/yocto-queue": { "version": "0.1.0", diff --git a/package.json b/package.json index 26af0cf..9a0c4c8 100644 --- a/package.json +++ b/package.json @@ -13,7 +13,7 @@ "@codemirror/lang-cpp": "^6.0.2", "@codemirror/lang-python": "^6.1.2", "@element-plus/icons-vue": "^2.1.0", - "@vueuse/core": "^9.13.0", + "@vueuse/core": "^10.1.0", "@wangeditor/editor": "^5.1.23", "@wangeditor/editor-for-vue": "^5.1.12", "axios": "1.3.5", @@ -25,7 +25,7 @@ "naive-ui": "^2.34.3", "normalize.css": "^8.0.1", "party-js": "^2.2.0", - "pinia": "^2.0.34", + "pinia": "^2.0.35", "vue": "^3.2.47", "vue-chartjs": "^5.2.0", "vue-codemirror": "^6.1.1", @@ -33,18 +33,18 @@ }, "devDependencies": { "@iconify-json/ep": "^1.1.10", - "@types/node": "^18.15.11", + "@types/node": "^18.15.13", "@vitejs/plugin-legacy": "^4.0.2", "@vitejs/plugin-vue": "^4.1.0", - "markdown-it-shiki": "^0.8.0", + "markdown-it-shiki": "^0.8.1", "prettier": "^2.8.7", - "terser": "^5.16.9", + "terser": "^5.17.1", "typescript": "^5.0.4", - "unplugin-auto-import": "^0.15.2", + "unplugin-auto-import": "^0.15.3", "unplugin-icons": "^0.16.1", "unplugin-vue-components": "^0.24.1", - "vite": "^4.2.1", - "vite-plugin-vue-markdown": "^0.22.4", - "vue-tsc": "^1.2.0" + "vite": "^4.3.1", + "vite-plugin-vue-markdown": "^0.22.6", + "vue-tsc": "^1.4.4" } } diff --git a/src/admin/setting/config.vue b/src/admin/setting/config.vue index 7eae440..caf659a 100644 --- a/src/admin/setting/config.vue +++ b/src/admin/setting/config.vue @@ -11,9 +11,14 @@ import { import { Server } from "~/utils/types" import { parseTime } from "~/utils/functions" +interface Testcase { + id: string + create_time: string +} + const message = useMessage() -const columns: DataTableColumn[] = [ +const testcaseColumns: DataTableColumn[] = [ { title: "上次修改时间", key: "create_time" }, { title: "ID", key: "id" }, { @@ -68,7 +73,7 @@ const serverColumns: DataTableColumn[] = [ render: (row) => row.memory_usage + "%", width: 80, }, - { title: "IP", key: "ip", width: 100 }, + { title: "IP", key: "ip", width: 140 }, { title: "判题机版本", key: "judger_version" }, { title: "服务器 URL", key: "service_url" }, { @@ -85,9 +90,12 @@ const serverColumns: DataTableColumn[] = [ }, ] -const testcases = ref([]) +const testcases = ref([]) const token = ref("") const servers = ref([]) +const abnormalServers = computed(() => + servers.value.filter((item) => item.status === "abnormal") +) const websiteConfig = reactive({ website_base_url: "https://oj.hyyz.izhai.net", @@ -134,6 +142,14 @@ async function delJudgeServer(hostname: string) { message.success("删除成功") } +async function deleteAbnormalServers() { + const dels = abnormalServers.value.map((item) => + deleteJudgeServer(item.hostname) + ) + await Promise.all(dels) + message.success("删除成功") +} + onMounted(() => { getWebsiteConfig() getTestcases() @@ -178,8 +194,21 @@ onMounted(() => { - -
+ + +
接口凭证 {{ token }}
{ :data="servers" />
- +