feature:完成cesium依赖的添加

This commit is contained in:
user 2024-05-14 17:16:50 +08:00
parent a2f124429f
commit 92e662beb6
9 changed files with 428 additions and 17 deletions

View File

@ -9,6 +9,7 @@
},
"dependencies": {
"@arcgis/core": "^4.29.10",
"cesium": "^1.117.0",
"core-js": "^3.8.3",
"element-plus": "^2.6.3",
"esri-loader": "^3.7.0",

View File

@ -11,6 +11,9 @@ importers:
'@arcgis/core':
specifier: ^4.29.10
version: 4.29.10
cesium:
specifier: ^1.117.0
version: 1.117.0
core-js:
specifier: ^3.8.3
version: 3.36.1
@ -699,6 +702,14 @@ packages:
resolution: {integrity: sha512-+j7a5c253RfKh8iABBhywc8NSfP5LURe7Uh4qpsh6jc+aLJguvmIUBdjSdEMQv2bENrCR5MfRdjGo7vzS/ob7w==}
engines: {node: '>=6.9.0'}
'@cesium/engine@9.1.0':
resolution: {integrity: sha512-sDscnq8Tl2tSJCJRoxlrTSj2TfdsZr8zOXyrj6bLJaqBDuf53vgPS5Y5D+WKbwUomZ/hI2EIlMtLD2Ev4MwnAg==}
engines: {node: '>=14.0.0'}
'@cesium/widgets@6.1.0':
resolution: {integrity: sha512-wNPEsHFXiDOwosf+6O3+daee83t+lL/1lXxmK2dOKe5tV4h5BBIFAq8A8ttSmdAhDj+WVMS/ZGCvIi5Y87GTpw==}
engines: {node: '>=14.0.0'}
'@ctrl/tinycolor@3.6.1':
resolution: {integrity: sha512-SITSV6aIXsuVNV3f3O0f2n/cgyEDWoSqtZMYiAmcsYHydcKrOz3gUxB/iXd/Qf08+IZX4KpgNbvUdMBmWz+kcA==}
engines: {node: '>=10'}
@ -808,6 +819,36 @@ packages:
'@popperjs/core@2.11.8':
resolution: {integrity: sha512-P1st0aksCrn9sGZhp8GMYwBnQsbvAWsZAX44oXNNvLHGqAOcoVxmjZiohstwQ7SqKnbR47akdNi+uleWD8+g6A==}
'@protobufjs/aspromise@1.1.2':
resolution: {integrity: sha512-j+gKExEuLmKwvz3OgROXtrJ2UG2x8Ch2YZUxahh+s1F2HZ+wAceUNLkvy6zKCPVRkU++ZWQrdxsUeQXmcg4uoQ==}
'@protobufjs/base64@1.1.2':
resolution: {integrity: sha512-AZkcAA5vnN/v4PDqKyMR5lx7hZttPDgClv83E//FMNhR2TMcLUhfRUBHCmSl0oi9zMgDDqRUJkSxO3wm85+XLg==}
'@protobufjs/codegen@2.0.4':
resolution: {integrity: sha512-YyFaikqM5sH0ziFZCN3xDC7zeGaB/d0IUb9CATugHWbd1FRFwWwt4ld4OYMPWu5a3Xe01mGAULCdqhMlPl29Jg==}
'@protobufjs/eventemitter@1.1.0':
resolution: {integrity: sha512-j9ednRT81vYJ9OfVuXG6ERSTdEL1xVsNgqpkxMsbIabzSo3goCjDIveeGv5d03om39ML71RdmrGNjG5SReBP/Q==}
'@protobufjs/fetch@1.1.0':
resolution: {integrity: sha512-lljVXpqXebpsijW71PZaCYeIcE5on1w5DlQy5WH6GLbFryLUrBD4932W/E2BSpfRJWseIL4v/KPgBFxDOIdKpQ==}
'@protobufjs/float@1.0.2':
resolution: {integrity: sha512-Ddb+kVXlXst9d+R9PfTIxh1EdNkgoRe5tOX6t01f1lYWOvJnSPDBlG241QLzcyPdoNTsblLUdujGSE4RzrTZGQ==}
'@protobufjs/inquire@1.1.0':
resolution: {integrity: sha512-kdSefcPdruJiFMVSbn801t4vFK7KB/5gd2fYvrxhuJYg8ILrmn9SKSX2tZdV6V+ksulWqS7aXjBcRXl3wHoD9Q==}
'@protobufjs/path@1.1.2':
resolution: {integrity: sha512-6JOcJ5Tm08dOHAbdR3GrvP+yUUfkjG5ePsHYczMFLq3ZmMkAD98cDgcT2iA1lJ9NVwFd4tH/iSSoe44YWkltEA==}
'@protobufjs/pool@1.1.0':
resolution: {integrity: sha512-0kELaGSIDBKvcgS4zkjz1PeddatrjYcmMWOlAuAPwAeccUrPHdUqo/J6LiymHHEiJT5NrF1UVwxY14f+fy4WQw==}
'@protobufjs/utf8@1.1.0':
resolution: {integrity: sha512-Vvn3zZrhQZkkBE8LSuW3em98c0FwgO4nxzv6OdSxPKJIEKY2bGbHn+mhGIPerzI4twdxaP8/0+06HBpwf345Lw==}
'@sideway/address@4.1.5':
resolution: {integrity: sha512-IqO/DUQHUkPeixNQ8n0JA6102hT9CmaljNTPmQ1u8MEhBo/R4Q8eKLN/vGZxuebwOroDB4cbpjheD4+/sKFK4Q==}
@ -838,6 +879,9 @@ packages:
resolution: {integrity: sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==}
engines: {node: '>=10.13.0'}
'@tweenjs/tween.js@23.1.2':
resolution: {integrity: sha512-kMCNaZCJugWI86xiEHaY338CU5JpD0B97p1j1IKNn/Zto8PgACjQx0UxbHjmOcLl/dDOBnItwD07KmCs75pxtQ==}
'@types/body-parser@1.19.5':
resolution: {integrity: sha512-fB3Zu92ucau0iQ0JMCFQE7b/dv8Ot07NI3KaZIkIUNXq82k4eBAqUaneXfleGY9JWskeS9y+u0nXMyspcuQrCg==}
@ -1340,6 +1384,9 @@ packages:
resolution: {integrity: sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==}
engines: {node: '>= 4.0.0'}
autolinker@4.0.0:
resolution: {integrity: sha512-fl5Kh6BmEEZx+IWBfEirnRUU5+cOiV0OK7PEt0RBKvJMJ8GaRseIOeDU3FKf4j3CE5HVefcjHmhYPOcaVt0bZw==}
autoprefixer@10.4.19:
resolution: {integrity: sha512-BaENR2+zBZ8xXhM4pUaKUxlVdxZ0EZhjvbopwnXmxRUfqDmwSpC2lAi/QXvx7NRdPCo1WKEcEF6mV64si1z4Ew==}
engines: {node: ^10 || ^12 || >=14}
@ -1388,6 +1435,9 @@ packages:
resolution: {integrity: sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==}
engines: {node: '>=8'}
bitmap-sdf@1.0.4:
resolution: {integrity: sha512-1G3U4n5JE6RAiALMxu0p1XmeZkTeCwGKykzsLTCqVzfSDaN6S7fKnkIkfejogz+iwqBWc0UYAIKnKHNN7pSfDg==}
bl@4.1.0:
resolution: {integrity: sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==}
@ -1459,6 +1509,10 @@ packages:
resolution: {integrity: sha512-roIFONhcxog0JSSWbvVAh3OocukmSgpqOH6YpMkCvav/ySIV3JKg4Dc8vYtQjYi/UxpNE36r/9v+VqTQqgkYmw==}
engines: {node: '>=4'}
cesium@1.117.0:
resolution: {integrity: sha512-gJ4J8oLgDTAYEGL69vK395MTjYDzxdLw4MqBXAXi9G2bhAp0U2DfxwuRqDcyW1SFdJVHj6ekcOBHszTMbmBOOA==}
engines: {node: '>=14.0.0'}
chalk@2.4.2:
resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==}
engines: {node: '>=4'}
@ -1971,6 +2025,9 @@ packages:
resolution: {integrity: sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==}
engines: {node: '>= 4'}
dompurify@3.1.3:
resolution: {integrity: sha512-5sOWYSNPaxz6o2MUPvtyxTTqR4D3L77pr5rUQoWgD5ROQtVIZQgJkXbo1DLlK3vj11YGw5+LnF4SYti4gZmwng==}
domutils@2.8.0:
resolution: {integrity: sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==}
@ -1984,9 +2041,15 @@ packages:
resolution: {integrity: sha512-rlBi9d8jpv9Sf1klPjNfFAuWDjKLwTIJJ/VxtoTwIR6hnZxcEOQCZg2oIL3MWBYw5GpUDKOEnND7LXTbIpQ03Q==}
engines: {node: '>=10'}
draco3d@1.5.7:
resolution: {integrity: sha512-m6WCKt/erDXcw+70IJXnG7M3awwQPAsZvJGX5zY7beBqpELw6RDGkYVU0W43AFxye4pDZ5i2Lbyc/NNGqwjUVQ==}
duplexer@0.1.2:
resolution: {integrity: sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==}
earcut@2.2.4:
resolution: {integrity: sha512-/pjZsA1b4RPHbeWZQn66SWS8nZZWLQQ23oE3Eam7aroEFGEvwKAsJfZ9ytiEMycfzXWpca4FA9QIOehf7PocBQ==}
easy-stack@1.0.1:
resolution: {integrity: sha512-wK2sCs4feiiJeFXn3zvY0p41mdU5VUgbgs1rNsc/y5ngFUijdWd+iIN8eoyuZHKB8xN6BL4PdWmzqFmxNg6V2w==}
engines: {node: '>=6.0.0'}
@ -2341,6 +2404,9 @@ packages:
graceful-fs@4.2.11:
resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==}
grapheme-splitter@1.0.4:
resolution: {integrity: sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==}
gzip-size@6.0.0:
resolution: {integrity: sha512-ax7ZYomf6jqPTQ4+XCpUGyXKHk5WweS+e05MBO4/y3WJ5RkmPXNKvX+bx1behVILVwr6JSQvZAku021CHPXG3Q==}
engines: {node: '>=10'}
@ -2625,6 +2691,10 @@ packages:
resolution: {integrity: sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==}
hasBin: true
jsep@1.3.8:
resolution: {integrity: sha512-qofGylTGgYj9gZFsHuyWAN4jr35eJ66qJCK4eKDnldohuUoQFbU3iZn2zjvEbd9wOAhP9Wx5DsAAduTyE1PSWQ==}
engines: {node: '>= 10.16.0'}
jsesc@0.5.0:
resolution: {integrity: sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==}
hasBin: true
@ -2664,6 +2734,9 @@ packages:
jsonfile@6.1.0:
resolution: {integrity: sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==}
kdbush@4.0.2:
resolution: {integrity: sha512-WbCVYJ27Sz8zi9Q7Q0xHC+05iwkm3Znipc2XTlrnJbsHMYktW4hPhXUE8Ys1engBrvffoSCqbil1JQAa7clRpA==}
keyv@4.5.4:
resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==}
@ -2675,12 +2748,18 @@ packages:
resolution: {integrity: sha512-dhG34DXATL5hSxJbIexCft8FChFXtmskoZYnoPWjXQuebWYCNkVeV3KkGegCK9CP1oswI/vQibS2GY7Em/sJJA==}
engines: {node: '>= 8'}
ktx-parse@0.7.0:
resolution: {integrity: sha512-naezun/2iiWrantwoRI9mw6E4iN41ggYzJSR9XAZzf6+rv+2Tb1yYN8VJhGsA0uptBexE0m4GDh+iiQhYpW+Qw==}
launch-editor-middleware@2.6.1:
resolution: {integrity: sha512-Fg/xYhf7ARmRp40n18wIfJyuAMEjXo67Yull7uF7d0OJ3qA4EYJISt1XfPPn69IIJ5jKgQwzcg6DqHYo95LL/g==}
launch-editor@2.6.1:
resolution: {integrity: sha512-eB/uXmFVpY4zezmGp5XtU21kwo7GBbKB+EQ+UZeWtGb9yAM5xt/Evk+lYH3eRNAtId+ej4u7TYPFZ07w4s7rRw==}
lerc@2.0.0:
resolution: {integrity: sha512-7qo1Mq8ZNmaR4USHHm615nEW2lPeeWJ3bTyoqFbd35DLx0LUH7C6ptt5FDCTAlbIzs3+WKrk5SkJvw8AFDE2hg==}
less-loader@12.2.0:
resolution: {integrity: sha512-MYUxjSQSBUQmowc0l5nPieOYwMzGPUaTzB6inNW/bdPEG9zOL3eAAD1Qw5ZxSPk7we5dMojHwNODYMV1hq4EVg==}
engines: {node: '>= 18.12.0'}
@ -2780,6 +2859,9 @@ packages:
resolution: {integrity: sha512-vlP11XfFGyeNQlmEn9tJ66rEW1coA/79m5z6BCkudjbAGE83uhAcGYrBFwfs3AdLiLzGRusRPAbSPK9xZteCmg==}
engines: {node: '>=4'}
long@5.2.3:
resolution: {integrity: sha512-lcHwpNoggQTObv5apGNCTdJrO69eHOZMi4BNC+rTLER8iHAqGrUVeLh/irVIM7zTw2bOXA8T6uNPeujwOLg/2Q==}
lower-case@2.0.2:
resolution: {integrity: sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==}
@ -2836,6 +2918,12 @@ packages:
resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==}
engines: {node: '>= 8'}
mersenne-twister@1.1.0:
resolution: {integrity: sha512-mUYWsMKNrm4lfygPkL3OfGzOPTR2DBlTkBNHM//F6hGp8cLThY897crAlk3/Jo17LEOOjQUrNAx6DvgO77QJkA==}
meshoptimizer@0.20.0:
resolution: {integrity: sha512-olcJ1q+YVnjroRJpCL1Dj5aZxr2JMr2hRutMUwhuHZvpAL7SIZgOT6eMlFF4TbBGSR89tawE/gqB79J/LrW/Nw==}
methods@1.1.2:
resolution: {integrity: sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==}
engines: {node: '>= 0.6'}
@ -2979,6 +3067,9 @@ packages:
normalize-wheel-es@1.2.0:
resolution: {integrity: sha512-Wj7+EJQ8mSuXr2iWfnujrimU35R2W4FAErEyTmJoJ7ucwTn2hOUSsRehMb5RSYkxXGTM7Y9QpvPmp++w5ftoJw==}
nosleep.js@0.12.0:
resolution: {integrity: sha512-9d1HbpKLh3sdWlhXMhU6MMH+wQzKkrgfRkYV0EBdvt99YJfj0ilCJrWRDYG2130Tm4GXbEoTCx5b34JSaP+HhA==}
npm-run-path@2.0.2:
resolution: {integrity: sha512-lJxZYlT4DW/bRUtFh1MQIWqmLwQfAxnqWG4HhEdjMlkrJYnJn0Jrr2u3mgxqaWsdiBc76TYkTG/mhrnYTuzfHw==}
engines: {node: '>=4'}
@ -3063,6 +3154,9 @@ packages:
resolution: {integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==}
engines: {node: '>=6'}
pako@2.1.0:
resolution: {integrity: sha512-w+eufiZ1WuJYgPXbV/PO3NCMEc3xqylkKHzp8bxp1uW4qaSNQUkwmLLEc3kKsfz8lpV1F8Ht3U1Cm+9Srog2ug==}
param-case@3.0.4:
resolution: {integrity: sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A==}
@ -3374,6 +3468,10 @@ packages:
resolution: {integrity: sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==}
engines: {node: '>=0.4.0'}
protobufjs@7.3.0:
resolution: {integrity: sha512-YWD03n3shzV9ImZRX3ccbjqLxj7NokGN0V/ESiBV5xWqrommYHYiihuIyavq03pWSGqlyvYUFmfoMKd+1rPA/g==}
engines: {node: '>=12.0.0'}
proxy-addr@2.0.7:
resolution: {integrity: sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==}
engines: {node: '>= 0.10'}
@ -3398,6 +3496,9 @@ packages:
queue-microtask@1.2.3:
resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==}
quickselect@2.0.0:
resolution: {integrity: sha512-RKJ22hX8mHe3Y6wH/N3wCM6BWtjaxIyyUIkpHOvfFnxdI4yD4tBXEBKSbriGujF6jnSVkJrffuo6vxACiSSxIw==}
randombytes@2.1.0:
resolution: {integrity: sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==}
@ -3409,6 +3510,9 @@ packages:
resolution: {integrity: sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA==}
engines: {node: '>= 0.8'}
rbush@3.0.1:
resolution: {integrity: sha512-XRaVO0YecOpEuIvbhbpTrZgoiI6xBlz6hnlr6EHhd+0x9ase6EmeN+hdwwUaJvLcsFFQ8iWVF1GAK1yB0BWi0w==}
read-pkg-up@7.0.1:
resolution: {integrity: sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==}
engines: {node: '>=8'}
@ -3812,6 +3916,10 @@ packages:
resolution: {integrity: sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==}
engines: {node: '>=0.6'}
topojson-client@3.1.0:
resolution: {integrity: sha512-605uxS6bcYxGXw9qi62XyrV6Q3xwbndjachmNxu8HWTtVPxZfEJN9fd/SZS1Q54Sn2y0TMyMxFj/cJINqGHrKw==}
hasBin: true
totalist@3.0.1:
resolution: {integrity: sha512-sf4i37nQ2LBx4m3wB74y+ubopq6W/dIzXg0FDGjsYnZHVa1Da8FH853wlL2gtUhg+xJXjfk3kUZS3BRoQeoQBQ==}
engines: {node: '>=6'}
@ -3878,6 +3986,9 @@ packages:
uri-js@4.4.1:
resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==}
urijs@1.19.11:
resolution: {integrity: sha512-HXgFDgDommxn5/bIv0cnQZsPhHDA90NPHD6+c/v21U5+Sx5hoP8+dP9IZXBU1gIfvdRfhG8cel9QNPeionfcCQ==}
util-deprecate@1.0.2:
resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==}
@ -4916,6 +5027,33 @@ snapshots:
'@babel/helper-validator-identifier': 7.22.20
to-fast-properties: 2.0.0
'@cesium/engine@9.1.0':
dependencies:
'@tweenjs/tween.js': 23.1.2
'@zip.js/zip.js': 2.7.41
autolinker: 4.0.0
bitmap-sdf: 1.0.4
dompurify: 3.1.3
draco3d: 1.5.7
earcut: 2.2.4
grapheme-splitter: 1.0.4
jsep: 1.3.8
kdbush: 4.0.2
ktx-parse: 0.7.0
lerc: 2.0.0
mersenne-twister: 1.1.0
meshoptimizer: 0.20.0
pako: 2.1.0
protobufjs: 7.3.0
rbush: 3.0.1
topojson-client: 3.1.0
urijs: 1.19.11
'@cesium/widgets@6.1.0':
dependencies:
'@cesium/engine': 9.1.0
nosleep.js: 0.12.0
'@ctrl/tinycolor@3.6.1': {}
'@discoveryjs/json-ext@0.5.7': {}
@ -5044,6 +5182,29 @@ snapshots:
'@popperjs/core@2.11.8': {}
'@protobufjs/aspromise@1.1.2': {}
'@protobufjs/base64@1.1.2': {}
'@protobufjs/codegen@2.0.4': {}
'@protobufjs/eventemitter@1.1.0': {}
'@protobufjs/fetch@1.1.0':
dependencies:
'@protobufjs/aspromise': 1.1.2
'@protobufjs/inquire': 1.1.0
'@protobufjs/float@1.0.2': {}
'@protobufjs/inquire@1.1.0': {}
'@protobufjs/path@1.1.2': {}
'@protobufjs/pool@1.1.0': {}
'@protobufjs/utf8@1.1.0': {}
'@sideway/address@4.1.5':
dependencies:
'@hapi/hoek': 9.3.0
@ -5068,6 +5229,8 @@ snapshots:
'@trysound/sax@0.2.0': {}
'@tweenjs/tween.js@23.1.2': {}
'@types/body-parser@1.19.5':
dependencies:
'@types/connect': 3.4.38
@ -5928,6 +6091,10 @@ snapshots:
at-least-node@1.0.0: {}
autolinker@4.0.0:
dependencies:
tslib: 2.6.2
autoprefixer@10.4.19(postcss@8.4.38):
dependencies:
browserslist: 4.23.0
@ -5985,6 +6152,8 @@ snapshots:
binary-extensions@2.3.0: {}
bitmap-sdf@1.0.4: {}
bl@4.1.0:
dependencies:
buffer: 5.7.1
@ -6074,6 +6243,11 @@ snapshots:
case-sensitive-paths-webpack-plugin@2.4.0: {}
cesium@1.117.0:
dependencies:
'@cesium/engine': 9.1.0
'@cesium/widgets': 6.1.0
chalk@2.4.2:
dependencies:
ansi-styles: 3.2.1
@ -6447,6 +6621,8 @@ snapshots:
dependencies:
domelementtype: 2.3.0
dompurify@3.1.3: {}
domutils@2.8.0:
dependencies:
dom-serializer: 1.4.1
@ -6462,8 +6638,12 @@ snapshots:
dotenv@10.0.0: {}
draco3d@1.5.7: {}
duplexer@0.1.2: {}
earcut@2.2.4: {}
easy-stack@1.0.1: {}
ee-first@1.1.1: {}
@ -6903,6 +7083,8 @@ snapshots:
graceful-fs@4.2.11: {}
grapheme-splitter@1.0.4: {}
gzip-size@6.0.0:
dependencies:
duplexer: 0.1.2
@ -7153,6 +7335,8 @@ snapshots:
argparse: 1.0.10
esprima: 4.0.1
jsep@1.3.8: {}
jsesc@0.5.0: {}
jsesc@2.5.2: {}
@ -7181,6 +7365,8 @@ snapshots:
optionalDependencies:
graceful-fs: 4.2.11
kdbush@4.0.2: {}
keyv@4.5.4:
dependencies:
json-buffer: 3.0.1
@ -7189,6 +7375,8 @@ snapshots:
klona@2.0.6: {}
ktx-parse@0.7.0: {}
launch-editor-middleware@2.6.1:
dependencies:
launch-editor: 2.6.1
@ -7198,6 +7386,8 @@ snapshots:
picocolors: 1.0.0
shell-quote: 1.8.1
lerc@2.0.0: {}
less-loader@12.2.0(less@4.2.0)(webpack@5.91.0):
dependencies:
less: 4.2.0
@ -7298,6 +7488,8 @@ snapshots:
cli-cursor: 2.1.0
wrap-ansi: 3.0.1
long@5.2.3: {}
lower-case@2.0.2:
dependencies:
tslib: 2.6.2
@ -7351,6 +7543,10 @@ snapshots:
merge2@1.4.1: {}
mersenne-twister@1.1.0: {}
meshoptimizer@0.20.0: {}
methods@1.1.2: {}
micromatch@4.0.5:
@ -7461,6 +7657,8 @@ snapshots:
normalize-wheel-es@1.2.0: {}
nosleep.js@0.12.0: {}
npm-run-path@2.0.2:
dependencies:
path-key: 2.0.1
@ -7552,6 +7750,8 @@ snapshots:
p-try@2.2.0: {}
pako@2.1.0: {}
param-case@3.0.4:
dependencies:
dot-case: 3.0.4
@ -7836,6 +8036,21 @@ snapshots:
progress@2.0.3: {}
protobufjs@7.3.0:
dependencies:
'@protobufjs/aspromise': 1.1.2
'@protobufjs/base64': 1.1.2
'@protobufjs/codegen': 2.0.4
'@protobufjs/eventemitter': 1.1.0
'@protobufjs/fetch': 1.1.0
'@protobufjs/float': 1.0.2
'@protobufjs/inquire': 1.1.0
'@protobufjs/path': 1.1.2
'@protobufjs/pool': 1.1.0
'@protobufjs/utf8': 1.1.0
'@types/node': 20.12.7
long: 5.2.3
proxy-addr@2.0.7:
dependencies:
forwarded: 0.2.0
@ -7859,6 +8074,8 @@ snapshots:
queue-microtask@1.2.3: {}
quickselect@2.0.0: {}
randombytes@2.1.0:
dependencies:
safe-buffer: 5.2.1
@ -7872,6 +8089,10 @@ snapshots:
iconv-lite: 0.4.24
unpipe: 1.0.0
rbush@3.0.1:
dependencies:
quickselect: 2.0.0
read-pkg-up@7.0.1:
dependencies:
find-up: 4.1.0
@ -8316,6 +8537,10 @@ snapshots:
toidentifier@1.0.1: {}
topojson-client@3.1.0:
dependencies:
commander: 2.20.3
totalist@3.0.1: {}
tr46@0.0.3: {}
@ -8364,6 +8589,8 @@ snapshots:
dependencies:
punycode: 2.3.1
urijs@1.19.11: {}
util-deprecate@1.0.2: {}
utila@0.4.0: {}

