diff --git a/package-lock.json b/package-lock.json
index b7f5f0c..60f8de7 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -1,16 +1,17 @@
{
"name": "untitled2",
- "version": "0.0.0",
+ "version": "V.1.0.0",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "untitled2",
- "version": "0.0.0",
+ "version": "V.1.0.0",
"dependencies": {
"axios": "^1.9.0",
"d3": "^7.9.0",
"jszip": "^3.10.1",
+ "marked": "^17.0.0",
"process": "^0.11.10",
"vue": "^3.5.13",
"vue-router": "^4.5.1",
@@ -73,6 +74,7 @@
"resolved": "https://registry.npmmirror.com/@babel/core/-/core-7.27.1.tgz",
"integrity": "sha512-IaaGWsQqfsQWVLqMn9OB92MNN7zukfVA4s7KKAI0KfrrDsZ0yhi5uV4baBuLuN7n3vsZpwP8asPPcVwApxvjBQ==",
"dev": true,
+ "peer": true,
"dependencies": {
"@ampproject/remapping": "^2.2.0",
"@babel/code-frame": "^7.27.1",
@@ -1489,6 +1491,7 @@
"url": "https://github.com/sponsors/ai"
}
],
+ "peer": true,
"dependencies": {
"caniuse-lite": "^1.0.30001716",
"electron-to-chromium": "^1.5.149",
@@ -1936,6 +1939,7 @@
"version": "3.0.0",
"resolved": "https://registry.npmmirror.com/d3-selection/-/d3-selection-3.0.0.tgz",
"integrity": "sha512-fmTRWbNMmsmWq6xJV8D19U/gw/bwrHfNXxrIN+HfZgnzqTHp9jOmKMhsTUjXOJnZOdZY9Q28y4yebKzqDKlxlQ==",
+ "peer": true,
"engines": {
"node": ">=12"
}
@@ -2710,6 +2714,18 @@
"@jridgewell/sourcemap-codec": "^1.5.0"
}
},
+ "node_modules/marked": {
+ "version": "17.0.0",
+ "resolved": "https://registry.npmjs.org/marked/-/marked-17.0.0.tgz",
+ "integrity": "sha512-KkDYEWEEiYJw/KC+DVm1zzlpMQSMIu6YRltkcCvwheCp8HWPXCk9JwOmHJKBlGfzcpzcIt6x3sMnTsRm/51oDg==",
+ "license": "MIT",
+ "bin": {
+ "marked": "bin/marked.js"
+ },
+ "engines": {
+ "node": ">= 20"
+ }
+ },
"node_modules/math-intrinsics": {
"version": "1.1.0",
"resolved": "https://registry.npmmirror.com/math-intrinsics/-/math-intrinsics-1.1.0.tgz",
@@ -2972,6 +2988,7 @@
"resolved": "https://registry.npmmirror.com/rollup/-/rollup-4.40.1.tgz",
"integrity": "sha512-C5VvvgCCyfyotVITIAv+4efVytl5F7wt+/I2i9q9GZcEXW9BP52YYOXC58igUi+LFZVHukErIIqQSWwv/M3WRw==",
"dev": true,
+ "peer": true,
"dependencies": {
"@types/estree": "1.0.7"
},
@@ -3240,6 +3257,7 @@
"resolved": "https://registry.npmmirror.com/vite/-/vite-6.3.4.tgz",
"integrity": "sha512-BiReIiMS2fyFqbqNT/Qqt4CVITDU9M9vE+DKcVAsB+ZV0wvTKd+3hMbkpxz1b+NmEDMegpVbisKiAZOnvO92Sw==",
"dev": true,
+ "peer": true,
"dependencies": {
"esbuild": "^0.25.0",
"fdir": "^6.4.4",
@@ -3397,6 +3415,7 @@
"version": "3.5.13",
"resolved": "https://registry.npmmirror.com/vue/-/vue-3.5.13.tgz",
"integrity": "sha512-wmeiSMxkZCSc+PM2w2VRsOYAZC8GdipNFRTsLSfodVqI9mbejKeXEGr8SckuLnrQPGe3oJN5c3K0vpoU9q/wCQ==",
+ "peer": true,
"dependencies": {
"@vue/compiler-dom": "3.5.13",
"@vue/compiler-sfc": "3.5.13",
diff --git a/package.json b/package.json
index 3141d50..1505114 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
{
"name": "untitled2",
- "version": "0.0.0",
+ "version": "V.1.0.0",
"private": true,
"type": "module",
"scripts": {
@@ -12,6 +12,7 @@
"axios": "^1.9.0",
"d3": "^7.9.0",
"jszip": "^3.10.1",
+ "marked": "^17.0.0",
"process": "^0.11.10",
"vue": "^3.5.13",
"vue-router": "^4.5.1",
diff --git a/src/router/index.js b/src/router/index.js
index 8e96794..534c201 100644
--- a/src/router/index.js
+++ b/src/router/index.js
@@ -111,6 +111,11 @@ const routes = [
name: 'TerrainGenerate',
component: () => import('@/views/index/TerrainGenerate.vue'),
// meta: { requiredPrivilege: ['lv-admin','lv-mod','lv-map','lv-competitor'] }
+ },
+ {
+ path: 'version',
+ name: 'VersionInfo',
+ component: () => import('@/views/index/VersionInfo.vue')
}
]
},
@@ -196,4 +201,4 @@ router.beforeEach(async (to, from, next) => {
return next();
});
-export default router
\ No newline at end of file
+export default router
\ No newline at end of file
diff --git a/src/views/index.vue b/src/views/index.vue
index dc0e8a1..9507d38 100644
--- a/src/views/index.vue
+++ b/src/views/index.vue
@@ -373,8 +373,12 @@ function handlePasswordChangeError(errorMessage) {