Compare commits
	
		
			4 Commits
		
	
	
		
			786a58c261
			...
			278684d3ff
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 278684d3ff | |||
| f4d57d8e1c | |||
| 0ca6cae01a | |||
| 0a5485ec89 | 
							
								
								
									
										512
									
								
								package-lock.json
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										512
									
								
								package-lock.json
									
									
									
										generated
									
									
									
								
							| @@ -518,6 +518,24 @@ | |||||||
|         "node": ">=6.9.0" |         "node": ">=6.9.0" | ||||||
|       } |       } | ||||||
|     }, |     }, | ||||||
|  |     "node_modules/@ctrl/tinycolor": { | ||||||
|  |       "version": "3.6.1", | ||||||
|  |       "resolved": "https://registry.npmmirror.com/@ctrl/tinycolor/-/tinycolor-3.6.1.tgz", | ||||||
|  |       "integrity": "sha512-SITSV6aIXsuVNV3f3O0f2n/cgyEDWoSqtZMYiAmcsYHydcKrOz3gUxB/iXd/Qf08+IZX4KpgNbvUdMBmWz+kcA==", | ||||||
|  |       "license": "MIT", | ||||||
|  |       "engines": { | ||||||
|  |         "node": ">=10" | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|  |     "node_modules/@element-plus/icons-vue": { | ||||||
|  |       "version": "2.3.1", | ||||||
|  |       "resolved": "https://registry.npmmirror.com/@element-plus/icons-vue/-/icons-vue-2.3.1.tgz", | ||||||
|  |       "integrity": "sha512-XxVUZv48RZAd87ucGS48jPf6pKu0yV5UCg9f4FFwtrYxXOwWuVJo6wOvSLKEoMQKjv8GsX/mhP6UsC1lRwbUWg==", | ||||||
|  |       "license": "MIT", | ||||||
|  |       "peerDependencies": { | ||||||
|  |         "vue": "^3.2.0" | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|     "node_modules/@esbuild/aix-ppc64": { |     "node_modules/@esbuild/aix-ppc64": { | ||||||
|       "version": "0.25.3", |       "version": "0.25.3", | ||||||
|       "resolved": "https://registry.npmmirror.com/@esbuild/aix-ppc64/-/aix-ppc64-0.25.3.tgz", |       "resolved": "https://registry.npmmirror.com/@esbuild/aix-ppc64/-/aix-ppc64-0.25.3.tgz", | ||||||
| @@ -943,6 +961,31 @@ | |||||||
|         "node": ">=18" |         "node": ">=18" | ||||||
|       } |       } | ||||||
|     }, |     }, | ||||||
|  |     "node_modules/@floating-ui/core": { | ||||||
|  |       "version": "1.6.9", | ||||||
|  |       "resolved": "https://registry.npmmirror.com/@floating-ui/core/-/core-1.6.9.tgz", | ||||||
|  |       "integrity": "sha512-uMXCuQ3BItDUbAMhIXw7UPXRfAlOAvZzdK9BWpE60MCn+Svt3aLn9jsPTi/WNGlRUu2uI0v5S7JiIUsbsvh3fw==", | ||||||
|  |       "license": "MIT", | ||||||
|  |       "dependencies": { | ||||||
|  |         "@floating-ui/utils": "^0.2.9" | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|  |     "node_modules/@floating-ui/dom": { | ||||||
|  |       "version": "1.6.13", | ||||||
|  |       "resolved": "https://registry.npmmirror.com/@floating-ui/dom/-/dom-1.6.13.tgz", | ||||||
|  |       "integrity": "sha512-umqzocjDgNRGTuO7Q8CU32dkHkECqI8ZdMZ5Swb6QAM0t5rnlrN3lGo1hdpscRd3WS8T6DKYK4ephgIH9iRh3w==", | ||||||
|  |       "license": "MIT", | ||||||
|  |       "dependencies": { | ||||||
|  |         "@floating-ui/core": "^1.6.0", | ||||||
|  |         "@floating-ui/utils": "^0.2.9" | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|  |     "node_modules/@floating-ui/utils": { | ||||||
|  |       "version": "0.2.9", | ||||||
|  |       "resolved": "https://registry.npmmirror.com/@floating-ui/utils/-/utils-0.2.9.tgz", | ||||||
|  |       "integrity": "sha512-MDWhGtE+eHw5JW7lq4qhc5yRLS11ERl1c7Z6Xd0a58DozHES6EnNNwUWbMiG4J9Cgj053Bhk8zvlhFYKVhULwg==", | ||||||
|  |       "license": "MIT" | ||||||
|  |     }, | ||||||
|     "node_modules/@jridgewell/gen-mapping": { |     "node_modules/@jridgewell/gen-mapping": { | ||||||
|       "version": "0.3.8", |       "version": "0.3.8", | ||||||
|       "resolved": "https://registry.npmmirror.com/@jridgewell/gen-mapping/-/gen-mapping-0.3.8.tgz", |       "resolved": "https://registry.npmmirror.com/@jridgewell/gen-mapping/-/gen-mapping-0.3.8.tgz", | ||||||
| @@ -1002,6 +1045,17 @@ | |||||||
|       "dev": true, |       "dev": true, | ||||||
|       "license": "MIT" |       "license": "MIT" | ||||||
|     }, |     }, | ||||||
|  |     "node_modules/@popperjs/core": { | ||||||
|  |       "name": "@sxzz/popperjs-es", | ||||||
|  |       "version": "2.11.7", | ||||||
|  |       "resolved": "https://registry.npmmirror.com/@sxzz/popperjs-es/-/popperjs-es-2.11.7.tgz", | ||||||
|  |       "integrity": "sha512-Ccy0NlLkzr0Ex2FKvh2X+OyERHXJ88XJ1MXtsI9y9fGexlaXaVTPzBCRBwIxFkORuOb+uBqeu+RqnpgYTEZRUQ==", | ||||||
|  |       "license": "MIT", | ||||||
|  |       "funding": { | ||||||
|  |         "type": "opencollective", | ||||||
|  |         "url": "https://opencollective.com/popperjs" | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|     "node_modules/@rollup/pluginutils": { |     "node_modules/@rollup/pluginutils": { | ||||||
|       "version": "5.1.4", |       "version": "5.1.4", | ||||||
|       "resolved": "https://registry.npmmirror.com/@rollup/pluginutils/-/pluginutils-5.1.4.tgz", |       "resolved": "https://registry.npmmirror.com/@rollup/pluginutils/-/pluginutils-5.1.4.tgz", | ||||||
| @@ -1345,6 +1399,27 @@ | |||||||
|       "dev": true, |       "dev": true, | ||||||
|       "license": "MIT" |       "license": "MIT" | ||||||
|     }, |     }, | ||||||
|  |     "node_modules/@types/lodash": { | ||||||
|  |       "version": "4.17.16", | ||||||
|  |       "resolved": "https://registry.npmmirror.com/@types/lodash/-/lodash-4.17.16.tgz", | ||||||
|  |       "integrity": "sha512-HX7Em5NYQAXKW+1T+FiuG27NGwzJfCX3s1GjOa7ujxZa52kjJLOr4FUxT+giF6Tgxv1e+/czV/iTtBw27WTU9g==", | ||||||
|  |       "license": "MIT" | ||||||
|  |     }, | ||||||
|  |     "node_modules/@types/lodash-es": { | ||||||
|  |       "version": "4.17.12", | ||||||
|  |       "resolved": "https://registry.npmmirror.com/@types/lodash-es/-/lodash-es-4.17.12.tgz", | ||||||
|  |       "integrity": "sha512-0NgftHUcV4v34VhXm8QBSftKVXtbkBG3ViCjs6+eJ5a6y6Mi/jiFGPc1sC7QK+9BFhWrURE3EOggmWaSxL9OzQ==", | ||||||
|  |       "license": "MIT", | ||||||
|  |       "dependencies": { | ||||||
|  |         "@types/lodash": "*" | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|  |     "node_modules/@types/web-bluetooth": { | ||||||
|  |       "version": "0.0.16", | ||||||
|  |       "resolved": "https://registry.npmmirror.com/@types/web-bluetooth/-/web-bluetooth-0.0.16.tgz", | ||||||
|  |       "integrity": "sha512-oh8q2Zc32S6gd/j50GowEjKLoOVOwHP/bWVjKJInBwQqdOYMdPrf1oVlelTlyfFK3CKxL1uahMDAr+vy8T7yMQ==", | ||||||
|  |       "license": "MIT" | ||||||
|  |     }, | ||||||
|     "node_modules/@vitejs/plugin-vue": { |     "node_modules/@vitejs/plugin-vue": { | ||||||
|       "version": "5.2.3", |       "version": "5.2.3", | ||||||
|       "resolved": "https://registry.npmmirror.com/@vitejs/plugin-vue/-/plugin-vue-5.2.3.tgz", |       "resolved": "https://registry.npmmirror.com/@vitejs/plugin-vue/-/plugin-vue-5.2.3.tgz", | ||||||
| @@ -1600,6 +1675,94 @@ | |||||||
|       "integrity": "sha512-/hnE/qP5ZoGpol0a5mDi45bOd7t3tjYJBjsgCsivow7D48cJeV5l05RD82lPqi7gRiphZM37rnhW1l6ZoCNNnQ==", |       "integrity": "sha512-/hnE/qP5ZoGpol0a5mDi45bOd7t3tjYJBjsgCsivow7D48cJeV5l05RD82lPqi7gRiphZM37rnhW1l6ZoCNNnQ==", | ||||||
|       "license": "MIT" |       "license": "MIT" | ||||||
|     }, |     }, | ||||||
|  |     "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==", | ||||||
|  |       "license": "MIT", | ||||||
|  |       "dependencies": { | ||||||
|  |         "@types/web-bluetooth": "^0.0.16", | ||||||
|  |         "@vueuse/metadata": "9.13.0", | ||||||
|  |         "@vueuse/shared": "9.13.0", | ||||||
|  |         "vue-demi": "*" | ||||||
|  |       }, | ||||||
|  |       "funding": { | ||||||
|  |         "url": "https://github.com/sponsors/antfu" | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|  |     "node_modules/@vueuse/core/node_modules/vue-demi": { | ||||||
|  |       "version": "0.14.10", | ||||||
|  |       "resolved": "https://registry.npmmirror.com/vue-demi/-/vue-demi-0.14.10.tgz", | ||||||
|  |       "integrity": "sha512-nMZBOwuzabUO0nLgIcc6rycZEebF6eeUfaiQx9+WSk8e29IbLvPU9feI6tqW4kTo3hvoYAJkMh8n8D0fuISphg==", | ||||||
|  |       "hasInstallScript": true, | ||||||
|  |       "license": "MIT", | ||||||
|  |       "bin": { | ||||||
|  |         "vue-demi-fix": "bin/vue-demi-fix.js", | ||||||
|  |         "vue-demi-switch": "bin/vue-demi-switch.js" | ||||||
|  |       }, | ||||||
|  |       "engines": { | ||||||
|  |         "node": ">=12" | ||||||
|  |       }, | ||||||
|  |       "funding": { | ||||||
|  |         "url": "https://github.com/sponsors/antfu" | ||||||
|  |       }, | ||||||
|  |       "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==", | ||||||
|  |       "license": "MIT", | ||||||
|  |       "funding": { | ||||||
|  |         "url": "https://github.com/sponsors/antfu" | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|  |     "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==", | ||||||
|  |       "license": "MIT", | ||||||
|  |       "dependencies": { | ||||||
|  |         "vue-demi": "*" | ||||||
|  |       }, | ||||||
|  |       "funding": { | ||||||
|  |         "url": "https://github.com/sponsors/antfu" | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|  |     "node_modules/@vueuse/shared/node_modules/vue-demi": { | ||||||
|  |       "version": "0.14.10", | ||||||
|  |       "resolved": "https://registry.npmmirror.com/vue-demi/-/vue-demi-0.14.10.tgz", | ||||||
|  |       "integrity": "sha512-nMZBOwuzabUO0nLgIcc6rycZEebF6eeUfaiQx9+WSk8e29IbLvPU9feI6tqW4kTo3hvoYAJkMh8n8D0fuISphg==", | ||||||
|  |       "hasInstallScript": true, | ||||||
|  |       "license": "MIT", | ||||||
|  |       "bin": { | ||||||
|  |         "vue-demi-fix": "bin/vue-demi-fix.js", | ||||||
|  |         "vue-demi-switch": "bin/vue-demi-switch.js" | ||||||
|  |       }, | ||||||
|  |       "engines": { | ||||||
|  |         "node": ">=12" | ||||||
|  |       }, | ||||||
|  |       "funding": { | ||||||
|  |         "url": "https://github.com/sponsors/antfu" | ||||||
|  |       }, | ||||||
|  |       "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/accepts": { |     "node_modules/accepts": { | ||||||
|       "version": "2.0.0", |       "version": "2.0.0", | ||||||
|       "resolved": "https://registry.npmmirror.com/accepts/-/accepts-2.0.0.tgz", |       "resolved": "https://registry.npmmirror.com/accepts/-/accepts-2.0.0.tgz", | ||||||
| @@ -1626,6 +1789,12 @@ | |||||||
|         "node": ">= 8" |         "node": ">= 8" | ||||||
|       } |       } | ||||||
|     }, |     }, | ||||||
|  |     "node_modules/async-validator": { | ||||||
|  |       "version": "4.2.5", | ||||||
|  |       "resolved": "https://registry.npmmirror.com/async-validator/-/async-validator-4.2.5.tgz", | ||||||
|  |       "integrity": "sha512-7HhHjtERjqlNbZtqNqy2rckN/SpOOlmDliet+lP7k+eKZEjPk3DgyeU9lIXLdeLz0uBbbVp+9Qdow9wJWgwwfg==", | ||||||
|  |       "license": "MIT" | ||||||
|  |     }, | ||||||
|     "node_modules/asynckit": { |     "node_modules/asynckit": { | ||||||
|       "version": "0.4.0", |       "version": "0.4.0", | ||||||
|       "resolved": "https://registry.npmmirror.com/asynckit/-/asynckit-0.4.0.tgz", |       "resolved": "https://registry.npmmirror.com/asynckit/-/asynckit-0.4.0.tgz", | ||||||
| @@ -1961,6 +2130,12 @@ | |||||||
|       "integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==", |       "integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==", | ||||||
|       "license": "MIT" |       "license": "MIT" | ||||||
|     }, |     }, | ||||||
|  |     "node_modules/dayjs": { | ||||||
|  |       "version": "1.11.13", | ||||||
|  |       "resolved": "https://registry.npmmirror.com/dayjs/-/dayjs-1.11.13.tgz", | ||||||
|  |       "integrity": "sha512-oaMBel6gjolK862uaPQOVTA7q3TZhuSvuMQAAglQDOWYO9A91IrAOUJEyKVlqJlHE0vq5p5UXxzdPfMH/x6xNg==", | ||||||
|  |       "license": "MIT" | ||||||
|  |     }, | ||||||
|     "node_modules/debug": { |     "node_modules/debug": { | ||||||
|       "version": "4.4.0", |       "version": "4.4.0", | ||||||
|       "resolved": "https://registry.npmmirror.com/debug/-/debug-4.4.0.tgz", |       "resolved": "https://registry.npmmirror.com/debug/-/debug-4.4.0.tgz", | ||||||
| @@ -2039,6 +2214,18 @@ | |||||||
|         "node": ">= 0.8" |         "node": ">= 0.8" | ||||||
|       } |       } | ||||||
|     }, |     }, | ||||||
|  |     "node_modules/detect-libc": { | ||||||
|  |       "version": "2.0.4", | ||||||
|  |       "resolved": "https://registry.npmmirror.com/detect-libc/-/detect-libc-2.0.4.tgz", | ||||||
|  |       "integrity": "sha512-3UDv+G9CsCKO1WKMGw9fwq/SWJYbI0c5Y7LU1AXYoDdbhE2AHQ6N6Nb34sG8Fj7T5APy8qXDCKuuIHd1BR0tVA==", | ||||||
|  |       "dev": true, | ||||||
|  |       "license": "Apache-2.0", | ||||||
|  |       "optional": true, | ||||||
|  |       "peer": true, | ||||||
|  |       "engines": { | ||||||
|  |         "node": ">=8" | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|     "node_modules/dotenv": { |     "node_modules/dotenv": { | ||||||
|       "version": "16.5.0", |       "version": "16.5.0", | ||||||
|       "resolved": "https://registry.npmmirror.com/dotenv/-/dotenv-16.5.0.tgz", |       "resolved": "https://registry.npmmirror.com/dotenv/-/dotenv-16.5.0.tgz", | ||||||
| @@ -2078,6 +2265,32 @@ | |||||||
|       "dev": true, |       "dev": true, | ||||||
|       "license": "ISC" |       "license": "ISC" | ||||||
|     }, |     }, | ||||||
|  |     "node_modules/element-plus": { | ||||||
|  |       "version": "2.9.8", | ||||||
|  |       "resolved": "https://registry.npmmirror.com/element-plus/-/element-plus-2.9.8.tgz", | ||||||
|  |       "integrity": "sha512-srViUaUdfblBKGMeuEPiXxxKlH5aUmKqEwmhb/At9Sj91DbU6od/jYN1955cTnzt3wTSA7GfnZF7UiRX9sdRHg==", | ||||||
|  |       "license": "MIT", | ||||||
|  |       "dependencies": { | ||||||
|  |         "@ctrl/tinycolor": "^3.4.1", | ||||||
|  |         "@element-plus/icons-vue": "^2.3.1", | ||||||
|  |         "@floating-ui/dom": "^1.0.1", | ||||||
|  |         "@popperjs/core": "npm:@sxzz/popperjs-es@^2.11.7", | ||||||
|  |         "@types/lodash": "^4.14.182", | ||||||
|  |         "@types/lodash-es": "^4.17.6", | ||||||
|  |         "@vueuse/core": "^9.1.0", | ||||||
|  |         "async-validator": "^4.2.5", | ||||||
|  |         "dayjs": "^1.11.13", | ||||||
|  |         "escape-html": "^1.0.3", | ||||||
|  |         "lodash": "^4.17.21", | ||||||
|  |         "lodash-es": "^4.17.21", | ||||||
|  |         "lodash-unified": "^1.0.2", | ||||||
|  |         "memoize-one": "^6.0.0", | ||||||
|  |         "normalize-wheel-es": "^1.2.0" | ||||||
|  |       }, | ||||||
|  |       "peerDependencies": { | ||||||
|  |         "vue": "^3.2.0" | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|     "node_modules/encodeurl": { |     "node_modules/encodeurl": { | ||||||
|       "version": "2.0.0", |       "version": "2.0.0", | ||||||
|       "resolved": "https://registry.npmmirror.com/encodeurl/-/encodeurl-2.0.0.tgz", |       "resolved": "https://registry.npmmirror.com/encodeurl/-/encodeurl-2.0.0.tgz", | ||||||
| @@ -2835,6 +3048,18 @@ | |||||||
|       "dev": true, |       "dev": true, | ||||||
|       "license": "ISC" |       "license": "ISC" | ||||||
|     }, |     }, | ||||||
|  |     "node_modules/jiti": { | ||||||
|  |       "version": "2.4.2", | ||||||
|  |       "resolved": "https://registry.npmmirror.com/jiti/-/jiti-2.4.2.tgz", | ||||||
|  |       "integrity": "sha512-rg9zJN+G4n2nfJl5MW3BMygZX56zKPNVEYYqq7adpmMh4Jn2QNEwhvQlFy6jPVdcod7txZtKHWnyZiA3a0zP7A==", | ||||||
|  |       "dev": true, | ||||||
|  |       "license": "MIT", | ||||||
|  |       "optional": true, | ||||||
|  |       "peer": true, | ||||||
|  |       "bin": { | ||||||
|  |         "jiti": "lib/jiti-cli.mjs" | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|     "node_modules/js-tokens": { |     "node_modules/js-tokens": { | ||||||
|       "version": "4.0.0", |       "version": "4.0.0", | ||||||
|       "resolved": "https://registry.npmmirror.com/js-tokens/-/js-tokens-4.0.0.tgz", |       "resolved": "https://registry.npmmirror.com/js-tokens/-/js-tokens-4.0.0.tgz", | ||||||
| @@ -2888,6 +3113,280 @@ | |||||||
|       "dev": true, |       "dev": true, | ||||||
|       "license": "MIT" |       "license": "MIT" | ||||||
|     }, |     }, | ||||||
|  |     "node_modules/lightningcss": { | ||||||
|  |       "version": "1.29.2", | ||||||
|  |       "resolved": "https://registry.npmmirror.com/lightningcss/-/lightningcss-1.29.2.tgz", | ||||||
|  |       "integrity": "sha512-6b6gd/RUXKaw5keVdSEtqFVdzWnU5jMxTUjA2bVcMNPLwSQ08Sv/UodBVtETLCn7k4S1Ibxwh7k68IwLZPgKaA==", | ||||||
|  |       "dev": true, | ||||||
|  |       "license": "MPL-2.0", | ||||||
|  |       "optional": true, | ||||||
|  |       "peer": true, | ||||||
|  |       "dependencies": { | ||||||
|  |         "detect-libc": "^2.0.3" | ||||||
|  |       }, | ||||||
|  |       "engines": { | ||||||
|  |         "node": ">= 12.0.0" | ||||||
|  |       }, | ||||||
|  |       "funding": { | ||||||
|  |         "type": "opencollective", | ||||||
|  |         "url": "https://opencollective.com/parcel" | ||||||
|  |       }, | ||||||
|  |       "optionalDependencies": { | ||||||
|  |         "lightningcss-darwin-arm64": "1.29.2", | ||||||
|  |         "lightningcss-darwin-x64": "1.29.2", | ||||||
|  |         "lightningcss-freebsd-x64": "1.29.2", | ||||||
|  |         "lightningcss-linux-arm-gnueabihf": "1.29.2", | ||||||
|  |         "lightningcss-linux-arm64-gnu": "1.29.2", | ||||||
|  |         "lightningcss-linux-arm64-musl": "1.29.2", | ||||||
|  |         "lightningcss-linux-x64-gnu": "1.29.2", | ||||||
|  |         "lightningcss-linux-x64-musl": "1.29.2", | ||||||
|  |         "lightningcss-win32-arm64-msvc": "1.29.2", | ||||||
|  |         "lightningcss-win32-x64-msvc": "1.29.2" | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|  |     "node_modules/lightningcss-darwin-arm64": { | ||||||
|  |       "version": "1.29.2", | ||||||
|  |       "resolved": "https://registry.npmmirror.com/lightningcss-darwin-arm64/-/lightningcss-darwin-arm64-1.29.2.tgz", | ||||||
|  |       "integrity": "sha512-cK/eMabSViKn/PG8U/a7aCorpeKLMlK0bQeNHmdb7qUnBkNPnL+oV5DjJUo0kqWsJUapZsM4jCfYItbqBDvlcA==", | ||||||
|  |       "cpu": [ | ||||||
|  |         "arm64" | ||||||
|  |       ], | ||||||
|  |       "dev": true, | ||||||
|  |       "license": "MPL-2.0", | ||||||
|  |       "optional": true, | ||||||
|  |       "os": [ | ||||||
|  |         "darwin" | ||||||
|  |       ], | ||||||
|  |       "peer": true, | ||||||
|  |       "engines": { | ||||||
|  |         "node": ">= 12.0.0" | ||||||
|  |       }, | ||||||
|  |       "funding": { | ||||||
|  |         "type": "opencollective", | ||||||
|  |         "url": "https://opencollective.com/parcel" | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|  |     "node_modules/lightningcss-darwin-x64": { | ||||||
|  |       "version": "1.29.2", | ||||||
|  |       "resolved": "https://registry.npmmirror.com/lightningcss-darwin-x64/-/lightningcss-darwin-x64-1.29.2.tgz", | ||||||
|  |       "integrity": "sha512-j5qYxamyQw4kDXX5hnnCKMf3mLlHvG44f24Qyi2965/Ycz829MYqjrVg2H8BidybHBp9kom4D7DR5VqCKDXS0w==", | ||||||
|  |       "cpu": [ | ||||||
|  |         "x64" | ||||||
|  |       ], | ||||||
|  |       "dev": true, | ||||||
|  |       "license": "MPL-2.0", | ||||||
|  |       "optional": true, | ||||||
|  |       "os": [ | ||||||
|  |         "darwin" | ||||||
|  |       ], | ||||||
|  |       "peer": true, | ||||||
|  |       "engines": { | ||||||
|  |         "node": ">= 12.0.0" | ||||||
|  |       }, | ||||||
|  |       "funding": { | ||||||
|  |         "type": "opencollective", | ||||||
|  |         "url": "https://opencollective.com/parcel" | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|  |     "node_modules/lightningcss-freebsd-x64": { | ||||||
|  |       "version": "1.29.2", | ||||||
|  |       "resolved": "https://registry.npmmirror.com/lightningcss-freebsd-x64/-/lightningcss-freebsd-x64-1.29.2.tgz", | ||||||
|  |       "integrity": "sha512-wDk7M2tM78Ii8ek9YjnY8MjV5f5JN2qNVO+/0BAGZRvXKtQrBC4/cn4ssQIpKIPP44YXw6gFdpUF+Ps+RGsCwg==", | ||||||
|  |       "cpu": [ | ||||||
|  |         "x64" | ||||||
|  |       ], | ||||||
|  |       "dev": true, | ||||||
|  |       "license": "MPL-2.0", | ||||||
|  |       "optional": true, | ||||||
|  |       "os": [ | ||||||
|  |         "freebsd" | ||||||
|  |       ], | ||||||
|  |       "peer": true, | ||||||
|  |       "engines": { | ||||||
|  |         "node": ">= 12.0.0" | ||||||
|  |       }, | ||||||
|  |       "funding": { | ||||||
|  |         "type": "opencollective", | ||||||
|  |         "url": "https://opencollective.com/parcel" | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|  |     "node_modules/lightningcss-linux-arm-gnueabihf": { | ||||||
|  |       "version": "1.29.2", | ||||||
|  |       "resolved": "https://registry.npmmirror.com/lightningcss-linux-arm-gnueabihf/-/lightningcss-linux-arm-gnueabihf-1.29.2.tgz", | ||||||
|  |       "integrity": "sha512-IRUrOrAF2Z+KExdExe3Rz7NSTuuJ2HvCGlMKoquK5pjvo2JY4Rybr+NrKnq0U0hZnx5AnGsuFHjGnNT14w26sg==", | ||||||
|  |       "cpu": [ | ||||||
|  |         "arm" | ||||||
|  |       ], | ||||||
|  |       "dev": true, | ||||||
|  |       "license": "MPL-2.0", | ||||||
|  |       "optional": true, | ||||||
|  |       "os": [ | ||||||
|  |         "linux" | ||||||
|  |       ], | ||||||
|  |       "peer": true, | ||||||
|  |       "engines": { | ||||||
|  |         "node": ">= 12.0.0" | ||||||
|  |       }, | ||||||
|  |       "funding": { | ||||||
|  |         "type": "opencollective", | ||||||
|  |         "url": "https://opencollective.com/parcel" | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|  |     "node_modules/lightningcss-linux-arm64-gnu": { | ||||||
|  |       "version": "1.29.2", | ||||||
|  |       "resolved": "https://registry.npmmirror.com/lightningcss-linux-arm64-gnu/-/lightningcss-linux-arm64-gnu-1.29.2.tgz", | ||||||
|  |       "integrity": "sha512-KKCpOlmhdjvUTX/mBuaKemp0oeDIBBLFiU5Fnqxh1/DZ4JPZi4evEH7TKoSBFOSOV3J7iEmmBaw/8dpiUvRKlQ==", | ||||||
|  |       "cpu": [ | ||||||
|  |         "arm64" | ||||||
|  |       ], | ||||||
|  |       "dev": true, | ||||||
|  |       "license": "MPL-2.0", | ||||||
|  |       "optional": true, | ||||||
|  |       "os": [ | ||||||
|  |         "linux" | ||||||
|  |       ], | ||||||
|  |       "peer": true, | ||||||
|  |       "engines": { | ||||||
|  |         "node": ">= 12.0.0" | ||||||
|  |       }, | ||||||
|  |       "funding": { | ||||||
|  |         "type": "opencollective", | ||||||
|  |         "url": "https://opencollective.com/parcel" | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|  |     "node_modules/lightningcss-linux-arm64-musl": { | ||||||
|  |       "version": "1.29.2", | ||||||
|  |       "resolved": "https://registry.npmmirror.com/lightningcss-linux-arm64-musl/-/lightningcss-linux-arm64-musl-1.29.2.tgz", | ||||||
|  |       "integrity": "sha512-Q64eM1bPlOOUgxFmoPUefqzY1yV3ctFPE6d/Vt7WzLW4rKTv7MyYNky+FWxRpLkNASTnKQUaiMJ87zNODIrrKQ==", | ||||||
|  |       "cpu": [ | ||||||
|  |         "arm64" | ||||||
|  |       ], | ||||||
|  |       "dev": true, | ||||||
|  |       "license": "MPL-2.0", | ||||||
|  |       "optional": true, | ||||||
|  |       "os": [ | ||||||
|  |         "linux" | ||||||
|  |       ], | ||||||
|  |       "peer": true, | ||||||
|  |       "engines": { | ||||||
|  |         "node": ">= 12.0.0" | ||||||
|  |       }, | ||||||
|  |       "funding": { | ||||||
|  |         "type": "opencollective", | ||||||
|  |         "url": "https://opencollective.com/parcel" | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|  |     "node_modules/lightningcss-linux-x64-gnu": { | ||||||
|  |       "version": "1.29.2", | ||||||
|  |       "resolved": "https://registry.npmmirror.com/lightningcss-linux-x64-gnu/-/lightningcss-linux-x64-gnu-1.29.2.tgz", | ||||||
|  |       "integrity": "sha512-0v6idDCPG6epLXtBH/RPkHvYx74CVziHo6TMYga8O2EiQApnUPZsbR9nFNrg2cgBzk1AYqEd95TlrsL7nYABQg==", | ||||||
|  |       "cpu": [ | ||||||
|  |         "x64" | ||||||
|  |       ], | ||||||
|  |       "dev": true, | ||||||
|  |       "license": "MPL-2.0", | ||||||
|  |       "optional": true, | ||||||
|  |       "os": [ | ||||||
|  |         "linux" | ||||||
|  |       ], | ||||||
|  |       "peer": true, | ||||||
|  |       "engines": { | ||||||
|  |         "node": ">= 12.0.0" | ||||||
|  |       }, | ||||||
|  |       "funding": { | ||||||
|  |         "type": "opencollective", | ||||||
|  |         "url": "https://opencollective.com/parcel" | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|  |     "node_modules/lightningcss-linux-x64-musl": { | ||||||
|  |       "version": "1.29.2", | ||||||
|  |       "resolved": "https://registry.npmmirror.com/lightningcss-linux-x64-musl/-/lightningcss-linux-x64-musl-1.29.2.tgz", | ||||||
|  |       "integrity": "sha512-rMpz2yawkgGT8RULc5S4WiZopVMOFWjiItBT7aSfDX4NQav6M44rhn5hjtkKzB+wMTRlLLqxkeYEtQ3dd9696w==", | ||||||
|  |       "cpu": [ | ||||||
|  |         "x64" | ||||||
|  |       ], | ||||||
|  |       "dev": true, | ||||||
|  |       "license": "MPL-2.0", | ||||||
|  |       "optional": true, | ||||||
|  |       "os": [ | ||||||
|  |         "linux" | ||||||
|  |       ], | ||||||
|  |       "peer": true, | ||||||
|  |       "engines": { | ||||||
|  |         "node": ">= 12.0.0" | ||||||
|  |       }, | ||||||
|  |       "funding": { | ||||||
|  |         "type": "opencollective", | ||||||
|  |         "url": "https://opencollective.com/parcel" | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|  |     "node_modules/lightningcss-win32-arm64-msvc": { | ||||||
|  |       "version": "1.29.2", | ||||||
|  |       "resolved": "https://registry.npmmirror.com/lightningcss-win32-arm64-msvc/-/lightningcss-win32-arm64-msvc-1.29.2.tgz", | ||||||
|  |       "integrity": "sha512-nL7zRW6evGQqYVu/bKGK+zShyz8OVzsCotFgc7judbt6wnB2KbiKKJwBE4SGoDBQ1O94RjW4asrCjQL4i8Fhbw==", | ||||||
|  |       "cpu": [ | ||||||
|  |         "arm64" | ||||||
|  |       ], | ||||||
|  |       "dev": true, | ||||||
|  |       "license": "MPL-2.0", | ||||||
|  |       "optional": true, | ||||||
|  |       "os": [ | ||||||
|  |         "win32" | ||||||
|  |       ], | ||||||
|  |       "peer": true, | ||||||
|  |       "engines": { | ||||||
|  |         "node": ">= 12.0.0" | ||||||
|  |       }, | ||||||
|  |       "funding": { | ||||||
|  |         "type": "opencollective", | ||||||
|  |         "url": "https://opencollective.com/parcel" | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|  |     "node_modules/lightningcss-win32-x64-msvc": { | ||||||
|  |       "version": "1.29.2", | ||||||
|  |       "resolved": "https://registry.npmmirror.com/lightningcss-win32-x64-msvc/-/lightningcss-win32-x64-msvc-1.29.2.tgz", | ||||||
|  |       "integrity": "sha512-EdIUW3B2vLuHmv7urfzMI/h2fmlnOQBk1xlsDxkN1tCWKjNFjfLhGxYk8C8mzpSfr+A6jFFIi8fU6LbQGsRWjA==", | ||||||
|  |       "cpu": [ | ||||||
|  |         "x64" | ||||||
|  |       ], | ||||||
|  |       "dev": true, | ||||||
|  |       "license": "MPL-2.0", | ||||||
|  |       "optional": true, | ||||||
|  |       "os": [ | ||||||
|  |         "win32" | ||||||
|  |       ], | ||||||
|  |       "peer": true, | ||||||
|  |       "engines": { | ||||||
|  |         "node": ">= 12.0.0" | ||||||
|  |       }, | ||||||
|  |       "funding": { | ||||||
|  |         "type": "opencollective", | ||||||
|  |         "url": "https://opencollective.com/parcel" | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|  |     "node_modules/lodash": { | ||||||
|  |       "version": "4.17.21", | ||||||
|  |       "resolved": "https://registry.npmmirror.com/lodash/-/lodash-4.17.21.tgz", | ||||||
|  |       "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", | ||||||
|  |       "license": "MIT" | ||||||
|  |     }, | ||||||
|  |     "node_modules/lodash-es": { | ||||||
|  |       "version": "4.17.21", | ||||||
|  |       "resolved": "https://registry.npmmirror.com/lodash-es/-/lodash-es-4.17.21.tgz", | ||||||
|  |       "integrity": "sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==", | ||||||
|  |       "license": "MIT" | ||||||
|  |     }, | ||||||
|  |     "node_modules/lodash-unified": { | ||||||
|  |       "version": "1.0.3", | ||||||
|  |       "resolved": "https://registry.npmmirror.com/lodash-unified/-/lodash-unified-1.0.3.tgz", | ||||||
|  |       "integrity": "sha512-WK9qSozxXOD7ZJQlpSqOT+om2ZfcT4yO+03FuzAHD0wF6S0l0090LRPDx3vhTTLZ8cFKpBn+IOcVXK6qOcIlfQ==", | ||||||
|  |       "license": "MIT", | ||||||
|  |       "peerDependencies": { | ||||||
|  |         "@types/lodash-es": "*", | ||||||
|  |         "lodash": "*", | ||||||
|  |         "lodash-es": "*" | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|     "node_modules/lru-cache": { |     "node_modules/lru-cache": { | ||||||
|       "version": "5.1.1", |       "version": "5.1.1", | ||||||
|       "resolved": "https://registry.npmmirror.com/lru-cache/-/lru-cache-5.1.1.tgz", |       "resolved": "https://registry.npmmirror.com/lru-cache/-/lru-cache-5.1.1.tgz", | ||||||
| @@ -2925,6 +3424,12 @@ | |||||||
|         "node": ">= 0.8" |         "node": ">= 0.8" | ||||||
|       } |       } | ||||||
|     }, |     }, | ||||||
|  |     "node_modules/memoize-one": { | ||||||
|  |       "version": "6.0.0", | ||||||
|  |       "resolved": "https://registry.npmmirror.com/memoize-one/-/memoize-one-6.0.0.tgz", | ||||||
|  |       "integrity": "sha512-rkpe71W0N0c0Xz6QD0eJETuWAJGnJ9afsl1srmwPrI+yBCkge5EycXXbYRyvL29zZVUWQCY7InPRCv3GDXuZNw==", | ||||||
|  |       "license": "MIT" | ||||||
|  |     }, | ||||||
|     "node_modules/merge-descriptors": { |     "node_modules/merge-descriptors": { | ||||||
|       "version": "2.0.0", |       "version": "2.0.0", | ||||||
|       "resolved": "https://registry.npmmirror.com/merge-descriptors/-/merge-descriptors-2.0.0.tgz", |       "resolved": "https://registry.npmmirror.com/merge-descriptors/-/merge-descriptors-2.0.0.tgz", | ||||||
| @@ -3085,6 +3590,12 @@ | |||||||
|         "node": ">=0.10.0" |         "node": ">=0.10.0" | ||||||
|       } |       } | ||||||
|     }, |     }, | ||||||
|  |     "node_modules/normalize-wheel-es": { | ||||||
|  |       "version": "1.2.0", | ||||||
|  |       "resolved": "https://registry.npmmirror.com/normalize-wheel-es/-/normalize-wheel-es-1.2.0.tgz", | ||||||
|  |       "integrity": "sha512-Wj7+EJQ8mSuXr2iWfnujrimU35R2W4FAErEyTmJoJ7ucwTn2hOUSsRehMb5RSYkxXGTM7Y9QpvPmp++w5ftoJw==", | ||||||
|  |       "license": "BSD-3-Clause" | ||||||
|  |     }, | ||||||
|     "node_modules/npm-run-path": { |     "node_modules/npm-run-path": { | ||||||
|       "version": "6.0.0", |       "version": "6.0.0", | ||||||
|       "resolved": "https://registry.npmmirror.com/npm-run-path/-/npm-run-path-6.0.0.tgz", |       "resolved": "https://registry.npmmirror.com/npm-run-path/-/npm-run-path-6.0.0.tgz", | ||||||
| @@ -4244,6 +4755,7 @@ | |||||||
|     "web": { |     "web": { | ||||||
|       "version": "0.0.0", |       "version": "0.0.0", | ||||||
|       "dependencies": { |       "dependencies": { | ||||||
|  |         "element-plus": "^2.9.8", | ||||||
|         "vue": "^3.5.13", |         "vue": "^3.5.13", | ||||||
|         "vue-router": "^4.5.0" |         "vue-router": "^4.5.0" | ||||||
|       }, |       }, | ||||||
|   | |||||||
| @@ -2,5 +2,5 @@ | |||||||
|   "$schema": "https://json.schemastore.org/prettierrc", |   "$schema": "https://json.schemastore.org/prettierrc", | ||||||
|   "semi": false, |   "semi": false, | ||||||
|   "singleQuote": true, |   "singleQuote": true, | ||||||
|   "printWidth": 100 |   "printWidth": 300 | ||||||
| } | } | ||||||
|   | |||||||
| @@ -4,7 +4,8 @@ | |||||||
|     <meta charset="UTF-8"> |     <meta charset="UTF-8"> | ||||||
|     <link rel="icon" href="/favicon.ico"> |     <link rel="icon" href="/favicon.ico"> | ||||||
|     <meta name="viewport" content="width=device-width, initial-scale=1.0"> |     <meta name="viewport" content="width=device-width, initial-scale=1.0"> | ||||||
|     <title>Vite App</title> |     <script src="/tailwindcss.js"></script> | ||||||
|  |     <title>飘渺儒仙GM后台</title> | ||||||
|   </head> |   </head> | ||||||
|   <body> |   <body> | ||||||
|     <div id="app"></div> |     <div id="app"></div> | ||||||
|   | |||||||
| @@ -10,6 +10,7 @@ | |||||||
|     "format": "prettier --write src/" |     "format": "prettier --write src/" | ||||||
|   }, |   }, | ||||||
|   "dependencies": { |   "dependencies": { | ||||||
|  |     "element-plus": "^2.9.8", | ||||||
|     "vue": "^3.5.13", |     "vue": "^3.5.13", | ||||||
|     "vue-router": "^4.5.0" |     "vue-router": "^4.5.0" | ||||||
|   }, |   }, | ||||||
|   | |||||||
							
								
								
									
										8
									
								
								web/public/tailwindcss.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										8
									
								
								web/public/tailwindcss.js
									
									
									
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because one or more lines are too long
											
										
									
								
							| @@ -1,85 +1,11 @@ | |||||||
| <script setup> | <script setup> | ||||||
| import { RouterLink, RouterView } from 'vue-router' | import { RouterView } from 'vue-router'; | ||||||
| import HelloWorld from './components/HelloWorld.vue' |  | ||||||
| </script> | </script> | ||||||
|  |  | ||||||
| <template> | <template> | ||||||
|   <header> |  | ||||||
|     <img alt="Vue logo" class="logo" src="@/assets/logo.svg" width="125" height="125" /> |  | ||||||
|  |  | ||||||
|     <div class="wrapper"> |  | ||||||
|       <HelloWorld msg="You did it!" /> |  | ||||||
|  |  | ||||||
|       <nav> |  | ||||||
|         <RouterLink to="/">Home</RouterLink> |  | ||||||
|         <RouterLink to="/about">About</RouterLink> |  | ||||||
|       </nav> |  | ||||||
|     </div> |  | ||||||
|   </header> |  | ||||||
|  |  | ||||||
|   <RouterView /> |   <RouterView /> | ||||||
| </template> | </template> | ||||||
|  |  | ||||||
| <style scoped> | <style scoped> | ||||||
| header { |  | ||||||
|   line-height: 1.5; |  | ||||||
|   max-height: 100vh; |  | ||||||
| } |  | ||||||
|  |  | ||||||
| .logo { |  | ||||||
|   display: block; |  | ||||||
|   margin: 0 auto 2rem; |  | ||||||
| } |  | ||||||
|  |  | ||||||
| nav { |  | ||||||
|   width: 100%; |  | ||||||
|   font-size: 12px; |  | ||||||
|   text-align: center; |  | ||||||
|   margin-top: 2rem; |  | ||||||
| } |  | ||||||
|  |  | ||||||
| nav a.router-link-exact-active { |  | ||||||
|   color: var(--color-text); |  | ||||||
| } |  | ||||||
|  |  | ||||||
| nav a.router-link-exact-active:hover { |  | ||||||
|   background-color: transparent; |  | ||||||
| } |  | ||||||
|  |  | ||||||
| nav a { |  | ||||||
|   display: inline-block; |  | ||||||
|   padding: 0 1rem; |  | ||||||
|   border-left: 1px solid var(--color-border); |  | ||||||
| } |  | ||||||
|  |  | ||||||
| nav a:first-of-type { |  | ||||||
|   border: 0; |  | ||||||
| } |  | ||||||
|  |  | ||||||
| @media (min-width: 1024px) { |  | ||||||
|   header { |  | ||||||
|     display: flex; |  | ||||||
|     place-items: center; |  | ||||||
|     padding-right: calc(var(--section-gap) / 2); |  | ||||||
|   } |  | ||||||
|  |  | ||||||
|   .logo { |  | ||||||
|     margin: 0 2rem 0 0; |  | ||||||
|   } |  | ||||||
|  |  | ||||||
|   header .wrapper { |  | ||||||
|     display: flex; |  | ||||||
|     place-items: flex-start; |  | ||||||
|     flex-wrap: wrap; |  | ||||||
|   } |  | ||||||
|  |  | ||||||
|   nav { |  | ||||||
|     text-align: left; |  | ||||||
|     margin-left: -1rem; |  | ||||||
|     font-size: 1rem; |  | ||||||
|  |  | ||||||
|     padding: 1rem 0; |  | ||||||
|     margin-top: 1rem; |  | ||||||
|   } |  | ||||||
| } |  | ||||||
| </style> | </style> | ||||||
|   | |||||||
| @@ -20,16 +20,3 @@ a, | |||||||
|     background-color: hsla(160, 100%, 37%, 0.2); |     background-color: hsla(160, 100%, 37%, 0.2); | ||||||
|   } |   } | ||||||
| } | } | ||||||
|  |  | ||||||
| @media (min-width: 1024px) { |  | ||||||
|   body { |  | ||||||
|     display: flex; |  | ||||||
|     place-items: center; |  | ||||||
|   } |  | ||||||
|  |  | ||||||
|   #app { |  | ||||||
|     display: grid; |  | ||||||
|     grid-template-columns: 1fr 1fr; |  | ||||||
|     padding: 0 2rem; |  | ||||||
|   } |  | ||||||
| } |  | ||||||
|   | |||||||
| @@ -1,44 +0,0 @@ | |||||||
| <script setup> |  | ||||||
| defineProps({ |  | ||||||
|   msg: { |  | ||||||
|     type: String, |  | ||||||
|     required: true, |  | ||||||
|   }, |  | ||||||
| }) |  | ||||||
| </script> |  | ||||||
|  |  | ||||||
| <template> |  | ||||||
|   <div class="greetings"> |  | ||||||
|     <h1 class="green">{{ msg }}</h1> |  | ||||||
|     <h3> |  | ||||||
|       You’ve successfully created a project with |  | ||||||
|       <a href="https://vite.dev/" target="_blank" rel="noopener">Vite</a> + |  | ||||||
|       <a href="https://vuejs.org/" target="_blank" rel="noopener">Vue 3</a>. |  | ||||||
|     </h3> |  | ||||||
|   </div> |  | ||||||
| </template> |  | ||||||
|  |  | ||||||
| <style scoped> |  | ||||||
| h1 { |  | ||||||
|   font-weight: 500; |  | ||||||
|   font-size: 2.6rem; |  | ||||||
|   position: relative; |  | ||||||
|   top: -10px; |  | ||||||
| } |  | ||||||
|  |  | ||||||
| h3 { |  | ||||||
|   font-size: 1.2rem; |  | ||||||
| } |  | ||||||
|  |  | ||||||
| .greetings h1, |  | ||||||
| .greetings h3 { |  | ||||||
|   text-align: center; |  | ||||||
| } |  | ||||||
|  |  | ||||||
| @media (min-width: 1024px) { |  | ||||||
|   .greetings h1, |  | ||||||
|   .greetings h3 { |  | ||||||
|     text-align: left; |  | ||||||
|   } |  | ||||||
| } |  | ||||||
| </style> |  | ||||||
| @@ -1,94 +0,0 @@ | |||||||
| <script setup> |  | ||||||
| import WelcomeItem from './WelcomeItem.vue' |  | ||||||
| import DocumentationIcon from './icons/IconDocumentation.vue' |  | ||||||
| import ToolingIcon from './icons/IconTooling.vue' |  | ||||||
| import EcosystemIcon from './icons/IconEcosystem.vue' |  | ||||||
| import CommunityIcon from './icons/IconCommunity.vue' |  | ||||||
| import SupportIcon from './icons/IconSupport.vue' |  | ||||||
|  |  | ||||||
| const openReadmeInEditor = () => fetch('/__open-in-editor?file=README.md') |  | ||||||
| </script> |  | ||||||
|  |  | ||||||
| <template> |  | ||||||
|   <WelcomeItem> |  | ||||||
|     <template #icon> |  | ||||||
|       <DocumentationIcon /> |  | ||||||
|     </template> |  | ||||||
|     <template #heading>Documentation</template> |  | ||||||
|  |  | ||||||
|     Vue’s |  | ||||||
|     <a href="https://vuejs.org/" target="_blank" rel="noopener">official documentation</a> |  | ||||||
|     provides you with all information you need to get started. |  | ||||||
|   </WelcomeItem> |  | ||||||
|  |  | ||||||
|   <WelcomeItem> |  | ||||||
|     <template #icon> |  | ||||||
|       <ToolingIcon /> |  | ||||||
|     </template> |  | ||||||
|     <template #heading>Tooling</template> |  | ||||||
|  |  | ||||||
|     This project is served and bundled with |  | ||||||
|     <a href="https://vite.dev/guide/features.html" target="_blank" rel="noopener">Vite</a>. The |  | ||||||
|     recommended IDE setup is |  | ||||||
|     <a href="https://code.visualstudio.com/" target="_blank" rel="noopener">VSCode</a> |  | ||||||
|     + |  | ||||||
|     <a href="https://github.com/vuejs/language-tools" target="_blank" rel="noopener">Vue - Official</a>. If |  | ||||||
|     you need to test your components and web pages, check out |  | ||||||
|     <a href="https://vitest.dev/" target="_blank" rel="noopener">Vitest</a> |  | ||||||
|     and |  | ||||||
|     <a href="https://www.cypress.io/" target="_blank" rel="noopener">Cypress</a> |  | ||||||
|     / |  | ||||||
|     <a href="https://playwright.dev/" target="_blank" rel="noopener">Playwright</a>. |  | ||||||
|  |  | ||||||
|     <br /> |  | ||||||
|  |  | ||||||
|     More instructions are available in |  | ||||||
|     <a href="javascript:void(0)" @click="openReadmeInEditor"><code>README.md</code></a |  | ||||||
|     >. |  | ||||||
|   </WelcomeItem> |  | ||||||
|  |  | ||||||
|   <WelcomeItem> |  | ||||||
|     <template #icon> |  | ||||||
|       <EcosystemIcon /> |  | ||||||
|     </template> |  | ||||||
|     <template #heading>Ecosystem</template> |  | ||||||
|  |  | ||||||
|     Get official tools and libraries for your project: |  | ||||||
|     <a href="https://pinia.vuejs.org/" target="_blank" rel="noopener">Pinia</a>, |  | ||||||
|     <a href="https://router.vuejs.org/" target="_blank" rel="noopener">Vue Router</a>, |  | ||||||
|     <a href="https://test-utils.vuejs.org/" target="_blank" rel="noopener">Vue Test Utils</a>, and |  | ||||||
|     <a href="https://github.com/vuejs/devtools" target="_blank" rel="noopener">Vue Dev Tools</a>. If |  | ||||||
|     you need more resources, we suggest paying |  | ||||||
|     <a href="https://github.com/vuejs/awesome-vue" target="_blank" rel="noopener">Awesome Vue</a> |  | ||||||
|     a visit. |  | ||||||
|   </WelcomeItem> |  | ||||||
|  |  | ||||||
|   <WelcomeItem> |  | ||||||
|     <template #icon> |  | ||||||
|       <CommunityIcon /> |  | ||||||
|     </template> |  | ||||||
|     <template #heading>Community</template> |  | ||||||
|  |  | ||||||
|     Got stuck? Ask your question on |  | ||||||
|     <a href="https://chat.vuejs.org" target="_blank" rel="noopener">Vue Land</a> |  | ||||||
|     (our official Discord server), or |  | ||||||
|     <a href="https://stackoverflow.com/questions/tagged/vue.js" target="_blank" rel="noopener" |  | ||||||
|       >StackOverflow</a |  | ||||||
|     >. You should also follow the official |  | ||||||
|     <a href="https://bsky.app/profile/vuejs.org" target="_blank" rel="noopener">@vuejs.org</a> |  | ||||||
|     Bluesky account or the |  | ||||||
|     <a href="https://x.com/vuejs" target="_blank" rel="noopener">@vuejs</a> |  | ||||||
|     X account for latest news in the Vue world. |  | ||||||
|   </WelcomeItem> |  | ||||||
|  |  | ||||||
|   <WelcomeItem> |  | ||||||
|     <template #icon> |  | ||||||
|       <SupportIcon /> |  | ||||||
|     </template> |  | ||||||
|     <template #heading>Support Vue</template> |  | ||||||
|  |  | ||||||
|     As an independent project, Vue relies on community backing for its sustainability. You can help |  | ||||||
|     us by |  | ||||||
|     <a href="https://vuejs.org/sponsor/" target="_blank" rel="noopener">becoming a sponsor</a>. |  | ||||||
|   </WelcomeItem> |  | ||||||
| </template> |  | ||||||
| @@ -1,86 +0,0 @@ | |||||||
| <template> |  | ||||||
|   <div class="item"> |  | ||||||
|     <i> |  | ||||||
|       <slot name="icon"></slot> |  | ||||||
|     </i> |  | ||||||
|     <div class="details"> |  | ||||||
|       <h3> |  | ||||||
|         <slot name="heading"></slot> |  | ||||||
|       </h3> |  | ||||||
|       <slot></slot> |  | ||||||
|     </div> |  | ||||||
|   </div> |  | ||||||
| </template> |  | ||||||
|  |  | ||||||
| <style scoped> |  | ||||||
| .item { |  | ||||||
|   margin-top: 2rem; |  | ||||||
|   display: flex; |  | ||||||
|   position: relative; |  | ||||||
| } |  | ||||||
|  |  | ||||||
| .details { |  | ||||||
|   flex: 1; |  | ||||||
|   margin-left: 1rem; |  | ||||||
| } |  | ||||||
|  |  | ||||||
| i { |  | ||||||
|   display: flex; |  | ||||||
|   place-items: center; |  | ||||||
|   place-content: center; |  | ||||||
|   width: 32px; |  | ||||||
|   height: 32px; |  | ||||||
|   color: var(--color-text); |  | ||||||
| } |  | ||||||
|  |  | ||||||
| h3 { |  | ||||||
|   font-size: 1.2rem; |  | ||||||
|   font-weight: 500; |  | ||||||
|   margin-bottom: 0.4rem; |  | ||||||
|   color: var(--color-heading); |  | ||||||
| } |  | ||||||
|  |  | ||||||
| @media (min-width: 1024px) { |  | ||||||
|   .item { |  | ||||||
|     margin-top: 0; |  | ||||||
|     padding: 0.4rem 0 1rem calc(var(--section-gap) / 2); |  | ||||||
|   } |  | ||||||
|  |  | ||||||
|   i { |  | ||||||
|     top: calc(50% - 25px); |  | ||||||
|     left: -26px; |  | ||||||
|     position: absolute; |  | ||||||
|     border: 1px solid var(--color-border); |  | ||||||
|     background: var(--color-background); |  | ||||||
|     border-radius: 8px; |  | ||||||
|     width: 50px; |  | ||||||
|     height: 50px; |  | ||||||
|   } |  | ||||||
|  |  | ||||||
|   .item:before { |  | ||||||
|     content: ' '; |  | ||||||
|     border-left: 1px solid var(--color-border); |  | ||||||
|     position: absolute; |  | ||||||
|     left: 0; |  | ||||||
|     bottom: calc(50% + 25px); |  | ||||||
|     height: calc(50% - 25px); |  | ||||||
|   } |  | ||||||
|  |  | ||||||
|   .item:after { |  | ||||||
|     content: ' '; |  | ||||||
|     border-left: 1px solid var(--color-border); |  | ||||||
|     position: absolute; |  | ||||||
|     left: 0; |  | ||||||
|     top: calc(50% + 25px); |  | ||||||
|     height: calc(50% - 25px); |  | ||||||
|   } |  | ||||||
|  |  | ||||||
|   .item:first-of-type:before { |  | ||||||
|     display: none; |  | ||||||
|   } |  | ||||||
|  |  | ||||||
|   .item:last-of-type:after { |  | ||||||
|     display: none; |  | ||||||
|   } |  | ||||||
| } |  | ||||||
| </style> |  | ||||||
| @@ -1,7 +0,0 @@ | |||||||
| <template> |  | ||||||
|   <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" fill="currentColor"> |  | ||||||
|     <path |  | ||||||
|       d="M15 4a1 1 0 1 0 0 2V4zm0 11v-1a1 1 0 0 0-1 1h1zm0 4l-.707.707A1 1 0 0 0 16 19h-1zm-4-4l.707-.707A1 1 0 0 0 11 14v1zm-4.707-1.293a1 1 0 0 0-1.414 1.414l1.414-1.414zm-.707.707l-.707-.707.707.707zM9 11v-1a1 1 0 0 0-.707.293L9 11zm-4 0h1a1 1 0 0 0-1-1v1zm0 4H4a1 1 0 0 0 1.707.707L5 15zm10-9h2V4h-2v2zm2 0a1 1 0 0 1 1 1h2a3 3 0 0 0-3-3v2zm1 1v6h2V7h-2zm0 6a1 1 0 0 1-1 1v2a3 3 0 0 0 3-3h-2zm-1 1h-2v2h2v-2zm-3 1v4h2v-4h-2zm1.707 3.293l-4-4-1.414 1.414 4 4 1.414-1.414zM11 14H7v2h4v-2zm-4 0c-.276 0-.525-.111-.707-.293l-1.414 1.414C5.42 15.663 6.172 16 7 16v-2zm-.707 1.121l3.414-3.414-1.414-1.414-3.414 3.414 1.414 1.414zM9 12h4v-2H9v2zm4 0a3 3 0 0 0 3-3h-2a1 1 0 0 1-1 1v2zm3-3V3h-2v6h2zm0-6a3 3 0 0 0-3-3v2a1 1 0 0 1 1 1h2zm-3-3H3v2h10V0zM3 0a3 3 0 0 0-3 3h2a1 1 0 0 1 1-1V0zM0 3v6h2V3H0zm0 6a3 3 0 0 0 3 3v-2a1 1 0 0 1-1-1H0zm3 3h2v-2H3v2zm1-1v4h2v-4H4zm1.707 4.707l.586-.586-1.414-1.414-.586.586 1.414 1.414z" |  | ||||||
|     /> |  | ||||||
|   </svg> |  | ||||||
| </template> |  | ||||||
| @@ -1,7 +0,0 @@ | |||||||
| <template> |  | ||||||
|   <svg xmlns="http://www.w3.org/2000/svg" width="20" height="17" fill="currentColor"> |  | ||||||
|     <path |  | ||||||
|       d="M11 2.253a1 1 0 1 0-2 0h2zm-2 13a1 1 0 1 0 2 0H9zm.447-12.167a1 1 0 1 0 1.107-1.666L9.447 3.086zM1 2.253L.447 1.42A1 1 0 0 0 0 2.253h1zm0 13H0a1 1 0 0 0 1.553.833L1 15.253zm8.447.833a1 1 0 1 0 1.107-1.666l-1.107 1.666zm0-14.666a1 1 0 1 0 1.107 1.666L9.447 1.42zM19 2.253h1a1 1 0 0 0-.447-.833L19 2.253zm0 13l-.553.833A1 1 0 0 0 20 15.253h-1zm-9.553-.833a1 1 0 1 0 1.107 1.666L9.447 14.42zM9 2.253v13h2v-13H9zm1.553-.833C9.203.523 7.42 0 5.5 0v2c1.572 0 2.961.431 3.947 1.086l1.107-1.666zM5.5 0C3.58 0 1.797.523.447 1.42l1.107 1.666C2.539 2.431 3.928 2 5.5 2V0zM0 2.253v13h2v-13H0zm1.553 13.833C2.539 15.431 3.928 15 5.5 15v-2c-1.92 0-3.703.523-5.053 1.42l1.107 1.666zM5.5 15c1.572 0 2.961.431 3.947 1.086l1.107-1.666C9.203 13.523 7.42 13 5.5 13v2zm5.053-11.914C11.539 2.431 12.928 2 14.5 2V0c-1.92 0-3.703.523-5.053 1.42l1.107 1.666zM14.5 2c1.573 0 2.961.431 3.947 1.086l1.107-1.666C18.203.523 16.421 0 14.5 0v2zm3.5.253v13h2v-13h-2zm1.553 12.167C18.203 13.523 16.421 13 14.5 13v2c1.573 0 2.961.431 3.947 1.086l1.107-1.666zM14.5 13c-1.92 0-3.703.523-5.053 1.42l1.107 1.666C11.539 15.431 12.928 15 14.5 15v-2z" |  | ||||||
|     /> |  | ||||||
|   </svg> |  | ||||||
| </template> |  | ||||||
| @@ -1,7 +0,0 @@ | |||||||
| <template> |  | ||||||
|   <svg xmlns="http://www.w3.org/2000/svg" width="18" height="20" fill="currentColor"> |  | ||||||
|     <path |  | ||||||
|       d="M11.447 8.894a1 1 0 1 0-.894-1.789l.894 1.789zm-2.894-.789a1 1 0 1 0 .894 1.789l-.894-1.789zm0 1.789a1 1 0 1 0 .894-1.789l-.894 1.789zM7.447 7.106a1 1 0 1 0-.894 1.789l.894-1.789zM10 9a1 1 0 1 0-2 0h2zm-2 2.5a1 1 0 1 0 2 0H8zm9.447-5.606a1 1 0 1 0-.894-1.789l.894 1.789zm-2.894-.789a1 1 0 1 0 .894 1.789l-.894-1.789zm2 .789a1 1 0 1 0 .894-1.789l-.894 1.789zm-1.106-2.789a1 1 0 1 0-.894 1.789l.894-1.789zM18 5a1 1 0 1 0-2 0h2zm-2 2.5a1 1 0 1 0 2 0h-2zm-5.447-4.606a1 1 0 1 0 .894-1.789l-.894 1.789zM9 1l.447-.894a1 1 0 0 0-.894 0L9 1zm-2.447.106a1 1 0 1 0 .894 1.789l-.894-1.789zm-6 3a1 1 0 1 0 .894 1.789L.553 4.106zm2.894.789a1 1 0 1 0-.894-1.789l.894 1.789zm-2-.789a1 1 0 1 0-.894 1.789l.894-1.789zm1.106 2.789a1 1 0 1 0 .894-1.789l-.894 1.789zM2 5a1 1 0 1 0-2 0h2zM0 7.5a1 1 0 1 0 2 0H0zm8.553 12.394a1 1 0 1 0 .894-1.789l-.894 1.789zm-1.106-2.789a1 1 0 1 0-.894 1.789l.894-1.789zm1.106 1a1 1 0 1 0 .894 1.789l-.894-1.789zm2.894.789a1 1 0 1 0-.894-1.789l.894 1.789zM8 19a1 1 0 1 0 2 0H8zm2-2.5a1 1 0 1 0-2 0h2zm-7.447.394a1 1 0 1 0 .894-1.789l-.894 1.789zM1 15H0a1 1 0 0 0 .553.894L1 15zm1-2.5a1 1 0 1 0-2 0h2zm12.553 2.606a1 1 0 1 0 .894 1.789l-.894-1.789zM17 15l.447.894A1 1 0 0 0 18 15h-1zm1-2.5a1 1 0 1 0-2 0h2zm-7.447-5.394l-2 1 .894 1.789 2-1-.894-1.789zm-1.106 1l-2-1-.894 1.789 2 1 .894-1.789zM8 9v2.5h2V9H8zm8.553-4.894l-2 1 .894 1.789 2-1-.894-1.789zm.894 0l-2-1-.894 1.789 2 1 .894-1.789zM16 5v2.5h2V5h-2zm-4.553-3.894l-2-1-.894 1.789 2 1 .894-1.789zm-2.894-1l-2 1 .894 1.789 2-1L8.553.106zM1.447 5.894l2-1-.894-1.789-2 1 .894 1.789zm-.894 0l2 1 .894-1.789-2-1-.894 1.789zM0 5v2.5h2V5H0zm9.447 13.106l-2-1-.894 1.789 2 1 .894-1.789zm0 1.789l2-1-.894-1.789-2 1 .894 1.789zM10 19v-2.5H8V19h2zm-6.553-3.894l-2-1-.894 1.789 2 1 .894-1.789zM2 15v-2.5H0V15h2zm13.447 1.894l2-1-.894-1.789-2 1 .894 1.789zM18 15v-2.5h-2V15h2z" |  | ||||||
|     /> |  | ||||||
|   </svg> |  | ||||||
| </template> |  | ||||||
| @@ -1,7 +0,0 @@ | |||||||
| <template> |  | ||||||
|   <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" fill="currentColor"> |  | ||||||
|     <path |  | ||||||
|       d="M10 3.22l-.61-.6a5.5 5.5 0 0 0-7.666.105 5.5 5.5 0 0 0-.114 7.665L10 18.78l8.39-8.4a5.5 5.5 0 0 0-.114-7.665 5.5 5.5 0 0 0-7.666-.105l-.61.61z" |  | ||||||
|     /> |  | ||||||
|   </svg> |  | ||||||
| </template> |  | ||||||
| @@ -1,19 +0,0 @@ | |||||||
| <!-- This icon is from <https://github.com/Templarian/MaterialDesign>, distributed under Apache 2.0 (https://www.apache.org/licenses/LICENSE-2.0) license--> |  | ||||||
| <template> |  | ||||||
|   <svg |  | ||||||
|     xmlns="http://www.w3.org/2000/svg" |  | ||||||
|     xmlns:xlink="http://www.w3.org/1999/xlink" |  | ||||||
|     aria-hidden="true" |  | ||||||
|     role="img" |  | ||||||
|     class="iconify iconify--mdi" |  | ||||||
|     width="24" |  | ||||||
|     height="24" |  | ||||||
|     preserveAspectRatio="xMidYMid meet" |  | ||||||
|     viewBox="0 0 24 24" |  | ||||||
|   > |  | ||||||
|     <path |  | ||||||
|       d="M20 18v-4h-3v1h-2v-1H9v1H7v-1H4v4h16M6.33 8l-1.74 4H7v-1h2v1h6v-1h2v1h2.41l-1.74-4H6.33M9 5v1h6V5H9m12.84 7.61c.1.22.16.48.16.8V18c0 .53-.21 1-.6 1.41c-.4.4-.85.59-1.4.59H4c-.55 0-1-.19-1.4-.59C2.21 19 2 18.53 2 18v-4.59c0-.32.06-.58.16-.8L4.5 7.22C4.84 6.41 5.45 6 6.33 6H7V5c0-.55.18-1 .57-1.41C7.96 3.2 8.44 3 9 3h6c.56 0 1.04.2 1.43.59c.39.41.57.86.57 1.41v1h.67c.88 0 1.49.41 1.83 1.22l2.34 5.39z" |  | ||||||
|       fill="currentColor" |  | ||||||
|     ></path> |  | ||||||
|   </svg> |  | ||||||
| </template> |  | ||||||
| @@ -4,8 +4,12 @@ import { createApp } from 'vue' | |||||||
| import App from './App.vue' | import App from './App.vue' | ||||||
| import router from './router' | import router from './router' | ||||||
|  |  | ||||||
|  | import ElementPlus from 'element-plus' | ||||||
|  | import 'element-plus/dist/index.css' | ||||||
|  |  | ||||||
| const app = createApp(App) | const app = createApp(App) | ||||||
|  |  | ||||||
| app.use(router) | app.use(router) | ||||||
|  | app.use(ElementPlus) | ||||||
|  |  | ||||||
| app.mount('#app') | app.mount('#app') | ||||||
|   | |||||||
| @@ -8,15 +8,7 @@ const router = createRouter({ | |||||||
|       path: '/', |       path: '/', | ||||||
|       name: 'home', |       name: 'home', | ||||||
|       component: HomeView, |       component: HomeView, | ||||||
|     }, |     } | ||||||
|     { |  | ||||||
|       path: '/about', |  | ||||||
|       name: 'about', |  | ||||||
|       // route level code-splitting |  | ||||||
|       // this generates a separate chunk (About.[hash].js) for this route |  | ||||||
|       // which is lazy-loaded when the route is visited. |  | ||||||
|       component: () => import('../views/AboutView.vue'), |  | ||||||
|     }, |  | ||||||
|   ], |   ], | ||||||
| }) | }) | ||||||
|  |  | ||||||
|   | |||||||
| @@ -1,15 +0,0 @@ | |||||||
| <template> |  | ||||||
|   <div class="about"> |  | ||||||
|     <h1>This is an about page</h1> |  | ||||||
|   </div> |  | ||||||
| </template> |  | ||||||
|  |  | ||||||
| <style> |  | ||||||
| @media (min-width: 1024px) { |  | ||||||
|   .about { |  | ||||||
|     min-height: 100vh; |  | ||||||
|     display: flex; |  | ||||||
|     align-items: center; |  | ||||||
|   } |  | ||||||
| } |  | ||||||
| </style> |  | ||||||
| @@ -1,9 +1,138 @@ | |||||||
| <script setup> | <script setup> | ||||||
| import TheWelcome from '../components/TheWelcome.vue' | import { ref, onMounted } from 'vue' | ||||||
|  | import axios from 'axios' | ||||||
|  |  | ||||||
|  | // 第一个卡片:表单数据 | ||||||
|  | const form = ref({ | ||||||
|  |   playerName: '', | ||||||
|  |   item: '', | ||||||
|  |   recharge: '' | ||||||
|  | }) | ||||||
|  | const items = ref(['物品1', '物品2', '物品3']) | ||||||
|  | const recharges = ref(['充值1', '充值2', '充值3']) | ||||||
|  |  | ||||||
|  | // 第二个卡片:角色表格数据 | ||||||
|  | const roleList = ref([]) | ||||||
|  | const roleSearch = ref('') | ||||||
|  | const fetchRoleList = async () => { | ||||||
|  |   try { | ||||||
|  |     const response = await axios.get('/api/role', { | ||||||
|  |       params: { search: roleSearch.value } | ||||||
|  |     }) | ||||||
|  |     roleList.value = response.data | ||||||
|  |   } catch (error) { | ||||||
|  |     console.error('获取角色列表失败:', error) | ||||||
|  |   } | ||||||
|  | } | ||||||
|  |  | ||||||
|  | // 第三个卡片:充值流水表格数据 | ||||||
|  | const rechargeList = ref([]) | ||||||
|  | const rechargeSearch = ref('') | ||||||
|  | const fetchRechargeList = async () => { | ||||||
|  |   try { | ||||||
|  |     const response = await axios.get('/api/recharge', { | ||||||
|  |       params: { search: rechargeSearch.value } | ||||||
|  |     }) | ||||||
|  |     rechargeList.value = response.data | ||||||
|  |   } catch (error) { | ||||||
|  |     console.error('获取充值流水失败:', error) | ||||||
|  |   } | ||||||
|  | } | ||||||
|  |  | ||||||
|  | // 页面加载时初始化数据 | ||||||
|  | onMounted(() => { | ||||||
|  |   fetchRoleList() | ||||||
|  |   fetchRechargeList() | ||||||
|  | }) | ||||||
|  |  | ||||||
|  | // 提交表单 | ||||||
|  | const submitForm = () => { | ||||||
|  |   console.log('提交表单:', form.value) | ||||||
|  | } | ||||||
| </script> | </script> | ||||||
|  |  | ||||||
| <template> | <template> | ||||||
|   <main> |   <div class="home-container"> | ||||||
|     <TheWelcome /> |     <!-- 第一个卡片:表单 --> | ||||||
|   </main> |     <el-card class="card-item"> | ||||||
|  |       <template #header> | ||||||
|  |         <div class="card-header"> | ||||||
|  |           <span>GM操作台</span> | ||||||
|  |           <el-button type="primary" @click="submitForm">提交</el-button> | ||||||
|  |         </div> | ||||||
|       </template> |       </template> | ||||||
|  |       <el-form :model="form" label-width="100px"> | ||||||
|  |         <el-row :gutter="20"> | ||||||
|  |           <el-col :span="8"> | ||||||
|  |             <el-form-item label="玩家角色名"> | ||||||
|  |               <el-input v-model="form.playerName" placeholder="请输入玩家角色名"></el-input> | ||||||
|  |             </el-form-item> | ||||||
|  |           </el-col> | ||||||
|  |           <el-col :span="8"> | ||||||
|  |             <el-form-item label="物品道具"> | ||||||
|  |               <el-select v-model="form.item" placeholder="请选择物品"> | ||||||
|  |                 <el-option v-for="item in items" :key="item" :label="item" :value="item"></el-option> | ||||||
|  |               </el-select> | ||||||
|  |             </el-form-item> | ||||||
|  |           </el-col> | ||||||
|  |           <el-col :span="8"> | ||||||
|  |             <el-form-item label="充值"> | ||||||
|  |               <el-select v-model="form.recharge" placeholder="请选择充值"> | ||||||
|  |                 <el-option v-for="recharge in recharges" :key="recharge" :label="recharge" :value="recharge"></el-option> | ||||||
|  |               </el-select> | ||||||
|  |             </el-form-item> | ||||||
|  |           </el-col> | ||||||
|  |         </el-row> | ||||||
|  |       </el-form> | ||||||
|  |     </el-card> | ||||||
|  |  | ||||||
|  |     <!-- 第二个卡片:角色表格 --> | ||||||
|  |     <el-card class="card-item"> | ||||||
|  |       <template #header> | ||||||
|  |         <div class="card-header"> | ||||||
|  |           <span>角色列表</span> | ||||||
|  |           <el-input style="width: 240px;" v-model="roleSearch" placeholder="请输入角色名称或ID" @input="fetchRoleList"></el-input> | ||||||
|  |         </div> | ||||||
|  |       </template> | ||||||
|  |       <el-table :data="roleList" style="width: 100%" border> | ||||||
|  |         <el-table-column prop="id" label="ID" width="180"></el-table-column> | ||||||
|  |         <el-table-column prop="name" label="角色名称" width="180"></el-table-column> | ||||||
|  |         <el-table-column prop="level" label="等级"></el-table-column> | ||||||
|  |       </el-table> | ||||||
|  |     </el-card> | ||||||
|  |  | ||||||
|  |     <!-- 第三个卡片:充值流水表格 --> | ||||||
|  |     <el-card class="card-item"> | ||||||
|  |       <template #header> | ||||||
|  |         <div class="card-header"> | ||||||
|  |           <span>充值流水</span> | ||||||
|  |           <el-input style="width: 240px;" v-model="rechargeSearch" placeholder="请输入角色名称或流水单号" @input="fetchRechargeList"></el-input> | ||||||
|  |         </div> | ||||||
|  |       </template> | ||||||
|  |       <el-table :data="rechargeList" style="width: 100%" border> | ||||||
|  |         <el-table-column prop="id" label="流水单号" width="180"></el-table-column> | ||||||
|  |         <el-table-column prop="roleName" label="角色名称" width="180"></el-table-column> | ||||||
|  |         <el-table-column prop="amount" label="充值金额"></el-table-column> | ||||||
|  |         <el-table-column prop="time" label="充值时间"></el-table-column> | ||||||
|  |       </el-table> | ||||||
|  |     </el-card> | ||||||
|  |   </div> | ||||||
|  | </template> | ||||||
|  |  | ||||||
|  | <style scoped> | ||||||
|  | .home-container { | ||||||
|  |   width: 100%; | ||||||
|  |   display: flex; | ||||||
|  |   flex-direction: column; | ||||||
|  |   gap: 20px; | ||||||
|  |   padding: 20px; | ||||||
|  | } | ||||||
|  | .card-item { | ||||||
|  |   width: 100%; | ||||||
|  | } | ||||||
|  | .card-header { | ||||||
|  |   display: flex; | ||||||
|  |   justify-content: space-between; | ||||||
|  |   align-items: center; | ||||||
|  | } | ||||||
|  | </style> | ||||||
| @@ -1,10 +1,9 @@ | |||||||
| import { fileURLToPath, URL } from 'node:url' | import { fileURLToPath, URL } from 'node:url' | ||||||
|  |  | ||||||
| import { defineConfig } from 'vite' |  | ||||||
| import vue from '@vitejs/plugin-vue' | import vue from '@vitejs/plugin-vue' | ||||||
| import vueJsx from '@vitejs/plugin-vue-jsx' | import vueJsx from '@vitejs/plugin-vue-jsx' | ||||||
|  | import { defineConfig } from 'vite' | ||||||
| import vueDevTools from 'vite-plugin-vue-devtools' | import vueDevTools from 'vite-plugin-vue-devtools' | ||||||
|  |  | ||||||
| // https://vite.dev/config/ | // https://vite.dev/config/ | ||||||
|  |  | ||||||
| export default defineConfig({ | export default defineConfig({ | ||||||
| @@ -20,9 +19,8 @@ export default defineConfig({ | |||||||
|     // 新增正向代理配置 |     // 新增正向代理配置 | ||||||
|     proxy: { |     proxy: { | ||||||
|       '/api': { |       '/api': { | ||||||
|         target: 'http://127.0.0.1:8080/api', |         target: 'http://127.0.0.1:8080', | ||||||
|         changeOrigin: true, |         changeOrigin: true, | ||||||
|         rewrite: (path) => path.replace(/^\/api/, ''), |  | ||||||
|       }, |       }, | ||||||
|     }, |     }, | ||||||
|   }, |   }, | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user