View File

@ -0,0 +1,24 @@
<template>
<div id="cesiumContainer"></div>
</template>
<script setup>
import { ref ,onMounted} from 'vue'
import * as Cesium from 'cesium'
const initViewer = ()=>{
const viewer = new Cesium.Viewer('cesiumContainer')
}
onMounted(()=>{
// const Cesium = this.Cesium;
initViewer();
})
</script>
<style>
#cesiumContainer{
width: 100%;
height: 100%;
}
</style>

View File

@ -0,0 +1,13 @@
<template>
演示案例01
</template>
<script>
export default {
}
</script>
<style>
</style>

View File

@ -0,0 +1,27 @@
<script lang="jsx">
import { h } from 'vue'
import {ElMenuItem,ElSubMenu} from 'element-plus'
import { resolveComponent } from 'vue'
export default {
props: {
menuConfig:Object
},
setup(props,{ slots } ) {
//
return () => !props.menuConfig.isGroup?h(ElMenuItem,{index:props.menuConfig.title},()=> props.menuConfig.title):
// (<el-sub-menu><template #title>
// <el-icon><location/></el-icon>
// <span>Navigator One</span>
// </template></el-sub-menu>)
h(ElSubMenu,{index:props.menuConfig.title},()=>[
...props.menuConfig.childrens.map(subMenu=>{
return h(ElMenuItem,{index:subMenu.label},()=>subMenu.label)
})])
}
}
</script>
<style>
</style>

