Commit 6e0ef467 authored by zhangzhaohui's avatar zhangzhaohui

页面开发

parent 77ad091a
ENV = 'development'
VITE_APP_BASE_API = '/api'
\ No newline at end of file
...@@ -5,6 +5,7 @@ ...@@ -5,6 +5,7 @@
<link rel="icon" type="image/svg+xml" href="/vite.svg" /> <link rel="icon" type="image/svg+xml" href="/vite.svg" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Vite + Vue</title> <title>Vite + Vue</title>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/animate.css/4.0.0/animate.compat.css" />
</head> </head>
<body> <body>
<div id="app"></div> <div id="app"></div>
......
This source diff could not be displayed because it is too large. You can view the blob instead.
...@@ -9,10 +9,21 @@ ...@@ -9,10 +9,21 @@
"preview": "vite preview" "preview": "vite preview"
}, },
"dependencies": { "dependencies": {
"vue": "^3.3.11" "axios": "^1.5.0",
"echarts": "^5.1.1",
"element-plus": "^2.3.12",
"js-cookie": "^3.0.5",
"sass": "^1.62.0",
"unplugin-auto-import": "^0.17.3",
"unplugin-vue-components": "^0.26.0",
"vue": "^3.3.11",
"vue-router": "^4.0.13",
"vuex": "^4.1.0"
}, },
"devDependencies": { "devDependencies": {
"@vitejs/plugin-vue": "^4.5.2", "@vitejs/plugin-vue": "^4.5.2",
"vite": "^5.0.8" "cesium": "^1.104.0",
"vite": "^5.0.8",
"vite-plugin-cesium": "^1.2.22"
} }
} }
...@@ -5,17 +5,32 @@ settings: ...@@ -5,17 +5,32 @@ settings:
excludeLinksFromLockfile: false excludeLinksFromLockfile: false
dependencies: dependencies:
axios:
specifier: ^1.5.0
version: registry.npmmirror.com/axios@1.6.2
sass:
specifier: ^1.62.0
version: registry.npmmirror.com/sass@1.69.5
vue: vue:
specifier: ^3.3.11 specifier: ^3.3.11
version: registry.npmmirror.com/vue@3.3.12 version: registry.npmmirror.com/vue@3.3.12
vue-router:
specifier: ^4.0.13
version: registry.npmmirror.com/vue-router@4.2.5(vue@3.3.12)
devDependencies: devDependencies:
'@vitejs/plugin-vue': '@vitejs/plugin-vue':
specifier: ^4.5.2 specifier: ^4.5.2
version: registry.npmmirror.com/@vitejs/plugin-vue@4.5.2(vite@5.0.10)(vue@3.3.12) version: registry.npmmirror.com/@vitejs/plugin-vue@4.5.2(vite@5.0.10)(vue@3.3.12)
cesium:
specifier: ^1.104.0
version: registry.npmmirror.com/cesium@1.112.0
vite: vite:
specifier: ^5.0.8 specifier: ^5.0.8
version: registry.npmmirror.com/vite@5.0.10 version: registry.npmmirror.com/vite@5.0.10(sass@1.69.5)
vite-plugin-cesium:
specifier: ^1.2.22
version: registry.npmmirror.com/vite-plugin-cesium@1.2.22(cesium@1.112.0)(rollup@2.79.1)(vite@5.0.10)
packages: packages:
...@@ -50,6 +65,43 @@ packages: ...@@ -50,6 +65,43 @@ packages:
'@babel/helper-validator-identifier': registry.npmmirror.com/@babel/helper-validator-identifier@7.22.20 '@babel/helper-validator-identifier': registry.npmmirror.com/@babel/helper-validator-identifier@7.22.20
to-fast-properties: registry.npmmirror.com/to-fast-properties@2.0.0 to-fast-properties: registry.npmmirror.com/to-fast-properties@2.0.0
registry.npmmirror.com/@cesium/engine@6.1.1:
resolution: {integrity: sha512-PY8A742SR5rHagjaDCG7G6LWYeMXdyBJOoTkkaaLGh4XYBCdan/aygPO0CTTq26hAyjf9Ugi7HCoRe0ruNvgGg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@cesium/engine/-/engine-6.1.1.tgz}
name: '@cesium/engine'
version: 6.1.1
engines: {node: '>=14.0.0'}
dependencies:
'@tweenjs/tween.js': registry.npmmirror.com/@tweenjs/tween.js@21.0.0
'@zip.js/zip.js': registry.npmmirror.com/@zip.js/zip.js@2.4.26
autolinker: registry.npmmirror.com/autolinker@4.0.0
bitmap-sdf: registry.npmmirror.com/bitmap-sdf@1.0.4
dompurify: registry.npmmirror.com/dompurify@3.0.6
draco3d: registry.npmmirror.com/draco3d@1.5.6
earcut: registry.npmmirror.com/earcut@2.2.4
grapheme-splitter: registry.npmmirror.com/grapheme-splitter@1.0.4
jsep: registry.npmmirror.com/jsep@1.3.8
kdbush: registry.npmmirror.com/kdbush@4.0.2
ktx-parse: registry.npmmirror.com/ktx-parse@0.6.0
lerc: registry.npmmirror.com/lerc@2.0.0
mersenne-twister: registry.npmmirror.com/mersenne-twister@1.1.0
meshoptimizer: registry.npmmirror.com/meshoptimizer@0.20.0
pako: registry.npmmirror.com/pako@2.1.0
protobufjs: registry.npmmirror.com/protobufjs@7.2.5
rbush: registry.npmmirror.com/rbush@3.0.1
topojson-client: registry.npmmirror.com/topojson-client@3.1.0
urijs: registry.npmmirror.com/urijs@1.19.11
dev: true
registry.npmmirror.com/@cesium/widgets@4.3.1:
resolution: {integrity: sha512-uT2cCd6D2JOxtDsvh0VzbrlKOvAJROacDPq2OXE7muHWx/FkXXL0Q6+ZWGbMuCdv/KsiMJpRUiU9jJDX9AS01A==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@cesium/widgets/-/widgets-4.3.1.tgz}
name: '@cesium/widgets'
version: 4.3.1
engines: {node: '>=14.0.0'}
dependencies:
'@cesium/engine': registry.npmmirror.com/@cesium/engine@6.1.1
nosleep.js: registry.npmmirror.com/nosleep.js@0.12.0
dev: true
registry.npmmirror.com/@esbuild/android-arm64@0.19.9: registry.npmmirror.com/@esbuild/android-arm64@0.19.9:
resolution: {integrity: sha512-q4cR+6ZD0938R19MyEW3jEsMzbb/1rulLXiNAJQADD/XYp7pT+rOS5JGxvpRW8dFDEfjW4wLgC/3FXIw4zYglQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@esbuild/android-arm64/-/android-arm64-0.19.9.tgz} resolution: {integrity: sha512-q4cR+6ZD0938R19MyEW3jEsMzbb/1rulLXiNAJQADD/XYp7pT+rOS5JGxvpRW8dFDEfjW4wLgC/3FXIw4zYglQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@esbuild/android-arm64/-/android-arm64-0.19.9.tgz}
name: '@esbuild/android-arm64' name: '@esbuild/android-arm64'
...@@ -297,6 +349,79 @@ packages: ...@@ -297,6 +349,79 @@ packages:
name: '@jridgewell/sourcemap-codec' name: '@jridgewell/sourcemap-codec'
version: 1.4.15 version: 1.4.15
registry.npmmirror.com/@protobufjs/aspromise@1.1.2:
resolution: {integrity: sha512-j+gKExEuLmKwvz3OgROXtrJ2UG2x8Ch2YZUxahh+s1F2HZ+wAceUNLkvy6zKCPVRkU++ZWQrdxsUeQXmcg4uoQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@protobufjs/aspromise/-/aspromise-1.1.2.tgz}
name: '@protobufjs/aspromise'
version: 1.1.2
dev: true
registry.npmmirror.com/@protobufjs/base64@1.1.2:
resolution: {integrity: sha512-AZkcAA5vnN/v4PDqKyMR5lx7hZttPDgClv83E//FMNhR2TMcLUhfRUBHCmSl0oi9zMgDDqRUJkSxO3wm85+XLg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@protobufjs/base64/-/base64-1.1.2.tgz}
name: '@protobufjs/base64'
version: 1.1.2
dev: true
registry.npmmirror.com/@protobufjs/codegen@2.0.4:
resolution: {integrity: sha512-YyFaikqM5sH0ziFZCN3xDC7zeGaB/d0IUb9CATugHWbd1FRFwWwt4ld4OYMPWu5a3Xe01mGAULCdqhMlPl29Jg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@protobufjs/codegen/-/codegen-2.0.4.tgz}
name: '@protobufjs/codegen'
version: 2.0.4
dev: true
registry.npmmirror.com/@protobufjs/eventemitter@1.1.0:
resolution: {integrity: sha512-j9ednRT81vYJ9OfVuXG6ERSTdEL1xVsNgqpkxMsbIabzSo3goCjDIveeGv5d03om39ML71RdmrGNjG5SReBP/Q==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@protobufjs/eventemitter/-/eventemitter-1.1.0.tgz}
name: '@protobufjs/eventemitter'
version: 1.1.0
dev: true
registry.npmmirror.com/@protobufjs/fetch@1.1.0:
resolution: {integrity: sha512-lljVXpqXebpsijW71PZaCYeIcE5on1w5DlQy5WH6GLbFryLUrBD4932W/E2BSpfRJWseIL4v/KPgBFxDOIdKpQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@protobufjs/fetch/-/fetch-1.1.0.tgz}
name: '@protobufjs/fetch'
version: 1.1.0
dependencies:
'@protobufjs/aspromise': registry.npmmirror.com/@protobufjs/aspromise@1.1.2
'@protobufjs/inquire': registry.npmmirror.com/@protobufjs/inquire@1.1.0
dev: true
registry.npmmirror.com/@protobufjs/float@1.0.2:
resolution: {integrity: sha512-Ddb+kVXlXst9d+R9PfTIxh1EdNkgoRe5tOX6t01f1lYWOvJnSPDBlG241QLzcyPdoNTsblLUdujGSE4RzrTZGQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@protobufjs/float/-/float-1.0.2.tgz}
name: '@protobufjs/float'
version: 1.0.2
dev: true
registry.npmmirror.com/@protobufjs/inquire@1.1.0:
resolution: {integrity: sha512-kdSefcPdruJiFMVSbn801t4vFK7KB/5gd2fYvrxhuJYg8ILrmn9SKSX2tZdV6V+ksulWqS7aXjBcRXl3wHoD9Q==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@protobufjs/inquire/-/inquire-1.1.0.tgz}
name: '@protobufjs/inquire'
version: 1.1.0
dev: true
registry.npmmirror.com/@protobufjs/path@1.1.2:
resolution: {integrity: sha512-6JOcJ5Tm08dOHAbdR3GrvP+yUUfkjG5ePsHYczMFLq3ZmMkAD98cDgcT2iA1lJ9NVwFd4tH/iSSoe44YWkltEA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@protobufjs/path/-/path-1.1.2.tgz}
name: '@protobufjs/path'
version: 1.1.2
dev: true
registry.npmmirror.com/@protobufjs/pool@1.1.0:
resolution: {integrity: sha512-0kELaGSIDBKvcgS4zkjz1PeddatrjYcmMWOlAuAPwAeccUrPHdUqo/J6LiymHHEiJT5NrF1UVwxY14f+fy4WQw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@protobufjs/pool/-/pool-1.1.0.tgz}
name: '@protobufjs/pool'
version: 1.1.0
dev: true
registry.npmmirror.com/@protobufjs/utf8@1.1.0:
resolution: {integrity: sha512-Vvn3zZrhQZkkBE8LSuW3em98c0FwgO4nxzv6OdSxPKJIEKY2bGbHn+mhGIPerzI4twdxaP8/0+06HBpwf345Lw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@protobufjs/utf8/-/utf8-1.1.0.tgz}
name: '@protobufjs/utf8'
version: 1.1.0
dev: true
registry.npmmirror.com/@rollup/pluginutils@4.2.1:
resolution: {integrity: sha512-iKnFXr7NkdZAIHiIWE+BX5ULi/ucVFYWD6TbAV+rZctiRTY2PL6tsIKhoIOaoskiWAkgu+VsbXgUVDNLHf+InQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@rollup/pluginutils/-/pluginutils-4.2.1.tgz}
name: '@rollup/pluginutils'
version: 4.2.1
engines: {node: '>= 8.0.0'}
dependencies:
estree-walker: registry.npmmirror.com/estree-walker@2.0.2
picomatch: registry.npmmirror.com/picomatch@2.3.1
dev: true
registry.npmmirror.com/@rollup/rollup-android-arm-eabi@4.9.1: registry.npmmirror.com/@rollup/rollup-android-arm-eabi@4.9.1:
resolution: {integrity: sha512-6vMdBZqtq1dVQ4CWdhFwhKZL6E4L1dV6jUjuBvsavvNJSppzi6dLBbuV+3+IyUREaj9ZFvQefnQm28v4OCXlig==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.9.1.tgz} resolution: {integrity: sha512-6vMdBZqtq1dVQ4CWdhFwhKZL6E4L1dV6jUjuBvsavvNJSppzi6dLBbuV+3+IyUREaj9ZFvQefnQm28v4OCXlig==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.9.1.tgz}
name: '@rollup/rollup-android-arm-eabi' name: '@rollup/rollup-android-arm-eabi'
...@@ -432,6 +557,26 @@ packages: ...@@ -432,6 +557,26 @@ packages:
dev: true dev: true
optional: true optional: true
registry.npmmirror.com/@tweenjs/tween.js@21.0.0:
resolution: {integrity: sha512-qVfOiFh0U8ZSkLgA6tf7kj2MciqRbSCWaJZRwftVO7UbtVDNsZAXpWXqvCDtIefvjC83UJB+vHTDOGm5ibXjEA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@tweenjs/tween.js/-/tween.js-21.0.0.tgz}
name: '@tweenjs/tween.js'
version: 21.0.0
dev: true
registry.npmmirror.com/@types/estree@1.0.5:
resolution: {integrity: sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@types/estree/-/estree-1.0.5.tgz}
name: '@types/estree'
version: 1.0.5
dev: true
registry.npmmirror.com/@types/node@20.10.5:
resolution: {integrity: sha512-nNPsNE65wjMxEKI93yOP+NPGGBJz/PoN3kZsVLee0XMiJolxSekEVD8wRwBUBqkwc7UWop0edW50yrCQW4CyRw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@types/node/-/node-20.10.5.tgz}
name: '@types/node'
version: 20.10.5
dependencies:
undici-types: registry.npmmirror.com/undici-types@5.26.5
dev: true
registry.npmmirror.com/@vitejs/plugin-vue@4.5.2(vite@5.0.10)(vue@3.3.12): registry.npmmirror.com/@vitejs/plugin-vue@4.5.2(vite@5.0.10)(vue@3.3.12):
resolution: {integrity: sha512-UGR3DlzLi/SaVBPX0cnSyE37vqxU3O6chn8l0HJNzQzDia6/Au2A4xKv+iIJW8w2daf80G7TYHhi1pAUjdZ0bQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@vitejs/plugin-vue/-/plugin-vue-4.5.2.tgz} resolution: {integrity: sha512-UGR3DlzLi/SaVBPX0cnSyE37vqxU3O6chn8l0HJNzQzDia6/Au2A4xKv+iIJW8w2daf80G7TYHhi1pAUjdZ0bQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@vitejs/plugin-vue/-/plugin-vue-4.5.2.tgz}
id: registry.npmmirror.com/@vitejs/plugin-vue/4.5.2 id: registry.npmmirror.com/@vitejs/plugin-vue/4.5.2
...@@ -442,7 +587,7 @@ packages: ...@@ -442,7 +587,7 @@ packages:
vite: ^4.0.0 || ^5.0.0 vite: ^4.0.0 || ^5.0.0
vue: ^3.2.25 vue: ^3.2.25
dependencies: dependencies:
vite: registry.npmmirror.com/vite@5.0.10 vite: registry.npmmirror.com/vite@5.0.10(sass@1.69.5)
vue: registry.npmmirror.com/vue@3.3.12 vue: registry.npmmirror.com/vue@3.3.12
dev: true dev: true
...@@ -488,6 +633,12 @@ packages: ...@@ -488,6 +633,12 @@ packages:
'@vue/compiler-dom': registry.npmmirror.com/@vue/compiler-dom@3.3.12 '@vue/compiler-dom': registry.npmmirror.com/@vue/compiler-dom@3.3.12
'@vue/shared': registry.npmmirror.com/@vue/shared@3.3.12 '@vue/shared': registry.npmmirror.com/@vue/shared@3.3.12
registry.npmmirror.com/@vue/devtools-api@6.5.1:
resolution: {integrity: sha512-+KpckaAQyfbvshdDW5xQylLni1asvNSGme1JFs8I1+/H5pHEhqUKMEQD/qn3Nx5+/nycBq11qAEi8lk+LXI2dA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@vue/devtools-api/-/devtools-api-6.5.1.tgz}
name: '@vue/devtools-api'
version: 6.5.1
dev: false
registry.npmmirror.com/@vue/reactivity-transform@3.3.12: registry.npmmirror.com/@vue/reactivity-transform@3.3.12:
resolution: {integrity: sha512-g5TijmML7FyKkLt6QnpqNmA4KD7K/T5SbXa88Bhq+hydNQEkzA8veVXWAQuNqg9rjaFYD0rPf0a9NofKA0ENgg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@vue/reactivity-transform/-/reactivity-transform-3.3.12.tgz} resolution: {integrity: sha512-g5TijmML7FyKkLt6QnpqNmA4KD7K/T5SbXa88Bhq+hydNQEkzA8veVXWAQuNqg9rjaFYD0rPf0a9NofKA0ENgg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@vue/reactivity-transform/-/reactivity-transform-3.3.12.tgz}
name: '@vue/reactivity-transform' name: '@vue/reactivity-transform'
...@@ -540,11 +691,185 @@ packages: ...@@ -540,11 +691,185 @@ packages:
name: '@vue/shared' name: '@vue/shared'
version: 3.3.12 version: 3.3.12
registry.npmmirror.com/@zip.js/zip.js@2.4.26:
resolution: {integrity: sha512-I9HBO3BHIxEMQmltmHM3iqUW6IHqi3gsL9wTSXvHTRpOrA6q2OxtR58EDSaOGjHhDVJ+wIOAxZyKq2x00AVmqw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@zip.js/zip.js/-/zip.js-2.4.26.tgz}
name: '@zip.js/zip.js'
version: 2.4.26
dev: true
registry.npmmirror.com/anymatch@3.1.3:
resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/anymatch/-/anymatch-3.1.3.tgz}
name: anymatch
version: 3.1.3
engines: {node: '>= 8'}
dependencies:
normalize-path: registry.npmmirror.com/normalize-path@3.0.0
picomatch: registry.npmmirror.com/picomatch@2.3.1
registry.npmmirror.com/asynckit@0.4.0:
resolution: {integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/asynckit/-/asynckit-0.4.0.tgz}
name: asynckit
version: 0.4.0
dev: false
registry.npmmirror.com/at-least-node@1.0.0:
resolution: {integrity: sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/at-least-node/-/at-least-node-1.0.0.tgz}
name: at-least-node
version: 1.0.0
engines: {node: '>= 4.0.0'}
dev: true
registry.npmmirror.com/autolinker@4.0.0:
resolution: {integrity: sha512-fl5Kh6BmEEZx+IWBfEirnRUU5+cOiV0OK7PEt0RBKvJMJ8GaRseIOeDU3FKf4j3CE5HVefcjHmhYPOcaVt0bZw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/autolinker/-/autolinker-4.0.0.tgz}
name: autolinker
version: 4.0.0
dependencies:
tslib: registry.npmmirror.com/tslib@2.6.2
dev: true
registry.npmmirror.com/axios@1.6.2:
resolution: {integrity: sha512-7i24Ri4pmDRfJTR7LDBhsOTtcm+9kjX5WiY1X3wIisx6G9So3pfMkEiU7emUBe46oceVImccTEM3k6C5dbVW8A==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/axios/-/axios-1.6.2.tgz}
name: axios
version: 1.6.2
dependencies:
follow-redirects: registry.npmmirror.com/follow-redirects@1.15.3
form-data: registry.npmmirror.com/form-data@4.0.0
proxy-from-env: registry.npmmirror.com/proxy-from-env@1.1.0
transitivePeerDependencies:
- debug
dev: false
registry.npmmirror.com/binary-extensions@2.2.0:
resolution: {integrity: sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/binary-extensions/-/binary-extensions-2.2.0.tgz}
name: binary-extensions
version: 2.2.0
engines: {node: '>=8'}
registry.npmmirror.com/bitmap-sdf@1.0.4:
resolution: {integrity: sha512-1G3U4n5JE6RAiALMxu0p1XmeZkTeCwGKykzsLTCqVzfSDaN6S7fKnkIkfejogz+iwqBWc0UYAIKnKHNN7pSfDg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/bitmap-sdf/-/bitmap-sdf-1.0.4.tgz}
name: bitmap-sdf
version: 1.0.4
dev: true
registry.npmmirror.com/braces@3.0.2:
resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/braces/-/braces-3.0.2.tgz}
name: braces
version: 3.0.2
engines: {node: '>=8'}
dependencies:
fill-range: registry.npmmirror.com/fill-range@7.0.1
registry.npmmirror.com/cesium@1.112.0:
resolution: {integrity: sha512-johaLB97GIBZF9qEfKHc04vQHgh3B0tikFE+QA5W+ZsL97KQjTcdlgwGNxCT2yMCgN5hZ+eSynoQhkqLdFuUDA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/cesium/-/cesium-1.112.0.tgz}
name: cesium
version: 1.112.0
engines: {node: '>=14.0.0'}
dependencies:
'@cesium/engine': registry.npmmirror.com/@cesium/engine@6.1.1
'@cesium/widgets': registry.npmmirror.com/@cesium/widgets@4.3.1
dev: true
registry.npmmirror.com/chokidar@3.5.3:
resolution: {integrity: sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/chokidar/-/chokidar-3.5.3.tgz}
name: chokidar
version: 3.5.3
engines: {node: '>= 8.10.0'}
dependencies:
anymatch: registry.npmmirror.com/anymatch@3.1.3
braces: registry.npmmirror.com/braces@3.0.2
glob-parent: registry.npmmirror.com/glob-parent@5.1.2
is-binary-path: registry.npmmirror.com/is-binary-path@2.1.0
is-glob: registry.npmmirror.com/is-glob@4.0.3
normalize-path: registry.npmmirror.com/normalize-path@3.0.0
readdirp: registry.npmmirror.com/readdirp@3.6.0
optionalDependencies:
fsevents: registry.npmmirror.com/fsevents@2.3.3
registry.npmmirror.com/combined-stream@1.0.8:
resolution: {integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/combined-stream/-/combined-stream-1.0.8.tgz}
name: combined-stream
version: 1.0.8
engines: {node: '>= 0.8'}
dependencies:
delayed-stream: registry.npmmirror.com/delayed-stream@1.0.0
dev: false
registry.npmmirror.com/commander@2.20.3:
resolution: {integrity: sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/commander/-/commander-2.20.3.tgz}
name: commander
version: 2.20.3
dev: true
registry.npmmirror.com/csstype@3.1.3: registry.npmmirror.com/csstype@3.1.3:
resolution: {integrity: sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/csstype/-/csstype-3.1.3.tgz} resolution: {integrity: sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/csstype/-/csstype-3.1.3.tgz}
name: csstype name: csstype
version: 3.1.3 version: 3.1.3
registry.npmmirror.com/debug@2.6.9:
resolution: {integrity: sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/debug/-/debug-2.6.9.tgz}
name: debug
version: 2.6.9
peerDependencies:
supports-color: '*'
peerDependenciesMeta:
supports-color:
optional: true
dependencies:
ms: registry.npmmirror.com/ms@2.0.0
dev: true
registry.npmmirror.com/delayed-stream@1.0.0:
resolution: {integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/delayed-stream/-/delayed-stream-1.0.0.tgz}
name: delayed-stream
version: 1.0.0
engines: {node: '>=0.4.0'}
dev: false
registry.npmmirror.com/depd@2.0.0:
resolution: {integrity: sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/depd/-/depd-2.0.0.tgz}
name: depd
version: 2.0.0
engines: {node: '>= 0.8'}
dev: true
registry.npmmirror.com/destroy@1.2.0:
resolution: {integrity: sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/destroy/-/destroy-1.2.0.tgz}
name: destroy
version: 1.2.0
engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16}
dev: true
registry.npmmirror.com/dompurify@3.0.6:
resolution: {integrity: sha512-ilkD8YEnnGh1zJ240uJsW7AzE+2qpbOUYjacomn3AvJ6J4JhKGSZ2nh4wUIXPZrEPppaCLx5jFe8T89Rk8tQ7w==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/dompurify/-/dompurify-3.0.6.tgz}
name: dompurify
version: 3.0.6
dev: true
registry.npmmirror.com/draco3d@1.5.6:
resolution: {integrity: sha512-+3NaRjWktb5r61ZFoDejlykPEFKT5N/LkbXsaddlw6xNSXBanUYpFc2AXXpbJDilPHazcSreU/DpQIaxfX0NfQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/draco3d/-/draco3d-1.5.6.tgz}
name: draco3d
version: 1.5.6
dev: true
registry.npmmirror.com/earcut@2.2.4:
resolution: {integrity: sha512-/pjZsA1b4RPHbeWZQn66SWS8nZZWLQQ23oE3Eam7aroEFGEvwKAsJfZ9ytiEMycfzXWpca4FA9QIOehf7PocBQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/earcut/-/earcut-2.2.4.tgz}
name: earcut
version: 2.2.4
dev: true
registry.npmmirror.com/ee-first@1.1.1:
resolution: {integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/ee-first/-/ee-first-1.1.1.tgz}
name: ee-first
version: 1.1.1
dev: true
registry.npmmirror.com/encodeurl@1.0.2:
resolution: {integrity: sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/encodeurl/-/encodeurl-1.0.2.tgz}
name: encodeurl
version: 1.0.2
engines: {node: '>= 0.8'}
dev: true
registry.npmmirror.com/esbuild@0.19.9: registry.npmmirror.com/esbuild@0.19.9:
resolution: {integrity: sha512-U9CHtKSy+EpPsEBa+/A2gMs/h3ylBC0H0KSqIg7tpztHerLi6nrrcoUJAkNCEPumx8yJ+Byic4BVwHgRbN0TBg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/esbuild/-/esbuild-0.19.9.tgz} resolution: {integrity: sha512-U9CHtKSy+EpPsEBa+/A2gMs/h3ylBC0H0KSqIg7tpztHerLi6nrrcoUJAkNCEPumx8yJ+Byic4BVwHgRbN0TBg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/esbuild/-/esbuild-0.19.9.tgz}
name: esbuild name: esbuild
...@@ -577,11 +902,74 @@ packages: ...@@ -577,11 +902,74 @@ packages:
'@esbuild/win32-x64': registry.npmmirror.com/@esbuild/win32-x64@0.19.9 '@esbuild/win32-x64': registry.npmmirror.com/@esbuild/win32-x64@0.19.9
dev: true dev: true
registry.npmmirror.com/escape-html@1.0.3:
resolution: {integrity: sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/escape-html/-/escape-html-1.0.3.tgz}
name: escape-html
version: 1.0.3
dev: true
registry.npmmirror.com/estree-walker@2.0.2: registry.npmmirror.com/estree-walker@2.0.2:
resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/estree-walker/-/estree-walker-2.0.2.tgz} resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/estree-walker/-/estree-walker-2.0.2.tgz}
name: estree-walker name: estree-walker
version: 2.0.2 version: 2.0.2
registry.npmmirror.com/etag@1.8.1:
resolution: {integrity: sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/etag/-/etag-1.8.1.tgz}
name: etag
version: 1.8.1
engines: {node: '>= 0.6'}
dev: true
registry.npmmirror.com/fill-range@7.0.1:
resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/fill-range/-/fill-range-7.0.1.tgz}
name: fill-range
version: 7.0.1
engines: {node: '>=8'}
dependencies:
to-regex-range: registry.npmmirror.com/to-regex-range@5.0.1
registry.npmmirror.com/follow-redirects@1.15.3:
resolution: {integrity: sha512-1VzOtuEM8pC9SFU1E+8KfTjZyMztRsgEfwQl44z8A25uy13jSzTj6dyK2Df52iV0vgHCfBwLhDWevLn95w5v6Q==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/follow-redirects/-/follow-redirects-1.15.3.tgz}
name: follow-redirects
version: 1.15.3
engines: {node: '>=4.0'}
peerDependencies:
debug: '*'
peerDependenciesMeta:
debug:
optional: true
dev: false
registry.npmmirror.com/form-data@4.0.0:
resolution: {integrity: sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/form-data/-/form-data-4.0.0.tgz}
name: form-data
version: 4.0.0
engines: {node: '>= 6'}
dependencies:
asynckit: registry.npmmirror.com/asynckit@0.4.0
combined-stream: registry.npmmirror.com/combined-stream@1.0.8
mime-types: registry.npmmirror.com/mime-types@2.1.35
dev: false
registry.npmmirror.com/fresh@0.5.2:
resolution: {integrity: sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/fresh/-/fresh-0.5.2.tgz}
name: fresh
version: 0.5.2
engines: {node: '>= 0.6'}
dev: true
registry.npmmirror.com/fs-extra@9.1.0:
resolution: {integrity: sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/fs-extra/-/fs-extra-9.1.0.tgz}
name: fs-extra
version: 9.1.0
engines: {node: '>=10'}
dependencies:
at-least-node: registry.npmmirror.com/at-least-node@1.0.0
graceful-fs: registry.npmmirror.com/graceful-fs@4.2.11
jsonfile: registry.npmmirror.com/jsonfile@6.1.0
universalify: registry.npmmirror.com/universalify@2.0.1
dev: true
registry.npmmirror.com/fsevents@2.3.3: registry.npmmirror.com/fsevents@2.3.3:
resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/fsevents/-/fsevents-2.3.3.tgz} resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/fsevents/-/fsevents-2.3.3.tgz}
name: fsevents name: fsevents
...@@ -589,9 +977,137 @@ packages: ...@@ -589,9 +977,137 @@ packages:
engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0}
os: [darwin] os: [darwin]
requiresBuild: true requiresBuild: true
dev: true
optional: true optional: true
registry.npmmirror.com/glob-parent@5.1.2:
resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/glob-parent/-/glob-parent-5.1.2.tgz}
name: glob-parent
version: 5.1.2
engines: {node: '>= 6'}
dependencies:
is-glob: registry.npmmirror.com/is-glob@4.0.3
registry.npmmirror.com/graceful-fs@4.2.11:
resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/graceful-fs/-/graceful-fs-4.2.11.tgz}
name: graceful-fs
version: 4.2.11
dev: true
registry.npmmirror.com/grapheme-splitter@1.0.4:
resolution: {integrity: sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/grapheme-splitter/-/grapheme-splitter-1.0.4.tgz}
name: grapheme-splitter
version: 1.0.4
dev: true
registry.npmmirror.com/http-errors@2.0.0:
resolution: {integrity: sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/http-errors/-/http-errors-2.0.0.tgz}
name: http-errors
version: 2.0.0
engines: {node: '>= 0.8'}
dependencies:
depd: registry.npmmirror.com/depd@2.0.0
inherits: registry.npmmirror.com/inherits@2.0.4
setprototypeof: registry.npmmirror.com/setprototypeof@1.2.0
statuses: registry.npmmirror.com/statuses@2.0.1
toidentifier: registry.npmmirror.com/toidentifier@1.0.1
dev: true
registry.npmmirror.com/immutable@4.3.4:
resolution: {integrity: sha512-fsXeu4J4i6WNWSikpI88v/PcVflZz+6kMhUfIwc5SY+poQRPnaf5V7qds6SUyUN3cVxEzuCab7QIoLOQ+DQ1wA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/immutable/-/immutable-4.3.4.tgz}
name: immutable
version: 4.3.4
registry.npmmirror.com/inherits@2.0.4:
resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/inherits/-/inherits-2.0.4.tgz}
name: inherits
version: 2.0.4
dev: true
registry.npmmirror.com/is-binary-path@2.1.0:
resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/is-binary-path/-/is-binary-path-2.1.0.tgz}
name: is-binary-path
version: 2.1.0
engines: {node: '>=8'}
dependencies:
binary-extensions: registry.npmmirror.com/binary-extensions@2.2.0
registry.npmmirror.com/is-extglob@2.1.1:
resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/is-extglob/-/is-extglob-2.1.1.tgz}
name: is-extglob
version: 2.1.1
engines: {node: '>=0.10.0'}
registry.npmmirror.com/is-glob@4.0.3:
resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/is-glob/-/is-glob-4.0.3.tgz}
name: is-glob
version: 4.0.3
engines: {node: '>=0.10.0'}
dependencies:
is-extglob: registry.npmmirror.com/is-extglob@2.1.1
registry.npmmirror.com/is-number@7.0.0:
resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/is-number/-/is-number-7.0.0.tgz}
name: is-number
version: 7.0.0
engines: {node: '>=0.12.0'}
registry.npmmirror.com/is-reference@1.2.1:
resolution: {integrity: sha512-U82MsXXiFIrjCK4otLT+o2NA2Cd2g5MLoOVXUZjIOhLurrRxpEXzI8O0KZHr3IjLvlAH1kTPYSuqer5T9ZVBKQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/is-reference/-/is-reference-1.2.1.tgz}
name: is-reference
version: 1.2.1
dependencies:
'@types/estree': registry.npmmirror.com/@types/estree@1.0.5
dev: true
registry.npmmirror.com/jsep@1.3.8:
resolution: {integrity: sha512-qofGylTGgYj9gZFsHuyWAN4jr35eJ66qJCK4eKDnldohuUoQFbU3iZn2zjvEbd9wOAhP9Wx5DsAAduTyE1PSWQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/jsep/-/jsep-1.3.8.tgz}
name: jsep
version: 1.3.8
engines: {node: '>= 10.16.0'}
dev: true
registry.npmmirror.com/jsonfile@6.1.0:
resolution: {integrity: sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/jsonfile/-/jsonfile-6.1.0.tgz}
name: jsonfile
version: 6.1.0
dependencies:
universalify: registry.npmmirror.com/universalify@2.0.1
optionalDependencies:
graceful-fs: registry.npmmirror.com/graceful-fs@4.2.11
dev: true
registry.npmmirror.com/kdbush@4.0.2:
resolution: {integrity: sha512-WbCVYJ27Sz8zi9Q7Q0xHC+05iwkm3Znipc2XTlrnJbsHMYktW4hPhXUE8Ys1engBrvffoSCqbil1JQAa7clRpA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/kdbush/-/kdbush-4.0.2.tgz}
name: kdbush
version: 4.0.2
dev: true
registry.npmmirror.com/ktx-parse@0.6.0:
resolution: {integrity: sha512-hYOJUI86N9+YPm0M3t8hVzW9t5FnFFibRalZCrqHs/qM2eNziqQzBtAaF0ErgkXm8F+5uE8CjPUYr32vWlXLkQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/ktx-parse/-/ktx-parse-0.6.0.tgz}
name: ktx-parse
version: 0.6.0
dev: true
registry.npmmirror.com/lerc@2.0.0:
resolution: {integrity: sha512-7qo1Mq8ZNmaR4USHHm615nEW2lPeeWJ3bTyoqFbd35DLx0LUH7C6ptt5FDCTAlbIzs3+WKrk5SkJvw8AFDE2hg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/lerc/-/lerc-2.0.0.tgz}
name: lerc
version: 2.0.0
dev: true
registry.npmmirror.com/long@5.2.3:
resolution: {integrity: sha512-lcHwpNoggQTObv5apGNCTdJrO69eHOZMi4BNC+rTLER8iHAqGrUVeLh/irVIM7zTw2bOXA8T6uNPeujwOLg/2Q==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/long/-/long-5.2.3.tgz}
name: long
version: 5.2.3
dev: true
registry.npmmirror.com/magic-string@0.25.9:
resolution: {integrity: sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/magic-string/-/magic-string-0.25.9.tgz}
name: magic-string
version: 0.25.9
dependencies:
sourcemap-codec: registry.npmmirror.com/sourcemap-codec@1.4.8
dev: true
registry.npmmirror.com/magic-string@0.30.5: registry.npmmirror.com/magic-string@0.30.5:
resolution: {integrity: sha512-7xlpfBaQaP/T6Vh8MO/EqXSW5En6INHEvEXQiuff7Gku0PWjU3uf6w/j9o7O+SpB5fOAkrI5HeoNgwjEO0pFsA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/magic-string/-/magic-string-0.30.5.tgz} resolution: {integrity: sha512-7xlpfBaQaP/T6Vh8MO/EqXSW5En6INHEvEXQiuff7Gku0PWjU3uf6w/j9o7O+SpB5fOAkrI5HeoNgwjEO0pFsA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/magic-string/-/magic-string-0.30.5.tgz}
name: magic-string name: magic-string
...@@ -600,6 +1116,54 @@ packages: ...@@ -600,6 +1116,54 @@ packages:
dependencies: dependencies:
'@jridgewell/sourcemap-codec': registry.npmmirror.com/@jridgewell/sourcemap-codec@1.4.15 '@jridgewell/sourcemap-codec': registry.npmmirror.com/@jridgewell/sourcemap-codec@1.4.15
registry.npmmirror.com/mersenne-twister@1.1.0:
resolution: {integrity: sha512-mUYWsMKNrm4lfygPkL3OfGzOPTR2DBlTkBNHM//F6hGp8cLThY897crAlk3/Jo17LEOOjQUrNAx6DvgO77QJkA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/mersenne-twister/-/mersenne-twister-1.1.0.tgz}
name: mersenne-twister
version: 1.1.0
dev: true
registry.npmmirror.com/meshoptimizer@0.20.0:
resolution: {integrity: sha512-olcJ1q+YVnjroRJpCL1Dj5aZxr2JMr2hRutMUwhuHZvpAL7SIZgOT6eMlFF4TbBGSR89tawE/gqB79J/LrW/Nw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/meshoptimizer/-/meshoptimizer-0.20.0.tgz}
name: meshoptimizer
version: 0.20.0
dev: true
registry.npmmirror.com/mime-db@1.52.0:
resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/mime-db/-/mime-db-1.52.0.tgz}
name: mime-db
version: 1.52.0
engines: {node: '>= 0.6'}
dev: false
registry.npmmirror.com/mime-types@2.1.35:
resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/mime-types/-/mime-types-2.1.35.tgz}
name: mime-types
version: 2.1.35
engines: {node: '>= 0.6'}
dependencies:
mime-db: registry.npmmirror.com/mime-db@1.52.0
dev: false
registry.npmmirror.com/mime@1.6.0:
resolution: {integrity: sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/mime/-/mime-1.6.0.tgz}
name: mime
version: 1.6.0
engines: {node: '>=4'}
hasBin: true
dev: true
registry.npmmirror.com/ms@2.0.0:
resolution: {integrity: sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/ms/-/ms-2.0.0.tgz}
name: ms
version: 2.0.0
dev: true
registry.npmmirror.com/ms@2.1.3:
resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/ms/-/ms-2.1.3.tgz}
name: ms
version: 2.1.3
dev: true
registry.npmmirror.com/nanoid@3.3.7: registry.npmmirror.com/nanoid@3.3.7:
resolution: {integrity: sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/nanoid/-/nanoid-3.3.7.tgz} resolution: {integrity: sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/nanoid/-/nanoid-3.3.7.tgz}
name: nanoid name: nanoid
...@@ -607,11 +1171,51 @@ packages: ...@@ -607,11 +1171,51 @@ packages:
engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1}
hasBin: true hasBin: true
registry.npmmirror.com/normalize-path@3.0.0:
resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/normalize-path/-/normalize-path-3.0.0.tgz}
name: normalize-path
version: 3.0.0
engines: {node: '>=0.10.0'}
registry.npmmirror.com/nosleep.js@0.12.0:
resolution: {integrity: sha512-9d1HbpKLh3sdWlhXMhU6MMH+wQzKkrgfRkYV0EBdvt99YJfj0ilCJrWRDYG2130Tm4GXbEoTCx5b34JSaP+HhA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/nosleep.js/-/nosleep.js-0.12.0.tgz}
name: nosleep.js
version: 0.12.0
dev: true
registry.npmmirror.com/on-finished@2.4.1:
resolution: {integrity: sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/on-finished/-/on-finished-2.4.1.tgz}
name: on-finished
version: 2.4.1
engines: {node: '>= 0.8'}
dependencies:
ee-first: registry.npmmirror.com/ee-first@1.1.1
dev: true
registry.npmmirror.com/pako@2.1.0:
resolution: {integrity: sha512-w+eufiZ1WuJYgPXbV/PO3NCMEc3xqylkKHzp8bxp1uW4qaSNQUkwmLLEc3kKsfz8lpV1F8Ht3U1Cm+9Srog2ug==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/pako/-/pako-2.1.0.tgz}
name: pako
version: 2.1.0
dev: true
registry.npmmirror.com/parseurl@1.3.3:
resolution: {integrity: sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/parseurl/-/parseurl-1.3.3.tgz}
name: parseurl
version: 1.3.3
engines: {node: '>= 0.8'}
dev: true
registry.npmmirror.com/picocolors@1.0.0: registry.npmmirror.com/picocolors@1.0.0:
resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/picocolors/-/picocolors-1.0.0.tgz} resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/picocolors/-/picocolors-1.0.0.tgz}
name: picocolors name: picocolors
version: 1.0.0 version: 1.0.0
registry.npmmirror.com/picomatch@2.3.1:
resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/picomatch/-/picomatch-2.3.1.tgz}
name: picomatch
version: 2.3.1
engines: {node: '>=8.6'}
registry.npmmirror.com/postcss@8.4.32: registry.npmmirror.com/postcss@8.4.32:
resolution: {integrity: sha512-D/kj5JNu6oo2EIy+XL/26JEDTlIbB8hw85G8StOE6L74RQAVVP5rej6wxCNqyMbR4RkPfqvezVbPw81Ngd6Kcw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/postcss/-/postcss-8.4.32.tgz} resolution: {integrity: sha512-D/kj5JNu6oo2EIy+XL/26JEDTlIbB8hw85G8StOE6L74RQAVVP5rej6wxCNqyMbR4RkPfqvezVbPw81Ngd6Kcw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/postcss/-/postcss-8.4.32.tgz}
name: postcss name: postcss
...@@ -622,6 +1226,87 @@ packages: ...@@ -622,6 +1226,87 @@ packages:
picocolors: registry.npmmirror.com/picocolors@1.0.0 picocolors: registry.npmmirror.com/picocolors@1.0.0
source-map-js: registry.npmmirror.com/source-map-js@1.0.2 source-map-js: registry.npmmirror.com/source-map-js@1.0.2
registry.npmmirror.com/protobufjs@7.2.5:
resolution: {integrity: sha512-gGXRSXvxQ7UiPgfw8gevrfRWcTlSbOFg+p/N+JVJEK5VhueL2miT6qTymqAmjr1Q5WbOCyJbyrk6JfWKwlFn6A==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/protobufjs/-/protobufjs-7.2.5.tgz}
name: protobufjs
version: 7.2.5
engines: {node: '>=12.0.0'}
requiresBuild: true
dependencies:
'@protobufjs/aspromise': registry.npmmirror.com/@protobufjs/aspromise@1.1.2
'@protobufjs/base64': registry.npmmirror.com/@protobufjs/base64@1.1.2
'@protobufjs/codegen': registry.npmmirror.com/@protobufjs/codegen@2.0.4
'@protobufjs/eventemitter': registry.npmmirror.com/@protobufjs/eventemitter@1.1.0
'@protobufjs/fetch': registry.npmmirror.com/@protobufjs/fetch@1.1.0
'@protobufjs/float': registry.npmmirror.com/@protobufjs/float@1.0.2
'@protobufjs/inquire': registry.npmmirror.com/@protobufjs/inquire@1.1.0
'@protobufjs/path': registry.npmmirror.com/@protobufjs/path@1.1.2
'@protobufjs/pool': registry.npmmirror.com/@protobufjs/pool@1.1.0
'@protobufjs/utf8': registry.npmmirror.com/@protobufjs/utf8@1.1.0
'@types/node': registry.npmmirror.com/@types/node@20.10.5
long: registry.npmmirror.com/long@5.2.3
dev: true
registry.npmmirror.com/proxy-from-env@1.1.0:
resolution: {integrity: sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/proxy-from-env/-/proxy-from-env-1.1.0.tgz}
name: proxy-from-env
version: 1.1.0
dev: false
registry.npmmirror.com/quickselect@2.0.0:
resolution: {integrity: sha512-RKJ22hX8mHe3Y6wH/N3wCM6BWtjaxIyyUIkpHOvfFnxdI4yD4tBXEBKSbriGujF6jnSVkJrffuo6vxACiSSxIw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/quickselect/-/quickselect-2.0.0.tgz}
name: quickselect
version: 2.0.0
dev: true
registry.npmmirror.com/range-parser@1.2.1:
resolution: {integrity: sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/range-parser/-/range-parser-1.2.1.tgz}
name: range-parser
version: 1.2.1
engines: {node: '>= 0.6'}
dev: true
registry.npmmirror.com/rbush@3.0.1:
resolution: {integrity: sha512-XRaVO0YecOpEuIvbhbpTrZgoiI6xBlz6hnlr6EHhd+0x9ase6EmeN+hdwwUaJvLcsFFQ8iWVF1GAK1yB0BWi0w==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/rbush/-/rbush-3.0.1.tgz}
name: rbush
version: 3.0.1
dependencies:
quickselect: registry.npmmirror.com/quickselect@2.0.0
dev: true
registry.npmmirror.com/readdirp@3.6.0:
resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/readdirp/-/readdirp-3.6.0.tgz}
name: readdirp
version: 3.6.0
engines: {node: '>=8.10.0'}
dependencies:
picomatch: registry.npmmirror.com/picomatch@2.3.1
registry.npmmirror.com/rollup-plugin-external-globals@0.6.1(rollup@2.79.1):
resolution: {integrity: sha512-mlp3KNa5sE4Sp9UUR2rjBrxjG79OyZAh/QC18RHIjM+iYkbBwNXSo8DHRMZWtzJTrH8GxQ+SJvCTN3i14uMXIA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/rollup-plugin-external-globals/-/rollup-plugin-external-globals-0.6.1.tgz}
id: registry.npmmirror.com/rollup-plugin-external-globals/0.6.1
name: rollup-plugin-external-globals
version: 0.6.1
peerDependencies:
rollup: ^2.25.0
dependencies:
'@rollup/pluginutils': registry.npmmirror.com/@rollup/pluginutils@4.2.1
estree-walker: registry.npmmirror.com/estree-walker@2.0.2
is-reference: registry.npmmirror.com/is-reference@1.2.1
magic-string: registry.npmmirror.com/magic-string@0.25.9
rollup: registry.npmmirror.com/rollup@2.79.1
dev: true
registry.npmmirror.com/rollup@2.79.1:
resolution: {integrity: sha512-uKxbd0IhMZOhjAiD5oAFp7BqvkA4Dv47qpOCtaNvng4HBwdbWtdOh8f5nZNuk2rp51PMGk3bzfWu5oayNEuYnw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/rollup/-/rollup-2.79.1.tgz}
name: rollup
version: 2.79.1
engines: {node: '>=10.0.0'}
hasBin: true
optionalDependencies:
fsevents: registry.npmmirror.com/fsevents@2.3.3
dev: true
registry.npmmirror.com/rollup@4.9.1: registry.npmmirror.com/rollup@4.9.1:
resolution: {integrity: sha512-pgPO9DWzLoW/vIhlSoDByCzcpX92bKEorbgXuZrqxByte3JFk2xSW2JEeAcyLc9Ru9pqcNNW+Ob7ntsk2oT/Xw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/rollup/-/rollup-4.9.1.tgz} resolution: {integrity: sha512-pgPO9DWzLoW/vIhlSoDByCzcpX92bKEorbgXuZrqxByte3JFk2xSW2JEeAcyLc9Ru9pqcNNW+Ob7ntsk2oT/Xw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/rollup/-/rollup-4.9.1.tgz}
name: rollup name: rollup
...@@ -645,20 +1330,157 @@ packages: ...@@ -645,20 +1330,157 @@ packages:
fsevents: registry.npmmirror.com/fsevents@2.3.3 fsevents: registry.npmmirror.com/fsevents@2.3.3
dev: true dev: true
registry.npmmirror.com/sass@1.69.5:
resolution: {integrity: sha512-qg2+UCJibLr2LCVOt3OlPhr/dqVHWOa9XtZf2OjbLs/T4VPSJ00udtgJxH3neXZm+QqX8B+3cU7RaLqp1iVfcQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/sass/-/sass-1.69.5.tgz}
name: sass
version: 1.69.5
engines: {node: '>=14.0.0'}
hasBin: true
dependencies:
chokidar: registry.npmmirror.com/chokidar@3.5.3
immutable: registry.npmmirror.com/immutable@4.3.4
source-map-js: registry.npmmirror.com/source-map-js@1.0.2
registry.npmmirror.com/send@0.18.0:
resolution: {integrity: sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/send/-/send-0.18.0.tgz}
name: send
version: 0.18.0
engines: {node: '>= 0.8.0'}
dependencies:
debug: registry.npmmirror.com/debug@2.6.9
depd: registry.npmmirror.com/depd@2.0.0
destroy: registry.npmmirror.com/destroy@1.2.0
encodeurl: registry.npmmirror.com/encodeurl@1.0.2
escape-html: registry.npmmirror.com/escape-html@1.0.3
etag: registry.npmmirror.com/etag@1.8.1
fresh: registry.npmmirror.com/fresh@0.5.2
http-errors: registry.npmmirror.com/http-errors@2.0.0
mime: registry.npmmirror.com/mime@1.6.0
ms: registry.npmmirror.com/ms@2.1.3
on-finished: registry.npmmirror.com/on-finished@2.4.1
range-parser: registry.npmmirror.com/range-parser@1.2.1
statuses: registry.npmmirror.com/statuses@2.0.1
transitivePeerDependencies:
- supports-color
dev: true
registry.npmmirror.com/serve-static@1.15.0:
resolution: {integrity: sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/serve-static/-/serve-static-1.15.0.tgz}
name: serve-static
version: 1.15.0
engines: {node: '>= 0.8.0'}
dependencies:
encodeurl: registry.npmmirror.com/encodeurl@1.0.2
escape-html: registry.npmmirror.com/escape-html@1.0.3
parseurl: registry.npmmirror.com/parseurl@1.3.3
send: registry.npmmirror.com/send@0.18.0
transitivePeerDependencies:
- supports-color
dev: true
registry.npmmirror.com/setprototypeof@1.2.0:
resolution: {integrity: sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/setprototypeof/-/setprototypeof-1.2.0.tgz}
name: setprototypeof
version: 1.2.0
dev: true
registry.npmmirror.com/source-map-js@1.0.2: registry.npmmirror.com/source-map-js@1.0.2:
resolution: {integrity: sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/source-map-js/-/source-map-js-1.0.2.tgz} resolution: {integrity: sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/source-map-js/-/source-map-js-1.0.2.tgz}
name: source-map-js name: source-map-js
version: 1.0.2 version: 1.0.2
engines: {node: '>=0.10.0'} engines: {node: '>=0.10.0'}
registry.npmmirror.com/sourcemap-codec@1.4.8:
resolution: {integrity: sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz}
name: sourcemap-codec
version: 1.4.8
deprecated: Please use @jridgewell/sourcemap-codec instead
dev: true
registry.npmmirror.com/statuses@2.0.1:
resolution: {integrity: sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/statuses/-/statuses-2.0.1.tgz}
name: statuses
version: 2.0.1
engines: {node: '>= 0.8'}
dev: true
registry.npmmirror.com/to-fast-properties@2.0.0: registry.npmmirror.com/to-fast-properties@2.0.0:
resolution: {integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/to-fast-properties/-/to-fast-properties-2.0.0.tgz} resolution: {integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/to-fast-properties/-/to-fast-properties-2.0.0.tgz}
name: to-fast-properties name: to-fast-properties
version: 2.0.0 version: 2.0.0
engines: {node: '>=4'} engines: {node: '>=4'}
registry.npmmirror.com/vite@5.0.10: registry.npmmirror.com/to-regex-range@5.0.1:
resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/to-regex-range/-/to-regex-range-5.0.1.tgz}
name: to-regex-range
version: 5.0.1
engines: {node: '>=8.0'}
dependencies:
is-number: registry.npmmirror.com/is-number@7.0.0
registry.npmmirror.com/toidentifier@1.0.1:
resolution: {integrity: sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/toidentifier/-/toidentifier-1.0.1.tgz}
name: toidentifier
version: 1.0.1
engines: {node: '>=0.6'}
dev: true
registry.npmmirror.com/topojson-client@3.1.0:
resolution: {integrity: sha512-605uxS6bcYxGXw9qi62XyrV6Q3xwbndjachmNxu8HWTtVPxZfEJN9fd/SZS1Q54Sn2y0TMyMxFj/cJINqGHrKw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/topojson-client/-/topojson-client-3.1.0.tgz}
name: topojson-client
version: 3.1.0
hasBin: true
dependencies:
commander: registry.npmmirror.com/commander@2.20.3
dev: true
registry.npmmirror.com/tslib@2.6.2:
resolution: {integrity: sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/tslib/-/tslib-2.6.2.tgz}
name: tslib
version: 2.6.2
dev: true
registry.npmmirror.com/undici-types@5.26.5:
resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/undici-types/-/undici-types-5.26.5.tgz}
name: undici-types
version: 5.26.5
dev: true
registry.npmmirror.com/universalify@2.0.1:
resolution: {integrity: sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/universalify/-/universalify-2.0.1.tgz}
name: universalify
version: 2.0.1
engines: {node: '>= 10.0.0'}
dev: true
registry.npmmirror.com/urijs@1.19.11:
resolution: {integrity: sha512-HXgFDgDommxn5/bIv0cnQZsPhHDA90NPHD6+c/v21U5+Sx5hoP8+dP9IZXBU1gIfvdRfhG8cel9QNPeionfcCQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/urijs/-/urijs-1.19.11.tgz}
name: urijs
version: 1.19.11
dev: true
registry.npmmirror.com/vite-plugin-cesium@1.2.22(cesium@1.112.0)(rollup@2.79.1)(vite@5.0.10):
resolution: {integrity: sha512-OnS+VKNGck4kUu4/67Fdfhz0/zF9mDVNUp9hUWtX19C38O0mJsJy2MH1ev2QcrVLf6VieJ7vCGxkLchdB1n1HQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/vite-plugin-cesium/-/vite-plugin-cesium-1.2.22.tgz}
id: registry.npmmirror.com/vite-plugin-cesium/1.2.22
name: vite-plugin-cesium
version: 1.2.22
peerDependencies:
cesium: ^1.95.0
vite: '>=2.7.1'
dependencies:
cesium: registry.npmmirror.com/cesium@1.112.0
fs-extra: registry.npmmirror.com/fs-extra@9.1.0
rollup-plugin-external-globals: registry.npmmirror.com/rollup-plugin-external-globals@0.6.1(rollup@2.79.1)
serve-static: registry.npmmirror.com/serve-static@1.15.0
vite: registry.npmmirror.com/vite@5.0.10(sass@1.69.5)
transitivePeerDependencies:
- rollup
- supports-color
dev: true
registry.npmmirror.com/vite@5.0.10(sass@1.69.5):
resolution: {integrity: sha512-2P8J7WWgmc355HUMlFrwofacvr98DAjoE52BfdbwQtyLH06XKwaL/FMnmKM2crF0iX4MpmMKoDlNCB1ok7zHCw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/vite/-/vite-5.0.10.tgz} resolution: {integrity: sha512-2P8J7WWgmc355HUMlFrwofacvr98DAjoE52BfdbwQtyLH06XKwaL/FMnmKM2crF0iX4MpmMKoDlNCB1ok7zHCw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/vite/-/vite-5.0.10.tgz}
id: registry.npmmirror.com/vite/5.0.10
name: vite name: vite
version: 5.0.10 version: 5.0.10
engines: {node: ^18.0.0 || >=20.0.0} engines: {node: ^18.0.0 || >=20.0.0}
...@@ -690,10 +1512,23 @@ packages: ...@@ -690,10 +1512,23 @@ packages:
esbuild: registry.npmmirror.com/esbuild@0.19.9 esbuild: registry.npmmirror.com/esbuild@0.19.9
postcss: registry.npmmirror.com/postcss@8.4.32 postcss: registry.npmmirror.com/postcss@8.4.32
rollup: registry.npmmirror.com/rollup@4.9.1 rollup: registry.npmmirror.com/rollup@4.9.1
sass: registry.npmmirror.com/sass@1.69.5
optionalDependencies: optionalDependencies:
fsevents: registry.npmmirror.com/fsevents@2.3.3 fsevents: registry.npmmirror.com/fsevents@2.3.3
dev: true dev: true
registry.npmmirror.com/vue-router@4.2.5(vue@3.3.12):
resolution: {integrity: sha512-DIUpKcyg4+PTQKfFPX88UWhlagBEBEfJ5A8XDXRJLUnZOvcpMF8o/dnL90vpVkGaPbjvXazV/rC1qBKrZlFugw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/vue-router/-/vue-router-4.2.5.tgz}
id: registry.npmmirror.com/vue-router/4.2.5
name: vue-router
version: 4.2.5
peerDependencies:
vue: ^3.2.0
dependencies:
'@vue/devtools-api': registry.npmmirror.com/@vue/devtools-api@6.5.1
vue: registry.npmmirror.com/vue@3.3.12
dev: false
registry.npmmirror.com/vue@3.3.12: registry.npmmirror.com/vue@3.3.12:
resolution: {integrity: sha512-jYNv2QmET2OTHsFzfWHMnqgCfqL4zfo97QwofdET+GBRCHhSCHuMTTvNIgeSn0/xF3JRT5OGah6MDwUFN7MPlg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/vue/-/vue-3.3.12.tgz} resolution: {integrity: sha512-jYNv2QmET2OTHsFzfWHMnqgCfqL4zfo97QwofdET+GBRCHhSCHuMTTvNIgeSn0/xF3JRT5OGah6MDwUFN7MPlg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/vue/-/vue-3.3.12.tgz}
name: vue name: vue
......
<script setup>
import HelloWorld from './components/HelloWorld.vue'
</script>
<template> <template>
<div> <router-view></router-view>
<a href="https://vitejs.dev" target="_blank">
<img src="/vite.svg" class="logo" alt="Vite logo" />
</a>
<a href="https://vuejs.org/" target="_blank">
<img src="./assets/vue.svg" class="logo vue" alt="Vue logo" />
</a>
</div>
<HelloWorld msg="Vite + Vue" />
</template> </template>
<style scoped> <style scoped>
.logo {
height: 6em;
padding: 1.5em;
will-change: filter;
transition: filter 300ms;
}
.logo:hover {
filter: drop-shadow(0 0 2em #646cffaa);
}
.logo.vue:hover {
filter: drop-shadow(0 0 2em #42b883aa);
}
</style> </style>
import request from '@/utils/request'
// 获取社区列表
export function getCommunityList() {
return request({
url: '/wcwy/large/community/list/0',
method: 'get'
})
}
// 获取小区列表
export function getHouseList(communityId) {
return request({
url: '/wcwy/large/getHouseList/' + communityId,
method: 'get'
})
}
//获取小区详情
export function getHouseInfo(id) {
return request({
url: '/wcwy/large/house/' + id,
method: 'get'
})
}
// 获取业委会列表
export function getOwnerList(data) {
return request({
url: '/wcwy/house/ownerlist',
method: 'post',
data
})
}
\ No newline at end of file
import request from '../utils/request'
// 获取验证码
export function getCodeImg() {
return request({
url: '/code',
headers: {
isToken: false
},
method: 'get',
timeout: 20000
})
}
// 登录方法
export function login(username, password, code, uuid) {
return request({
url: '/auth/login',
headers: {
isToken: false
},
method: 'post',
data: { username, password, code, uuid }
})
}
// 获取用户信息
export function getUserType() {
return request({
url: '/nishisei/user/getNishiseiInfo',
method: 'get'
})
}
\ No newline at end of file
<script setup>
import { ref } from 'vue'
defineProps({
msg: String,
})
const count = ref(0)
</script>
<template>
<h1>{{ msg }}</h1>
<div class="card">
<button type="button" @click="count++">count is {{ count }}</button>
<p>
Edit
<code>components/HelloWorld.vue</code> to test HMR
</p>
</div>
<p>
Check out
<a href="https://vuejs.org/guide/quick-start.html#local" target="_blank"
>create-vue</a
>, the official Vue + Vite starter
</p>
<p>
Install
<a href="https://github.com/vuejs/language-tools" target="_blank">Volar</a>
in your IDE for a better DX
</p>
<p class="read-the-docs">Click on the Vite and Vue logos to learn more</p>
</template>
<style scoped>
.read-the-docs {
color: #888;
}
</style>
<template>
<div class="top-box" v-if="props.showBtn"></div>
<div class="title">
<div class="time-box">
<div class="time">{{ timeInfo.nowtime }}</div>
<div class="date">{{ timeInfo.todayDate }}</div>
<div class="week">{{ timeInfo.todayWeek }}</div>
</div>
<div class="weather-box" v-if="!props.showBtn">
<div id="he-plugin-simple"></div>
</div>
<div class="button-box" v-else>
<div class="btn" @click="toIndex">返回首页</div>
</div>
</div>
</template>
<script setup>
import {
inject,
onMounted,
watch,
ref,
computed,
reactive,
onUnmounted,
} from "vue";
import { useRouter } from "vue-router";
const weekMap = ["日", "一", "二", "三", "四", "五", "六"];
const timeInfo = reactive({
nowtime: "",
todayDate: "",
todayWeek: "",
});
const props = defineProps({
showBtn: {
type: Boolean,
},
});
let timerID = ref(null);
let router = new useRouter();
function twoDigits(val) {
if (val < 10) return "0" + val;
return val;
}
function toIndex() {
router.go(-1);
}
function getNowTime() {
let today = new Date();
let date =
today.getFullYear() + "-" + (today.getMonth() + 1) + "-" + today.getDate();
timeInfo.nowtime =
twoDigits(today.getHours()) +
":" +
twoDigits(today.getMinutes()) +
":" +
twoDigits(today.getSeconds());
timeInfo.todayDate = date;
timeInfo.todayWeek = "星期" + weekMap[today.getDay()];
}
onMounted(() => {
if (!props.showBtn) {
window.WIDGET = {
CONFIG: {
modules: "02",
background: "5",
tmpColor: "FFFFFF",
tmpSize: "30",
cityColor: "FFFFFF",
citySize: "16",
aqiColor: "FFFFFF",
aqiSize: "16",
weatherIconSize: "40",
alertIconSize: "18",
padding: "10px 10px 10px 10px",
shadow: "0",
language: "auto",
fixed: "false",
vertical: "top",
horizontal: "left",
key: "45d56907b4ad4ead870bfd4f515e8b97",
},
};
let script = document.createElement("script");
script.src =
"https://widget.qweather.net/simple/static/js/he-simple-common.js?v=2.0";
document.getElementById("he-plugin-simple").appendChild(script);
}
timerID.value = setInterval(() => {
getNowTime();
}, 1000);
});
onUnmounted(() => {
clearInterval(timerID.value);
});
</script>
<style lang="scss" scoped>
.top-box {
z-index: 1000;
position: absolute;
top: 0;
left: 0;
width: 100%;
background: url("@/assets/top_bg.png") no-repeat;
background-size: 100% 100%;
height: 10%;
}
.title {
position: absolute;
top: 0;
left: 0;
z-index: 1001;
color: #fff;
height: 97px;
width: 100%;
display: flex;
background: url("@/assets/top_tile.png") no-repeat;
background-size: 100% 100%;
.button-box {
pointer-events: auto;
margin-top: 30px;
margin-left: auto;
margin-right: 35px;
display: flex;
.btn {
cursor: pointer;
width: 178px;
height: 70px;
color: #eff7ff;
text-align: center;
line-height: 44px;
background: url("@/assets/top_btn.png") no-repeat;
background-size: 100% 100%;
}
}
.weather-box {
pointer-events: auto;
margin-top: 20px;
margin-left: auto;
margin-right: 35px;
display: flex;
}
.time-box {
display: flex;
color: #fff;
margin-top: 10px;
align-items: center;
padding-left: 48px;
.time {
font-size: 30px;
font-weight: bold;
}
.date {
font-size: 14px;
margin: 0 9px;
}
.week {
font-size: 18px;
}
}
}
</style>
\ No newline at end of file
import { createApp } from 'vue' import { createApp } from 'vue'
import './style.css'
import App from './App.vue' import App from './App.vue'
import { router } from './router/router.js'
import store from './store';
import './style.css'
import 'element-plus/dist/index.css'
const app = createApp(App)
createApp(App).mount('#app') app.use(router).use(store).mount('#app')
import { createRouter, createWebHashHistory } from "vue-router";
import index from "../view/index.vue";
import Login from '../view/login.vue'
const routes = [
{
path: "/",
component: index,
},
{
path: "/login",
component: Login,
},
];
const router = createRouter({
history: createWebHashHistory(),
routes,
});
export { router };
\ No newline at end of file
import { createStore } from 'vuex';
const store = createStore({
state: () => ({
}),
mutations: {
}
}
);
export default store;
\ No newline at end of file
:root { *{
font-family: Inter, system-ui, Avenir, Helvetica, Arial, sans-serif; padding: 0;
line-height: 1.5; margin: 0;
font-weight: 400; box-sizing: border-box;
font-family: "SourceHanSansCN";
color-scheme: light dark;
color: rgba(255, 255, 255, 0.87);
background-color: #242424;
font-synthesis: none;
text-rendering: optimizeLegibility;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
} }
@font-face {
a { font-family: "YouSheBiaoTiHei";
font-weight: 500; src: url("./font/YouSheBiaoTiHei-2.ttf");
color: #646cff;
text-decoration: inherit;
} }
a:hover { @font-face {
color: #535bf2; font-family: "SourceHanSansCN";
src: url("./font/SourceHanSansCN-Medium.otf");
} }
.line{
body { display: flex;
margin: 0; }
.line-x{
display: flex; display: flex;
place-items: center; justify-content: center;
min-width: 320px;
min-height: 100vh;
} }
.line-y{
h1 { display: flex;
font-size: 3.2em; align-items: center;
line-height: 1.1; }
.line-xy{
display: flex;
justify-content: center;
align-items: center;
} }
.fs-12{
button { font-size: 12px;
border-radius: 8px;
border: 1px solid transparent;
padding: 0.6em 1.2em;
font-size: 1em;
font-weight: 500;
font-family: inherit;
background-color: #1a1a1a;
cursor: pointer;
transition: border-color 0.25s;
} }
button:hover { .fs-14{
border-color: #646cff; font-size: 14px;
} }
button:focus, .fs-16{
button:focus-visible { font-size: 16px;
outline: 4px auto -webkit-focus-ring-color;
} }
.fs-18{
.card { font-size: 18px;
padding: 2em;
} }
.fs-24{
#app { font-size: 24px;
max-width: 1280px;
margin: 0 auto;
padding: 2rem;
text-align: center;
} }
.module-title{
@media (prefers-color-scheme: light) { background: url('./assets/imgs/title_bg.png') no-repeat;
:root { background-size: 100% 100%;
color: #213547; height: 38px;
background-color: #ffffff; font-size: 18px;
} color: #F6FCFE;
a:hover { font-family: "SourceHanSansCN";
color: #747bff; font-style: italic;
} padding-left: 10px;
button {
background-color: #f9f9f9;
}
} }
.font-Sans{
font-family: "SourceHanSansCN";
}
\ No newline at end of file
import Cookies from "js-cookie";
const TokenKey = "Admin-Token";
export function getToken() {
// return sessionStorage.getItem(TokenKey);
return Cookies.get(TokenKey)
}
export function setToken(token) {
// return sessionStorage.setItem(TokenKey, token);
return Cookies.set(TokenKey, token)
}
export function removeToken() {
return Cookies.remove(TokenKey)
}
import * as Cesium from "cesium";
export let viewer;
export function cesiumInit(id) {
Cesium.Ion.defaultAccessToken =
"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJqdGkiOiIxNmQ2YWZkNC1iZWI0LTRkMzMtODk4ZS1kZWM4MjhkNmUxMmYiLCJpZCI6MTM0NjA5LCJpYXQiOjE2ODE5Njk4MDV9.rHXCnAN14gIQUTBu1B640rhRnVxfDsfaJDDPLutJAog";
viewer = new Cesium.Viewer(id, {
sceneModePicker: false, // 禁用场景模式切换
baseLayerPicker: false, // 禁用基础图层切换
geocoder: false, // 禁用地理编码器
navigationHelpButton: false, // 禁用导航帮助按钮
homeButton: false, // 禁用回到初始视图按钮
animation: false, // 禁用动画小部件
timeline: false, // 禁用时间线小部件
fullscreenButton: false, // 禁用全屏按钮
//开启地形深度检测
// terrainProvider: Cesium.createWorldTerrain({
// requestWaterMask: true, // required for water effects
// requestVertexNormals: true, // required for terrain lighting
// }),
});
viewer.scene.screenSpaceCameraController.inertiaTranslate = 0;
viewer._cesiumWidget._creditContainer.style.display = "none"; // 隐藏版权信息
viewer.scene.postProcessStages.fxaa.enabled = true; //开启抗锯齿
viewer.scene.globe.depthTestAgainstTerrain = true; //深度
//提高亮度
viewer.scene.light = new Cesium.DirectionalLight({
direction: viewer.scene.camera.directionWC,
});
viewer.scene.preRender.addEventListener(function (scene, time) {
viewer.scene.light.direction = Cesium.Cartesian3.clone(
viewer.scene.camera.directionWC,
viewer.scene.light.direction
);
});
// 亮度设置
var stages = viewer.scene.postProcessStages;
viewer.scene.brightness =
viewer.scene.brightness ||
stages.add(Cesium.PostProcessStageLibrary.createBrightnessStage());
viewer.scene.brightness.enabled = true;
viewer.scene.brightness.uniforms.brightness = Number(1.4);
//加载模型
//取消entity事件
viewer.cesiumWidget.screenSpaceEventHandler.removeInputAction(
Cesium.ScreenSpaceEventType.LEFT_DOUBLE_CLICK
);
viewer.cesiumWidget.screenSpaceEventHandler.removeInputAction(
Cesium.ScreenSpaceEventType.LEFT_CLICK
);
return viewer;
}
\ No newline at end of file
import * as Cesium from "cesium";
import { viewer } from "./cesium.js";
//绘制图标
export function drawIcon(position, type) {
const iconSize = 23;
return viewer.entities.add({
position: position,
data: {},
billboard: {
image: new URL(
`../assets/imgs/blue_dw_icon.png`,
import.meta.url
).href, // 图标图片的路径
width: 40,
height: 50 ,
// pixelOffset: new Cesium.Cartesian2(
// idx * iconSize - iconOffset,
// -10
// // -iconSize * 2
// ),
disableDepthTestDistance: Number.POSITIVE_INFINITY,
},
})
}
export function drawLabel(position, text, data = {}, labelOptions = {}) {
return viewer.entities.add({
position: position,
data: data,
label: {
text,
fillColor: Cesium.Color.WHITE,
style: Cesium.LabelStyle.FILL_AND_OUTLINE,
showBackground: true,
backgroundColor: Cesium.Color.fromCssColorString('#003860'),
backgroundPadding: new Cesium.Cartesian2(10, 8),
font: "18px sans-serif",
pixelOffset: new Cesium.Cartesian2( 0, -50),
...labelOptions,
},
});
}
\ No newline at end of file
import axios from "axios";
import { getToken, removeToken } from "@/utils/auth";
import { ElMessage, ElMessageBox } from "element-plus";
import { useRouter } from "vue-router"
const router = new useRouter()
axios.defaults.headers.post["Content-Type"] = "application/json;charset=utf-8";
//是否重新登录
export let isRelogin = { show: false };
const service = axios.create({
baseURL: import.meta.env.VITE_APP_BASE_API,
timeout: 5000,
});
service.interceptors.request.use(
(config) => {
config.headers["Authorization"] = "Bearer " + getToken();
return config;
},
(error) => {
console.log(error);
Promise.reject(error);
}
);
service.interceptors.response.use(
(res) => {
const code = res.data.code || 200;
const msg = res.data.msg || "未知错误";
if (code === 401 || code === 403) {
if (!isRelogin.show) {
isRelogin.show = true;
ElMessageBox.confirm(
"登录状态已过期,您可以继续留在该页面,或者重新登录",
"系统提示",
{
confirmButtonText: "重新登录",
cancelButtonText: "取消",
type: "warning",
}
)
.then(() => {
isRelogin.show = false;
removeToken()
router.replace('/login')
})
.catch(() => {
isRelogin.show = false;
});
}
return Promise.reject("无效的会话,或者会话已过期,请重新登录。");
} else if (code === 500) {
return Promise.reject(
// showToast({ message: "服务器错误", duration: 2000 })
ElMessage.error(msg)
);
} else if (code === 601) {
return Promise.reject("error");
} else if (code !== 200) {
return Promise.reject("error");
} else {
return res.data;
}
},
(error) => {
console.log("err-" + error);
let { message } = error;
if (message == "Network Error") {
message = "后端接口连接异常";
} else if (message.includes("timeout")) {
message = "系统接口请求超时";
} else if (message.includes("Request failed with status code")) {
message = "系统接口" + message.substr(message.length - 3) + "异常";
}
// showToast({ message: message, duration: 2000 });
return Promise.reject(message);
}
);
export default service;
<template>
<div class="screen" id="screen">
<top-header></top-header>
<div class="title"></div>
<el-form class="form" ref="formRef" :model="loginForm" :rules="loginRules" @keyup.enter.native="submitForm(formRef)">
<el-form-item label="" prop="username">
<el-input v-model="loginForm.username" placeholder="请输入账号">
<template #prefix>
<img src="@/assets/imgs/user_icon.png" alt="">
</template>
</el-input>
</el-form-item>
<el-form-item label="" prop="password">
<el-input v-model="loginForm.password" placeholder="请输入密码" type="password">
<template #prefix>
<img src="@/assets/imgs/password_icon.png" alt="">
</template>
</el-input>
</el-form-item>
<el-form-item prop="code" v-if="captchaEnabled">
<el-input v-model="loginForm.code" auto-complete="off" style="width:266px;" placeholder="验证码">
<template #prefix>
<img src="@/assets/imgs/yzm_icon.png" alt="">
</template>
</el-input>
<div class="login-code">
<img :src="codeUrl" @click="getCode" class="login-code-img" />
</div>
</el-form-item>
<el-button type="primary" @click="submitForm(formRef)">登录{{ $store.state.count }}</el-button>
</el-form>
</div>
</template>
<script setup>
import { onMounted, ref, reactive } from "vue";
import topHeader from "@/components/header.vue";
import { setToken } from "@/utils/auth";
import { getCodeImg, login, getUserType } from "@/api/user";
import { useRouter } from "vue-router";
import { useStore } from 'vuex'
const store = useStore()
const loginForm = reactive({
username: "cbht",
password: "xcsq1234,",
code: "",
uuid: "",
rememberMe: false,
});
const codeUrl = ref("");
const captchaEnabled = ref(false);
const loginRules = {
username: [{ required: true, trigger: "blur", message: "请输入您的账号" }],
password: [{ required: true, trigger: "blur", message: "请输入您的密码" }],
code: [{ required: true, trigger: "change", message: "请输入验证码" }],
};
function getCode() {
getCodeImg().then((res) => {
captchaEnabled.value =
res.captchaEnabled === undefined ? true : res.captchaEnabled;
if (captchaEnabled.value) {
codeUrl.value = "data:image/gif;base64," + res.img;
loginForm.uuid = res.uuid;
}
});
}
const formRef = ref(null);
const isSubmit = ref(false);
const router = new useRouter();
const submitForm = async (formEl) => {
if (!formEl) return;
const valid = await formEl.validate((valid) => valid);
if (!valid || isSubmit.value) return;
const username = loginForm.username;
// const password = encrypt(loginForm.password);
const password = loginForm.password;
const code = loginForm.code;
const uuid = loginForm.uuid;
login(username, password, code, uuid)
.then((res) => {
if (res.code === 200) {
setToken(res.data.access_token);
router.push("/");
}
})
.catch(() => {
if (captchaEnabled.value) {
getCode();
}
});
};
onMounted(() => {
getCode();
});
</script>
<style lang="scss" scoped>
#screen {
position: absolute;
width: 100vw;
height: 100vh;
transform-origin: 0% 0%;
top: 0;
overflow: hidden;
background: url("../assets/imgs/index_bg.jpg") no-repeat;
background-size: 100% 100%;
.title {
width: 169px;
height: 52px;
background: url("../assets/imgs/yhdl_text.png") no-repeat;
background-size: 100% 100%;
margin: 180px auto 0;
}
.form {
width: 662px;
height: 520px;
background: url("../assets/imgs/login_bg.png") no-repeat;
background-size: 100% 100%;
margin: 0 auto;
padding-top: 100px;
::v-deep .el-form-item {
width: 448px;
margin: 0 auto 20px;
}
::v-deep .el-input {
height: 56px;
border: 2px solid #2e558b;
color: #fff;
--el-input-border-color: #2e558b;
--el-input-hover-border-color: #2e558b;
--el-input-focus-border-color: #2e558b;
.el-input__inner {
color: #fff;
font-size: 20px;
&::placeholder {
color: #7788a0;
font-size: 20px;
}
}
}
.login-code {
height: 56px;
margin-left: 20px;
}
::v-deep .el-button {
width: 448px;
height: 56px;
background: #22b2ff;
margin-left: 107px;
border-radius: 0;
font-size: 20px;
}
::v-deep .el-input__wrapper {
background: transparent;
border-radius: 0;
border-color: #2e558b !important;
}
}
}
</style>
\ No newline at end of file
<template>
<div class="community-select-box">
<div class="_header line-y fs-14">
<img src="../../assets/imgs/sqtb_icon.png" />
选择社区
</div>
<div class="community-list" :class="{'show': showList}">
<div class="community-item fs-14 line-y" @click="itemClick(item, index)" :class="{'active': index === selectIndex}" v-for="(item, index) in communityList">
<img v-show="index === selectIndex" src="../../assets/imgs/sqxx_icon.png"/> {{ item.name }}
</div>
</div>
<div class="show-btn line-xy" @click="showToggle">
<img :src="showList ? getAssetImg('jt_up') : getAssetImg('jt_down')" />
</div>
</div>
</template>
<script setup>
import { ref, defineEmits, watch } from "vue";
const props = defineProps(['communityList'])
const emit = defineEmits(['communityChange'])
let showList = ref(false)
let selectIndex = ref(-1)
watch(() => props.communityList, (val) => {
if (val.length) {
itemClick(val[0], 0)
}
})
function getAssetImg(imgName) {
return new URL(`../../assets/imgs/${imgName}.png`, import.meta.url).href;
}
function showToggle() {
showList.value = !showList.value
}
function itemClick(item, index) {
selectIndex.value = index
emit('communityChange', selectIndex.value)
}
</script>
<style lang="scss" scoped>
.community-select-box{
z-index: 999;
position: fixed;
top: 200px;
right: 460px;
width: 120px;
background-color: rgba($color: #091927, $alpha: 0.7);
._header{
height: 44px;
padding-left: 10px;
color: #77C8FF;
img{
margin-right: 8px;
}
}
.community-list{
max-height: 0;
overflow: hidden;
transition: max-height 0.1s;
.community-item{
height: 28px;
color: #fff;
padding-left: 30px;
position: relative;
cursor: pointer;
img{
position: absolute;
left: 12px;
top: 7px;
}
}
.active{
background: url('../../assets/imgs/sq_hover.png') no-repeat;
color: #77C8FF;
background-size: 100% 100%;
}
}
.show{
max-height: 800px;
transition: max-height 1s;
}
.show-btn{
cursor: pointer;
padding: 10px 0;
}
}
</style>
\ No newline at end of file
<template>
<div class="member-table-container">
<div class="_header line-xy fs-18">
<div class="title">业主委员会成员信息</div>
<img @click="close" src="../../assets/imgs/close_icon.png"/>
</div>
<div class="table-box">
<div class="table-header line-y fs-16">
<div class="table-header-item a">职务</div>
<div class="table-header-item b">姓名</div>
<div class="table-header-item c">性别</div>
<div class="table-header-item d">出生年月</div>
<div class="table-header-item e">籍贯</div>
<div class="table-header-item f">文化程度</div>
<div class="table-header-item g">房号</div>
<div class="table-header-item h">政治面貌</div>
<div class="table-header-item i">联系方式</div>
</div>
<div class="table-list fs-14">
<div class="table-item line-y" v-for="(item, index) in props.ownerList" :key="item.div">
<div class="item-value a">{{ item.jobs }}</div>
<div class="item-value b">{{ item.name }}</div>
<div class="item-value c">{{ item.sex }}</div>
<div class="item-value d">{{ item.birthdate }}</div>
<div class="item-value e">{{ item.nativePlace }}</div>
<div class="item-value f">{{ item.education }}</div>
<div class="item-value g">{{ item.roomNo }}</div>
<div class="item-value h">{{ item.politicalStatus }}</div>
<div class="item-value i">{{ item.tel }}</div>
</div>
</div>
</div>
</div>
</template>
<script setup>
const props = defineProps(["ownerList"]);
const emit = defineEmits(['close'])
function close() {
emit('close')
}
</script>
<style lang="scss" scoped>
.member-table-container{
position: absolute;
top: -20px;
right: 430px;
padding: 30px 20px;
background: url('../../assets/imgs/tk_box02.png') no-repeat;
background-size: 100% 100%;
color: #77C8FF;
._header{
position: relative;
img{
cursor: pointer;
position: absolute;
right: 0;
top: -10px;
}
}
.table-box{
border: 1px solid #1772A0;
border-right: none;
margin-top: 13px;
.table-header{
color: #77C8FF;
.table-header-item{
border-right: 1px solid #1772A0;
text-align: center;
line-height: 30px;
height: 30px;
width: 85px;
}
}
.table-list{
color: #F6FCFE;
.table-item{
border-top: 1px solid #1772A0;
height: 30px;
.item-value{
text-align: center;
line-height: 30px;
width: 85px;
border-right: 1px solid #1772A0;
}
}
}
.c{
width: 60px !important;
}
.g {
width: 65px !important;
}
.h{
width: 156px !important;
}
.i{
width: 100px !important;
}
}
}
</style>
\ No newline at end of file
<template>
<div class="screen-header line">
<div class="screen-header__left line-y" style="height: 35px;">
<div class="date">{{ timeInfo.todayDate }}</div>
<div class="week">{{ timeInfo.todayWeek }}</div>
<div class="time">{{ timeInfo.nowtime }}</div>
</div>
<div class="screen-header__right" style="padding-right: 140px;">
<div class="weather-box">
<div id="he-plugin-simple"></div>
</div>
</div>
</div>
</template>
<script setup>
import {
onMounted,
ref,
reactive,
} from "vue";
const weekMap = ["日", "一", "二", "三", "四", "五", "六"];
const timeInfo = reactive({
nowtime: "",
todayDate: "",
todayWeek: "",
});
function twoDigits(val) {
if (val < 10) return "0" + val;
return val;
}
function getNowTime() {
let today = new Date();
let date =
today.getFullYear() + "-" + (today.getMonth() + 1) + "-" + today.getDate();
timeInfo.nowtime =
twoDigits(today.getHours()) +
":" +
twoDigits(today.getMinutes())
timeInfo.todayDate = date;
timeInfo.todayWeek = "星期" + weekMap[today.getDay()];
}
onMounted(() => {
window.WIDGET = {
CONFIG: {
modules: "02",
background: "5",
tmpColor: "FFFFFF",
tmpSize: "20",
cityColor: "FFFFFF",
citySize: "16",
aqiColor: "FFFFFF",
aqiSize: "16",
weatherIconSize: "26",
alertIconSize: "18",
padding: "4px 10px 10px 50px",
shadow: "0",
language: "auto",
fixed: "false",
vertical: "top",
horizontal: "left",
key: "45d56907b4ad4ead870bfd4f515e8b97",
},
};
let script = document.createElement("script");
script.src =
"https://widget.qweather.net/simple/static/js/he-simple-common.js?v=2.0";
document.getElementById("he-plugin-simple").appendChild(script);
getNowTime()
})
</script>
<style lang="scss" scoped>
.screen-header{
z-index: 999;
width: 100%;
height: 85px;
position: fixed;
background: url('../../assets/imgs/top_title.png') no-repeat;
background-size: 100% 100%;
padding: 0 36px;
.screen-header__right{
margin-left: auto;
}
.date{
font-family: 'SourceHanSansCN';
font-style: italic;
font-size: 18px;
color: #CDD6E3;
}
.week{
margin: 0 24px;
font-family: 'SourceHanSansCN';
font-style: italic;
font-size: 18px;
color: #CDD6E3;
}
.time{
font-family: 'YouSheBiaoTiHei';
color: #FFCE64;
font-size: 30px;
}
}
</style>
\ No newline at end of file
<template>
<div class="screen-left">
<div class="base-info">
<div class="module-title">小区基本信息</div>
<div class="content-container">
<div class="content-item-box line-y">
<div class="content-item line-y">
<img src="../../assets/imgs/xq_tb_icon.png" />
<div class="text">
<div class="value">{{ currentHouseInfo.name }}</div>
<div class="label">小区名称</div>
</div>
</div>
<div class="content-item line-y">
<img src="../../assets/imgs/jfsj_tb_icon.png" />
<div class="text">
<div
class="value"
style="
color: #6effe5;
font-family: 'YouSheBiaoTiHei';
font-size: 18px;
"
>
{{ currentHouseInfo.deliveryDate }}
</div>
<div class="label">交付时间</div>
</div>
</div>
</div>
<div class="info-box">
<div class="info-item line" v-for="item in baseInfoData">
<div class="label">{{ item.label }}</div>
<div class="value">{{ currentHouseInfo[item.valueKey] }}</div>
</div>
</div>
</div>
</div>
<div class="overview">
<div class="module-title">小区总览</div>
<div class="content-container">
<div class="overview-data-box">
<div
class="overview-data-item"
v-for="(item, index) in overviewData"
@mouseenter="itemHover(index)"
@mouseleave="itemLeave(index)"
:key="item.label"
>
<div class="value" :title="currentHouseInfo[item.valueKey]" :style="{ color: item.color }">
{{ currentHouseInfo[item.valueKey]
}}<span style="font-size: 14px; font-family: 'SourceHanSansCN'"></span>
</div>
<div class="label">{{ item.label }}</div>
</div>
<div class="standard-box" v-show="standardShow">
</div>
</div>
<div class="tab-box line-x">
<div class="tab-item line-xy" :class="{ active: tabIndex === 0 }">
房屋类型
</div>
<div
class="tab-item line-xy"
:class="{ active: tabIndex === 1 }"
style="margin-left: 30px"
>
人口详情
</div>
</div>
<div id="pieChart"></div>
<div class="rate-chart-container">
<div class="rate-chart-item">
<div class="_title line-xy">
<img src="../../assets//imgs/sjx_icon.png"/>
车位占比
</div>
<div id="carportChart"></div>
<div class="legend-box fs-12">
<div class="legend-item line-y">
<div class="color" style="background: #1894EE"></div>
<div class="label">公共停车位数量</div>
<div class="value">197个</div>
</div>
<div class="legend-item line-y">
<div class="color" style="background: #05EA81"></div>
<div class="label">产权车位数量</div>
<div class="value">20个</div>
</div>
</div>
</div>
<div class="rate-chart-item">
<div class="_title line-xy">
<img src="../../assets//imgs/sjx_icon.png"/>
入住率
</div>
<div id="checkinChart"></div>
<div class="legend-box fs-12">
<div class="legend-item line-y">
<div class="color" style="background: #39CAD1"></div>
<div class="label">业主入住率</div>
<div class="value">80%</div>
</div>
<div class="legend-item line-y">
<div class="color" style="background: #009AFF"></div>
<div class="label">业主出租率</div>
<div class="value">20%</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</template>
<script setup>
import { onMounted, ref, reactive, watch } from "vue";
import * as echarts from "echarts";
const props = defineProps(["currentHouseInfo"]);
let pieChart = null;
let carportChart = null;
let checkinChart = null;
let standardShow =ref(false)
let tabIndex = ref(0);
let baseInfoData = ref([
{ label: "所属社区", valueKey: "communityName" },
{ label: "小区地址", valueKey: "address" },
{ label: "开发单位", valueKey: "developer" },
{ label: "四至范围", valueKey: "scope" },
]);
let overviewData = ref([
{ label: "占地面积", valueKey: "coverSpace", color: "#05EA81", unit: "㎡" },
{ label: "总建筑面积", valueKey: "floorSpace", color: "#FABB24", unit: "㎡" },
{ label: "物业办公用房面积", valueKey: "propertyOfficeSpace", color: "#FFEC56", unit: "㎡", },
{ label: "社区公房面积", valueKey: "communityOfficeSpace", color: "#05EA81", unit: "㎡" },
{ label: "物业经营用房面积", valueKey: "propertyBusinessSituation", color: "#009AFF", unit: "㎡" },
{ label: "物业一级收费标准", valueKey: "propertyFees", color: "#FABB24", unit: "元/月" },
]);
watch(() => props.currentHouseInfo, (val) => {
})
function itemHover(index) {
if (index === 5) {
standardShow.value = true
}
}
function itemLeave(index) {
if (index === 5) {
standardShow.value = false
}
}
function pieChartInit() {
pieChart = echarts.init(document.getElementById("pieChart"));
pieChart.setOption({
grid: {
top: '10%',
bottom: '10%'
},
legend: {
show: false,
},
toolbox: {
show: false,
},
series: [
{
name: "Nightingale Chart",
type: "pie",
radius: [10, 80],
center: ["50%", "50%"],
roseType: "area",
itemStyle: {
borderRadius: 8,
},
data: [
{ value: 40, name: "rose 1" },
{ value: 38, name: "rose 2" },
{ value: 32, name: "rose 3" },
{ value: 30, name: "rose 4" },
{ value: 28, name: "rose 5" },
{ value: 26, name: "rose 6" },
],
},
],
});
}
function carportChartInit() {
carportChart = echarts.init(document.getElementById("carportChart"));
carportChart.setOption({
series: [
{
type: "gauge",
startAngle: 240,
endAngle: -60,
min: 0,
max: 120,
splitNumber: 2,
itemStyle: {
color: "#ccc",
shadowColor: "#ccc",
shadowBlur: 10,
shadowOffsetX: 2,
shadowOffsetY: 2,
},
progress: {
show: false,
roundCap: true,
width: 10,
},
pointer: {
show: false,
},
axisLine: {
roundCap: true,
lineStyle: {
width: 10,
color: [
[0.8, "#1894EE"],
[1, "#05EA81"],
],
},
},
axisTick: {
show: false,
},
splitLine: {
show: false,
},
axisLabel: {
show: false,
distance: 30,
color: "auto",
fontSize: 20,
},
title: {
show: false,
},
detail: {
show: false,
},
data: [
{
value: 100,
},
],
},
],
})
}
function checkinChartInit() {
checkinChart = echarts.init(document.getElementById("checkinChart"));
checkinChart.setOption({
series: [
{
type: "gauge",
startAngle: 240,
endAngle: -60,
min: 0,
max: 120,
splitNumber: 2,
itemStyle: {
color: "#ccc",
shadowColor: "#ccc",
shadowBlur: 10,
shadowOffsetX: 2,
shadowOffsetY: 2,
},
progress: {
show: false,
roundCap: true,
width: 10,
},
pointer: {
show: false,
},
axisLine: {
roundCap: true,
lineStyle: {
width: 10,
color: [
[0.8, "#39CAD1"],
[1, "#009AFF"],
],
},
},
axisTick: {
show: false,
},
splitLine: {
show: false,
},
axisLabel: {
show: false,
distance: 30,
color: "auto",
fontSize: 20,
},
title: {
show: false,
},
detail: {
show: false,
},
data: [
{
value: 100,
},
],
},
],
})
}
onMounted(() => {
pieChartInit();
carportChartInit();
checkinChartInit()
});
</script>
<style lang="scss" scoped>
.screen-left {
height: 100vh;
position: fixed;
left: 0;
top: 0px;
width: 500px;
z-index: 998;
background: url("../../assets/imgs/left_zd.png") no-repeat;
background-size: 100% 100%;
padding: 60px 70px 0 20px;
.base-info {
.content-container {
background: url("../../assets/imgs/left_box01.png") no-repeat;
background-size: 100% 100%;
padding: 15px 20px 10px;
.content-item-box {
justify-content: space-between;
}
.content-item {
.text {
margin-left: 10px;
.value {
color: #eff7ff;
}
.label {
font-size: 12px;
color: #caeaff;
}
}
}
.info-box {
margin-top: 20px;
.info-item {
color: #f6fcfe;
.label {
white-space: nowrap;
}
.value {
}
}
}
}
}
.overview {
margin-top: 20px;
.content-container {
background: url("../../assets/imgs/left_box02.png") no-repeat;
background-size: 100% 100%;
padding-bottom: 10px;
.overview-data-box {
display: flex;
flex-wrap: wrap;
justify-content: space-between;
padding: 5px 20px 0;
position: relative;
.overview-data-item {
padding: 10px 0;
width: 48%;
background: url("../../assets/imgs/xqzl_sjbg.png") no-repeat;
background-size: 100% 100%;
display: flex;
flex-direction: column;
align-items: center;
margin-bottom: 10px;
.value {
font-family: "YouSheBiaoTiHei";
font-size: 24px;
width: 150px;
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
text-align: center;
}
.label {
color: #caeaff;
font-size: 12px;
}
}
.standard-box{
position: absolute;
bottom: -158px;
left: 220px;
z-index: 999;
width: 287px;
height: 166px;
background: url('../../assets/imgs/tk_box01.png') no-repeat;
background-size: 100% 100%;
}
}
.tab-box {
margin-bottom: 10px;
.tab-item {
cursor: pointer;
width: 112px;
height: 30px;
color: #9aa6c1;
font-size: 16px;
background: url("../../assets/imgs/lx_tab02.png") no-repeat;
background-size: 100% 100%;
}
.active {
color: #f2f6ff;
font-size: 16px;
background: url("../../assets/imgs/lx_tab01.png") no-repeat;
background-size: 100% 100%;
}
}
#pieChart {
height: 180px;
width: 100%;
}
.rate-chart-container{
padding-top: 20px;
display: flex;
.rate-chart-item{
width: 50%;
display: flex;
flex-direction: column;
justify-content: center;
._title{
color: #fff;
font-size: 16px;
img{
margin-right: 6px;
}
}
#carportChart{
height: 140px
}
#checkinChart{
height: 140px
}
.legend-box{
padding: 0 20px;
width: 100%;
color: #E9F6FF;
margin: 0 auto;
.legend-item{
margin: 0 auto;
}
.color{
margin-right: 6px;
width: 20px;
height: 6px;
border-radius: 3px;
}
.value{
margin-left: auto;
}
}
}
}
}
}
}
</style>
\ No newline at end of file
<template>
<div class="screen-right">
<div class="patrol">
<div class="module-title">物业信息</div>
<div class="content-container">
<div class="company-name line-y">
<img src="../../assets/imgs/wy_icon.png" />
<div class="text">
<div class="value fs-14">{{ currentHouseInfo.propertyName }}</div>
<div class="label fs-12">物业企业名称</div>
</div>
</div>
<div class="company-info line-y">
<div class="icon">
<img src="../../assets/imgs/lxr_icon.png" style="width: 21px; height: 25px;" />
<div class="label fs-12">联系人</div>
</div>
<div class="info-content line-y">
<div class="info-item">
<div class="value">{{ currentHouseInfo.propertyManagerTel }}</div>
<div class="label">物业经理</div>
</div>
<div class="info-item" style="margin-left: 30px;">
<div class="value">{{ currentHouseInfo.propertyContactTel }}</div>
<div class="label">物业联系人</div>
</div>
</div>
</div>
<div class="company-info line-y">
<div class="icon">
<img src="../../assets/imgs/rypz_icon.png" style="width: 28px; height: 29px;" />
<div class="label fs-12">人员配置</div>
</div>
<div class="info-content">
<div class="info-item">
<div class="value">8</div>
<div class="label">保安人数</div>
</div>
</div>
</div>
<div class="company-info line-y">
<div class="icon">
<img src="../../assets/imgs/glkh_icon.png" style="width: 27px; height: 26px;" />
<div class="label fs-12">管理考核</div>
</div>
<div class="info-content">
<div class="info-item">
<div class="value">每周</div>
<div class="label">楼道清理</div>
</div>
</div>
</div>
<div class="company-info line-y">
<div class="icon">
<img src="../../assets/imgs/wyht_icon.png" style="width: 23px; height: 28px;" />
<div class="label fs-12">物业合同</div>
</div>
<div class="info-content">
<div class="info-item">
<div class="value">5年</div>
<div class="label">合同期限</div>
</div>
</div>
</div>
</div>
<div class="member">
<div class="module-title">业主委员会</div>
<div class="content-container fs-14">
<div class="member-info line-y">
<div class="info-item">
<div class="label">届次</div><div class="value">{{ currentHouseInfo.ownerSession || '无' }}</div>
</div>
<div class="info-item">
<div class="label">任期</div><div class="value">{{ currentHouseInfo.ownerStartTime ? currentHouseInfo.ownerStartTime + '至' + currentHouseInfo.ownerEndTime : '无' }}</div>
</div>
</div>
<div class="member-info line-y">
<div class="info-item">
<div class="label">缺额</div><div class="value">{{ currentHouseInfo.ownerVacancy }}</div>
</div>
<div class="info-item">
<div class="label">党支部</div><div class="value">{{ currentHouseInfo.ownerParty }}</div>
</div>
</div>
<div class="member-info line-y">
<div class="info-item" @click="tableShow = true">
<div class="label">人员信息</div><div class="value" style="cursor: pointer; width: 270px;" :title="ownerTitle" >{{ ownerTitle || '无' }}</div>
</div>
</div>
</div>
<member-table :ownerList="ownerList" @close="tableShow = false" v-if="tableShow"></member-table>
</div>
<div class="event">
<div class="module-title">事件分析</div>
<div class="content-container">
<div class="count-box line-y">
<div class="count-item" v-for="item in countData" :key="item.color">
<div class="label fs-14">{{item.label}}等级</div>
<div class="value fs-24" :style="{'color': item.color}">{{item.value}}</div>
</div>
</div>
<div class="search-box">
<input placeholder="请输入关键字" v-model="keyword" />
<div class="search-btn line-xy fs-14">查询</div>
</div>
<div class="table-box fs-14">
<div class="table-header line-y">
<div class="table-header-item num line-x">编号</div>
<div class="table-header-item name">名称</div>
<div class="table-header-item degree line-x">预警等级</div>
</div>
<div class="table-list">
<div class="table-item line-y" v-for="(item, index) in tableData" :key="index">
<div class="item-value num line-x">{{ index + 1 }}</div>
<div class="item-value name">{{ item.name }}</div>
<div class="item-value degree line-x" :style="{'background-color': ['#FF0400', '#FFFF00', '#05EA81'][item.degree - 1]}"></div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</template>
<script setup>
import { onMounted, ref, reactive, watch} from "vue";
import { getOwnerList } from '../../api/index.js'
import memberTable from "./memberTable.vue";
const props = defineProps(["currentHouseInfo"]);
let ownerTitle = ref('')
let ownerList = ref('')
let tableShow = ref(false)
let countData = ref([
{ label: '红色', value: '12', color: '#F3232D'},
{ label: '黄色', value: '2', color: '#FFEC56'},
{ label: '绿色', value: '1108', color: '#05EA81'},
])
let tableData = ref([
{name: '90幢301室居民反映楼上有孩子在反映楼上有孩子在', degree: 1},
{name: '90幢301室居民反映楼上有孩子在反映楼上有孩子在', degree: 2},
{name: '90幢301室居民反映楼上有孩子在反映楼上有孩子在', degree: 3},
{name: '90幢301室居民反映楼上有孩子在反映楼上有孩子在', degree: 1},
{name: '90幢301室居民反映楼上有孩子在反映楼上有孩子在', degree: 2}
])
let keyword = ref('')
watch(() => props.currentHouseInfo, (val) => {
getOwnerListFunc(val.communityId, val.id)
})
function getOwnerListFunc(communityId, houseId) {
getOwnerList({
communityId,
houseId
}).then(res => {
if (res.data.length) {
ownerList.value = res.data
ownerTitle.value = res.data.map(i => i.name).join('、')
}
})
}
</script>
<style lang="scss" scoped>
.screen-right{
height: 100vh;
position: fixed;
right: 0;
top: 0;
width: 500px;
z-index: 998;
background: url('../../assets/imgs/right_zd.png') no-repeat;
background-size: 100% 100%;
padding: 60px 20px 0 70px;
.patrol{
.content-container{
background: url('../../assets/imgs/right_box01.png') no-repeat;
background-size: 100% 100%;
padding: 6px 20px 10px;
}
.label{
color: #CAEAFF;
}
.company-name{
.text{
margin-left: 16px;
.value{
color: #F6FCFE;
}
}
}
.company-info{
padding: 15px 0 6px;
border-bottom: 2px solid rgba($color: #70C5FF, $alpha: 0.2);
.text{
margin-left: 16px;
.value{
color: #F6FCFE;
}
}
.icon{
width: 50px;
display: flex;
flex-direction: column;
align-items: center;
img{
margin-bottom: 6px;
}
}
.info-content{
margin-left: 20px;
.info-item{
display: flex;
flex-direction: column;
align-items: center;
.value{
font-size: 16px;
color: #fff;
}
.label{
font-size: 12px;
color: #CAEAFF;
}
}
}
}
}
.member{
position: relative;
margin-top: 20px;
.content-container{
background: url('../../assets/imgs/right_box02.png') no-repeat;
background-size: 100% 100%;
.member-info{
background: url('../../assets/imgs/yzwyh_list.png') no-repeat;
background-size: 100% 100%;
margin-bottom: 15px;
padding: 5px 20px;
.info-item{
display: flex;
justify-content: space-between;
.label{
white-space: nowrap;
width: 50px;
text-align: right;
color: #CAEAFF;
}
.value{
text-overflow: ellipsis;
white-space: nowrap;
overflow: hidden;
margin-left: 20px;
color: #F6FCFE;
}
}
}
}
}
.event{
margin-top: 20px;
.content-container{
background: url('../../assets/imgs/right_box03.png') no-repeat;
background-size: 100% 100%;
.count-box{
justify-content: space-between;
padding: 5px 40px;
.count-item{
display: flex;
flex-direction: column;
align-items: center;
.label{
color: #CAEAFF;
}
.value{
font-family: 'YouSheBiaoTiHei';
}
}
}
.search-box{
width: 334px;
height: 30px;
border: 1px solid #0199DF;
border-radius: 2px;
margin: 0 auto 12px;
padding-left: 10px;
display: flex;
input{
flex: 1;
background-color: transparent;
border: none;
color: #009AFF;
&::placeholder{
font-size: 14px;
color: #009AFF;
}
&:focus{
outline: none;
}
}
.search-btn{
width: 43px;height: 100%;
cursor: pointer;
color: #fff;
background-color: #0199DF;
}
}
.table-box{
color: #fff;
.table-header{
}
.table-list{
.table-item{
height: 40px;
.degree{
width: 12px;
height: 12px;
border-radius: 50%;
}
}
}
.num{
width: 50px;
}
.name{
width: 240px;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.degree{
margin: 0 auto;
}
}
}
}
}
</style>
\ No newline at end of file
<template>
<div id="cesiumContainer">
<screen-header></screen-header>
<screen-left :currentHouseInfo="currentHouseInfo"></screen-left>
<screen-right :currentHouseInfo="currentHouseInfo"></screen-right>
<community-select :communityList="communityList" @communityChange="communityChangeHandle"></community-select>
</div>
</template>
<script setup>
import { onMounted, ref, watch } from 'vue'
import { cesiumInit } from '../utils/cesium.js'
import * as Cesium from "cesium";
import screenHeader from './components/screenHeader.vue';
import screenLeft from './components/screenLeft.vue';
import screenRight from './components/screenRight.vue';
import communitySelect from './components/communitySelect.vue';
import { drawIcon, drawLabel } from '../utils/cesiumTools'
import { getCommunityList, getHouseList, getHouseInfo } from '../api/index.js'
import { getUserType } from '../api/user'
let viewer = null
let communityList = ref([])
let userTypeInfo = ref({})
let currentCommunityId = ref('')
let currentHouseInfo = ref({})
watch(currentCommunityId, (val) => {
getHouseListFunc(val)
})
function communityChangeHandle(index) {
currentCommunityId.value = communityList.value[index].id
}
function getUserTypeInfo() {
getUserType().then(res => {
userTypeInfo.value = res.data
if (userTypeInfo.value.type === 3) {
// 街道管理员
} else if (userTypeInfo.value.type === 4) {
// 社区管理员
getHouseListFunc(userTypeInfo.value.communityId)
} else if (userTypeInfo.value.type === 5) {
// 小区管理员
getHouseInfoFunc(userTypeInfo.value.houseId)
}
})
}
function getHouseListFunc(communityId) {
getHouseList(communityId).then(res => {
console.log(res)
})
}
function getHouseInfoFunc(houseId) {
getHouseInfo(houseId).then(res => {
currentHouseInfo.value = res.data
})
}
onMounted(async () => {
getCommunityList().then(res => {
communityList.value = res.data
})
getUserTypeInfo()
// viewer = cesiumInit('cesiumContainer')
// viewer.camera.flyTo({
// destination: Cesium.Cartesian3.fromDegrees(
// 121.51073873593016,
// 29.881809534805857,
// 800 // 最后一个参数是高度(单位:米)
// ),
// duration: 0, // 飞行时间(单位:秒)
// });
// const handler = new Cesium.ScreenSpaceEventHandler(viewer.scene.canvas);
// handler.setInputAction((click) => {
// const ray = viewer.camera.getPickRay(click.position);
// let position = viewer.scene.globe.pick(ray, viewer.scene);
// if (position) {
// drawIcon(position)
// drawLabel(position, '程博华庭')
// }
// }, Cesium.ScreenSpaceEventType.LEFT_CLICK);
})
</script>
<style lang="scss" scoped>
#cesiumContainer {
overflow: hidden;
width: 100vw;
height: 100vh;
}
</style>
\ No newline at end of file
import { defineConfig } from 'vite' import { defineConfig } from 'vite'
import cesium from "vite-plugin-cesium";
import vue from '@vitejs/plugin-vue' import vue from '@vitejs/plugin-vue'
import { ElementPlusResolver } from "unplugin-vue-components/resolvers";
import Components from "unplugin-vue-components/vite";
import AutoImport from "unplugin-auto-import/vite";
// https://vitejs.dev/config/ // https://vitejs.dev/config/
export default defineConfig({ export default defineConfig({
plugins: [vue()], base: './',
plugins: [vue(), cesium(), AutoImport({
resolvers: [ElementPlusResolver()],
}),
Components({
resolvers: [ElementPlusResolver()],
}),],
server: {
host: "0.0.0.0",
open: true,
proxy: {
"/api": {
target: "http://192.168.10.4:10024/",
changeOrigin: true,
rewrite: (path) => path.replace(/^\/api/, ""),
},
},
},
resolve: {
alias: {
"@": "/src",
},
},
}) })
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment