添加 rating
This commit is contained in:
162
package-lock.json
generated
162
package-lock.json
generated
@@ -12,8 +12,8 @@
|
|||||||
"@codemirror/lang-html": "^6.4.9",
|
"@codemirror/lang-html": "^6.4.9",
|
||||||
"@codemirror/lang-javascript": "^6.2.3",
|
"@codemirror/lang-javascript": "^6.2.3",
|
||||||
"@fsegurai/codemirror-theme-github-light": "^6.1.2",
|
"@fsegurai/codemirror-theme-github-light": "^6.1.2",
|
||||||
"@vueuse/core": "^12.8.2",
|
"@vueuse/core": "^13.0.0",
|
||||||
"axios": "^1.8.1",
|
"axios": "^1.8.3",
|
||||||
"codemirror": "^6.0.1",
|
"codemirror": "^6.0.1",
|
||||||
"copy-text-to-clipboard": "^3.2.0",
|
"copy-text-to-clipboard": "^3.2.0",
|
||||||
"github-markdown-css": "^5.8.1",
|
"github-markdown-css": "^5.8.1",
|
||||||
@@ -29,8 +29,8 @@
|
|||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@iconify/vue": "^4.3.0",
|
"@iconify/vue": "^4.3.0",
|
||||||
"@rsbuild/core": "^1.2.14",
|
"@rsbuild/core": "^1.2.19",
|
||||||
"@rsbuild/plugin-vue": "^1.0.6",
|
"@rsbuild/plugin-vue": "^1.0.7",
|
||||||
"@vue/tsconfig": "^0.7.0",
|
"@vue/tsconfig": "^0.7.0",
|
||||||
"prettier": "^3.5.3",
|
"prettier": "^3.5.3",
|
||||||
"typescript": "^5.8.2",
|
"typescript": "^5.8.2",
|
||||||
@@ -450,16 +450,16 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@rsbuild/core": {
|
"node_modules/@rsbuild/core": {
|
||||||
"version": "1.2.14",
|
"version": "1.2.19",
|
||||||
"resolved": "https://registry.npmjs.org/@rsbuild/core/-/core-1.2.14.tgz",
|
"resolved": "https://registry.npmjs.org/@rsbuild/core/-/core-1.2.19.tgz",
|
||||||
"integrity": "sha512-G8AqvCHBhs8Yt7pOQuS5YYjdYozp436ohaLr1iAMB/Jw01VNFh4u1tpShudRnw3NPmHhJ82wBaEu1zNaJ0VsKg==",
|
"integrity": "sha512-k76is4HygmbYYMLG2V1d1yQeurHHC+ZEtGs/nwE11y6HmwSndoFhmjOeQbQ2Ul0b2B8HErksqSMtlCxd37YPPQ==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@rspack/core": "1.2.5",
|
"@rspack/core": "1.2.8",
|
||||||
"@rspack/lite-tapable": "~1.0.1",
|
"@rspack/lite-tapable": "~1.0.1",
|
||||||
"@swc/helpers": "^0.5.15",
|
"@swc/helpers": "^0.5.15",
|
||||||
"core-js": "~3.40.0",
|
"core-js": "~3.41.0",
|
||||||
"jiti": "^2.4.2"
|
"jiti": "^2.4.2"
|
||||||
},
|
},
|
||||||
"bin": {
|
"bin": {
|
||||||
@@ -470,9 +470,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@rsbuild/plugin-vue": {
|
"node_modules/@rsbuild/plugin-vue": {
|
||||||
"version": "1.0.6",
|
"version": "1.0.7",
|
||||||
"resolved": "https://registry.npmjs.org/@rsbuild/plugin-vue/-/plugin-vue-1.0.6.tgz",
|
"resolved": "https://registry.npmjs.org/@rsbuild/plugin-vue/-/plugin-vue-1.0.7.tgz",
|
||||||
"integrity": "sha512-02lfIR66q7dDacqzc3cnsOsZKbAEy8Lp89aLaCGjvR+eO5WT86h4pjUGdaKFLCSNr4gFcw8yn7eNels2uAPD7A==",
|
"integrity": "sha512-VIXFIU2gcpRjDxZNR9QUZjFqWu3oPZ5a5AUe8cyv2moJBQzRPJ18VtPnIIcdlQB36Q8lm2Do0SSVqkXAuui65g==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
@@ -484,27 +484,27 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@rspack/binding": {
|
"node_modules/@rspack/binding": {
|
||||||
"version": "1.2.5",
|
"version": "1.2.8",
|
||||||
"resolved": "https://registry.npmjs.org/@rspack/binding/-/binding-1.2.5.tgz",
|
"resolved": "https://registry.npmjs.org/@rspack/binding/-/binding-1.2.8.tgz",
|
||||||
"integrity": "sha512-q9vQmGDFZyFVMULwOFL7488WNSgn4ue94R/njDLMMIPF4K0oEJP2QT02elfG4KVGv2CbP63D7vEFN4ZNreo/Rw==",
|
"integrity": "sha512-T3FMB3N9P1AbSAryfkSRJkPtmeSYs/Gj9zUZoPz1ckPEIcWZmpUOQbJylldjbw5waxtCL1haHNbi0pcSvxiaJw==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"optionalDependencies": {
|
"optionalDependencies": {
|
||||||
"@rspack/binding-darwin-arm64": "1.2.5",
|
"@rspack/binding-darwin-arm64": "1.2.8",
|
||||||
"@rspack/binding-darwin-x64": "1.2.5",
|
"@rspack/binding-darwin-x64": "1.2.8",
|
||||||
"@rspack/binding-linux-arm64-gnu": "1.2.5",
|
"@rspack/binding-linux-arm64-gnu": "1.2.8",
|
||||||
"@rspack/binding-linux-arm64-musl": "1.2.5",
|
"@rspack/binding-linux-arm64-musl": "1.2.8",
|
||||||
"@rspack/binding-linux-x64-gnu": "1.2.5",
|
"@rspack/binding-linux-x64-gnu": "1.2.8",
|
||||||
"@rspack/binding-linux-x64-musl": "1.2.5",
|
"@rspack/binding-linux-x64-musl": "1.2.8",
|
||||||
"@rspack/binding-win32-arm64-msvc": "1.2.5",
|
"@rspack/binding-win32-arm64-msvc": "1.2.8",
|
||||||
"@rspack/binding-win32-ia32-msvc": "1.2.5",
|
"@rspack/binding-win32-ia32-msvc": "1.2.8",
|
||||||
"@rspack/binding-win32-x64-msvc": "1.2.5"
|
"@rspack/binding-win32-x64-msvc": "1.2.8"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@rspack/binding-darwin-arm64": {
|
"node_modules/@rspack/binding-darwin-arm64": {
|
||||||
"version": "1.2.5",
|
"version": "1.2.8",
|
||||||
"resolved": "https://registry.npmjs.org/@rspack/binding-darwin-arm64/-/binding-darwin-arm64-1.2.5.tgz",
|
"resolved": "https://registry.npmjs.org/@rspack/binding-darwin-arm64/-/binding-darwin-arm64-1.2.8.tgz",
|
||||||
"integrity": "sha512-ou0NXMLp6RxY9Bx8P9lA8ArVjz/WAI/gSu5kKrdKKtMs6WKutl4vvP9A4HHZnISd9Tn00dlvDwNeNSUR7fjoDQ==",
|
"integrity": "sha512-bDlrlroY3iMlzna/3i1gD6eRmhJW2zRyC3Ov6aR1micshVQ9RteigYZWkjZuQfyC5Z8dCcLUQJVojz+pqp0JXg==",
|
||||||
"cpu": [
|
"cpu": [
|
||||||
"arm64"
|
"arm64"
|
||||||
],
|
],
|
||||||
@@ -516,9 +516,9 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"node_modules/@rspack/binding-darwin-x64": {
|
"node_modules/@rspack/binding-darwin-x64": {
|
||||||
"version": "1.2.5",
|
"version": "1.2.8",
|
||||||
"resolved": "https://registry.npmjs.org/@rspack/binding-darwin-x64/-/binding-darwin-x64-1.2.5.tgz",
|
"resolved": "https://registry.npmjs.org/@rspack/binding-darwin-x64/-/binding-darwin-x64-1.2.8.tgz",
|
||||||
"integrity": "sha512-RdvH9YongQlDE9+T2Xh5D2+dyiLHx2Gz38Af1uObyBRNWjF1qbuR51hOas0f2NFUdyA03j1+HWZCbE7yZrmI3w==",
|
"integrity": "sha512-0/qOVbMuzZ+WbtDa4TbH46R4vph/W6MHcXbrXDO+vpdTMFDVJ64DnZXT7aqvGcY+7vTCIGm0GT+6ooR4KaIX8A==",
|
||||||
"cpu": [
|
"cpu": [
|
||||||
"x64"
|
"x64"
|
||||||
],
|
],
|
||||||
@@ -530,9 +530,9 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"node_modules/@rspack/binding-linux-arm64-gnu": {
|
"node_modules/@rspack/binding-linux-arm64-gnu": {
|
||||||
"version": "1.2.5",
|
"version": "1.2.8",
|
||||||
"resolved": "https://registry.npmjs.org/@rspack/binding-linux-arm64-gnu/-/binding-linux-arm64-gnu-1.2.5.tgz",
|
"resolved": "https://registry.npmjs.org/@rspack/binding-linux-arm64-gnu/-/binding-linux-arm64-gnu-1.2.8.tgz",
|
||||||
"integrity": "sha512-jznk/CI/wN93fr8I1j3la/CAiGf8aG7ZHIpRBtT4CkNze0c5BcF3AaJVSBHVNQqgSv0qddxMt3SADpzV8rWZ6g==",
|
"integrity": "sha512-En/SMl45s19iUVb1/ZDFQvFDxIjnlfk7yqV3drMWWAL5HSgksNejaTIFTO52aoohIBbmwuk5wSGcbU0G0IFiPg==",
|
||||||
"cpu": [
|
"cpu": [
|
||||||
"arm64"
|
"arm64"
|
||||||
],
|
],
|
||||||
@@ -544,9 +544,9 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"node_modules/@rspack/binding-linux-arm64-musl": {
|
"node_modules/@rspack/binding-linux-arm64-musl": {
|
||||||
"version": "1.2.5",
|
"version": "1.2.8",
|
||||||
"resolved": "https://registry.npmjs.org/@rspack/binding-linux-arm64-musl/-/binding-linux-arm64-musl-1.2.5.tgz",
|
"resolved": "https://registry.npmjs.org/@rspack/binding-linux-arm64-musl/-/binding-linux-arm64-musl-1.2.8.tgz",
|
||||||
"integrity": "sha512-oYzcaJ0xjb1fWbbtPmjjPXeehExEgwJ8fEGYQ5TikB+p9oCLkAghnNjsz9evUhgjByxi+NTZ1YmUNwxRuQDY1Q==",
|
"integrity": "sha512-N1oZsXfJ9VLLcK7p1PS65cxLYQCZ7iqHW2OP6Ew2+hlz/d1hzngxgzrtZMCXFOHXDvTzVu5ff6jGS2v7+zv2tA==",
|
||||||
"cpu": [
|
"cpu": [
|
||||||
"arm64"
|
"arm64"
|
||||||
],
|
],
|
||||||
@@ -558,9 +558,9 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"node_modules/@rspack/binding-linux-x64-gnu": {
|
"node_modules/@rspack/binding-linux-x64-gnu": {
|
||||||
"version": "1.2.5",
|
"version": "1.2.8",
|
||||||
"resolved": "https://registry.npmjs.org/@rspack/binding-linux-x64-gnu/-/binding-linux-x64-gnu-1.2.5.tgz",
|
"resolved": "https://registry.npmjs.org/@rspack/binding-linux-x64-gnu/-/binding-linux-x64-gnu-1.2.8.tgz",
|
||||||
"integrity": "sha512-dzEKs8oi86Vi+TFRCPpgmfF5ANL0VmlZN45e1An7HipeI2C5B1xrz/H8V43vPy8XEvQuMmkXO6Sp82A0zlHvIA==",
|
"integrity": "sha512-BdPaepoLKuaVwip4QK/nGqNi1xpbCWSxiycPbKRrGqKgt/QGihxxFgiqr4EpWQVIJNIMy4nCsg4arO0+H1KWGQ==",
|
||||||
"cpu": [
|
"cpu": [
|
||||||
"x64"
|
"x64"
|
||||||
],
|
],
|
||||||
@@ -572,9 +572,9 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"node_modules/@rspack/binding-linux-x64-musl": {
|
"node_modules/@rspack/binding-linux-x64-musl": {
|
||||||
"version": "1.2.5",
|
"version": "1.2.8",
|
||||||
"resolved": "https://registry.npmjs.org/@rspack/binding-linux-x64-musl/-/binding-linux-x64-musl-1.2.5.tgz",
|
"resolved": "https://registry.npmjs.org/@rspack/binding-linux-x64-musl/-/binding-linux-x64-musl-1.2.8.tgz",
|
||||||
"integrity": "sha512-4ENeVPVSD97rRRGr6kJSm4sIPf1tKJ8vlr9hJi4sSvF7eMLWipSwIVmqRXJ2riVMRjYD2einmJ9KzI8rqQ2OwA==",
|
"integrity": "sha512-GFv0Bod268OcXIcjeLoPlK0oz8rClEIxIRFkz+ejhbvfCwRJ+Fd+EKaaKQTBfZQujPqc0h2GctIF25nN5pFTmA==",
|
||||||
"cpu": [
|
"cpu": [
|
||||||
"x64"
|
"x64"
|
||||||
],
|
],
|
||||||
@@ -586,9 +586,9 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"node_modules/@rspack/binding-win32-arm64-msvc": {
|
"node_modules/@rspack/binding-win32-arm64-msvc": {
|
||||||
"version": "1.2.5",
|
"version": "1.2.8",
|
||||||
"resolved": "https://registry.npmjs.org/@rspack/binding-win32-arm64-msvc/-/binding-win32-arm64-msvc-1.2.5.tgz",
|
"resolved": "https://registry.npmjs.org/@rspack/binding-win32-arm64-msvc/-/binding-win32-arm64-msvc-1.2.8.tgz",
|
||||||
"integrity": "sha512-WUoJvX/z43MWeW1JKAQIxdvqH02oLzbaGMCzIikvniZnakQovYLPH6tCYh7qD3p7uQsm+IafFddhFxTtogC3pg==",
|
"integrity": "sha512-aEU+uJdbvJJGrzzAsjbjrPeNbG/bcG8JoXK2kSsUB+/sWHTIkHX0AQ3oX3aV/lcLKgZWrUxLAfLoCXEnIHMEyQ==",
|
||||||
"cpu": [
|
"cpu": [
|
||||||
"arm64"
|
"arm64"
|
||||||
],
|
],
|
||||||
@@ -600,9 +600,9 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"node_modules/@rspack/binding-win32-ia32-msvc": {
|
"node_modules/@rspack/binding-win32-ia32-msvc": {
|
||||||
"version": "1.2.5",
|
"version": "1.2.8",
|
||||||
"resolved": "https://registry.npmjs.org/@rspack/binding-win32-ia32-msvc/-/binding-win32-ia32-msvc-1.2.5.tgz",
|
"resolved": "https://registry.npmjs.org/@rspack/binding-win32-ia32-msvc/-/binding-win32-ia32-msvc-1.2.8.tgz",
|
||||||
"integrity": "sha512-YzPvmt/gpiacE6aAacz4dxgEbNWwoKYPaT4WYy/oITobnAui++iCFXC4IICSmlpoA1y7O8K3Qb9jbaB/lLhbwA==",
|
"integrity": "sha512-GHYzNOSoiLyG9elLTmMqADJMQzjll+co4irp5AgZ+KHG9EVq0qEHxDqDIJxZnUA15U8JDvCgo6YAo3T0BFEL0Q==",
|
||||||
"cpu": [
|
"cpu": [
|
||||||
"ia32"
|
"ia32"
|
||||||
],
|
],
|
||||||
@@ -614,9 +614,9 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"node_modules/@rspack/binding-win32-x64-msvc": {
|
"node_modules/@rspack/binding-win32-x64-msvc": {
|
||||||
"version": "1.2.5",
|
"version": "1.2.8",
|
||||||
"resolved": "https://registry.npmjs.org/@rspack/binding-win32-x64-msvc/-/binding-win32-x64-msvc-1.2.5.tgz",
|
"resolved": "https://registry.npmjs.org/@rspack/binding-win32-x64-msvc/-/binding-win32-x64-msvc-1.2.8.tgz",
|
||||||
"integrity": "sha512-QDDshfteMZiglllm7WUh/ITemFNuexwn1Yul7cHBFGQu6HqtqKNAR0kGR8J3e15MPMlinSaygVpfRE4A0KPmjQ==",
|
"integrity": "sha512-EigKLhKLH1kfv1e/ZgXuSKlIjkbyneJtiLbNDz7EeEVFGV1XMM6bsCea1sb2WOxsPYiOX4Q5JmR1j1KGrZS/LA==",
|
||||||
"cpu": [
|
"cpu": [
|
||||||
"x64"
|
"x64"
|
||||||
],
|
],
|
||||||
@@ -628,16 +628,16 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"node_modules/@rspack/core": {
|
"node_modules/@rspack/core": {
|
||||||
"version": "1.2.5",
|
"version": "1.2.8",
|
||||||
"resolved": "https://registry.npmjs.org/@rspack/core/-/core-1.2.5.tgz",
|
"resolved": "https://registry.npmjs.org/@rspack/core/-/core-1.2.8.tgz",
|
||||||
"integrity": "sha512-x/riOl05gOVGgGQFimBqS5i8XbUpBxPIKUC+tDX4hmNNkzxRaGpspZfNtcL+1HBMyYuoM6fOWGyCp2R290Uy6g==",
|
"integrity": "sha512-ppj3uQQtkhgrYDLrUqb33YbpNEZCpAudpfVuOHGsvUrAnu1PijbfJJymoA5ZvUhM+HNMvPI5D1ie97TXyb0UVg==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@module-federation/runtime-tools": "0.8.4",
|
"@module-federation/runtime-tools": "0.8.4",
|
||||||
"@rspack/binding": "1.2.5",
|
"@rspack/binding": "1.2.8",
|
||||||
"@rspack/lite-tapable": "1.0.1",
|
"@rspack/lite-tapable": "1.0.1",
|
||||||
"caniuse-lite": "^1.0.30001616"
|
"caniuse-lite": "^1.0.30001702"
|
||||||
},
|
},
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">=16.0.0"
|
"node": ">=16.0.0"
|
||||||
@@ -874,39 +874,41 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@vueuse/core": {
|
"node_modules/@vueuse/core": {
|
||||||
"version": "12.8.2",
|
"version": "13.0.0",
|
||||||
"resolved": "https://registry.npmjs.org/@vueuse/core/-/core-12.8.2.tgz",
|
"resolved": "https://registry.npmjs.org/@vueuse/core/-/core-13.0.0.tgz",
|
||||||
"integrity": "sha512-HbvCmZdzAu3VGi/pWYm5Ut+Kd9mn1ZHnn4L5G8kOQTPs/IwIAmJoBrmYk2ckLArgMXZj0AW3n5CAejLUO+PhdQ==",
|
"integrity": "sha512-rkgb4a8/0b234lMGCT29WkCjPfsX0oxrIRR7FDndRoW3FsaC9NBzefXg/9TLhAgwM11f49XnutshM4LzJBrQ5g==",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@types/web-bluetooth": "^0.0.21",
|
"@types/web-bluetooth": "^0.0.21",
|
||||||
"@vueuse/metadata": "12.8.2",
|
"@vueuse/metadata": "13.0.0",
|
||||||
"@vueuse/shared": "12.8.2",
|
"@vueuse/shared": "13.0.0"
|
||||||
"vue": "^3.5.13"
|
|
||||||
},
|
},
|
||||||
"funding": {
|
"funding": {
|
||||||
"url": "https://github.com/sponsors/antfu"
|
"url": "https://github.com/sponsors/antfu"
|
||||||
|
},
|
||||||
|
"peerDependencies": {
|
||||||
|
"vue": "^3.5.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@vueuse/metadata": {
|
"node_modules/@vueuse/metadata": {
|
||||||
"version": "12.8.2",
|
"version": "13.0.0",
|
||||||
"resolved": "https://registry.npmjs.org/@vueuse/metadata/-/metadata-12.8.2.tgz",
|
"resolved": "https://registry.npmjs.org/@vueuse/metadata/-/metadata-13.0.0.tgz",
|
||||||
"integrity": "sha512-rAyLGEuoBJ/Il5AmFHiziCPdQzRt88VxR+Y/A/QhJ1EWtWqPBBAxTAFaSkviwEuOEZNtW8pvkPgoCZQ+HxqW1A==",
|
"integrity": "sha512-TRNksqmvtvqsuHf7bbgH9OSXEV2b6+M3BSN4LR5oxWKykOFT9gV78+C2/0++Pq9KCp9KQ1OQDPvGlWNQpOb2Mw==",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"funding": {
|
"funding": {
|
||||||
"url": "https://github.com/sponsors/antfu"
|
"url": "https://github.com/sponsors/antfu"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@vueuse/shared": {
|
"node_modules/@vueuse/shared": {
|
||||||
"version": "12.8.2",
|
"version": "13.0.0",
|
||||||
"resolved": "https://registry.npmjs.org/@vueuse/shared/-/shared-12.8.2.tgz",
|
"resolved": "https://registry.npmjs.org/@vueuse/shared/-/shared-13.0.0.tgz",
|
||||||
"integrity": "sha512-dznP38YzxZoNloI0qpEfpkms8knDtaoQ6Y/sfS0L7Yki4zh40LFHEhur0odJC6xTHG5dxWVPiUWBXn+wCG2s5w==",
|
"integrity": "sha512-9MiHhAPw+sqCF/RLo8V6HsjRqEdNEWVpDLm2WBRW2G/kSQjb8X901sozXpSCaeLG0f7TEfMrT4XNaA5m1ez7Dg==",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
|
||||||
"vue": "^3.5.13"
|
|
||||||
},
|
|
||||||
"funding": {
|
"funding": {
|
||||||
"url": "https://github.com/sponsors/antfu"
|
"url": "https://github.com/sponsors/antfu"
|
||||||
|
},
|
||||||
|
"peerDependencies": {
|
||||||
|
"vue": "^3.5.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@webassemblyjs/ast": {
|
"node_modules/@webassemblyjs/ast": {
|
||||||
@@ -1210,9 +1212,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/axios": {
|
"node_modules/axios": {
|
||||||
"version": "1.8.1",
|
"version": "1.8.3",
|
||||||
"resolved": "https://registry.npmjs.org/axios/-/axios-1.8.1.tgz",
|
"resolved": "https://registry.npmjs.org/axios/-/axios-1.8.3.tgz",
|
||||||
"integrity": "sha512-NN+fvwH/kV01dYUQ3PTOZns4LWtWhOFCAhQ/pHb88WQ1hNe5V/dvFwc4VJcDL11LT9xSX0QtsR8sWUuyOuOq7g==",
|
"integrity": "sha512-iP4DebzoNlP/YN2dpwCgb8zoCmhtkajzS48JvwmkSkXvPI3DHc7m+XYL5tGnSlJtR6nImXZmdCuN5aP8dh1d8A==",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"follow-redirects": "^1.15.6",
|
"follow-redirects": "^1.15.6",
|
||||||
@@ -1300,9 +1302,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/caniuse-lite": {
|
"node_modules/caniuse-lite": {
|
||||||
"version": "1.0.30001700",
|
"version": "1.0.30001706",
|
||||||
"resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001700.tgz",
|
"resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001706.tgz",
|
||||||
"integrity": "sha512-2S6XIXwaE7K7erT8dY+kLQcpa5ms63XlRkMkReXjle+kf6c5g38vyMl+Z5y8dSxOFDhcFe+nxnn261PLxBSQsQ==",
|
"integrity": "sha512-3ZczoTApMAZwPKYWmwVbQMFpXBDds3/0VciVoUwPUbldlYyVLmRVuRs/PcUZtHpbLRpzzDvrvnFuREsGt6lUug==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"funding": [
|
"funding": [
|
||||||
{
|
{
|
||||||
@@ -1446,9 +1448,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/core-js": {
|
"node_modules/core-js": {
|
||||||
"version": "3.40.0",
|
"version": "3.41.0",
|
||||||
"resolved": "https://registry.npmjs.org/core-js/-/core-js-3.40.0.tgz",
|
"resolved": "https://registry.npmjs.org/core-js/-/core-js-3.41.0.tgz",
|
||||||
"integrity": "sha512-7vsMc/Lty6AGnn7uFpYT56QesI5D2Y/UkgKounk87OP9Z2H9Z8kj6jzcSGAxFmUtDOS0ntK6lbQz+Nsa0Jj6mQ==",
|
"integrity": "sha512-SJ4/EHwS36QMJd6h/Rg+GyR4A5xE0FSI3eZ+iBVpfqf1x0eTSg1smWLHrA+2jQThZSh97fmSgFSU8B61nxosxA==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"hasInstallScript": true,
|
"hasInstallScript": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
|
|||||||
@@ -13,8 +13,8 @@
|
|||||||
"@codemirror/lang-html": "^6.4.9",
|
"@codemirror/lang-html": "^6.4.9",
|
||||||
"@codemirror/lang-javascript": "^6.2.3",
|
"@codemirror/lang-javascript": "^6.2.3",
|
||||||
"@fsegurai/codemirror-theme-github-light": "^6.1.2",
|
"@fsegurai/codemirror-theme-github-light": "^6.1.2",
|
||||||
"@vueuse/core": "^12.8.2",
|
"@vueuse/core": "^13.0.0",
|
||||||
"axios": "^1.8.1",
|
"axios": "^1.8.3",
|
||||||
"codemirror": "^6.0.1",
|
"codemirror": "^6.0.1",
|
||||||
"copy-text-to-clipboard": "^3.2.0",
|
"copy-text-to-clipboard": "^3.2.0",
|
||||||
"github-markdown-css": "^5.8.1",
|
"github-markdown-css": "^5.8.1",
|
||||||
@@ -30,8 +30,8 @@
|
|||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@iconify/vue": "^4.3.0",
|
"@iconify/vue": "^4.3.0",
|
||||||
"@rsbuild/core": "^1.2.14",
|
"@rsbuild/core": "^1.2.19",
|
||||||
"@rsbuild/plugin-vue": "^1.0.6",
|
"@rsbuild/plugin-vue": "^1.0.7",
|
||||||
"@vue/tsconfig": "^0.7.0",
|
"@vue/tsconfig": "^0.7.0",
|
||||||
"prettier": "^3.5.3",
|
"prettier": "^3.5.3",
|
||||||
"typescript": "^5.8.2",
|
"typescript": "^5.8.2",
|
||||||
|
|||||||
@@ -133,6 +133,7 @@ export const Submission = {
|
|||||||
},
|
},
|
||||||
|
|
||||||
async updateScore(id: string, score: number) {
|
async updateScore(id: string, score: number) {
|
||||||
await http.put(`/submission/${id}/score`, { score })
|
const res = await http.put(`/submission/${id}/score`, { score })
|
||||||
|
return res.data
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -7,27 +7,20 @@
|
|||||||
<n-flex>
|
<n-flex>
|
||||||
<n-button quaternary @click="download" :disabled="!showDL">下载</n-button>
|
<n-button quaternary @click="download" :disabled="!showDL">下载</n-button>
|
||||||
<n-button quaternary @click="open">展示</n-button>
|
<n-button quaternary @click="open">展示</n-button>
|
||||||
<template v-if="!!submission.id">
|
<n-flex v-if="!!submission.id">
|
||||||
<n-button quaternary @click="emits('showCode')">查看代码</n-button>
|
<n-button quaternary @click="emits('showCode')">查看代码</n-button>
|
||||||
<n-popover v-if="!submission.score && (roleAdmin || roleSuper)">
|
<n-popover v-if="submission.my_score === 0">
|
||||||
<template #trigger>
|
<template #trigger>
|
||||||
<n-button secondary type="primary">手动打分</n-button>
|
<n-button secondary type="primary">手动打分</n-button>
|
||||||
</template>
|
</template>
|
||||||
<n-rate :size="30" @update:value="updateScore" />
|
<n-rate :size="30" @update:value="updateScore" />
|
||||||
</n-popover>
|
</n-popover>
|
||||||
<n-button
|
<!-- <n-button secondary type="info">智能打分</n-button> -->
|
||||||
v-if="!submission.score && (roleAdmin || roleSuper)"
|
</n-flex>
|
||||||
secondary
|
|
||||||
type="info"
|
|
||||||
>
|
|
||||||
智能打分
|
|
||||||
</n-button>
|
|
||||||
</template>
|
|
||||||
</n-flex>
|
</n-flex>
|
||||||
</n-flex>
|
</n-flex>
|
||||||
<iframe class="iframe" ref="iframe"></iframe>
|
<iframe class="iframe" ref="iframe"></iframe>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script lang="ts" setup>
|
<script lang="ts" setup>
|
||||||
import { watchDebounced } from "@vueuse/core"
|
import { watchDebounced } from "@vueuse/core"
|
||||||
import { computed, onMounted, useTemplateRef } from "vue"
|
import { computed, onMounted, useTemplateRef } from "vue"
|
||||||
@@ -35,7 +28,6 @@ import { Icon } from "@iconify/vue"
|
|||||||
import { Submission } from "../api"
|
import { Submission } from "../api"
|
||||||
import { submission } from "../store/submission"
|
import { submission } from "../store/submission"
|
||||||
import { useMessage } from "naive-ui"
|
import { useMessage } from "naive-ui"
|
||||||
import { roleAdmin, roleSuper } from "../store/user"
|
|
||||||
|
|
||||||
interface Props {
|
interface Props {
|
||||||
html: string
|
html: string
|
||||||
@@ -100,9 +92,9 @@ function open() {
|
|||||||
|
|
||||||
async function updateScore(score: number) {
|
async function updateScore(score: number) {
|
||||||
try {
|
try {
|
||||||
await Submission.updateScore(submission.value.id, score)
|
const res = await Submission.updateScore(submission.value.id, score)
|
||||||
message.success("评分成功")
|
message.success(res.message)
|
||||||
submission.value.score = score
|
submission.value.my_score = score
|
||||||
emits("afterScore")
|
emits("afterScore")
|
||||||
} catch (err: any) {
|
} catch (err: any) {
|
||||||
message.error(err.response.data.detail)
|
message.error(err.response.data.detail)
|
||||||
|
|||||||
@@ -40,7 +40,7 @@ import { taskId } from "../store/task"
|
|||||||
|
|
||||||
const displays = ref<number[]>([])
|
const displays = ref<number[]>([])
|
||||||
const content = useStorage(STORAGE_KEY.CONTENT, "")
|
const content = useStorage(STORAGE_KEY.CONTENT, "")
|
||||||
const $content = useTemplateRef("$content")
|
const $content = useTemplateRef<any>("$content")
|
||||||
|
|
||||||
defineEmits(["hide"])
|
defineEmits(["hide"])
|
||||||
|
|
||||||
|
|||||||
@@ -25,7 +25,7 @@
|
|||||||
:css="css"
|
:css="css"
|
||||||
:js="js"
|
:js="js"
|
||||||
@after-score="afterScore"
|
@after-score="afterScore"
|
||||||
@show-code="toggleShowCode"
|
@show-code="codeModal = true"
|
||||||
/>
|
/>
|
||||||
</n-gi>
|
</n-gi>
|
||||||
</n-grid>
|
</n-grid>
|
||||||
@@ -91,7 +91,15 @@ const columns: DataTableColumn<SubmissionOut>[] = [
|
|||||||
render: (submission) => h(TaskTitle, { submission }),
|
render: (submission) => h(TaskTitle, { submission }),
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: "得分",
|
title: "我打的分",
|
||||||
|
key: "my_score",
|
||||||
|
render: (row) => {
|
||||||
|
if (row.my_score > 0) return row.my_score
|
||||||
|
else return "-"
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: "平均得分",
|
||||||
key: "score",
|
key: "score",
|
||||||
render: (row) => {
|
render: (row) => {
|
||||||
if (row.score > 0) return row.score
|
if (row.score > 0) return row.score
|
||||||
@@ -120,14 +128,10 @@ async function getSubmissionByID(id: string) {
|
|||||||
submission.value = await Submission.get(id)
|
submission.value = await Submission.get(id)
|
||||||
}
|
}
|
||||||
|
|
||||||
function toggleShowCode() {
|
|
||||||
codeModal.value = true
|
|
||||||
}
|
|
||||||
|
|
||||||
function afterScore() {
|
function afterScore() {
|
||||||
data.value = data.value.map((d) => {
|
data.value = data.value.map((d) => {
|
||||||
if (d.id === submission.value.id) {
|
if (d.id === submission.value.id) {
|
||||||
d.score = submission.value.score
|
d.my_score = submission.value.my_score
|
||||||
}
|
}
|
||||||
return d
|
return d
|
||||||
})
|
})
|
||||||
@@ -143,6 +147,7 @@ onUnmounted(() => {
|
|||||||
task_title: "",
|
task_title: "",
|
||||||
task_type: "tutorial",
|
task_type: "tutorial",
|
||||||
score: 0,
|
score: 0,
|
||||||
|
my_score: 0,
|
||||||
html: "",
|
html: "",
|
||||||
css: "",
|
css: "",
|
||||||
js: "",
|
js: "",
|
||||||
|
|||||||
@@ -7,7 +7,8 @@ export const submission = ref<SubmissionAll>({
|
|||||||
username: "",
|
username: "",
|
||||||
task_title: "",
|
task_title: "",
|
||||||
task_type: "tutorial",
|
task_type: "tutorial",
|
||||||
score: 0,
|
score: 0.0,
|
||||||
|
my_score: 0,
|
||||||
html: "",
|
html: "",
|
||||||
css: "",
|
css: "",
|
||||||
js: "",
|
js: "",
|
||||||
|
|||||||
@@ -44,6 +44,7 @@ export interface SubmissionOut {
|
|||||||
task_type: string
|
task_type: string
|
||||||
task_title: string
|
task_title: string
|
||||||
score: number
|
score: number
|
||||||
|
my_score: number
|
||||||
created: Date
|
created: Date
|
||||||
modified: Date
|
modified: Date
|
||||||
}
|
}
|
||||||
@@ -55,6 +56,7 @@ export interface SubmissionAll {
|
|||||||
task_type: string
|
task_type: string
|
||||||
task_title: string
|
task_title: string
|
||||||
score: number
|
score: number
|
||||||
|
my_score: number
|
||||||
html: ""
|
html: ""
|
||||||
css: ""
|
css: ""
|
||||||
js: ""
|
js: ""
|
||||||
|
|||||||
Reference in New Issue
Block a user