27
src/config/menuConfig.js Normal file
View File

@ -0,0 +1,27 @@
import BaseViewer from "@/components/cesium/base/BaseViewer";
import Example01 from "@/components/cesium/case/Example01.vue";
const menu = {
"CesiumJS":[
{
title:"基础环境",
isGroup: true,
childrens:[
{
label:"初始化",
component:BaseViewer
}
]
},{
title:"演示系统",
isGroup:false,
component: Example01
}
],
"ArcGIS Maps SDK for JavaScritp":[{}],
"OpenLayers":[{}],
}
export {
menu
}

View File

@ -4,6 +4,15 @@ import App from './App.vue'
import ElementPlus from 'element-plus'
import 'element-plus/dist/index.css'
import reouter from "./routers/index"
import * as Cesium from "cesium";
import "cesium/Build/Cesium/Widgets/widgets.css";
// Vue.prototype.Cesium = Cesium
// Vue.prototype.widgets = widgets
const cesiumKey = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJqdGkiOiIyNjI2ZjVjMS0zZTFjLTQ3MDAtYTZlZC02YWFjOWQwNzBjNjIiLCJpZCI6ODM1NTQsImlhdCI6MTY0NTY1NzYzM30.IPqS_sM-s_vzNnK0EAiTy6kpYP5RBYkuMgbqJtKQkPw";
Cesium.Ion.defaultAccessToken = cesiumKey;
createApp(App)
.use(reouter)
.use(ElementPlus)

