正在显示
25 个修改的文件
包含
4507 行增加
和
0 行删除
.env
0 → 100644
.env.development
0 → 100644
.env.production
0 → 100644
.gitignore
0 → 100644
| 1 | +# Logs | ||
| 2 | +logs | ||
| 3 | +*.log | ||
| 4 | +npm-debug.log* | ||
| 5 | +yarn-debug.log* | ||
| 6 | +yarn-error.log* | ||
| 7 | +pnpm-debug.log* | ||
| 8 | +lerna-debug.log* | ||
| 9 | + | ||
| 10 | +node_modules | ||
| 11 | +dist | ||
| 12 | +dist-ssr | ||
| 13 | +*.local | ||
| 14 | + | ||
| 15 | +# Editor directories and files | ||
| 16 | +.vscode/* | ||
| 17 | +!.vscode/extensions.json | ||
| 18 | +.idea | ||
| 19 | +.DS_Store | ||
| 20 | +*.suo | ||
| 21 | +*.ntvs* | ||
| 22 | +*.njsproj | ||
| 23 | +*.sln | ||
| 24 | +*.sw? |
.vscode/extensions.json
0 → 100644
README.md
0 → 100644
| 1 | +# Vue 3 + TypeScript + Vite | ||
| 2 | + | ||
| 3 | +This template should help get you started developing with Vue 3 and TypeScript in Vite. The template uses Vue 3 `<script setup>` SFCs, check out the [script setup docs](https://v3.vuejs.org/api/sfc-script-setup.html#sfc-script-setup) to learn more. | ||
| 4 | + | ||
| 5 | +Learn more about the recommended Project Setup and IDE Support in the [Vue Docs TypeScript Guide](https://vuejs.org/guide/typescript/overview.html#project-setup). |
index.html
0 → 100644
| 1 | +<html lang="en"> | ||
| 2 | + <head> | ||
| 3 | + <meta charset="UTF-8" /> | ||
| 4 | + <link rel="icon" type="image/svg+xml" href="/vite.svg" /> | ||
| 5 | + <meta name="viewport" content="width=device-width, initial-scale=1.0" /> | ||
| 6 | + <title>Vite + Vue + TS</title> | ||
| 7 | + </head> | ||
| 8 | + <body> | ||
| 9 | + <div id="app"></div> | ||
| 10 | + <script type="module" src="/src/main.ts"></script> | ||
| 11 | + </body> | ||
| 12 | +</html> |
package-lock.json
0 → 100644
| 1 | +{ | ||
| 2 | + "name": "web-package", | ||
| 3 | + "version": "0.0.0", | ||
| 4 | + "lockfileVersion": 3, | ||
| 5 | + "requires": true, | ||
| 6 | + "packages": { | ||
| 7 | + "": { | ||
| 8 | + "name": "web-package", | ||
| 9 | + "version": "0.0.0", | ||
| 10 | + "dependencies": { | ||
| 11 | + "ant-design-vue": "^4.2.6", | ||
| 12 | + "axios": "^1.8.1", | ||
| 13 | + "cesium": "^1.127.0", | ||
| 14 | + "dayjs": "^1.11.13", | ||
| 15 | + "vue": "^3.5.13" | ||
| 16 | + }, | ||
| 17 | + "devDependencies": { | ||
| 18 | + "@types/cesium": "^1.67.14", | ||
| 19 | + "@vitejs/plugin-vue": "^5.2.1", | ||
| 20 | + "@vue/tsconfig": "^0.7.0", | ||
| 21 | + "typescript": "~5.7.2", | ||
| 22 | + "vite": "^6.2.0", | ||
| 23 | + "vue-tsc": "^2.2.4" | ||
| 24 | + } | ||
| 25 | + }, | ||
| 26 | + "node_modules/@ant-design/colors": { | ||
| 27 | + "version": "6.0.0", | ||
| 28 | + "resolved": "https://registry.npmmirror.com/@ant-design/colors/-/colors-6.0.0.tgz", | ||
| 29 | + "integrity": "sha512-qAZRvPzfdWHtfameEGP2Qvuf838NhergR35o+EuVyB5XvSA98xod5r4utvi4TJ3ywmevm290g9nsCG5MryrdWQ==", | ||
| 30 | + "license": "MIT", | ||
| 31 | + "dependencies": { | ||
| 32 | + "@ctrl/tinycolor": "^3.4.0" | ||
| 33 | + } | ||
| 34 | + }, | ||
| 35 | + "node_modules/@ant-design/icons-svg": { | ||
| 36 | + "version": "4.4.2", | ||
| 37 | + "resolved": "https://registry.npmmirror.com/@ant-design/icons-svg/-/icons-svg-4.4.2.tgz", | ||
| 38 | + "integrity": "sha512-vHbT+zJEVzllwP+CM+ul7reTEfBR0vgxFe7+lREAsAA7YGsYpboiq2sQNeQeRvh09GfQgs/GyFEvZpJ9cLXpXA==", | ||
| 39 | + "license": "MIT" | ||
| 40 | + }, | ||
| 41 | + "node_modules/@ant-design/icons-vue": { | ||
| 42 | + "version": "7.0.1", | ||
| 43 | + "resolved": "https://registry.npmmirror.com/@ant-design/icons-vue/-/icons-vue-7.0.1.tgz", | ||
| 44 | + "integrity": "sha512-eCqY2unfZK6Fe02AwFlDHLfoyEFreP6rBwAZMIJ1LugmfMiVgwWDYlp1YsRugaPtICYOabV1iWxXdP12u9U43Q==", | ||
| 45 | + "license": "MIT", | ||
| 46 | + "dependencies": { | ||
| 47 | + "@ant-design/colors": "^6.0.0", | ||
| 48 | + "@ant-design/icons-svg": "^4.2.1" | ||
| 49 | + }, | ||
| 50 | + "peerDependencies": { | ||
| 51 | + "vue": ">=3.0.3" | ||
| 52 | + } | ||
| 53 | + }, | ||
| 54 | + "node_modules/@babel/helper-string-parser": { | ||
| 55 | + "version": "7.25.9", | ||
| 56 | + "resolved": "https://registry.npmmirror.com/@babel/helper-string-parser/-/helper-string-parser-7.25.9.tgz", | ||
| 57 | + "integrity": "sha512-4A/SCr/2KLd5jrtOMFzaKjVtAei3+2r/NChoBNoZ3EyP/+GlhoaEGoWOZUmFmoITP7zOJyHIMm+DYRd8o3PvHA==", | ||
| 58 | + "license": "MIT", | ||
| 59 | + "engines": { | ||
| 60 | + "node": ">=6.9.0" | ||
| 61 | + } | ||
| 62 | + }, | ||
| 63 | + "node_modules/@babel/helper-validator-identifier": { | ||
| 64 | + "version": "7.25.9", | ||
| 65 | + "resolved": "https://registry.npmmirror.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.25.9.tgz", | ||
| 66 | + "integrity": "sha512-Ed61U6XJc3CVRfkERJWDz4dJwKe7iLmmJsbOGu9wSloNSFttHV0I8g6UAgb7qnK5ly5bGLPd4oXZlxCdANBOWQ==", | ||
| 67 | + "license": "MIT", | ||
| 68 | + "engines": { | ||
| 69 | + "node": ">=6.9.0" | ||
| 70 | + } | ||
| 71 | + }, | ||
| 72 | + "node_modules/@babel/parser": { | ||
| 73 | + "version": "7.26.9", | ||
| 74 | + "resolved": "https://registry.npmmirror.com/@babel/parser/-/parser-7.26.9.tgz", | ||
| 75 | + "integrity": "sha512-81NWa1njQblgZbQHxWHpxxCzNsa3ZwvFqpUg7P+NNUU6f3UU2jBEg4OlF/J6rl8+PQGh1q6/zWScd001YwcA5A==", | ||
| 76 | + "license": "MIT", | ||
| 77 | + "dependencies": { | ||
| 78 | + "@babel/types": "^7.26.9" | ||
| 79 | + }, | ||
| 80 | + "bin": { | ||
| 81 | + "parser": "bin/babel-parser.js" | ||
| 82 | + }, | ||
| 83 | + "engines": { | ||
| 84 | + "node": ">=6.0.0" | ||
| 85 | + } | ||
| 86 | + }, | ||
| 87 | + "node_modules/@babel/runtime": { | ||
| 88 | + "version": "7.26.9", | ||
| 89 | + "resolved": "https://registry.npmmirror.com/@babel/runtime/-/runtime-7.26.9.tgz", | ||
| 90 | + "integrity": "sha512-aA63XwOkcl4xxQa3HjPMqOP6LiK0ZDv3mUPYEFXkpHbaFjtGggE1A61FjFzJnB+p7/oy2gA8E+rcBNl/zC1tMg==", | ||
| 91 | + "license": "MIT", | ||
| 92 | + "dependencies": { | ||
| 93 | + "regenerator-runtime": "^0.14.0" | ||
| 94 | + }, | ||
| 95 | + "engines": { | ||
| 96 | + "node": ">=6.9.0" | ||
| 97 | + } | ||
| 98 | + }, | ||
| 99 | + "node_modules/@babel/types": { | ||
| 100 | + "version": "7.26.9", | ||
| 101 | + "resolved": "https://registry.npmmirror.com/@babel/types/-/types-7.26.9.tgz", | ||
| 102 | + "integrity": "sha512-Y3IR1cRnOxOCDvMmNiym7XpXQ93iGDDPHx+Zj+NM+rg0fBaShfQLkg+hKPaZCEvg5N/LeCo4+Rj/i3FuJsIQaw==", | ||
| 103 | + "license": "MIT", | ||
| 104 | + "dependencies": { | ||
| 105 | + "@babel/helper-string-parser": "^7.25.9", | ||
| 106 | + "@babel/helper-validator-identifier": "^7.25.9" | ||
| 107 | + }, | ||
| 108 | + "engines": { | ||
| 109 | + "node": ">=6.9.0" | ||
| 110 | + } | ||
| 111 | + }, | ||
| 112 | + "node_modules/@cesium/engine": { | ||
| 113 | + "version": "15.0.0", | ||
| 114 | + "resolved": "https://registry.npmmirror.com/@cesium/engine/-/engine-15.0.0.tgz", | ||
| 115 | + "integrity": "sha512-jimj7khIf/mBkejsMZ+n6Y9PPvXh4QmWKkz2ekFz59icDCeGj8ZJrzl5p0caqiK/372mnHOwmYFWYEwThEw2ew==", | ||
| 116 | + "license": "Apache-2.0", | ||
| 117 | + "dependencies": { | ||
| 118 | + "@tweenjs/tween.js": "^25.0.0", | ||
| 119 | + "@zip.js/zip.js": "^2.7.34", | ||
| 120 | + "autolinker": "^4.0.0", | ||
| 121 | + "bitmap-sdf": "^1.0.3", | ||
| 122 | + "dompurify": "^3.0.2", | ||
| 123 | + "draco3d": "^1.5.1", | ||
| 124 | + "earcut": "^3.0.0", | ||
| 125 | + "grapheme-splitter": "^1.0.4", | ||
| 126 | + "jsep": "^1.3.8", | ||
| 127 | + "kdbush": "^4.0.1", | ||
| 128 | + "ktx-parse": "^1.0.0", | ||
| 129 | + "lerc": "^2.0.0", | ||
| 130 | + "mersenne-twister": "^1.1.0", | ||
| 131 | + "meshoptimizer": "^0.22.0", | ||
| 132 | + "pako": "^2.0.4", | ||
| 133 | + "protobufjs": "^7.1.0", | ||
| 134 | + "rbush": "3.0.1", | ||
| 135 | + "topojson-client": "^3.1.0", | ||
| 136 | + "urijs": "^1.19.7" | ||
| 137 | + }, | ||
| 138 | + "engines": { | ||
| 139 | + "node": ">=14.0.0" | ||
| 140 | + } | ||
| 141 | + }, | ||
| 142 | + "node_modules/@cesium/widgets": { | ||
| 143 | + "version": "11.0.0", | ||
| 144 | + "resolved": "https://registry.npmmirror.com/@cesium/widgets/-/widgets-11.0.0.tgz", | ||
| 145 | + "integrity": "sha512-4ELgFuU2uwkvD6NI9MHIWNFKjmyI9wlDzZ9NuoPFSnUhf9XfVBI8sJekGx5dijxjK2S3aCuxB3dtUkdDZEsQmA==", | ||
| 146 | + "license": "Apache-2.0", | ||
| 147 | + "dependencies": { | ||
| 148 | + "@cesium/engine": "^15.0.0", | ||
| 149 | + "nosleep.js": "^0.12.0" | ||
| 150 | + }, | ||
| 151 | + "engines": { | ||
| 152 | + "node": ">=14.0.0" | ||
| 153 | + } | ||
| 154 | + }, | ||
| 155 | + "node_modules/@ctrl/tinycolor": { | ||
| 156 | + "version": "3.6.1", | ||
| 157 | + "resolved": "https://registry.npmmirror.com/@ctrl/tinycolor/-/tinycolor-3.6.1.tgz", | ||
| 158 | + "integrity": "sha512-SITSV6aIXsuVNV3f3O0f2n/cgyEDWoSqtZMYiAmcsYHydcKrOz3gUxB/iXd/Qf08+IZX4KpgNbvUdMBmWz+kcA==", | ||
| 159 | + "license": "MIT", | ||
| 160 | + "engines": { | ||
| 161 | + "node": ">=10" | ||
| 162 | + } | ||
| 163 | + }, | ||
| 164 | + "node_modules/@emotion/hash": { | ||
| 165 | + "version": "0.9.2", | ||
| 166 | + "resolved": "https://registry.npmmirror.com/@emotion/hash/-/hash-0.9.2.tgz", | ||
| 167 | + "integrity": "sha512-MyqliTZGuOm3+5ZRSaaBGP3USLw6+EGykkwZns2EPC5g8jJ4z9OrdZY9apkl3+UP9+sdz76YYkwCKP5gh8iY3g==", | ||
| 168 | + "license": "MIT" | ||
| 169 | + }, | ||
| 170 | + "node_modules/@emotion/unitless": { | ||
| 171 | + "version": "0.8.1", | ||
| 172 | + "resolved": "https://registry.npmmirror.com/@emotion/unitless/-/unitless-0.8.1.tgz", | ||
| 173 | + "integrity": "sha512-KOEGMu6dmJZtpadb476IsZBclKvILjopjUii3V+7MnXIQCYh8W3NgNcgwo21n9LXZX6EDIKvqfjYxXebDwxKmQ==", | ||
| 174 | + "license": "MIT" | ||
| 175 | + }, | ||
| 176 | + "node_modules/@esbuild/aix-ppc64": { | ||
| 177 | + "version": "0.25.0", | ||
| 178 | + "resolved": "https://registry.npmmirror.com/@esbuild/aix-ppc64/-/aix-ppc64-0.25.0.tgz", | ||
| 179 | + "integrity": "sha512-O7vun9Sf8DFjH2UtqK8Ku3LkquL9SZL8OLY1T5NZkA34+wG3OQF7cl4Ql8vdNzM6fzBbYfLaiRLIOZ+2FOCgBQ==", | ||
| 180 | + "cpu": [ | ||
| 181 | + "ppc64" | ||
| 182 | + ], | ||
| 183 | + "dev": true, | ||
| 184 | + "license": "MIT", | ||
| 185 | + "optional": true, | ||
| 186 | + "os": [ | ||
| 187 | + "aix" | ||
| 188 | + ], | ||
| 189 | + "engines": { | ||
| 190 | + "node": ">=18" | ||
| 191 | + } | ||
| 192 | + }, | ||
| 193 | + "node_modules/@esbuild/android-arm": { | ||
| 194 | + "version": "0.25.0", | ||
| 195 | + "resolved": "https://registry.npmmirror.com/@esbuild/android-arm/-/android-arm-0.25.0.tgz", | ||
| 196 | + "integrity": "sha512-PTyWCYYiU0+1eJKmw21lWtC+d08JDZPQ5g+kFyxP0V+es6VPPSUhM6zk8iImp2jbV6GwjX4pap0JFbUQN65X1g==", | ||
| 197 | + "cpu": [ | ||
| 198 | + "arm" | ||
| 199 | + ], | ||
| 200 | + "dev": true, | ||
| 201 | + "license": "MIT", | ||
| 202 | + "optional": true, | ||
| 203 | + "os": [ | ||
| 204 | + "android" | ||
| 205 | + ], | ||
| 206 | + "engines": { | ||
| 207 | + "node": ">=18" | ||
| 208 | + } | ||
| 209 | + }, | ||
| 210 | + "node_modules/@esbuild/android-arm64": { | ||
| 211 | + "version": "0.25.0", | ||
| 212 | + "resolved": "https://registry.npmmirror.com/@esbuild/android-arm64/-/android-arm64-0.25.0.tgz", | ||
| 213 | + "integrity": "sha512-grvv8WncGjDSyUBjN9yHXNt+cq0snxXbDxy5pJtzMKGmmpPxeAmAhWxXI+01lU5rwZomDgD3kJwulEnhTRUd6g==", | ||
| 214 | + "cpu": [ | ||
| 215 | + "arm64" | ||
| 216 | + ], | ||
| 217 | + "dev": true, | ||
| 218 | + "license": "MIT", | ||
| 219 | + "optional": true, | ||
| 220 | + "os": [ | ||
| 221 | + "android" | ||
| 222 | + ], | ||
| 223 | + "engines": { | ||
| 224 | + "node": ">=18" | ||
| 225 | + } | ||
| 226 | + }, | ||
| 227 | + "node_modules/@esbuild/android-x64": { | ||
| 228 | + "version": "0.25.0", | ||
| 229 | + "resolved": "https://registry.npmmirror.com/@esbuild/android-x64/-/android-x64-0.25.0.tgz", | ||
| 230 | + "integrity": "sha512-m/ix7SfKG5buCnxasr52+LI78SQ+wgdENi9CqyCXwjVR2X4Jkz+BpC3le3AoBPYTC9NHklwngVXvbJ9/Akhrfg==", | ||
| 231 | + "cpu": [ | ||
| 232 | + "x64" | ||
| 233 | + ], | ||
| 234 | + "dev": true, | ||
| 235 | + "license": "MIT", | ||
| 236 | + "optional": true, | ||
| 237 | + "os": [ | ||
| 238 | + "android" | ||
| 239 | + ], | ||
| 240 | + "engines": { | ||
| 241 | + "node": ">=18" | ||
| 242 | + } | ||
| 243 | + }, | ||
| 244 | + "node_modules/@esbuild/darwin-arm64": { | ||
| 245 | + "version": "0.25.0", | ||
| 246 | + "resolved": "https://registry.npmmirror.com/@esbuild/darwin-arm64/-/darwin-arm64-0.25.0.tgz", | ||
| 247 | + "integrity": "sha512-mVwdUb5SRkPayVadIOI78K7aAnPamoeFR2bT5nszFUZ9P8UpK4ratOdYbZZXYSqPKMHfS1wdHCJk1P1EZpRdvw==", | ||
| 248 | + "cpu": [ | ||
| 249 | + "arm64" | ||
| 250 | + ], | ||
| 251 | + "dev": true, | ||
| 252 | + "license": "MIT", | ||
| 253 | + "optional": true, | ||
| 254 | + "os": [ | ||
| 255 | + "darwin" | ||
| 256 | + ], | ||
| 257 | + "engines": { | ||
| 258 | + "node": ">=18" | ||
| 259 | + } | ||
| 260 | + }, | ||
| 261 | + "node_modules/@esbuild/darwin-x64": { | ||
| 262 | + "version": "0.25.0", | ||
| 263 | + "resolved": "https://registry.npmmirror.com/@esbuild/darwin-x64/-/darwin-x64-0.25.0.tgz", | ||
| 264 | + "integrity": "sha512-DgDaYsPWFTS4S3nWpFcMn/33ZZwAAeAFKNHNa1QN0rI4pUjgqf0f7ONmXf6d22tqTY+H9FNdgeaAa+YIFUn2Rg==", | ||
| 265 | + "cpu": [ | ||
| 266 | + "x64" | ||
| 267 | + ], | ||
| 268 | + "dev": true, | ||
| 269 | + "license": "MIT", | ||
| 270 | + "optional": true, | ||
| 271 | + "os": [ | ||
| 272 | + "darwin" | ||
| 273 | + ], | ||
| 274 | + "engines": { | ||
| 275 | + "node": ">=18" | ||
| 276 | + } | ||
| 277 | + }, | ||
| 278 | + "node_modules/@esbuild/freebsd-arm64": { | ||
| 279 | + "version": "0.25.0", | ||
| 280 | + "resolved": "https://registry.npmmirror.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.25.0.tgz", | ||
| 281 | + "integrity": "sha512-VN4ocxy6dxefN1MepBx/iD1dH5K8qNtNe227I0mnTRjry8tj5MRk4zprLEdG8WPyAPb93/e4pSgi1SoHdgOa4w==", | ||
| 282 | + "cpu": [ | ||
| 283 | + "arm64" | ||
| 284 | + ], | ||
| 285 | + "dev": true, | ||
| 286 | + "license": "MIT", | ||
| 287 | + "optional": true, | ||
| 288 | + "os": [ | ||
| 289 | + "freebsd" | ||
| 290 | + ], | ||
| 291 | + "engines": { | ||
| 292 | + "node": ">=18" | ||
| 293 | + } | ||
| 294 | + }, | ||
| 295 | + "node_modules/@esbuild/freebsd-x64": { | ||
| 296 | + "version": "0.25.0", | ||
| 297 | + "resolved": "https://registry.npmmirror.com/@esbuild/freebsd-x64/-/freebsd-x64-0.25.0.tgz", | ||
| 298 | + "integrity": "sha512-mrSgt7lCh07FY+hDD1TxiTyIHyttn6vnjesnPoVDNmDfOmggTLXRv8Id5fNZey1gl/V2dyVK1VXXqVsQIiAk+A==", | ||
| 299 | + "cpu": [ | ||
| 300 | + "x64" | ||
| 301 | + ], | ||
| 302 | + "dev": true, | ||
| 303 | + "license": "MIT", | ||
| 304 | + "optional": true, | ||
| 305 | + "os": [ | ||
| 306 | + "freebsd" | ||
| 307 | + ], | ||
| 308 | + "engines": { | ||
| 309 | + "node": ">=18" | ||
| 310 | + } | ||
| 311 | + }, | ||
| 312 | + "node_modules/@esbuild/linux-arm": { | ||
| 313 | + "version": "0.25.0", | ||
| 314 | + "resolved": "https://registry.npmmirror.com/@esbuild/linux-arm/-/linux-arm-0.25.0.tgz", | ||
| 315 | + "integrity": "sha512-vkB3IYj2IDo3g9xX7HqhPYxVkNQe8qTK55fraQyTzTX/fxaDtXiEnavv9geOsonh2Fd2RMB+i5cbhu2zMNWJwg==", | ||
| 316 | + "cpu": [ | ||
| 317 | + "arm" | ||
| 318 | + ], | ||
| 319 | + "dev": true, | ||
| 320 | + "license": "MIT", | ||
| 321 | + "optional": true, | ||
| 322 | + "os": [ | ||
| 323 | + "linux" | ||
| 324 | + ], | ||
| 325 | + "engines": { | ||
| 326 | + "node": ">=18" | ||
| 327 | + } | ||
| 328 | + }, | ||
| 329 | + "node_modules/@esbuild/linux-arm64": { | ||
| 330 | + "version": "0.25.0", | ||
| 331 | + "resolved": "https://registry.npmmirror.com/@esbuild/linux-arm64/-/linux-arm64-0.25.0.tgz", | ||
| 332 | + "integrity": "sha512-9QAQjTWNDM/Vk2bgBl17yWuZxZNQIF0OUUuPZRKoDtqF2k4EtYbpyiG5/Dk7nqeK6kIJWPYldkOcBqjXjrUlmg==", | ||
| 333 | + "cpu": [ | ||
| 334 | + "arm64" | ||
| 335 | + ], | ||
| 336 | + "dev": true, | ||
| 337 | + "license": "MIT", | ||
| 338 | + "optional": true, | ||
| 339 | + "os": [ | ||
| 340 | + "linux" | ||
| 341 | + ], | ||
| 342 | + "engines": { | ||
| 343 | + "node": ">=18" | ||
| 344 | + } | ||
| 345 | + }, | ||
| 346 | + "node_modules/@esbuild/linux-ia32": { | ||
| 347 | + "version": "0.25.0", | ||
| 348 | + "resolved": "https://registry.npmmirror.com/@esbuild/linux-ia32/-/linux-ia32-0.25.0.tgz", | ||
| 349 | + "integrity": "sha512-43ET5bHbphBegyeqLb7I1eYn2P/JYGNmzzdidq/w0T8E2SsYL1U6un2NFROFRg1JZLTzdCoRomg8Rvf9M6W6Gg==", | ||
| 350 | + "cpu": [ | ||
| 351 | + "ia32" | ||
| 352 | + ], | ||
| 353 | + "dev": true, | ||
| 354 | + "license": "MIT", | ||
| 355 | + "optional": true, | ||
| 356 | + "os": [ | ||
| 357 | + "linux" | ||
| 358 | + ], | ||
| 359 | + "engines": { | ||
| 360 | + "node": ">=18" | ||
| 361 | + } | ||
| 362 | + }, | ||
| 363 | + "node_modules/@esbuild/linux-loong64": { | ||
| 364 | + "version": "0.25.0", | ||
| 365 | + "resolved": "https://registry.npmmirror.com/@esbuild/linux-loong64/-/linux-loong64-0.25.0.tgz", | ||
| 366 | + "integrity": "sha512-fC95c/xyNFueMhClxJmeRIj2yrSMdDfmqJnyOY4ZqsALkDrrKJfIg5NTMSzVBr5YW1jf+l7/cndBfP3MSDpoHw==", | ||
| 367 | + "cpu": [ | ||
| 368 | + "loong64" | ||
| 369 | + ], | ||
| 370 | + "dev": true, | ||
| 371 | + "license": "MIT", | ||
| 372 | + "optional": true, | ||
| 373 | + "os": [ | ||
| 374 | + "linux" | ||
| 375 | + ], | ||
| 376 | + "engines": { | ||
| 377 | + "node": ">=18" | ||
| 378 | + } | ||
| 379 | + }, | ||
| 380 | + "node_modules/@esbuild/linux-mips64el": { | ||
| 381 | + "version": "0.25.0", | ||
| 382 | + "resolved": "https://registry.npmmirror.com/@esbuild/linux-mips64el/-/linux-mips64el-0.25.0.tgz", | ||
| 383 | + "integrity": "sha512-nkAMFju7KDW73T1DdH7glcyIptm95a7Le8irTQNO/qtkoyypZAnjchQgooFUDQhNAy4iu08N79W4T4pMBwhPwQ==", | ||
| 384 | + "cpu": [ | ||
| 385 | + "mips64el" | ||
| 386 | + ], | ||
| 387 | + "dev": true, | ||
| 388 | + "license": "MIT", | ||
| 389 | + "optional": true, | ||
| 390 | + "os": [ | ||
| 391 | + "linux" | ||
| 392 | + ], | ||
| 393 | + "engines": { | ||
| 394 | + "node": ">=18" | ||
| 395 | + } | ||
| 396 | + }, | ||
| 397 | + "node_modules/@esbuild/linux-ppc64": { | ||
| 398 | + "version": "0.25.0", | ||
| 399 | + "resolved": "https://registry.npmmirror.com/@esbuild/linux-ppc64/-/linux-ppc64-0.25.0.tgz", | ||
| 400 | + "integrity": "sha512-NhyOejdhRGS8Iwv+KKR2zTq2PpysF9XqY+Zk77vQHqNbo/PwZCzB5/h7VGuREZm1fixhs4Q/qWRSi5zmAiO4Fw==", | ||
| 401 | + "cpu": [ | ||
| 402 | + "ppc64" | ||
| 403 | + ], | ||
| 404 | + "dev": true, | ||
| 405 | + "license": "MIT", | ||
| 406 | + "optional": true, | ||
| 407 | + "os": [ | ||
| 408 | + "linux" | ||
| 409 | + ], | ||
| 410 | + "engines": { | ||
| 411 | + "node": ">=18" | ||
| 412 | + } | ||
| 413 | + }, | ||
| 414 | + "node_modules/@esbuild/linux-riscv64": { | ||
| 415 | + "version": "0.25.0", | ||
| 416 | + "resolved": "https://registry.npmmirror.com/@esbuild/linux-riscv64/-/linux-riscv64-0.25.0.tgz", | ||
| 417 | + "integrity": "sha512-5S/rbP5OY+GHLC5qXp1y/Mx//e92L1YDqkiBbO9TQOvuFXM+iDqUNG5XopAnXoRH3FjIUDkeGcY1cgNvnXp/kA==", | ||
| 418 | + "cpu": [ | ||
| 419 | + "riscv64" | ||
| 420 | + ], | ||
| 421 | + "dev": true, | ||
| 422 | + "license": "MIT", | ||
| 423 | + "optional": true, | ||
| 424 | + "os": [ | ||
| 425 | + "linux" | ||
| 426 | + ], | ||
| 427 | + "engines": { | ||
| 428 | + "node": ">=18" | ||
| 429 | + } | ||
| 430 | + }, | ||
| 431 | + "node_modules/@esbuild/linux-s390x": { | ||
| 432 | + "version": "0.25.0", | ||
| 433 | + "resolved": "https://registry.npmmirror.com/@esbuild/linux-s390x/-/linux-s390x-0.25.0.tgz", | ||
| 434 | + "integrity": "sha512-XM2BFsEBz0Fw37V0zU4CXfcfuACMrppsMFKdYY2WuTS3yi8O1nFOhil/xhKTmE1nPmVyvQJjJivgDT+xh8pXJA==", | ||
| 435 | + "cpu": [ | ||
| 436 | + "s390x" | ||
| 437 | + ], | ||
| 438 | + "dev": true, | ||
| 439 | + "license": "MIT", | ||
| 440 | + "optional": true, | ||
| 441 | + "os": [ | ||
| 442 | + "linux" | ||
| 443 | + ], | ||
| 444 | + "engines": { | ||
| 445 | + "node": ">=18" | ||
| 446 | + } | ||
| 447 | + }, | ||
| 448 | + "node_modules/@esbuild/linux-x64": { | ||
| 449 | + "version": "0.25.0", | ||
| 450 | + "resolved": "https://registry.npmmirror.com/@esbuild/linux-x64/-/linux-x64-0.25.0.tgz", | ||
| 451 | + "integrity": "sha512-9yl91rHw/cpwMCNytUDxwj2XjFpxML0y9HAOH9pNVQDpQrBxHy01Dx+vaMu0N1CKa/RzBD2hB4u//nfc+Sd3Cw==", | ||
| 452 | + "cpu": [ | ||
| 453 | + "x64" | ||
| 454 | + ], | ||
| 455 | + "dev": true, | ||
| 456 | + "license": "MIT", | ||
| 457 | + "optional": true, | ||
| 458 | + "os": [ | ||
| 459 | + "linux" | ||
| 460 | + ], | ||
| 461 | + "engines": { | ||
| 462 | + "node": ">=18" | ||
| 463 | + } | ||
| 464 | + }, | ||
| 465 | + "node_modules/@esbuild/netbsd-arm64": { | ||
| 466 | + "version": "0.25.0", | ||
| 467 | + "resolved": "https://registry.npmmirror.com/@esbuild/netbsd-arm64/-/netbsd-arm64-0.25.0.tgz", | ||
| 468 | + "integrity": "sha512-RuG4PSMPFfrkH6UwCAqBzauBWTygTvb1nxWasEJooGSJ/NwRw7b2HOwyRTQIU97Hq37l3npXoZGYMy3b3xYvPw==", | ||
| 469 | + "cpu": [ | ||
| 470 | + "arm64" | ||
| 471 | + ], | ||
| 472 | + "dev": true, | ||
| 473 | + "license": "MIT", | ||
| 474 | + "optional": true, | ||
| 475 | + "os": [ | ||
| 476 | + "netbsd" | ||
| 477 | + ], | ||
| 478 | + "engines": { | ||
| 479 | + "node": ">=18" | ||
| 480 | + } | ||
| 481 | + }, | ||
| 482 | + "node_modules/@esbuild/netbsd-x64": { | ||
| 483 | + "version": "0.25.0", | ||
| 484 | + "resolved": "https://registry.npmmirror.com/@esbuild/netbsd-x64/-/netbsd-x64-0.25.0.tgz", | ||
| 485 | + "integrity": "sha512-jl+qisSB5jk01N5f7sPCsBENCOlPiS/xptD5yxOx2oqQfyourJwIKLRA2yqWdifj3owQZCL2sn6o08dBzZGQzA==", | ||
| 486 | + "cpu": [ | ||
| 487 | + "x64" | ||
| 488 | + ], | ||
| 489 | + "dev": true, | ||
| 490 | + "license": "MIT", | ||
| 491 | + "optional": true, | ||
| 492 | + "os": [ | ||
| 493 | + "netbsd" | ||
| 494 | + ], | ||
| 495 | + "engines": { | ||
| 496 | + "node": ">=18" | ||
| 497 | + } | ||
| 498 | + }, | ||
| 499 | + "node_modules/@esbuild/openbsd-arm64": { | ||
| 500 | + "version": "0.25.0", | ||
| 501 | + "resolved": "https://registry.npmmirror.com/@esbuild/openbsd-arm64/-/openbsd-arm64-0.25.0.tgz", | ||
| 502 | + "integrity": "sha512-21sUNbq2r84YE+SJDfaQRvdgznTD8Xc0oc3p3iW/a1EVWeNj/SdUCbm5U0itZPQYRuRTW20fPMWMpcrciH2EJw==", | ||
| 503 | + "cpu": [ | ||
| 504 | + "arm64" | ||
| 505 | + ], | ||
| 506 | + "dev": true, | ||
| 507 | + "license": "MIT", | ||
| 508 | + "optional": true, | ||
| 509 | + "os": [ | ||
| 510 | + "openbsd" | ||
| 511 | + ], | ||
| 512 | + "engines": { | ||
| 513 | + "node": ">=18" | ||
| 514 | + } | ||
| 515 | + }, | ||
| 516 | + "node_modules/@esbuild/openbsd-x64": { | ||
| 517 | + "version": "0.25.0", | ||
| 518 | + "resolved": "https://registry.npmmirror.com/@esbuild/openbsd-x64/-/openbsd-x64-0.25.0.tgz", | ||
| 519 | + "integrity": "sha512-2gwwriSMPcCFRlPlKx3zLQhfN/2WjJ2NSlg5TKLQOJdV0mSxIcYNTMhk3H3ulL/cak+Xj0lY1Ym9ysDV1igceg==", | ||
| 520 | + "cpu": [ | ||
| 521 | + "x64" | ||
| 522 | + ], | ||
| 523 | + "dev": true, | ||
| 524 | + "license": "MIT", | ||
| 525 | + "optional": true, | ||
| 526 | + "os": [ | ||
| 527 | + "openbsd" | ||
| 528 | + ], | ||
| 529 | + "engines": { | ||
| 530 | + "node": ">=18" | ||
| 531 | + } | ||
| 532 | + }, | ||
| 533 | + "node_modules/@esbuild/sunos-x64": { | ||
| 534 | + "version": "0.25.0", | ||
| 535 | + "resolved": "https://registry.npmmirror.com/@esbuild/sunos-x64/-/sunos-x64-0.25.0.tgz", | ||
| 536 | + "integrity": "sha512-bxI7ThgLzPrPz484/S9jLlvUAHYMzy6I0XiU1ZMeAEOBcS0VePBFxh1JjTQt3Xiat5b6Oh4x7UC7IwKQKIJRIg==", | ||
| 537 | + "cpu": [ | ||
| 538 | + "x64" | ||
| 539 | + ], | ||
| 540 | + "dev": true, | ||
| 541 | + "license": "MIT", | ||
| 542 | + "optional": true, | ||
| 543 | + "os": [ | ||
| 544 | + "sunos" | ||
| 545 | + ], | ||
| 546 | + "engines": { | ||
| 547 | + "node": ">=18" | ||
| 548 | + } | ||
| 549 | + }, | ||
| 550 | + "node_modules/@esbuild/win32-arm64": { | ||
| 551 | + "version": "0.25.0", | ||
| 552 | + "resolved": "https://registry.npmmirror.com/@esbuild/win32-arm64/-/win32-arm64-0.25.0.tgz", | ||
| 553 | + "integrity": "sha512-ZUAc2YK6JW89xTbXvftxdnYy3m4iHIkDtK3CLce8wg8M2L+YZhIvO1DKpxrd0Yr59AeNNkTiic9YLf6FTtXWMw==", | ||
| 554 | + "cpu": [ | ||
| 555 | + "arm64" | ||
| 556 | + ], | ||
| 557 | + "dev": true, | ||
| 558 | + "license": "MIT", | ||
| 559 | + "optional": true, | ||
| 560 | + "os": [ | ||
| 561 | + "win32" | ||
| 562 | + ], | ||
| 563 | + "engines": { | ||
| 564 | + "node": ">=18" | ||
| 565 | + } | ||
| 566 | + }, | ||
| 567 | + "node_modules/@esbuild/win32-ia32": { | ||
| 568 | + "version": "0.25.0", | ||
| 569 | + "resolved": "https://registry.npmmirror.com/@esbuild/win32-ia32/-/win32-ia32-0.25.0.tgz", | ||
| 570 | + "integrity": "sha512-eSNxISBu8XweVEWG31/JzjkIGbGIJN/TrRoiSVZwZ6pkC6VX4Im/WV2cz559/TXLcYbcrDN8JtKgd9DJVIo8GA==", | ||
| 571 | + "cpu": [ | ||
| 572 | + "ia32" | ||
| 573 | + ], | ||
| 574 | + "dev": true, | ||
| 575 | + "license": "MIT", | ||
| 576 | + "optional": true, | ||
| 577 | + "os": [ | ||
| 578 | + "win32" | ||
| 579 | + ], | ||
| 580 | + "engines": { | ||
| 581 | + "node": ">=18" | ||
| 582 | + } | ||
| 583 | + }, | ||
| 584 | + "node_modules/@esbuild/win32-x64": { | ||
| 585 | + "version": "0.25.0", | ||
| 586 | + "resolved": "https://registry.npmmirror.com/@esbuild/win32-x64/-/win32-x64-0.25.0.tgz", | ||
| 587 | + "integrity": "sha512-ZENoHJBxA20C2zFzh6AI4fT6RraMzjYw4xKWemRTRmRVtN9c5DcH9r/f2ihEkMjOW5eGgrwCslG/+Y/3bL+DHQ==", | ||
| 588 | + "cpu": [ | ||
| 589 | + "x64" | ||
| 590 | + ], | ||
| 591 | + "dev": true, | ||
| 592 | + "license": "MIT", | ||
| 593 | + "optional": true, | ||
| 594 | + "os": [ | ||
| 595 | + "win32" | ||
| 596 | + ], | ||
| 597 | + "engines": { | ||
| 598 | + "node": ">=18" | ||
| 599 | + } | ||
| 600 | + }, | ||
| 601 | + "node_modules/@jridgewell/sourcemap-codec": { | ||
| 602 | + "version": "1.5.0", | ||
| 603 | + "resolved": "https://registry.npmmirror.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz", | ||
| 604 | + "integrity": "sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==", | ||
| 605 | + "license": "MIT" | ||
| 606 | + }, | ||
| 607 | + "node_modules/@protobufjs/aspromise": { | ||
| 608 | + "version": "1.1.2", | ||
| 609 | + "resolved": "https://registry.npmmirror.com/@protobufjs/aspromise/-/aspromise-1.1.2.tgz", | ||
| 610 | + "integrity": "sha512-j+gKExEuLmKwvz3OgROXtrJ2UG2x8Ch2YZUxahh+s1F2HZ+wAceUNLkvy6zKCPVRkU++ZWQrdxsUeQXmcg4uoQ==", | ||
| 611 | + "license": "BSD-3-Clause" | ||
| 612 | + }, | ||
| 613 | + "node_modules/@protobufjs/base64": { | ||
| 614 | + "version": "1.1.2", | ||
| 615 | + "resolved": "https://registry.npmmirror.com/@protobufjs/base64/-/base64-1.1.2.tgz", | ||
| 616 | + "integrity": "sha512-AZkcAA5vnN/v4PDqKyMR5lx7hZttPDgClv83E//FMNhR2TMcLUhfRUBHCmSl0oi9zMgDDqRUJkSxO3wm85+XLg==", | ||
| 617 | + "license": "BSD-3-Clause" | ||
| 618 | + }, | ||
| 619 | + "node_modules/@protobufjs/codegen": { | ||
| 620 | + "version": "2.0.4", | ||
| 621 | + "resolved": "https://registry.npmmirror.com/@protobufjs/codegen/-/codegen-2.0.4.tgz", | ||
| 622 | + "integrity": "sha512-YyFaikqM5sH0ziFZCN3xDC7zeGaB/d0IUb9CATugHWbd1FRFwWwt4ld4OYMPWu5a3Xe01mGAULCdqhMlPl29Jg==", | ||
| 623 | + "license": "BSD-3-Clause" | ||
| 624 | + }, | ||
| 625 | + "node_modules/@protobufjs/eventemitter": { | ||
| 626 | + "version": "1.1.0", | ||
| 627 | + "resolved": "https://registry.npmmirror.com/@protobufjs/eventemitter/-/eventemitter-1.1.0.tgz", | ||
| 628 | + "integrity": "sha512-j9ednRT81vYJ9OfVuXG6ERSTdEL1xVsNgqpkxMsbIabzSo3goCjDIveeGv5d03om39ML71RdmrGNjG5SReBP/Q==", | ||
| 629 | + "license": "BSD-3-Clause" | ||
| 630 | + }, | ||
| 631 | + "node_modules/@protobufjs/fetch": { | ||
| 632 | + "version": "1.1.0", | ||
| 633 | + "resolved": "https://registry.npmmirror.com/@protobufjs/fetch/-/fetch-1.1.0.tgz", | ||
| 634 | + "integrity": "sha512-lljVXpqXebpsijW71PZaCYeIcE5on1w5DlQy5WH6GLbFryLUrBD4932W/E2BSpfRJWseIL4v/KPgBFxDOIdKpQ==", | ||
| 635 | + "license": "BSD-3-Clause", | ||
| 636 | + "dependencies": { | ||
| 637 | + "@protobufjs/aspromise": "^1.1.1", | ||
| 638 | + "@protobufjs/inquire": "^1.1.0" | ||
| 639 | + } | ||
| 640 | + }, | ||
| 641 | + "node_modules/@protobufjs/float": { | ||
| 642 | + "version": "1.0.2", | ||
| 643 | + "resolved": "https://registry.npmmirror.com/@protobufjs/float/-/float-1.0.2.tgz", | ||
| 644 | + "integrity": "sha512-Ddb+kVXlXst9d+R9PfTIxh1EdNkgoRe5tOX6t01f1lYWOvJnSPDBlG241QLzcyPdoNTsblLUdujGSE4RzrTZGQ==", | ||
| 645 | + "license": "BSD-3-Clause" | ||
| 646 | + }, | ||
| 647 | + "node_modules/@protobufjs/inquire": { | ||
| 648 | + "version": "1.1.0", | ||
| 649 | + "resolved": "https://registry.npmmirror.com/@protobufjs/inquire/-/inquire-1.1.0.tgz", | ||
| 650 | + "integrity": "sha512-kdSefcPdruJiFMVSbn801t4vFK7KB/5gd2fYvrxhuJYg8ILrmn9SKSX2tZdV6V+ksulWqS7aXjBcRXl3wHoD9Q==", | ||
| 651 | + "license": "BSD-3-Clause" | ||
| 652 | + }, | ||
| 653 | + "node_modules/@protobufjs/path": { | ||
| 654 | + "version": "1.1.2", | ||
| 655 | + "resolved": "https://registry.npmmirror.com/@protobufjs/path/-/path-1.1.2.tgz", | ||
| 656 | + "integrity": "sha512-6JOcJ5Tm08dOHAbdR3GrvP+yUUfkjG5ePsHYczMFLq3ZmMkAD98cDgcT2iA1lJ9NVwFd4tH/iSSoe44YWkltEA==", | ||
| 657 | + "license": "BSD-3-Clause" | ||
| 658 | + }, | ||
| 659 | + "node_modules/@protobufjs/pool": { | ||
| 660 | + "version": "1.1.0", | ||
| 661 | + "resolved": "https://registry.npmmirror.com/@protobufjs/pool/-/pool-1.1.0.tgz", | ||
| 662 | + "integrity": "sha512-0kELaGSIDBKvcgS4zkjz1PeddatrjYcmMWOlAuAPwAeccUrPHdUqo/J6LiymHHEiJT5NrF1UVwxY14f+fy4WQw==", | ||
| 663 | + "license": "BSD-3-Clause" | ||
| 664 | + }, | ||
| 665 | + "node_modules/@protobufjs/utf8": { | ||
| 666 | + "version": "1.1.0", | ||
| 667 | + "resolved": "https://registry.npmmirror.com/@protobufjs/utf8/-/utf8-1.1.0.tgz", | ||
| 668 | + "integrity": "sha512-Vvn3zZrhQZkkBE8LSuW3em98c0FwgO4nxzv6OdSxPKJIEKY2bGbHn+mhGIPerzI4twdxaP8/0+06HBpwf345Lw==", | ||
| 669 | + "license": "BSD-3-Clause" | ||
| 670 | + }, | ||
| 671 | + "node_modules/@rollup/rollup-android-arm-eabi": { | ||
| 672 | + "version": "4.34.9", | ||
| 673 | + "resolved": "https://registry.npmmirror.com/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.34.9.tgz", | ||
| 674 | + "integrity": "sha512-qZdlImWXur0CFakn2BJ2znJOdqYZKiedEPEVNTBrpfPjc/YuTGcaYZcdmNFTkUj3DU0ZM/AElcM8Ybww3xVLzA==", | ||
| 675 | + "cpu": [ | ||
| 676 | + "arm" | ||
| 677 | + ], | ||
| 678 | + "dev": true, | ||
| 679 | + "license": "MIT", | ||
| 680 | + "optional": true, | ||
| 681 | + "os": [ | ||
| 682 | + "android" | ||
| 683 | + ] | ||
| 684 | + }, | ||
| 685 | + "node_modules/@rollup/rollup-android-arm64": { | ||
| 686 | + "version": "4.34.9", | ||
| 687 | + "resolved": "https://registry.npmmirror.com/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.34.9.tgz", | ||
| 688 | + "integrity": "sha512-4KW7P53h6HtJf5Y608T1ISKvNIYLWRKMvfnG0c44M6In4DQVU58HZFEVhWINDZKp7FZps98G3gxwC1sb0wXUUg==", | ||
| 689 | + "cpu": [ | ||
| 690 | + "arm64" | ||
| 691 | + ], | ||
| 692 | + "dev": true, | ||
| 693 | + "license": "MIT", | ||
| 694 | + "optional": true, | ||
| 695 | + "os": [ | ||
| 696 | + "android" | ||
| 697 | + ] | ||
| 698 | + }, | ||
| 699 | + "node_modules/@rollup/rollup-darwin-arm64": { | ||
| 700 | + "version": "4.34.9", | ||
| 701 | + "resolved": "https://registry.npmmirror.com/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.34.9.tgz", | ||
| 702 | + "integrity": "sha512-0CY3/K54slrzLDjOA7TOjN1NuLKERBgk9nY5V34mhmuu673YNb+7ghaDUs6N0ujXR7fz5XaS5Aa6d2TNxZd0OQ==", | ||
| 703 | + "cpu": [ | ||
| 704 | + "arm64" | ||
| 705 | + ], | ||
| 706 | + "dev": true, | ||
| 707 | + "license": "MIT", | ||
| 708 | + "optional": true, | ||
| 709 | + "os": [ | ||
| 710 | + "darwin" | ||
| 711 | + ] | ||
| 712 | + }, | ||
| 713 | + "node_modules/@rollup/rollup-darwin-x64": { | ||
| 714 | + "version": "4.34.9", | ||
| 715 | + "resolved": "https://registry.npmmirror.com/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.34.9.tgz", | ||
| 716 | + "integrity": "sha512-eOojSEAi/acnsJVYRxnMkPFqcxSMFfrw7r2iD9Q32SGkb/Q9FpUY1UlAu1DH9T7j++gZ0lHjnm4OyH2vCI7l7Q==", | ||
| 717 | + "cpu": [ | ||
| 718 | + "x64" | ||
| 719 | + ], | ||
| 720 | + "dev": true, | ||
| 721 | + "license": "MIT", | ||
| 722 | + "optional": true, | ||
| 723 | + "os": [ | ||
| 724 | + "darwin" | ||
| 725 | + ] | ||
| 726 | + }, | ||
| 727 | + "node_modules/@rollup/rollup-freebsd-arm64": { | ||
| 728 | + "version": "4.34.9", | ||
| 729 | + "resolved": "https://registry.npmmirror.com/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.34.9.tgz", | ||
| 730 | + "integrity": "sha512-2lzjQPJbN5UnHm7bHIUKFMulGTQwdvOkouJDpPysJS+QFBGDJqcfh+CxxtG23Ik/9tEvnebQiylYoazFMAgrYw==", | ||
| 731 | + "cpu": [ | ||
| 732 | + "arm64" | ||
| 733 | + ], | ||
| 734 | + "dev": true, | ||
| 735 | + "license": "MIT", | ||
| 736 | + "optional": true, | ||
| 737 | + "os": [ | ||
| 738 | + "freebsd" | ||
| 739 | + ] | ||
| 740 | + }, | ||
| 741 | + "node_modules/@rollup/rollup-freebsd-x64": { | ||
| 742 | + "version": "4.34.9", | ||
| 743 | + "resolved": "https://registry.npmmirror.com/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.34.9.tgz", | ||
| 744 | + "integrity": "sha512-SLl0hi2Ah2H7xQYd6Qaiu01kFPzQ+hqvdYSoOtHYg/zCIFs6t8sV95kaoqjzjFwuYQLtOI0RZre/Ke0nPaQV+g==", | ||
| 745 | + "cpu": [ | ||
| 746 | + "x64" | ||
| 747 | + ], | ||
| 748 | + "dev": true, | ||
| 749 | + "license": "MIT", | ||
| 750 | + "optional": true, | ||
| 751 | + "os": [ | ||
| 752 | + "freebsd" | ||
| 753 | + ] | ||
| 754 | + }, | ||
| 755 | + "node_modules/@rollup/rollup-linux-arm-gnueabihf": { | ||
| 756 | + "version": "4.34.9", | ||
| 757 | + "resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.34.9.tgz", | ||
| 758 | + "integrity": "sha512-88I+D3TeKItrw+Y/2ud4Tw0+3CxQ2kLgu3QvrogZ0OfkmX/DEppehus7L3TS2Q4lpB+hYyxhkQiYPJ6Mf5/dPg==", | ||
| 759 | + "cpu": [ | ||
| 760 | + "arm" | ||
| 761 | + ], | ||
| 762 | + "dev": true, | ||
| 763 | + "license": "MIT", | ||
| 764 | + "optional": true, | ||
| 765 | + "os": [ | ||
| 766 | + "linux" | ||
| 767 | + ] | ||
| 768 | + }, | ||
| 769 | + "node_modules/@rollup/rollup-linux-arm-musleabihf": { | ||
| 770 | + "version": "4.34.9", | ||
| 771 | + "resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.34.9.tgz", | ||
| 772 | + "integrity": "sha512-3qyfWljSFHi9zH0KgtEPG4cBXHDFhwD8kwg6xLfHQ0IWuH9crp005GfoUUh/6w9/FWGBwEHg3lxK1iHRN1MFlA==", | ||
| 773 | + "cpu": [ | ||
| 774 | + "arm" | ||
| 775 | + ], | ||
| 776 | + "dev": true, | ||
| 777 | + "license": "MIT", | ||
| 778 | + "optional": true, | ||
| 779 | + "os": [ | ||
| 780 | + "linux" | ||
| 781 | + ] | ||
| 782 | + }, | ||
| 783 | + "node_modules/@rollup/rollup-linux-arm64-gnu": { | ||
| 784 | + "version": "4.34.9", | ||
| 785 | + "resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.34.9.tgz", | ||
| 786 | + "integrity": "sha512-6TZjPHjKZUQKmVKMUowF3ewHxctrRR09eYyvT5eFv8w/fXarEra83A2mHTVJLA5xU91aCNOUnM+DWFMSbQ0Nxw==", | ||
| 787 | + "cpu": [ | ||
| 788 | + "arm64" | ||
| 789 | + ], | ||
| 790 | + "dev": true, | ||
| 791 | + "license": "MIT", | ||
| 792 | + "optional": true, | ||
| 793 | + "os": [ | ||
| 794 | + "linux" | ||
| 795 | + ] | ||
| 796 | + }, | ||
| 797 | + "node_modules/@rollup/rollup-linux-arm64-musl": { | ||
| 798 | + "version": "4.34.9", | ||
| 799 | + "resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.34.9.tgz", | ||
| 800 | + "integrity": "sha512-LD2fytxZJZ6xzOKnMbIpgzFOuIKlxVOpiMAXawsAZ2mHBPEYOnLRK5TTEsID6z4eM23DuO88X0Tq1mErHMVq0A==", | ||
| 801 | + "cpu": [ | ||
| 802 | + "arm64" | ||
| 803 | + ], | ||
| 804 | + "dev": true, | ||
| 805 | + "license": "MIT", | ||
| 806 | + "optional": true, | ||
| 807 | + "os": [ | ||
| 808 | + "linux" | ||
| 809 | + ] | ||
| 810 | + }, | ||
| 811 | + "node_modules/@rollup/rollup-linux-loongarch64-gnu": { | ||
| 812 | + "version": "4.34.9", | ||
| 813 | + "resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-loongarch64-gnu/-/rollup-linux-loongarch64-gnu-4.34.9.tgz", | ||
| 814 | + "integrity": "sha512-dRAgTfDsn0TE0HI6cmo13hemKpVHOEyeciGtvlBTkpx/F65kTvShtY/EVyZEIfxFkV5JJTuQ9tP5HGBS0hfxIg==", | ||
| 815 | + "cpu": [ | ||
| 816 | + "loong64" | ||
| 817 | + ], | ||
| 818 | + "dev": true, | ||
| 819 | + "license": "MIT", | ||
| 820 | + "optional": true, | ||
| 821 | + "os": [ | ||
| 822 | + "linux" | ||
| 823 | + ] | ||
| 824 | + }, | ||
| 825 | + "node_modules/@rollup/rollup-linux-powerpc64le-gnu": { | ||
| 826 | + "version": "4.34.9", | ||
| 827 | + "resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.34.9.tgz", | ||
| 828 | + "integrity": "sha512-PHcNOAEhkoMSQtMf+rJofwisZqaU8iQ8EaSps58f5HYll9EAY5BSErCZ8qBDMVbq88h4UxaNPlbrKqfWP8RfJA==", | ||
| 829 | + "cpu": [ | ||
| 830 | + "ppc64" | ||
| 831 | + ], | ||
| 832 | + "dev": true, | ||
| 833 | + "license": "MIT", | ||
| 834 | + "optional": true, | ||
| 835 | + "os": [ | ||
| 836 | + "linux" | ||
| 837 | + ] | ||
| 838 | + }, | ||
| 839 | + "node_modules/@rollup/rollup-linux-riscv64-gnu": { | ||
| 840 | + "version": "4.34.9", | ||
| 841 | + "resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.34.9.tgz", | ||
| 842 | + "integrity": "sha512-Z2i0Uy5G96KBYKjeQFKbbsB54xFOL5/y1P5wNBsbXB8yE+At3oh0DVMjQVzCJRJSfReiB2tX8T6HUFZ2k8iaKg==", | ||
| 843 | + "cpu": [ | ||
| 844 | + "riscv64" | ||
| 845 | + ], | ||
| 846 | + "dev": true, | ||
| 847 | + "license": "MIT", | ||
| 848 | + "optional": true, | ||
| 849 | + "os": [ | ||
| 850 | + "linux" | ||
| 851 | + ] | ||
| 852 | + }, | ||
| 853 | + "node_modules/@rollup/rollup-linux-s390x-gnu": { | ||
| 854 | + "version": "4.34.9", | ||
| 855 | + "resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.34.9.tgz", | ||
| 856 | + "integrity": "sha512-U+5SwTMoeYXoDzJX5dhDTxRltSrIax8KWwfaaYcynuJw8mT33W7oOgz0a+AaXtGuvhzTr2tVKh5UO8GVANTxyQ==", | ||
| 857 | + "cpu": [ | ||
| 858 | + "s390x" | ||
| 859 | + ], | ||
| 860 | + "dev": true, | ||
| 861 | + "license": "MIT", | ||
| 862 | + "optional": true, | ||
| 863 | + "os": [ | ||
| 864 | + "linux" | ||
| 865 | + ] | ||
| 866 | + }, | ||
| 867 | + "node_modules/@rollup/rollup-linux-x64-gnu": { | ||
| 868 | + "version": "4.34.9", | ||
| 869 | + "resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.34.9.tgz", | ||
| 870 | + "integrity": "sha512-FwBHNSOjUTQLP4MG7y6rR6qbGw4MFeQnIBrMe161QGaQoBQLqSUEKlHIiVgF3g/mb3lxlxzJOpIBhaP+C+KP2A==", | ||
| 871 | + "cpu": [ | ||
| 872 | + "x64" | ||
| 873 | + ], | ||
| 874 | + "dev": true, | ||
| 875 | + "license": "MIT", | ||
| 876 | + "optional": true, | ||
| 877 | + "os": [ | ||
| 878 | + "linux" | ||
| 879 | + ] | ||
| 880 | + }, | ||
| 881 | + "node_modules/@rollup/rollup-linux-x64-musl": { | ||
| 882 | + "version": "4.34.9", | ||
| 883 | + "resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.34.9.tgz", | ||
| 884 | + "integrity": "sha512-cYRpV4650z2I3/s6+5/LONkjIz8MBeqrk+vPXV10ORBnshpn8S32bPqQ2Utv39jCiDcO2eJTuSlPXpnvmaIgRA==", | ||
| 885 | + "cpu": [ | ||
| 886 | + "x64" | ||
| 887 | + ], | ||
| 888 | + "dev": true, | ||
| 889 | + "license": "MIT", | ||
| 890 | + "optional": true, | ||
| 891 | + "os": [ | ||
| 892 | + "linux" | ||
| 893 | + ] | ||
| 894 | + }, | ||
| 895 | + "node_modules/@rollup/rollup-win32-arm64-msvc": { | ||
| 896 | + "version": "4.34.9", | ||
| 897 | + "resolved": "https://registry.npmmirror.com/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.34.9.tgz", | ||
| 898 | + "integrity": "sha512-z4mQK9dAN6byRA/vsSgQiPeuO63wdiDxZ9yg9iyX2QTzKuQM7T4xlBoeUP/J8uiFkqxkcWndWi+W7bXdPbt27Q==", | ||
| 899 | + "cpu": [ | ||
| 900 | + "arm64" | ||
| 901 | + ], | ||
| 902 | + "dev": true, | ||
| 903 | + "license": "MIT", | ||
| 904 | + "optional": true, | ||
| 905 | + "os": [ | ||
| 906 | + "win32" | ||
| 907 | + ] | ||
| 908 | + }, | ||
| 909 | + "node_modules/@rollup/rollup-win32-ia32-msvc": { | ||
| 910 | + "version": "4.34.9", | ||
| 911 | + "resolved": "https://registry.npmmirror.com/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.34.9.tgz", | ||
| 912 | + "integrity": "sha512-KB48mPtaoHy1AwDNkAJfHXvHp24H0ryZog28spEs0V48l3H1fr4i37tiyHsgKZJnCmvxsbATdZGBpbmxTE3a9w==", | ||
| 913 | + "cpu": [ | ||
| 914 | + "ia32" | ||
| 915 | + ], | ||
| 916 | + "dev": true, | ||
| 917 | + "license": "MIT", | ||
| 918 | + "optional": true, | ||
| 919 | + "os": [ | ||
| 920 | + "win32" | ||
| 921 | + ] | ||
| 922 | + }, | ||
| 923 | + "node_modules/@rollup/rollup-win32-x64-msvc": { | ||
| 924 | + "version": "4.34.9", | ||
| 925 | + "resolved": "https://registry.npmmirror.com/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.34.9.tgz", | ||
| 926 | + "integrity": "sha512-AyleYRPU7+rgkMWbEh71fQlrzRfeP6SyMnRf9XX4fCdDPAJumdSBqYEcWPMzVQ4ScAl7E4oFfK0GUVn77xSwbw==", | ||
| 927 | + "cpu": [ | ||
| 928 | + "x64" | ||
| 929 | + ], | ||
| 930 | + "dev": true, | ||
| 931 | + "license": "MIT", | ||
| 932 | + "optional": true, | ||
| 933 | + "os": [ | ||
| 934 | + "win32" | ||
| 935 | + ] | ||
| 936 | + }, | ||
| 937 | + "node_modules/@simonwep/pickr": { | ||
| 938 | + "version": "1.8.2", | ||
| 939 | + "resolved": "https://registry.npmmirror.com/@simonwep/pickr/-/pickr-1.8.2.tgz", | ||
| 940 | + "integrity": "sha512-/l5w8BIkrpP6n1xsetx9MWPWlU6OblN5YgZZphxan0Tq4BByTCETL6lyIeY8lagalS2Nbt4F2W034KHLIiunKA==", | ||
| 941 | + "license": "MIT", | ||
| 942 | + "dependencies": { | ||
| 943 | + "core-js": "^3.15.1", | ||
| 944 | + "nanopop": "^2.1.0" | ||
| 945 | + } | ||
| 946 | + }, | ||
| 947 | + "node_modules/@tweenjs/tween.js": { | ||
| 948 | + "version": "25.0.0", | ||
| 949 | + "resolved": "https://registry.npmmirror.com/@tweenjs/tween.js/-/tween.js-25.0.0.tgz", | ||
| 950 | + "integrity": "sha512-XKLA6syeBUaPzx4j3qwMqzzq+V4uo72BnlbOjmuljLrRqdsd3qnzvZZoxvMHZ23ndsRS4aufU6JOZYpCbU6T1A==", | ||
| 951 | + "license": "MIT" | ||
| 952 | + }, | ||
| 953 | + "node_modules/@types/cesium": { | ||
| 954 | + "version": "1.67.14", | ||
| 955 | + "resolved": "https://registry.npmmirror.com/@types/cesium/-/cesium-1.67.14.tgz", | ||
| 956 | + "integrity": "sha512-BGek4o6VY25IqmpdBd1awlULSVjyRrbn111xI/LRZQf4QUPlYfsXOYkun8vcXr+u+iYQkh9LAYNf2h0lE95xcA==", | ||
| 957 | + "dev": true, | ||
| 958 | + "license": "MIT" | ||
| 959 | + }, | ||
| 960 | + "node_modules/@types/estree": { | ||
| 961 | + "version": "1.0.6", | ||
| 962 | + "resolved": "https://registry.npmmirror.com/@types/estree/-/estree-1.0.6.tgz", | ||
| 963 | + "integrity": "sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==", | ||
| 964 | + "dev": true, | ||
| 965 | + "license": "MIT" | ||
| 966 | + }, | ||
| 967 | + "node_modules/@types/node": { | ||
| 968 | + "version": "22.13.9", | ||
| 969 | + "resolved": "https://registry.npmmirror.com/@types/node/-/node-22.13.9.tgz", | ||
| 970 | + "integrity": "sha512-acBjXdRJ3A6Pb3tqnw9HZmyR3Fiol3aGxRCK1x3d+6CDAMjl7I649wpSd+yNURCjbOUGu9tqtLKnTGxmK6CyGw==", | ||
| 971 | + "license": "MIT", | ||
| 972 | + "dependencies": { | ||
| 973 | + "undici-types": "~6.20.0" | ||
| 974 | + } | ||
| 975 | + }, | ||
| 976 | + "node_modules/@types/trusted-types": { | ||
| 977 | + "version": "2.0.7", | ||
| 978 | + "resolved": "https://registry.npmmirror.com/@types/trusted-types/-/trusted-types-2.0.7.tgz", | ||
| 979 | + "integrity": "sha512-ScaPdn1dQczgbl0QFTeTOmVHFULt394XJgOQNoyVhZ6r2vLnMLJfBPd53SB52T/3G36VI1/g2MZaX0cwDuXsfw==", | ||
| 980 | + "license": "MIT", | ||
| 981 | + "optional": true | ||
| 982 | + }, | ||
| 983 | + "node_modules/@vitejs/plugin-vue": { | ||
| 984 | + "version": "5.2.1", | ||
| 985 | + "resolved": "https://registry.npmmirror.com/@vitejs/plugin-vue/-/plugin-vue-5.2.1.tgz", | ||
| 986 | + "integrity": "sha512-cxh314tzaWwOLqVes2gnnCtvBDcM1UMdn+iFR+UjAn411dPT3tOmqrJjbMd7koZpMAmBM/GqeV4n9ge7JSiJJQ==", | ||
| 987 | + "dev": true, | ||
| 988 | + "license": "MIT", | ||
| 989 | + "engines": { | ||
| 990 | + "node": "^18.0.0 || >=20.0.0" | ||
| 991 | + }, | ||
| 992 | + "peerDependencies": { | ||
| 993 | + "vite": "^5.0.0 || ^6.0.0", | ||
| 994 | + "vue": "^3.2.25" | ||
| 995 | + } | ||
| 996 | + }, | ||
| 997 | + "node_modules/@volar/language-core": { | ||
| 998 | + "version": "2.4.11", | ||
| 999 | + "resolved": "https://registry.npmmirror.com/@volar/language-core/-/language-core-2.4.11.tgz", | ||
| 1000 | + "integrity": "sha512-lN2C1+ByfW9/JRPpqScuZt/4OrUUse57GLI6TbLgTIqBVemdl1wNcZ1qYGEo2+Gw8coYLgCy7SuKqn6IrQcQgg==", | ||
| 1001 | + "dev": true, | ||
| 1002 | + "license": "MIT", | ||
| 1003 | + "dependencies": { | ||
| 1004 | + "@volar/source-map": "2.4.11" | ||
| 1005 | + } | ||
| 1006 | + }, | ||
| 1007 | + "node_modules/@volar/source-map": { | ||
| 1008 | + "version": "2.4.11", | ||
| 1009 | + "resolved": "https://registry.npmmirror.com/@volar/source-map/-/source-map-2.4.11.tgz", | ||
| 1010 | + "integrity": "sha512-ZQpmafIGvaZMn/8iuvCFGrW3smeqkq/IIh9F1SdSx9aUl0J4Iurzd6/FhmjNO5g2ejF3rT45dKskgXWiofqlZQ==", | ||
| 1011 | + "dev": true, | ||
| 1012 | + "license": "MIT" | ||
| 1013 | + }, | ||
| 1014 | + "node_modules/@volar/typescript": { | ||
| 1015 | + "version": "2.4.11", | ||
| 1016 | + "resolved": "https://registry.npmmirror.com/@volar/typescript/-/typescript-2.4.11.tgz", | ||
| 1017 | + "integrity": "sha512-2DT+Tdh88Spp5PyPbqhyoYavYCPDsqbHLFwcUI9K1NlY1YgUJvujGdrqUp0zWxnW7KWNTr3xSpMuv2WnaTKDAw==", | ||
| 1018 | + "dev": true, | ||
| 1019 | + "license": "MIT", | ||
| 1020 | + "dependencies": { | ||
| 1021 | + "@volar/language-core": "2.4.11", | ||
| 1022 | + "path-browserify": "^1.0.1", | ||
| 1023 | + "vscode-uri": "^3.0.8" | ||
| 1024 | + } | ||
| 1025 | + }, | ||
| 1026 | + "node_modules/@vue/compiler-core": { | ||
| 1027 | + "version": "3.5.13", | ||
| 1028 | + "resolved": "https://registry.npmmirror.com/@vue/compiler-core/-/compiler-core-3.5.13.tgz", | ||
| 1029 | + "integrity": "sha512-oOdAkwqUfW1WqpwSYJce06wvt6HljgY3fGeM9NcVA1HaYOij3mZG9Rkysn0OHuyUAGMbEbARIpsG+LPVlBJ5/Q==", | ||
| 1030 | + "license": "MIT", | ||
| 1031 | + "dependencies": { | ||
| 1032 | + "@babel/parser": "^7.25.3", | ||
| 1033 | + "@vue/shared": "3.5.13", | ||
| 1034 | + "entities": "^4.5.0", | ||
| 1035 | + "estree-walker": "^2.0.2", | ||
| 1036 | + "source-map-js": "^1.2.0" | ||
| 1037 | + } | ||
| 1038 | + }, | ||
| 1039 | + "node_modules/@vue/compiler-dom": { | ||
| 1040 | + "version": "3.5.13", | ||
| 1041 | + "resolved": "https://registry.npmmirror.com/@vue/compiler-dom/-/compiler-dom-3.5.13.tgz", | ||
| 1042 | + "integrity": "sha512-ZOJ46sMOKUjO3e94wPdCzQ6P1Lx/vhp2RSvfaab88Ajexs0AHeV0uasYhi99WPaogmBlRHNRuly8xV75cNTMDA==", | ||
| 1043 | + "license": "MIT", | ||
| 1044 | + "dependencies": { | ||
| 1045 | + "@vue/compiler-core": "3.5.13", | ||
| 1046 | + "@vue/shared": "3.5.13" | ||
| 1047 | + } | ||
| 1048 | + }, | ||
| 1049 | + "node_modules/@vue/compiler-sfc": { | ||
| 1050 | + "version": "3.5.13", | ||
| 1051 | + "resolved": "https://registry.npmmirror.com/@vue/compiler-sfc/-/compiler-sfc-3.5.13.tgz", | ||
| 1052 | + "integrity": "sha512-6VdaljMpD82w6c2749Zhf5T9u5uLBWKnVue6XWxprDobftnletJ8+oel7sexFfM3qIxNmVE7LSFGTpv6obNyaQ==", | ||
| 1053 | + "license": "MIT", | ||
| 1054 | + "dependencies": { | ||
| 1055 | + "@babel/parser": "^7.25.3", | ||
| 1056 | + "@vue/compiler-core": "3.5.13", | ||
| 1057 | + "@vue/compiler-dom": "3.5.13", | ||
| 1058 | + "@vue/compiler-ssr": "3.5.13", | ||
| 1059 | + "@vue/shared": "3.5.13", | ||
| 1060 | + "estree-walker": "^2.0.2", | ||
| 1061 | + "magic-string": "^0.30.11", | ||
| 1062 | + "postcss": "^8.4.48", | ||
| 1063 | + "source-map-js": "^1.2.0" | ||
| 1064 | + } | ||
| 1065 | + }, | ||
| 1066 | + "node_modules/@vue/compiler-ssr": { | ||
| 1067 | + "version": "3.5.13", | ||
| 1068 | + "resolved": "https://registry.npmmirror.com/@vue/compiler-ssr/-/compiler-ssr-3.5.13.tgz", | ||
| 1069 | + "integrity": "sha512-wMH6vrYHxQl/IybKJagqbquvxpWCuVYpoUJfCqFZwa/JY1GdATAQ+TgVtgrwwMZ0D07QhA99rs/EAAWfvG6KpA==", | ||
| 1070 | + "license": "MIT", | ||
| 1071 | + "dependencies": { | ||
| 1072 | + "@vue/compiler-dom": "3.5.13", | ||
| 1073 | + "@vue/shared": "3.5.13" | ||
| 1074 | + } | ||
| 1075 | + }, | ||
| 1076 | + "node_modules/@vue/compiler-vue2": { | ||
| 1077 | + "version": "2.7.16", | ||
| 1078 | + "resolved": "https://registry.npmmirror.com/@vue/compiler-vue2/-/compiler-vue2-2.7.16.tgz", | ||
| 1079 | + "integrity": "sha512-qYC3Psj9S/mfu9uVi5WvNZIzq+xnXMhOwbTFKKDD7b1lhpnn71jXSFdTQ+WsIEk0ONCd7VV2IMm7ONl6tbQ86A==", | ||
| 1080 | + "dev": true, | ||
| 1081 | + "license": "MIT", | ||
| 1082 | + "dependencies": { | ||
| 1083 | + "de-indent": "^1.0.2", | ||
| 1084 | + "he": "^1.2.0" | ||
| 1085 | + } | ||
| 1086 | + }, | ||
| 1087 | + "node_modules/@vue/language-core": { | ||
| 1088 | + "version": "2.2.8", | ||
| 1089 | + "resolved": "https://registry.npmmirror.com/@vue/language-core/-/language-core-2.2.8.tgz", | ||
| 1090 | + "integrity": "sha512-rrzB0wPGBvcwaSNRriVWdNAbHQWSf0NlGqgKHK5mEkXpefjUlVRP62u03KvwZpvKVjRnBIQ/Lwre+Mx9N6juUQ==", | ||
| 1091 | + "dev": true, | ||
| 1092 | + "license": "MIT", | ||
| 1093 | + "dependencies": { | ||
| 1094 | + "@volar/language-core": "~2.4.11", | ||
| 1095 | + "@vue/compiler-dom": "^3.5.0", | ||
| 1096 | + "@vue/compiler-vue2": "^2.7.16", | ||
| 1097 | + "@vue/shared": "^3.5.0", | ||
| 1098 | + "alien-signals": "^1.0.3", | ||
| 1099 | + "minimatch": "^9.0.3", | ||
| 1100 | + "muggle-string": "^0.4.1", | ||
| 1101 | + "path-browserify": "^1.0.1" | ||
| 1102 | + }, | ||
| 1103 | + "peerDependencies": { | ||
| 1104 | + "typescript": "*" | ||
| 1105 | + }, | ||
| 1106 | + "peerDependenciesMeta": { | ||
| 1107 | + "typescript": { | ||
| 1108 | + "optional": true | ||
| 1109 | + } | ||
| 1110 | + } | ||
| 1111 | + }, | ||
| 1112 | + "node_modules/@vue/reactivity": { | ||
| 1113 | + "version": "3.5.13", | ||
| 1114 | + "resolved": "https://registry.npmmirror.com/@vue/reactivity/-/reactivity-3.5.13.tgz", | ||
| 1115 | + "integrity": "sha512-NaCwtw8o48B9I6L1zl2p41OHo/2Z4wqYGGIK1Khu5T7yxrn+ATOixn/Udn2m+6kZKB/J7cuT9DbWWhRxqixACg==", | ||
| 1116 | + "license": "MIT", | ||
| 1117 | + "dependencies": { | ||
| 1118 | + "@vue/shared": "3.5.13" | ||
| 1119 | + } | ||
| 1120 | + }, | ||
| 1121 | + "node_modules/@vue/runtime-core": { | ||
| 1122 | + "version": "3.5.13", | ||
| 1123 | + "resolved": "https://registry.npmmirror.com/@vue/runtime-core/-/runtime-core-3.5.13.tgz", | ||
| 1124 | + "integrity": "sha512-Fj4YRQ3Az0WTZw1sFe+QDb0aXCerigEpw418pw1HBUKFtnQHWzwojaukAs2X/c9DQz4MQ4bsXTGlcpGxU/RCIw==", | ||
| 1125 | + "license": "MIT", | ||
| 1126 | + "dependencies": { | ||
| 1127 | + "@vue/reactivity": "3.5.13", | ||
| 1128 | + "@vue/shared": "3.5.13" | ||
| 1129 | + } | ||
| 1130 | + }, | ||
| 1131 | + "node_modules/@vue/runtime-dom": { | ||
| 1132 | + "version": "3.5.13", | ||
| 1133 | + "resolved": "https://registry.npmmirror.com/@vue/runtime-dom/-/runtime-dom-3.5.13.tgz", | ||
| 1134 | + "integrity": "sha512-dLaj94s93NYLqjLiyFzVs9X6dWhTdAlEAciC3Moq7gzAc13VJUdCnjjRurNM6uTLFATRHexHCTu/Xp3eW6yoog==", | ||
| 1135 | + "license": "MIT", | ||
| 1136 | + "dependencies": { | ||
| 1137 | + "@vue/reactivity": "3.5.13", | ||
| 1138 | + "@vue/runtime-core": "3.5.13", | ||
| 1139 | + "@vue/shared": "3.5.13", | ||
| 1140 | + "csstype": "^3.1.3" | ||
| 1141 | + } | ||
| 1142 | + }, | ||
| 1143 | + "node_modules/@vue/server-renderer": { | ||
| 1144 | + "version": "3.5.13", | ||
| 1145 | + "resolved": "https://registry.npmmirror.com/@vue/server-renderer/-/server-renderer-3.5.13.tgz", | ||
| 1146 | + "integrity": "sha512-wAi4IRJV/2SAW3htkTlB+dHeRmpTiVIK1OGLWV1yeStVSebSQQOwGwIq0D3ZIoBj2C2qpgz5+vX9iEBkTdk5YA==", | ||
| 1147 | + "license": "MIT", | ||
| 1148 | + "dependencies": { | ||
| 1149 | + "@vue/compiler-ssr": "3.5.13", | ||
| 1150 | + "@vue/shared": "3.5.13" | ||
| 1151 | + }, | ||
| 1152 | + "peerDependencies": { | ||
| 1153 | + "vue": "3.5.13" | ||
| 1154 | + } | ||
| 1155 | + }, | ||
| 1156 | + "node_modules/@vue/shared": { | ||
| 1157 | + "version": "3.5.13", | ||
| 1158 | + "resolved": "https://registry.npmmirror.com/@vue/shared/-/shared-3.5.13.tgz", | ||
| 1159 | + "integrity": "sha512-/hnE/qP5ZoGpol0a5mDi45bOd7t3tjYJBjsgCsivow7D48cJeV5l05RD82lPqi7gRiphZM37rnhW1l6ZoCNNnQ==", | ||
| 1160 | + "license": "MIT" | ||
| 1161 | + }, | ||
| 1162 | + "node_modules/@vue/tsconfig": { | ||
| 1163 | + "version": "0.7.0", | ||
| 1164 | + "resolved": "https://registry.npmmirror.com/@vue/tsconfig/-/tsconfig-0.7.0.tgz", | ||
| 1165 | + "integrity": "sha512-ku2uNz5MaZ9IerPPUyOHzyjhXoX2kVJaVf7hL315DC17vS6IiZRmmCPfggNbU16QTvM80+uYYy3eYJB59WCtvg==", | ||
| 1166 | + "dev": true, | ||
| 1167 | + "license": "MIT", | ||
| 1168 | + "peerDependencies": { | ||
| 1169 | + "typescript": "5.x", | ||
| 1170 | + "vue": "^3.4.0" | ||
| 1171 | + }, | ||
| 1172 | + "peerDependenciesMeta": { | ||
| 1173 | + "typescript": { | ||
| 1174 | + "optional": true | ||
| 1175 | + }, | ||
| 1176 | + "vue": { | ||
| 1177 | + "optional": true | ||
| 1178 | + } | ||
| 1179 | + } | ||
| 1180 | + }, | ||
| 1181 | + "node_modules/@zip.js/zip.js": { | ||
| 1182 | + "version": "2.7.57", | ||
| 1183 | + "resolved": "https://registry.npmmirror.com/@zip.js/zip.js/-/zip.js-2.7.57.tgz", | ||
| 1184 | + "integrity": "sha512-BtonQ1/jDnGiMed6OkV6rZYW78gLmLswkHOzyMrMb+CAR7CZO8phOHO6c2qw6qb1g1betN7kwEHhhZk30dv+NA==", | ||
| 1185 | + "license": "BSD-3-Clause", | ||
| 1186 | + "engines": { | ||
| 1187 | + "bun": ">=0.7.0", | ||
| 1188 | + "deno": ">=1.0.0", | ||
| 1189 | + "node": ">=16.5.0" | ||
| 1190 | + } | ||
| 1191 | + }, | ||
| 1192 | + "node_modules/alien-signals": { | ||
| 1193 | + "version": "1.0.4", | ||
| 1194 | + "resolved": "https://registry.npmmirror.com/alien-signals/-/alien-signals-1.0.4.tgz", | ||
| 1195 | + "integrity": "sha512-DJqqQD3XcsaQcQ1s+iE2jDUZmmQpXwHiR6fCAim/w87luaW+vmLY8fMlrdkmRwzaFXhkxf3rqPCR59tKVv1MDw==", | ||
| 1196 | + "dev": true, | ||
| 1197 | + "license": "MIT" | ||
| 1198 | + }, | ||
| 1199 | + "node_modules/ant-design-vue": { | ||
| 1200 | + "version": "4.2.6", | ||
| 1201 | + "resolved": "https://registry.npmmirror.com/ant-design-vue/-/ant-design-vue-4.2.6.tgz", | ||
| 1202 | + "integrity": "sha512-t7eX13Yj3i9+i5g9lqFyYneoIb3OzTvQjq9Tts1i+eiOd3Eva/6GagxBSXM1fOCjqemIu0FYVE1ByZ/38epR3Q==", | ||
| 1203 | + "license": "MIT", | ||
| 1204 | + "dependencies": { | ||
| 1205 | + "@ant-design/colors": "^6.0.0", | ||
| 1206 | + "@ant-design/icons-vue": "^7.0.0", | ||
| 1207 | + "@babel/runtime": "^7.10.5", | ||
| 1208 | + "@ctrl/tinycolor": "^3.5.0", | ||
| 1209 | + "@emotion/hash": "^0.9.0", | ||
| 1210 | + "@emotion/unitless": "^0.8.0", | ||
| 1211 | + "@simonwep/pickr": "~1.8.0", | ||
| 1212 | + "array-tree-filter": "^2.1.0", | ||
| 1213 | + "async-validator": "^4.0.0", | ||
| 1214 | + "csstype": "^3.1.1", | ||
| 1215 | + "dayjs": "^1.10.5", | ||
| 1216 | + "dom-align": "^1.12.1", | ||
| 1217 | + "dom-scroll-into-view": "^2.0.0", | ||
| 1218 | + "lodash": "^4.17.21", | ||
| 1219 | + "lodash-es": "^4.17.15", | ||
| 1220 | + "resize-observer-polyfill": "^1.5.1", | ||
| 1221 | + "scroll-into-view-if-needed": "^2.2.25", | ||
| 1222 | + "shallow-equal": "^1.0.0", | ||
| 1223 | + "stylis": "^4.1.3", | ||
| 1224 | + "throttle-debounce": "^5.0.0", | ||
| 1225 | + "vue-types": "^3.0.0", | ||
| 1226 | + "warning": "^4.0.0" | ||
| 1227 | + }, | ||
| 1228 | + "engines": { | ||
| 1229 | + "node": ">=12.22.0" | ||
| 1230 | + }, | ||
| 1231 | + "funding": { | ||
| 1232 | + "type": "opencollective", | ||
| 1233 | + "url": "https://opencollective.com/ant-design-vue" | ||
| 1234 | + }, | ||
| 1235 | + "peerDependencies": { | ||
| 1236 | + "vue": ">=3.2.0" | ||
| 1237 | + } | ||
| 1238 | + }, | ||
| 1239 | + "node_modules/array-tree-filter": { | ||
| 1240 | + "version": "2.1.0", | ||
| 1241 | + "resolved": "https://registry.npmmirror.com/array-tree-filter/-/array-tree-filter-2.1.0.tgz", | ||
| 1242 | + "integrity": "sha512-4ROwICNlNw/Hqa9v+rk5h22KjmzB1JGTMVKP2AKJBOCgb0yL0ASf0+YvCcLNNwquOHNX48jkeZIJ3a+oOQqKcw==", | ||
| 1243 | + "license": "MIT" | ||
| 1244 | + }, | ||
| 1245 | + "node_modules/async-validator": { | ||
| 1246 | + "version": "4.2.5", | ||
| 1247 | + "resolved": "https://registry.npmmirror.com/async-validator/-/async-validator-4.2.5.tgz", | ||
| 1248 | + "integrity": "sha512-7HhHjtERjqlNbZtqNqy2rckN/SpOOlmDliet+lP7k+eKZEjPk3DgyeU9lIXLdeLz0uBbbVp+9Qdow9wJWgwwfg==", | ||
| 1249 | + "license": "MIT" | ||
| 1250 | + }, | ||
| 1251 | + "node_modules/asynckit": { | ||
| 1252 | + "version": "0.4.0", | ||
| 1253 | + "resolved": "https://registry.npmmirror.com/asynckit/-/asynckit-0.4.0.tgz", | ||
| 1254 | + "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==", | ||
| 1255 | + "license": "MIT" | ||
| 1256 | + }, | ||
| 1257 | + "node_modules/autolinker": { | ||
| 1258 | + "version": "4.1.0", | ||
| 1259 | + "resolved": "https://registry.npmmirror.com/autolinker/-/autolinker-4.1.0.tgz", | ||
| 1260 | + "integrity": "sha512-mYzdZMei1zIXcHVS/LjnuCJG+C/hNi8O+5m0R8YWtrIBWGrjL8CVzEZXxOfH0l1kioEXHNpUJRkgZdyL4GgIHQ==", | ||
| 1261 | + "license": "MIT", | ||
| 1262 | + "dependencies": { | ||
| 1263 | + "tslib": "^2.8.1" | ||
| 1264 | + } | ||
| 1265 | + }, | ||
| 1266 | + "node_modules/axios": { | ||
| 1267 | + "version": "1.8.1", | ||
| 1268 | + "resolved": "https://registry.npmmirror.com/axios/-/axios-1.8.1.tgz", | ||
| 1269 | + "integrity": "sha512-NN+fvwH/kV01dYUQ3PTOZns4LWtWhOFCAhQ/pHb88WQ1hNe5V/dvFwc4VJcDL11LT9xSX0QtsR8sWUuyOuOq7g==", | ||
| 1270 | + "license": "MIT", | ||
| 1271 | + "dependencies": { | ||
| 1272 | + "follow-redirects": "^1.15.6", | ||
| 1273 | + "form-data": "^4.0.0", | ||
| 1274 | + "proxy-from-env": "^1.1.0" | ||
| 1275 | + } | ||
| 1276 | + }, | ||
| 1277 | + "node_modules/balanced-match": { | ||
| 1278 | + "version": "1.0.2", | ||
| 1279 | + "resolved": "https://registry.npmmirror.com/balanced-match/-/balanced-match-1.0.2.tgz", | ||
| 1280 | + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", | ||
| 1281 | + "dev": true, | ||
| 1282 | + "license": "MIT" | ||
| 1283 | + }, | ||
| 1284 | + "node_modules/bitmap-sdf": { | ||
| 1285 | + "version": "1.0.4", | ||
| 1286 | + "resolved": "https://registry.npmmirror.com/bitmap-sdf/-/bitmap-sdf-1.0.4.tgz", | ||
| 1287 | + "integrity": "sha512-1G3U4n5JE6RAiALMxu0p1XmeZkTeCwGKykzsLTCqVzfSDaN6S7fKnkIkfejogz+iwqBWc0UYAIKnKHNN7pSfDg==", | ||
| 1288 | + "license": "MIT" | ||
| 1289 | + }, | ||
| 1290 | + "node_modules/brace-expansion": { | ||
| 1291 | + "version": "2.0.1", | ||
| 1292 | + "resolved": "https://registry.npmmirror.com/brace-expansion/-/brace-expansion-2.0.1.tgz", | ||
| 1293 | + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", | ||
| 1294 | + "dev": true, | ||
| 1295 | + "license": "MIT", | ||
| 1296 | + "dependencies": { | ||
| 1297 | + "balanced-match": "^1.0.0" | ||
| 1298 | + } | ||
| 1299 | + }, | ||
| 1300 | + "node_modules/call-bind-apply-helpers": { | ||
| 1301 | + "version": "1.0.2", | ||
| 1302 | + "resolved": "https://registry.npmmirror.com/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz", | ||
| 1303 | + "integrity": "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==", | ||
| 1304 | + "license": "MIT", | ||
| 1305 | + "dependencies": { | ||
| 1306 | + "es-errors": "^1.3.0", | ||
| 1307 | + "function-bind": "^1.1.2" | ||
| 1308 | + }, | ||
| 1309 | + "engines": { | ||
| 1310 | + "node": ">= 0.4" | ||
| 1311 | + } | ||
| 1312 | + }, | ||
| 1313 | + "node_modules/cesium": { | ||
| 1314 | + "version": "1.127.0", | ||
| 1315 | + "resolved": "https://registry.npmmirror.com/cesium/-/cesium-1.127.0.tgz", | ||
| 1316 | + "integrity": "sha512-MRGkPb3ClEkAI9viZxxdD3LCu7ydOzOKdJ6/iPtBx1GUsPCZNbgB0IH7wmhwgbxA5sjv4/a90+mvR9CoLP1PWQ==", | ||
| 1317 | + "license": "Apache-2.0", | ||
| 1318 | + "workspaces": [ | ||
| 1319 | + "packages/engine", | ||
| 1320 | + "packages/widgets" | ||
| 1321 | + ], | ||
| 1322 | + "dependencies": { | ||
| 1323 | + "@cesium/engine": "^15.0.0", | ||
| 1324 | + "@cesium/widgets": "^11.0.0" | ||
| 1325 | + }, | ||
| 1326 | + "engines": { | ||
| 1327 | + "node": ">=18.18.0" | ||
| 1328 | + } | ||
| 1329 | + }, | ||
| 1330 | + "node_modules/combined-stream": { | ||
| 1331 | + "version": "1.0.8", | ||
| 1332 | + "resolved": "https://registry.npmmirror.com/combined-stream/-/combined-stream-1.0.8.tgz", | ||
| 1333 | + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", | ||
| 1334 | + "license": "MIT", | ||
| 1335 | + "dependencies": { | ||
| 1336 | + "delayed-stream": "~1.0.0" | ||
| 1337 | + }, | ||
| 1338 | + "engines": { | ||
| 1339 | + "node": ">= 0.8" | ||
| 1340 | + } | ||
| 1341 | + }, | ||
| 1342 | + "node_modules/commander": { | ||
| 1343 | + "version": "2.20.3", | ||
| 1344 | + "resolved": "https://registry.npmmirror.com/commander/-/commander-2.20.3.tgz", | ||
| 1345 | + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", | ||
| 1346 | + "license": "MIT" | ||
| 1347 | + }, | ||
| 1348 | + "node_modules/compute-scroll-into-view": { | ||
| 1349 | + "version": "1.0.20", | ||
| 1350 | + "resolved": "https://registry.npmmirror.com/compute-scroll-into-view/-/compute-scroll-into-view-1.0.20.tgz", | ||
| 1351 | + "integrity": "sha512-UCB0ioiyj8CRjtrvaceBLqqhZCVP+1B8+NWQhmdsm0VXOJtobBCf1dBQmebCCo34qZmUwZfIH2MZLqNHazrfjg==", | ||
| 1352 | + "license": "MIT" | ||
| 1353 | + }, | ||
| 1354 | + "node_modules/core-js": { | ||
| 1355 | + "version": "3.41.0", | ||
| 1356 | + "resolved": "https://registry.npmmirror.com/core-js/-/core-js-3.41.0.tgz", | ||
| 1357 | + "integrity": "sha512-SJ4/EHwS36QMJd6h/Rg+GyR4A5xE0FSI3eZ+iBVpfqf1x0eTSg1smWLHrA+2jQThZSh97fmSgFSU8B61nxosxA==", | ||
| 1358 | + "hasInstallScript": true, | ||
| 1359 | + "license": "MIT", | ||
| 1360 | + "funding": { | ||
| 1361 | + "type": "opencollective", | ||
| 1362 | + "url": "https://opencollective.com/core-js" | ||
| 1363 | + } | ||
| 1364 | + }, | ||
| 1365 | + "node_modules/csstype": { | ||
| 1366 | + "version": "3.1.3", | ||
| 1367 | + "resolved": "https://registry.npmmirror.com/csstype/-/csstype-3.1.3.tgz", | ||
| 1368 | + "integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==", | ||
| 1369 | + "license": "MIT" | ||
| 1370 | + }, | ||
| 1371 | + "node_modules/dayjs": { | ||
| 1372 | + "version": "1.11.13", | ||
| 1373 | + "resolved": "https://registry.npmmirror.com/dayjs/-/dayjs-1.11.13.tgz", | ||
| 1374 | + "integrity": "sha512-oaMBel6gjolK862uaPQOVTA7q3TZhuSvuMQAAglQDOWYO9A91IrAOUJEyKVlqJlHE0vq5p5UXxzdPfMH/x6xNg==", | ||
| 1375 | + "license": "MIT" | ||
| 1376 | + }, | ||
| 1377 | + "node_modules/de-indent": { | ||
| 1378 | + "version": "1.0.2", | ||
| 1379 | + "resolved": "https://registry.npmmirror.com/de-indent/-/de-indent-1.0.2.tgz", | ||
| 1380 | + "integrity": "sha512-e/1zu3xH5MQryN2zdVaF0OrdNLUbvWxzMbi+iNA6Bky7l1RoP8a2fIbRocyHclXt/arDrrR6lL3TqFD9pMQTsg==", | ||
| 1381 | + "dev": true, | ||
| 1382 | + "license": "MIT" | ||
| 1383 | + }, | ||
| 1384 | + "node_modules/delayed-stream": { | ||
| 1385 | + "version": "1.0.0", | ||
| 1386 | + "resolved": "https://registry.npmmirror.com/delayed-stream/-/delayed-stream-1.0.0.tgz", | ||
| 1387 | + "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", | ||
| 1388 | + "license": "MIT", | ||
| 1389 | + "engines": { | ||
| 1390 | + "node": ">=0.4.0" | ||
| 1391 | + } | ||
| 1392 | + }, | ||
| 1393 | + "node_modules/dom-align": { | ||
| 1394 | + "version": "1.12.4", | ||
| 1395 | + "resolved": "https://registry.npmmirror.com/dom-align/-/dom-align-1.12.4.tgz", | ||
| 1396 | + "integrity": "sha512-R8LUSEay/68zE5c8/3BDxiTEvgb4xZTF0RKmAHfiEVN3klfIpXfi2/QCoiWPccVQ0J/ZGdz9OjzL4uJEP/MRAw==", | ||
| 1397 | + "license": "MIT" | ||
| 1398 | + }, | ||
| 1399 | + "node_modules/dom-scroll-into-view": { | ||
| 1400 | + "version": "2.0.1", | ||
| 1401 | + "resolved": "https://registry.npmmirror.com/dom-scroll-into-view/-/dom-scroll-into-view-2.0.1.tgz", | ||
| 1402 | + "integrity": "sha512-bvVTQe1lfaUr1oFzZX80ce9KLDlZ3iU+XGNE/bz9HnGdklTieqsbmsLHe+rT2XWqopvL0PckkYqN7ksmm5pe3w==", | ||
| 1403 | + "license": "MIT" | ||
| 1404 | + }, | ||
| 1405 | + "node_modules/dompurify": { | ||
| 1406 | + "version": "3.2.4", | ||
| 1407 | + "resolved": "https://registry.npmmirror.com/dompurify/-/dompurify-3.2.4.tgz", | ||
| 1408 | + "integrity": "sha512-ysFSFEDVduQpyhzAob/kkuJjf5zWkZD8/A9ywSp1byueyuCfHamrCBa14/Oc2iiB0e51B+NpxSl5gmzn+Ms/mg==", | ||
| 1409 | + "license": "(MPL-2.0 OR Apache-2.0)", | ||
| 1410 | + "optionalDependencies": { | ||
| 1411 | + "@types/trusted-types": "^2.0.7" | ||
| 1412 | + } | ||
| 1413 | + }, | ||
| 1414 | + "node_modules/draco3d": { | ||
| 1415 | + "version": "1.5.7", | ||
| 1416 | + "resolved": "https://registry.npmmirror.com/draco3d/-/draco3d-1.5.7.tgz", | ||
| 1417 | + "integrity": "sha512-m6WCKt/erDXcw+70IJXnG7M3awwQPAsZvJGX5zY7beBqpELw6RDGkYVU0W43AFxye4pDZ5i2Lbyc/NNGqwjUVQ==", | ||
| 1418 | + "license": "Apache-2.0" | ||
| 1419 | + }, | ||
| 1420 | + "node_modules/dunder-proto": { | ||
| 1421 | + "version": "1.0.1", | ||
| 1422 | + "resolved": "https://registry.npmmirror.com/dunder-proto/-/dunder-proto-1.0.1.tgz", | ||
| 1423 | + "integrity": "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==", | ||
| 1424 | + "license": "MIT", | ||
| 1425 | + "dependencies": { | ||
| 1426 | + "call-bind-apply-helpers": "^1.0.1", | ||
| 1427 | + "es-errors": "^1.3.0", | ||
| 1428 | + "gopd": "^1.2.0" | ||
| 1429 | + }, | ||
| 1430 | + "engines": { | ||
| 1431 | + "node": ">= 0.4" | ||
| 1432 | + } | ||
| 1433 | + }, | ||
| 1434 | + "node_modules/earcut": { | ||
| 1435 | + "version": "3.0.1", | ||
| 1436 | + "resolved": "https://registry.npmmirror.com/earcut/-/earcut-3.0.1.tgz", | ||
| 1437 | + "integrity": "sha512-0l1/0gOjESMeQyYaK5IDiPNvFeu93Z/cO0TjZh9eZ1vyCtZnA7KMZ8rQggpsJHIbGSdrqYq9OhuveadOVHCshw==", | ||
| 1438 | + "license": "ISC" | ||
| 1439 | + }, | ||
| 1440 | + "node_modules/entities": { | ||
| 1441 | + "version": "4.5.0", | ||
| 1442 | + "resolved": "https://registry.npmmirror.com/entities/-/entities-4.5.0.tgz", | ||
| 1443 | + "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", | ||
| 1444 | + "license": "BSD-2-Clause", | ||
| 1445 | + "engines": { | ||
| 1446 | + "node": ">=0.12" | ||
| 1447 | + }, | ||
| 1448 | + "funding": { | ||
| 1449 | + "url": "https://github.com/fb55/entities?sponsor=1" | ||
| 1450 | + } | ||
| 1451 | + }, | ||
| 1452 | + "node_modules/es-define-property": { | ||
| 1453 | + "version": "1.0.1", | ||
| 1454 | + "resolved": "https://registry.npmmirror.com/es-define-property/-/es-define-property-1.0.1.tgz", | ||
| 1455 | + "integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==", | ||
| 1456 | + "license": "MIT", | ||
| 1457 | + "engines": { | ||
| 1458 | + "node": ">= 0.4" | ||
| 1459 | + } | ||
| 1460 | + }, | ||
| 1461 | + "node_modules/es-errors": { | ||
| 1462 | + "version": "1.3.0", | ||
| 1463 | + "resolved": "https://registry.npmmirror.com/es-errors/-/es-errors-1.3.0.tgz", | ||
| 1464 | + "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", | ||
| 1465 | + "license": "MIT", | ||
| 1466 | + "engines": { | ||
| 1467 | + "node": ">= 0.4" | ||
| 1468 | + } | ||
| 1469 | + }, | ||
| 1470 | + "node_modules/es-object-atoms": { | ||
| 1471 | + "version": "1.1.1", | ||
| 1472 | + "resolved": "https://registry.npmmirror.com/es-object-atoms/-/es-object-atoms-1.1.1.tgz", | ||
| 1473 | + "integrity": "sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==", | ||
| 1474 | + "license": "MIT", | ||
| 1475 | + "dependencies": { | ||
| 1476 | + "es-errors": "^1.3.0" | ||
| 1477 | + }, | ||
| 1478 | + "engines": { | ||
| 1479 | + "node": ">= 0.4" | ||
| 1480 | + } | ||
| 1481 | + }, | ||
| 1482 | + "node_modules/es-set-tostringtag": { | ||
| 1483 | + "version": "2.1.0", | ||
| 1484 | + "resolved": "https://registry.npmmirror.com/es-set-tostringtag/-/es-set-tostringtag-2.1.0.tgz", | ||
| 1485 | + "integrity": "sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA==", | ||
| 1486 | + "license": "MIT", | ||
| 1487 | + "dependencies": { | ||
| 1488 | + "es-errors": "^1.3.0", | ||
| 1489 | + "get-intrinsic": "^1.2.6", | ||
| 1490 | + "has-tostringtag": "^1.0.2", | ||
| 1491 | + "hasown": "^2.0.2" | ||
| 1492 | + }, | ||
| 1493 | + "engines": { | ||
| 1494 | + "node": ">= 0.4" | ||
| 1495 | + } | ||
| 1496 | + }, | ||
| 1497 | + "node_modules/esbuild": { | ||
| 1498 | + "version": "0.25.0", | ||
| 1499 | + "resolved": "https://registry.npmmirror.com/esbuild/-/esbuild-0.25.0.tgz", | ||
| 1500 | + "integrity": "sha512-BXq5mqc8ltbaN34cDqWuYKyNhX8D/Z0J1xdtdQ8UcIIIyJyz+ZMKUt58tF3SrZ85jcfN/PZYhjR5uDQAYNVbuw==", | ||
| 1501 | + "dev": true, | ||
| 1502 | + "hasInstallScript": true, | ||
| 1503 | + "license": "MIT", | ||
| 1504 | + "bin": { | ||
| 1505 | + "esbuild": "bin/esbuild" | ||
| 1506 | + }, | ||
| 1507 | + "engines": { | ||
| 1508 | + "node": ">=18" | ||
| 1509 | + }, | ||
| 1510 | + "optionalDependencies": { | ||
| 1511 | + "@esbuild/aix-ppc64": "0.25.0", | ||
| 1512 | + "@esbuild/android-arm": "0.25.0", | ||
| 1513 | + "@esbuild/android-arm64": "0.25.0", | ||
| 1514 | + "@esbuild/android-x64": "0.25.0", | ||
| 1515 | + "@esbuild/darwin-arm64": "0.25.0", | ||
| 1516 | + "@esbuild/darwin-x64": "0.25.0", | ||
| 1517 | + "@esbuild/freebsd-arm64": "0.25.0", | ||
| 1518 | + "@esbuild/freebsd-x64": "0.25.0", | ||
| 1519 | + "@esbuild/linux-arm": "0.25.0", | ||
| 1520 | + "@esbuild/linux-arm64": "0.25.0", | ||
| 1521 | + "@esbuild/linux-ia32": "0.25.0", | ||
| 1522 | + "@esbuild/linux-loong64": "0.25.0", | ||
| 1523 | + "@esbuild/linux-mips64el": "0.25.0", | ||
| 1524 | + "@esbuild/linux-ppc64": "0.25.0", | ||
| 1525 | + "@esbuild/linux-riscv64": "0.25.0", | ||
| 1526 | + "@esbuild/linux-s390x": "0.25.0", | ||
| 1527 | + "@esbuild/linux-x64": "0.25.0", | ||
| 1528 | + "@esbuild/netbsd-arm64": "0.25.0", | ||
| 1529 | + "@esbuild/netbsd-x64": "0.25.0", | ||
| 1530 | + "@esbuild/openbsd-arm64": "0.25.0", | ||
| 1531 | + "@esbuild/openbsd-x64": "0.25.0", | ||
| 1532 | + "@esbuild/sunos-x64": "0.25.0", | ||
| 1533 | + "@esbuild/win32-arm64": "0.25.0", | ||
| 1534 | + "@esbuild/win32-ia32": "0.25.0", | ||
| 1535 | + "@esbuild/win32-x64": "0.25.0" | ||
| 1536 | + } | ||
| 1537 | + }, | ||
| 1538 | + "node_modules/estree-walker": { | ||
| 1539 | + "version": "2.0.2", | ||
| 1540 | + "resolved": "https://registry.npmmirror.com/estree-walker/-/estree-walker-2.0.2.tgz", | ||
| 1541 | + "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==", | ||
| 1542 | + "license": "MIT" | ||
| 1543 | + }, | ||
| 1544 | + "node_modules/follow-redirects": { | ||
| 1545 | + "version": "1.15.9", | ||
| 1546 | + "resolved": "https://registry.npmmirror.com/follow-redirects/-/follow-redirects-1.15.9.tgz", | ||
| 1547 | + "integrity": "sha512-gew4GsXizNgdoRyqmyfMHyAmXsZDk6mHkSxZFCzW9gwlbtOW44CDtYavM+y+72qD/Vq2l550kMF52DT8fOLJqQ==", | ||
| 1548 | + "funding": [ | ||
| 1549 | + { | ||
| 1550 | + "type": "individual", | ||
| 1551 | + "url": "https://github.com/sponsors/RubenVerborgh" | ||
| 1552 | + } | ||
| 1553 | + ], | ||
| 1554 | + "license": "MIT", | ||
| 1555 | + "engines": { | ||
| 1556 | + "node": ">=4.0" | ||
| 1557 | + }, | ||
| 1558 | + "peerDependenciesMeta": { | ||
| 1559 | + "debug": { | ||
| 1560 | + "optional": true | ||
| 1561 | + } | ||
| 1562 | + } | ||
| 1563 | + }, | ||
| 1564 | + "node_modules/form-data": { | ||
| 1565 | + "version": "4.0.2", | ||
| 1566 | + "resolved": "https://registry.npmmirror.com/form-data/-/form-data-4.0.2.tgz", | ||
| 1567 | + "integrity": "sha512-hGfm/slu0ZabnNt4oaRZ6uREyfCj6P4fT/n6A1rGV+Z0VdGXjfOhVUpkn6qVQONHGIFwmveGXyDs75+nr6FM8w==", | ||
| 1568 | + "license": "MIT", | ||
| 1569 | + "dependencies": { | ||
| 1570 | + "asynckit": "^0.4.0", | ||
| 1571 | + "combined-stream": "^1.0.8", | ||
| 1572 | + "es-set-tostringtag": "^2.1.0", | ||
| 1573 | + "mime-types": "^2.1.12" | ||
| 1574 | + }, | ||
| 1575 | + "engines": { | ||
| 1576 | + "node": ">= 6" | ||
| 1577 | + } | ||
| 1578 | + }, | ||
| 1579 | + "node_modules/fsevents": { | ||
| 1580 | + "version": "2.3.3", | ||
| 1581 | + "resolved": "https://registry.npmmirror.com/fsevents/-/fsevents-2.3.3.tgz", | ||
| 1582 | + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", | ||
| 1583 | + "dev": true, | ||
| 1584 | + "hasInstallScript": true, | ||
| 1585 | + "license": "MIT", | ||
| 1586 | + "optional": true, | ||
| 1587 | + "os": [ | ||
| 1588 | + "darwin" | ||
| 1589 | + ], | ||
| 1590 | + "engines": { | ||
| 1591 | + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" | ||
| 1592 | + } | ||
| 1593 | + }, | ||
| 1594 | + "node_modules/function-bind": { | ||
| 1595 | + "version": "1.1.2", | ||
| 1596 | + "resolved": "https://registry.npmmirror.com/function-bind/-/function-bind-1.1.2.tgz", | ||
| 1597 | + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", | ||
| 1598 | + "license": "MIT", | ||
| 1599 | + "funding": { | ||
| 1600 | + "url": "https://github.com/sponsors/ljharb" | ||
| 1601 | + } | ||
| 1602 | + }, | ||
| 1603 | + "node_modules/get-intrinsic": { | ||
| 1604 | + "version": "1.3.0", | ||
| 1605 | + "resolved": "https://registry.npmmirror.com/get-intrinsic/-/get-intrinsic-1.3.0.tgz", | ||
| 1606 | + "integrity": "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==", | ||
| 1607 | + "license": "MIT", | ||
| 1608 | + "dependencies": { | ||
| 1609 | + "call-bind-apply-helpers": "^1.0.2", | ||
| 1610 | + "es-define-property": "^1.0.1", | ||
| 1611 | + "es-errors": "^1.3.0", | ||
| 1612 | + "es-object-atoms": "^1.1.1", | ||
| 1613 | + "function-bind": "^1.1.2", | ||
| 1614 | + "get-proto": "^1.0.1", | ||
| 1615 | + "gopd": "^1.2.0", | ||
| 1616 | + "has-symbols": "^1.1.0", | ||
| 1617 | + "hasown": "^2.0.2", | ||
| 1618 | + "math-intrinsics": "^1.1.0" | ||
| 1619 | + }, | ||
| 1620 | + "engines": { | ||
| 1621 | + "node": ">= 0.4" | ||
| 1622 | + }, | ||
| 1623 | + "funding": { | ||
| 1624 | + "url": "https://github.com/sponsors/ljharb" | ||
| 1625 | + } | ||
| 1626 | + }, | ||
| 1627 | + "node_modules/get-proto": { | ||
| 1628 | + "version": "1.0.1", | ||
| 1629 | + "resolved": "https://registry.npmmirror.com/get-proto/-/get-proto-1.0.1.tgz", | ||
| 1630 | + "integrity": "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==", | ||
| 1631 | + "license": "MIT", | ||
| 1632 | + "dependencies": { | ||
| 1633 | + "dunder-proto": "^1.0.1", | ||
| 1634 | + "es-object-atoms": "^1.0.0" | ||
| 1635 | + }, | ||
| 1636 | + "engines": { | ||
| 1637 | + "node": ">= 0.4" | ||
| 1638 | + } | ||
| 1639 | + }, | ||
| 1640 | + "node_modules/gopd": { | ||
| 1641 | + "version": "1.2.0", | ||
| 1642 | + "resolved": "https://registry.npmmirror.com/gopd/-/gopd-1.2.0.tgz", | ||
| 1643 | + "integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==", | ||
| 1644 | + "license": "MIT", | ||
| 1645 | + "engines": { | ||
| 1646 | + "node": ">= 0.4" | ||
| 1647 | + }, | ||
| 1648 | + "funding": { | ||
| 1649 | + "url": "https://github.com/sponsors/ljharb" | ||
| 1650 | + } | ||
| 1651 | + }, | ||
| 1652 | + "node_modules/grapheme-splitter": { | ||
| 1653 | + "version": "1.0.4", | ||
| 1654 | + "resolved": "https://registry.npmmirror.com/grapheme-splitter/-/grapheme-splitter-1.0.4.tgz", | ||
| 1655 | + "integrity": "sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==", | ||
| 1656 | + "license": "MIT" | ||
| 1657 | + }, | ||
| 1658 | + "node_modules/has-symbols": { | ||
| 1659 | + "version": "1.1.0", | ||
| 1660 | + "resolved": "https://registry.npmmirror.com/has-symbols/-/has-symbols-1.1.0.tgz", | ||
| 1661 | + "integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==", | ||
| 1662 | + "license": "MIT", | ||
| 1663 | + "engines": { | ||
| 1664 | + "node": ">= 0.4" | ||
| 1665 | + }, | ||
| 1666 | + "funding": { | ||
| 1667 | + "url": "https://github.com/sponsors/ljharb" | ||
| 1668 | + } | ||
| 1669 | + }, | ||
| 1670 | + "node_modules/has-tostringtag": { | ||
| 1671 | + "version": "1.0.2", | ||
| 1672 | + "resolved": "https://registry.npmmirror.com/has-tostringtag/-/has-tostringtag-1.0.2.tgz", | ||
| 1673 | + "integrity": "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==", | ||
| 1674 | + "license": "MIT", | ||
| 1675 | + "dependencies": { | ||
| 1676 | + "has-symbols": "^1.0.3" | ||
| 1677 | + }, | ||
| 1678 | + "engines": { | ||
| 1679 | + "node": ">= 0.4" | ||
| 1680 | + }, | ||
| 1681 | + "funding": { | ||
| 1682 | + "url": "https://github.com/sponsors/ljharb" | ||
| 1683 | + } | ||
| 1684 | + }, | ||
| 1685 | + "node_modules/hasown": { | ||
| 1686 | + "version": "2.0.2", | ||
| 1687 | + "resolved": "https://registry.npmmirror.com/hasown/-/hasown-2.0.2.tgz", | ||
| 1688 | + "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", | ||
| 1689 | + "license": "MIT", | ||
| 1690 | + "dependencies": { | ||
| 1691 | + "function-bind": "^1.1.2" | ||
| 1692 | + }, | ||
| 1693 | + "engines": { | ||
| 1694 | + "node": ">= 0.4" | ||
| 1695 | + } | ||
| 1696 | + }, | ||
| 1697 | + "node_modules/he": { | ||
| 1698 | + "version": "1.2.0", | ||
| 1699 | + "resolved": "https://registry.npmmirror.com/he/-/he-1.2.0.tgz", | ||
| 1700 | + "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", | ||
| 1701 | + "dev": true, | ||
| 1702 | + "license": "MIT", | ||
| 1703 | + "bin": { | ||
| 1704 | + "he": "bin/he" | ||
| 1705 | + } | ||
| 1706 | + }, | ||
| 1707 | + "node_modules/is-plain-object": { | ||
| 1708 | + "version": "3.0.1", | ||
| 1709 | + "resolved": "https://registry.npmmirror.com/is-plain-object/-/is-plain-object-3.0.1.tgz", | ||
| 1710 | + "integrity": "sha512-Xnpx182SBMrr/aBik8y+GuR4U1L9FqMSojwDQwPMmxyC6bvEqly9UBCxhauBF5vNh2gwWJNX6oDV7O+OM4z34g==", | ||
| 1711 | + "license": "MIT", | ||
| 1712 | + "engines": { | ||
| 1713 | + "node": ">=0.10.0" | ||
| 1714 | + } | ||
| 1715 | + }, | ||
| 1716 | + "node_modules/js-tokens": { | ||
| 1717 | + "version": "4.0.0", | ||
| 1718 | + "resolved": "https://registry.npmmirror.com/js-tokens/-/js-tokens-4.0.0.tgz", | ||
| 1719 | + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", | ||
| 1720 | + "license": "MIT" | ||
| 1721 | + }, | ||
| 1722 | + "node_modules/jsep": { | ||
| 1723 | + "version": "1.4.0", | ||
| 1724 | + "resolved": "https://registry.npmmirror.com/jsep/-/jsep-1.4.0.tgz", | ||
| 1725 | + "integrity": "sha512-B7qPcEVE3NVkmSJbaYxvv4cHkVW7DQsZz13pUMrfS8z8Q/BuShN+gcTXrUlPiGqM2/t/EEaI030bpxMqY8gMlw==", | ||
| 1726 | + "license": "MIT", | ||
| 1727 | + "engines": { | ||
| 1728 | + "node": ">= 10.16.0" | ||
| 1729 | + } | ||
| 1730 | + }, | ||
| 1731 | + "node_modules/kdbush": { | ||
| 1732 | + "version": "4.0.2", | ||
| 1733 | + "resolved": "https://registry.npmmirror.com/kdbush/-/kdbush-4.0.2.tgz", | ||
| 1734 | + "integrity": "sha512-WbCVYJ27Sz8zi9Q7Q0xHC+05iwkm3Znipc2XTlrnJbsHMYktW4hPhXUE8Ys1engBrvffoSCqbil1JQAa7clRpA==", | ||
| 1735 | + "license": "ISC" | ||
| 1736 | + }, | ||
| 1737 | + "node_modules/ktx-parse": { | ||
| 1738 | + "version": "1.0.0", | ||
| 1739 | + "resolved": "https://registry.npmmirror.com/ktx-parse/-/ktx-parse-1.0.0.tgz", | ||
| 1740 | + "integrity": "sha512-Z31kVizz4DF/6vo9YiSYVBhuXAfyQy9bGxlW3+mB5OELoZjfXVZQpRoctsx8IEDKxBd6SagXKo7qRvu38i8Jfg==", | ||
| 1741 | + "license": "MIT" | ||
| 1742 | + }, | ||
| 1743 | + "node_modules/lerc": { | ||
| 1744 | + "version": "2.0.0", | ||
| 1745 | + "resolved": "https://registry.npmmirror.com/lerc/-/lerc-2.0.0.tgz", | ||
| 1746 | + "integrity": "sha512-7qo1Mq8ZNmaR4USHHm615nEW2lPeeWJ3bTyoqFbd35DLx0LUH7C6ptt5FDCTAlbIzs3+WKrk5SkJvw8AFDE2hg==", | ||
| 1747 | + "license": "Apache-2.0" | ||
| 1748 | + }, | ||
| 1749 | + "node_modules/lodash": { | ||
| 1750 | + "version": "4.17.21", | ||
| 1751 | + "resolved": "https://registry.npmmirror.com/lodash/-/lodash-4.17.21.tgz", | ||
| 1752 | + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", | ||
| 1753 | + "license": "MIT" | ||
| 1754 | + }, | ||
| 1755 | + "node_modules/lodash-es": { | ||
| 1756 | + "version": "4.17.21", | ||
| 1757 | + "resolved": "https://registry.npmmirror.com/lodash-es/-/lodash-es-4.17.21.tgz", | ||
| 1758 | + "integrity": "sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==", | ||
| 1759 | + "license": "MIT" | ||
| 1760 | + }, | ||
| 1761 | + "node_modules/long": { | ||
| 1762 | + "version": "5.3.1", | ||
| 1763 | + "resolved": "https://registry.npmmirror.com/long/-/long-5.3.1.tgz", | ||
| 1764 | + "integrity": "sha512-ka87Jz3gcx/I7Hal94xaN2tZEOPoUOEVftkQqZx2EeQRN7LGdfLlI3FvZ+7WDplm+vK2Urx9ULrvSowtdCieng==", | ||
| 1765 | + "license": "Apache-2.0" | ||
| 1766 | + }, | ||
| 1767 | + "node_modules/loose-envify": { | ||
| 1768 | + "version": "1.4.0", | ||
| 1769 | + "resolved": "https://registry.npmmirror.com/loose-envify/-/loose-envify-1.4.0.tgz", | ||
| 1770 | + "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", | ||
| 1771 | + "license": "MIT", | ||
| 1772 | + "dependencies": { | ||
| 1773 | + "js-tokens": "^3.0.0 || ^4.0.0" | ||
| 1774 | + }, | ||
| 1775 | + "bin": { | ||
| 1776 | + "loose-envify": "cli.js" | ||
| 1777 | + } | ||
| 1778 | + }, | ||
| 1779 | + "node_modules/magic-string": { | ||
| 1780 | + "version": "0.30.17", | ||
| 1781 | + "resolved": "https://registry.npmmirror.com/magic-string/-/magic-string-0.30.17.tgz", | ||
| 1782 | + "integrity": "sha512-sNPKHvyjVf7gyjwS4xGTaW/mCnF8wnjtifKBEhxfZ7E/S8tQ0rssrwGNn6q8JH/ohItJfSQp9mBtQYuTlH5QnA==", | ||
| 1783 | + "license": "MIT", | ||
| 1784 | + "dependencies": { | ||
| 1785 | + "@jridgewell/sourcemap-codec": "^1.5.0" | ||
| 1786 | + } | ||
| 1787 | + }, | ||
| 1788 | + "node_modules/math-intrinsics": { | ||
| 1789 | + "version": "1.1.0", | ||
| 1790 | + "resolved": "https://registry.npmmirror.com/math-intrinsics/-/math-intrinsics-1.1.0.tgz", | ||
| 1791 | + "integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==", | ||
| 1792 | + "license": "MIT", | ||
| 1793 | + "engines": { | ||
| 1794 | + "node": ">= 0.4" | ||
| 1795 | + } | ||
| 1796 | + }, | ||
| 1797 | + "node_modules/mersenne-twister": { | ||
| 1798 | + "version": "1.1.0", | ||
| 1799 | + "resolved": "https://registry.npmmirror.com/mersenne-twister/-/mersenne-twister-1.1.0.tgz", | ||
| 1800 | + "integrity": "sha512-mUYWsMKNrm4lfygPkL3OfGzOPTR2DBlTkBNHM//F6hGp8cLThY897crAlk3/Jo17LEOOjQUrNAx6DvgO77QJkA==", | ||
| 1801 | + "license": "MIT" | ||
| 1802 | + }, | ||
| 1803 | + "node_modules/meshoptimizer": { | ||
| 1804 | + "version": "0.22.0", | ||
| 1805 | + "resolved": "https://registry.npmmirror.com/meshoptimizer/-/meshoptimizer-0.22.0.tgz", | ||
| 1806 | + "integrity": "sha512-IebiK79sqIy+E4EgOr+CAw+Ke8hAspXKzBd0JdgEmPHiAwmvEj2S4h1rfvo+o/BnfEYd/jAOg5IeeIjzlzSnDg==", | ||
| 1807 | + "license": "MIT" | ||
| 1808 | + }, | ||
| 1809 | + "node_modules/mime-db": { | ||
| 1810 | + "version": "1.52.0", | ||
| 1811 | + "resolved": "https://registry.npmmirror.com/mime-db/-/mime-db-1.52.0.tgz", | ||
| 1812 | + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", | ||
| 1813 | + "license": "MIT", | ||
| 1814 | + "engines": { | ||
| 1815 | + "node": ">= 0.6" | ||
| 1816 | + } | ||
| 1817 | + }, | ||
| 1818 | + "node_modules/mime-types": { | ||
| 1819 | + "version": "2.1.35", | ||
| 1820 | + "resolved": "https://registry.npmmirror.com/mime-types/-/mime-types-2.1.35.tgz", | ||
| 1821 | + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", | ||
| 1822 | + "license": "MIT", | ||
| 1823 | + "dependencies": { | ||
| 1824 | + "mime-db": "1.52.0" | ||
| 1825 | + }, | ||
| 1826 | + "engines": { | ||
| 1827 | + "node": ">= 0.6" | ||
| 1828 | + } | ||
| 1829 | + }, | ||
| 1830 | + "node_modules/minimatch": { | ||
| 1831 | + "version": "9.0.5", | ||
| 1832 | + "resolved": "https://registry.npmmirror.com/minimatch/-/minimatch-9.0.5.tgz", | ||
| 1833 | + "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", | ||
| 1834 | + "dev": true, | ||
| 1835 | + "license": "ISC", | ||
| 1836 | + "dependencies": { | ||
| 1837 | + "brace-expansion": "^2.0.1" | ||
| 1838 | + }, | ||
| 1839 | + "engines": { | ||
| 1840 | + "node": ">=16 || 14 >=14.17" | ||
| 1841 | + }, | ||
| 1842 | + "funding": { | ||
| 1843 | + "url": "https://github.com/sponsors/isaacs" | ||
| 1844 | + } | ||
| 1845 | + }, | ||
| 1846 | + "node_modules/muggle-string": { | ||
| 1847 | + "version": "0.4.1", | ||
| 1848 | + "resolved": "https://registry.npmmirror.com/muggle-string/-/muggle-string-0.4.1.tgz", | ||
| 1849 | + "integrity": "sha512-VNTrAak/KhO2i8dqqnqnAHOa3cYBwXEZe9h+D5h/1ZqFSTEFHdM65lR7RoIqq3tBBYavsOXV84NoHXZ0AkPyqQ==", | ||
| 1850 | + "dev": true, | ||
| 1851 | + "license": "MIT" | ||
| 1852 | + }, | ||
| 1853 | + "node_modules/nanoid": { | ||
| 1854 | + "version": "3.3.8", | ||
| 1855 | + "resolved": "https://registry.npmmirror.com/nanoid/-/nanoid-3.3.8.tgz", | ||
| 1856 | + "integrity": "sha512-WNLf5Sd8oZxOm+TzppcYk8gVOgP+l58xNy58D0nbUnOxOWRWvlcCV4kUF7ltmI6PsrLl/BgKEyS4mqsGChFN0w==", | ||
| 1857 | + "funding": [ | ||
| 1858 | + { | ||
| 1859 | + "type": "github", | ||
| 1860 | + "url": "https://github.com/sponsors/ai" | ||
| 1861 | + } | ||
| 1862 | + ], | ||
| 1863 | + "license": "MIT", | ||
| 1864 | + "bin": { | ||
| 1865 | + "nanoid": "bin/nanoid.cjs" | ||
| 1866 | + }, | ||
| 1867 | + "engines": { | ||
| 1868 | + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" | ||
| 1869 | + } | ||
| 1870 | + }, | ||
| 1871 | + "node_modules/nanopop": { | ||
| 1872 | + "version": "2.4.2", | ||
| 1873 | + "resolved": "https://registry.npmmirror.com/nanopop/-/nanopop-2.4.2.tgz", | ||
| 1874 | + "integrity": "sha512-NzOgmMQ+elxxHeIha+OG/Pv3Oc3p4RU2aBhwWwAqDpXrdTbtRylbRLQztLy8dMMwfl6pclznBdfUhccEn9ZIzw==", | ||
| 1875 | + "license": "MIT" | ||
| 1876 | + }, | ||
| 1877 | + "node_modules/nosleep.js": { | ||
| 1878 | + "version": "0.12.0", | ||
| 1879 | + "resolved": "https://registry.npmmirror.com/nosleep.js/-/nosleep.js-0.12.0.tgz", | ||
| 1880 | + "integrity": "sha512-9d1HbpKLh3sdWlhXMhU6MMH+wQzKkrgfRkYV0EBdvt99YJfj0ilCJrWRDYG2130Tm4GXbEoTCx5b34JSaP+HhA==", | ||
| 1881 | + "license": "MIT" | ||
| 1882 | + }, | ||
| 1883 | + "node_modules/pako": { | ||
| 1884 | + "version": "2.1.0", | ||
| 1885 | + "resolved": "https://registry.npmmirror.com/pako/-/pako-2.1.0.tgz", | ||
| 1886 | + "integrity": "sha512-w+eufiZ1WuJYgPXbV/PO3NCMEc3xqylkKHzp8bxp1uW4qaSNQUkwmLLEc3kKsfz8lpV1F8Ht3U1Cm+9Srog2ug==", | ||
| 1887 | + "license": "(MIT AND Zlib)" | ||
| 1888 | + }, | ||
| 1889 | + "node_modules/path-browserify": { | ||
| 1890 | + "version": "1.0.1", | ||
| 1891 | + "resolved": "https://registry.npmmirror.com/path-browserify/-/path-browserify-1.0.1.tgz", | ||
| 1892 | + "integrity": "sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==", | ||
| 1893 | + "dev": true, | ||
| 1894 | + "license": "MIT" | ||
| 1895 | + }, | ||
| 1896 | + "node_modules/picocolors": { | ||
| 1897 | + "version": "1.1.1", | ||
| 1898 | + "resolved": "https://registry.npmmirror.com/picocolors/-/picocolors-1.1.1.tgz", | ||
| 1899 | + "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==", | ||
| 1900 | + "license": "ISC" | ||
| 1901 | + }, | ||
| 1902 | + "node_modules/postcss": { | ||
| 1903 | + "version": "8.5.3", | ||
| 1904 | + "resolved": "https://registry.npmmirror.com/postcss/-/postcss-8.5.3.tgz", | ||
| 1905 | + "integrity": "sha512-dle9A3yYxlBSrt8Fu+IpjGT8SY8hN0mlaA6GY8t0P5PjIOZemULz/E2Bnm/2dcUOena75OTNkHI76uZBNUUq3A==", | ||
| 1906 | + "funding": [ | ||
| 1907 | + { | ||
| 1908 | + "type": "opencollective", | ||
| 1909 | + "url": "https://opencollective.com/postcss/" | ||
| 1910 | + }, | ||
| 1911 | + { | ||
| 1912 | + "type": "tidelift", | ||
| 1913 | + "url": "https://tidelift.com/funding/github/npm/postcss" | ||
| 1914 | + }, | ||
| 1915 | + { | ||
| 1916 | + "type": "github", | ||
| 1917 | + "url": "https://github.com/sponsors/ai" | ||
| 1918 | + } | ||
| 1919 | + ], | ||
| 1920 | + "license": "MIT", | ||
| 1921 | + "dependencies": { | ||
| 1922 | + "nanoid": "^3.3.8", | ||
| 1923 | + "picocolors": "^1.1.1", | ||
| 1924 | + "source-map-js": "^1.2.1" | ||
| 1925 | + }, | ||
| 1926 | + "engines": { | ||
| 1927 | + "node": "^10 || ^12 || >=14" | ||
| 1928 | + } | ||
| 1929 | + }, | ||
| 1930 | + "node_modules/protobufjs": { | ||
| 1931 | + "version": "7.4.0", | ||
| 1932 | + "resolved": "https://registry.npmmirror.com/protobufjs/-/protobufjs-7.4.0.tgz", | ||
| 1933 | + "integrity": "sha512-mRUWCc3KUU4w1jU8sGxICXH/gNS94DvI1gxqDvBzhj1JpcsimQkYiOJfwsPUykUI5ZaspFbSgmBLER8IrQ3tqw==", | ||
| 1934 | + "hasInstallScript": true, | ||
| 1935 | + "license": "BSD-3-Clause", | ||
| 1936 | + "dependencies": { | ||
| 1937 | + "@protobufjs/aspromise": "^1.1.2", | ||
| 1938 | + "@protobufjs/base64": "^1.1.2", | ||
| 1939 | + "@protobufjs/codegen": "^2.0.4", | ||
| 1940 | + "@protobufjs/eventemitter": "^1.1.0", | ||
| 1941 | + "@protobufjs/fetch": "^1.1.0", | ||
| 1942 | + "@protobufjs/float": "^1.0.2", | ||
| 1943 | + "@protobufjs/inquire": "^1.1.0", | ||
| 1944 | + "@protobufjs/path": "^1.1.2", | ||
| 1945 | + "@protobufjs/pool": "^1.1.0", | ||
| 1946 | + "@protobufjs/utf8": "^1.1.0", | ||
| 1947 | + "@types/node": ">=13.7.0", | ||
| 1948 | + "long": "^5.0.0" | ||
| 1949 | + }, | ||
| 1950 | + "engines": { | ||
| 1951 | + "node": ">=12.0.0" | ||
| 1952 | + } | ||
| 1953 | + }, | ||
| 1954 | + "node_modules/proxy-from-env": { | ||
| 1955 | + "version": "1.1.0", | ||
| 1956 | + "resolved": "https://registry.npmmirror.com/proxy-from-env/-/proxy-from-env-1.1.0.tgz", | ||
| 1957 | + "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==", | ||
| 1958 | + "license": "MIT" | ||
| 1959 | + }, | ||
| 1960 | + "node_modules/quickselect": { | ||
| 1961 | + "version": "2.0.0", | ||
| 1962 | + "resolved": "https://registry.npmmirror.com/quickselect/-/quickselect-2.0.0.tgz", | ||
| 1963 | + "integrity": "sha512-RKJ22hX8mHe3Y6wH/N3wCM6BWtjaxIyyUIkpHOvfFnxdI4yD4tBXEBKSbriGujF6jnSVkJrffuo6vxACiSSxIw==", | ||
| 1964 | + "license": "ISC" | ||
| 1965 | + }, | ||
| 1966 | + "node_modules/rbush": { | ||
| 1967 | + "version": "3.0.1", | ||
| 1968 | + "resolved": "https://registry.npmmirror.com/rbush/-/rbush-3.0.1.tgz", | ||
| 1969 | + "integrity": "sha512-XRaVO0YecOpEuIvbhbpTrZgoiI6xBlz6hnlr6EHhd+0x9ase6EmeN+hdwwUaJvLcsFFQ8iWVF1GAK1yB0BWi0w==", | ||
| 1970 | + "license": "MIT", | ||
| 1971 | + "dependencies": { | ||
| 1972 | + "quickselect": "^2.0.0" | ||
| 1973 | + } | ||
| 1974 | + }, | ||
| 1975 | + "node_modules/regenerator-runtime": { | ||
| 1976 | + "version": "0.14.1", | ||
| 1977 | + "resolved": "https://registry.npmmirror.com/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz", | ||
| 1978 | + "integrity": "sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==", | ||
| 1979 | + "license": "MIT" | ||
| 1980 | + }, | ||
| 1981 | + "node_modules/resize-observer-polyfill": { | ||
| 1982 | + "version": "1.5.1", | ||
| 1983 | + "resolved": "https://registry.npmmirror.com/resize-observer-polyfill/-/resize-observer-polyfill-1.5.1.tgz", | ||
| 1984 | + "integrity": "sha512-LwZrotdHOo12nQuZlHEmtuXdqGoOD0OhaxopaNFxWzInpEgaLWoVuAMbTzixuosCx2nEG58ngzW3vxdWoxIgdg==", | ||
| 1985 | + "license": "MIT" | ||
| 1986 | + }, | ||
| 1987 | + "node_modules/rollup": { | ||
| 1988 | + "version": "4.34.9", | ||
| 1989 | + "resolved": "https://registry.npmmirror.com/rollup/-/rollup-4.34.9.tgz", | ||
| 1990 | + "integrity": "sha512-nF5XYqWWp9hx/LrpC8sZvvvmq0TeTjQgaZHYmAgwysT9nh8sWnZhBnM8ZyVbbJFIQBLwHDNoMqsBZBbUo4U8sQ==", | ||
| 1991 | + "dev": true, | ||
| 1992 | + "license": "MIT", | ||
| 1993 | + "dependencies": { | ||
| 1994 | + "@types/estree": "1.0.6" | ||
| 1995 | + }, | ||
| 1996 | + "bin": { | ||
| 1997 | + "rollup": "dist/bin/rollup" | ||
| 1998 | + }, | ||
| 1999 | + "engines": { | ||
| 2000 | + "node": ">=18.0.0", | ||
| 2001 | + "npm": ">=8.0.0" | ||
| 2002 | + }, | ||
| 2003 | + "optionalDependencies": { | ||
| 2004 | + "@rollup/rollup-android-arm-eabi": "4.34.9", | ||
| 2005 | + "@rollup/rollup-android-arm64": "4.34.9", | ||
| 2006 | + "@rollup/rollup-darwin-arm64": "4.34.9", | ||
| 2007 | + "@rollup/rollup-darwin-x64": "4.34.9", | ||
| 2008 | + "@rollup/rollup-freebsd-arm64": "4.34.9", | ||
| 2009 | + "@rollup/rollup-freebsd-x64": "4.34.9", | ||
| 2010 | + "@rollup/rollup-linux-arm-gnueabihf": "4.34.9", | ||
| 2011 | + "@rollup/rollup-linux-arm-musleabihf": "4.34.9", | ||
| 2012 | + "@rollup/rollup-linux-arm64-gnu": "4.34.9", | ||
| 2013 | + "@rollup/rollup-linux-arm64-musl": "4.34.9", | ||
| 2014 | + "@rollup/rollup-linux-loongarch64-gnu": "4.34.9", | ||
| 2015 | + "@rollup/rollup-linux-powerpc64le-gnu": "4.34.9", | ||
| 2016 | + "@rollup/rollup-linux-riscv64-gnu": "4.34.9", | ||
| 2017 | + "@rollup/rollup-linux-s390x-gnu": "4.34.9", | ||
| 2018 | + "@rollup/rollup-linux-x64-gnu": "4.34.9", | ||
| 2019 | + "@rollup/rollup-linux-x64-musl": "4.34.9", | ||
| 2020 | + "@rollup/rollup-win32-arm64-msvc": "4.34.9", | ||
| 2021 | + "@rollup/rollup-win32-ia32-msvc": "4.34.9", | ||
| 2022 | + "@rollup/rollup-win32-x64-msvc": "4.34.9", | ||
| 2023 | + "fsevents": "~2.3.2" | ||
| 2024 | + } | ||
| 2025 | + }, | ||
| 2026 | + "node_modules/scroll-into-view-if-needed": { | ||
| 2027 | + "version": "2.2.31", | ||
| 2028 | + "resolved": "https://registry.npmmirror.com/scroll-into-view-if-needed/-/scroll-into-view-if-needed-2.2.31.tgz", | ||
| 2029 | + "integrity": "sha512-dGCXy99wZQivjmjIqihaBQNjryrz5rueJY7eHfTdyWEiR4ttYpsajb14rn9s5d4DY4EcY6+4+U/maARBXJedkA==", | ||
| 2030 | + "license": "MIT", | ||
| 2031 | + "dependencies": { | ||
| 2032 | + "compute-scroll-into-view": "^1.0.20" | ||
| 2033 | + } | ||
| 2034 | + }, | ||
| 2035 | + "node_modules/shallow-equal": { | ||
| 2036 | + "version": "1.2.1", | ||
| 2037 | + "resolved": "https://registry.npmmirror.com/shallow-equal/-/shallow-equal-1.2.1.tgz", | ||
| 2038 | + "integrity": "sha512-S4vJDjHHMBaiZuT9NPb616CSmLf618jawtv3sufLl6ivK8WocjAo58cXwbRV1cgqxH0Qbv+iUt6m05eqEa2IRA==", | ||
| 2039 | + "license": "MIT" | ||
| 2040 | + }, | ||
| 2041 | + "node_modules/source-map-js": { | ||
| 2042 | + "version": "1.2.1", | ||
| 2043 | + "resolved": "https://registry.npmmirror.com/source-map-js/-/source-map-js-1.2.1.tgz", | ||
| 2044 | + "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==", | ||
| 2045 | + "license": "BSD-3-Clause", | ||
| 2046 | + "engines": { | ||
| 2047 | + "node": ">=0.10.0" | ||
| 2048 | + } | ||
| 2049 | + }, | ||
| 2050 | + "node_modules/stylis": { | ||
| 2051 | + "version": "4.3.6", | ||
| 2052 | + "resolved": "https://registry.npmmirror.com/stylis/-/stylis-4.3.6.tgz", | ||
| 2053 | + "integrity": "sha512-yQ3rwFWRfwNUY7H5vpU0wfdkNSnvnJinhF9830Swlaxl03zsOjCfmX0ugac+3LtK0lYSgwL/KXc8oYL3mG4YFQ==", | ||
| 2054 | + "license": "MIT" | ||
| 2055 | + }, | ||
| 2056 | + "node_modules/throttle-debounce": { | ||
| 2057 | + "version": "5.0.2", | ||
| 2058 | + "resolved": "https://registry.npmmirror.com/throttle-debounce/-/throttle-debounce-5.0.2.tgz", | ||
| 2059 | + "integrity": "sha512-B71/4oyj61iNH0KeCamLuE2rmKuTO5byTOSVwECM5FA7TiAiAW+UqTKZ9ERueC4qvgSttUhdmq1mXC3kJqGX7A==", | ||
| 2060 | + "license": "MIT", | ||
| 2061 | + "engines": { | ||
| 2062 | + "node": ">=12.22" | ||
| 2063 | + } | ||
| 2064 | + }, | ||
| 2065 | + "node_modules/topojson-client": { | ||
| 2066 | + "version": "3.1.0", | ||
| 2067 | + "resolved": "https://registry.npmmirror.com/topojson-client/-/topojson-client-3.1.0.tgz", | ||
| 2068 | + "integrity": "sha512-605uxS6bcYxGXw9qi62XyrV6Q3xwbndjachmNxu8HWTtVPxZfEJN9fd/SZS1Q54Sn2y0TMyMxFj/cJINqGHrKw==", | ||
| 2069 | + "license": "ISC", | ||
| 2070 | + "dependencies": { | ||
| 2071 | + "commander": "2" | ||
| 2072 | + }, | ||
| 2073 | + "bin": { | ||
| 2074 | + "topo2geo": "bin/topo2geo", | ||
| 2075 | + "topomerge": "bin/topomerge", | ||
| 2076 | + "topoquantize": "bin/topoquantize" | ||
| 2077 | + } | ||
| 2078 | + }, | ||
| 2079 | + "node_modules/tslib": { | ||
| 2080 | + "version": "2.8.1", | ||
| 2081 | + "resolved": "https://registry.npmmirror.com/tslib/-/tslib-2.8.1.tgz", | ||
| 2082 | + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", | ||
| 2083 | + "license": "0BSD" | ||
| 2084 | + }, | ||
| 2085 | + "node_modules/typescript": { | ||
| 2086 | + "version": "5.7.3", | ||
| 2087 | + "resolved": "https://registry.npmmirror.com/typescript/-/typescript-5.7.3.tgz", | ||
| 2088 | + "integrity": "sha512-84MVSjMEHP+FQRPy3pX9sTVV/INIex71s9TL2Gm5FG/WG1SqXeKyZ0k7/blY/4FdOzI12CBy1vGc4og/eus0fw==", | ||
| 2089 | + "devOptional": true, | ||
| 2090 | + "license": "Apache-2.0", | ||
| 2091 | + "bin": { | ||
| 2092 | + "tsc": "bin/tsc", | ||
| 2093 | + "tsserver": "bin/tsserver" | ||
| 2094 | + }, | ||
| 2095 | + "engines": { | ||
| 2096 | + "node": ">=14.17" | ||
| 2097 | + } | ||
| 2098 | + }, | ||
| 2099 | + "node_modules/undici-types": { | ||
| 2100 | + "version": "6.20.0", | ||
| 2101 | + "resolved": "https://registry.npmmirror.com/undici-types/-/undici-types-6.20.0.tgz", | ||
| 2102 | + "integrity": "sha512-Ny6QZ2Nju20vw1SRHe3d9jVu6gJ+4e3+MMpqu7pqE5HT6WsTSlce++GQmK5UXS8mzV8DSYHrQH+Xrf2jVcuKNg==", | ||
| 2103 | + "license": "MIT" | ||
| 2104 | + }, | ||
| 2105 | + "node_modules/urijs": { | ||
| 2106 | + "version": "1.19.11", | ||
| 2107 | + "resolved": "https://registry.npmmirror.com/urijs/-/urijs-1.19.11.tgz", | ||
| 2108 | + "integrity": "sha512-HXgFDgDommxn5/bIv0cnQZsPhHDA90NPHD6+c/v21U5+Sx5hoP8+dP9IZXBU1gIfvdRfhG8cel9QNPeionfcCQ==", | ||
| 2109 | + "license": "MIT" | ||
| 2110 | + }, | ||
| 2111 | + "node_modules/vite": { | ||
| 2112 | + "version": "6.2.0", | ||
| 2113 | + "resolved": "https://registry.npmmirror.com/vite/-/vite-6.2.0.tgz", | ||
| 2114 | + "integrity": "sha512-7dPxoo+WsT/64rDcwoOjk76XHj+TqNTIvHKcuMQ1k4/SeHDaQt5GFAeLYzrimZrMpn/O6DtdI03WUjdxuPM0oQ==", | ||
| 2115 | + "dev": true, | ||
| 2116 | + "license": "MIT", | ||
| 2117 | + "dependencies": { | ||
| 2118 | + "esbuild": "^0.25.0", | ||
| 2119 | + "postcss": "^8.5.3", | ||
| 2120 | + "rollup": "^4.30.1" | ||
| 2121 | + }, | ||
| 2122 | + "bin": { | ||
| 2123 | + "vite": "bin/vite.js" | ||
| 2124 | + }, | ||
| 2125 | + "engines": { | ||
| 2126 | + "node": "^18.0.0 || ^20.0.0 || >=22.0.0" | ||
| 2127 | + }, | ||
| 2128 | + "funding": { | ||
| 2129 | + "url": "https://github.com/vitejs/vite?sponsor=1" | ||
| 2130 | + }, | ||
| 2131 | + "optionalDependencies": { | ||
| 2132 | + "fsevents": "~2.3.3" | ||
| 2133 | + }, | ||
| 2134 | + "peerDependencies": { | ||
| 2135 | + "@types/node": "^18.0.0 || ^20.0.0 || >=22.0.0", | ||
| 2136 | + "jiti": ">=1.21.0", | ||
| 2137 | + "less": "*", | ||
| 2138 | + "lightningcss": "^1.21.0", | ||
| 2139 | + "sass": "*", | ||
| 2140 | + "sass-embedded": "*", | ||
| 2141 | + "stylus": "*", | ||
| 2142 | + "sugarss": "*", | ||
| 2143 | + "terser": "^5.16.0", | ||
| 2144 | + "tsx": "^4.8.1", | ||
| 2145 | + "yaml": "^2.4.2" | ||
| 2146 | + }, | ||
| 2147 | + "peerDependenciesMeta": { | ||
| 2148 | + "@types/node": { | ||
| 2149 | + "optional": true | ||
| 2150 | + }, | ||
| 2151 | + "jiti": { | ||
| 2152 | + "optional": true | ||
| 2153 | + }, | ||
| 2154 | + "less": { | ||
| 2155 | + "optional": true | ||
| 2156 | + }, | ||
| 2157 | + "lightningcss": { | ||
| 2158 | + "optional": true | ||
| 2159 | + }, | ||
| 2160 | + "sass": { | ||
| 2161 | + "optional": true | ||
| 2162 | + }, | ||
| 2163 | + "sass-embedded": { | ||
| 2164 | + "optional": true | ||
| 2165 | + }, | ||
| 2166 | + "stylus": { | ||
| 2167 | + "optional": true | ||
| 2168 | + }, | ||
| 2169 | + "sugarss": { | ||
| 2170 | + "optional": true | ||
| 2171 | + }, | ||
| 2172 | + "terser": { | ||
| 2173 | + "optional": true | ||
| 2174 | + }, | ||
| 2175 | + "tsx": { | ||
| 2176 | + "optional": true | ||
| 2177 | + }, | ||
| 2178 | + "yaml": { | ||
| 2179 | + "optional": true | ||
| 2180 | + } | ||
| 2181 | + } | ||
| 2182 | + }, | ||
| 2183 | + "node_modules/vscode-uri": { | ||
| 2184 | + "version": "3.1.0", | ||
| 2185 | + "resolved": "https://registry.npmmirror.com/vscode-uri/-/vscode-uri-3.1.0.tgz", | ||
| 2186 | + "integrity": "sha512-/BpdSx+yCQGnCvecbyXdxHDkuk55/G3xwnC0GqY4gmQ3j+A+g8kzzgB4Nk/SINjqn6+waqw3EgbVF2QKExkRxQ==", | ||
| 2187 | + "dev": true, | ||
| 2188 | + "license": "MIT" | ||
| 2189 | + }, | ||
| 2190 | + "node_modules/vue": { | ||
| 2191 | + "version": "3.5.13", | ||
| 2192 | + "resolved": "https://registry.npmmirror.com/vue/-/vue-3.5.13.tgz", | ||
| 2193 | + "integrity": "sha512-wmeiSMxkZCSc+PM2w2VRsOYAZC8GdipNFRTsLSfodVqI9mbejKeXEGr8SckuLnrQPGe3oJN5c3K0vpoU9q/wCQ==", | ||
| 2194 | + "license": "MIT", | ||
| 2195 | + "dependencies": { | ||
| 2196 | + "@vue/compiler-dom": "3.5.13", | ||
| 2197 | + "@vue/compiler-sfc": "3.5.13", | ||
| 2198 | + "@vue/runtime-dom": "3.5.13", | ||
| 2199 | + "@vue/server-renderer": "3.5.13", | ||
| 2200 | + "@vue/shared": "3.5.13" | ||
| 2201 | + }, | ||
| 2202 | + "peerDependencies": { | ||
| 2203 | + "typescript": "*" | ||
| 2204 | + }, | ||
| 2205 | + "peerDependenciesMeta": { | ||
| 2206 | + "typescript": { | ||
| 2207 | + "optional": true | ||
| 2208 | + } | ||
| 2209 | + } | ||
| 2210 | + }, | ||
| 2211 | + "node_modules/vue-tsc": { | ||
| 2212 | + "version": "2.2.8", | ||
| 2213 | + "resolved": "https://registry.npmmirror.com/vue-tsc/-/vue-tsc-2.2.8.tgz", | ||
| 2214 | + "integrity": "sha512-jBYKBNFADTN+L+MdesNX/TB3XuDSyaWynKMDgR+yCSln0GQ9Tfb7JS2lr46s2LiFUT1WsmfWsSvIElyxzOPqcQ==", | ||
| 2215 | + "dev": true, | ||
| 2216 | + "license": "MIT", | ||
| 2217 | + "dependencies": { | ||
| 2218 | + "@volar/typescript": "~2.4.11", | ||
| 2219 | + "@vue/language-core": "2.2.8" | ||
| 2220 | + }, | ||
| 2221 | + "bin": { | ||
| 2222 | + "vue-tsc": "bin/vue-tsc.js" | ||
| 2223 | + }, | ||
| 2224 | + "peerDependencies": { | ||
| 2225 | + "typescript": ">=5.0.0" | ||
| 2226 | + } | ||
| 2227 | + }, | ||
| 2228 | + "node_modules/vue-types": { | ||
| 2229 | + "version": "3.0.2", | ||
| 2230 | + "resolved": "https://registry.npmmirror.com/vue-types/-/vue-types-3.0.2.tgz", | ||
| 2231 | + "integrity": "sha512-IwUC0Aq2zwaXqy74h4WCvFCUtoV0iSWr0snWnE9TnU18S66GAQyqQbRf2qfJtUuiFsBf6qp0MEwdonlwznlcrw==", | ||
| 2232 | + "license": "MIT", | ||
| 2233 | + "dependencies": { | ||
| 2234 | + "is-plain-object": "3.0.1" | ||
| 2235 | + }, | ||
| 2236 | + "engines": { | ||
| 2237 | + "node": ">=10.15.0" | ||
| 2238 | + }, | ||
| 2239 | + "peerDependencies": { | ||
| 2240 | + "vue": "^3.0.0" | ||
| 2241 | + } | ||
| 2242 | + }, | ||
| 2243 | + "node_modules/warning": { | ||
| 2244 | + "version": "4.0.3", | ||
| 2245 | + "resolved": "https://registry.npmmirror.com/warning/-/warning-4.0.3.tgz", | ||
| 2246 | + "integrity": "sha512-rpJyN222KWIvHJ/F53XSZv0Zl/accqHR8et1kpaMTD/fLCRxtV8iX8czMzY7sVZupTI3zcUTg8eycS2kNF9l6w==", | ||
| 2247 | + "license": "MIT", | ||
| 2248 | + "dependencies": { | ||
| 2249 | + "loose-envify": "^1.0.0" | ||
| 2250 | + } | ||
| 2251 | + } | ||
| 2252 | + } | ||
| 2253 | +} |
package.json
0 → 100644
| 1 | +{ | ||
| 2 | + "name": "web-package", | ||
| 3 | + "private": true, | ||
| 4 | + "version": "0.0.0", | ||
| 5 | + "type": "module", | ||
| 6 | + "scripts": { | ||
| 7 | + "dev": "vite", | ||
| 8 | + "build": "vue-tsc -b && vite build", | ||
| 9 | + "preview": "vite preview" | ||
| 10 | + }, | ||
| 11 | + "dependencies": { | ||
| 12 | + "@ant-design/icons-vue": "^7.0.1", | ||
| 13 | + "@element-plus/icons-vue": "^2.3.1", | ||
| 14 | + "@icon-park/vue-next": "^1.4.2", | ||
| 15 | + "@vitejs/plugin-vue-jsx": "^4.1.1", | ||
| 16 | + "ant-design-vue": "^4.2.6", | ||
| 17 | + "axios": "^1.8.1", | ||
| 18 | + "cesium": "^1.127.0", | ||
| 19 | + "dayjs": "^1.11.13", | ||
| 20 | + "element-plus": "^2.9.6", | ||
| 21 | + "pinia": "^3.0.1", | ||
| 22 | + "vue": "^3.5.13", | ||
| 23 | + "vue-router": "^4.5.0", | ||
| 24 | + "xml-js": "^1.6.11" | ||
| 25 | + }, | ||
| 26 | + "devDependencies": { | ||
| 27 | + "@types/cesium": "^1.67.14", | ||
| 28 | + "@vitejs/plugin-vue": "^5.2.1", | ||
| 29 | + "@vue/tsconfig": "^0.7.0", | ||
| 30 | + "typescript": "~5.7.2", | ||
| 31 | + "vite": "^6.2.0", | ||
| 32 | + "vite-plugin-cesium": "^1.2.23", | ||
| 33 | + "vue-tsc": "^2.2.4" | ||
| 34 | + } | ||
| 35 | +} |
public/air-route/template.kml
0 → 100644
| 1 | +<?xml version="1.0" encoding="UTF-8"?> | ||
| 2 | +<kml xmlns="http://www.opengis.net/kml/2.2" xmlns:wpml="http://www.dji.com/wpmz/1.0.6"> | ||
| 3 | + <Document> | ||
| 4 | + <wpml:author>1364078416@qq.com</wpml:author> | ||
| 5 | + <wpml:createTime>1739075482858</wpml:createTime> | ||
| 6 | + <wpml:updateTime>1739075547467</wpml:updateTime> | ||
| 7 | + <wpml:missionConfig> | ||
| 8 | + <wpml:flyToWaylineMode>safely</wpml:flyToWaylineMode> | ||
| 9 | + <wpml:finishAction>goHome</wpml:finishAction> | ||
| 10 | + <wpml:exitOnRCLost>goContinue</wpml:exitOnRCLost> | ||
| 11 | + <wpml:executeRCLostAction>goBack</wpml:executeRCLostAction> | ||
| 12 | + <wpml:takeOffSecurityHeight>70</wpml:takeOffSecurityHeight> | ||
| 13 | + <wpml:takeOffRefPoint>23.233762,102.812308,233.158754</wpml:takeOffRefPoint> | ||
| 14 | + <wpml:takeOffRefPointAGLHeight>0</wpml:takeOffRefPointAGLHeight> | ||
| 15 | + <wpml:globalTransitionalSpeed>15</wpml:globalTransitionalSpeed> | ||
| 16 | + <wpml:globalRTHHeight>100</wpml:globalRTHHeight> | ||
| 17 | + <wpml:droneInfo> | ||
| 18 | + <wpml:droneEnumValue>67</wpml:droneEnumValue> | ||
| 19 | + <wpml:droneSubEnumValue>1</wpml:droneSubEnumValue> | ||
| 20 | + </wpml:droneInfo> | ||
| 21 | + <wpml:payloadInfo> | ||
| 22 | + <wpml:payloadEnumValue>53</wpml:payloadEnumValue> | ||
| 23 | + <wpml:payloadSubEnumValue>1</wpml:payloadSubEnumValue> | ||
| 24 | + <wpml:payloadPositionIndex>0</wpml:payloadPositionIndex> | ||
| 25 | + </wpml:payloadInfo> | ||
| 26 | + </wpml:missionConfig> | ||
| 27 | + <Folder> | ||
| 28 | + <wpml:templateType>waypoint</wpml:templateType> | ||
| 29 | + <wpml:templateId>0</wpml:templateId> | ||
| 30 | + <wpml:waylineCoordinateSysParam> | ||
| 31 | + <wpml:coordinateMode>WGS84</wpml:coordinateMode> | ||
| 32 | + <wpml:heightMode>relativeToStartPoint</wpml:heightMode> | ||
| 33 | + </wpml:waylineCoordinateSysParam> | ||
| 34 | + <wpml:autoFlightSpeed>10</wpml:autoFlightSpeed> | ||
| 35 | + <wpml:globalHeight>67.199632961</wpml:globalHeight> | ||
| 36 | + <wpml:caliFlightEnable>0</wpml:caliFlightEnable> | ||
| 37 | + <wpml:gimbalPitchMode>manual</wpml:gimbalPitchMode> | ||
| 38 | + <wpml:globalWaypointHeadingParam> | ||
| 39 | + <wpml:waypointHeadingMode>followWayline</wpml:waypointHeadingMode> | ||
| 40 | + <wpml:waypointHeadingAngle>0</wpml:waypointHeadingAngle> | ||
| 41 | + <wpml:waypointPoiPoint>0.000000,0.000000,0.000000</wpml:waypointPoiPoint> | ||
| 42 | + <wpml:waypointHeadingPathMode>followBadArc</wpml:waypointHeadingPathMode> | ||
| 43 | + <wpml:waypointHeadingPoiIndex>0</wpml:waypointHeadingPoiIndex> | ||
| 44 | + </wpml:globalWaypointHeadingParam> | ||
| 45 | + <wpml:globalWaypointTurnMode>toPointAndStopWithDiscontinuityCurvature</wpml:globalWaypointTurnMode> | ||
| 46 | + <wpml:globalUseStraightLine>1</wpml:globalUseStraightLine> | ||
| 47 | + <Placemark> | ||
| 48 | + <Point> | ||
| 49 | + <coordinates> | ||
| 50 | + 102.814068783866,23.2359655022029 | ||
| 51 | + </coordinates> | ||
| 52 | + </Point> | ||
| 53 | + <wpml:index>0</wpml:index> | ||
| 54 | + <wpml:ellipsoidHeight>67.199632961</wpml:ellipsoidHeight> | ||
| 55 | + <wpml:height>67.199632961</wpml:height> | ||
| 56 | + <wpml:waypointSpeed>10</wpml:waypointSpeed> | ||
| 57 | + <wpml:waypointHeadingParam> | ||
| 58 | + <wpml:waypointHeadingMode>followWayline</wpml:waypointHeadingMode> | ||
| 59 | + <wpml:waypointHeadingAngle>0</wpml:waypointHeadingAngle> | ||
| 60 | + <wpml:waypointPoiPoint>0.000000,0.000000,0.000000</wpml:waypointPoiPoint> | ||
| 61 | + <wpml:waypointHeadingPathMode>followBadArc</wpml:waypointHeadingPathMode> | ||
| 62 | + <wpml:waypointHeadingPoiIndex>0</wpml:waypointHeadingPoiIndex> | ||
| 63 | + </wpml:waypointHeadingParam> | ||
| 64 | + <wpml:waypointTurnParam> | ||
| 65 | + <wpml:waypointTurnMode>toPointAndStopWithDiscontinuityCurvature</wpml:waypointTurnMode> | ||
| 66 | + <wpml:waypointTurnDampingDist>0.2</wpml:waypointTurnDampingDist> | ||
| 67 | + </wpml:waypointTurnParam> | ||
| 68 | + <wpml:useGlobalHeight>1</wpml:useGlobalHeight> | ||
| 69 | + <wpml:useGlobalSpeed>1</wpml:useGlobalSpeed> | ||
| 70 | + <wpml:useGlobalHeadingParam>1</wpml:useGlobalHeadingParam> | ||
| 71 | + <wpml:useGlobalTurnParam>1</wpml:useGlobalTurnParam> | ||
| 72 | + <wpml:useStraightLine>1</wpml:useStraightLine> | ||
| 73 | + <wpml:actionGroup> | ||
| 74 | + <wpml:actionGroupId>0</wpml:actionGroupId> | ||
| 75 | + <wpml:actionGroupStartIndex>0</wpml:actionGroupStartIndex> | ||
| 76 | + <wpml:actionGroupEndIndex>0</wpml:actionGroupEndIndex> | ||
| 77 | + <wpml:actionGroupMode>sequence</wpml:actionGroupMode> | ||
| 78 | + <wpml:actionTrigger> | ||
| 79 | + <wpml:actionTriggerType>reachPoint</wpml:actionTriggerType> | ||
| 80 | + </wpml:actionTrigger> | ||
| 81 | + <wpml:action> | ||
| 82 | + <wpml:actionId>0</wpml:actionId> | ||
| 83 | + <wpml:actionActuatorFunc>orientedShoot</wpml:actionActuatorFunc> | ||
| 84 | + <wpml:actionActuatorFuncParam> | ||
| 85 | + <wpml:gimbalPitchRotateAngle>-56.05</wpml:gimbalPitchRotateAngle> | ||
| 86 | + <wpml:gimbalRollRotateAngle>0</wpml:gimbalRollRotateAngle> | ||
| 87 | + <wpml:gimbalYawRotateAngle>-51.148</wpml:gimbalYawRotateAngle> | ||
| 88 | + <wpml:focusX>0</wpml:focusX> | ||
| 89 | + <wpml:focusY>0</wpml:focusY> | ||
| 90 | + <wpml:focusRegionWidth>0</wpml:focusRegionWidth> | ||
| 91 | + <wpml:focusRegionHeight>0</wpml:focusRegionHeight> | ||
| 92 | + <wpml:focalLength>216</wpml:focalLength> | ||
| 93 | + <wpml:aircraftHeading>-51.148</wpml:aircraftHeading> | ||
| 94 | + <wpml:accurateFrameValid>0</wpml:accurateFrameValid> | ||
| 95 | + <wpml:payloadPositionIndex>0</wpml:payloadPositionIndex> | ||
| 96 | + <wpml:useGlobalPayloadLensIndex>1</wpml:useGlobalPayloadLensIndex> | ||
| 97 | + <wpml:targetAngle>0</wpml:targetAngle> | ||
| 98 | + <wpml:actionUUID>a2f692e0-420b-4868-8693-3062d2aaf1ab</wpml:actionUUID> | ||
| 99 | + <wpml:imageWidth>0</wpml:imageWidth> | ||
| 100 | + <wpml:imageHeight>0</wpml:imageHeight> | ||
| 101 | + <wpml:AFPos>0</wpml:AFPos> | ||
| 102 | + <wpml:gimbalPort>0</wpml:gimbalPort> | ||
| 103 | + <wpml:orientedCameraType>53</wpml:orientedCameraType> | ||
| 104 | + <wpml:orientedFilePath>4bbe6c02-18b5-481d-a957-610240ff955c</wpml:orientedFilePath> | ||
| 105 | + <wpml:orientedFileMD5/> | ||
| 106 | + <wpml:orientedFileSize>0</wpml:orientedFileSize> | ||
| 107 | + <wpml:orientedPhotoMode>normalPhoto</wpml:orientedPhotoMode> | ||
| 108 | + </wpml:actionActuatorFuncParam> | ||
| 109 | + </wpml:action> | ||
| 110 | + </wpml:actionGroup> | ||
| 111 | + <wpml:isRisky>0</wpml:isRisky> | ||
| 112 | + </Placemark> | ||
| 113 | + <Placemark> | ||
| 114 | + <Point> | ||
| 115 | + <coordinates> | ||
| 116 | + 102.813728813702,23.2361906183568 | ||
| 117 | + </coordinates> | ||
| 118 | + </Point> | ||
| 119 | + <wpml:index>1</wpml:index> | ||
| 120 | + <wpml:ellipsoidHeight>67.199632961</wpml:ellipsoidHeight> | ||
| 121 | + <wpml:height>67.199632961</wpml:height> | ||
| 122 | + <wpml:waypointSpeed>10</wpml:waypointSpeed> | ||
| 123 | + <wpml:waypointHeadingParam> | ||
| 124 | + <wpml:waypointHeadingMode>followWayline</wpml:waypointHeadingMode> | ||
| 125 | + <wpml:waypointHeadingAngle>0</wpml:waypointHeadingAngle> | ||
| 126 | + <wpml:waypointPoiPoint>0.000000,0.000000,0.000000</wpml:waypointPoiPoint> | ||
| 127 | + <wpml:waypointHeadingPathMode>followBadArc</wpml:waypointHeadingPathMode> | ||
| 128 | + <wpml:waypointHeadingPoiIndex>0</wpml:waypointHeadingPoiIndex> | ||
| 129 | + </wpml:waypointHeadingParam> | ||
| 130 | + <wpml:waypointTurnParam> | ||
| 131 | + <wpml:waypointTurnMode>toPointAndStopWithDiscontinuityCurvature</wpml:waypointTurnMode> | ||
| 132 | + <wpml:waypointTurnDampingDist>0.2</wpml:waypointTurnDampingDist> | ||
| 133 | + </wpml:waypointTurnParam> | ||
| 134 | + <wpml:useGlobalHeight>1</wpml:useGlobalHeight> | ||
| 135 | + <wpml:useGlobalSpeed>1</wpml:useGlobalSpeed> | ||
| 136 | + <wpml:useGlobalHeadingParam>1</wpml:useGlobalHeadingParam> | ||
| 137 | + <wpml:useGlobalTurnParam>1</wpml:useGlobalTurnParam> | ||
| 138 | + <wpml:useStraightLine>1</wpml:useStraightLine> | ||
| 139 | + <wpml:actionGroup> | ||
| 140 | + <wpml:actionGroupId>1</wpml:actionGroupId> | ||
| 141 | + <wpml:actionGroupStartIndex>1</wpml:actionGroupStartIndex> | ||
| 142 | + <wpml:actionGroupEndIndex>1</wpml:actionGroupEndIndex> | ||
| 143 | + <wpml:actionGroupMode>sequence</wpml:actionGroupMode> | ||
| 144 | + <wpml:actionTrigger> | ||
| 145 | + <wpml:actionTriggerType>reachPoint</wpml:actionTriggerType> | ||
| 146 | + </wpml:actionTrigger> | ||
| 147 | + <wpml:action> | ||
| 148 | + <wpml:actionId>0</wpml:actionId> | ||
| 149 | + <wpml:actionActuatorFunc>orientedShoot</wpml:actionActuatorFunc> | ||
| 150 | + <wpml:actionActuatorFuncParam> | ||
| 151 | + <wpml:gimbalPitchRotateAngle>-56.05</wpml:gimbalPitchRotateAngle> | ||
| 152 | + <wpml:gimbalRollRotateAngle>0</wpml:gimbalRollRotateAngle> | ||
| 153 | + <wpml:gimbalYawRotateAngle>-37.265</wpml:gimbalYawRotateAngle> | ||
| 154 | + <wpml:focusX>0</wpml:focusX> | ||
| 155 | + <wpml:focusY>0</wpml:focusY> | ||
| 156 | + <wpml:focusRegionWidth>0</wpml:focusRegionWidth> | ||
| 157 | + <wpml:focusRegionHeight>0</wpml:focusRegionHeight> | ||
| 158 | + <wpml:focalLength>216</wpml:focalLength> | ||
| 159 | + <wpml:aircraftHeading>-37.265</wpml:aircraftHeading> | ||
| 160 | + <wpml:accurateFrameValid>0</wpml:accurateFrameValid> | ||
| 161 | + <wpml:payloadPositionIndex>0</wpml:payloadPositionIndex> | ||
| 162 | + <wpml:useGlobalPayloadLensIndex>1</wpml:useGlobalPayloadLensIndex> | ||
| 163 | + <wpml:targetAngle>0</wpml:targetAngle> | ||
| 164 | + <wpml:actionUUID>e34fd1b6-c2f8-4eb7-a7e9-210047029c6b</wpml:actionUUID> | ||
| 165 | + <wpml:imageWidth>0</wpml:imageWidth> | ||
| 166 | + <wpml:imageHeight>0</wpml:imageHeight> | ||
| 167 | + <wpml:AFPos>0</wpml:AFPos> | ||
| 168 | + <wpml:gimbalPort>0</wpml:gimbalPort> | ||
| 169 | + <wpml:orientedCameraType>53</wpml:orientedCameraType> | ||
| 170 | + <wpml:orientedFilePath>2ec97c52-0ca8-4e17-90e9-d50ac3e3dbd9</wpml:orientedFilePath> | ||
| 171 | + <wpml:orientedFileMD5/> | ||
| 172 | + <wpml:orientedFileSize>0</wpml:orientedFileSize> | ||
| 173 | + <wpml:orientedPhotoMode>normalPhoto</wpml:orientedPhotoMode> | ||
| 174 | + </wpml:actionActuatorFuncParam> | ||
| 175 | + </wpml:action> | ||
| 176 | + </wpml:actionGroup> | ||
| 177 | + <wpml:isRisky>0</wpml:isRisky> | ||
| 178 | + </Placemark> | ||
| 179 | + <Placemark> | ||
| 180 | + <Point> | ||
| 181 | + <coordinates> | ||
| 182 | + 102.8136078157,23.2364742507511 | ||
| 183 | + </coordinates> | ||
| 184 | + </Point> | ||
| 185 | + <wpml:index>2</wpml:index> | ||
| 186 | + <wpml:ellipsoidHeight>67.199632961</wpml:ellipsoidHeight> | ||
| 187 | + <wpml:height>67.199632961</wpml:height> | ||
| 188 | + <wpml:waypointSpeed>10</wpml:waypointSpeed> | ||
| 189 | + <wpml:waypointHeadingParam> | ||
| 190 | + <wpml:waypointHeadingMode>followWayline</wpml:waypointHeadingMode> | ||
| 191 | + <wpml:waypointHeadingAngle>0</wpml:waypointHeadingAngle> | ||
| 192 | + <wpml:waypointPoiPoint>0.000000,0.000000,0.000000</wpml:waypointPoiPoint> | ||
| 193 | + <wpml:waypointHeadingPathMode>followBadArc</wpml:waypointHeadingPathMode> | ||
| 194 | + <wpml:waypointHeadingPoiIndex>0</wpml:waypointHeadingPoiIndex> | ||
| 195 | + </wpml:waypointHeadingParam> | ||
| 196 | + <wpml:waypointTurnParam> | ||
| 197 | + <wpml:waypointTurnMode>toPointAndStopWithDiscontinuityCurvature</wpml:waypointTurnMode> | ||
| 198 | + <wpml:waypointTurnDampingDist>0.2</wpml:waypointTurnDampingDist> | ||
| 199 | + </wpml:waypointTurnParam> | ||
| 200 | + <wpml:useGlobalHeight>1</wpml:useGlobalHeight> | ||
| 201 | + <wpml:useGlobalSpeed>1</wpml:useGlobalSpeed> | ||
| 202 | + <wpml:useGlobalHeadingParam>1</wpml:useGlobalHeadingParam> | ||
| 203 | + <wpml:useGlobalTurnParam>1</wpml:useGlobalTurnParam> | ||
| 204 | + <wpml:useStraightLine>1</wpml:useStraightLine> | ||
| 205 | + <wpml:actionGroup> | ||
| 206 | + <wpml:actionGroupId>2</wpml:actionGroupId> | ||
| 207 | + <wpml:actionGroupStartIndex>2</wpml:actionGroupStartIndex> | ||
| 208 | + <wpml:actionGroupEndIndex>2</wpml:actionGroupEndIndex> | ||
| 209 | + <wpml:actionGroupMode>sequence</wpml:actionGroupMode> | ||
| 210 | + <wpml:actionTrigger> | ||
| 211 | + <wpml:actionTriggerType>reachPoint</wpml:actionTriggerType> | ||
| 212 | + </wpml:actionTrigger> | ||
| 213 | + <wpml:action> | ||
| 214 | + <wpml:actionId>0</wpml:actionId> | ||
| 215 | + <wpml:actionActuatorFunc>orientedShoot</wpml:actionActuatorFunc> | ||
| 216 | + <wpml:actionActuatorFuncParam> | ||
| 217 | + <wpml:gimbalPitchRotateAngle>-56.05</wpml:gimbalPitchRotateAngle> | ||
| 218 | + <wpml:gimbalRollRotateAngle>0</wpml:gimbalRollRotateAngle> | ||
| 219 | + <wpml:gimbalYawRotateAngle>-37.265</wpml:gimbalYawRotateAngle> | ||
| 220 | + <wpml:focusX>0</wpml:focusX> | ||
| 221 | + <wpml:focusY>0</wpml:focusY> | ||
| 222 | + <wpml:focusRegionWidth>0</wpml:focusRegionWidth> | ||
| 223 | + <wpml:focusRegionHeight>0</wpml:focusRegionHeight> | ||
| 224 | + <wpml:focalLength>216</wpml:focalLength> | ||
| 225 | + <wpml:aircraftHeading>-37.265</wpml:aircraftHeading> | ||
| 226 | + <wpml:accurateFrameValid>0</wpml:accurateFrameValid> | ||
| 227 | + <wpml:payloadPositionIndex>0</wpml:payloadPositionIndex> | ||
| 228 | + <wpml:useGlobalPayloadLensIndex>1</wpml:useGlobalPayloadLensIndex> | ||
| 229 | + <wpml:targetAngle>0</wpml:targetAngle> | ||
| 230 | + <wpml:actionUUID>c5b670bc-7e02-4ee3-a7de-d3bfb1743847</wpml:actionUUID> | ||
| 231 | + <wpml:imageWidth>0</wpml:imageWidth> | ||
| 232 | + <wpml:imageHeight>0</wpml:imageHeight> | ||
| 233 | + <wpml:AFPos>0</wpml:AFPos> | ||
| 234 | + <wpml:gimbalPort>0</wpml:gimbalPort> | ||
| 235 | + <wpml:orientedCameraType>53</wpml:orientedCameraType> | ||
| 236 | + <wpml:orientedFilePath>2b63ee8a-751a-4370-ab6d-a6625640851c</wpml:orientedFilePath> | ||
| 237 | + <wpml:orientedFileMD5/> | ||
| 238 | + <wpml:orientedFileSize>0</wpml:orientedFileSize> | ||
| 239 | + <wpml:orientedPhotoMode>normalPhoto</wpml:orientedPhotoMode> | ||
| 240 | + </wpml:actionActuatorFuncParam> | ||
| 241 | + </wpml:action> | ||
| 242 | + </wpml:actionGroup> | ||
| 243 | + <wpml:isRisky>0</wpml:isRisky> | ||
| 244 | + </Placemark> | ||
| 245 | + <Placemark> | ||
| 246 | + <Point> | ||
| 247 | + <coordinates> | ||
| 248 | + 102.813597685565,23.2363064208282 | ||
| 249 | + </coordinates> | ||
| 250 | + </Point> | ||
| 251 | + <wpml:index>3</wpml:index> | ||
| 252 | + <wpml:ellipsoidHeight>67.199632961</wpml:ellipsoidHeight> | ||
| 253 | + <wpml:height>67.199632961</wpml:height> | ||
| 254 | + <wpml:waypointSpeed>10</wpml:waypointSpeed> | ||
| 255 | + <wpml:waypointHeadingParam> | ||
| 256 | + <wpml:waypointHeadingMode>followWayline</wpml:waypointHeadingMode> | ||
| 257 | + <wpml:waypointHeadingAngle>0</wpml:waypointHeadingAngle> | ||
| 258 | + <wpml:waypointPoiPoint>0.000000,0.000000,0.000000</wpml:waypointPoiPoint> | ||
| 259 | + <wpml:waypointHeadingPathMode>followBadArc</wpml:waypointHeadingPathMode> | ||
| 260 | + <wpml:waypointHeadingPoiIndex>0</wpml:waypointHeadingPoiIndex> | ||
| 261 | + </wpml:waypointHeadingParam> | ||
| 262 | + <wpml:waypointTurnParam> | ||
| 263 | + <wpml:waypointTurnMode>toPointAndStopWithDiscontinuityCurvature</wpml:waypointTurnMode> | ||
| 264 | + <wpml:waypointTurnDampingDist>0.2</wpml:waypointTurnDampingDist> | ||
| 265 | + </wpml:waypointTurnParam> | ||
| 266 | + <wpml:useGlobalHeight>1</wpml:useGlobalHeight> | ||
| 267 | + <wpml:useGlobalSpeed>1</wpml:useGlobalSpeed> | ||
| 268 | + <wpml:useGlobalHeadingParam>1</wpml:useGlobalHeadingParam> | ||
| 269 | + <wpml:useGlobalTurnParam>1</wpml:useGlobalTurnParam> | ||
| 270 | + <wpml:useStraightLine>1</wpml:useStraightLine> | ||
| 271 | + <wpml:actionGroup> | ||
| 272 | + <wpml:actionGroupId>3</wpml:actionGroupId> | ||
| 273 | + <wpml:actionGroupStartIndex>3</wpml:actionGroupStartIndex> | ||
| 274 | + <wpml:actionGroupEndIndex>3</wpml:actionGroupEndIndex> | ||
| 275 | + <wpml:actionGroupMode>sequence</wpml:actionGroupMode> | ||
| 276 | + <wpml:actionTrigger> | ||
| 277 | + <wpml:actionTriggerType>reachPoint</wpml:actionTriggerType> | ||
| 278 | + </wpml:actionTrigger> | ||
| 279 | + <wpml:action> | ||
| 280 | + <wpml:actionId>0</wpml:actionId> | ||
| 281 | + <wpml:actionActuatorFunc>orientedShoot</wpml:actionActuatorFunc> | ||
| 282 | + <wpml:actionActuatorFuncParam> | ||
| 283 | + <wpml:gimbalPitchRotateAngle>-41.107</wpml:gimbalPitchRotateAngle> | ||
| 284 | + <wpml:gimbalRollRotateAngle>0</wpml:gimbalRollRotateAngle> | ||
| 285 | + <wpml:gimbalYawRotateAngle>-38.933</wpml:gimbalYawRotateAngle> | ||
| 286 | + <wpml:focusX>0</wpml:focusX> | ||
| 287 | + <wpml:focusY>0</wpml:focusY> | ||
| 288 | + <wpml:focusRegionWidth>0</wpml:focusRegionWidth> | ||
| 289 | + <wpml:focusRegionHeight>0</wpml:focusRegionHeight> | ||
| 290 | + <wpml:focalLength>384</wpml:focalLength> | ||
| 291 | + <wpml:aircraftHeading>-38.933</wpml:aircraftHeading> | ||
| 292 | + <wpml:accurateFrameValid>0</wpml:accurateFrameValid> | ||
| 293 | + <wpml:payloadPositionIndex>0</wpml:payloadPositionIndex> | ||
| 294 | + <wpml:useGlobalPayloadLensIndex>1</wpml:useGlobalPayloadLensIndex> | ||
| 295 | + <wpml:targetAngle>0</wpml:targetAngle> | ||
| 296 | + <wpml:actionUUID>77078303-bffc-4565-81d3-763b2d105e06</wpml:actionUUID> | ||
| 297 | + <wpml:imageWidth>0</wpml:imageWidth> | ||
| 298 | + <wpml:imageHeight>0</wpml:imageHeight> | ||
| 299 | + <wpml:AFPos>0</wpml:AFPos> | ||
| 300 | + <wpml:gimbalPort>0</wpml:gimbalPort> | ||
| 301 | + <wpml:orientedCameraType>53</wpml:orientedCameraType> | ||
| 302 | + <wpml:orientedFilePath>aa00b71e-339c-4b38-9486-2fea43711004</wpml:orientedFilePath> | ||
| 303 | + <wpml:orientedFileMD5/> | ||
| 304 | + <wpml:orientedFileSize>0</wpml:orientedFileSize> | ||
| 305 | + <wpml:orientedPhotoMode>normalPhoto</wpml:orientedPhotoMode> | ||
| 306 | + </wpml:actionActuatorFuncParam> | ||
| 307 | + </wpml:action> | ||
| 308 | + <wpml:action> | ||
| 309 | + <wpml:actionId>1</wpml:actionId> | ||
| 310 | + <wpml:actionActuatorFunc>orientedShoot</wpml:actionActuatorFunc> | ||
| 311 | + <wpml:actionActuatorFuncParam> | ||
| 312 | + <wpml:gimbalPitchRotateAngle>-40.068</wpml:gimbalPitchRotateAngle> | ||
| 313 | + <wpml:gimbalRollRotateAngle>0</wpml:gimbalRollRotateAngle> | ||
| 314 | + <wpml:gimbalYawRotateAngle>-25.848</wpml:gimbalYawRotateAngle> | ||
| 315 | + <wpml:focusX>0</wpml:focusX> | ||
| 316 | + <wpml:focusY>0</wpml:focusY> | ||
| 317 | + <wpml:focusRegionWidth>0</wpml:focusRegionWidth> | ||
| 318 | + <wpml:focusRegionHeight>0</wpml:focusRegionHeight> | ||
| 319 | + <wpml:focalLength>192</wpml:focalLength> | ||
| 320 | + <wpml:aircraftHeading>-25.848</wpml:aircraftHeading> | ||
| 321 | + <wpml:accurateFrameValid>0</wpml:accurateFrameValid> | ||
| 322 | + <wpml:payloadPositionIndex>0</wpml:payloadPositionIndex> | ||
| 323 | + <wpml:useGlobalPayloadLensIndex>1</wpml:useGlobalPayloadLensIndex> | ||
| 324 | + <wpml:targetAngle>0</wpml:targetAngle> | ||
| 325 | + <wpml:actionUUID>2902f57f-778f-4aed-bfdc-0aa52c65a88a</wpml:actionUUID> | ||
| 326 | + <wpml:imageWidth>0</wpml:imageWidth> | ||
| 327 | + <wpml:imageHeight>0</wpml:imageHeight> | ||
| 328 | + <wpml:AFPos>0</wpml:AFPos> | ||
| 329 | + <wpml:gimbalPort>0</wpml:gimbalPort> | ||
| 330 | + <wpml:orientedCameraType>53</wpml:orientedCameraType> | ||
| 331 | + <wpml:orientedFilePath>519c9fa4-d6c8-4108-80f7-27ed0dfdffd9</wpml:orientedFilePath> | ||
| 332 | + <wpml:orientedFileMD5/> | ||
| 333 | + <wpml:orientedFileSize>0</wpml:orientedFileSize> | ||
| 334 | + <wpml:orientedPhotoMode>normalPhoto</wpml:orientedPhotoMode> | ||
| 335 | + </wpml:actionActuatorFuncParam> | ||
| 336 | + </wpml:action> | ||
| 337 | + <wpml:action> | ||
| 338 | + <wpml:actionId>2</wpml:actionId> | ||
| 339 | + <wpml:actionActuatorFunc>orientedShoot</wpml:actionActuatorFunc> | ||
| 340 | + <wpml:actionActuatorFuncParam> | ||
| 341 | + <wpml:gimbalPitchRotateAngle>-30.922</wpml:gimbalPitchRotateAngle> | ||
| 342 | + <wpml:gimbalRollRotateAngle>0</wpml:gimbalRollRotateAngle> | ||
| 343 | + <wpml:gimbalYawRotateAngle>-32.302</wpml:gimbalYawRotateAngle> | ||
| 344 | + <wpml:focusX>0</wpml:focusX> | ||
| 345 | + <wpml:focusY>0</wpml:focusY> | ||
| 346 | + <wpml:focusRegionWidth>0</wpml:focusRegionWidth> | ||
| 347 | + <wpml:focusRegionHeight>0</wpml:focusRegionHeight> | ||
| 348 | + <wpml:focalLength>672</wpml:focalLength> | ||
| 349 | + <wpml:aircraftHeading>-32.302</wpml:aircraftHeading> | ||
| 350 | + <wpml:accurateFrameValid>0</wpml:accurateFrameValid> | ||
| 351 | + <wpml:payloadPositionIndex>0</wpml:payloadPositionIndex> | ||
| 352 | + <wpml:useGlobalPayloadLensIndex>1</wpml:useGlobalPayloadLensIndex> | ||
| 353 | + <wpml:targetAngle>0</wpml:targetAngle> | ||
| 354 | + <wpml:actionUUID>5325086b-6bb6-49de-8b4f-6024cf8663e7</wpml:actionUUID> | ||
| 355 | + <wpml:imageWidth>0</wpml:imageWidth> | ||
| 356 | + <wpml:imageHeight>0</wpml:imageHeight> | ||
| 357 | + <wpml:AFPos>0</wpml:AFPos> | ||
| 358 | + <wpml:gimbalPort>0</wpml:gimbalPort> | ||
| 359 | + <wpml:orientedCameraType>53</wpml:orientedCameraType> | ||
| 360 | + <wpml:orientedFilePath>b02a1705-aa5f-4d45-bb16-1a0196dc9e7a</wpml:orientedFilePath> | ||
| 361 | + <wpml:orientedFileMD5/> | ||
| 362 | + <wpml:orientedFileSize>0</wpml:orientedFileSize> | ||
| 363 | + <wpml:orientedPhotoMode>normalPhoto</wpml:orientedPhotoMode> | ||
| 364 | + </wpml:actionActuatorFuncParam> | ||
| 365 | + </wpml:action> | ||
| 366 | + <wpml:action> | ||
| 367 | + <wpml:actionId>3</wpml:actionId> | ||
| 368 | + <wpml:actionActuatorFunc>orientedShoot</wpml:actionActuatorFunc> | ||
| 369 | + <wpml:actionActuatorFuncParam> | ||
| 370 | + <wpml:gimbalPitchRotateAngle>-31.066</wpml:gimbalPitchRotateAngle> | ||
| 371 | + <wpml:gimbalRollRotateAngle>0</wpml:gimbalRollRotateAngle> | ||
| 372 | + <wpml:gimbalYawRotateAngle>-23.091</wpml:gimbalYawRotateAngle> | ||
| 373 | + <wpml:focusX>0</wpml:focusX> | ||
| 374 | + <wpml:focusY>0</wpml:focusY> | ||
| 375 | + <wpml:focusRegionWidth>0</wpml:focusRegionWidth> | ||
| 376 | + <wpml:focusRegionHeight>0</wpml:focusRegionHeight> | ||
| 377 | + <wpml:focalLength>672</wpml:focalLength> | ||
| 378 | + <wpml:aircraftHeading>-23.091</wpml:aircraftHeading> | ||
| 379 | + <wpml:accurateFrameValid>0</wpml:accurateFrameValid> | ||
| 380 | + <wpml:payloadPositionIndex>0</wpml:payloadPositionIndex> | ||
| 381 | + <wpml:useGlobalPayloadLensIndex>1</wpml:useGlobalPayloadLensIndex> | ||
| 382 | + <wpml:targetAngle>0</wpml:targetAngle> | ||
| 383 | + <wpml:actionUUID>7807e00d-eef9-40f7-b500-fa97f77a6b8b</wpml:actionUUID> | ||
| 384 | + <wpml:imageWidth>0</wpml:imageWidth> | ||
| 385 | + <wpml:imageHeight>0</wpml:imageHeight> | ||
| 386 | + <wpml:AFPos>0</wpml:AFPos> | ||
| 387 | + <wpml:gimbalPort>0</wpml:gimbalPort> | ||
| 388 | + <wpml:orientedCameraType>53</wpml:orientedCameraType> | ||
| 389 | + <wpml:orientedFilePath>eb74a2e8-5b9b-49c7-9d07-e1be206d05f2</wpml:orientedFilePath> | ||
| 390 | + <wpml:orientedFileMD5/> | ||
| 391 | + <wpml:orientedFileSize>0</wpml:orientedFileSize> | ||
| 392 | + <wpml:orientedPhotoMode>normalPhoto</wpml:orientedPhotoMode> | ||
| 393 | + </wpml:actionActuatorFuncParam> | ||
| 394 | + </wpml:action> | ||
| 395 | + <wpml:action> | ||
| 396 | + <wpml:actionId>4</wpml:actionId> | ||
| 397 | + <wpml:actionActuatorFunc>orientedShoot</wpml:actionActuatorFunc> | ||
| 398 | + <wpml:actionActuatorFuncParam> | ||
| 399 | + <wpml:gimbalPitchRotateAngle>-31.066</wpml:gimbalPitchRotateAngle> | ||
| 400 | + <wpml:gimbalRollRotateAngle>0</wpml:gimbalRollRotateAngle> | ||
| 401 | + <wpml:gimbalYawRotateAngle>-23.091</wpml:gimbalYawRotateAngle> | ||
| 402 | + <wpml:focusX>0</wpml:focusX> | ||
| 403 | + <wpml:focusY>0</wpml:focusY> | ||
| 404 | + <wpml:focusRegionWidth>0</wpml:focusRegionWidth> | ||
| 405 | + <wpml:focusRegionHeight>0</wpml:focusRegionHeight> | ||
| 406 | + <wpml:focalLength>384</wpml:focalLength> | ||
| 407 | + <wpml:aircraftHeading>-23.091</wpml:aircraftHeading> | ||
| 408 | + <wpml:accurateFrameValid>0</wpml:accurateFrameValid> | ||
| 409 | + <wpml:payloadPositionIndex>0</wpml:payloadPositionIndex> | ||
| 410 | + <wpml:useGlobalPayloadLensIndex>1</wpml:useGlobalPayloadLensIndex> | ||
| 411 | + <wpml:targetAngle>0</wpml:targetAngle> | ||
| 412 | + <wpml:actionUUID>ec0f9dbf-7b94-482c-93a1-2692f865bd91</wpml:actionUUID> | ||
| 413 | + <wpml:imageWidth>0</wpml:imageWidth> | ||
| 414 | + <wpml:imageHeight>0</wpml:imageHeight> | ||
| 415 | + <wpml:AFPos>0</wpml:AFPos> | ||
| 416 | + <wpml:gimbalPort>0</wpml:gimbalPort> | ||
| 417 | + <wpml:orientedCameraType>53</wpml:orientedCameraType> | ||
| 418 | + <wpml:orientedFilePath>32025061-f405-4f1e-9c2c-e8979dfd07d2</wpml:orientedFilePath> | ||
| 419 | + <wpml:orientedFileMD5/> | ||
| 420 | + <wpml:orientedFileSize>0</wpml:orientedFileSize> | ||
| 421 | + <wpml:orientedPhotoMode>normalPhoto</wpml:orientedPhotoMode> | ||
| 422 | + </wpml:actionActuatorFuncParam> | ||
| 423 | + </wpml:action> | ||
| 424 | + </wpml:actionGroup> | ||
| 425 | + <wpml:isRisky>0</wpml:isRisky> | ||
| 426 | + </Placemark> | ||
| 427 | + <wpml:payloadParam> | ||
| 428 | + <wpml:payloadPositionIndex>0</wpml:payloadPositionIndex> | ||
| 429 | + <wpml:focusMode>firstPoint</wpml:focusMode> | ||
| 430 | + <wpml:meteringMode>average</wpml:meteringMode> | ||
| 431 | + <wpml:returnMode>singleReturnFirst</wpml:returnMode> | ||
| 432 | + <wpml:samplingRate>240000</wpml:samplingRate> | ||
| 433 | + <wpml:scanningMode>repetitive</wpml:scanningMode> | ||
| 434 | + <wpml:imageFormat>zoom</wpml:imageFormat> | ||
| 435 | + </wpml:payloadParam> | ||
| 436 | + </Folder> | ||
| 437 | + </Document> | ||
| 438 | +</kml> |
public/air-route/waylines.wpml
0 → 100644
| 1 | +<?xml version="1.0" encoding="UTF-8"?> | ||
| 2 | +<kml xmlns="http://www.opengis.net/kml/2.2" xmlns:wpml="http://www.dji.com/wpmz/1.0.6"> | ||
| 3 | + <Document> | ||
| 4 | + <wpml:missionConfig> | ||
| 5 | + <wpml:flyToWaylineMode>safely</wpml:flyToWaylineMode> | ||
| 6 | + <wpml:finishAction>goHome</wpml:finishAction> | ||
| 7 | + <wpml:exitOnRCLost>goContinue</wpml:exitOnRCLost> | ||
| 8 | + <wpml:executeRCLostAction>goBack</wpml:executeRCLostAction> | ||
| 9 | + <wpml:takeOffSecurityHeight>70</wpml:takeOffSecurityHeight> | ||
| 10 | + <wpml:globalTransitionalSpeed>15</wpml:globalTransitionalSpeed> | ||
| 11 | + <wpml:globalRTHHeight>100</wpml:globalRTHHeight> | ||
| 12 | + <wpml:droneInfo> | ||
| 13 | + <wpml:droneEnumValue>67</wpml:droneEnumValue> | ||
| 14 | + <wpml:droneSubEnumValue>1</wpml:droneSubEnumValue> | ||
| 15 | + </wpml:droneInfo> | ||
| 16 | + <wpml:payloadInfo> | ||
| 17 | + <wpml:payloadEnumValue>53</wpml:payloadEnumValue> | ||
| 18 | + <wpml:payloadSubEnumValue>1</wpml:payloadSubEnumValue> | ||
| 19 | + <wpml:payloadPositionIndex>0</wpml:payloadPositionIndex> | ||
| 20 | + </wpml:payloadInfo> | ||
| 21 | + </wpml:missionConfig> | ||
| 22 | + <Folder> | ||
| 23 | + <wpml:templateId>0</wpml:templateId> | ||
| 24 | + <wpml:executeHeightMode>relativeToStartPoint</wpml:executeHeightMode> | ||
| 25 | + <wpml:waylineId>0</wpml:waylineId> | ||
| 26 | + <wpml:distance>95.3817596435547</wpml:distance> | ||
| 27 | + <wpml:duration>12.0381755828857</wpml:duration> | ||
| 28 | + <wpml:autoFlightSpeed>10</wpml:autoFlightSpeed> | ||
| 29 | + <Placemark> | ||
| 30 | + <Point> | ||
| 31 | + <coordinates> | ||
| 32 | + 102.814068783866,23.2359655022029 | ||
| 33 | + </coordinates> | ||
| 34 | + </Point> | ||
| 35 | + <wpml:index>0</wpml:index> | ||
| 36 | + <wpml:executeHeight>67.199632961</wpml:executeHeight> | ||
| 37 | + <wpml:waypointSpeed>10</wpml:waypointSpeed> | ||
| 38 | + <wpml:waypointHeadingParam> | ||
| 39 | + <wpml:waypointHeadingMode>followWayline</wpml:waypointHeadingMode> | ||
| 40 | + <wpml:waypointHeadingAngle>0</wpml:waypointHeadingAngle> | ||
| 41 | + <wpml:waypointPoiPoint>0.000000,0.000000,0.000000</wpml:waypointPoiPoint> | ||
| 42 | + <wpml:waypointHeadingAngleEnable>0</wpml:waypointHeadingAngleEnable> | ||
| 43 | + <wpml:waypointHeadingPathMode>followBadArc</wpml:waypointHeadingPathMode> | ||
| 44 | + <wpml:waypointHeadingPoiIndex>0</wpml:waypointHeadingPoiIndex> | ||
| 45 | + </wpml:waypointHeadingParam> | ||
| 46 | + <wpml:waypointTurnParam> | ||
| 47 | + <wpml:waypointTurnMode>toPointAndStopWithDiscontinuityCurvature</wpml:waypointTurnMode> | ||
| 48 | + <wpml:waypointTurnDampingDist>0</wpml:waypointTurnDampingDist> | ||
| 49 | + </wpml:waypointTurnParam> | ||
| 50 | + <wpml:useStraightLine>1</wpml:useStraightLine> | ||
| 51 | + <wpml:actionGroup> | ||
| 52 | + <wpml:actionGroupId>0</wpml:actionGroupId> | ||
| 53 | + <wpml:actionGroupStartIndex>0</wpml:actionGroupStartIndex> | ||
| 54 | + <wpml:actionGroupEndIndex>0</wpml:actionGroupEndIndex> | ||
| 55 | + <wpml:actionGroupMode>sequence</wpml:actionGroupMode> | ||
| 56 | + <wpml:actionTrigger> | ||
| 57 | + <wpml:actionTriggerType>reachPoint</wpml:actionTriggerType> | ||
| 58 | + </wpml:actionTrigger> | ||
| 59 | + <wpml:action> | ||
| 60 | + <wpml:actionId>0</wpml:actionId> | ||
| 61 | + <wpml:actionActuatorFunc>orientedShoot</wpml:actionActuatorFunc> | ||
| 62 | + <wpml:actionActuatorFuncParam> | ||
| 63 | + <wpml:gimbalPitchRotateAngle>-56.05</wpml:gimbalPitchRotateAngle> | ||
| 64 | + <wpml:gimbalRollRotateAngle>0</wpml:gimbalRollRotateAngle> | ||
| 65 | + <wpml:gimbalYawRotateAngle>-51.148</wpml:gimbalYawRotateAngle> | ||
| 66 | + <wpml:focusX>0</wpml:focusX> | ||
| 67 | + <wpml:focusY>0</wpml:focusY> | ||
| 68 | + <wpml:focusRegionWidth>0</wpml:focusRegionWidth> | ||
| 69 | + <wpml:focusRegionHeight>0</wpml:focusRegionHeight> | ||
| 70 | + <wpml:focalLength>216</wpml:focalLength> | ||
| 71 | + <wpml:aircraftHeading>-51.148</wpml:aircraftHeading> | ||
| 72 | + <wpml:accurateFrameValid>0</wpml:accurateFrameValid> | ||
| 73 | + <wpml:payloadPositionIndex>0</wpml:payloadPositionIndex> | ||
| 74 | + <wpml:useGlobalPayloadLensIndex>1</wpml:useGlobalPayloadLensIndex> | ||
| 75 | + <wpml:payloadLensIndex>zoom</wpml:payloadLensIndex> | ||
| 76 | + <wpml:targetAngle>0</wpml:targetAngle> | ||
| 77 | + <wpml:actionUUID>a2f692e0-420b-4868-8693-3062d2aaf1ab</wpml:actionUUID> | ||
| 78 | + <wpml:imageWidth>0</wpml:imageWidth> | ||
| 79 | + <wpml:imageHeight>0</wpml:imageHeight> | ||
| 80 | + <wpml:AFPos>0</wpml:AFPos> | ||
| 81 | + <wpml:gimbalPort>0</wpml:gimbalPort> | ||
| 82 | + <wpml:orientedCameraType>53</wpml:orientedCameraType> | ||
| 83 | + <wpml:orientedFilePath>4bbe6c02-18b5-481d-a957-610240ff955c</wpml:orientedFilePath> | ||
| 84 | + <wpml:orientedFileMD5/> | ||
| 85 | + <wpml:orientedFileSize>0</wpml:orientedFileSize> | ||
| 86 | + <wpml:orientedPhotoMode>normalPhoto</wpml:orientedPhotoMode> | ||
| 87 | + </wpml:actionActuatorFuncParam> | ||
| 88 | + </wpml:action> | ||
| 89 | + </wpml:actionGroup> | ||
| 90 | + <wpml:waypointGimbalHeadingParam> | ||
| 91 | + <wpml:waypointGimbalPitchAngle>0</wpml:waypointGimbalPitchAngle> | ||
| 92 | + <wpml:waypointGimbalYawAngle>0</wpml:waypointGimbalYawAngle> | ||
| 93 | + </wpml:waypointGimbalHeadingParam> | ||
| 94 | + <wpml:isRisky>0</wpml:isRisky> | ||
| 95 | + <wpml:waypointWorkType>0</wpml:waypointWorkType> | ||
| 96 | + </Placemark> | ||
| 97 | + <Placemark> | ||
| 98 | + <Point> | ||
| 99 | + <coordinates> | ||
| 100 | + 102.813728813702,23.2361906183568 | ||
| 101 | + </coordinates> | ||
| 102 | + </Point> | ||
| 103 | + <wpml:index>1</wpml:index> | ||
| 104 | + <wpml:executeHeight>67.199632961</wpml:executeHeight> | ||
| 105 | + <wpml:waypointSpeed>10</wpml:waypointSpeed> | ||
| 106 | + <wpml:waypointHeadingParam> | ||
| 107 | + <wpml:waypointHeadingMode>followWayline</wpml:waypointHeadingMode> | ||
| 108 | + <wpml:waypointHeadingAngle>0</wpml:waypointHeadingAngle> | ||
| 109 | + <wpml:waypointPoiPoint>0.000000,0.000000,0.000000</wpml:waypointPoiPoint> | ||
| 110 | + <wpml:waypointHeadingAngleEnable>0</wpml:waypointHeadingAngleEnable> | ||
| 111 | + <wpml:waypointHeadingPathMode>followBadArc</wpml:waypointHeadingPathMode> | ||
| 112 | + <wpml:waypointHeadingPoiIndex>0</wpml:waypointHeadingPoiIndex> | ||
| 113 | + </wpml:waypointHeadingParam> | ||
| 114 | + <wpml:waypointTurnParam> | ||
| 115 | + <wpml:waypointTurnMode>toPointAndStopWithDiscontinuityCurvature</wpml:waypointTurnMode> | ||
| 116 | + <wpml:waypointTurnDampingDist>0</wpml:waypointTurnDampingDist> | ||
| 117 | + </wpml:waypointTurnParam> | ||
| 118 | + <wpml:useStraightLine>1</wpml:useStraightLine> | ||
| 119 | + <wpml:actionGroup> | ||
| 120 | + <wpml:actionGroupId>1</wpml:actionGroupId> | ||
| 121 | + <wpml:actionGroupStartIndex>1</wpml:actionGroupStartIndex> | ||
| 122 | + <wpml:actionGroupEndIndex>1</wpml:actionGroupEndIndex> | ||
| 123 | + <wpml:actionGroupMode>sequence</wpml:actionGroupMode> | ||
| 124 | + <wpml:actionTrigger> | ||
| 125 | + <wpml:actionTriggerType>reachPoint</wpml:actionTriggerType> | ||
| 126 | + </wpml:actionTrigger> | ||
| 127 | + <wpml:action> | ||
| 128 | + <wpml:actionId>0</wpml:actionId> | ||
| 129 | + <wpml:actionActuatorFunc>orientedShoot</wpml:actionActuatorFunc> | ||
| 130 | + <wpml:actionActuatorFuncParam> | ||
| 131 | + <wpml:gimbalPitchRotateAngle>-56.05</wpml:gimbalPitchRotateAngle> | ||
| 132 | + <wpml:gimbalRollRotateAngle>0</wpml:gimbalRollRotateAngle> | ||
| 133 | + <wpml:gimbalYawRotateAngle>-37.265</wpml:gimbalYawRotateAngle> | ||
| 134 | + <wpml:focusX>0</wpml:focusX> | ||
| 135 | + <wpml:focusY>0</wpml:focusY> | ||
| 136 | + <wpml:focusRegionWidth>0</wpml:focusRegionWidth> | ||
| 137 | + <wpml:focusRegionHeight>0</wpml:focusRegionHeight> | ||
| 138 | + <wpml:focalLength>216</wpml:focalLength> | ||
| 139 | + <wpml:aircraftHeading>-37.265</wpml:aircraftHeading> | ||
| 140 | + <wpml:accurateFrameValid>0</wpml:accurateFrameValid> | ||
| 141 | + <wpml:payloadPositionIndex>0</wpml:payloadPositionIndex> | ||
| 142 | + <wpml:useGlobalPayloadLensIndex>1</wpml:useGlobalPayloadLensIndex> | ||
| 143 | + <wpml:payloadLensIndex>zoom</wpml:payloadLensIndex> | ||
| 144 | + <wpml:targetAngle>0</wpml:targetAngle> | ||
| 145 | + <wpml:actionUUID>e34fd1b6-c2f8-4eb7-a7e9-210047029c6b</wpml:actionUUID> | ||
| 146 | + <wpml:imageWidth>0</wpml:imageWidth> | ||
| 147 | + <wpml:imageHeight>0</wpml:imageHeight> | ||
| 148 | + <wpml:AFPos>0</wpml:AFPos> | ||
| 149 | + <wpml:gimbalPort>0</wpml:gimbalPort> | ||
| 150 | + <wpml:orientedCameraType>53</wpml:orientedCameraType> | ||
| 151 | + <wpml:orientedFilePath>2ec97c52-0ca8-4e17-90e9-d50ac3e3dbd9</wpml:orientedFilePath> | ||
| 152 | + <wpml:orientedFileMD5/> | ||
| 153 | + <wpml:orientedFileSize>0</wpml:orientedFileSize> | ||
| 154 | + <wpml:orientedPhotoMode>normalPhoto</wpml:orientedPhotoMode> | ||
| 155 | + </wpml:actionActuatorFuncParam> | ||
| 156 | + </wpml:action> | ||
| 157 | + </wpml:actionGroup> | ||
| 158 | + <wpml:waypointGimbalHeadingParam> | ||
| 159 | + <wpml:waypointGimbalPitchAngle>0</wpml:waypointGimbalPitchAngle> | ||
| 160 | + <wpml:waypointGimbalYawAngle>0</wpml:waypointGimbalYawAngle> | ||
| 161 | + </wpml:waypointGimbalHeadingParam> | ||
| 162 | + <wpml:isRisky>0</wpml:isRisky> | ||
| 163 | + <wpml:waypointWorkType>0</wpml:waypointWorkType> | ||
| 164 | + </Placemark> | ||
| 165 | + <Placemark> | ||
| 166 | + <Point> | ||
| 167 | + <coordinates> | ||
| 168 | + 102.8136078157,23.2364742507511 | ||
| 169 | + </coordinates> | ||
| 170 | + </Point> | ||
| 171 | + <wpml:index>2</wpml:index> | ||
| 172 | + <wpml:executeHeight>67.199632961</wpml:executeHeight> | ||
| 173 | + <wpml:waypointSpeed>10</wpml:waypointSpeed> | ||
| 174 | + <wpml:waypointHeadingParam> | ||
| 175 | + <wpml:waypointHeadingMode>followWayline</wpml:waypointHeadingMode> | ||
| 176 | + <wpml:waypointHeadingAngle>0</wpml:waypointHeadingAngle> | ||
| 177 | + <wpml:waypointPoiPoint>0.000000,0.000000,0.000000</wpml:waypointPoiPoint> | ||
| 178 | + <wpml:waypointHeadingAngleEnable>0</wpml:waypointHeadingAngleEnable> | ||
| 179 | + <wpml:waypointHeadingPathMode>followBadArc</wpml:waypointHeadingPathMode> | ||
| 180 | + <wpml:waypointHeadingPoiIndex>0</wpml:waypointHeadingPoiIndex> | ||
| 181 | + </wpml:waypointHeadingParam> | ||
| 182 | + <wpml:waypointTurnParam> | ||
| 183 | + <wpml:waypointTurnMode>toPointAndStopWithDiscontinuityCurvature</wpml:waypointTurnMode> | ||
| 184 | + <wpml:waypointTurnDampingDist>0</wpml:waypointTurnDampingDist> | ||
| 185 | + </wpml:waypointTurnParam> | ||
| 186 | + <wpml:useStraightLine>1</wpml:useStraightLine> | ||
| 187 | + <wpml:actionGroup> | ||
| 188 | + <wpml:actionGroupId>2</wpml:actionGroupId> | ||
| 189 | + <wpml:actionGroupStartIndex>2</wpml:actionGroupStartIndex> | ||
| 190 | + <wpml:actionGroupEndIndex>2</wpml:actionGroupEndIndex> | ||
| 191 | + <wpml:actionGroupMode>sequence</wpml:actionGroupMode> | ||
| 192 | + <wpml:actionTrigger> | ||
| 193 | + <wpml:actionTriggerType>reachPoint</wpml:actionTriggerType> | ||
| 194 | + </wpml:actionTrigger> | ||
| 195 | + <wpml:action> | ||
| 196 | + <wpml:actionId>0</wpml:actionId> | ||
| 197 | + <wpml:actionActuatorFunc>orientedShoot</wpml:actionActuatorFunc> | ||
| 198 | + <wpml:actionActuatorFuncParam> | ||
| 199 | + <wpml:gimbalPitchRotateAngle>-56.05</wpml:gimbalPitchRotateAngle> | ||
| 200 | + <wpml:gimbalRollRotateAngle>0</wpml:gimbalRollRotateAngle> | ||
| 201 | + <wpml:gimbalYawRotateAngle>-37.265</wpml:gimbalYawRotateAngle> | ||
| 202 | + <wpml:focusX>0</wpml:focusX> | ||
| 203 | + <wpml:focusY>0</wpml:focusY> | ||
| 204 | + <wpml:focusRegionWidth>0</wpml:focusRegionWidth> | ||
| 205 | + <wpml:focusRegionHeight>0</wpml:focusRegionHeight> | ||
| 206 | + <wpml:focalLength>216</wpml:focalLength> | ||
| 207 | + <wpml:aircraftHeading>-37.265</wpml:aircraftHeading> | ||
| 208 | + <wpml:accurateFrameValid>0</wpml:accurateFrameValid> | ||
| 209 | + <wpml:payloadPositionIndex>0</wpml:payloadPositionIndex> | ||
| 210 | + <wpml:useGlobalPayloadLensIndex>1</wpml:useGlobalPayloadLensIndex> | ||
| 211 | + <wpml:payloadLensIndex>zoom</wpml:payloadLensIndex> | ||
| 212 | + <wpml:targetAngle>0</wpml:targetAngle> | ||
| 213 | + <wpml:actionUUID>c5b670bc-7e02-4ee3-a7de-d3bfb1743847</wpml:actionUUID> | ||
| 214 | + <wpml:imageWidth>0</wpml:imageWidth> | ||
| 215 | + <wpml:imageHeight>0</wpml:imageHeight> | ||
| 216 | + <wpml:AFPos>0</wpml:AFPos> | ||
| 217 | + <wpml:gimbalPort>0</wpml:gimbalPort> | ||
| 218 | + <wpml:orientedCameraType>53</wpml:orientedCameraType> | ||
| 219 | + <wpml:orientedFilePath>2b63ee8a-751a-4370-ab6d-a6625640851c</wpml:orientedFilePath> | ||
| 220 | + <wpml:orientedFileMD5/> | ||
| 221 | + <wpml:orientedFileSize>0</wpml:orientedFileSize> | ||
| 222 | + <wpml:orientedPhotoMode>normalPhoto</wpml:orientedPhotoMode> | ||
| 223 | + </wpml:actionActuatorFuncParam> | ||
| 224 | + </wpml:action> | ||
| 225 | + </wpml:actionGroup> | ||
| 226 | + <wpml:waypointGimbalHeadingParam> | ||
| 227 | + <wpml:waypointGimbalPitchAngle>0</wpml:waypointGimbalPitchAngle> | ||
| 228 | + <wpml:waypointGimbalYawAngle>0</wpml:waypointGimbalYawAngle> | ||
| 229 | + </wpml:waypointGimbalHeadingParam> | ||
| 230 | + <wpml:isRisky>0</wpml:isRisky> | ||
| 231 | + <wpml:waypointWorkType>0</wpml:waypointWorkType> | ||
| 232 | + </Placemark> | ||
| 233 | + <Placemark> | ||
| 234 | + <Point> | ||
| 235 | + <coordinates> | ||
| 236 | + 102.813597685565,23.2363064208282 | ||
| 237 | + </coordinates> | ||
| 238 | + </Point> | ||
| 239 | + <wpml:index>3</wpml:index> | ||
| 240 | + <wpml:executeHeight>67.199632961</wpml:executeHeight> | ||
| 241 | + <wpml:waypointSpeed>10</wpml:waypointSpeed> | ||
| 242 | + <wpml:waypointHeadingParam> | ||
| 243 | + <wpml:waypointHeadingMode>followWayline</wpml:waypointHeadingMode> | ||
| 244 | + <wpml:waypointHeadingAngle>0</wpml:waypointHeadingAngle> | ||
| 245 | + <wpml:waypointPoiPoint>0.000000,0.000000,0.000000</wpml:waypointPoiPoint> | ||
| 246 | + <wpml:waypointHeadingAngleEnable>0</wpml:waypointHeadingAngleEnable> | ||
| 247 | + <wpml:waypointHeadingPathMode>followBadArc</wpml:waypointHeadingPathMode> | ||
| 248 | + <wpml:waypointHeadingPoiIndex>0</wpml:waypointHeadingPoiIndex> | ||
| 249 | + </wpml:waypointHeadingParam> | ||
| 250 | + <wpml:waypointTurnParam> | ||
| 251 | + <wpml:waypointTurnMode>toPointAndStopWithDiscontinuityCurvature</wpml:waypointTurnMode> | ||
| 252 | + <wpml:waypointTurnDampingDist>0</wpml:waypointTurnDampingDist> | ||
| 253 | + </wpml:waypointTurnParam> | ||
| 254 | + <wpml:useStraightLine>1</wpml:useStraightLine> | ||
| 255 | + <wpml:actionGroup> | ||
| 256 | + <wpml:actionGroupId>3</wpml:actionGroupId> | ||
| 257 | + <wpml:actionGroupStartIndex>3</wpml:actionGroupStartIndex> | ||
| 258 | + <wpml:actionGroupEndIndex>3</wpml:actionGroupEndIndex> | ||
| 259 | + <wpml:actionGroupMode>sequence</wpml:actionGroupMode> | ||
| 260 | + <wpml:actionTrigger> | ||
| 261 | + <wpml:actionTriggerType>reachPoint</wpml:actionTriggerType> | ||
| 262 | + </wpml:actionTrigger> | ||
| 263 | + <wpml:action> | ||
| 264 | + <wpml:actionId>0</wpml:actionId> | ||
| 265 | + <wpml:actionActuatorFunc>orientedShoot</wpml:actionActuatorFunc> | ||
| 266 | + <wpml:actionActuatorFuncParam> | ||
| 267 | + <wpml:gimbalPitchRotateAngle>-41.107</wpml:gimbalPitchRotateAngle> | ||
| 268 | + <wpml:gimbalRollRotateAngle>0</wpml:gimbalRollRotateAngle> | ||
| 269 | + <wpml:gimbalYawRotateAngle>-38.933</wpml:gimbalYawRotateAngle> | ||
| 270 | + <wpml:focusX>0</wpml:focusX> | ||
| 271 | + <wpml:focusY>0</wpml:focusY> | ||
| 272 | + <wpml:focusRegionWidth>0</wpml:focusRegionWidth> | ||
| 273 | + <wpml:focusRegionHeight>0</wpml:focusRegionHeight> | ||
| 274 | + <wpml:focalLength>384</wpml:focalLength> | ||
| 275 | + <wpml:aircraftHeading>-38.933</wpml:aircraftHeading> | ||
| 276 | + <wpml:accurateFrameValid>0</wpml:accurateFrameValid> | ||
| 277 | + <wpml:payloadPositionIndex>0</wpml:payloadPositionIndex> | ||
| 278 | + <wpml:useGlobalPayloadLensIndex>1</wpml:useGlobalPayloadLensIndex> | ||
| 279 | + <wpml:payloadLensIndex>zoom</wpml:payloadLensIndex> | ||
| 280 | + <wpml:targetAngle>0</wpml:targetAngle> | ||
| 281 | + <wpml:actionUUID>77078303-bffc-4565-81d3-763b2d105e06</wpml:actionUUID> | ||
| 282 | + <wpml:imageWidth>0</wpml:imageWidth> | ||
| 283 | + <wpml:imageHeight>0</wpml:imageHeight> | ||
| 284 | + <wpml:AFPos>0</wpml:AFPos> | ||
| 285 | + <wpml:gimbalPort>0</wpml:gimbalPort> | ||
| 286 | + <wpml:orientedCameraType>53</wpml:orientedCameraType> | ||
| 287 | + <wpml:orientedFilePath>aa00b71e-339c-4b38-9486-2fea43711004</wpml:orientedFilePath> | ||
| 288 | + <wpml:orientedFileMD5/> | ||
| 289 | + <wpml:orientedFileSize>0</wpml:orientedFileSize> | ||
| 290 | + <wpml:orientedPhotoMode>normalPhoto</wpml:orientedPhotoMode> | ||
| 291 | + </wpml:actionActuatorFuncParam> | ||
| 292 | + </wpml:action> | ||
| 293 | + <wpml:action> | ||
| 294 | + <wpml:actionId>1</wpml:actionId> | ||
| 295 | + <wpml:actionActuatorFunc>orientedShoot</wpml:actionActuatorFunc> | ||
| 296 | + <wpml:actionActuatorFuncParam> | ||
| 297 | + <wpml:gimbalPitchRotateAngle>-40.068</wpml:gimbalPitchRotateAngle> | ||
| 298 | + <wpml:gimbalRollRotateAngle>0</wpml:gimbalRollRotateAngle> | ||
| 299 | + <wpml:gimbalYawRotateAngle>-25.848</wpml:gimbalYawRotateAngle> | ||
| 300 | + <wpml:focusX>0</wpml:focusX> | ||
| 301 | + <wpml:focusY>0</wpml:focusY> | ||
| 302 | + <wpml:focusRegionWidth>0</wpml:focusRegionWidth> | ||
| 303 | + <wpml:focusRegionHeight>0</wpml:focusRegionHeight> | ||
| 304 | + <wpml:focalLength>192</wpml:focalLength> | ||
| 305 | + <wpml:aircraftHeading>-25.848</wpml:aircraftHeading> | ||
| 306 | + <wpml:accurateFrameValid>0</wpml:accurateFrameValid> | ||
| 307 | + <wpml:payloadPositionIndex>0</wpml:payloadPositionIndex> | ||
| 308 | + <wpml:useGlobalPayloadLensIndex>1</wpml:useGlobalPayloadLensIndex> | ||
| 309 | + <wpml:payloadLensIndex>zoom</wpml:payloadLensIndex> | ||
| 310 | + <wpml:targetAngle>0</wpml:targetAngle> | ||
| 311 | + <wpml:actionUUID>2902f57f-778f-4aed-bfdc-0aa52c65a88a</wpml:actionUUID> | ||
| 312 | + <wpml:imageWidth>0</wpml:imageWidth> | ||
| 313 | + <wpml:imageHeight>0</wpml:imageHeight> | ||
| 314 | + <wpml:AFPos>0</wpml:AFPos> | ||
| 315 | + <wpml:gimbalPort>0</wpml:gimbalPort> | ||
| 316 | + <wpml:orientedCameraType>53</wpml:orientedCameraType> | ||
| 317 | + <wpml:orientedFilePath>519c9fa4-d6c8-4108-80f7-27ed0dfdffd9</wpml:orientedFilePath> | ||
| 318 | + <wpml:orientedFileMD5/> | ||
| 319 | + <wpml:orientedFileSize>0</wpml:orientedFileSize> | ||
| 320 | + <wpml:orientedPhotoMode>normalPhoto</wpml:orientedPhotoMode> | ||
| 321 | + </wpml:actionActuatorFuncParam> | ||
| 322 | + </wpml:action> | ||
| 323 | + <wpml:action> | ||
| 324 | + <wpml:actionId>2</wpml:actionId> | ||
| 325 | + <wpml:actionActuatorFunc>orientedShoot</wpml:actionActuatorFunc> | ||
| 326 | + <wpml:actionActuatorFuncParam> | ||
| 327 | + <wpml:gimbalPitchRotateAngle>-30.922</wpml:gimbalPitchRotateAngle> | ||
| 328 | + <wpml:gimbalRollRotateAngle>0</wpml:gimbalRollRotateAngle> | ||
| 329 | + <wpml:gimbalYawRotateAngle>-32.302</wpml:gimbalYawRotateAngle> | ||
| 330 | + <wpml:focusX>0</wpml:focusX> | ||
| 331 | + <wpml:focusY>0</wpml:focusY> | ||
| 332 | + <wpml:focusRegionWidth>0</wpml:focusRegionWidth> | ||
| 333 | + <wpml:focusRegionHeight>0</wpml:focusRegionHeight> | ||
| 334 | + <wpml:focalLength>672</wpml:focalLength> | ||
| 335 | + <wpml:aircraftHeading>-32.302</wpml:aircraftHeading> | ||
| 336 | + <wpml:accurateFrameValid>0</wpml:accurateFrameValid> | ||
| 337 | + <wpml:payloadPositionIndex>0</wpml:payloadPositionIndex> | ||
| 338 | + <wpml:useGlobalPayloadLensIndex>1</wpml:useGlobalPayloadLensIndex> | ||
| 339 | + <wpml:payloadLensIndex>zoom</wpml:payloadLensIndex> | ||
| 340 | + <wpml:targetAngle>0</wpml:targetAngle> | ||
| 341 | + <wpml:actionUUID>5325086b-6bb6-49de-8b4f-6024cf8663e7</wpml:actionUUID> | ||
| 342 | + <wpml:imageWidth>0</wpml:imageWidth> | ||
| 343 | + <wpml:imageHeight>0</wpml:imageHeight> | ||
| 344 | + <wpml:AFPos>0</wpml:AFPos> | ||
| 345 | + <wpml:gimbalPort>0</wpml:gimbalPort> | ||
| 346 | + <wpml:orientedCameraType>53</wpml:orientedCameraType> | ||
| 347 | + <wpml:orientedFilePath>b02a1705-aa5f-4d45-bb16-1a0196dc9e7a</wpml:orientedFilePath> | ||
| 348 | + <wpml:orientedFileMD5/> | ||
| 349 | + <wpml:orientedFileSize>0</wpml:orientedFileSize> | ||
| 350 | + <wpml:orientedPhotoMode>normalPhoto</wpml:orientedPhotoMode> | ||
| 351 | + </wpml:actionActuatorFuncParam> | ||
| 352 | + </wpml:action> | ||
| 353 | + <wpml:action> | ||
| 354 | + <wpml:actionId>3</wpml:actionId> | ||
| 355 | + <wpml:actionActuatorFunc>orientedShoot</wpml:actionActuatorFunc> | ||
| 356 | + <wpml:actionActuatorFuncParam> | ||
| 357 | + <wpml:gimbalPitchRotateAngle>-31.066</wpml:gimbalPitchRotateAngle> | ||
| 358 | + <wpml:gimbalRollRotateAngle>0</wpml:gimbalRollRotateAngle> | ||
| 359 | + <wpml:gimbalYawRotateAngle>-23.091</wpml:gimbalYawRotateAngle> | ||
| 360 | + <wpml:focusX>0</wpml:focusX> | ||
| 361 | + <wpml:focusY>0</wpml:focusY> | ||
| 362 | + <wpml:focusRegionWidth>0</wpml:focusRegionWidth> | ||
| 363 | + <wpml:focusRegionHeight>0</wpml:focusRegionHeight> | ||
| 364 | + <wpml:focalLength>672</wpml:focalLength> | ||
| 365 | + <wpml:aircraftHeading>-23.091</wpml:aircraftHeading> | ||
| 366 | + <wpml:accurateFrameValid>0</wpml:accurateFrameValid> | ||
| 367 | + <wpml:payloadPositionIndex>0</wpml:payloadPositionIndex> | ||
| 368 | + <wpml:useGlobalPayloadLensIndex>1</wpml:useGlobalPayloadLensIndex> | ||
| 369 | + <wpml:payloadLensIndex>zoom</wpml:payloadLensIndex> | ||
| 370 | + <wpml:targetAngle>0</wpml:targetAngle> | ||
| 371 | + <wpml:actionUUID>7807e00d-eef9-40f7-b500-fa97f77a6b8b</wpml:actionUUID> | ||
| 372 | + <wpml:imageWidth>0</wpml:imageWidth> | ||
| 373 | + <wpml:imageHeight>0</wpml:imageHeight> | ||
| 374 | + <wpml:AFPos>0</wpml:AFPos> | ||
| 375 | + <wpml:gimbalPort>0</wpml:gimbalPort> | ||
| 376 | + <wpml:orientedCameraType>53</wpml:orientedCameraType> | ||
| 377 | + <wpml:orientedFilePath>eb74a2e8-5b9b-49c7-9d07-e1be206d05f2</wpml:orientedFilePath> | ||
| 378 | + <wpml:orientedFileMD5/> | ||
| 379 | + <wpml:orientedFileSize>0</wpml:orientedFileSize> | ||
| 380 | + <wpml:orientedPhotoMode>normalPhoto</wpml:orientedPhotoMode> | ||
| 381 | + </wpml:actionActuatorFuncParam> | ||
| 382 | + </wpml:action> | ||
| 383 | + <wpml:action> | ||
| 384 | + <wpml:actionId>4</wpml:actionId> | ||
| 385 | + <wpml:actionActuatorFunc>orientedShoot</wpml:actionActuatorFunc> | ||
| 386 | + <wpml:actionActuatorFuncParam> | ||
| 387 | + <wpml:gimbalPitchRotateAngle>-31.066</wpml:gimbalPitchRotateAngle> | ||
| 388 | + <wpml:gimbalRollRotateAngle>0</wpml:gimbalRollRotateAngle> | ||
| 389 | + <wpml:gimbalYawRotateAngle>-23.091</wpml:gimbalYawRotateAngle> | ||
| 390 | + <wpml:focusX>0</wpml:focusX> | ||
| 391 | + <wpml:focusY>0</wpml:focusY> | ||
| 392 | + <wpml:focusRegionWidth>0</wpml:focusRegionWidth> | ||
| 393 | + <wpml:focusRegionHeight>0</wpml:focusRegionHeight> | ||
| 394 | + <wpml:focalLength>384</wpml:focalLength> | ||
| 395 | + <wpml:aircraftHeading>-23.091</wpml:aircraftHeading> | ||
| 396 | + <wpml:accurateFrameValid>0</wpml:accurateFrameValid> | ||
| 397 | + <wpml:payloadPositionIndex>0</wpml:payloadPositionIndex> | ||
| 398 | + <wpml:useGlobalPayloadLensIndex>1</wpml:useGlobalPayloadLensIndex> | ||
| 399 | + <wpml:payloadLensIndex>zoom</wpml:payloadLensIndex> | ||
| 400 | + <wpml:targetAngle>0</wpml:targetAngle> | ||
| 401 | + <wpml:actionUUID>ec0f9dbf-7b94-482c-93a1-2692f865bd91</wpml:actionUUID> | ||
| 402 | + <wpml:imageWidth>0</wpml:imageWidth> | ||
| 403 | + <wpml:imageHeight>0</wpml:imageHeight> | ||
| 404 | + <wpml:AFPos>0</wpml:AFPos> | ||
| 405 | + <wpml:gimbalPort>0</wpml:gimbalPort> | ||
| 406 | + <wpml:orientedCameraType>53</wpml:orientedCameraType> | ||
| 407 | + <wpml:orientedFilePath>32025061-f405-4f1e-9c2c-e8979dfd07d2</wpml:orientedFilePath> | ||
| 408 | + <wpml:orientedFileMD5/> | ||
| 409 | + <wpml:orientedFileSize>0</wpml:orientedFileSize> | ||
| 410 | + <wpml:orientedPhotoMode>normalPhoto</wpml:orientedPhotoMode> | ||
| 411 | + </wpml:actionActuatorFuncParam> | ||
| 412 | + </wpml:action> | ||
| 413 | + </wpml:actionGroup> | ||
| 414 | + <wpml:waypointGimbalHeadingParam> | ||
| 415 | + <wpml:waypointGimbalPitchAngle>0</wpml:waypointGimbalPitchAngle> | ||
| 416 | + <wpml:waypointGimbalYawAngle>0</wpml:waypointGimbalYawAngle> | ||
| 417 | + </wpml:waypointGimbalHeadingParam> | ||
| 418 | + <wpml:isRisky>0</wpml:isRisky> | ||
| 419 | + <wpml:waypointWorkType>0</wpml:waypointWorkType> | ||
| 420 | + </Placemark> | ||
| 421 | + </Folder> | ||
| 422 | + </Document> | ||
| 423 | +</kml> |
public/vite.svg
0 → 100644
| 1 | +<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" aria-hidden="true" role="img" class="iconify iconify--logos" width="31.88" height="32" preserveAspectRatio="xMidYMid meet" viewBox="0 0 256 257"><defs><linearGradient id="IconifyId1813088fe1fbc01fb466" x1="-.828%" x2="57.636%" y1="7.652%" y2="78.411%"><stop offset="0%" stop-color="#41D1FF"></stop><stop offset="100%" stop-color="#BD34FE"></stop></linearGradient><linearGradient id="IconifyId1813088fe1fbc01fb467" x1="43.376%" x2="50.316%" y1="2.242%" y2="89.03%"><stop offset="0%" stop-color="#FFEA83"></stop><stop offset="8.333%" stop-color="#FFDD35"></stop><stop offset="100%" stop-color="#FFA800"></stop></linearGradient></defs><path fill="url(#IconifyId1813088fe1fbc01fb466)" d="M255.153 37.938L134.897 252.976c-2.483 4.44-8.862 4.466-11.382.048L.875 37.958c-2.746-4.814 1.371-10.646 6.827-9.67l120.385 21.517a6.537 6.537 0 0 0 2.322-.004l117.867-21.483c5.438-.991 9.574 4.796 6.877 9.62Z"></path><path fill="url(#IconifyId1813088fe1fbc01fb467)" d="M185.432.063L96.44 17.501a3.268 3.268 0 0 0-2.634 3.014l-5.474 92.456a3.268 3.268 0 0 0 3.997 3.378l24.777-5.718c2.318-.535 4.413 1.507 3.936 3.838l-7.361 36.047c-.495 2.426 1.782 4.5 4.151 3.78l15.304-4.649c2.372-.72 4.652 1.36 4.15 3.788l-11.698 56.621c-.732 3.542 3.979 5.473 5.943 2.437l1.313-2.028l72.516-144.72c1.215-2.423-.88-5.186-3.54-4.672l-25.505 4.922c-2.396.462-4.435-1.77-3.759-4.114l16.646-57.705c.677-2.35-1.37-4.583-3.769-4.113Z"></path></svg> |
src/App.vue
0 → 100644
| 1 | +<template> | ||
| 2 | + <a-config-provider :theme="themeStore.themeConfig" :locale="localeStore.locale"> | ||
| 3 | + <router-view/> | ||
| 4 | + </a-config-provider> | ||
| 5 | +</template> | ||
| 6 | + | ||
| 7 | +<script setup lang="ts"> | ||
| 8 | +import {useThemeStore} from "@/store/useThemeStore.ts"; | ||
| 9 | +import {useLocaleStore} from "@/store/useLocaleStore.ts"; | ||
| 10 | + | ||
| 11 | +const themeStore = useThemeStore() | ||
| 12 | +const localeStore = useLocaleStore() | ||
| 13 | +</script> | ||
| 14 | +<style> | ||
| 15 | +#app { | ||
| 16 | + height: 100vh; | ||
| 17 | + width: 100vw; | ||
| 18 | + overflow: auto; | ||
| 19 | + | ||
| 20 | +} | ||
| 21 | + | ||
| 22 | + | ||
| 23 | +::-webkit-scrollbar { | ||
| 24 | + width: 5px; /* 宽度 */ | ||
| 25 | + height: 8px; /* 高度(对于水平滚动条) */ | ||
| 26 | + border: 1px solid rgb(128, 128, 128, 0.2); | ||
| 27 | +} | ||
| 28 | + | ||
| 29 | +/* 滚动条滑块 */ | ||
| 30 | + | ||
| 31 | +::-webkit-scrollbar-thumb { | ||
| 32 | + background: rgb(128, 128, 128, 0.5); /* 滑块颜色 */ | ||
| 33 | + border-radius: 10px; | ||
| 34 | +} | ||
| 35 | + | ||
| 36 | +/* 滚动条轨道 */ | ||
| 37 | + | ||
| 38 | +::-webkit-scrollbar-track { | ||
| 39 | + background: transparent; /* 轨道颜色 */ | ||
| 40 | + border-radius: 10px; | ||
| 41 | +} | ||
| 42 | + | ||
| 43 | +/*动画处理*/ | ||
| 44 | +.v-enter-active, | ||
| 45 | +.v-leave-active { | ||
| 46 | + transition: opacity 0.5s ease; | ||
| 47 | +} | ||
| 48 | + | ||
| 49 | +.v-enter-from, | ||
| 50 | +.v-leave-to { | ||
| 51 | + opacity: 0; | ||
| 52 | +} | ||
| 53 | + | ||
| 54 | +/*动画处理*/ | ||
| 55 | +.drop-enter-active, | ||
| 56 | +.drop-leave-active { | ||
| 57 | + transition: all 0.5s ease; | ||
| 58 | +} | ||
| 59 | + | ||
| 60 | +.drop-enter-from, | ||
| 61 | +.drop-leave-to { | ||
| 62 | + transform: translateY(-30px); | ||
| 63 | + opacity: 0; | ||
| 64 | +} | ||
| 65 | + | ||
| 66 | + | ||
| 67 | +</style> |
src/assets/arrow-small.png
0 → 100644
2.8 KB
src/assets/vue.svg
0 → 100644
| 1 | +<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" aria-hidden="true" role="img" class="iconify iconify--logos" width="37.07" height="36" preserveAspectRatio="xMidYMid meet" viewBox="0 0 256 198"><path fill="#41B883" d="M204.8 0H256L128 220.8L0 0h97.92L128 51.2L157.44 0h47.36Z"></path><path fill="#41B883" d="m0 0l128 220.8L256 0h-51.2L128 132.48L50.56 0H0Z"></path><path fill="#35495E" d="M50.56 0L128 133.12L204.8 0h-47.36L128 51.2L97.92 0H50.56Z"></path></svg> |
src/components/air-route/1.json
0 → 100644
此 diff 太大无法显示。
src/components/air-route/air-route.vue
0 → 100644
| 1 | +<template> | ||
| 2 | + <air-route-create-dialog @confirm="confirm" ref="airRouteCreateDialogRef"/> | ||
| 3 | + <air-route-dialog @save="save" ref="airRouteDialogRef"/> | ||
| 4 | +</template> | ||
| 5 | + | ||
| 6 | +<script setup lang="ts"> | ||
| 7 | + | ||
| 8 | +import AirRouteDialog from "@/components/air-route/components/air-route-dialog.vue"; | ||
| 9 | +import AirRouteCreateDialog from "@/components/air-route/components/air-route-create-dialog.vue"; | ||
| 10 | +import {provide, ref} from "vue"; | ||
| 11 | +import {type Element, xml2js} from "xml-js"; | ||
| 12 | +import {useXMLComputed} from "@/components/air-route/components/useXMLComputed.ts"; | ||
| 13 | + | ||
| 14 | +const airRouteCreateDialogRef = ref() | ||
| 15 | +const airRouteDialogRef = ref() | ||
| 16 | + | ||
| 17 | +const title = ref('') | ||
| 18 | +const wpmlElement = ref<Element>({ | ||
| 19 | + elements: [] | ||
| 20 | +}) | ||
| 21 | + | ||
| 22 | +const {elment: kmlElement} = useXMLComputed(wpmlElement, 'kml') | ||
| 23 | +const {elment: DocumentElement} = useXMLComputed(kmlElement, 'Document') | ||
| 24 | + | ||
| 25 | +provide('DocumentElement', DocumentElement) | ||
| 26 | +provide('title', title) | ||
| 27 | + | ||
| 28 | +async function open(config?: { | ||
| 29 | + title?: string, | ||
| 30 | + file?: File, | ||
| 31 | +}) { | ||
| 32 | + title.value = config?.title || '新建航线' | ||
| 33 | + if (config.file) { | ||
| 34 | + let fileString = await config.file.text() | ||
| 35 | + wpmlElement.value = <Element>xml2js(fileString) | ||
| 36 | + airRouteDialogRef.value.open() | ||
| 37 | + } else { | ||
| 38 | + airRouteCreateDialogRef.value.open() | ||
| 39 | + } | ||
| 40 | +} | ||
| 41 | + | ||
| 42 | +function confirm() { | ||
| 43 | + airRouteDialogRef.value.open() | ||
| 44 | +} | ||
| 45 | + | ||
| 46 | +const emits = defineEmits(['save']) | ||
| 47 | + | ||
| 48 | +function save(config) { | ||
| 49 | + emits('save', config) | ||
| 50 | +} | ||
| 51 | + | ||
| 52 | +defineExpose({ | ||
| 53 | + open | ||
| 54 | +}) | ||
| 55 | +</script> | ||
| 56 | + | ||
| 57 | +<style scoped> | ||
| 58 | + | ||
| 59 | +</style> |
| 1 | +<template> | ||
| 2 | + <el-dialog v-model="show" title="创建航线"> | ||
| 3 | + <el-form labelPosition="top"> | ||
| 4 | + <el-form-item label="选择飞行器"> | ||
| 5 | + <l-select-box :options="optionsGroup.map((item,index)=>({...item,value:index}))" v-model="form.selectGroup" | ||
| 6 | + @select="onChangeGroup"/> | ||
| 7 | + </el-form-item> | ||
| 8 | + <el-form-item label="选择型号"> | ||
| 9 | + <l-select-box :options="optionsGroup[form.selectGroup].children" v-model="form.droneEnumValue"/> | ||
| 10 | + </el-form-item> | ||
| 11 | + <el-form-item title="航线名称"> | ||
| 12 | + <el-input v-model="form.title"/> | ||
| 13 | + </el-form-item> | ||
| 14 | + </el-form> | ||
| 15 | + <template #footer> | ||
| 16 | + <div class="dialog-footer"> | ||
| 17 | + <el-button @click="show = false">取消</el-button> | ||
| 18 | + <el-button type="primary" @click="confirm"> | ||
| 19 | + 确定 | ||
| 20 | + </el-button> | ||
| 21 | + </div> | ||
| 22 | + </template> | ||
| 23 | + </el-dialog> | ||
| 24 | +</template> | ||
| 25 | + | ||
| 26 | +<script setup lang="ts"> | ||
| 27 | + | ||
| 28 | +import {type Element, js2xml, xml2js} from "xml-js"; | ||
| 29 | +import {inject, ref, type WritableComputedRef} from "vue"; | ||
| 30 | +import {useXMLComputed} from "@/components/air-route/components/useXMLComputed.ts"; | ||
| 31 | +import LSelectBox from "@/components/air-route/components/l-select-box.vue"; | ||
| 32 | + | ||
| 33 | +const form = ref({}) | ||
| 34 | + | ||
| 35 | +const title = inject("title"); | ||
| 36 | +const DocumentElement = inject<WritableComputedRef<Element, Element>>("DocumentElement"); | ||
| 37 | + | ||
| 38 | +const show = ref(false) | ||
| 39 | + | ||
| 40 | +const {elment: droneInfoElement} = useXMLComputed(DocumentElement, 'wpml:droneInfo') | ||
| 41 | +const {text: droneEnumValue} = useXMLComputed(droneInfoElement, 'wpml:droneEnumValue', { | ||
| 42 | + defaultText: 'Matrice 4E' | ||
| 43 | +}) | ||
| 44 | +const optionsGroup = ref([ | ||
| 45 | + { | ||
| 46 | + label: 'Matrice 30 系列', | ||
| 47 | + children: [ | ||
| 48 | + { | ||
| 49 | + label: 'Matrice 30', | ||
| 50 | + value: 'Matrice 30', | ||
| 51 | + }, | ||
| 52 | + { | ||
| 53 | + label: 'Matrice 30T', | ||
| 54 | + value: 'Matrice 30T', | ||
| 55 | + }, | ||
| 56 | + ] | ||
| 57 | + }, { | ||
| 58 | + label: 'Matrice 4 系列', | ||
| 59 | + children: [ | ||
| 60 | + { | ||
| 61 | + label: 'Matrice 4E', | ||
| 62 | + value: 'Matrice 4E', | ||
| 63 | + }, | ||
| 64 | + { | ||
| 65 | + label: 'Matrice 4T', | ||
| 66 | + value: 'Matrice 4T', | ||
| 67 | + }, | ||
| 68 | + ] | ||
| 69 | + } | ||
| 70 | +]) | ||
| 71 | + | ||
| 72 | +function onChangeGroup() { | ||
| 73 | + form.value.droneEnumValue = optionsGroup.value[form.value.selectGroup].children[0].value | ||
| 74 | +} | ||
| 75 | + | ||
| 76 | +async function open() { | ||
| 77 | + show.value = true; | ||
| 78 | + form.value = { | ||
| 79 | + title: title.value, | ||
| 80 | + droneEnumValue: droneEnumValue.value, | ||
| 81 | + selectGroup: optionsGroup.value.findIndex(v => v.children.findIndex(v => v.value === droneEnumValue.value) !== -1) | ||
| 82 | + } | ||
| 83 | +} | ||
| 84 | + | ||
| 85 | +const emits = defineEmits(['confirm']) | ||
| 86 | + | ||
| 87 | +function confirm() { | ||
| 88 | + show.value = false; | ||
| 89 | + title.value = form.value.title | ||
| 90 | + droneEnumValue.value = form.value.droneEnumValue | ||
| 91 | + emits('confirm') | ||
| 92 | +} | ||
| 93 | + | ||
| 94 | +defineExpose({ | ||
| 95 | + open | ||
| 96 | +}) | ||
| 97 | +</script> | ||
| 98 | + | ||
| 99 | +<style scoped> | ||
| 100 | + | ||
| 101 | +</style> |
| 1 | +<template> | ||
| 2 | + <div class="air-route-dialog" v-if="show"> | ||
| 3 | + <div class="header"> | ||
| 4 | + <div class="left"> | ||
| 5 | + <el-icon @click="close" class="action" size="30"> | ||
| 6 | + <ArrowLeft/> | ||
| 7 | + </el-icon> | ||
| 8 | + <el-icon class="action" :class="{disabled:true}" size="30"> | ||
| 9 | + <Document/> | ||
| 10 | + </el-icon> | ||
| 11 | + <folder-setting/> | ||
| 12 | + </div> | ||
| 13 | + <div class="center"> | ||
| 14 | + <el-button-group @click="airRouteUpdateDialogRef.open()"> | ||
| 15 | + <el-button>{{ title }}</el-button> | ||
| 16 | + <el-button>经纬M30T</el-button> | ||
| 17 | + </el-button-group> | ||
| 18 | + </div> | ||
| 19 | + <div class="right"></div> | ||
| 20 | + </div> | ||
| 21 | + <div class="content" style="display: flex;flex: 1;overflow: auto"> | ||
| 22 | + <div class="left" style="flex: 2;overflow:auto;"> | ||
| 23 | + <placemark-list/> | ||
| 24 | + </div> | ||
| 25 | + <div class="center" style="flex: 6;overflow:auto;"> | ||
| 26 | + <cesium-map/> | ||
| 27 | + </div> | ||
| 28 | + <div class="right" style="flex: 3;overflow:auto;"> | ||
| 29 | + <pre style="height: 100%" lang="xml"><code>{{ js2xml(DocumentElement, {spaces: 2}) }}</code> </pre> | ||
| 30 | + </div> | ||
| 31 | + </div> | ||
| 32 | + </div> | ||
| 33 | + <air-route-update-dialog ref="airRouteUpdateDialogRef"/> | ||
| 34 | +</template> | ||
| 35 | + | ||
| 36 | +<script setup lang="ts"> | ||
| 37 | +import {computed, inject, ref, type WritableComputedRef} from "vue"; | ||
| 38 | +import {ArrowLeft, Document} from "@element-plus/icons-vue"; | ||
| 39 | +import {type Element, js2xml, xml2json} from "xml-js"; | ||
| 40 | +import FolderSetting from "@/components/air-route/components/folder-setting.vue"; | ||
| 41 | +import AirRouteUpdateDialog from "@/components/air-route/components/air-route-update-dialog.vue"; | ||
| 42 | +import PlacemarkList from "@/components/air-route/components/placemark-list.vue"; | ||
| 43 | +import CesiumMap from "@/components/air-route/components/cesium-map.vue"; | ||
| 44 | + | ||
| 45 | + | ||
| 46 | +const show = ref(false) | ||
| 47 | + | ||
| 48 | +const title = inject("title"); | ||
| 49 | +const DocumentElement = inject<WritableComputedRef<Element, Element>>("DocumentElement"); | ||
| 50 | + | ||
| 51 | +const airRouteUpdateDialogRef = ref() | ||
| 52 | + | ||
| 53 | +async function open() { | ||
| 54 | + show.value = true | ||
| 55 | +} | ||
| 56 | + | ||
| 57 | +function close() { | ||
| 58 | + show.value = false | ||
| 59 | +} | ||
| 60 | + | ||
| 61 | +const emits = defineEmits(['save']) | ||
| 62 | + | ||
| 63 | + | ||
| 64 | +function save() { | ||
| 65 | + emits('save') | ||
| 66 | +} | ||
| 67 | + | ||
| 68 | +defineExpose({ | ||
| 69 | + open, | ||
| 70 | +}) | ||
| 71 | +</script> | ||
| 72 | + | ||
| 73 | +<style scoped> | ||
| 74 | +.air-route-dialog { | ||
| 75 | + width: 100vw; | ||
| 76 | + height: 100vh; | ||
| 77 | + position: fixed; | ||
| 78 | + top: 0; | ||
| 79 | + left: 0; | ||
| 80 | + z-index: 99; | ||
| 81 | + background: #232323; | ||
| 82 | + display: flex; | ||
| 83 | + flex-direction: column; | ||
| 84 | + | ||
| 85 | + .header { | ||
| 86 | + display: flex; | ||
| 87 | + padding: 10px; | ||
| 88 | + border-bottom: 1px solid #4f4f4f; | ||
| 89 | + z-index: 100; | ||
| 90 | + | ||
| 91 | + .left { | ||
| 92 | + display: flex; | ||
| 93 | + flex: 1; | ||
| 94 | + | ||
| 95 | + .action { | ||
| 96 | + cursor: pointer; | ||
| 97 | + margin: 0 5px; | ||
| 98 | + | ||
| 99 | + &:hover { | ||
| 100 | + color: #409eff; | ||
| 101 | + } | ||
| 102 | + | ||
| 103 | + &.disabled { | ||
| 104 | + cursor: not-allowed; | ||
| 105 | + opacity: 0.5; | ||
| 106 | + | ||
| 107 | + &:hover { | ||
| 108 | + color: unset; | ||
| 109 | + } | ||
| 110 | + } | ||
| 111 | + } | ||
| 112 | + } | ||
| 113 | + | ||
| 114 | + .center { | ||
| 115 | + flex: 3; | ||
| 116 | + display: flex; | ||
| 117 | + justify-content: center; | ||
| 118 | + } | ||
| 119 | + | ||
| 120 | + .right { | ||
| 121 | + flex: 1; | ||
| 122 | + } | ||
| 123 | + | ||
| 124 | + } | ||
| 125 | +} | ||
| 126 | +</style> |
| 1 | +<template> | ||
| 2 | + <el-dialog v-model="show" title="编辑"> | ||
| 3 | + <el-form labelPosition="top"> | ||
| 4 | + <el-form-item label="选择飞行器"> | ||
| 5 | + <l-select-box :options="optionsGroup.map((item,index)=>({...item,value:index}))" v-model="form.selectGroup" | ||
| 6 | + @select="onChangeGroup"/> | ||
| 7 | + </el-form-item> | ||
| 8 | + <el-form-item label="选择型号"> | ||
| 9 | + <l-select-box :options="optionsGroup[form.selectGroup].children" v-model="form.droneEnumValue"/> | ||
| 10 | + </el-form-item> | ||
| 11 | + <el-form-item title="航线名称"> | ||
| 12 | + <el-input v-model="form.title"/> | ||
| 13 | + </el-form-item> | ||
| 14 | + </el-form> | ||
| 15 | + <template #footer> | ||
| 16 | + <div class="dialog-footer"> | ||
| 17 | + <el-button @click="show = false">取消</el-button> | ||
| 18 | + <el-button type="primary" @click="confirm"> | ||
| 19 | + 确定 | ||
| 20 | + </el-button> | ||
| 21 | + </div> | ||
| 22 | + </template> | ||
| 23 | + </el-dialog> | ||
| 24 | +</template> | ||
| 25 | + | ||
| 26 | +<script setup lang="ts"> | ||
| 27 | + | ||
| 28 | +import {type Element, js2xml, xml2js} from "xml-js"; | ||
| 29 | +import {inject, ref, type WritableComputedRef} from "vue"; | ||
| 30 | +import {useXMLComputed} from "@/components/air-route/components/useXMLComputed.ts"; | ||
| 31 | +import LSelectBox from "@/components/air-route/components/l-select-box.vue"; | ||
| 32 | + | ||
| 33 | +const form = ref({}) | ||
| 34 | + | ||
| 35 | +const title = inject("title"); | ||
| 36 | +const DocumentElement = inject<WritableComputedRef<Element, Element>>("DocumentElement"); | ||
| 37 | + | ||
| 38 | +const show = ref(false) | ||
| 39 | + | ||
| 40 | +const {elment: droneInfoElement} = useXMLComputed(DocumentElement, 'wpml:droneInfo') | ||
| 41 | +const {text: droneEnumValue} = useXMLComputed(droneInfoElement, 'wpml:droneEnumValue', { | ||
| 42 | + defaultText: 'Matrice 4E' | ||
| 43 | +}) | ||
| 44 | +const optionsGroup = ref([ | ||
| 45 | + { | ||
| 46 | + label: 'Matrice 30 系列', | ||
| 47 | + children: [ | ||
| 48 | + { | ||
| 49 | + label: 'Matrice 30', | ||
| 50 | + value: 'Matrice 30', | ||
| 51 | + }, | ||
| 52 | + { | ||
| 53 | + label: 'Matrice 30T', | ||
| 54 | + value: 'Matrice 30T', | ||
| 55 | + }, | ||
| 56 | + ] | ||
| 57 | + }, { | ||
| 58 | + label: 'Matrice 4 系列', | ||
| 59 | + children: [ | ||
| 60 | + { | ||
| 61 | + label: 'Matrice 4E', | ||
| 62 | + value: 'Matrice 4E', | ||
| 63 | + }, | ||
| 64 | + { | ||
| 65 | + label: 'Matrice 4T', | ||
| 66 | + value: 'Matrice 4T', | ||
| 67 | + }, | ||
| 68 | + ] | ||
| 69 | + } | ||
| 70 | +]) | ||
| 71 | + | ||
| 72 | +function onChangeGroup() { | ||
| 73 | + form.value.droneEnumValue = optionsGroup.value[form.value.selectGroup].children[0].value | ||
| 74 | +} | ||
| 75 | + | ||
| 76 | +async function open() { | ||
| 77 | + show.value = true; | ||
| 78 | + form.value = { | ||
| 79 | + title: title.value, | ||
| 80 | + droneEnumValue: droneEnumValue.value, | ||
| 81 | + selectGroup: optionsGroup.value.findIndex(v => v.children.findIndex(v => v.value === droneEnumValue.value) !== -1) | ||
| 82 | + } | ||
| 83 | +} | ||
| 84 | + | ||
| 85 | +const emits = defineEmits(['confirm']) | ||
| 86 | + | ||
| 87 | +function confirm() { | ||
| 88 | + show.value = false; | ||
| 89 | + title.value = form.value.title | ||
| 90 | + droneEnumValue.value = form.value.droneEnumValue | ||
| 91 | + emits('confirm') | ||
| 92 | +} | ||
| 93 | + | ||
| 94 | +defineExpose({ | ||
| 95 | + open | ||
| 96 | +}) | ||
| 97 | +</script> | ||
| 98 | + | ||
| 99 | +<style scoped> | ||
| 100 | + | ||
| 101 | +</style> |
| 1 | +<template> | ||
| 2 | + <div style="width: 100%;height: 100%;"> | ||
| 3 | + <div id="cesium-map" style="width: 100%;height: 100%;"></div> | ||
| 4 | + | ||
| 5 | + </div> | ||
| 6 | +</template> | ||
| 7 | + | ||
| 8 | +<script setup lang="ts"> | ||
| 9 | +import * as Cesium from "cesium"; | ||
| 10 | +import "cesium/Build/Cesium/Widgets/widgets.css"; | ||
| 11 | +import {inject, onMounted, ref, shallowRef, watch, type WritableComputedRef} from "vue"; | ||
| 12 | +import {useXMLComputed, useXMLComputedArr} from "@/components/air-route/components/useXMLComputed.ts"; | ||
| 13 | +import type {Element} from "xml-js"; | ||
| 14 | + | ||
| 15 | +const DocumentElement = inject<WritableComputedRef<Element, Element>>("DocumentElement"); | ||
| 16 | + | ||
| 17 | +const viewer = shallowRef() | ||
| 18 | + | ||
| 19 | +function initCesium() { | ||
| 20 | + viewer.value = new Cesium.Viewer("cesium-map", { | ||
| 21 | + animation: false, | ||
| 22 | + baseLayerPicker: false, | ||
| 23 | + fullscreenButton: false, | ||
| 24 | + geocoder: false, | ||
| 25 | + homeButton: false, | ||
| 26 | + sceneModePicker: false, | ||
| 27 | + timeline: false, | ||
| 28 | + navigationHelpButton: false, | ||
| 29 | + infoBox: false, | ||
| 30 | + selectionIndicator: false, | ||
| 31 | + terrainProvider: new Cesium.EllipsoidTerrainProvider() | ||
| 32 | + }) | ||
| 33 | + | ||
| 34 | + // 添加鼠标移动事件监听 | ||
| 35 | + const handler = new Cesium.ScreenSpaceEventHandler(viewer.value.scene.canvas); | ||
| 36 | + let highlightedEntity = null; | ||
| 37 | + | ||
| 38 | + | ||
| 39 | + handler.setInputAction((movement) => { | ||
| 40 | + try { | ||
| 41 | + const pickedObject = viewer.value.scene.pick(movement.endPosition); | ||
| 42 | + if (pickedObject && pickedObject.id && pointList.value.find((item) => item._id === pickedObject.id._id)) { | ||
| 43 | + viewer.value.scene.canvas.style.cursor = 'pointer'; | ||
| 44 | + // 鼠标移入时设置高亮颜色 | ||
| 45 | + if (highlightedEntity !== pickedObject.id) { | ||
| 46 | + if (highlightedEntity) { | ||
| 47 | + // 确保highlightedEntity存在point属性 | ||
| 48 | + if (highlightedEntity.point) { | ||
| 49 | + highlightedEntity.point.color = Cesium.Color.WHITE; | ||
| 50 | + highlightedEntity.point.outlineColor = Cesium.Color.WHITE; | ||
| 51 | + } | ||
| 52 | + } | ||
| 53 | + highlightedEntity = pickedObject.id; | ||
| 54 | + if (highlightedEntity.point) { | ||
| 55 | + highlightedEntity.point.color = Cesium.Color.GREEN; | ||
| 56 | + highlightedEntity.point.outlineColor = Cesium.Color.WHITE; | ||
| 57 | + } | ||
| 58 | + } | ||
| 59 | + } else if (highlightedEntity) { | ||
| 60 | + viewer.value.scene.canvas.style.cursor = 'default'; | ||
| 61 | + // 鼠标移出时恢复颜色 | ||
| 62 | + if (highlightedEntity.point) { | ||
| 63 | + highlightedEntity.point.color = Cesium.Color.WHITE; | ||
| 64 | + highlightedEntity.point.outlineColor = Cesium.Color.WHITE; | ||
| 65 | + } | ||
| 66 | + highlightedEntity = null; | ||
| 67 | + } | ||
| 68 | + if (!pickedObject) { | ||
| 69 | + viewer.value.scene.canvas.style.cursor = 'default'; | ||
| 70 | + } | ||
| 71 | + } catch (error) { | ||
| 72 | + console.error('Error in mouse move handler:', error); | ||
| 73 | + } | ||
| 74 | + }, Cesium.ScreenSpaceEventType.MOUSE_MOVE); | ||
| 75 | + | ||
| 76 | + viewer.value.camera.setView({ | ||
| 77 | + destination: Cesium.Cartesian3.fromDegrees(102.814068783866, 23.2359655022029, 300.0), | ||
| 78 | + orientation: { | ||
| 79 | + heading: Cesium.Math.toRadians(175.0), | ||
| 80 | + pitch: Cesium.Math.toRadians(-90.0), | ||
| 81 | + roll: 0.0 | ||
| 82 | + } | ||
| 83 | + }) | ||
| 84 | + drawPlacemark() | ||
| 85 | + if (placemarkList.value.length > 0) { | ||
| 86 | + const {elment: PointElment} = useXMLComputed(placemarkList.value[placemarkList.value.length - 1].elment, 'Point') | ||
| 87 | + const {text: coordinates} = useXMLComputed(PointElment, 'coordinates', { | ||
| 88 | + separator: ',', | ||
| 89 | + textType: 'number' | ||
| 90 | + }) | ||
| 91 | + const {text: executeHeight} = useXMLComputed(placemarkList.value[placemarkList.value.length - 1].elment, 'wpml:executeHeight', { | ||
| 92 | + textType: 'number' | ||
| 93 | + }) | ||
| 94 | + drawPointer({ | ||
| 95 | + longitude: coordinates.value[0], | ||
| 96 | + latitude: coordinates.value[1], | ||
| 97 | + height: executeHeight.value | ||
| 98 | + }) | ||
| 99 | + } | ||
| 100 | + | ||
| 101 | + | ||
| 102 | +} | ||
| 103 | + | ||
| 104 | + | ||
| 105 | +const {elment: FolderElement} = useXMLComputed(DocumentElement, 'Folder') | ||
| 106 | +const {list: placemarkList} = useXMLComputedArr(FolderElement, 'Placemark') | ||
| 107 | +watch(placemarkList, () => { | ||
| 108 | + if (viewer.value) { | ||
| 109 | + drawPlacemark() | ||
| 110 | + if (placemarkList.value.length > 0) { | ||
| 111 | + const {elment: PointElment} = useXMLComputed(placemarkList.value[placemarkList.value.length - 1].elment, 'Point') | ||
| 112 | + const {text: coordinates} = useXMLComputed(PointElment, 'coordinates', { | ||
| 113 | + separator: ',', | ||
| 114 | + textType: 'number' | ||
| 115 | + }) | ||
| 116 | + const {text: executeHeight} = useXMLComputed(placemarkList.value[placemarkList.value.length - 1].elment, 'wpml:executeHeight', { | ||
| 117 | + textType: 'number' | ||
| 118 | + }) | ||
| 119 | + drawPointer({ | ||
| 120 | + longitude: coordinates.value[0], | ||
| 121 | + latitude: coordinates.value[1], | ||
| 122 | + height: executeHeight.value | ||
| 123 | + }) | ||
| 124 | + } | ||
| 125 | + } | ||
| 126 | +}, { | ||
| 127 | + deep: true | ||
| 128 | +}) | ||
| 129 | +const pointList = ref([]) | ||
| 130 | +const polylineList = ref([]) | ||
| 131 | +const arrowList = ref([]) | ||
| 132 | + | ||
| 133 | +//画点和线 | ||
| 134 | +function drawPlacemark() { | ||
| 135 | + // 先清除之前的点 | ||
| 136 | + pointList.value.forEach(point => viewer.value.entities.remove(point)); | ||
| 137 | + pointList.value = []; | ||
| 138 | + // 清除旧连线和箭头 | ||
| 139 | + polylineList.value.forEach(line => viewer.value.entities.remove(line)); | ||
| 140 | + polylineList.value = []; | ||
| 141 | + arrowList.value.forEach(arrow => viewer.value.entities.remove(arrow)); | ||
| 142 | + arrowList.value = []; | ||
| 143 | + | ||
| 144 | + placemarkList.value.forEach(({elment}) => { | ||
| 145 | + const {elment: PointElment} = useXMLComputed(elment, 'Point') | ||
| 146 | + const {text: coordinates} = useXMLComputed(PointElment, 'coordinates', { | ||
| 147 | + separator: ',', | ||
| 148 | + textType: 'number' | ||
| 149 | + }) | ||
| 150 | + const {text: executeHeight} = useXMLComputed(elment, 'wpml:executeHeight', { | ||
| 151 | + textType: 'number' | ||
| 152 | + }) | ||
| 153 | + const point = viewer.value.entities.add({ | ||
| 154 | + position: Cesium.Cartesian3.fromDegrees(coordinates.value[0], coordinates.value[1], executeHeight.value), | ||
| 155 | + point: { | ||
| 156 | + pixelSize: 10, | ||
| 157 | + color: Cesium.Color.WHITE, | ||
| 158 | + outlineColor: Cesium.Color.WHITE, | ||
| 159 | + outlineWidth: 2, | ||
| 160 | + disableDepthTestDistance: Number.POSITIVE_INFINITY | ||
| 161 | + } | ||
| 162 | + }) | ||
| 163 | + pointList.value.push(point) | ||
| 164 | + }) | ||
| 165 | + | ||
| 166 | + // 创建连线和方向箭头 | ||
| 167 | + for (let i = 0; i < pointList.value.length - 1; i++) { | ||
| 168 | + const start = pointList.value[i].position.getValue(); | ||
| 169 | + const end = pointList.value[i + 1].position.getValue(); | ||
| 170 | + | ||
| 171 | + // 绘制连线 | ||
| 172 | + const polyline = viewer.value.entities.add({ | ||
| 173 | + polyline: { | ||
| 174 | + positions: [start, end], | ||
| 175 | + width: 3, | ||
| 176 | + material: new Cesium.PolylineDashMaterialProperty({ | ||
| 177 | + color: Cesium.Color.GREEN, | ||
| 178 | + gapColor: Cesium.Color.TRANSPARENT, | ||
| 179 | + dashLength: 16.0, | ||
| 180 | + dashPattern: 255 | ||
| 181 | + }) | ||
| 182 | + } | ||
| 183 | + }); | ||
| 184 | + polylineList.value.push(polyline); | ||
| 185 | + } | ||
| 186 | + | ||
| 187 | +} | ||
| 188 | + | ||
| 189 | +const pointer = ref(null) | ||
| 190 | +/*const cameraEntity = ref(null)*/ | ||
| 191 | +const heading = ref(0) | ||
| 192 | + | ||
| 193 | +//画移动指针 | ||
| 194 | +function drawPointer({longitude, latitude, height}) { | ||
| 195 | + document.removeEventListener('keydown', handleKeyDown); | ||
| 196 | + viewer.value.camera.flyTo({ | ||
| 197 | + destination: Cesium.Cartesian3.fromDegrees(longitude, latitude - 0.001, height + 100), | ||
| 198 | + orientation: { | ||
| 199 | + heading: Cesium.Math.toRadians(heading.value), | ||
| 200 | + pitch: Cesium.Math.toRadians(-45), | ||
| 201 | + roll: Cesium.Math.toRadians(0) | ||
| 202 | + } | ||
| 203 | + }) | ||
| 204 | + if (pointer.value) { | ||
| 205 | + viewer.value.entities.remove(pointer.value); | ||
| 206 | + } | ||
| 207 | + const position = Cesium.Cartesian3.fromDegrees(longitude, latitude, height) | ||
| 208 | + pointer.value = viewer.value.entities.add({ | ||
| 209 | + position: position, | ||
| 210 | + cylinder: { | ||
| 211 | + length: 8, | ||
| 212 | + topRadius: 0, | ||
| 213 | + bottomRadius: 3, | ||
| 214 | + slices: 4, | ||
| 215 | + material: Cesium.Color.BLUE.withAlpha(0.8), | ||
| 216 | + outline: true, | ||
| 217 | + outlineColor: Cesium.Color.WHITE, | ||
| 218 | + outlineWidth: 2, | ||
| 219 | + }, | ||
| 220 | + orientation: Cesium.Transforms.headingPitchRollQuaternion(position, | ||
| 221 | + new Cesium.HeadingPitchRoll( | ||
| 222 | + Cesium.Math.toRadians(90 + heading.value), | ||
| 223 | + Cesium.Math.toRadians(90), | ||
| 224 | + Cesium.Math.toRadians(0)) | ||
| 225 | + ), | ||
| 226 | + }); | ||
| 227 | + document.addEventListener('keydown', handleKeyDown); | ||
| 228 | +} | ||
| 229 | + | ||
| 230 | +// 处理键盘事件 | ||
| 231 | +function handleKeyDown(event) { | ||
| 232 | + if (!pointer.value) return; | ||
| 233 | + | ||
| 234 | + const moveStep = 0.0000001; // 移动步长,可根据需要调整 | ||
| 235 | + const currentPos = pointer.value.position.getValue(); | ||
| 236 | + const cartographic = Cesium.Cartographic.fromCartesian(currentPos); | ||
| 237 | + switch (event.key.toLowerCase()) { | ||
| 238 | + case 'w': | ||
| 239 | + cartographic.latitude += moveStep * Math.cos(Cesium.Math.toRadians(heading.value)); | ||
| 240 | + cartographic.longitude += moveStep * Math.sin(Cesium.Math.toRadians(heading.value)); | ||
| 241 | + break; | ||
| 242 | + case 'a': | ||
| 243 | + cartographic.latitude += moveStep * Math.cos(Cesium.Math.toRadians(heading.value - 90)); | ||
| 244 | + cartographic.longitude += moveStep * Math.sin(Cesium.Math.toRadians(heading.value - 90)); | ||
| 245 | + break; | ||
| 246 | + case 'd': | ||
| 247 | + cartographic.latitude += moveStep * Math.cos(Cesium.Math.toRadians(heading.value + 90)); | ||
| 248 | + cartographic.longitude += moveStep * Math.sin(Cesium.Math.toRadians(heading.value + 90)); | ||
| 249 | + break; | ||
| 250 | + case 's': | ||
| 251 | + cartographic.latitude += moveStep * Math.cos(Cesium.Math.toRadians(heading.value + 180)); | ||
| 252 | + cartographic.longitude += moveStep * Math.sin(Cesium.Math.toRadians(heading.value + 180)); | ||
| 253 | + break; | ||
| 254 | + case 'c': | ||
| 255 | + cartographic.height += 1; | ||
| 256 | + break; | ||
| 257 | + case 'z': | ||
| 258 | + cartographic.height -= 1; | ||
| 259 | + break; | ||
| 260 | + case 'q': // 逆时针旋转 | ||
| 261 | + heading.value -= 1 | ||
| 262 | + pointer.value.orientation = Cesium.Transforms.headingPitchRollQuaternion(currentPos, | ||
| 263 | + new Cesium.HeadingPitchRoll( | ||
| 264 | + Cesium.Math.toRadians(90 + heading.value), | ||
| 265 | + Cesium.Math.toRadians(90), | ||
| 266 | + Cesium.Math.toRadians(0)) | ||
| 267 | + ) | ||
| 268 | + break; | ||
| 269 | + case 'e': // 顺时针旋转 | ||
| 270 | + heading.value += 1 | ||
| 271 | + pointer.value.orientation = Cesium.Transforms.headingPitchRollQuaternion(currentPos, | ||
| 272 | + new Cesium.HeadingPitchRoll( | ||
| 273 | + Cesium.Math.toRadians(90 + heading.value), | ||
| 274 | + Cesium.Math.toRadians(90), | ||
| 275 | + Cesium.Math.toRadians(0)) | ||
| 276 | + ) | ||
| 277 | + break; | ||
| 278 | + default: | ||
| 279 | + return; | ||
| 280 | + } | ||
| 281 | + const newPosition = Cesium.Cartesian3.fromRadians( | ||
| 282 | + cartographic.longitude, | ||
| 283 | + cartographic.latitude, | ||
| 284 | + cartographic.height | ||
| 285 | + ); | ||
| 286 | + pointer.value.position = newPosition; | ||
| 287 | +} | ||
| 288 | + | ||
| 289 | +onMounted(() => { | ||
| 290 | + initCesium() | ||
| 291 | +}) | ||
| 292 | +</script> | ||
| 293 | + | ||
| 294 | +<style scoped></style> | ||
| 295 | + | ||
| 296 | + | ||
| 297 | + | ||
| 298 | + | ||
| 299 | + | ||
| 300 | + | ||
| 301 | + | ||
| 302 | + | ||
| 303 | + | ||
| 304 | + | ||
| 305 | + | ||
| 306 | + | ||
| 307 | + | ||
| 308 | + | ||
| 309 | + | ||
| 310 | + | ||
| 311 | + | ||
| 312 | + | ||
| 313 | + | ||
| 314 | + | ||
| 315 | + | ||
| 316 | + | ||
| 317 | + | ||
| 318 | + | ||
| 319 | + | ||
| 320 | + | ||
| 321 | + | ||
| 322 | + | ||
| 323 | + |
| 1 | +<template> | ||
| 2 | + <div class="course-setting" style="position: relative"> | ||
| 3 | + <el-button @click="headerLeftConfigShow=!headerLeftConfigShow"> | ||
| 4 | + <div style="display: flex;align-items: center"> | ||
| 5 | + <el-icon> | ||
| 6 | + <Promotion/> | ||
| 7 | + </el-icon> | ||
| 8 | + <span>航线设置</span> | ||
| 9 | + <el-icon :style="{transform:headerLeftConfigShow?'rotateZ(180deg)':'rotateZ(0deg)'}" | ||
| 10 | + style="margin-left: 10px;transition: all .5s"> | ||
| 11 | + <ArrowUpBold/> | ||
| 12 | + </el-icon> | ||
| 13 | + </div> | ||
| 14 | + </el-button> | ||
| 15 | + <transition name="drop"> | ||
| 16 | + <div v-if="headerLeftConfigShow" class="dialog"> | ||
| 17 | + <div class="card"> | ||
| 18 | + <div style="display: flex;align-items: center;justify-content: space-between"> | ||
| 19 | + <div>已设置参考起飞点</div> | ||
| 20 | + <el-button type="text">重设置起飞点</el-button> | ||
| 21 | + </div> | ||
| 22 | + </div> | ||
| 23 | + <div class="card"> | ||
| 24 | + <div>拍照设置</div> | ||
| 25 | + <div style="display: flex;align-items: center;justify-content: space-between;margin-top: 10px"> | ||
| 26 | + <el-button round style="flex: 1" v-for="item in photoSettingOptions" @click="selectPhotoSetting(item)" | ||
| 27 | + :key="item.value" | ||
| 28 | + :type="imageFormat?.includes(item.value)?'primary':'info'">{{ item.label }} | ||
| 29 | + </el-button> | ||
| 30 | + </div> | ||
| 31 | + <div style="display: flex;align-items: center;justify-content: space-between;margin-top: 10px"> | ||
| 32 | + <div>智能低光</div> | ||
| 33 | + <el-switch active-value="lowLightSmartShooting" inactive-value="normalPhoto" v-model="orientedPhotoMode"/> | ||
| 34 | + </div> | ||
| 35 | + </div> | ||
| 36 | + <div class="card"> | ||
| 37 | + <el-button-group style="display: flex"> | ||
| 38 | + <el-button v-for="item in flyToWaylineModeOptions" style="flex:1" @click="selectClimbingMode(item)" | ||
| 39 | + :key="item.value" | ||
| 40 | + :type="flyToWaylineMode===item.value?'primary':'info'">{{ item.label }} | ||
| 41 | + </el-button> | ||
| 42 | + </el-button-group> | ||
| 43 | + | ||
| 44 | + <div style="display: flex"> | ||
| 45 | + <div style="flex: 1;display: flex;align-items: center;justify-content: center"> | ||
| 46 | + <el-image style="width: 250px;height: 150px" :src="courseSetting1"/> | ||
| 47 | + </div> | ||
| 48 | + <div style="display: flex;flex-direction: column;width: 80px"> | ||
| 49 | + <el-button :disabled="takeOffSecurityHeight>=takeOffSecurityHeightMax" size="small" | ||
| 50 | + style="width: 100%;margin:5px 0" | ||
| 51 | + @click="addTakeOffSecurityHeight(100)">+100 | ||
| 52 | + </el-button> | ||
| 53 | + <el-button :disabled="takeOffSecurityHeight>=takeOffSecurityHeightMax" size="small" | ||
| 54 | + style="width: 100%;margin:5px 0" | ||
| 55 | + @click="addTakeOffSecurityHeight(10)">+10 | ||
| 56 | + </el-button> | ||
| 57 | + <div style="width: 100%;margin:5px 0;display: flex ;align-items: flex-end"> | ||
| 58 | + <span style="font-weight: bold;color: #409eff;font-size: x-large">{{ takeOffSecurityHeight }}</span> | ||
| 59 | + <span style="margin-left: 10px">m</span> | ||
| 60 | + </div> | ||
| 61 | + <el-button :disabled="takeOffSecurityHeight<=takeOffSecurityHeightMin" size="small" | ||
| 62 | + style="width: 100%;margin:5px 0" | ||
| 63 | + @click="addTakeOffSecurityHeight(-10)">-10 | ||
| 64 | + </el-button> | ||
| 65 | + <el-button :disabled="takeOffSecurityHeight<=takeOffSecurityHeightMin" size="small" | ||
| 66 | + style="width: 100%;margin:5px 0" | ||
| 67 | + @click="addTakeOffSecurityHeight(-100)">-100 | ||
| 68 | + </el-button> | ||
| 69 | + </div> | ||
| 70 | + </div> | ||
| 71 | + | ||
| 72 | + </div> | ||
| 73 | + <div class="card"> | ||
| 74 | + <div>航海线高度</div> | ||
| 75 | + <el-button-group style="display: flex;margin-top: 10px"> | ||
| 76 | + <el-button v-for="item in executeHeightModeOptions" style="flex:1" @click="selectExecuteHeightMode(item)" | ||
| 77 | + :key="item.value" | ||
| 78 | + :type="executeHeightMode===item.value?'primary':'info'">{{ item.label }} | ||
| 79 | + </el-button> | ||
| 80 | + </el-button-group> | ||
| 81 | + <div style="display: flex"> | ||
| 82 | + <div style="flex: 1;display: flex;align-items: center;justify-content: center"> | ||
| 83 | + <el-image style="width: 250px;height: 150px" :src="courseSetting2"/> | ||
| 84 | + </div> | ||
| 85 | + <div style="display: flex;flex-direction: column;width: 80px"> | ||
| 86 | + <el-button :disabled="executeHeight>=executeHeightMax" size="small" | ||
| 87 | + style="width: 100%;margin:5px 0" @click="addExecuteHeight(100)">+100 | ||
| 88 | + </el-button> | ||
| 89 | + <el-button :disabled="executeHeight>=executeHeightMax" size="small" | ||
| 90 | + style="width: 100%;margin:5px 0" @click="addExecuteHeight(10)">+10 | ||
| 91 | + </el-button> | ||
| 92 | + <div style="width: 100%;margin:5px 0;display: flex ;align-items: flex-end"> | ||
| 93 | + <span style="font-weight: bold;color: #409eff;font-size: x-large">{{ executeHeight }}</span> | ||
| 94 | + <span style="margin-left: 10px">m</span> | ||
| 95 | + </div> | ||
| 96 | + <el-button :disabled="executeHeight<=executeHeightMin" size="small" | ||
| 97 | + style="width: 100%;margin:5px 0" @click="addExecuteHeight(-10)">-10 | ||
| 98 | + </el-button> | ||
| 99 | + <el-button :disabled="executeHeight<=executeHeightMin" size="small" | ||
| 100 | + style="width: 100%;margin:5px 0" @click="addExecuteHeight(-100)">-100 | ||
| 101 | + </el-button> | ||
| 102 | + </div> | ||
| 103 | + </div> | ||
| 104 | + </div> | ||
| 105 | + <div class="card"> | ||
| 106 | + <div>全局航线速度</div> | ||
| 107 | + <div style="display: flex;margin-top: 10px"> | ||
| 108 | + <el-button @click="addAutoFlightSpeed(-1)" :icon="Minus"></el-button> | ||
| 109 | + <div style="flex: 1;display: flex;justify-content: center;align-items: flex-end"> | ||
| 110 | + <span style="font-weight: bold;color: #409eff;font-size: x-large">{{ autoFlightSpeed }}</span> | ||
| 111 | + <span style="margin-left: 10px">m/s</span> | ||
| 112 | + </div> | ||
| 113 | + <el-button @click="addAutoFlightSpeed(1)" :icon="Plus"></el-button> | ||
| 114 | + </div> | ||
| 115 | + </div> | ||
| 116 | + <!-- <div class="card"> | ||
| 117 | + <div> | ||
| 118 | + <div | ||
| 119 | + style="display: flex;align-items: center;justify-content: space-between;padding: 10px; "> | ||
| 120 | + <span>高级设置</span> | ||
| 121 | + <el-icon @click="moreShow=!moreShow" style="cursor: pointer;transition: all .5s; " | ||
| 122 | + :style="{transform:moreShow?' rotateZ(0deg)':' rotateZ(180deg)'}"> | ||
| 123 | + <ArrowUpBold/> | ||
| 124 | + </el-icon> | ||
| 125 | + </div> | ||
| 126 | + <div style="border-bottom: 1px solid #393939"></div> | ||
| 127 | + <div :style="{height:moreShow?'350px':'0'}" style="transition: all .5s;overflow: hidden"> | ||
| 128 | + <div class="card"> | ||
| 129 | + <div>起飞速度</div> | ||
| 130 | + <div style="display: flex;margin-top: 10px"> | ||
| 131 | + <el-button @click="addFlySpeed(-1)" :icon="Minus"></el-button> | ||
| 132 | + <div style="flex: 1;display: flex;justify-content: center;align-items: flex-end"> | ||
| 133 | + <span style="font-weight: bold;color: #409eff;font-size: x-large">{{ flySpeed }}</span> | ||
| 134 | + <span style="margin-left: 10px">m/s</span> | ||
| 135 | + </div> | ||
| 136 | + <el-button @click="addFlySpeed(1)" :icon="Plus"></el-button> | ||
| 137 | + </div> | ||
| 138 | + <div style="margin: 5px 0">航点类型</div> | ||
| 139 | + <el-select style="margin: 5px 0"></el-select> | ||
| 140 | + <div style="margin: 5px 0">航点类型</div> | ||
| 141 | + <el-select style="margin: 5px 0"></el-select> | ||
| 142 | + <div style="margin: 5px 0">航点类型</div> | ||
| 143 | + <el-select style="margin: 5px 0"></el-select> | ||
| 144 | + <div style="margin: 5px 0">航点类型</div> | ||
| 145 | + <el-select style="margin: 5px 0"></el-select> | ||
| 146 | + </div> | ||
| 147 | + </div> | ||
| 148 | + </div> | ||
| 149 | + </div>--> | ||
| 150 | + </div> | ||
| 151 | + </transition> | ||
| 152 | + </div> | ||
| 153 | +</template> | ||
| 154 | + | ||
| 155 | +<script setup lang="ts"> | ||
| 156 | +import {ArrowUpBold, Promotion, Plus, Minus} from "@element-plus/icons-vue"; | ||
| 157 | +import {inject, ref, watch, type WritableComputedRef} from "vue"; | ||
| 158 | +import courseSetting1 from "../image/courseSetting1.png" | ||
| 159 | +import courseSetting2 from "../image/courseSetting2.png" | ||
| 160 | +import {type Element} from "xml-js"; | ||
| 161 | +import {useXMLComputed, useXMLComputedArr} from "@/components/air-route/components/useXMLComputed.ts"; | ||
| 162 | + | ||
| 163 | +const headerLeftConfigShow = ref(false) | ||
| 164 | +const DocumentElement = inject<WritableComputedRef<Element, Element>>("DocumentElement"); | ||
| 165 | + | ||
| 166 | +const { | ||
| 167 | + elment: missionConfigElement | ||
| 168 | +} = useXMLComputed(DocumentElement, 'wpml:missionConfig') | ||
| 169 | +const { | ||
| 170 | + elment: FolderElement | ||
| 171 | +} = useXMLComputed(DocumentElement, 'Folder') | ||
| 172 | +const { | ||
| 173 | + elment: PlacemarkElement | ||
| 174 | +} = useXMLComputed(FolderElement, 'Placemark') | ||
| 175 | +const { | ||
| 176 | + elment: payloadParamElement | ||
| 177 | +} = useXMLComputed(missionConfigElement, 'wpml:payloadParam') | ||
| 178 | +const { | ||
| 179 | + elment: actionActuatorFuncParamElement | ||
| 180 | +} = useXMLComputed(missionConfigElement, 'wpml:actionActuatorFuncParam') | ||
| 181 | + | ||
| 182 | +const { | ||
| 183 | + text: imageFormat | ||
| 184 | +} = useXMLComputed(payloadParamElement, 'wpml:imageFormat', { | ||
| 185 | + separator: ',', | ||
| 186 | + defaultText: ['wide', 'zoom', 'ir'] | ||
| 187 | +}) | ||
| 188 | +const { | ||
| 189 | + text: payloadLensIndex | ||
| 190 | +} = useXMLComputed(actionActuatorFuncParamElement, 'wpml:payloadLensIndex', { | ||
| 191 | + separator: ',', | ||
| 192 | + defaultText: ['wide', 'zoom', 'ir'] | ||
| 193 | +}) | ||
| 194 | + | ||
| 195 | +const photoSettingOptions = [{ | ||
| 196 | + label: '广角照片', | ||
| 197 | + value: 'wide' | ||
| 198 | +}, { | ||
| 199 | + label: '变焦照片', | ||
| 200 | + value: 'zoom' | ||
| 201 | +}, { | ||
| 202 | + label: '红外照片', | ||
| 203 | + value: 'ir' | ||
| 204 | +}] | ||
| 205 | + | ||
| 206 | +function selectPhotoSetting(item) { | ||
| 207 | + let arr = imageFormat.value | ||
| 208 | + if (arr.includes(item.value)) { | ||
| 209 | + if (arr.length > 1) { | ||
| 210 | + arr.splice(arr.indexOf(item.value), 1) | ||
| 211 | + imageFormat.value = arr | ||
| 212 | + payloadLensIndex.value = arr | ||
| 213 | + } | ||
| 214 | + } else { | ||
| 215 | + imageFormat.value = [...arr, item.value] | ||
| 216 | + payloadLensIndex.value = [...arr, item.value] | ||
| 217 | + } | ||
| 218 | +} | ||
| 219 | + | ||
| 220 | +const { | ||
| 221 | + text: orientedPhotoMode | ||
| 222 | +} = useXMLComputed(actionActuatorFuncParamElement, 'wpml:orientedPhotoMode', { | ||
| 223 | + defaultText: 'normalPhoto' | ||
| 224 | +}) | ||
| 225 | + | ||
| 226 | +//飞向首航点模式 | ||
| 227 | +const { | ||
| 228 | + text: flyToWaylineMode | ||
| 229 | +} = useXMLComputed(missionConfigElement, 'wpml:flyToWaylineMode', { | ||
| 230 | + defaultText: 'safely' | ||
| 231 | +}) | ||
| 232 | +const flyToWaylineModeOptions = ref([ | ||
| 233 | + {label: '垂直爬升', value: 'safely'}, | ||
| 234 | + {label: '倾斜爬升', value: 'pointToPoint'}, | ||
| 235 | +]) | ||
| 236 | + | ||
| 237 | +function selectClimbingMode(item) { | ||
| 238 | + flyToWaylineMode.value = item.value | ||
| 239 | +} | ||
| 240 | + | ||
| 241 | +//安全起飞高度 | ||
| 242 | +const { | ||
| 243 | + text: takeOffSecurityHeight | ||
| 244 | +} = useXMLComputed(missionConfigElement, 'wpml:takeOffSecurityHeight', { | ||
| 245 | + defaultText: 100, | ||
| 246 | + textType: 'number' | ||
| 247 | +}) | ||
| 248 | +const takeOffSecurityHeightMax = ref(1500) | ||
| 249 | +const takeOffSecurityHeightMin = ref(2) | ||
| 250 | + | ||
| 251 | +function addTakeOffSecurityHeight(item) { | ||
| 252 | + let res = takeOffSecurityHeight.value + item | ||
| 253 | + if (res <= takeOffSecurityHeightMax.value && res >= takeOffSecurityHeightMin.value) { | ||
| 254 | + takeOffSecurityHeight.value = res | ||
| 255 | + } else { | ||
| 256 | + if (res > takeOffSecurityHeightMax.value) { | ||
| 257 | + takeOffSecurityHeight.value = takeOffSecurityHeightMax.value | ||
| 258 | + } | ||
| 259 | + if (res < takeOffSecurityHeightMin.value) { | ||
| 260 | + takeOffSecurityHeight.value = takeOffSecurityHeightMin.value | ||
| 261 | + } | ||
| 262 | + } | ||
| 263 | +} | ||
| 264 | + | ||
| 265 | +//执行高度模式 | ||
| 266 | +const { | ||
| 267 | + text: executeHeightMode | ||
| 268 | +} = useXMLComputed(FolderElement, 'wpml:executeHeightMode', { | ||
| 269 | + defaultText: 'relativeToStartPoint', | ||
| 270 | +}) | ||
| 271 | +const executeHeightModeOptions = ref([ | ||
| 272 | + /* {label: '海拔高度', value: 'WGS84'},*/ | ||
| 273 | + {label: '椭球高', value: 'WGS84'}, | ||
| 274 | + {label: '相对起飞高度', value: 'relativeToStartPoint'}, | ||
| 275 | + {label: '实时仿地模式', value: 'realTimeFollowSurface'}, | ||
| 276 | +]) | ||
| 277 | + | ||
| 278 | +function selectExecuteHeightMode(item) { | ||
| 279 | + executeHeightMode.value = item.value | ||
| 280 | +} | ||
| 281 | + | ||
| 282 | +const {list: folderList} = useXMLComputedArr(FolderElement, 'Placemark') | ||
| 283 | +const { | ||
| 284 | + text: executeHeight | ||
| 285 | +} = useXMLComputed(PlacemarkElement, 'wpml:executeHeight', { | ||
| 286 | + defaultText: 100, | ||
| 287 | + textType: 'number' | ||
| 288 | +}) | ||
| 289 | +const executeHeightMax = ref(1500) | ||
| 290 | +const executeHeightMin = ref(2) | ||
| 291 | + | ||
| 292 | +function addExecuteHeight(item) { | ||
| 293 | + let res = executeHeight.value + item | ||
| 294 | + if (res <= executeHeightMax.value && res >= executeHeightMin.value) { | ||
| 295 | + executeHeight.value = res | ||
| 296 | + } else { | ||
| 297 | + if (res > executeHeightMax.value) { | ||
| 298 | + executeHeight.value = executeHeightMax.value | ||
| 299 | + } | ||
| 300 | + if (res < executeHeightMin.value) { | ||
| 301 | + executeHeight.value = executeHeightMin.value | ||
| 302 | + } | ||
| 303 | + } | ||
| 304 | + folderList.value.forEach(({elment}) => { | ||
| 305 | + const { | ||
| 306 | + text: height | ||
| 307 | + } = useXMLComputed(elment, 'wpml:executeHeight', { | ||
| 308 | + defaultText: 100, | ||
| 309 | + textType: 'number' | ||
| 310 | + }) | ||
| 311 | + height.value = executeHeight.value | ||
| 312 | + }) | ||
| 313 | +} | ||
| 314 | + | ||
| 315 | +const { | ||
| 316 | + text: autoFlightSpeed | ||
| 317 | +} = useXMLComputed(FolderElement, 'wpml:autoFlightSpeed', { | ||
| 318 | + textType: 'number', | ||
| 319 | + defaultText: 10 | ||
| 320 | +}) | ||
| 321 | +const autoFlightSpeedMax = ref(15) | ||
| 322 | +const autoFlightSpeedMin = ref(1) | ||
| 323 | + | ||
| 324 | +function addAutoFlightSpeed(item) { | ||
| 325 | + let res = autoFlightSpeed.value + item | ||
| 326 | + if (res <= autoFlightSpeedMax.value && res >= autoFlightSpeedMin.value) { | ||
| 327 | + autoFlightSpeed.value = res | ||
| 328 | + } else { | ||
| 329 | + if (res > autoFlightSpeedMax.value) { | ||
| 330 | + autoFlightSpeed.value = autoFlightSpeedMax.value | ||
| 331 | + } | ||
| 332 | + if (res < autoFlightSpeedMin.value) { | ||
| 333 | + autoFlightSpeed.value = autoFlightSpeedMin.value | ||
| 334 | + } | ||
| 335 | + } | ||
| 336 | +} | ||
| 337 | + | ||
| 338 | +const moreShow = ref(false) | ||
| 339 | + | ||
| 340 | + | ||
| 341 | +const flySpeed = ref(10) | ||
| 342 | +const flySpeedMax = ref(15) | ||
| 343 | +const flySpeedMin = ref(1) | ||
| 344 | + | ||
| 345 | +function addFlySpeed(item) { | ||
| 346 | + let res = flySpeed.value + item | ||
| 347 | + if (res <= flySpeedMax.value && res >= flySpeedMin.value) { | ||
| 348 | + flySpeed.value = res | ||
| 349 | + } else { | ||
| 350 | + if (res > flySpeedMax.value) { | ||
| 351 | + flySpeed.value = flySpeedMax.value | ||
| 352 | + } | ||
| 353 | + if (res < flySpeedMin.value) { | ||
| 354 | + flySpeed.value = flySpeedMin.value | ||
| 355 | + } | ||
| 356 | + } | ||
| 357 | +} | ||
| 358 | +</script> | ||
| 359 | + | ||
| 360 | +<style scoped> | ||
| 361 | +.dialog { | ||
| 362 | + background: #101010; | ||
| 363 | + width: 400px; | ||
| 364 | + box-shadow: 0 0 10px 1px rgba(255, 255, 255, 0.1); | ||
| 365 | + position: absolute; | ||
| 366 | + padding: 10px; | ||
| 367 | + border-radius: 10px; | ||
| 368 | + top: calc(100% + 20px); | ||
| 369 | + max-height: 80vh; | ||
| 370 | + overflow: auto; | ||
| 371 | +} | ||
| 372 | + | ||
| 373 | +.card { | ||
| 374 | + background: #232323; | ||
| 375 | + padding: 10px; | ||
| 376 | + border-radius: 10px; | ||
| 377 | + | ||
| 378 | + & + .card { | ||
| 379 | + margin-top: 20px; | ||
| 380 | + } | ||
| 381 | +} | ||
| 382 | +</style> |
| 1 | +<template> | ||
| 2 | + <div style="display:flex;flex-direction: column;margin: 10px 0;width: 100%"> | ||
| 3 | + <div style="display: grid;grid-template-columns: repeat(3,1fr);grid-gap: 20px;margin-top: 10px"> | ||
| 4 | + <div v-for="item in options" class="item" @click="onSelect(item)" | ||
| 5 | + :class="{active:multiple?selectValue?.includes(item.value):selectValue===item.value}">{{ item.label }} | ||
| 6 | + </div> | ||
| 7 | + </div> | ||
| 8 | + </div> | ||
| 9 | +</template> | ||
| 10 | + | ||
| 11 | +<script setup lang="ts"> | ||
| 12 | +import {ref, watch} from "vue"; | ||
| 13 | + | ||
| 14 | +const props = defineProps({ | ||
| 15 | + multiple: { | ||
| 16 | + type: Boolean, | ||
| 17 | + default: false | ||
| 18 | + }, | ||
| 19 | + options: { | ||
| 20 | + type: Array, | ||
| 21 | + default: () => [] | ||
| 22 | + }, | ||
| 23 | + title: { | ||
| 24 | + type: String, | ||
| 25 | + default: '选择' | ||
| 26 | + } | ||
| 27 | +}) | ||
| 28 | +const modelValue = defineModel() | ||
| 29 | +const selectValue = ref() | ||
| 30 | + | ||
| 31 | +selectValue.value = modelValue.value | ||
| 32 | +watch(modelValue, (v) => { | ||
| 33 | + selectValue.value = v | ||
| 34 | +}) | ||
| 35 | + | ||
| 36 | +const emits = defineEmits(["select"]) | ||
| 37 | + | ||
| 38 | +function onSelect(item) { | ||
| 39 | + if (props.multiple) { | ||
| 40 | + if (selectValue.value.includes(item.value)) { | ||
| 41 | + selectValue.value = selectValue.value.filter(v => v !== item.value) | ||
| 42 | + } else { | ||
| 43 | + selectValue.value.push(item.value) | ||
| 44 | + } | ||
| 45 | + } else { | ||
| 46 | + selectValue.value = item.value | ||
| 47 | + } | ||
| 48 | + modelValue.value = selectValue.value | ||
| 49 | + emits('select', selectValue.value) | ||
| 50 | +} | ||
| 51 | +</script> | ||
| 52 | + | ||
| 53 | +<style scoped> | ||
| 54 | +.item { | ||
| 55 | + color: #fff; | ||
| 56 | + border-radius: 5px; | ||
| 57 | + background: #3c3c3c; | ||
| 58 | + padding: 20px; | ||
| 59 | + border: 2px solid transparent; | ||
| 60 | + transition: all .2s; | ||
| 61 | + cursor: pointer; | ||
| 62 | + | ||
| 63 | + &.active { | ||
| 64 | + background: #234971; | ||
| 65 | + border: 2px solid #2d8cf0; | ||
| 66 | + } | ||
| 67 | +} | ||
| 68 | +</style> |
| 1 | +<template> | ||
| 2 | + <div>{{ index }}</div> | ||
| 3 | +</template> | ||
| 4 | + | ||
| 5 | +<script setup lang="ts"> | ||
| 6 | +import {useXMLComputed} from "@/components/air-route/components/useXMLComputed.ts"; | ||
| 7 | + | ||
| 8 | +const props = defineProps({ | ||
| 9 | + index: { | ||
| 10 | + type: Number, | ||
| 11 | + required: true | ||
| 12 | + }, | ||
| 13 | + item: { | ||
| 14 | + type: Object, | ||
| 15 | + required: true | ||
| 16 | + } | ||
| 17 | +}) | ||
| 18 | +const modelValue = defineModel() | ||
| 19 | +const {text: index} = useXMLComputed(props.item.elment, 'wpml:index', { | ||
| 20 | + defaultText: props.index, | ||
| 21 | + textType: 'number' | ||
| 22 | +}) | ||
| 23 | +</script> | ||
| 24 | + | ||
| 25 | +<style scoped> | ||
| 26 | + | ||
| 27 | +</style> |
| 1 | +<template> | ||
| 2 | + <div>航点列表</div> | ||
| 3 | + <div> | ||
| 4 | + <div> | ||
| 5 | + <div>航线长度</div> | ||
| 6 | + <div>626.1m</div> | ||
| 7 | + </div> | ||
| 8 | + <div> | ||
| 9 | + <div>预计执行时间</div> | ||
| 10 | + <div>1m51s</div> | ||
| 11 | + </div> | ||
| 12 | + <div> | ||
| 13 | + <div>航点</div> | ||
| 14 | + <div>626.1m</div> | ||
| 15 | + </div> | ||
| 16 | + <div> | ||
| 17 | + <div>照片</div> | ||
| 18 | + <div>626.1m</div> | ||
| 19 | + </div> | ||
| 20 | + </div> | ||
| 21 | + <div> | ||
| 22 | + <placemark-item v-for="(item,index) in list" :item="item" :index="index"/> | ||
| 23 | + </div> | ||
| 24 | +</template> | ||
| 25 | + | ||
| 26 | +<script setup lang="ts"> | ||
| 27 | +import {inject, type WritableComputedRef} from "vue"; | ||
| 28 | +import type {Element} from "xml-js"; | ||
| 29 | +import {useXMLComputed, useXMLComputedArr} from "@/components/air-route/components/useXMLComputed.ts"; | ||
| 30 | +import PlacemarkItem from "@/components/air-route/components/placemark-item.vue"; | ||
| 31 | + | ||
| 32 | +const DocumentElement = inject<WritableComputedRef<Element, Element>>("DocumentElement"); | ||
| 33 | +const {elment: FolderElement} = useXMLComputed(DocumentElement, 'Folder') | ||
| 34 | +const {list} = useXMLComputedArr(FolderElement, 'Placemark') | ||
| 35 | +</script> | ||
| 36 | + | ||
| 37 | +<style scoped> | ||
| 38 | + | ||
| 39 | +</style> |
-
请 注册 或 登录 后发表评论