1 line
36 KiB
JSON
1 line
36 KiB
JSON
{"remainingRequest":"D:\\guoan\\ts-bigscreen-vue\\node_modules\\@vue\\cli-plugin-babel\\node_modules\\babel-loader\\lib\\index.js!D:\\guoan\\ts-bigscreen-vue\\node_modules\\@vue\\vue-loader-v15\\lib\\index.js??vue-loader-options!D:\\guoan\\ts-bigscreen-vue\\src\\components\\ThreeMap.vue?vue&type=script&lang=js","dependencies":[{"path":"D:\\guoan\\ts-bigscreen-vue\\src\\components\\ThreeMap.vue","mtime":1741169715557},{"path":"D:\\guoan\\ts-bigscreen-vue\\babel.config.js","mtime":1740967860001},{"path":"D:\\guoan\\ts-bigscreen-vue\\node_modules\\@vue\\cli-plugin-babel\\node_modules\\cache-loader\\dist\\cjs.js","mtime":1740984332670},{"path":"D:\\guoan\\ts-bigscreen-vue\\node_modules\\@vue\\cli-plugin-babel\\node_modules\\babel-loader\\lib\\index.js","mtime":1740984332280},{"path":"D:\\guoan\\ts-bigscreen-vue\\node_modules\\@vue\\vue-loader-v15\\lib\\index.js","mtime":1740984469533}],"contextDependencies":[],"result":[{"type":"Buffer","data":"base64:aW1wb3J0IF9zbGljZWRUb0FycmF5IGZyb20gIkQ6L2d1b2FuL3RzLWJpZ3NjcmVlbi12dWUvbm9kZV9tb2R1bGVzL0BiYWJlbC9ydW50aW1lL2hlbHBlcnMvZXNtL3NsaWNlZFRvQXJyYXkuanMiOwppbXBvcnQgImNvcmUtanMvbW9kdWxlcy9lcy5mdW5jdGlvbi5uYW1lLmpzIjsKaW1wb3J0ICJjb3JlLWpzL21vZHVsZXMvZXMuaXRlcmF0b3IuY29uc3RydWN0b3IuanMiOwppbXBvcnQgImNvcmUtanMvbW9kdWxlcy9lcy5pdGVyYXRvci5mb3ItZWFjaC5qcyI7CmltcG9ydCAiY29yZS1qcy9tb2R1bGVzL2VzLm9iamVjdC50by1zdHJpbmcuanMiOwppbXBvcnQgImNvcmUtanMvbW9kdWxlcy93ZWIuZG9tLWNvbGxlY3Rpb25zLmZvci1lYWNoLmpzIjsKaW1wb3J0ICogYXMgVEhSRUUgZnJvbSAidGhyZWUiOwppbXBvcnQgeyBPcmJpdENvbnRyb2xzIH0gZnJvbSAidGhyZWUvZXhhbXBsZXMvanNtL2NvbnRyb2xzL09yYml0Q29udHJvbHMiOwppbXBvcnQgeyBjaGluYUdlb0pzb24gfSBmcm9tICIuLi9kYXRhL2NoaW5hR2VvIjsKZXhwb3J0IGRlZmF1bHQgewogIG5hbWU6ICJUaHJlZU1hcCIsCiAgcHJvcHM6IHsKICAgIG1hcmtlclBvc2l0aW9uOiB7CiAgICAgIHR5cGU6IE9iamVjdCwKICAgICAgcmVxdWlyZWQ6IHRydWUKICAgIH0sCiAgICBtYXJrZXJMYWJlbDogewogICAgICB0eXBlOiBTdHJpbmcsCiAgICAgIGRlZmF1bHQ6ICIiCiAgICB9CiAgfSwKICBkYXRhOiBmdW5jdGlvbiBkYXRhKCkgewogICAgcmV0dXJuIHsKICAgICAgc2NlbmU6IG51bGwsCiAgICAgIGNhbWVyYTogbnVsbCwKICAgICAgcmVuZGVyZXI6IG51bGwsCiAgICAgIGNvbnRyb2xzOiBudWxsLAogICAgICByYXljYXN0ZXI6IG51bGwsCiAgICAgIG1vdXNlOiBuZXcgVEhSRUUuVmVjdG9yMigpLAogICAgICBob3ZlcmVkUHJvdmluY2U6IG51bGwsCiAgICAgIHByb3ZpbmNlczogW10sCiAgICAgIG1hcmtlcjogbnVsbCwKICAgICAgbWFya2VyRGl2OiBudWxsLAogICAgICBpbml0aWFsaXplZDogZmFsc2UsCiAgICAgIGJvdW5kczogewogICAgICAgIG1pbkxhdDogMCwKICAgICAgICBtYXhMYXQ6IDAsCiAgICAgICAgbWluTG5nOiAwLAogICAgICAgIG1heExuZzogMAogICAgICB9CiAgICB9OwogIH0sCiAgbW91bnRlZDogZnVuY3Rpb24gbW91bnRlZCgpIHsKICAgIHRoaXMuaW5pdCgpOwogICAgdGhpcy5hbmltYXRlKCk7CiAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigicmVzaXplIiwgdGhpcy5vbldpbmRvd1Jlc2l6ZSk7CiAgfSwKICBiZWZvcmVEZXN0cm95OiBmdW5jdGlvbiBiZWZvcmVEZXN0cm95KCkgewogICAgdGhpcy5jbGVhbnVwKCk7CiAgICB3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigicmVzaXplIiwgdGhpcy5vbldpbmRvd1Jlc2l6ZSk7CiAgfSwKICBtZXRob2RzOiB7CiAgICBpbml0OiBmdW5jdGlvbiBpbml0KCkgewogICAgICBpZiAodGhpcy5pbml0aWFsaXplZCkgcmV0dXJuOwogICAgICB2YXIgY29udGFpbmVyID0gdGhpcy4kcmVmcy5jb250YWluZXI7CgogICAgICAvLyBTY2VuZSBzZXR1cAogICAgICB0aGlzLnNjZW5lID0gbmV3IFRIUkVFLlNjZW5lKCk7CiAgICAgIHRoaXMuc2NlbmUuYmFja2dyb3VuZCA9IG5ldyBUSFJFRS5Db2xvcigweDAwMTEzMyk7CgogICAgICAvLyBDYW1lcmEgc2V0dXAKICAgICAgdGhpcy5jYW1lcmEgPSBuZXcgVEhSRUUuUGVyc3BlY3RpdmVDYW1lcmEoNDUsIGNvbnRhaW5lci5jbGllbnRXaWR0aCAvIGNvbnRhaW5lci5jbGllbnRIZWlnaHQsIDEsIDIwMDApOwogICAgICB0aGlzLmNhbWVyYS5wb3NpdGlvbi5zZXQoMCwgMTUwLCAzMDApOwogICAgICB0aGlzLmNhbWVyYS5sb29rQXQoMCwgMCwgMCk7CgogICAgICAvLyBSZW5kZXJlciBzZXR1cAogICAgICB0aGlzLnJlbmRlcmVyID0gbmV3IFRIUkVFLldlYkdMUmVuZGVyZXIoewogICAgICAgIGFudGlhbGlhczogdHJ1ZSwKICAgICAgICBhbHBoYTogdHJ1ZQogICAgICB9KTsKICAgICAgdGhpcy5yZW5kZXJlci5zZXRTaXplKGNvbnRhaW5lci5jbGllbnRXaWR0aCwgY29udGFpbmVyLmNsaWVudEhlaWdodCk7CiAgICAgIHRoaXMucmVuZGVyZXIuc2V0UGl4ZWxSYXRpbyh3aW5kb3cuZGV2aWNlUGl4ZWxSYXRpbyk7CiAgICAgIHRoaXMucmVuZGVyZXIuc2hhZG93TWFwLmVuYWJsZWQgPSB0cnVlOwogICAgICB0aGlzLnJlbmRlcmVyLnNoYWRvd01hcC50eXBlID0gVEhSRUUuUENGU29mdFNoYWRvd01hcDsKICAgICAgdGhpcy5yZW5kZXJlci5sb2dhcml0aG1pY0RlcHRoQnVmZmVyID0gdHJ1ZTsKICAgICAgY29udGFpbmVyLmFwcGVuZENoaWxkKHRoaXMucmVuZGVyZXIuZG9tRWxlbWVudCk7CgogICAgICAvLyBDb250cm9scyBzZXR1cAogICAgICB0aGlzLmNvbnRyb2xzID0gbmV3IE9yYml0Q29udHJvbHModGhpcy5jYW1lcmEsIHRoaXMucmVuZGVyZXIuZG9tRWxlbWVudCk7CiAgICAgIHRoaXMuY29udHJvbHMuZW5hYmxlRGFtcGluZyA9IHRydWU7CiAgICAgIHRoaXMuY29udHJvbHMuZGFtcGluZ0ZhY3RvciA9IDAuMDU7CiAgICAgIHRoaXMuY29udHJvbHMubWluRGlzdGFuY2UgPSAxMDA7CiAgICAgIHRoaXMuY29udHJvbHMubWF4RGlzdGFuY2UgPSA1MDA7CgogICAgICAvLyBSYXljYXN0ZXIgc2V0dXAKICAgICAgdGhpcy5yYXljYXN0ZXIgPSBuZXcgVEhSRUUuUmF5Y2FzdGVyKCk7CgogICAgICAvLyBMaWdodHMKICAgICAgdmFyIGFtYmllbnRMaWdodCA9IG5ldyBUSFJFRS5BbWJpZW50TGlnaHQoMHg0MDQwNDAsIDEpOwogICAgICB0aGlzLnNjZW5lLmFkZChhbWJpZW50TGlnaHQpOwogICAgICB2YXIgZGlyZWN0aW9uYWxMaWdodCA9IG5ldyBUSFJFRS5EaXJlY3Rpb25hbExpZ2h0KDB4ZmZmZmZmLCAxKTsKICAgICAgZGlyZWN0aW9uYWxMaWdodC5wb3NpdGlvbi5zZXQoMjAwLCAyMDAsIDIwMCk7CiAgICAgIGRpcmVjdGlvbmFsTGlnaHQuY2FzdFNoYWRvdyA9IHRydWU7CiAgICAgIHRoaXMuc2NlbmUuYWRkKGRpcmVjdGlvbmFsTGlnaHQpOwogICAgICB2YXIgaGVtaXNwaGVyZUxpZ2h0ID0gbmV3IFRIUkVFLkhlbWlzcGhlcmVMaWdodCgweGZmZmZiYiwgMHgwODA4MjAsIDEpOwogICAgICB0aGlzLnNjZW5lLmFkZChoZW1pc3BoZXJlTGlnaHQpOwoKICAgICAgLy8gQ2FsY3VsYXRlIGJvdW5kcwogICAgICB0aGlzLmNhbGN1bGF0ZUJvdW5kcygpOwoKICAgICAgLy8gQ3JlYXRlIG1hcAogICAgICB0aGlzLmNyZWF0ZU1hcCgpOwoKICAgICAgLy8gQWRkIG1hcmtlcgogICAgICB0aGlzLmFkZE1hcmtlcigpOwoKICAgICAgLy8gQ2VudGVyIGNhbWVyYQogICAgICB0aGlzLmNlbnRlckNhbWVyYSgpOwoKICAgICAgLy8gRXZlbnQgbGlzdGVuZXJzCiAgICAgIHRoaXMucmVuZGVyZXIuZG9tRWxlbWVudC5hZGRFdmVudExpc3RlbmVyKCJtb3VzZW1vdmUiLCB0aGlzLm9uTW91c2VNb3ZlKTsKICAgICAgdGhpcy5pbml0aWFsaXplZCA9IHRydWU7CiAgICB9LAogICAgY2FsY3VsYXRlQm91bmRzOiBmdW5jdGlvbiBjYWxjdWxhdGVCb3VuZHMoKSB7CiAgICAgIHZhciBtaW5MYXQgPSBJbmZpbml0eTsKICAgICAgdmFyIG1heExhdCA9IC1JbmZpbml0eTsKICAgICAgdmFyIG1pbkxuZyA9IEluZmluaXR5OwogICAgICB2YXIgbWF4TG5nID0gLUluZmluaXR5OwogICAgICBjaGluYUdlb0pzb24uZmVhdHVyZXMuZm9yRWFjaChmdW5jdGlvbiAoZmVhdHVyZSkgewogICAgICAgIHZhciBjb29yZGluYXRlcyA9IGZlYXR1cmUuZ2VvbWV0cnkuY29vcmRpbmF0ZXNbMF07CiAgICAgICAgY29vcmRpbmF0ZXMuZm9yRWFjaChmdW5jdGlvbiAoY29vcmQpIHsKICAgICAgICAgIHZhciBfY29vcmQgPSBfc2xpY2VkVG9BcnJheShjb29yZCwgMiksCiAgICAgICAgICAgIGxuZyA9IF9jb29yZFswXSwKICAgICAgICAgICAgbGF0ID0gX2Nvb3JkWzFdOwogICAgICAgICAgbWluTGF0ID0gTWF0aC5taW4obWluTGF0LCBsYXQpOwogICAgICAgICAgbWF4TGF0ID0gTWF0aC5tYXgobWF4TGF0LCBsYXQpOwogICAgICAgICAgbWluTG5nID0gTWF0aC5taW4obWluTG5nLCBsbmcpOwogICAgICAgICAgbWF4TG5nID0gTWF0aC5tYXgobWF4TG5nLCBsbmcpOwogICAgICAgIH0pOwogICAgICB9KTsKICAgICAgdGhpcy5ib3VuZHMgPSB7CiAgICAgICAgbWluTGF0OiBtaW5MYXQsCiAgICAgICAgbWF4TGF0OiBtYXhMYXQsCiAgICAgICAgbWluTG5nOiBtaW5MbmcsCiAgICAgICAgbWF4TG5nOiBtYXhMbmcKICAgICAgfTsKICAgIH0sCiAgICBwcm9qZWN0R2VvVG9Xb3JsZDogZnVuY3Rpb24gcHJvamVjdEdlb1RvV29ybGQobG5nLCBsYXQpIHsKICAgICAgdmFyIHggPSAobG5nIC0gdGhpcy5ib3VuZHMubWluTG5nKSAvICh0aGlzLmJvdW5kcy5tYXhMbmcgLSB0aGlzLmJvdW5kcy5taW5MbmcpICogMjAwIC0gMTAwOwogICAgICB2YXIgeiA9IC0obGF0IC0gdGhpcy5ib3VuZHMubWluTGF0KSAvICh0aGlzLmJvdW5kcy5tYXhMYXQgLSB0aGlzLmJvdW5kcy5taW5MYXQpICogMjAwICsgMTAwOwogICAgICByZXR1cm4gW3gsIHpdOwogICAgfSwKICAgIGNyZWF0ZU1hcDogZnVuY3Rpb24gY3JlYXRlTWFwKCkgewogICAgICB2YXIgX3RoaXMgPSB0aGlzOwogICAgICB2YXIgbWF0ZXJpYWwgPSBuZXcgVEhSRUUuTWVzaFBob25nTWF0ZXJpYWwoewogICAgICAgIGNvbG9yOiAweDAwNTVmZiwKICAgICAgICB0cmFuc3BhcmVudDogdHJ1ZSwKICAgICAgICBvcGFjaXR5OiAwLjg1LAogICAgICAgIHNoaW5pbmVzczogMTAwLAogICAgICAgIHNwZWN1bGFyOiAweDQ0ODhmZiwKICAgICAgICBzaWRlOiBUSFJFRS5Eb3VibGVTaWRlCiAgICAgIH0pOwogICAgICB2YXIgZ2xvd01hdGVyaWFsID0gbmV3IFRIUkVFLk1lc2hQaG9uZ01hdGVyaWFsKHsKICAgICAgICBjb2xvcjogMHgwMDg4ZmYsCiAgICAgICAgdHJhbnNwYXJlbnQ6IHRydWUsCiAgICAgICAgb3BhY2l0eTogMC4xNSwKICAgICAgICBzaWRlOiBUSFJFRS5Eb3VibGVTaWRlLAogICAgICAgIGVtaXNzaXZlOiAweDAwODhmZiwKICAgICAgICBlbWlzc2l2ZUludGVuc2l0eTogMC41CiAgICAgIH0pOwogICAgICBjaGluYUdlb0pzb24uZmVhdHVyZXMuZm9yRWFjaChmdW5jdGlvbiAoZmVhdHVyZSkgewogICAgICAgIHZhciBzaGFwZSA9IG5ldyBUSFJFRS5TaGFwZSgpOwogICAgICAgIHZhciBjb29yZGluYXRlcyA9IGZlYXR1cmUuZ2VvbWV0cnkuY29vcmRpbmF0ZXNbMF07CiAgICAgICAgY29vcmRpbmF0ZXMuZm9yRWFjaChmdW5jdGlvbiAoY29vcmQsIGluZGV4KSB7CiAgICAgICAgICB2YXIgcG9pbnQgPSBfdGhpcy5wcm9qZWN0R2VvVG9Xb3JsZChjb29yZFswXSwgY29vcmRbMV0pOwogICAgICAgICAgaWYgKGluZGV4ID09PSAwKSB7CiAgICAgICAgICAgIHNoYXBlLm1vdmVUbyhwb2ludFswXSwgcG9pbnRbMV0pOwogICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgc2hhcGUubGluZVRvKHBvaW50WzBdLCBwb2ludFsxXSk7CiAgICAgICAgICB9CiAgICAgICAgfSk7CiAgICAgICAgdmFyIGV4dHJ1ZGVTZXR0aW5ncyA9IHsKICAgICAgICAgIGRlcHRoOiA4LAogICAgICAgICAgYmV2ZWxFbmFibGVkOiB0cnVlLAogICAgICAgICAgYmV2ZWxUaGlja25lc3M6IDIsCiAgICAgICAgICBiZXZlbFNpemU6IDEsCiAgICAgICAgICBiZXZlbFNlZ21lbnRzOiAxCiAgICAgICAgfTsKICAgICAgICB2YXIgZ2VvbWV0cnkgPSBuZXcgVEhSRUUuRXh0cnVkZUdlb21ldHJ5KHNoYXBlLCBleHRydWRlU2V0dGluZ3MpOwogICAgICAgIHZhciBtZXNoID0gbmV3IFRIUkVFLk1lc2goZ2VvbWV0cnksIG1hdGVyaWFsKTsKICAgICAgICB2YXIgZ2xvd01lc2ggPSBuZXcgVEhSRUUuTWVzaChnZW9tZXRyeSwgZ2xvd01hdGVyaWFsKTsKICAgICAgICBtZXNoLnBvc2l0aW9uLnogPSAtMzsKICAgICAgICBnbG93TWVzaC5wb3NpdGlvbi56ID0gLTM7CiAgICAgICAgX3RoaXMuc2NlbmUuYWRkKG1lc2gpOwogICAgICAgIF90aGlzLnNjZW5lLmFkZChnbG93TWVzaCk7CiAgICAgIH0pOwoKICAgICAgLy8g5re75Yqg5Zyw6Z2iCiAgICAgIHZhciBncm91bmRHZW9tZXRyeSA9IG5ldyBUSFJFRS5QbGFuZUdlb21ldHJ5KDUwMCwgNTAwKTsKICAgICAgdmFyIGdyb3VuZE1hdGVyaWFsID0gbmV3IFRIUkVFLk1lc2hQaG9uZ01hdGVyaWFsKHsKICAgICAgICBjb2xvcjogMHgwMDExMzMsCiAgICAgICAgdHJhbnNwYXJlbnQ6IHRydWUsCiAgICAgICAgb3BhY2l0eTogMC4zLAogICAgICAgIHNpZGU6IFRIUkVFLkRvdWJsZVNpZGUKICAgICAgfSk7CiAgICAgIHZhciBncm91bmQgPSBuZXcgVEhSRUUuTWVzaChncm91bmRHZW9tZXRyeSwgZ3JvdW5kTWF0ZXJpYWwpOwogICAgICBncm91bmQucm90YXRpb24ueCA9IC1NYXRoLlBJIC8gMjsKICAgICAgZ3JvdW5kLnBvc2l0aW9uLnkgPSAtMzsKICAgICAgdGhpcy5zY2VuZS5hZGQoZ3JvdW5kKTsKICAgIH0sCiAgICBjZW50ZXJDYW1lcmE6IGZ1bmN0aW9uIGNlbnRlckNhbWVyYSgpIHsKICAgICAgdmFyIGJveCA9IG5ldyBUSFJFRS5Cb3gzKCk7CiAgICAgIHRoaXMucHJvdmluY2VzLmZvckVhY2goZnVuY3Rpb24gKHByb3ZpbmNlKSB7CiAgICAgICAgYm94LmV4cGFuZEJ5T2JqZWN0KHByb3ZpbmNlKTsKICAgICAgfSk7CiAgICAgIHZhciBjZW50ZXIgPSBib3guZ2V0Q2VudGVyKG5ldyBUSFJFRS5WZWN0b3IzKCkpOwogICAgICB2YXIgc2l6ZSA9IGJveC5nZXRTaXplKG5ldyBUSFJFRS5WZWN0b3IzKCkpOwogICAgICB2YXIgbWF4RGltID0gTWF0aC5tYXgoc2l6ZS54LCBzaXplLnksIHNpemUueik7CiAgICAgIHZhciBmb3YgPSB0aGlzLmNhbWVyYS5mb3YgKiAoTWF0aC5QSSAvIDE4MCk7CiAgICAgIHZhciBjYW1lcmFaID0gTWF0aC5hYnMobWF4RGltIC8gMiAvIE1hdGgudGFuKGZvdiAvIDIpKTsKICAgICAgdGhpcy5jYW1lcmEucG9zaXRpb24uc2V0KGNlbnRlci54LCAxMDAsIGNlbnRlci56ICsgY2FtZXJhWik7CiAgICAgIHRoaXMuY2FtZXJhLmxvb2tBdChjZW50ZXIpOwogICAgICB0aGlzLmNvbnRyb2xzLnRhcmdldC5jb3B5KGNlbnRlcik7CiAgICB9LAogICAgYWRkTWFya2VyOiBmdW5jdGlvbiBhZGRNYXJrZXIoKSB7CiAgICAgIGlmICh0aGlzLm1hcmtlcikgewogICAgICAgIHRoaXMuc2NlbmUucmVtb3ZlKHRoaXMubWFya2VyKTsKICAgICAgfQogICAgICBpZiAoIXRoaXMubWFya2VyUG9zaXRpb24gfHwgIXRoaXMubWFya2VyUG9zaXRpb24ubG9uZ2l0dWRlIHx8ICF0aGlzLm1hcmtlclBvc2l0aW9uLmxhdGl0dWRlKSB7CiAgICAgICAgcmV0dXJuOwogICAgICB9CiAgICAgIHZhciBjb29yZGluYXRlcyA9IHRoaXMubWFya2VyUG9zaXRpb24uY29vcmRpbmF0ZXM7CiAgICAgIHZhciBwb2ludCA9IHRoaXMucHJvamVjdEdlb1RvV29ybGQoY29vcmRpbmF0ZXNbMF0sIGNvb3JkaW5hdGVzWzFdKTsKCiAgICAgIC8vIOWIm+W7uuagh+iusOeCuQogICAgICB2YXIgbWFya2VyR2VvbWV0cnkgPSBuZXcgVEhSRUUuU3BoZXJlR2VvbWV0cnkoMywgMzIsIDMyKTsKICAgICAgdmFyIG1hcmtlck1hdGVyaWFsID0gbmV3IFRIUkVFLk1lc2hQaG9uZ01hdGVyaWFsKHsKICAgICAgICBjb2xvcjogMHhmZjAwMDAsCiAgICAgICAgZW1pc3NpdmU6IDB4ZmYwMDAwLAogICAgICAgIGVtaXNzaXZlSW50ZW5zaXR5OiAwLjUKICAgICAgfSk7CiAgICAgIHZhciBtYXJrZXIgPSBuZXcgVEhSRUUuTWVzaChtYXJrZXJHZW9tZXRyeSwgbWFya2VyTWF0ZXJpYWwpOwogICAgICBtYXJrZXIucG9zaXRpb24uc2V0KHBvaW50WzBdLCAxMCwgcG9pbnRbMV0pOwoKICAgICAgLy8g5re75Yqg5YWJ546v5pWI5p6cCiAgICAgIHZhciByaW5nR2VvbWV0cnkgPSBuZXcgVEhSRUUuUmluZ0dlb21ldHJ5KDQsIDUsIDMyKTsKICAgICAgdmFyIHJpbmdNYXRlcmlhbCA9IG5ldyBUSFJFRS5NZXNoQmFzaWNNYXRlcmlhbCh7CiAgICAgICAgY29sb3I6IDB4ZmYwMDAwLAogICAgICAgIHRyYW5zcGFyZW50OiB0cnVlLAogICAgICAgIG9wYWNpdHk6IDAuNSwKICAgICAgICBzaWRlOiBUSFJFRS5Eb3VibGVTaWRlCiAgICAgIH0pOwogICAgICB2YXIgcmluZyA9IG5ldyBUSFJFRS5NZXNoKHJpbmdHZW9tZXRyeSwgcmluZ01hdGVyaWFsKTsKICAgICAgcmluZy5wb3NpdGlvbi5zZXQocG9pbnRbMF0sIDEwLCBwb2ludFsxXSk7CiAgICAgIHJpbmcucm90YXRpb24ueCA9IC1NYXRoLlBJIC8gMjsKICAgICAgdGhpcy5zY2VuZS5hZGQobWFya2VyKTsKICAgICAgdGhpcy5zY2VuZS5hZGQocmluZyk7CgogICAgICAvLyDliqjnlLvmlYjmnpwKICAgICAgdmFyIF9hbmltYXRlID0gZnVuY3Rpb24gYW5pbWF0ZSgpIHsKICAgICAgICByaW5nLnNjYWxlLnggPSAxICsgTWF0aC5zaW4oRGF0ZS5ub3coKSAqIDAuMDAzKSAqIDAuMzsKICAgICAgICByaW5nLnNjYWxlLnkgPSAxICsgTWF0aC5zaW4oRGF0ZS5ub3coKSAqIDAuMDAzKSAqIDAuMzsKICAgICAgICByaW5nLm1hdGVyaWFsLm9wYWNpdHkgPSAwLjUgLSBNYXRoLnNpbihEYXRlLm5vdygpICogMC4wMDMpICogMC4yOwogICAgICAgIHJlcXVlc3RBbmltYXRpb25GcmFtZShfYW5pbWF0ZSk7CiAgICAgIH07CiAgICAgIF9hbmltYXRlKCk7CiAgICB9LAogICAgb25Nb3VzZU1vdmU6IGZ1bmN0aW9uIG9uTW91c2VNb3ZlKGV2ZW50KSB7CiAgICAgIHZhciByZWN0ID0gdGhpcy5yZW5kZXJlci5kb21FbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpOwogICAgICB0aGlzLm1vdXNlLnggPSAoZXZlbnQuY2xpZW50WCAtIHJlY3QubGVmdCkgLyByZWN0LndpZHRoICogMiAtIDE7CiAgICAgIHRoaXMubW91c2UueSA9IC0oKGV2ZW50LmNsaWVudFkgLSByZWN0LnRvcCkgLyByZWN0LmhlaWdodCkgKiAyICsgMTsKICAgICAgdGhpcy5yYXljYXN0ZXIuc2V0RnJvbUNhbWVyYSh0aGlzLm1vdXNlLCB0aGlzLmNhbWVyYSk7CiAgICAgIHZhciBpbnRlcnNlY3RzID0gdGhpcy5yYXljYXN0ZXIuaW50ZXJzZWN0T2JqZWN0cyh0aGlzLnByb3ZpbmNlcyk7CiAgICAgIHRoaXMucHJvdmluY2VzLmZvckVhY2goZnVuY3Rpb24gKHByb3ZpbmNlKSB7CiAgICAgICAgcHJvdmluY2UubWF0ZXJpYWwuY29sb3Iuc2V0SGV4KDB4MWE1ZjdhKTsKICAgICAgfSk7CiAgICAgIGlmIChpbnRlcnNlY3RzLmxlbmd0aCA+IDApIHsKICAgICAgICB2YXIgaW50ZXJzZWN0ZWQgPSBpbnRlcnNlY3RzWzBdLm9iamVjdDsKICAgICAgICBpbnRlcnNlY3RlZC5tYXRlcmlhbC5jb2xvci5zZXRIZXgoMHgyYThmOWEpOwogICAgICAgIHRoaXMuaG92ZXJlZFByb3ZpbmNlID0gaW50ZXJzZWN0ZWQudXNlckRhdGEubmFtZTsKICAgICAgfSBlbHNlIHsKICAgICAgICB0aGlzLmhvdmVyZWRQcm92aW5jZSA9IG51bGw7CiAgICAgIH0KICAgIH0sCiAgICBvbldpbmRvd1Jlc2l6ZTogZnVuY3Rpb24gb25XaW5kb3dSZXNpemUoKSB7CiAgICAgIHZhciBjb250YWluZXIgPSB0aGlzLiRyZWZzLmNvbnRhaW5lcjsKICAgICAgdGhpcy5jYW1lcmEuYXNwZWN0ID0gY29udGFpbmVyLmNsaWVudFdpZHRoIC8gY29udGFpbmVyLmNsaWVudEhlaWdodDsKICAgICAgdGhpcy5jYW1lcmEudXBkYXRlUHJvamVjdGlvbk1hdHJpeCgpOwogICAgICB0aGlzLnJlbmRlcmVyLnNldFNpemUoY29udGFpbmVyLmNsaWVudFdpZHRoLCBjb250YWluZXIuY2xpZW50SGVpZ2h0KTsKICAgIH0sCiAgICBhbmltYXRlOiBmdW5jdGlvbiBhbmltYXRlKCkgewogICAgICByZXF1ZXN0QW5pbWF0aW9uRnJhbWUodGhpcy5hbmltYXRlKTsKICAgICAgdGhpcy5jb250cm9scy51cGRhdGUoKTsKICAgICAgdGhpcy5yZW5kZXJlci5yZW5kZXIodGhpcy5zY2VuZSwgdGhpcy5jYW1lcmEpOwogICAgfSwKICAgIGNsZWFudXA6IGZ1bmN0aW9uIGNsZWFudXAoKSB7CiAgICAgIGlmICh0aGlzLnJlbmRlcmVyKSB7CiAgICAgICAgdGhpcy5yZW5kZXJlci5kaXNwb3NlKCk7CiAgICAgICAgdGhpcy5yZW5kZXJlci5kb21FbGVtZW50LnJlbW92ZSgpOwogICAgICB9CiAgICAgIGlmICh0aGlzLnNjZW5lKSB7CiAgICAgICAgdGhpcy5zY2VuZS50cmF2ZXJzZShmdW5jdGlvbiAob2JqZWN0KSB7CiAgICAgICAgICBpZiAob2JqZWN0Lmdlb21ldHJ5KSB7CiAgICAgICAgICAgIG9iamVjdC5nZW9tZXRyeS5kaXNwb3NlKCk7CiAgICAgICAgICB9CiAgICAgICAgICBpZiAob2JqZWN0Lm1hdGVyaWFsKSB7CiAgICAgICAgICAgIGlmIChBcnJheS5pc0FycmF5KG9iamVjdC5tYXRlcmlhbCkpIHsKICAgICAgICAgICAgICBvYmplY3QubWF0ZXJpYWwuZm9yRWFjaChmdW5jdGlvbiAobWF0ZXJpYWwpIHsKICAgICAgICAgICAgICAgIHJldHVybiBtYXRlcmlhbC5kaXNwb3NlKCk7CiAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgb2JqZWN0Lm1hdGVyaWFsLmRpc3Bvc2UoKTsKICAgICAgICAgICAgfQogICAgICAgICAgfQogICAgICAgIH0pOwogICAgICB9CiAgICB9CiAgfSwKICB3YXRjaDogewogICAgbWFya2VyUG9zaXRpb246IHsKICAgICAgaGFuZGxlcjogZnVuY3Rpb24gaGFuZGxlcigpIHsKICAgICAgICB0aGlzLmFkZE1hcmtlcigpOwogICAgICB9LAogICAgICBkZWVwOiB0cnVlCiAgICB9CiAgfQp9Ow=="},{"version":3,"names":["THREE","OrbitControls","chinaGeoJson","name","props","markerPosition","type","Object","required","markerLabel","String","default","data","scene","camera","renderer","controls","raycaster","mouse","Vector2","hoveredProvince","provinces","marker","markerDiv","initialized","bounds","minLat","maxLat","minLng","maxLng","mounted","init","animate","window","addEventListener","onWindowResize","beforeDestroy","cleanup","removeEventListener","methods","container","$refs","Scene","background","Color","PerspectiveCamera","clientWidth","clientHeight","position","set","lookAt","WebGLRenderer","antialias","alpha","setSize","setPixelRatio","devicePixelRatio","shadowMap","enabled","PCFSoftShadowMap","logarithmicDepthBuffer","appendChild","domElement","enableDamping","dampingFactor","minDistance","maxDistance","Raycaster","ambientLight","AmbientLight","add","directionalLight","DirectionalLight","castShadow","hemisphereLight","HemisphereLight","calculateBounds","createMap","addMarker","centerCamera","onMouseMove","Infinity","features","forEach","feature","coordinates","geometry","coord","_coord","_slicedToArray","lng","lat","Math","min","max","projectGeoToWorld","x","z","_this","material","MeshPhongMaterial","color","transparent","opacity","shininess","specular","side","DoubleSide","glowMaterial","emissive","emissiveIntensity","shape","Shape","index","point","moveTo","lineTo","extrudeSettings","depth","bevelEnabled","bevelThickness","bevelSize","bevelSegments","ExtrudeGeometry","mesh","Mesh","glowMesh","groundGeometry","PlaneGeometry","groundMaterial","ground","rotation","PI","y","box","Box3","province","expandByObject","center","getCenter","Vector3","size","getSize","maxDim","fov","cameraZ","abs","tan","target","copy","remove","longitude","latitude","markerGeometry","SphereGeometry","markerMaterial","ringGeometry","RingGeometry","ringMaterial","MeshBasicMaterial","ring","scale","sin","Date","now","requestAnimationFrame","event","rect","getBoundingClientRect","clientX","left","width","clientY","top","height","setFromCamera","intersects","intersectObjects","setHex","length","intersected","object","userData","aspect","updateProjectionMatrix","update","render","dispose","traverse","Array","isArray","watch","handler","deep"],"sources":["src/components/ThreeMap.vue"],"sourcesContent":["<template>\r\n <div class=\"three-map-container\" ref=\"container\">\r\n <div v-if=\"hoveredProvince\" class=\"province-info\">\r\n {{ hoveredProvince }}\r\n </div>\r\n </div>\r\n</template>\r\n\r\n<script>\r\nimport * as THREE from \"three\";\r\nimport { OrbitControls } from \"three/examples/jsm/controls/OrbitControls\";\r\nimport { chinaGeoJson } from \"../data/chinaGeo\";\r\n\r\nexport default {\r\n name: \"ThreeMap\",\r\n props: {\r\n markerPosition: {\r\n type: Object,\r\n required: true,\r\n },\r\n markerLabel: {\r\n type: String,\r\n default: \"\",\r\n },\r\n },\r\n data() {\r\n return {\r\n scene: null,\r\n camera: null,\r\n renderer: null,\r\n controls: null,\r\n raycaster: null,\r\n mouse: new THREE.Vector2(),\r\n hoveredProvince: null,\r\n provinces: [],\r\n marker: null,\r\n markerDiv: null,\r\n initialized: false,\r\n bounds: {\r\n minLat: 0,\r\n maxLat: 0,\r\n minLng: 0,\r\n maxLng: 0,\r\n },\r\n };\r\n },\r\n mounted() {\r\n this.init();\r\n this.animate();\r\n window.addEventListener(\"resize\", this.onWindowResize);\r\n },\r\n beforeDestroy() {\r\n this.cleanup();\r\n window.removeEventListener(\"resize\", this.onWindowResize);\r\n },\r\n methods: {\r\n init() {\r\n if (this.initialized) return;\r\n\r\n const container = this.$refs.container;\r\n\r\n // Scene setup\r\n this.scene = new THREE.Scene();\r\n this.scene.background = new THREE.Color(0x001133);\r\n\r\n // Camera setup\r\n this.camera = new THREE.PerspectiveCamera(\r\n 45,\r\n container.clientWidth / container.clientHeight,\r\n 1,\r\n 2000\r\n );\r\n this.camera.position.set(0, 150, 300);\r\n this.camera.lookAt(0, 0, 0);\r\n\r\n // Renderer setup\r\n this.renderer = new THREE.WebGLRenderer({\r\n antialias: true,\r\n alpha: true,\r\n });\r\n this.renderer.setSize(container.clientWidth, container.clientHeight);\r\n this.renderer.setPixelRatio(window.devicePixelRatio);\r\n this.renderer.shadowMap.enabled = true;\r\n this.renderer.shadowMap.type = THREE.PCFSoftShadowMap;\r\n this.renderer.logarithmicDepthBuffer = true;\r\n container.appendChild(this.renderer.domElement);\r\n\r\n // Controls setup\r\n this.controls = new OrbitControls(this.camera, this.renderer.domElement);\r\n this.controls.enableDamping = true;\r\n this.controls.dampingFactor = 0.05;\r\n this.controls.minDistance = 100;\r\n this.controls.maxDistance = 500;\r\n\r\n // Raycaster setup\r\n this.raycaster = new THREE.Raycaster();\r\n\r\n // Lights\r\n const ambientLight = new THREE.AmbientLight(0x404040, 1);\r\n this.scene.add(ambientLight);\r\n\r\n const directionalLight = new THREE.DirectionalLight(0xffffff, 1);\r\n directionalLight.position.set(200, 200, 200);\r\n directionalLight.castShadow = true;\r\n this.scene.add(directionalLight);\r\n\r\n const hemisphereLight = new THREE.HemisphereLight(0xffffbb, 0x080820, 1);\r\n this.scene.add(hemisphereLight);\r\n\r\n // Calculate bounds\r\n this.calculateBounds();\r\n\r\n // Create map\r\n this.createMap();\r\n\r\n // Add marker\r\n this.addMarker();\r\n\r\n // Center camera\r\n this.centerCamera();\r\n\r\n // Event listeners\r\n this.renderer.domElement.addEventListener(\"mousemove\", this.onMouseMove);\r\n\r\n this.initialized = true;\r\n },\r\n\r\n calculateBounds() {\r\n let minLat = Infinity;\r\n let maxLat = -Infinity;\r\n let minLng = Infinity;\r\n let maxLng = -Infinity;\r\n\r\n chinaGeoJson.features.forEach((feature) => {\r\n const coordinates = feature.geometry.coordinates[0];\r\n coordinates.forEach((coord) => {\r\n const [lng, lat] = coord;\r\n minLat = Math.min(minLat, lat);\r\n maxLat = Math.max(maxLat, lat);\r\n minLng = Math.min(minLng, lng);\r\n maxLng = Math.max(maxLng, lng);\r\n });\r\n });\r\n\r\n this.bounds = { minLat, maxLat, minLng, maxLng };\r\n },\r\n\r\n projectGeoToWorld(lng, lat) {\r\n const x =\r\n ((lng - this.bounds.minLng) /\r\n (this.bounds.maxLng - this.bounds.minLng)) *\r\n 200 -\r\n 100;\r\n const z =\r\n (-(lat - this.bounds.minLat) /\r\n (this.bounds.maxLat - this.bounds.minLat)) *\r\n 200 +\r\n 100;\r\n return [x, z];\r\n },\r\n\r\n createMap() {\r\n const material = new THREE.MeshPhongMaterial({\r\n color: 0x0055ff,\r\n transparent: true,\r\n opacity: 0.85,\r\n shininess: 100,\r\n specular: 0x4488ff,\r\n side: THREE.DoubleSide,\r\n });\r\n\r\n const glowMaterial = new THREE.MeshPhongMaterial({\r\n color: 0x0088ff,\r\n transparent: true,\r\n opacity: 0.15,\r\n side: THREE.DoubleSide,\r\n emissive: 0x0088ff,\r\n emissiveIntensity: 0.5,\r\n });\r\n\r\n chinaGeoJson.features.forEach((feature) => {\r\n const shape = new THREE.Shape();\r\n const coordinates = feature.geometry.coordinates[0];\r\n\r\n coordinates.forEach((coord, index) => {\r\n const point = this.projectGeoToWorld(coord[0], coord[1]);\r\n if (index === 0) {\r\n shape.moveTo(point[0], point[1]);\r\n } else {\r\n shape.lineTo(point[0], point[1]);\r\n }\r\n });\r\n\r\n const extrudeSettings = {\r\n depth: 8,\r\n bevelEnabled: true,\r\n bevelThickness: 2,\r\n bevelSize: 1,\r\n bevelSegments: 1,\r\n };\r\n\r\n const geometry = new THREE.ExtrudeGeometry(shape, extrudeSettings);\r\n const mesh = new THREE.Mesh(geometry, material);\r\n const glowMesh = new THREE.Mesh(geometry, glowMaterial);\r\n\r\n mesh.position.z = -3;\r\n glowMesh.position.z = -3;\r\n\r\n this.scene.add(mesh);\r\n this.scene.add(glowMesh);\r\n });\r\n\r\n // 添加地面\r\n const groundGeometry = new THREE.PlaneGeometry(500, 500);\r\n const groundMaterial = new THREE.MeshPhongMaterial({\r\n color: 0x001133,\r\n transparent: true,\r\n opacity: 0.3,\r\n side: THREE.DoubleSide,\r\n });\r\n const ground = new THREE.Mesh(groundGeometry, groundMaterial);\r\n ground.rotation.x = -Math.PI / 2;\r\n ground.position.y = -3;\r\n this.scene.add(ground);\r\n },\r\n\r\n centerCamera() {\r\n const box = new THREE.Box3();\r\n this.provinces.forEach((province) => {\r\n box.expandByObject(province);\r\n });\r\n\r\n const center = box.getCenter(new THREE.Vector3());\r\n const size = box.getSize(new THREE.Vector3());\r\n const maxDim = Math.max(size.x, size.y, size.z);\r\n const fov = this.camera.fov * (Math.PI / 180);\r\n let cameraZ = Math.abs(maxDim / 2 / Math.tan(fov / 2));\r\n\r\n this.camera.position.set(center.x, 100, center.z + cameraZ);\r\n this.camera.lookAt(center);\r\n this.controls.target.copy(center);\r\n },\r\n\r\n addMarker() {\r\n if (this.marker) {\r\n this.scene.remove(this.marker);\r\n }\r\n\r\n if (\r\n !this.markerPosition ||\r\n !this.markerPosition.longitude ||\r\n !this.markerPosition.latitude\r\n ) {\r\n return;\r\n }\r\n\r\n const { coordinates } = this.markerPosition;\r\n const point = this.projectGeoToWorld(coordinates[0], coordinates[1]);\r\n\r\n // 创建标记点\r\n const markerGeometry = new THREE.SphereGeometry(3, 32, 32);\r\n const markerMaterial = new THREE.MeshPhongMaterial({\r\n color: 0xff0000,\r\n emissive: 0xff0000,\r\n emissiveIntensity: 0.5,\r\n });\r\n\r\n const marker = new THREE.Mesh(markerGeometry, markerMaterial);\r\n marker.position.set(point[0], 10, point[1]);\r\n\r\n // 添加光环效果\r\n const ringGeometry = new THREE.RingGeometry(4, 5, 32);\r\n const ringMaterial = new THREE.MeshBasicMaterial({\r\n color: 0xff0000,\r\n transparent: true,\r\n opacity: 0.5,\r\n side: THREE.DoubleSide,\r\n });\r\n\r\n const ring = new THREE.Mesh(ringGeometry, ringMaterial);\r\n ring.position.set(point[0], 10, point[1]);\r\n ring.rotation.x = -Math.PI / 2;\r\n\r\n this.scene.add(marker);\r\n this.scene.add(ring);\r\n\r\n // 动画效果\r\n const animate = () => {\r\n ring.scale.x = 1 + Math.sin(Date.now() * 0.003) * 0.3;\r\n ring.scale.y = 1 + Math.sin(Date.now() * 0.003) * 0.3;\r\n ring.material.opacity = 0.5 - Math.sin(Date.now() * 0.003) * 0.2;\r\n requestAnimationFrame(animate);\r\n };\r\n animate();\r\n },\r\n\r\n onMouseMove(event) {\r\n const rect = this.renderer.domElement.getBoundingClientRect();\r\n this.mouse.x = ((event.clientX - rect.left) / rect.width) * 2 - 1;\r\n this.mouse.y = -((event.clientY - rect.top) / rect.height) * 2 + 1;\r\n\r\n this.raycaster.setFromCamera(this.mouse, this.camera);\r\n\r\n const intersects = this.raycaster.intersectObjects(this.provinces);\r\n\r\n this.provinces.forEach((province) => {\r\n province.material.color.setHex(0x1a5f7a);\r\n });\r\n\r\n if (intersects.length > 0) {\r\n const intersected = intersects[0].object;\r\n intersected.material.color.setHex(0x2a8f9a);\r\n this.hoveredProvince = intersected.userData.name;\r\n } else {\r\n this.hoveredProvince = null;\r\n }\r\n },\r\n\r\n onWindowResize() {\r\n const container = this.$refs.container;\r\n this.camera.aspect = container.clientWidth / container.clientHeight;\r\n this.camera.updateProjectionMatrix();\r\n this.renderer.setSize(container.clientWidth, container.clientHeight);\r\n },\r\n\r\n animate() {\r\n requestAnimationFrame(this.animate);\r\n this.controls.update();\r\n this.renderer.render(this.scene, this.camera);\r\n },\r\n\r\n cleanup() {\r\n if (this.renderer) {\r\n this.renderer.dispose();\r\n this.renderer.domElement.remove();\r\n }\r\n\r\n if (this.scene) {\r\n this.scene.traverse((object) => {\r\n if (object.geometry) {\r\n object.geometry.dispose();\r\n }\r\n if (object.material) {\r\n if (Array.isArray(object.material)) {\r\n object.material.forEach((material) => material.dispose());\r\n } else {\r\n object.material.dispose();\r\n }\r\n }\r\n });\r\n }\r\n },\r\n },\r\n watch: {\r\n markerPosition: {\r\n handler() {\r\n this.addMarker();\r\n },\r\n deep: true,\r\n },\r\n },\r\n};\r\n</script>\r\n\r\n<style scoped>\r\n.three-map-container {\r\n width: 100%;\r\n height: 100%;\r\n position: relative;\r\n overflow: hidden;\r\n}\r\n\r\n.province-info {\r\n position: absolute;\r\n top: 20px;\r\n left: 20px;\r\n background: rgba(0, 0, 0, 0.7);\r\n color: white;\r\n padding: 10px;\r\n border-radius: 4px;\r\n pointer-events: none;\r\n}\r\n</style> "],"mappings":"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","ignoreList":[]}]} |