View File

@ -14,44 +14,100 @@
mode="horizontal"
@select="handleSelect"
>
<el-menu-item index="menu" v-for="menu in mainMenu" :key="menu">{{menu}}</el-menu-item>
<el-menu-item :index="menu" v-for="menu in mainMenu" :key="menu">{{menu}}</el-menu-item>
<!-- <el-menu-item index="1">Processing Center</el-menu-item>
<el-menu-item index="3">Info</el-menu-item>
<el-menu-item index="4">Orders</el-menu-item> -->
</el-menu>
</div>
<div class="user-box">user-box</div>
<!-- <div class="user-box">user-box</div> -->
</div>
</el-header>
<el-container>
<el-aside width="200px" class="layout-aside">Aside</el-aside>
<el-container class="main-box">
<!-- <div class="main-box"> -->
<el-aside width="200px" class="layout-aside">
<el-menu
:default-active="subActiveIndex"
class="main-menu"
@select="handleSubMenuSelect"
>
<!-- <template v-for="menu in subMenu" :key="menu.label"> -->
<!-- <el-menu-item v-if="menu.isGroup" :index="menu.label" v-for="menu in subMenu" :key="menu.label">{{menu.label}}</el-menu-item> -->
<!-- <MenuRender :menuConfig="menu" v-for="menu in subMenu" :key="menu.title"/> -->
<!-- </template> -->
<template v-for="menu in subMenu" :key="menu.title">
<el-menu-item v-if="!menu.isGroup" :index="menu.title">{{menu.title}}</el-menu-item>
<el-sub-menu v-else :index="menu.title">
<template #title>
<span>{{menu.title}}</span>
</template>
<el-menu-item v-for="threeMenu in menu.childrens" :index="threeMenu.label">{{threeMenu.label}}</el-menu-item>
</el-sub-menu>
</template>
</el-menu>
</el-aside>
<el-main class="layout-main">
<router-view></router-view>
<!-- <router-view></router-view> -->
<component :is="comId"></component>
</el-main>
</el-container>
<!-- </div> -->
</el-container>
</div>
</template>
<script setup>
import { ref } from 'vue'
const mainMenu = [
"ArcGIS Maps SDK for JavaScritp",
"Openlayers",
"CesiumJS",
];
const count = ref(0)
import { menu } from "@/config/menuConfig"
import MenuRender from "@/components/layout/MenuRender.vue"
const mainMenu = Object.keys(menu);
const activeIndex = ref(mainMenu[0])
const activeIndex2 = ref('1')
const subMenu = menu[activeIndex.value];
const subActiveIndex = ref(subMenu[0].title)
const comId = ref(subMenu[0].component);
if(subMenu[0].isGroup){
subActiveIndex.value = subMenu[0].childrens[0]["label"];
comId.value = subMenu[0].childrens[0]["component"];
}
const handleSelect = (key, keyPath) => {
console.log(key, keyPath)
}
const handleSubMenuSelect = (key, keyPath) => {
setComponentId(key)
}
const setComponentId = (key)=>{
subMenu.some(config=>{
if(config.title == key){
comId.value = config.component
return true;
}
if(config.isGroup){
const nextItem = config.childrens.filter(nextConfig=>{
if(nextConfig.label == key){
comId.value = nextConfig.component
return true;
}
})
if(nextItem.length>0){
return true
}
}
})
}
</script>
<style scoped lang="less">
.el-header{
padding: 0;
}
.main-box{
display: flex;
height: calc(100% - 60px) !important;
.el-main{
padding: 0;
}
}
.header-container{
display: flex;
justify-content: center;
@ -109,7 +165,14 @@ const handleSelect = (key, keyPath) => {
background-color: #e4e4e4;
}
.layout-aside{
background-color: burlywood;
background-color: #e4e4e4;
.el-menu{
background: transparent;
.el-menu-item{
// color: black;
border-bottom: solid 1px rgb(194, 193, 193);
}
}
}
.layout-main{
background-color: aliceblue;

View File

@ -1,13 +1,33 @@
const { defineConfig } = require('@vue/cli-service')
//配置@为src的别名
const path = require('path')
function resolve(dir){
return path.join(__dirname,dir)
}
// 配置cesium资源文件
const CopyWebpackPlugin = require('copy-webpack-plugin')
const webpack = require('webpack')
let cesiumSource = './node_modules/cesium/Source'
let cesiumWorkers = '../Build/Cesium/Workers'
module.exports = defineConfig({
transpileDependencies: true,
lintOnSave:false,
chainWebpack:(config)=>{
config.resolve.alias
.set("@",resolve('src'))
}
},
configureWebpack:{
plugins: [
new CopyWebpackPlugin({patterns:[{ from: path.join(cesiumSource, cesiumWorkers), to: 'Workers' }]}),
new CopyWebpackPlugin({patterns:[{ from: path.join(cesiumSource, 'Assets'), to: 'Assets' }]}),
new CopyWebpackPlugin({patterns:[{ from: path.join(cesiumSource, 'Widgets'), to: 'Widgets' }]}),
new CopyWebpackPlugin({patterns:[{ from: path.join(cesiumSource, 'ThirdParty/Workers'), to: 'ThirdParty/Workers' }]}),
new webpack.DefinePlugin({
CESIUM_BASE_URL: JSON.stringify('./')
})
],
}
})