diff --git a/package-lock.json b/package-lock.json index 192b1ff..7ffee65 100644 --- a/package-lock.json +++ b/package-lock.json @@ -19,6 +19,7 @@ "element-ui": "^2.15.10", "file-saver": "^2.0.5", "moment": "^2.30.1", + "ol": "^10.5.0", "vue": "^2.7.16", "vue-router": "^3.5.1", "vueshowpdf": "^1.1.2", @@ -2807,6 +2808,11 @@ "node": ">=10" } }, + "node_modules/@petamoriken/float16": { + "version": "3.9.2", + "resolved": "https://registry.npmmirror.com/@petamoriken/float16/-/float16-3.9.2.tgz", + "integrity": "sha512-VgffxawQde93xKxT3qap3OH+meZf7VaSB5Sqd4Rqc+FP5alWbpOyan/7tRbOAvynjpG3GpdtAuGU/NdhQpmrog==" + }, "node_modules/@polka/url": { "version": "1.0.0-next.21", "resolved": "https://registry.npmmirror.com/@polka/url/-/url-1.0.0-next.21.tgz", @@ -3305,6 +3311,11 @@ "integrity": "sha512-EEhsLsD6UsDM1yFhAvy0Cjr6VwmpMWqFBCb9w07wVugF7w9nfajxLuVmngTIpgS6svCnm6Vaw+MZhoDCKnOfsw==", "dev": true }, + "node_modules/@types/rbush": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/@types/rbush/-/rbush-4.0.0.tgz", + "integrity": "sha512-+N+2H39P8X+Hy1I5mC6awlTX54k3FhiUmvt7HWzGJZvF+syUAAxP/stwppS8JE84YHqFgRMv6fCy31202CMFxQ==" + }, "node_modules/@types/retry": { "version": "0.12.0", "resolved": "https://registry.npmmirror.com/@types/retry/-/retry-0.12.0.tgz", @@ -8155,8 +8166,7 @@ "node_modules/earcut": { "version": "3.0.1", "resolved": "https://registry.npmmirror.com/earcut/-/earcut-3.0.1.tgz", - "integrity": "sha512-0l1/0gOjESMeQyYaK5IDiPNvFeu93Z/cO0TjZh9eZ1vyCtZnA7KMZ8rQggpsJHIbGSdrqYq9OhuveadOVHCshw==", - "dev": true + "integrity": "sha512-0l1/0gOjESMeQyYaK5IDiPNvFeu93Z/cO0TjZh9eZ1vyCtZnA7KMZ8rQggpsJHIbGSdrqYq9OhuveadOVHCshw==" }, "node_modules/easy-stack": { "version": "1.0.1", @@ -10232,6 +10242,40 @@ "node": ">=6.9.0" } }, + "node_modules/geotiff": { + "version": "2.1.3", + "resolved": "https://registry.npmmirror.com/geotiff/-/geotiff-2.1.3.tgz", + "integrity": "sha512-PT6uoF5a1+kbC3tHmZSUsLHBp2QJlHasxxxxPW47QIY1VBKpFB+FcDvX+MxER6UzgLQZ0xDzJ9s48B9JbOCTqA==", + "dependencies": { + "@petamoriken/float16": "^3.4.7", + "lerc": "^3.0.0", + "pako": "^2.0.4", + "parse-headers": "^2.0.2", + "quick-lru": "^6.1.1", + "web-worker": "^1.2.0", + "xml-utils": "^1.0.2", + "zstddec": "^0.1.0" + }, + "engines": { + "node": ">=10.19" + } + }, + "node_modules/geotiff/node_modules/lerc": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/lerc/-/lerc-3.0.0.tgz", + "integrity": "sha512-Rm4J/WaHhRa93nCN2mwWDZFoRVF18G1f47C+kvQWyHGEZxFpTUi73p7lMVSAndyxGt6lJ2/CFbOcf9ra5p8aww==" + }, + "node_modules/geotiff/node_modules/quick-lru": { + "version": "6.1.2", + "resolved": "https://registry.npmmirror.com/quick-lru/-/quick-lru-6.1.2.tgz", + "integrity": "sha512-AAFUA5O1d83pIHEhJwWCq/RQcRukCkn/NSm2QsTEMle5f2hP0ChI2+3Xb051PZCkLryI/Ir1MVKviT2FIloaTQ==", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/get-caller-file": { "version": "2.0.5", "resolved": "https://registry.npmmirror.com/get-caller-file/-/get-caller-file-2.0.5.tgz", @@ -17655,6 +17699,35 @@ "integrity": "sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==", "dev": true }, + "node_modules/ol": { + "version": "10.5.0", + "resolved": "https://registry.npmmirror.com/ol/-/ol-10.5.0.tgz", + "integrity": "sha512-nHFx8gkGmvYImsa7iKkwUnZidd5gn1XbMZd9GNOorvm9orjW9gQvT3Naw/MjIasVJ3cB9EJUdCGR2EFAulMHsQ==", + "dependencies": { + "@types/rbush": "4.0.0", + "earcut": "^3.0.0", + "geotiff": "^2.1.3", + "pbf": "4.0.1", + "rbush": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/openlayers" + } + }, + "node_modules/ol/node_modules/quickselect": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/quickselect/-/quickselect-3.0.0.tgz", + "integrity": "sha512-XdjUArbK4Bm5fLLvlm5KpTFOiOThgfWWI4axAZDWg4E/0mKdZyI9tNEfds27qCi1ze/vwTR16kvmmGhRra3c2g==" + }, + "node_modules/ol/node_modules/rbush": { + "version": "4.0.1", + "resolved": "https://registry.npmmirror.com/rbush/-/rbush-4.0.1.tgz", + "integrity": "sha512-IP0UpfeWQujYC8Jg162rMNc01Rf0gWMMAb2Uxus/Q0qOFw4lCcq6ZnQEZwUoJqWyUGJ9th7JjwI4yIWo+uvoAQ==", + "dependencies": { + "quickselect": "^3.0.0" + } + }, "node_modules/on-finished": { "version": "2.4.1", "resolved": "https://registry.npmmirror.com/on-finished/-/on-finished-2.4.1.tgz", @@ -18049,8 +18122,7 @@ "node_modules/pako": { "version": "2.1.0", "resolved": "https://registry.npmmirror.com/pako/-/pako-2.1.0.tgz", - "integrity": "sha512-w+eufiZ1WuJYgPXbV/PO3NCMEc3xqylkKHzp8bxp1uW4qaSNQUkwmLLEc3kKsfz8lpV1F8Ht3U1Cm+9Srog2ug==", - "dev": true + "integrity": "sha512-w+eufiZ1WuJYgPXbV/PO3NCMEc3xqylkKHzp8bxp1uW4qaSNQUkwmLLEc3kKsfz8lpV1F8Ht3U1Cm+9Srog2ug==" }, "node_modules/param-case": { "version": "3.0.4", @@ -18074,6 +18146,11 @@ "node": ">=6" } }, + "node_modules/parse-headers": { + "version": "2.0.6", + "resolved": "https://registry.npmmirror.com/parse-headers/-/parse-headers-2.0.6.tgz", + "integrity": "sha512-Tz11t3uKztEW5FEVZnj1ox8GKblWn+PvHY9TmJV5Mll2uHEwRdR/5Li1OlXoECjLYkApdhWy44ocONwXLiKO5A==" + }, "node_modules/parse-json": { "version": "5.2.0", "resolved": "https://registry.npmmirror.com/parse-json/-/parse-json-5.2.0.tgz", @@ -18189,6 +18266,17 @@ "node": ">=8" } }, + "node_modules/pbf": { + "version": "4.0.1", + "resolved": "https://registry.npmmirror.com/pbf/-/pbf-4.0.1.tgz", + "integrity": "sha512-SuLdBvS42z33m8ejRbInMapQe8n0D3vN/Xd5fmWM3tufNgRQFBpaW2YVJxQZV4iPNqb0vEFvssMEo5w9c6BTIA==", + "dependencies": { + "resolve-protobuf-schema": "^2.1.0" + }, + "bin": { + "pbf": "bin/pbf" + } + }, "node_modules/pend": { "version": "1.2.0", "resolved": "https://registry.npmmirror.com/pend/-/pend-1.2.0.tgz", @@ -19425,6 +19513,11 @@ "node": ">=12.0.0" } }, + "node_modules/protocol-buffers-schema": { + "version": "3.6.0", + "resolved": "https://registry.npmmirror.com/protocol-buffers-schema/-/protocol-buffers-schema-3.6.0.tgz", + "integrity": "sha512-TdDRD+/QNdrCGCE7v8340QyuXd4kIWIgapsE2+n/SaGiSSbomYl4TjHlvIoCWRpE7wFt02EpB35VVA2ImcBVqw==" + }, "node_modules/proxy-addr": { "version": "2.0.7", "resolved": "https://registry.npmmirror.com/proxy-addr/-/proxy-addr-2.0.7.tgz", @@ -19979,6 +20072,14 @@ "node": ">=8" } }, + "node_modules/resolve-protobuf-schema": { + "version": "2.1.0", + "resolved": "https://registry.npmmirror.com/resolve-protobuf-schema/-/resolve-protobuf-schema-2.1.0.tgz", + "integrity": "sha512-kI5ffTiZWmJaS/huM8wZfEMer1eRd7oJQhDuxeCLe3t7N7mX3z94CN0xPxBQxFYQTSNz9T0i+v6inKqSdK8xrQ==", + "dependencies": { + "protocol-buffers-schema": "^3.3.1" + } + }, "node_modules/resolve-url": { "version": "0.2.1", "resolved": "https://registry.npmmirror.com/resolve-url/-/resolve-url-0.2.1.tgz", @@ -23427,6 +23528,11 @@ "defaults": "^1.0.3" } }, + "node_modules/web-worker": { + "version": "1.5.0", + "resolved": "https://registry.npmmirror.com/web-worker/-/web-worker-1.5.0.tgz", + "integrity": "sha512-RiMReJrTAiA+mBjGONMnjVDP2u3p9R1vkcGz6gDIrOMT3oGuYwX2WRMYI9ipkphSuE5XKEhydbhNEJh4NY9mlw==" + }, "node_modules/webidl-conversions": { "version": "6.1.0", "resolved": "https://registry.npmmirror.com/webidl-conversions/-/webidl-conversions-6.1.0.tgz", @@ -24079,6 +24185,11 @@ "integrity": "sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw==", "dev": true }, + "node_modules/xml-utils": { + "version": "1.10.2", + "resolved": "https://registry.npmmirror.com/xml-utils/-/xml-utils-1.10.2.tgz", + "integrity": "sha512-RqM+2o1RYs6T8+3DzDSoTRAUfrvaejbVHcp3+thnAtDKo8LskR+HomLajEy5UjTz24rpka7AxVBRR3g2wTUkJA==" + }, "node_modules/xmlchars": { "version": "2.2.0", "resolved": "https://registry.npmmirror.com/xmlchars/-/xmlchars-2.2.0.tgz", @@ -24246,6 +24357,11 @@ "version": "2.3.0", "resolved": "https://registry.npmmirror.com/tslib/-/tslib-2.3.0.tgz", "integrity": "sha512-N82ooyxVNm6h1riLCoyS9e3fuJ3AMG2zIZs2Gd1ATcSFjSA23Q0fzjjZeh0jbJvWVDZ0cJT8yaNNaaXHzueNjg==" + }, + "node_modules/zstddec": { + "version": "0.1.0", + "resolved": "https://registry.npmmirror.com/zstddec/-/zstddec-0.1.0.tgz", + "integrity": "sha512-w2NTI8+3l3eeltKAdK8QpiLo/flRAr2p8AGeakfMZOXBxOg9HIu4LVDxBi81sYgVhFhdJjv1OrB5ssI8uFPoLg==" } } } diff --git a/package.json b/package.json index 70ac2d5..0ecc3f3 100644 --- a/package.json +++ b/package.json @@ -24,6 +24,7 @@ "element-ui": "^2.15.10", "file-saver": "^2.0.5", "moment": "^2.30.1", + "ol": "^10.5.0", "vue": "^2.7.16", "vue-router": "^3.5.1", "vueshowpdf": "^1.1.2", @@ -71,4 +72,4 @@ "gitHooks": { "pre-commit": "lint-staged" } -} +} \ No newline at end of file diff --git a/public/index.html b/public/index.html index 9b90c80..5c09522 100644 --- a/public/index.html +++ b/public/index.html @@ -14,12 +14,12 @@ - + diff --git a/src/router/index.js b/src/router/index.js index b508568..2a18444 100644 --- a/src/router/index.js +++ b/src/router/index.js @@ -9,22 +9,23 @@ const routes = [ name: "home", component: index, beforeEnter: (to, from, next) => { - const expires = localStorage.getItem("expires"); - const expiresTimestamp = new Date(expires).getTime(); - const now = new Date().getTime(); - if (expiresTimestamp && now > expiresTimestamp) { - // 登录已过期,执行自动退出操作 - localStorage.removeItem("setToken"); - localStorage.removeItem("expires"); - next("/login"); - } - const token = localStorage.getItem("setToken"); - // 在导航到/dashboard路由之前执行的操作 - if (!token) { - next("/login"); // 如果非管理员用户访问/dashboard,则重定向到登录页面 - } else { - next(); // 继续导航到/dashboard - } + next(); // 继续导航到/dashboard + // const expires = localStorage.getItem("expires"); + // const expiresTimestamp = new Date(expires).getTime(); + // const now = new Date().getTime(); + // if (expiresTimestamp && now > expiresTimestamp) { + // // 登录已过期,执行自动退出操作 + // localStorage.removeItem("setToken"); + // localStorage.removeItem("expires"); + // next("/login"); + // } + // const token = localStorage.getItem("setToken"); + // // 在导航到/dashboard路由之前执行的操作 + // if (!token) { + // next("/login"); // 如果非管理员用户访问/dashboard,则重定向到登录页面 + // } else { + // next(); // 继续导航到/dashboard + // } } }, { diff --git a/src/views/login/index.vue b/src/views/login/index.vue index a373ab9..0f3f781 100644 --- a/src/views/login/index.vue +++ b/src/views/login/index.vue @@ -71,30 +71,31 @@ export default { } }, loginClick() { - let params = {}; - params.username = this.state.username; - localStorage.setItem("userName", params.username); - params.password = this.state.password; + this.$router.push("/"); // Vue 2 中使用 this.$router + // let params = {}; + // params.username = this.state.username; + // localStorage.setItem("userName", params.username); + // params.password = this.state.password; - if (!this.state.username || !this.state.password) { - return; - } else { - login(params).then((res) => { - if (res.code === 1 && res.data) { - localStorage.setItem("setToken", res.data.token); - localStorage.setItem("expires", res.data.expires); // 登录到期时间 - localStorage.setItem("userId", res.data.userid); // 登录id - localStorage.setItem("isAdmin", res.data.isAdmin); // 权限 + // if (!this.state.username || !this.state.password) { + // return; + // } else { + // login(params).then((res) => { + // if (res.code === 1 && res.data) { + // localStorage.setItem("setToken", res.data.token); + // localStorage.setItem("expires", res.data.expires); // 登录到期时间 + // localStorage.setItem("userId", res.data.userid); // 登录id + // localStorage.setItem("isAdmin", res.data.isAdmin); // 权限 - // 注意:Vue 2 中 Pinia 的用法需要调整 + // // 注意:Vue 2 中 Pinia 的用法需要调整 - this.$router.push("/"); // Vue 2 中使用 this.$router - } else { - this.state.password = this.state.password; - this.$message.error(res.msg); - } - }); - } + // this.$router.push("/"); // Vue 2 中使用 this.$router + // } else { + // this.state.password = this.state.password; + // this.$message.error(res.msg); + // } + // }); + // } } } }; diff --git a/src/views/mapControl/index.vue b/src/views/mapControl/index.vue index 8bf7576..e710f11 100644 --- a/src/views/mapControl/index.vue +++ b/src/views/mapControl/index.vue @@ -1,143 +1,144 @@ +