| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824 | /* * ATTENTION: The "eval" devtool has been used (maybe by default in mode: "development"). * This devtool is neither made for production nor for readable output files. * It uses "eval()" calls to create a separate source file in the browser devtools. * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) * or disable the default devtool with "devtool: false". * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). *//******/ (function() { // webpackBootstrap/******/ 	var __webpack_modules__ = ({/***/ "./node_modules/_babel-loader@8.3.0@babel-loader/lib/index.js??clonedRuleSet-40.use[0]!./node_modules/_vue-loader@15.10.1@vue-loader/lib/index.js??vue-loader-options!./src/App.vue?vue&type=script&lang=js&":/*!*******************************************************************************************************************************************************************************************************************!*\  !*** ./node_modules/_babel-loader@8.3.0@babel-loader/lib/index.js??clonedRuleSet-40.use[0]!./node_modules/_vue-loader@15.10.1@vue-loader/lib/index.js??vue-loader-options!./src/App.vue?vue&type=script&lang=js& ***!  \*******************************************************************************************************************************************************************************************************************//***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {"use strict";eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _utils_localStorage__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @/utils/localStorage */ \"./src/utils/localStorage.js\");\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n  name: \"App\",\n  provide() {\n    return {\n      reload: this.reload\n    };\n  },\n  data() {\n    return {\n      themeColor: \"rgba(0,97,232,1)\",\n      themeColor2: \"rgba(0,97,232,0.2)\",\n      isRouterAlive: true,\n      showAccountView: false,\n      //是否显示用户账号列表\n      acountList: [],\n      //弹出层账号列表数据\n      selectAccount: null //选中的账号\n    };\n  },\n\n  created() {\n    document.addEventListener('visibilitychange', event => {\n      console.warn(\"***pageshow-handle***\", event, document.hidden, document.visibilityState);\n      //外链回退到vue应用要执行的代码\n      if (document.visibilityState == 'visible') {\n        //页面显示\n        this.accountHandle();\n      }\n    });\n    this.accountHandle(true);\n  },\n  watch: {\n    loading: {\n      handler(newVal) {\n        if (!newVal) {\n          this.$store.state.loadingMsg = '';\n        }\n      }\n    }\n  },\n  computed: {\n    loading() {\n      return this.$store.state.loading;\n    },\n    loadingMsg() {\n      if (this.$store.state.loadingMsg) {\n        return this.$store.state.loadingMsg;\n      } else {\n        return \"正在查询,请耐心等待\";\n      }\n    }\n  },\n  mounted() {\n    // 禁止图片单机事件,防止出现图片点击浏览器自动预览功能\n    document.body.addEventListener(\"click\", function (e) {\n      if (e.target.nodeName.toLowerCase() == \"img\") {\n        e.preventDefault();\n      }\n    });\n  },\n  methods: {\n    reload() {\n      this.isRouterAlive = false;\n      this.$nextTick(function () {\n        this.isRouterAlive = true;\n      });\n    },\n    //账号获取\n    accountHandle(type = false) {\n      var acountList = (0,_utils_localStorage__WEBPACK_IMPORTED_MODULE_0__.getStorage)('acountList') ? JSON.parse((0,_utils_localStorage__WEBPACK_IMPORTED_MODULE_0__.getStorage)('acountList')) : null;\n      console.warn(\"***acountList***\", acountList);\n      if (acountList) {\n        if (acountList.length > 1) {\n          this.selectAccount = null;\n          this.acountList = acountList;\n          this.showAccountView = true;\n        } else {\n          this.showAccountView = false;\n          this.selectAccount = acountList[0];\n          (0,_utils_localStorage__WEBPACK_IMPORTED_MODULE_0__.removeItem)('acountList'); //移除待选择列表的账号数据\n          if (type) {\n            //页面加载时触发\n            setTimeout(() => {\n              //等待其他组件创建好对应的事件监听\n              window.$bus.$emit(\"projectUpdate\", this.$route.query.projectId, this.selectAccount);\n              window.$bus.$emit(\"setAccount\", this.selectAccount);\n            }, 5000);\n          } else {\n            //页面出现时触发-非初次加载\n            window.$bus.$emit(\"projectUpdate\", this.$route.query.projectId, this.selectAccount);\n            window.$bus.$emit(\"setAccount\", this.selectAccount);\n          }\n        }\n      } else {\n        this.showAccountView = false;\n      }\n    },\n    closeFun() {\n      this.showAccountView = false;\n    },\n    //账号选择\n    accountChange(item) {\n      if (!item) {\n        return false;\n      }\n      this.selectAccount = item;\n    },\n    //确认账号选择\n    async accountConfirm() {\n      if (!this.selectAccount) {\n        this.$message.warning(\"请选择关联账号!\");\n        return false;\n      }\n      // let userInfo = window.userInfo;\n      // userInfo['userAccount'] = this.selectAccount;\n      (0,_utils_localStorage__WEBPACK_IMPORTED_MODULE_0__.removeItem)('acountList'); //选择好后,移除待选择列表的账号数据\n      this.showAccountView = false;\n      let res = await requestConfig('bindAdvertiser', {\n        \"advertiserId\": this.selectAccount.advertiserId,\n        \"companyId\": window.userCompanyModel.companyId,\n        \"name\": this.selectAccount.name,\n        \"platform\": this.selectAccount.platform || '',\n        \"oauthType\": this.getAuthType()\n      }, false, false);\n      if (res.success) {\n        // this.$store.dispatch('setAccount',this.selectAccount);\n        window.$bus.$emit(\"projectUpdate\", this.$route.query.projectId, this.selectAccount);\n        window.$bus.$emit(\"setAccount\", this.selectAccount);\n        (0,_utils_localStorage__WEBPACK_IMPORTED_MODULE_0__.removeItem)(\"OAUTHTYPE\");\n      }\n    },\n    getAuthType() {\n      const oauthType = JSON.parse(window.localStorage.getItem('OAUTHTYPE')) || '';\n      if (oauthType) {\n        return oauthType.accountType;\n      } else {\n        return \"2\"; //默认是2\n      }\n    }\n  }\n});\n\n//# sourceURL=webpack://hello-world/./src/App.vue?./node_modules/_babel-loader@8.3.0@babel-loader/lib/index.js??clonedRuleSet-40.use%5B0%5D!./node_modules/_vue-loader@15.10.1@vue-loader/lib/index.js??vue-loader-options");/***/ }),/***/ "./node_modules/_babel-loader@8.3.0@babel-loader/lib/index.js??clonedRuleSet-40.use[0]!./node_modules/_vue-loader@15.10.1@vue-loader/lib/index.js??vue-loader-options!./src/components/mapComponent/mapComponent.vue?vue&type=script&lang=js&":/*!****************************************************************************************************************************************************************************************************************************************************!*\  !*** ./node_modules/_babel-loader@8.3.0@babel-loader/lib/index.js??clonedRuleSet-40.use[0]!./node_modules/_vue-loader@15.10.1@vue-loader/lib/index.js??vue-loader-options!./src/components/mapComponent/mapComponent.vue?vue&type=script&lang=js& ***!  \****************************************************************************************************************************************************************************************************************************************************//***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {"use strict";eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var core_js_modules_es_typed_array_to_reversed_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/es.typed-array.to-reversed.js */ \"./node_modules/_core-js@3.31.1@core-js/modules/es.typed-array.to-reversed.js\");\n/* harmony import */ var core_js_modules_es_typed_array_to_reversed_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_typed_array_to_reversed_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var core_js_modules_es_typed_array_to_sorted_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! core-js/modules/es.typed-array.to-sorted.js */ \"./node_modules/_core-js@3.31.1@core-js/modules/es.typed-array.to-sorted.js\");\n/* harmony import */ var core_js_modules_es_typed_array_to_sorted_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_typed_array_to_sorted_js__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var core_js_modules_es_typed_array_with_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! core-js/modules/es.typed-array.with.js */ \"./node_modules/_core-js@3.31.1@core-js/modules/es.typed-array.with.js\");\n/* harmony import */ var core_js_modules_es_typed_array_with_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_typed_array_with_js__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! core-js/modules/es.array.push.js */ \"./node_modules/_core-js@3.31.1@core-js/modules/es.array.push.js\");\n/* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var three__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! three */ \"./node_modules/_three@0.154.0@three/build/three.module.js\");\n/* harmony import */ var three_addons_libs_stats_module_js__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! three/addons/libs/stats.module.js */ \"./node_modules/_three@0.154.0@three/examples/jsm/libs/stats.module.js\");\n/* harmony import */ var three_addons_controls_OrbitControls_js__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! three/addons/controls/OrbitControls.js */ \"./node_modules/_three@0.154.0@three/examples/jsm/controls/OrbitControls.js\");\n/* harmony import */ var three_addons_loaders_GLTFLoader_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! three/addons/loaders/GLTFLoader.js */ \"./node_modules/_three@0.154.0@three/examples/jsm/loaders/GLTFLoader.js\");\n/* harmony import */ var three_addons_libs_tween_module_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! three/addons/libs/tween.module.js */ \"./node_modules/_three@0.154.0@three/examples/jsm/libs/tween.module.js\");\n/* harmony import */ var _static_wallData_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @/static/wallData.js */ \"./src/static/wallData.js\");\n/* harmony import */ var _static_wallData_js__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_static_wallData_js__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var _mixins_screenshot_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @/mixins/screenshot.js */ \"./src/mixins/screenshot.js\");\n/* harmony import */ var _mixins_floorMethod_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @/mixins/floorMethod.js */ \"./src/mixins/floorMethod.js\");\n/* harmony import */ var _mixins_wallMethod_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @/mixins/wallMethod.js */ \"./src/mixins/wallMethod.js\");\n/* harmony import */ var _mixins_loadModel_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! @/mixins/loadModel.js */ \"./src/mixins/loadModel.js\");\n\n\n\n\n\n\n\n\n\nvar requestId = \"\";\n// const util = require('@/static/utils/util.js');\nconst config = __webpack_require__(/*! @/services/urlConfig.js */ \"./src/services/urlConfig.js\");\n\n// import modelData from '@/webgl/static/layoutModelData.js';\n// import requestConfig from '@/services/requestConfig.js';\n// import viewShell from'@/webgl/components/newBottomCom/viewShell/viewShell.vue';\n// import * as BufferGeometryUtils from '@/webgl/jsm/utils/BufferGeometryUtils.js';\n\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n  // components:{viewShell},\n  mixins: [_mixins_screenshot_js__WEBPACK_IMPORTED_MODULE_5__[\"default\"], _mixins_floorMethod_js__WEBPACK_IMPORTED_MODULE_6__[\"default\"], _mixins_wallMethod_js__WEBPACK_IMPORTED_MODULE_7__[\"default\"], _mixins_loadModel_js__WEBPACK_IMPORTED_MODULE_8__[\"default\"]],\n  /**\r\n   * 页面的初始数据\r\n   */\n  data() {\n    return {\n      pvCurPageName: \"home_show\",\n      locusBehaviorName: \"主界面\",\n      pvCurPageParams: null,\n      houseId: \"100296\",\n      pvId: 'p_2cmina_23080401',\n      canvas: null,\n      navbar: {\n        showCapsule: 1,\n        title: '',\n        titleColor: '#000',\n        navPadding: 0,\n        navPaddingBg: 'transparent',\n        navBarColor: 'transparent',\n        navBackColor: 'transparent',\n        haveCallback: false,\n        fromShare: false,\n        fromProject: 0,\n        shareToken: \"\",\n        pageName: this.pvCurPageName\n      },\n      id: '232',\n      // 户型编号\n      spaceList: [],\n      // 空间列表\n      gltfSpaces: [],\n      // 场景中地板模型数组\n      curSpaceObj: null,\n      // 当前选中的空间\n      // curSpaceIndex:-1, // 当前选中的空间索引\n      curWallDirection: \"\",\n      // 当前选中的墙面\n      curWallValue: 0,\n      // 当前墙面的滑动值\n      curWallMaxValue: 300,\n      curWallHidden: false,\n      // 当前墙面的状态\n      wallIds: [],\n      // 空间墙体id\n      wallList: [],\n      // 墙体数据\n      gltfWalls: [],\n      // 场景中墙体模型数组\n      gltfAutoWalls: [],\n      // 空间自动补墙模型数组\n      // lastWallPosition:0, // 当面墙中墙体模型的开始位置\n      tempSpaceList: [],\n      // 全部空间临时数组\n      leftSpaces: [],\n      // 移动空间左边数组\n      rightSpaces: [],\n      // 移动空间右边数组\n      loader: null,\n      scene: null,\n      sky: null,\n      camera: null,\n      houseList: [],\n      //当前户型所有的户型详情,可以切换\n      curHouseType: null,\n      //当前选中的户型类型\n      curHouseName: '',\n      //当前选中的户型类型名称\n      curHouseFloor: null,\n      //当前选中的户型楼层\n      curHouseObj: null,\n      controlStarPosition: {\n        x: 0,\n        y: 0,\n        z: 0\n      },\n      //控制器初始位置\n      cameraStarPosition: {\n        x: 0,\n        y: 20,\n        z: 0\n      },\n      //摄像头初始位置\n      // cameraLastPosition: null,\t\t//摄像头上一次移动到的位置\n      // controlLastPosition: null,\t\t//观察点上一次移动到的位置\n      // canvasHeight:200,\t//canvas视图的高度-计算得出\n      chooseMesh: null,\n      //标记鼠标拾取到的mesh\n      // chooseMeshColor:'',\t//拾取到的mesh的原始颜色;\n      chooseWallMeshColor: '',\n      // 拾取墙体原始颜色\n      curWallArr: [],\n      // 当前空间选中墙面的墙体模型\n      isManyou: false,\n      //当前是否处在漫游状态\n      pageShowIndex: 2,\n      // 默认户型列表页面\n      aleadyLoaderModel: [],\n      //已经加载的墙体元数据模型列表\n      // fontLabelGroup: [],\n      shottingImg: [],\n      progress: 1,\n      //进度条\n      myLoadingStatus: false,\n      // textGeoList:[],\n      repeatFlag: false,\n      //重复点击\n      skyPlan: null,\n      // 天空盒子\n      instancedMeshList: [],\n      lableItem: [],\n      showLables: false,\n      loadOver: false,\n      voiceMaskShow: false,\n      //录音时的蒙层是否显示\n      postAIData: [],\n      //提交的数据\n\n      minspace1: null,\n      minspace2: null,\n      minspace3: null,\n      minspace4: null,\n      spaces1: [],\n      spaces2: [],\n      spaces3: [],\n      spaces4: [],\n      layoutIds: [],\n      // 空间墙体id\n      layoutLists: [],\n      // 墙体数据\n      gltfLayouts: [],\n      // 场景中墙体模型数组\n      screenshotResolve: null,\n      curLayoutStruct: null,\n      //当前户型大类下所有楼层数据-用于提交\n      overChange: false,\n      //是否形变中\n      isIos: false,\n      //是否ios手机。默认不是\n      currentChangeSpaceId: null,\n      //当前变化的空间id\n      styleType: 1,\n      controls: null\n    };\n  },\n  watch: {\n    curSpaceObj(newVal, oldVal) {\n      if (!newVal || newVal == oldVal) {\n        return;\n      }\n      console.log(\"切换空间\", newVal, oldVal);\n      // this.curSpaceIndex = this.spaceList.findIndex((item)=>{\n      // \treturn item.spaceId == newVal.spaceId\n      // })\n      // TODO 切换空间埋点...\n    },\n\n    curWallValue(newVal, oldVal) {\n      if (!newVal || newVal == oldVal) {\n        return;\n      }\n      console.log(\"当前墙体值变化\", newVal, oldVal);\n    }\n  },\n  onUnload() {\n    cancelAnimationFrame(requestId, this.canvas);\n    this.worker && this.worker.terminate();\n    setTimeout(() => {\n      if (this.renderer instanceof three__WEBPACK_IMPORTED_MODULE_9__.WebGLRenderer) {\n        this.renderer.dispose();\n        this.renderer.forceContextLoss();\n        this.renderer.context = null;\n        this.renderer.domElement = null;\n        this.renderer = null;\n        this.clearEvent();\n      }\n      this.gltfWalls = [];\n      this.gltfSpaces = [];\n      this.instancedMeshList = [];\n      this.instancedSpaceMeshList = [];\n      this.lableItem = [];\n      this.gltfLayouts = [];\n      this.instancedFurList = [];\n      this.wallList = [];\n      three_addons_libs_tween_module_js__WEBPACK_IMPORTED_MODULE_10__[\"default\"] && three_addons_libs_tween_module_js__WEBPACK_IMPORTED_MODULE_10__[\"default\"].removeAll(); //清除所有的tween;\n    }, 0);\n  },\n  mounted() {\n    this.houseId = '100296'; //\n    this.childLayout = '0';\n    var that = this;\n    const container = this.$refs.webgl;\n    const canvas3d = this.canvas = this.$refs.glcanvas;\n    let camera = null,\n      renderer = null,\n      controls = null;\n    // let trackballControls = null;\n    console.warn(\"***loader0***\", this.loader);\n    let loader = null;\n    loader = this.loader = new three_addons_loaders_GLTFLoader_js__WEBPACK_IMPORTED_MODULE_11__.GLTFLoader();\n    // if(this.childLayout){\n    this.getInitData(); //请求获取页面模型数据等\n    // }\n    let scene = this.scene = new three__WEBPACK_IMPORTED_MODULE_9__.Scene();\n    let chooseMesh = this.chooseMesh; //标记鼠标拾取到的mesh\n    let isUserContorl = false;\n    let tweenCameraAnma = false; //表示当前是否处在动画过程中\n    let needRender = false; //是否需要渲染 false表示不需要渲染;true 表示需要渲染\n    let frustumSize = 30; //正交相机的视窗宽度距离\n    let stats;\n    init();\n    // render();\n    // this.$refs.myLoading.showLoading(\"加载中...\" + this.progress+\"%\")\n    // this.myLoadingStatus = true;\n    this.progress = 1;\n    this.clearEvent = clearEvent;\n    this.attendEvent = attendEvent;\n    this.enableRenderHandle = enableRender;\n    this.tweenCameraAnmaChange = tweenCameraAnmaChange;\n    this.gradientResize = gradientResize;\n    this.moveMeshCenterHandle = moveMeshCenterHandle;\n    this.starRender = starRender; //对外暴露启动渲染的方法\n    function init() {\n      scene.background = new three__WEBPACK_IMPORTED_MODULE_9__.Color(\"#FFFFFF\");\n      // scene.environment = new THREE.Color(\"#F2F2F2\");\n\n      // 创建相机位置-投影相机\n      camera = new three__WEBPACK_IMPORTED_MODULE_9__.PerspectiveCamera(80, window.innerWidth / window.innerHeight, 0.1, 10000);\n      // let aspect = window.innerWidth /  window.innerHeight;\n      // camera = new THREE.OrthographicCamera( frustumSize * aspect / - 2, frustumSize * aspect / 2, frustumSize / 2, frustumSize / - 2, 0.1,1000);\n      camera.up.set(0, 1, 0); //俯视状态,将相机的up向量设置为z轴负方向\n      camera.position.set(that.cameraStarPosition.x, that.cameraStarPosition.y, that.cameraStarPosition.z);\n      scene.add(camera);\n      that.camera = camera;\n      // 辅助方格\n      // const axesHelper = new THREE.AxesHelper( 50 );\n      // scene.add( axesHelper );\n      // const gridHelper = new THREE.GridHelper(50, 10, 0xcccccc, 0xcccccc);\n      // gridHelper.position.y = 0;\n      // gridHelper.position.x = 0;\n      // scene.add(gridHelper);\n\n      // 环境光会均匀的照亮场景中的所有物体\n      const ambientLight = new three__WEBPACK_IMPORTED_MODULE_9__.AmbientLight(0xFFEFE0, 2);\n      scene.add(ambientLight);\n      //平行光\n      const light = new three__WEBPACK_IMPORTED_MODULE_9__.DirectionalLight(0xFFF8E5, 2.2);\n      light.position.set(-14.8, 9.188, -7.448); //default; light shining from top\n      scene.add(light);\n      // 从一个点向各个方向发射的光源。一个常见的例子是模拟一个灯泡发出的光。\n      // const pointLight = new THREE.PointLight( 0xffffff, 0.3 );\n      // camera.add( pointLight );\n\n      //antialias 这个值得设置为false,不然IOS上截图会失效\n      renderer = that.renderer = new three__WEBPACK_IMPORTED_MODULE_9__.WebGLRenderer({\n        canvas: canvas3d,\n        alpha: true,\n        antialias: false,\n        // 如果想保存three.js canvas画布上的信息,注意设置preserveDrawingBuffer\n        preserveDrawingBuffer: true\n      });\n      // renderer.shadowMap.enabled = true;//产生阴影\n      // renderer.shadowMap.type = THREE.PCFSoftShadowMap; // 阴影属性\n      renderer.outputEncoding = three__WEBPACK_IMPORTED_MODULE_9__.sRGBEncoding;\n      renderer.outputColorSpace = three__WEBPACK_IMPORTED_MODULE_9__.SRGBColorSpace;\n      // renderer.toneMappingExposure = 0.1;//色调映射的曝光级别。默认是1\n      renderer.toneMapping = three__WEBPACK_IMPORTED_MODULE_9__.NoToneMapping; //色调映射\n      renderer.physicallyCorrectLights = true; //关键参数,模拟物理光照影响,必须设置为true\n\n      renderer.setPixelRatio(window.devicePixelRatio);\n      renderer.setSize(window.innerWidth, window.innerHeight);\n      container.appendChild(renderer.domElement);\n      controls = new three_addons_controls_OrbitControls_js__WEBPACK_IMPORTED_MODULE_12__.OrbitControls(camera, renderer.domElement);\n      controls.screenSpacePanning = true;\n      controls.enableDamping = true;\n      controls.minDistance = 1;\n      controls.maxDistance = 400;\n      controls.minPolarAngle = 0; // 默认0\n      controls.maxPolarAngle = Math.PI / 2; // 默认Math.PI,即可以向下旋转到的视角。\n      controls.target.set(that.controlStarPosition.x, that.controlStarPosition.y, that.controlStarPosition.z);\n      controls.enableZoom = true; //启用摄像机的缩放\n\n      // that.controls = controls;\n      // controls.target = new THREE.Vector3( that.controlStarPosition.x, that.controlStarPosition.y, that.controlStarPosition.z );;\n      camera.lookAt(that.controlStarPosition.x, that.controlStarPosition.y, that.controlStarPosition.z);\n      // 监听\n      // renderer.domElement.addEventListener('resize', onWindowResize );\n      stats = new three_addons_libs_stats_module_js__WEBPACK_IMPORTED_MODULE_13__[\"default\"]();\n      container.appendChild(stats.dom);\n      attendEvent(); //注册监听事件\n      starRender(); //启动渲染\n    }\n\n    function attendEvent() {\n      document.addEventListener('touchstart', onPointerStart, false);\n      document.addEventListener('touchmove', onPointerMove, false);\n      document.addEventListener('touchend', onPointerUp, false);\n    }\n    function tweenCameraAnmaChange(value) {\n      tweenCameraAnma = value;\n    }\n    //开启渲染-帧率优化,不触发时停止渲染\n    function enableRender() {}\n    //取消事件监听-避免二次进入时触发多次事件\n    function clearEvent() {\n      console.warn(\"**clearEvent****\");\n      document.removeEventListener('touchstart', onPointerStart);\n      document.removeEventListener('touchmove', onPointerMove);\n      document.removeEventListener('touchend', onPointerUp);\n    }\n    // 手指移动开始\n    function onPointerStart(event) {\n      console.log('开始触摸事件:', that.overChange);\n      if (that.overChange) {\n        //形变中,不能相应用户操作\n        return false;\n      }\n    }\n    //持续触摸中\n    function onPointerMove(event) {\n      if (that.overChange) {\n        //形变中,不能相应用户操作\n        return false;\n      }\n      // enableRender();\n      that.showLables = false;\n    }\n    //触摸结束\n    function onPointerUp(event) {\n      if (that.overChange) {\n        //形变中,不能相应用户操作\n        return false;\n      }\n      // enableRender();\n      if (event.touches.length == 0) {}\n    }\n    //把摄像机移动的选中模型的正上方,观察点也变更为模型中心点,同时选中模型\n    function moveMeshCenterHandle(mesh = null, noChangeColor = true) {\n      if (mesh) {\n        //如果传入了模型,则取模型\n        let spaceId = mesh.spaceId; //空间id\n        if (chooseMesh && spaceId == chooseMesh.spaceId) {\n          console.warn(\"**moveMeshCenterHandle-重复选中了***\");\n          return false;\n        }\n        chooseMesh = mesh;\n      }\n      if (!chooseMesh) {\n        console.warn(\"**moveMeshCenterHandle-没有数据***\");\n        return false;\n      }\n      that.showLables = false; //隐藏\n      controls.enable = false; //控制器不响应用户的操作\n\n      let spaceObj = chooseMesh; //获取空间模型的相关数据\n      let cameraNewPosition = {};\n      let targetNewPosition = {};\n      let oldUp = {};\n      let newUp = {};\n      if (isUserContorl === false) {\n        // 非漫游状态\n        cameraNewPosition = {\n          x: spaceObj.centerX / 100,\n          y: camera.position.y,\n          z: -spaceObj.centerY / 100\n        };\n        //新的观察点的位置-取模型的中心点坐标,加上高度,由于模型都是贴地的,所以高度设置为0\n        targetNewPosition = {\n          x: spaceObj.centerX / 100,\n          y: 0,\n          z: -spaceObj.centerY / 100\n        };\n        oldUp = camera.up; //俯视状态\n        newUp = camera.up;\n        // that.cameraLastPosition = cameraNewPosition;//记录下上一次摄像头位置\n        // that.controlLastPosition = targetNewPosition;//记录下上一次观察点位置\n      }\n\n      console.warn(\"**moveMeshCenter***\", isUserContorl, spaceObj, JSON.stringify(camera.position), JSON.stringify(controls.target), cameraNewPosition, targetNewPosition, JSON.stringify(camera.up));\n      tweenCamera(camera.position, controls.target, cameraNewPosition, targetNewPosition, oldUp, newUp, 600);\n      setTimeout(() => {\n        that.showLables = true;\n      }, 601); //动画结束后回复原始状态\n    }\n\n    // oldP  相机原来的位置\n    // oldT  target原来的位置\n    // newP  相机新的位置\n    // newT  target新的位置\n    function tweenCamera(oldP, oldT, newP, newT, oldUp, newUp, time = 1000) {\n      if (JSON.stringify(oldP) == JSON.stringify(newP) && JSON.stringify(oldT) == JSON.stringify(newT)) {\n        return false;\n      }\n      if (!chooseMesh) {\n        return false;\n      }\n      tweenCameraAnma = true;\n      var tween = new three_addons_libs_tween_module_js__WEBPACK_IMPORTED_MODULE_10__[\"default\"].Tween({\n        x1: oldP.x,\n        // 相机x\n        y1: oldP.y,\n        // 相机y\n        z1: oldP.z,\n        // 相机z\n        x2: oldT.x,\n        // 控制点的中心点x\n        y2: oldT.y,\n        // 控制点的中心点y\n        z2: oldT.z,\n        // 控制点的中心点z\n        x3: oldUp.x,\n        // 控制点的中心点x\n        y3: oldUp.y,\n        // 控制点的中心点y\n        z3: oldUp.z // 控制点的中心点z\n      }).to({\n        x1: newP.x,\n        y1: newP.y,\n        z1: newP.z,\n        x2: newT.x,\n        y2: newT.y,\n        z2: newT.z,\n        x3: newUp.x,\n        // up向量\n        y3: newUp.y,\n        // 控制点的中心点y\n        z3: newUp.z // 控制点的中心点z\n      }, time).easing(three_addons_libs_tween_module_js__WEBPACK_IMPORTED_MODULE_10__[\"default\"].Easing.Quadratic.InOut).onUpdate(object => {\n        camera.position.x = object.x1;\n        camera.position.y = object.y1;\n        camera.position.z = object.z1;\n        let newTarget = new three__WEBPACK_IMPORTED_MODULE_9__.Vector3(object.x3, object.y3, object.z3);\n        camera.up.copy(newTarget);\n        camera.lookAt(object.x2, object.y2, object.z2);\n        // controls.target.x = object.x2;\n        // controls.target.y = object.y2;\n        // controls.target.z = object.z2;\n        // controls.update();\n        // console.warn(\"****onUpdate**\",object.x1,object.y1,object.z1,object.x2,object.y2,object.z2)\n      }).onComplete(() => {\n        controls.target.x = newT.x;\n        controls.target.y = newT.y;\n        controls.target.z = newT.z;\n        //修正最后的视角\n        let up = new three__WEBPACK_IMPORTED_MODULE_9__.Vector3(newUp.x, newUp.y, newUp.z);\n        camera.up.copy(up);\n        camera.lookAt(controls.target.x, controls.target.y, controls.target.z);\n        tweenCameraAnma = false;\n      });\n      // 开始动画\n      tween.start();\n    }\n    //高度持续变化处理 time 动画持续时间 单位秒\n    function gradientResize(time, startHeight, endHeight) {\n      let _timeStep = 20; //单位 毫秒\n      let unit = app.globalData.systemInfo.screenWidth / 750; //单位rpx 对应 px 的值\n      let _height = startHeight - endHeight; //高度变化-单位rpx\n      let _jisua = that.canvasHeight;\n      let lastHeight = _jisua + _height * unit; //动画结束时的高度值; 单位 px\n      that.canvasHeight = lastHeight; //触发css动画\n      let step = _height * unit / (time * 1000 / _timeStep); //真实大小 单位px\n      console.warn(\"***gradientResize***\", step, lastHeight, _jisua, startHeight, endHeight);\n      that.showLables = false;\n      // let canvas_webgl = document.getElementById('canvas_webgl');\n      var tween = new three_addons_libs_tween_module_js__WEBPACK_IMPORTED_MODULE_10__[\"default\"].Tween({\n        h1: _jisua\n      }).to({\n        h1: lastHeight\n      }, 1000).easing(three_addons_libs_tween_module_js__WEBPACK_IMPORTED_MODULE_10__[\"default\"].Easing.Linear.None).onUpdate(object => {\n        if (camera.isOrthographicCamera) {\n          //正交相机\n          let aspect = window.innerWidth / object.h1;\n          camera.left = frustumSize * aspect / -2;\n          camera.right = frustumSize * aspect / 2;\n          camera.top = frustumSize / 2;\n          camera.bottom = frustumSize / -2;\n          camera.updateProjectionMatrix();\n          // that.canvasHeight = object.h1;\n        } else if (camera.isPerspectiveCamera) {\n          //透视相机\n          camera.aspect = window.innerWidth / object.h1;\n          camera.updateProjectionMatrix();\n          renderer.setSize(window.innerWidth, object.h1);\n          // that.canvasHeight = object.h1;\n        }\n      }).onComplete(() => {\n        camera.aspect = window.innerWidth / that.canvasHeight;\n        camera.updateProjectionMatrix();\n        renderer.setSize(window.innerWidth, that.canvasHeight);\n        tweenCameraAnma = false;\n      });\n      // 开始动画\n      tween.start();\n      tweenCameraAnma = true;\n    }\n    //更新lables\n    function updateLables() {\n      if (!that.showLables) {\n        return false;\n      }\n      that.lableItem.forEach(lable => {\n        if (!that.gltfSpaces[lable.cubeIndex] || !that.gltfSpaces[lable.cubeIndex].instancedMeshIndexList) {\n          return false;\n        }\n        let item = that.gltfSpaces[lable.cubeIndex].instancedMeshIndexList[0]; //获取地板模型的第一个geometry实例\n        let _index = item.instancedMeshIndex; //第一个geometry实例 在 全局InstancedMesh实例的位置\n        let instancedMesh = that.instancedSpaceMeshList[_index]; //获取具体的网格实例\n        let stratMatrix = new three__WEBPACK_IMPORTED_MODULE_9__.Matrix4(); //定义一个四维矩阵\n        instancedMesh.getMatrixAt(item.instancedAtIndex, stratMatrix); //获取当前几何体的四维矩阵到stratMatrix里面\n        let position = new three__WEBPACK_IMPORTED_MODULE_9__.Vector3(); //当前几何体的位置参数\n        position.setFromMatrixPosition(stratMatrix); //从四维向量中提取位置信息\n        // console.warn(\"***updateLables***\",item.instancedAtIndex,JSON.stringify(position));\n        position.project(camera);\n        const x = (position.x * .5 + .5) * window.innerWidth;\n        const y = (position.y * -.5 + .5) * window.innerHeight;\n        lable.transform = `translate(-50%, -50%) translate(${x}px,${y}px)`;\n      });\n    }\n    function stopRender() {\n      needRender = false;\n    }\n    function starRender() {\n      if (needRender == true) {\n        //如果已经在渲染中了,则不能再次开启,避免渲染过多\n        false;\n      }\n      needRender = true;\n      render(); //开始渲染\n    }\n\n    function render() {\n      if (needRender == false) {\n        return false;\n      }\n      three_addons_libs_tween_module_js__WEBPACK_IMPORTED_MODULE_10__[\"default\"] && three_addons_libs_tween_module_js__WEBPACK_IMPORTED_MODULE_10__[\"default\"].update();\n      stats.update();\n      //不处在动画过程中,则可以处理移动等动作\n      if (tweenCameraAnma == false) {\n        controls.update();\n      }\n      requestId = requestAnimationFrame(render, canvas3d);\n      renderer.render(scene, camera); //单次渲染\n      if (that.screenshotResolve) {\n        if (that.isIos) {\n          //IOS手机\n          stopRender();\n          that.screenshotResolve();\n          that.screenshotResolve = null; //释放Promise\n        } else {\n          //安卓手机\n          let gl = renderer.getContext();\n          let frameBuffer = new three__WEBPACK_IMPORTED_MODULE_9__.Vector2();\n          renderer.getDrawingBufferSize(frameBuffer);\n          let pixelData = new Uint8Array(frameBuffer.x * frameBuffer.y * 4);\n          //参考 Threejs WebGLRenderer.readRenderTargetPixels\n          if (gl.checkFramebufferStatus(gl.FRAMEBUFFER) === gl.FRAMEBUFFER_COMPLETE) {\n            gl.readPixels(0, 0, frameBuffer.x, frameBuffer.y, gl.RGBA, gl.UNSIGNED_BYTE, pixelData);\n            // 确保有像素,微信小程序安卓在进入子页面返回本页面后,再一次readPixels稳定无像素\n            if (pixelData.some(i => i !== 0)) {\n              stopRender();\n              console.warn(\"***screenshotResolve-pixelData***\");\n              that.screenshotResolve([pixelData, frameBuffer.x, frameBuffer.y]);\n              that.screenshotResolve = null; //释放Promise\n              frameBuffer = null; //清空内存中的数据\n              pixelData = null; //清空内存中的数据\n            }\n          }\n        }\n      }\n    }\n\n    // const eventChannel = this.getOpenerEventChannel();\n    // // 监听acceptDataFromOpenerPage事件,获取上一页面通过eventChannel传送到当前页面的数据\n    // eventChannel && eventChannel.hasOwnProperty('on') && eventChannel.on('acceptDataFromOpenerPage', (dataList) => {\n    // \tconsole.log('监听acceptDataFromOpenerPage事件,获取上一页面通过eventChannel传送到当前页面的数据',dataList)\n    // \tthis.setHouseDetail(dataList)\n    // })\n  },\n\n  onShow() {\n    if (this.attendEvent) {\n      this.attendEvent();\n    }\n  },\n  onHide() {\n    this.clearEvent();\n  },\n  methods: {\n    voiceMaskChange(voiceMask) {\n      this.voiceMaskShow = voiceMask;\n    },\n    async submitHouse() {\n      if (this.overChange) {\n        return uni.showToast({\n          title: \"空间正在调整\",\n          icon: \"none\",\n          duration: 3000\n        });\n      }\n      // this.$refs.myLoading.showLoading(\"提交中...\")\n      let shottingImg = (await this.shottingAction()) + \"?imageMogr2/auto-orient/format/webp/blur/1x0/quality/75\"; //开始截图\n      console.warn(\"***shottingImg***\", shottingImg);\n      let userId = app.globalData.single && app.globalData.single.id ? app.globalData.single.id : '';\n      let param = {\n        \"brandId\": 94,\n        \"houseId\": this.curHouseObj.houseId,\n        \"userId\": userId,\n        \"floot\": this.curHouseObj.houseFloor,\n        \"spaceName\": this.curHouseName,\n        \"spaceStructure\": this.curHouseType,\n        \"curFloor\": this.curHouseFloor,\n        // \"layoutImgCustomized\": shottingImg,\n        // \"style\": \"\",\n        layoutStruct: []\n      };\n      //处理每一个楼层\n      this.curLayoutStruct.forEach((layoutStruct, index) => {\n        let houseData = {\n          \"layoutId\": layoutStruct.id,\n          \"layoutName\": layoutStruct.name,\n          \"layoutArea\": layoutStruct.houseArea,\n          \"floor\": layoutStruct.houseFloor,\n          \"layoutImgCustomized\": layoutStruct.houseFloor == this.curHouseFloor ? shottingImg : '',\n          \"style\": \"\",\n          \"houseJson\": []\n        };\n        let spaceList = JSON.parse(layoutStruct.houseJson);\n        let styleList = [];\n        //遍历当前户型下的每一个空间\n        spaceList.forEach(item => {\n          let space = JSON.parse(JSON.stringify(item));\n          //找到当前空间对象对应的AI数据对象\n          let AISpace = this.postAIData.find(it => {\n            return it.houseFloor == layoutStruct.houseFloor && it.spaceId == space.spaceId;\n          });\n          if (AISpace) {\n            let list = AISpace.aiImagesList.filter(it => it.checked == true); //过滤选中的\n            list.forEach(it => {\n              styleList.push(it.aiStyleName);\n            });\n            list = list.map(it => {\n              return it.image;\n            });\n            space.hardboundEffect = list;\n            console.warn(\"submitHouse: \", list, space);\n          }\n          houseData.houseJson.push(space);\n        });\n        //寻找styleList里面出现最多次数的风格\n        if (styleList && styleList.length > 0) {\n          let maxEle = styleList[0];\n          let maxNum = 1;\n          styleList.reduce((p, k) => {\n            p[k] ? p[k]++ : p[k] = 1;\n            if (p[k] > maxNum) {\n              maxEle = k;\n              maxNum++;\n            }\n            return p;\n          }, {});\n          houseData.style = maxEle;\n        }\n        param.layoutStruct.push(houseData);\n      });\n      console.warn(\"submitHouse-param: \", param);\n      let trackparam = {\n        type: 'CLK',\n        //埋点类型\n        clkId: 'clk_2cmina_23080409',\n        //点击ID\n        clkName: 'submit_clk',\n        //点击前往的页面名称\n        clkParams: {\n          locusName: \"数据提交\",\n          postAIData: this.postAIData\n        }\n      };\n      util.trackRequest(trackparam);\n      let res = await requestConfig(\"saveCustomizedRecord\", param);\n      // this.$refs.myLoading.hideLoading();\n      if (res && res.success && res.single) {//提交成功\n        // uni.redirectTo({\n        //     url: '/webgl/pages/webgl_rxdz_customize/webgl_rxdz_customize?houseId='+this.houseId + \"&id=\" + res.single,\n        // \tsuccess: function(res) {\n        // \t},\n        //     fail: function(res) {\n        //         console.log(res)\n        //     },\n        // });\n      }\n    },\n    enableRender() {\n      this.enableRenderHandle();\n    },\n    /**\r\n     * 选中墙体触发\r\n     */\n    selectWall(wallIndex) {\n      console.log(\"index\", wallIndex);\n      if (this.chooseWallMeshColor) {\n        for (let index = 0; index < this.curWallArr.length; index++) {\n          const element = this.curWallArr[index];\n          const cube = element.obj;\n          this.chooseWallMeshColor.convertSRGBToLinear(); // 将颜色值转换为线性颜色值\n          if (cube && cube.children[0].children[0] && cube.children[0].children[0].material) {\n            cube.children[0].children[0].material.color = this.chooseWallMeshColor; //修改选中模型的颜色-高亮显示 当前选中的模型\n          } else {//新版逻辑\n            // element.instancedMeshIndexList.forEach(item=>{\n            // \tlet _index = item.instancedMeshIndex;\n            // \tlet instancedMesh = this.instancedMeshList[_index];//网格实例\n            // \tinstancedMesh.instanceColor.needsUpdate = true;//打开颜色修改开关,不开,颜色是不能修改额\n            // \tinstancedMesh.setColorAt(item.instancedAtIndex, this.chooseWallMeshColor);//修改这个几何体的颜色\n            // })\n          }\n        }\n      }\n      switch (wallIndex) {\n        case 1:\n          this.curWallDirection = \"N\";\n          break;\n        case 2:\n          this.curWallDirection = \"S\";\n          break;\n        case 3:\n          this.curWallDirection = \"W\";\n          break;\n        case 4:\n          this.curWallDirection = \"E\";\n          break;\n      }\n      this.selectedWall(this.curWallDirection);\n      this.curWallArr = [];\n      if (wallIndex != 0) {\n        const wallMoveValues = this.curSpaceObj.wallMoveValue;\n        console.log;\n        const values = JSON.parse(wallMoveValues);\n        if (this.curWallValue == 150) {\n          this.curWallValue = values[wallIndex - 1];\n        } else {\n          let wallIndex = 0;\n          switch (this.curWallDirection) {\n            case \"N\":\n              wallIndex = 0;\n              values[wallIndex] = this.curWallValue;\n              values[1] = this.curWallValue;\n              break;\n            case \"S\":\n              wallIndex = 1;\n              values[wallIndex] = this.curWallValue;\n              values[0] = this.curWallValue;\n              break;\n            case \"W\":\n              wallIndex = 2;\n              values[wallIndex] = this.curWallValue;\n              values[3] = this.curWallValue;\n              break;\n            case \"E\":\n              wallIndex = 3;\n              values[wallIndex] = this.curWallValue;\n              values[2] = this.curWallValue;\n              break;\n          }\n        }\n        this.curSpaceObj.wallMoveValue = JSON.stringify(values);\n        console.log(\"墙体可移动数据:\", this.curSpaceObj.wallMoveValue, this.spaceList);\n        const wallStatus = this.curSpaceObj.wallStatus || \"[false,false,false,false]\";\n        const status = JSON.parse(wallStatus);\n        this.curWallHidden = status[wallIndex - 1];\n        console.log(\"当前墙面数据:\", wallStatus, status, wallIndex);\n        const curSpaceGltfWall = this.gltfWalls.filter(item => {\n          return this.curSpaceObj.spaceId == item.spaceId && item.wallDirection == this.curWallDirection;\n        });\n        if (curSpaceGltfWall.length != 0) {\n          this.curWallArr.push(...curSpaceGltfWall);\n        } else {\n          let rightWallD = \"\";\n          switch (wallIndex - 1) {\n            case 0:\n              rightWallD = \"S\";\n              break;\n            case 1:\n              rightWallD = \"N\";\n              break;\n            case 2:\n              rightWallD = \"E\";\n              break;\n            case 3:\n              rightWallD = \"W\";\n              break;\n          }\n          for (let index = 0; index < this.leftSpaces.length; index++) {\n            const element = this.leftSpaces[index];\n            const gltfWall = this.gltfWalls.filter(item => {\n              return element.spaceId == item.spaceId && item.wallDirection == this.curWallDirection;\n            });\n            if (gltfWall) {\n              this.curWallArr.push(...gltfWall);\n            }\n          }\n          for (let index = 0; index < this.rightSpaces.length; index++) {\n            const element = this.rightSpaces[index];\n            const gltfWall = this.gltfWalls.filter(item => {\n              return element.spaceId == item.spaceId && item.wallDirection == rightWallD;\n            });\n            if (gltfWall) {\n              this.curWallArr.push(...gltfWall);\n            }\n          }\n        }\n        for (let index = 0; index < this.curWallArr.length; index++) {\n          const element = this.curWallArr[index];\n          const cube = element.obj;\n          if (cube && cube.children[0].children[0] && cube.children[0].children[0].material) {\n            this.chooseWallMeshColor = cube.children[0].children[0].material.color.clone();\n            let color = new three__WEBPACK_IMPORTED_MODULE_9__.Color(0xff0000); // 使用sRGB颜色值\n            color.convertSRGBToLinear(); // 将颜色值转换为线性颜色值\n            cube.children[0].children[0].material.color = color; //修改选中模型的颜色-高亮显示 当前选中的模型\n          } else {//新版逻辑\n            // element.instancedMeshIndexList.forEach(item=>{\n            // \tlet _index = item.instancedMeshIndex;\n            // \tlet instancedMesh = this.instancedMeshList[_index];//网格实例\n\n            // \tthis.chooseWallMeshColor = instancedMesh.material.color.clone();;\n            // \tlet color = new THREE.Color(0xff0000); // 使用sRGB颜色值\n            // \tcolor.convertSRGBToLinear(); // 将颜色值转换为线性颜色值\n            // \tinstancedMesh.instanceColor.needsUpdate = true;//打开颜色修改开关,不开,颜色是不能修改额\n            // \tinstancedMesh.setColorAt(item.instancedAtIndex, color);//修改这个几何体的颜色\n            // })\n          }\n        }\n      }\n    },\n    //具体空间面积变化-拖动产生的\n    //data = {\n    //\t\tspaceId:245,\n    //\t\tarea:12, //正负值 单位平方米\n    //\t}\n    curSpaceChange(data) {\n      console.warn(\"***空间面积变化***\", this.overChange, data);\n      this.overChange = true; //变形开始 防止在形变结束前,再次形变\n      this.currentChangeSpaceId = data.spaceId;\n      this.changCurSpaceArea(data);\n    },\n    // 旧版本空间移动,\n    changCurSpaceArea(data) {\n      console.log(\"当前户型的核心点\", this.curHouseObj.houseCore, this.overChange);\n      const houseCore = this.curHouseObj.houseCore.split(',');\n      const coreX = houseCore[0] | 0;\n      const coreY = houseCore[1] | 0;\n      // 根据核心点计算空间所在象限\n      this.spaces1 = [];\n      this.spaces2 = [];\n      this.spaces3 = [];\n      this.spaces4 = [];\n      let curSpace = null;\n      for (let index = 0; index < this.spaceList.length; index++) {\n        const element = this.spaceList[index];\n        if (element.centerX > coreX) {\n          // 2 3象限\n          if (element.centerY > coreY) {\n            // 2象限\n            console.log(`象限2 ${element}`);\n            element.quadrant = 2;\n            this.spaces2.push(element);\n          } else {\n            // 3象限\n            console.log(`象限3 ${element}`);\n            element.quadrant = 3;\n            this.spaces3.push(element);\n          }\n        } else {\n          // 1 4象限\n          if (element.centerY > coreY) {\n            // 1象限\n            console.log(`象限1 ${element}`);\n            element.quadrant = 1;\n            this.spaces1.push(element);\n          } else {\n            // 4象限\n            console.log(`象限4 ${element}`);\n            element.quadrant = 4;\n            this.spaces4.push(element);\n          }\n        }\n        if (element.spaceId == data.spaceId) {\n          curSpace = element;\n        }\n      }\n      console.log(\"当前space所在象限\", data.spaceId, curSpace.spaceId, curSpace.quadrant);\n      console.log(\"象限\", this.spaces1, this.spaces2, this.spaces3, this.spaces4);\n      this.calculateSpaceData(curSpace, data);\n    },\n    calculateSpaceData(curSpace, data) {\n      let that = this;\n      this.curSpaceObj = curSpace;\n\n      // 计算宽高移动数值 \n      const changeArea = data.area;\n      const isZoomIn = data.isZoomIn;\n      const oldArea = curSpace.spaceWidth / 100 * (curSpace.spaceHeight / 100);\n      const newArea = oldArea + changeArea * (data.isZoomIn ? 1 : -1);\n      const sizeScale = Math.sqrt(newArea / oldArea);\n      let newWidth = curSpace.spaceWidth * sizeScale;\n      let newHeight = curSpace.spaceHeight * sizeScale;\n      let changeWidth = Math.abs(newWidth - curSpace.spaceWidth);\n      let changeHeight = Math.abs(newHeight - curSpace.spaceHeight);\n      console.log(\"变化的尺寸\", changeWidth, changeHeight, data, curSpace.spaceWidth, curSpace.spaceHeight);\n      if (curSpace.quadrant == 1) {\n        // 默认往南 往西移动\n        this.moveSpace(curSpace, 1, 3, isZoomIn, newArea, newWidth, newHeight, changeWidth, changeHeight);\n      }\n      if (curSpace.quadrant == 2) {\n        // 默认往南 往西移动\n        this.moveSpace(curSpace, 1, 4, isZoomIn, newArea, newWidth, newHeight, changeWidth, changeHeight);\n      }\n      if (curSpace.quadrant == 3) {\n        // this.selectWall(4);\n        // \t\t// // 移动墙面\n        // this.moveSpaceWall(this.curWallDirection, isZoomIn, changeWidth);\n        // 默认往南 往东移动\n        this.moveSpace(curSpace, 2, 4, isZoomIn, newArea, newWidth, newHeight, changeWidth, changeHeight);\n      }\n      if (curSpace.quadrant == 4) {\n        // 默认往南 往西移动\n        this.moveSpace(curSpace, 2, 3, isZoomIn, newArea, newWidth, newHeight, changeWidth, changeHeight);\n      }\n      setTimeout(() => {\n        that.updataPageData();\n        that.overChange = false;\n        that.callBackFun && that.callBackFun(true);\n        that.calculateLayoutModelSize(); //重新计算家具位置\n        that.updateWallModels(); // 替换墙体模型\n      }, 4200);\n    },\n    moveSpace(curSpace, directionIndex, directionIndex01, isZoomIn, newArea, newWidth, newHeight, changeWidth, changeHeight) {\n      let that = this;\n      const wallLock = this.currWallLock(directionIndex, curSpace); //南边\n      const wallLock01 = this.currWallLock(directionIndex01, curSpace); //东边\n\n      console.log(\"移动空间\", wallLock, wallLock01);\n      if (wallLock == -1 && wallLock01 == -1) {\n        return uni.showToast({\n          title: \"空间尺寸已锁定\",\n          icon: \"none\",\n          duration: 3000\n        });\n      }\n      let changeValue = changeHeight;\n      if (wallLock == -1) {\n        if (wallLock01 == 0) {\n          directionIndex01 = directionIndex01 == 4 ? 3 : 4; // 往西移动\n        }\n\n        // 南北锁死,重新计算移动的方向\n        newWidth = newArea / (curSpace.spaceHeight / 100) * 100;\n        changeWidth = newWidth / 100 - curSpace.spaceWidth / 100;\n        changeWidth = Math.abs(changeWidth * 100);\n        directionIndex = directionIndex01; // 往东移动\n\n        changeValue = changeWidth;\n        console.log(\"高度锁死不能拉伸, 宽度变化1\", newWidth, directionIndex, curSpace.spaceWidth, curSpace.spaceHeight, changeValue);\n        that.selectWall(directionIndex);\n        that.moveSpaceWall(that.curWallDirection, isZoomIn, changeValue);\n        that.autoCreateWall(directionIndex, curSpace);\n        return;\n      } else {\n        if (wallLock == 0) {\n          directionIndex = directionIndex == 2 ? 1 : 2; // 往北边移动\n        }\n\n        if (wallLock01 == -1) {\n          // 东西锁死,重新计算移动方向\n          newHeight = newArea / (curSpace.spaceWidth / 100) * 100;\n          changeHeight = newHeight / 100 - curSpace.spaceHeight / 100;\n          changeHeight = Math.abs(changeHeight * 100);\n          changeValue = changeHeight;\n          that.selectWall(directionIndex);\n          that.moveSpaceWall(that.curWallDirection, isZoomIn, changeValue);\n          // 自动补墙逻辑\n          that.autoCreateWall(directionIndex, curSpace);\n          return;\n        }\n        if (wallLock01 == 0) {\n          directionIndex01 = directionIndex01 == 4 ? 3 : 4; // 往西移动\n        }\n\n        console.log(\"要变化的宽度\", newWidth, newHeight);\n        // 目标宽度\n        if (newHeight > curSpace.spaceHeightMax) {\n          newHeight = curSpace.spaceHeightMax;\n          changeHeight = Math.abs(newHeight - curSpace.spaceHeight);\n          // 重新计算宽度值\n          newWidth = newArea / (newHeight / 100) * 100;\n          changeWidth = (newWidth / 100 - curSpace.spaceWidth / 100) * 100;\n          console.log(\"高度达到最大值,重新计算宽度\", newWidth, newHeight, changeWidth, changeHeight);\n        }\n        if (newHeight < curSpace.spaceHeightMin) {\n          newHeight = curSpace.spaceHeightMin;\n          changeHeight = Math.abs(newHeight - curSpace.spaceHeight);\n          // 重新计算宽度值\n          newWidth = newArea / (newHeight / 100) * 100;\n          changeWidth = Math.abs((newWidth / 100 - curSpace.spaceWidth / 100) * 100);\n          console.log(\"高度达到最小值,重新计算宽度\", newWidth, newHeight, changeWidth, changeHeight);\n        }\n        if (newWidth > curSpace.spaceWidthMax) {\n          newWidth = curSpace.spaceWidthMax;\n          changeWidth = Math.abs(newWidth - curSpace.spaceWidth);\n          // 重新计算宽度值\n          newHeight = newArea / (newWidth / 100) * 100;\n          changeHeight = (newHeight / 100 - curSpace.spaceHeight / 100) * 100;\n          console.log(\"宽度达到最大值,重新计算高度\", newWidth, newHeight, changeWidth, changeHeight);\n        }\n        if (newWidth < curSpace.spaceWidthMin) {\n          newWidth = curSpace.spaceWidthMin;\n          changeWidth = Math.abs(newWidth - curSpace.spaceWidth);\n          // 重新计算宽度值\n          newHeight = newArea / (newWidth / 100) * 100;\n          changeHeight = Math.abs((newHeight / 100 - curSpace.spaceHeight / 100) * 100);\n          console.log(\"宽度达到最小值,重新计算高度\", newWidth, newHeight, changeWidth, changeHeight);\n        }\n\n        // let checkWidth = this.checkRightSpace(!isZoomIn, changeHeight, true)\n        // let checkHeight = this.checkRightSpace(!isZoomIn, changeWidth, false)\n\n        // console.log(\"达到极限值++++++++++++++\", checkWidth, checkHeight, changeWidth,changeHeight)\n        // if(!checkWidth || !checkHeight){\n        // \treturn\n        // }\n\n        if (changeHeight > 0) {\n          that.selectWall(directionIndex);\n          that.moveSpaceWall(that.curWallDirection, isZoomIn, changeHeight);\n          // 自动补墙逻辑\n          that.autoCreateWall(directionIndex, curSpace);\n        }\n        let timeout = 0;\n        if (changeWidth > 0 && changeHeight > 0) {\n          timeout = 2100;\n        }\n        console.log(\"改变尺寸\", changeWidth, changeHeight, newWidth, newHeight, timeout, directionIndex, directionIndex01, wallLock, wallLock01);\n        if (changeWidth > 0) {\n          setTimeout(() => {\n            // // 选中墙面\n            that.selectWall(directionIndex01);\n            // // 移动墙面\n            that.moveSpaceWall(that.curWallDirection, isZoomIn, changeWidth);\n            // 自动补墙逻辑\n            that.autoCreateWall(directionIndex01, curSpace);\n          }, timeout);\n        }\n      }\n    },\n    currWallLock(direction, curSpace) {\n      let curDirection = \"\";\n      let faceDirection = \"\";\n      switch (direction) {\n        case 1:\n          curDirection = \"N\";\n          faceDirection = \"S\";\n          break;\n        case 2:\n          curDirection = \"S\";\n          faceDirection = \"N\";\n          break;\n        case 3:\n          curDirection = \"W\";\n          faceDirection = \"E\";\n          break;\n        case 4:\n          curDirection = \"E\";\n          faceDirection = \"W\";\n          break;\n      }\n      const wallInfo = this.wallList.find(item => {\n        let element = JSON.parse(item.wallJson);\n        return element.spaceId == curSpace.spaceId;\n      });\n      let walls = JSON.parse(wallInfo.wallJson).wallData;\n      const wall = walls.find(item => {\n        // 当前墙面锁定\n        return item.wallDirection == curDirection && item.isLocked == \"true\";\n      });\n      const faceWall = walls.find(item => {\n        // 对面墙面锁定\n        return item.wallDirection == faceDirection && item.isLocked == \"true\";\n      });\n      if (wall) {\n        if (faceWall) {\n          return -1; // 当前对面同时锁定\n        }\n\n        return 0; // 当前锁定\n      } else {\n        return 1; // 不锁定,可以移动\n      }\n    },\n\n    checkRightSpace(isZoomIn, changeValue, isNS) {\n      let n = isZoomIn ? 1 : -1;\n      let l = isZoomIn ? -1 : 1;\n      let result = true;\n      let space = null;\n      for (let index = 0; index < this.leftSpaces.length; index++) {\n        const element = this.leftSpaces[index];\n        let newWidth = element.spaceWidth + l * changeValue;\n        let newHeight = element.spaceHeight + l * changeValue;\n        console.log(\"关联左空间排查\", isZoomIn, changeValue, isNS, newWidth, newHeight);\n        if (isNS) {\n          if (newHeight > element.spaceHeightMax || newHeight < element.spaceHeightMin) {\n            result = false;\n            space = element;\n            break;\n          }\n        } else {\n          if (newWidth > element.spaceWidthMax || newWidth < element.spaceWidthMin) {\n            result = false;\n            space = element;\n            break;\n          }\n        }\n      }\n      for (let index = 0; index < this.rightSpaces.length; index++) {\n        const element = this.rightSpaces[index];\n        let newWidth = element.spaceWidth + n * changeValue;\n        let newHeight = element.spaceHeight + n * changeValue;\n        console.log(\"关联右空间排查\", isZoomIn, changeValue, isNS, newWidth, newHeight);\n        if (isNS) {\n          if (newHeight > element.spaceHeightMax || newHeight < element.spaceHeightMin) {\n            result = false;\n            space = element;\n            break;\n          }\n        } else {\n          if (newWidth > element.spaceWidthMax || newWidth < element.spaceWidthMin) {\n            result = false;\n            space = element;\n            break;\n          }\n        }\n      }\n      console.log(\"空间排查\", this.leftSpaces, this.rightSpaces, result, space);\n      if (!result) {\n        uni.showToast({\n          title: `关联空间[${space && space.spaceName || ''}]达到极限值`,\n          icon: \"none\",\n          duration: 3000\n        });\n      }\n      return result;\n    },\n    checkSpaceSize(isZoomIn, changeWidth, changeHeight) {\n      console.log(\"检查尺寸\", isZoomIn, changeWidth, changeHeight, this.leftSpaces, this.rightSpaces);\n      for (let index = 0; index < this.leftSpaces.length; index++) {\n        const element = this.leftSpaces[index];\n        if (isZoomIn) {\n          if (element.spaceWidth + changeWidth > element.spaceWidthMax || element.spaceHeight + changeHeight > element.spaceHeightMax) {\n            console.log(\"++++++++++移动空间达到极大值1\", element.spaceId, element.spaceWidth + changeWidth > element.spaceWidthMax, element.spaceHeight + changeHeight > element.spaceHeightMax);\n            console.log(\"++++++++++移动空间达到极大值宽\", element.spaceWidth, changeWidth, element.spaceWidthMax);\n            console.log(\"++++++++++移动空间达到极大值高\", element.spaceHeight, changeHeight, element.spaceHeightMax);\n            return false;\n          }\n        } else {\n          if (element.spaceWidth - changeWidth < element.spaceWidthMin || element.spaceHeight - changeHeight < element.spaceHeightMin) {\n            console.log(\"++++++++++移动空间达到极小值2\", element.spaceId);\n            console.log(\"++++++++++移动空间达到极大值宽\", element.spaceWidth, changeWidth, element.spaceWidthMin);\n            console.log(\"++++++++++移动空间达到极大值高\", element.spaceHeight, changeHeight, element.spaceHeightMin);\n            return false;\n          }\n        }\n      }\n      for (let index = 0; index < this.rightSpaces.length; index++) {\n        const element = this.rightSpaces[index];\n        if (!isZoomIn) {\n          if (element.spaceWidth - changeWidth < element.spaceWidthMin || element.spaceHeight - changeHeight < element.spaceHeightMin) {\n            console.log(\"++++++++++其他空间达到极小值4\", element.spaceId);\n            console.log(\"++++++++++移动空间达到极大值宽\", element.spaceWidth, changeWidth, element.spaceWidthMin);\n            console.log(\"++++++++++移动空间达到极大值高\", element.spaceHeight, changeHeight, element.spaceHeightMin);\n            return false;\n          }\n        } else {\n          if (element.spaceWidth + changeWidth > element.spaceWidthMax || element.spaceHeight + changeHeight > element.spaceHeightMax) {\n            console.log(\"++++++++++其他空间达到极大值3\", element.spaceId);\n            console.log(\"++++++++++移动空间达到极大值宽\", element.spaceWidth, changeWidth, element.spaceWidthMax);\n            console.log(\"++++++++++移动空间达到极大值高\", element.spaceHeight, changeHeight, element.spaceHeightMax);\n            return false;\n          }\n        }\n      }\n      return true;\n    },\n    // 新版本空间移动计算\n    changeCurSpaceSize(curSpace, changeArea, isZoomIn) {\n      // 计算当前空间的变化\n      // 1.原先面积\n      const oldArea = curSpace.spaceWidth / 100 * (curSpace.spaceHeight / 100);\n      const newArea = oldArea + changeArea * isZoomIn;\n      const sizeScale = Math.sqrt(newArea / oldArea);\n      console.log(`新面积:${newArea} 老面积:${oldArea}缩放比例:${sizeScale} 改变的面积:${changeArea} 是否放大:${isZoomIn} 中心点:${curSpace.centerX} ${curSpace.centerX}`);\n      console.log(`改变前:尺寸:${curSpace.spaceWidth} ${curSpace.spaceHeight} 中心点:${curSpace.centerX} ${curSpace.centerY}`);\n      curSpace.toScaleX = curSpace.spaceWidth * sizeScale / 300;\n      curSpace.toScaleZ = curSpace.spaceHeight * sizeScale / 300;\n      if (this.minspace1 && this.minspace1.spaceId == curSpace.spaceId) {\n        curSpace.toPx = (curSpace.spaceWidth * sizeScale - curSpace.spaceWidth) / 2 / 100 * -1;\n        curSpace.toPz = (curSpace.spaceHeight * sizeScale - curSpace.spaceHeight) / 2 / 100 * -1;\n        console.log(\"XXXXXXXX-计算空间变化信息1\", curSpace.toScaleX, curSpace.toScaleZ, curSpace.toPx, curSpace.toPz);\n      } else if (this.minspace2 && this.minspace2.spaceId == curSpace.spaceId) {\n        curSpace.toPx = (curSpace.spaceWidth * sizeScale - curSpace.spaceWidth) / 2 / 100;\n        curSpace.toPz = (curSpace.spaceHeight * sizeScale - curSpace.spaceHeight) / 2 / 100 * -1;\n        console.log(\"XXXXXXXX-计算空间变化信息2\", curSpace.toScaleX, curSpace.toScaleZ, curSpace.toPx, curSpace.toPz);\n      } else if (this.minspace3 && this.minspace3.spaceId == curSpace.spaceId) {\n        curSpace.toPx = (curSpace.spaceWidth * sizeScale - curSpace.spaceWidth) / 2 / 100;\n        curSpace.toPz = (curSpace.spaceHeight * sizeScale - curSpace.spaceHeight) / 2 / 100;\n        console.log(\"XXXXXXXX-计算空间变化信息3\", curSpace.toScaleX, curSpace.toScaleZ, curSpace.toPx, curSpace.toPz);\n      } else if (this.minspace4 && this.minspace4.spaceId == curSpace.spaceId) {\n        curSpace.toPx = (curSpace.spaceWidth * sizeScale - curSpace.spaceWidth) / 2 / 100 * -1;\n        curSpace.toPz = (curSpace.spaceHeight * sizeScale - curSpace.spaceHeight) / 2 / 100;\n        console.log(\"XXXXXXXX-计算空间变化信息4\", curSpace.toScaleX, curSpace.toScaleZ, curSpace.toPx, curSpace.toPz);\n      } else {\n        return;\n      }\n\n      // 更新数据:\n\n      curSpace.spaceWidth = curSpace.spaceWidth * sizeScale;\n      curSpace.spaceHeight = curSpace.spaceHeight * sizeScale;\n      curSpace.centerX = curSpace.centerX + curSpace.toPx * 100;\n      curSpace.centerY = curSpace.centerY + curSpace.toPz * 100;\n      const spaceIndex = this.spaceList.findIndex(item => {\n        return item.spaceId == curSpace.spaceId;\n      });\n      if (spaceIndex != -1) {\n        this.spaceList[spaceIndex] = curSpace;\n      }\n      console.log(`改变后:尺寸:${curSpace.spaceWidth} ${curSpace.spaceHeight} 中心点:${curSpace.centerX} ${curSpace.centerY} `, curSpace.toPx, curSpace.toPz);\n    },\n    findxxSpace(manSpace, changeArea, xiangxian, isZoomIn) {\n      if (xiangxian == 1) {\n        const spaceE = this.spaces1.find(item => {\n          return item.spaceId == manSpace.eastId;\n        });\n        const spaceS = this.spaces1.find(item => {\n          return item.spaceId == manSpace.southId;\n        });\n        const oldArea = manSpace.spaceWidth / 100 * (manSpace.spaceHeight / 100);\n        const newArea = oldArea + changeArea * isZoomIn;\n        const sizeScale = Math.sqrt(newArea / oldArea);\n        manSpace.toScaleX = manSpace.spaceWidth * sizeScale / 300;\n        manSpace.toScaleZ = manSpace.spaceHeight * sizeScale / 300;\n        if (spaceE) {\n          manSpace.toPx = (manSpace.spaceWidth * sizeScale - manSpace.spaceWidth) / 2 / 100 * -1 + spaceE.toPx * 2;\n          console.log(\"XXXXXXXX东边有空间\", manSpace.spaceId, spaceE.toPx);\n        } else {\n          manSpace.toPx = (manSpace.spaceWidth * sizeScale - manSpace.spaceWidth) / 2 / 100 * -1;\n          console.log(\"XXXXXXXX东边没空间\", manSpace.spaceId);\n        }\n        if (spaceS) {\n          manSpace.toPz = (manSpace.spaceHeight * sizeScale - manSpace.spaceHeight) / 2 / 100 * -1 + spaceS.toPz * 2;\n          console.log(\"XXXXXXXX南边有空间\", manSpace.spaceId, spaceS.toPz);\n        } else {\n          manSpace.toPz = (manSpace.spaceHeight * sizeScale - manSpace.spaceHeight) / 2 / 100 * -1;\n          console.log(\"XXXXXXXX南边没空间\", manSpace.spaceId);\n        }\n        console.log(\"XXXXXXXX-前象限1的其他空间\", manSpace.spaceId, manSpace.spaceWidth, manSpace.spaceHeight, manSpace.centerX, manSpace.centerY, manSpace.toPx);\n        manSpace.spaceWidth = manSpace.spaceWidth * sizeScale;\n        manSpace.spaceHeight = manSpace.spaceHeight * sizeScale;\n        manSpace.centerX += manSpace.toPx * 100;\n        manSpace.centerY += manSpace.toPz * 100;\n        console.log(\"XXXXXXXX-后象限1的其他空间\", manSpace.spaceId, manSpace.spaceWidth, manSpace.spaceHeight, manSpace.centerX, manSpace.centerY);\n        const spaceIndex = this.spaceList.findIndex(item => {\n          return item.spaceId == manSpace.spaceId;\n        });\n        if (spaceIndex != -1) {\n          this.spaceList[spaceIndex] = manSpace;\n        }\n        const spacesIndex = this.spaces1.findIndex(item => {\n          return item.spaceId == manSpace.spaceId;\n        });\n        if (spacesIndex != -1) {\n          this.spaces1[spacesIndex] = manSpace;\n        }\n      }\n      if (xiangxian == 2) {\n        const spaceW = this.spaces2.find(item => {\n          return item.spaceId == manSpace.westId;\n        });\n        const spaceS = this.spaces2.find(item => {\n          return item.spaceId == manSpace.southId;\n        });\n        const oldArea = manSpace.spaceWidth / 100 * (manSpace.spaceHeight / 100);\n        const newArea = oldArea + changeArea * isZoomIn;\n        const sizeScale = Math.sqrt(newArea / oldArea);\n        manSpace.toScaleX = manSpace.spaceWidth * sizeScale / 300;\n        manSpace.toScaleZ = manSpace.spaceHeight * sizeScale / 300;\n        if (spaceW) {\n          manSpace.toPx = (manSpace.spaceWidth * sizeScale - manSpace.spaceWidth) / 2 / 100 + spaceW.toPx * 2;\n          console.log(\"XXXXXXXX西边有空间\", manSpace.spaceId, spaceW.toPx);\n        } else {\n          manSpace.toPx = (manSpace.spaceWidth * sizeScale - manSpace.spaceWidth) / 2 / 100;\n          console.log(\"XXXXXXXX西边没空间\", manSpace.spaceId);\n        }\n        if (spaceS) {\n          manSpace.toPz = (manSpace.spaceHeight * sizeScale - manSpace.spaceHeight) / 2 / 100 * -1 + spaceS.toPz * 2;\n          console.log(\"XXXXXXXX南边有空间\", manSpace.spaceId, spaceS.toPz);\n        } else {\n          manSpace.toPz = (manSpace.spaceHeight * sizeScale - manSpace.spaceHeight) / 2 / 100 * -1;\n          console.log(\"XXXXXXXX南边没空间\", manSpace.spaceId);\n        }\n        console.log(\"XXXXXXXX-前象限2的其他空间\", manSpace.spaceId, manSpace.spaceWidth, manSpace.spaceHeight, manSpace.centerX, manSpace.centerY, manSpace.toPx);\n        manSpace.spaceWidth = manSpace.spaceWidth * sizeScale;\n        manSpace.spaceHeight = manSpace.spaceHeight * sizeScale;\n        manSpace.centerX += manSpace.toPx * 100;\n        manSpace.centerY += manSpace.toPz * 100;\n        console.log(\"XXXXXXXX-后象限2的其他空间\", manSpace.spaceId, manSpace.spaceWidth, manSpace.spaceHeight, manSpace.centerX, manSpace.centerY);\n        const spaceIndex = this.spaceList.findIndex(item => {\n          return item.spaceId == manSpace.spaceId;\n        });\n        if (spaceIndex != -1) {\n          this.spaceList[spaceIndex] = manSpace;\n        }\n        const spacesIndex = this.spaces2.findIndex(item => {\n          return item.spaceId == manSpace.spaceId;\n        });\n        if (spacesIndex != -1) {\n          this.spaces2[spacesIndex] = manSpace;\n        }\n      }\n      if (xiangxian == 3) {\n        const spaceW = this.spaces3.find(item => {\n          return item.spaceId == manSpace.westId;\n        });\n        const spaceN = this.spaces3.find(item => {\n          return item.spaceId == manSpace.northId;\n        });\n        const oldArea = manSpace.spaceWidth / 100 * (manSpace.spaceHeight / 100);\n        const newArea = oldArea + changeArea * isZoomIn;\n        const sizeScale = Math.sqrt(newArea / oldArea);\n        manSpace.toScaleX = manSpace.spaceWidth * sizeScale / 300;\n        manSpace.toScaleZ = manSpace.spaceHeight * sizeScale / 300;\n        if (spaceW) {\n          manSpace.toPx = (manSpace.spaceWidth * sizeScale - manSpace.spaceWidth) / 2 / 100 + spaceW.toPx * 2;\n          console.log(\"XXXXXXXX西边有空间\", manSpace.spaceId, spaceW.toPx);\n        } else {\n          manSpace.toPx = (manSpace.spaceWidth * sizeScale - manSpace.spaceWidth) / 2 / 100;\n          console.log(\"XXXXXXXX西边没空间\", manSpace.spaceId);\n        }\n        if (spaceN) {\n          manSpace.toPz = (manSpace.spaceHeight * sizeScale - manSpace.spaceHeight) / 2 / 100 + spaceN.toPz * 2;\n          console.log(\"XXXXXXXX北边有空间\", manSpace.spaceId, spaceN.toPz);\n        } else {\n          manSpace.toPz = (manSpace.spaceHeight * sizeScale - manSpace.spaceHeight) / 2 / 100;\n          console.log(\"XXXXXXXX北边没空间\", manSpace.spaceId);\n        }\n        console.log(\"XXXXXXXX-前象限3的其他空间\", manSpace.spaceId, manSpace.spaceWidth, manSpace.spaceHeight, manSpace.centerX, manSpace.centerY, manSpace.toPx);\n        manSpace.spaceWidth = manSpace.spaceWidth * sizeScale;\n        manSpace.spaceHeight = manSpace.spaceHeight * sizeScale;\n        manSpace.centerX += manSpace.toPx * 100;\n        manSpace.centerY += manSpace.toPz * 100;\n        console.log(\"XXXXXXXX-后象限3的其他空间\", manSpace.spaceId, manSpace.spaceWidth, manSpace.spaceHeight, manSpace.centerX, manSpace.centerY);\n        const spaceIndex = this.spaceList.findIndex(item => {\n          return item.spaceId == manSpace.spaceId;\n        });\n        if (spaceIndex != -1) {\n          this.spaceList[spaceIndex] = manSpace;\n        }\n        const spacesIndex = this.spaces3.findIndex(item => {\n          return item.spaceId == manSpace.spaceId;\n        });\n        if (spacesIndex != -1) {\n          this.spaces3[spacesIndex] = manSpace;\n        }\n      }\n      if (xiangxian == 4) {\n        const spaceE = this.spaces4.find(item => {\n          return item.spaceId == manSpace.eastId;\n        });\n        const spaceN = this.spaces4.find(item => {\n          return item.spaceId == manSpace.northId;\n        });\n        const oldArea = manSpace.spaceWidth / 100 * (manSpace.spaceHeight / 100);\n        const newArea = oldArea + changeArea * isZoomIn;\n        const sizeScale = Math.sqrt(newArea / oldArea);\n        manSpace.toScaleX = manSpace.spaceWidth * sizeScale / 300;\n        manSpace.toScaleZ = manSpace.spaceHeight * sizeScale / 300;\n        if (spaceE) {\n          manSpace.toPx = (manSpace.spaceWidth * sizeScale - manSpace.spaceWidth) / 2 / 100 * -1 + spaceE.toPx * 2;\n          console.log(\"XXXXXXXX东边有空间\", manSpace.spaceId, spaceE.toPx);\n        } else {\n          manSpace.toPx = (manSpace.spaceWidth * sizeScale - manSpace.spaceWidth) / 2 / 100 * -1;\n          console.log(\"XXXXXXXX东边没空间\", manSpace.spaceId);\n        }\n        if (spaceN) {\n          manSpace.toPz = (manSpace.spaceHeight * sizeScale - manSpace.spaceHeight) / 2 / 100 + spaceN.toPz * 2;\n          console.log(\"XXXXXXXX北边有空间\", manSpace.spaceId, spaceN.toPz);\n        } else {\n          manSpace.toPz = (manSpace.spaceHeight * sizeScale - manSpace.spaceHeight) / 2 / 100;\n          console.log(\"XXXXXXXX北边没空间\", manSpace.spaceId);\n        }\n        console.log(\"XXXXXXXX-前象限4的其他空间\", manSpace.spaceId, manSpace.spaceWidth, manSpace.spaceHeight, manSpace.centerX, manSpace.centerY, manSpace.toPx);\n        manSpace.spaceWidth = manSpace.spaceWidth * sizeScale;\n        manSpace.spaceHeight = manSpace.spaceHeight * sizeScale;\n        manSpace.centerX += manSpace.toPx * 100;\n        manSpace.centerY += manSpace.toPz * 100;\n        console.log(\"XXXXXXXX-后象限4的其他空间\", manSpace.spaceId, manSpace.spaceWidth, manSpace.spaceHeight, manSpace.centerX, manSpace.centerY);\n        const spaceIndex = this.spaceList.findIndex(item => {\n          return item.spaceId == manSpace.spaceId;\n        });\n        if (spaceIndex != -1) {\n          this.spaceList[spaceIndex] = manSpace;\n        }\n        const spacesIndex = this.spaces4.findIndex(item => {\n          return item.spaceId == manSpace.spaceId;\n        });\n        if (spacesIndex != -1) {\n          this.spaces4[spacesIndex] = manSpace;\n        }\n      }\n    },\n    //空间面积等变更后-同步更新其他数据对象\n    updataPageData() {\n      let str = JSON.stringify(this.spaceList);\n      //更新当前空间对象\n      this.curHouseObj.houseJson = str;\n      //更新提交的数据\n      let layoutStruct = this.curLayoutStruct.find(it => {\n        return it.houseFloor == this.curHouseFloor;\n      });\n      layoutStruct.houseJson = str;\n      this.currentChangeSpaceId = null; //变化结束后\n      console.warn(\"***curLayoutStruct-updataPageData***\", this.curHouseFloor, this.curHouseObj, layoutStruct);\n    },\n    //户型大类发生了变更\n    curHouseTypeChange(item) {\n      this.curHouseType = item.spaceStructure; //当前选中的户型类型\n      this.curHouseName = item.spaceName; //当前选中的户型类型名称\n      //获取当前户型大类下的所有户型信息-用于用户提交\n      this.curLayoutStruct = this.houseList.find(it => it.spaceStructure == this.curHouseType).layoutStruct;\n      console.warn(\"***curLayoutStruct***\", this.curLayoutStruct);\n    },\n    //户型楼层发生了变更\n    curHouseFloorChange(item) {\n      let that = this;\n      this.curHouseFloor = item.houseFloor; //当前选中的户型楼层\n      this.curHouseObj = item; //更新当前具体的户型数据\n      this.id = this.curHouseObj.id;\n      // 遍历场景中的所有子对象,找到类型为Mesh的对象并移除\n      let deleList = that.scene && that.scene.children.filter(object => {\n        if (object.userType == \"mesh\" || object.userType == \"layoutMesh\") {\n          return object;\n        }\n      });\n      // console.warn(\"***deleList***\",deleList)\n      if (deleList && deleList.length > 0) {\n        that.showLables = false; //隐藏lable\n        that.scene.remove(...deleList);\n      }\n      this.gltfWalls = [];\n      this.gltfSpaces = [];\n      this.instancedMeshList = [];\n      this.instancedSpaceMeshList = [];\n      this.lableItem = [];\n      this.gltfLayouts = [];\n      this.instancedFurList = [];\n      this.wallList = [];\n      //恢复初始视角\n      this.camera.position.set(that.cameraStarPosition.x, that.cameraStarPosition.y, that.cameraStarPosition.z);\n      // this.controls.target = new THREE.Vector3( that.controlStarPosition.x, that.controlStarPosition.y, that.controlStarPosition.z );;\n      this.camera.lookAt(that.controlStarPosition.x, that.controlStarPosition.y, that.controlStarPosition.z);\n      setTimeout(() => {\n        that.loadSpace();\n      }, 100);\n      console.warn(\"***curHouseObj***\", this.curHouseObj, that.postAIData);\n      this.navbar.title = this.curHouseObj.name + \"  \" + this.curHouseObj.houseArea + \"㎡\";\n    },\n    async getInitData() {\n      let parmas = {\n        childLayout: this.childLayout || 0,\n        houseId: this.houseId\n      };\n      const res = await requestConfig('getHouseTypeSpaceDetailsV2', parmas, true);\n      console.log(\"户型详情数据:\", res);\n      if (res.success && res.list) {\n        let list = res.list || [];\n        list && list.forEach((single, index) => {\n          single.layoutStruct.forEach(item => {\n            if (item.houseJson) {\n              let spaceList = JSON.parse(item.houseJson);\n              // 交换centerX, centerY\n              for (let index = 0; index < spaceList.length; index++) {\n                var element = spaceList[index];\n                const {\n                  centerX,\n                  centerY\n                } = element;\n                element.centerX = centerY;\n                element.centerY = centerX;\n              }\n              item.houseJson = JSON.stringify(spaceList);\n            }\n          });\n        });\n        console.log(\"户型详情列表: \", list);\n        this.houseList = list; //数据会同步到组件中-进而反馈更新页面数据\n        this.curHouseObj = this.houseList[0].layoutStruct[0];\n        // 加载户型\n        this.loadSpace();\n      }\n    },\n    onMouseMove(e) {\n      return false;\n    },\n    webgl_touch(e) {\n      const web_e = Event.fix(e);\n      window.dispatchEvent(web_e);\n      let web_e2 = Object.assign(e, web_e);\n      document.dispatchEvent(web_e2);\n      this.canvas.dispatchEvent(web_e);\n    },\n    goRoam1(spaceId) {\n      let gltf = this.lableItem.find(it => it.spaceId == spaceId);\n      if (gltf) {\n        this.goRoam(gltf);\n      }\n    },\n    //物体漫游-切换页面的方式进入\n    goRoam(gltf) {\n      // console.log('是否漫游',this.isManyou ? '漫游' : '俯视',isManyou,this.repeatFlag);\n      if (gltf.spaceType == 13) {\n        //楼梯不能跳转\n        return false;\n      }\n      let spaceId = gltf.spaceId; //具体的空间Id\n      let data = {\n        spaceId: spaceId,\n        curHouseObj: this.curHouseObj\n      };\n      if (this.repeatFlag) {\n        return false;\n      }\n      this.repeatFlag = true;\n      // uni.navigateTo({\n      //     url: '/webgl/pages/webgl_rxdz_roam/webgl_rxdz_roam?houseId='+this.houseId,\n      // \tsuccess: (res)=> {\n      // \t\t// 通过eventChannel向被打开页面传送数据\n      // \t\tres.eventChannel.emit('acceptDataFromOpenerPage', {\n      // \t\t\tdata: data\n      // \t\t})\n      // \t\tthis.showLables = true;\n      // \t},\n      //     fail: (res) =>{\n      //         console.log(res)\n      //     },\n      // \tcomplete: (res) => {\n      // \t\tthis.repeatFlag = false;\n      // \t}\n      // });\n    },\n\n    //obj 物体对象,type 是否改变颜色\n    moveMeshCenter(obj, type) {\n      console.warn(\"**moveMeshCenter***\", obj);\n      if (obj && this.gltfSpaces && this.gltfSpaces.length > 0) {\n        this.moveMeshCenterHandle(obj, type);\n      }\n    },\n    // 绘制地板\n    async loadSpace() {\n      this.spaceList = [];\n      this.wallIds = [];\n      this.layoutIds = [];\n      this.gltfSpaces = [];\n      this.curWallArr = [];\n      this.progress = 0;\n      if (!this.curHouseObj) {\n        //减少重复请求\n        return false;\n      }\n      let type = [];\n      if (this.curHouseObj) {\n        const spaceDetail = this.curHouseObj;\n        const spaceList = JSON.parse(spaceDetail.houseJson);\n        // 交换centerX, centerY;上一页面已经处理过了,这里不在需要处理\n        for (let index = 0; index < spaceList.length; index++) {\n          var element = spaceList[index];\n          // const centerX = JSON.parse(JSON.stringify(element.centerX))\n          // element.centerX = element.centerY;\n          // element.centerY = centerX;\n          element.wallMoveValue = \"[0,0,0,0]\";\n          this.spaceList.push(element);\n          this.wallIds.push(element.wallId);\n          this.layoutIds.push(element.layoutId);\n          type.push(element.spaceType);\n          if (element.isSelected) {\n            // 默认选中空间\n            this.curSpaceObj = element;\n          }\n        }\n        if (!this.curSpaceObj && this.spaceList.length > 0) {\n          this.curSpaceObj = this.spaceList[0];\n        }\n      }\n      console.log(\"该户型空间数据:\", this.spaceList, this.layoutIds, type);\n      console.log(\"当前选中的空间:\", this.curSpaceObj, this.curHouseObj);\n      this.loaderSpaceArr(this.spaceList);\n      // 绘制墙体\n      this.getHouseTypeSpaceWalls();\n      this.getOverallArrangementDetailsList(2);\n    },\n    // 添加文字标签\n    addWordLabel() {\n      if (!this.gltfSpaces || this.gltfSpaces.length <= 0) {\n        return false;\n      }\n      // 方案二\n      this.lableItem = [];\n      this.gltfSpaces.forEach((cube, index) => {\n        // 给地板加上空间类型标注, 空间为链接空间的不显示\n        if (cube.spaceName && !cube.isSizeLock) {\n          let spaceIndex = this.spaceList.filter(it => it.spaceName && !it.isSizeLock).findIndex(item => item.spaceId == cube.spaceId);\n          this.lableItem.push({\n            text: cube.spaceName,\n            spaceId: cube.spaceId,\n            spaceType: cube.spaceType,\n            transform: '',\n            spaceIndex: spaceIndex,\n            cubeIndex: index\n          });\n        }\n      });\n    },\n    // 获取墙体数据\n    async getHouseTypeSpaceWalls() {\n      let data = {\n        id: this.wallIds\n      };\n      const res = await requestConfig('getHouseTypeSpaceWalls', data, true);\n      console.log(\"墙体数据:\", res.list);\n      let wallList = [];\n      if (res.success) {\n        wallList = this.wallList = res.list;\n      }\n      let wallArr = [];\n      for (let index = 0; index < wallList.length; index++) {\n        //每个空间对应一个数据\n        let element = JSON.parse(wallList[index].wallJson);\n        let space = this.spaceList.find(space => space.spaceId == element.spaceId);\n        this.computeWallHandleOld(space, element); //提前计算\n        for (let i = 0; i < element.wallData.length; i++) {\n          //对应空间里面的4个方向的墙壁数据\n          let wallData = element.wallData[i];\n          //对应方向的墙壁的墙体模型数据列表,每一面墙可能有多个模型\n          for (let j = 0; j < wallData.wallModelData.length; j++) {\n            let wallModelData = wallData.wallModelData[j];\n            wallArr.push({\n              spaceId: element.spaceId,\n              wallModelData: wallModelData,\n              wallDirection: wallData.wallDirection\n            });\n            // console.log(\"wallModelData\", element,wallData.wallDirection, wallModelData.wallType );\n          }\n        }\n      }\n\n      this.loadSpaceObjWalls(wallArr, wallList);\n    },\n    // 加载单个空间墙体资源\n    async loadSpaceObjWalls(wallArr, wallList) {\n      // 加载远程墙体模型资源\n      let startTime = new Date().getTime();\n      // console.log(\"wallArr:\", wallArr)\n      let promise_list = [];\n      let realWallArr = this.preWallData(wallArr);\n      let arrLength = realWallArr.length;\n      realWallArr && realWallArr.forEach((item, index) => {\n        promise_list.push(new Promise((resolve, reject) => {\n          this.loadWallModels(item, wallList, arrLength, resolve);\n        }));\n      });\n      Promise.all(promise_list).then(() => {\n        let endTime = new Date().getTime();\n        console.log(\"模型全部加载完成,时间:\", endTime - startTime);\n        this.progress = 100;\n        // this.$refs.myLoading.showLoading(\"加载中...\" + this.progress + '%')\n        // 设置空间数组的墙体信息\n        this.setSpaceListWallInfo();\n        this.$nextTick(() => {\n          this.moveMeshCenter(this.curSpaceObj);\n          // this.myLoadingStatus = false;\n          // this.$refs.myLoading.hideLoading();\n          // setTimeout(()=>{\n          // \tthis.addWordLabel(); // 添加文字标签\n          // }, 610);\n          // 设置空间数组的墙体信息 \n          // 绘制布局\n          // this.getOverallArrangementDetailsList();\n        });\n      });\n    },\n\n    // 选择墙体\n    selectedWall(direction) {\n      if (!direction || direction == \"\") {\n        return;\n      }\n      console.log(`当前空间的id:${this.curSpaceObj.spaceId};墙面方向:${direction};宽度:${this.curSpaceObj.spaceWidth};宽度:${this.curSpaceObj.spaceHeight}`);\n      console.log(\"当前空间的:\", this.curSpaceObj);\n      this.leftSpaces = [];\n      this.rightSpaces = [];\n      this.tempSpaceList = JSON.parse(JSON.stringify(this.spaceList));\n      // 计算关联空间\n      this.findLeftRelateSpace(this.curSpaceObj, direction);\n      console.log(\"空间数组:\", this.leftSpaces, this.rightSpaces);\n\n      // 计算墙体的可移动范围\n      var min = 0;\n      var max = 300;\n      // 计算最小值\n      for (let index = 0; index < this.leftSpaces.length; index++) {\n        const element = this.leftSpaces[index];\n        console.log(\"左边空间数据:\", element);\n        var spaceMoveNW = element.spaceWidth;\n        var spaceMoveSW = element.spaceWidth;\n        var spaceMoveEH = element.spaceHeight;\n        var spaceMoveWH = element.spaceHeight;\n        var curSpaceWall = [];\n        for (let index = 0; index < this.gltfWalls.length; index++) {\n          const wall = this.gltfWalls[index];\n          if (element.spaceId == wall.spaceId && wall.wallDirection != direction) {\n            curSpaceWall.push(wall);\n            if ((direction == \"W\" || direction == \"E\") && wall.wallDirection != direction) {\n              if (wall.wallDirection == \"N\") {\n                spaceMoveNW -= wall.wallModelData.wallWidth;\n                console.log(\"北边墙:\", spaceMoveNW, wall.wallModelData.wallWidth, wall.id);\n              }\n              if (wall.wallDirection == \"S\") {\n                spaceMoveSW -= wall.wallModelData.wallWidth;\n                console.log(\"南边墙:\", spaceMoveSW, wall.wallModelData.wallWidth, wall.id);\n              }\n              this.curWallValue = Math.floor(Math.min(Math.min(spaceMoveNW, spaceMoveSW), this.curWallValue));\n            }\n            if ((direction == \"N\" || direction == \"S\") && wall.wallDirection != direction) {\n              if (wall.wallDirection == \"E\") {\n                spaceMoveEH -= wall.wallModelData.wallWidth;\n                console.log(\"东边墙:\", spaceMoveNW, wall.wallModelData.wallWidth, wall.id);\n              }\n              if (wall.wallDirection == \"W\") {\n                spaceMoveWH -= wall.wallModelData.wallWidth;\n                console.log(\"西边墙:\", spaceMoveSW, wall.wallModelData.wallWidth, wall.id);\n              }\n              this.curWallValue = Math.floor(Math.min(Math.min(spaceMoveEH, spaceMoveWH), this.curWallValue));\n            }\n          }\n        }\n\n        // 排序墙体数据\n        curSpaceWall.sort(function (a, b) {\n          return a.wallModelData.id - b.wallModelData.id;\n        });\n        curSpaceWall.sort(function (a, b) {\n          return a.wallDirection.localeCompare(b.wallDirection);\n        });\n        console.log(\"墙体模型:\", curSpaceWall, spaceMoveNW, spaceMoveSW);\n        console.log(\"可缩小的最小值:\", Math.floor(Math.min(spaceMoveNW, spaceMoveSW)));\n        if ((direction == \"W\" || direction == \"E\") && element.spaceWidth == this.curWallValue) {\n          this.curWallValue = 149;\n        }\n        if ((direction == \"N\" || direction == \"S\") && element.spaceHeight == this.curWallValue) {\n          this.curWallValue = 149;\n        }\n        // this.curWallValue = Math.floor(Math.min(spaceMoveNW, spaceMoveSW));\n      }\n\n      // 计算最大值\n\n      for (let index = 0; index < this.rightSpaces.length; index++) {\n        const element = this.rightSpaces[index];\n        console.log(\"右边空间数据:\", element);\n        var spaceMoveNW = element.spaceWidth;\n        var spaceMoveSW = element.spaceWidth;\n        var spaceMoveEH = element.spaceHeight;\n        var spaceMoveWH = element.spaceHeight;\n        var curSpaceWall = [];\n        for (let index = 0; index < this.gltfWalls.length; index++) {\n          const wall = this.gltfWalls[index];\n          if (element.spaceId == wall.spaceId && wall.wallDirection != direction) {\n            curSpaceWall.push(wall);\n            if ((direction == \"W\" || direction == \"E\") && wall.wallDirection != direction) {\n              if (wall.wallDirection == \"N\") {\n                spaceMoveNW -= wall.wallModelData.wallWidth;\n                console.log(\"北边墙:\", spaceMoveNW, wall.wallModelData.wallWidth, wall.id);\n              }\n              if (wall.wallDirection == \"S\") {\n                spaceMoveSW -= wall.wallModelData.wallWidth;\n                console.log(\"南边墙:\", spaceMoveSW, wall.wallModelData.wallWidth, wall.id);\n              }\n              this.curWallMaxValue = Math.floor(Math.min(spaceMoveNW, spaceMoveSW)) + this.curWallValue;\n            }\n            if ((direction == \"N\" || direction == \"S\") && wall.wallDirection != direction) {\n              if (wall.wallDirection == \"E\") {\n                spaceMoveEH -= wall.wallModelData.wallWidth;\n                console.log(\"东边墙:\", spaceMoveNW, wall.wallModelData.wallWidth, wall.id);\n              }\n              if (wall.wallDirection == \"W\") {\n                spaceMoveWH -= wall.wallModelData.wallWidth;\n                console.log(\"西边墙:\", spaceMoveSW, wall.wallModelData.wallWidth, wall.id);\n              }\n              this.curWallMaxValue = Math.floor(Math.min(spaceMoveEH, spaceMoveWH)) + this.curWallValue;\n            }\n          }\n        }\n\n        // 排序墙体数据\n        curSpaceWall.sort(function (a, b) {\n          return a.wallModelData.id - b.wallModelData.id;\n        });\n        curSpaceWall.sort(function (a, b) {\n          return a.wallDirection.localeCompare(b.wallDirection);\n        });\n        console.log(\"墙体模型:\", curSpaceWall, spaceMoveNW, spaceMoveSW);\n        console.log(\"可缩小的最小值:\", Math.floor(Math.min(spaceMoveNW, spaceMoveSW)));\n      }\n      console.log(`当前墙面的最大值:${this.curWallMaxValue}, 最小值:${this.curWallValue}`);\n    },\n    // 递归寻找左边->右边关联空间\n    findLeftRelateSpace(spaceObj, direction) {\n      const {\n        eastId,\n        westId,\n        northId,\n        southId,\n        spaceId\n      } = spaceObj;\n      const leftIndex = this.tempSpaceList.findIndex(item => {\n        return item.spaceId == spaceId;\n      });\n      if (leftIndex != -1) {\n        const spaceObj = this.tempSpaceList[leftIndex];\n        this.leftSpaces.push(spaceObj);\n        this.tempSpaceList.splice(leftIndex, 1);\n        const leftNextIndex = this.tempSpaceList.findIndex(item => {\n          if (direction == \"E\") {\n            return item.spaceId == eastId;\n          } else if (direction == \"W\") {\n            return item.spaceId == westId;\n          } else if (direction == \"S\") {\n            return item.spaceId == southId;\n          } else if (direction == \"N\") {\n            return item.spaceId == northId;\n          }\n        });\n        if (leftNextIndex != -1) {\n          const nextSpaceObj = this.tempSpaceList[leftNextIndex];\n          console.log(\"递归再一次\", nextSpaceObj);\n          this.findRightRelateSpace(nextSpaceObj, direction);\n        }\n        const rightArr = this.tempSpaceList.filter(item => {\n          if (direction == \"E\") {\n            return item.westId == spaceId;\n          } else if (direction == \"W\") {\n            return item.eastId == spaceId;\n          } else if (direction == \"S\") {\n            return item.northId == spaceId;\n          } else if (direction == \"N\") {\n            return item.southId == spaceId;\n          }\n        });\n        for (let index = 0; index < rightArr.length; index++) {\n          const nextSpaceObj = rightArr[index];\n          // const nextSpaceObj =  this.tempSpaceList[rightNextIndex];\n          console.log(\"递归再一次\", nextSpaceObj);\n          this.findRightRelateSpace(nextSpaceObj, direction);\n        }\n      }\n    },\n    // 递归寻找右边->左边关联空间\n    findRightRelateSpace(spaceObj, direction) {\n      const {\n        eastId,\n        westId,\n        northId,\n        southId,\n        spaceId\n      } = spaceObj;\n      const rightIndex = this.tempSpaceList.findIndex(item => {\n        return item.spaceId == spaceId;\n      });\n      if (rightIndex != -1) {\n        const spaceObj = this.tempSpaceList[rightIndex];\n        this.rightSpaces.push(spaceObj);\n        this.tempSpaceList.splice(rightIndex, 1);\n        console.log(\"当前空间数组:\", this.tempSpaceList);\n        const leftNextIndex = this.tempSpaceList.findIndex(item => {\n          if (direction == \"E\") {\n            return item.spaceId == westId;\n          } else if (direction == \"W\") {\n            return item.spaceId == eastId;\n          } else if (direction == \"N\") {\n            return item.spaceId == southId;\n          } else if (direction == \"S\") {\n            return item.spaceId == northId;\n          }\n        });\n        if (leftNextIndex != -1) {\n          const nextSpaceObj = this.tempSpaceList[leftNextIndex];\n          console.log(\"递归再一次\", nextSpaceObj);\n          this.findLeftRelateSpace(nextSpaceObj, direction);\n        }\n        const rightArr = this.tempSpaceList.filter(item => {\n          if (direction == \"E\") {\n            return item.eastId == spaceId;\n          } else if (direction == \"W\") {\n            return item.westId == spaceId;\n          } else if (direction == \"N\") {\n            return item.northId == spaceId;\n          } else if (direction == \"S\") {\n            return item.southId == spaceId;\n          }\n        });\n        for (let index = 0; index < rightArr.length; index++) {\n          const nextSpaceObj = rightArr[index];\n          console.log(\"递归再一次\", nextSpaceObj);\n          this.findLeftRelateSpace(nextSpaceObj, direction);\n        }\n      }\n    },\n    moveSpaceWall(direction, moveOut, moveValue) {\n      // let isNS = (direction == \"N\" || direction == \"S\")\n      // if(!this.checkRightSpace(!moveOut, moveValue, isNS)){\n      // \treturn\n      // }\n      console.log(\"关联空间XXXXX\", this.leftSpaces, this.rightSpaces);\n      for (let index = 0; index < this.leftSpaces.length; index++) {\n        const element = this.leftSpaces[index];\n        const space = this.spaceList.find(item => {\n          return item.spaceId == element.spaceId;\n        });\n        this.moveWall(space, direction, moveOut, moveValue);\n        // this.wallTransform(space, direction, moveOut, moveValue);\n      }\n\n      let otherdirection = \"\";\n      switch (direction) {\n        case \"E\":\n          otherdirection = \"W\";\n          break;\n        case \"W\":\n          otherdirection = \"E\";\n          break;\n        case \"N\":\n          otherdirection = \"S\";\n          break;\n        case \"S\":\n          otherdirection = \"N\";\n          break;\n      }\n      for (let index = 0; index < this.rightSpaces.length; index++) {\n        const element = this.rightSpaces[index];\n        this.moveWall(element, otherdirection, !moveOut, moveValue);\n      }\n      console.log(`当前空间的后id:${this.curSpaceObj.spaceId};墙面方向:${direction};宽度:${this.curSpaceObj.spaceWidth};高度:${this.curSpaceObj.spaceHeight}`);\n    },\n    // 调整大小\n    // direction:方向\n    // moveOut:是否外移\n    // moveValue: 移动距离\n    moveWall(spaceObj, direction, moveOut, moveValue) {\n      console.log(`移动的空间的id-------:${spaceObj.spaceId};移动方向:${direction};是否外移:${moveOut};移动距离:${moveValue}`);\n      const oldSpaceObj = JSON.parse(JSON.stringify(spaceObj));\n      const cube = this.gltfSpaces.find(item => {\n        return item.spaceId == spaceObj.spaceId;\n      });\n      if (!cube) {\n        return;\n      }\n      if (!moveOut) {\n        moveValue = moveValue * -1;\n      }\n      const {\n        position,\n        scale\n      } = cube;\n      // 重新计算缩放 和 位置\n      let toScaleX = scale.x;\n      let toScaleZ = scale.z;\n      let toPx = position.x;\n      let toPz = position.z;\n      if (direction == 'E' || direction == 'W') {\n        let spaceWidth = scale.x * 300;\n        toScaleX = (spaceWidth + moveValue) / 300;\n        if (direction == 'W') {\n          toPx = position.x - moveValue / 2 / 100;\n        } else {\n          toPx = position.x + moveValue / 2 / 100;\n        }\n        spaceObj.spaceWidth += moveValue;\n        spaceObj.centerX = toPx * 100;\n      }\n      if (direction == 'N' || direction == 'S') {\n        let spaceHeight = scale.z * 300;\n        toScaleZ = (spaceHeight + moveValue) / 300;\n        if (direction == 'N') {\n          toPz = position.z - moveValue / 2 / 100;\n        } else {\n          toPz = position.z + moveValue / 2 / 100;\n        }\n        spaceObj.spaceHeight += moveValue;\n        spaceObj.centerY = toPz * 100 * -1;\n      }\n      console.log(\"curSpaceObj\", this.curSpaceObj.spaceId, spaceObj.spaceId, spaceObj.centerX, spaceObj.centerY, toScaleX, toScaleZ, toPx, toPz);\n      console.log(\"当前空间变化后的尺寸\", spaceObj.spaceWidth, spaceObj.spaceHeight, spaceObj.spaceId);\n\n      // 更新数据\n      const spaceIndex = this.spaceList.findIndex(item => {\n        return item.spaceId == spaceObj.spaceId;\n      });\n      if (spaceIndex != -1) {\n        this.spaceList[spaceIndex] = spaceObj;\n        if (this.curSpaceObj.spaceId == spaceObj.spaceId) {\n          this.curSpaceObj = spaceObj;\n        }\n      }\n      this.curHouseObj.houseJson = JSON.stringify(this.spaceList);\n      //空间动画处理-提取到floorMethod.js中\n      this.changeSpacesAnim({\n        spaceId: spaceObj.spaceId,\n        toScaleX,\n        toScaleZ,\n        toPx,\n        toPz\n      });\n      // 墙体动画处理\n      //// 根据空间尺寸,更新前提数据\n      const wallObj = this.wallList.find(item => {\n        return item.id == spaceObj.wallId;\n      });\n      if (wallObj) {\n        let element = JSON.parse(wallObj.wallJson);\n        console.warn(\"****wallObj**\", element);\n        this.computeWallHandle(oldSpaceObj, spaceObj, element, moveOut, direction); // 重新计算-并把空间的计算结果同步到gltfWalls中\n      }\n\n      // 移动墙体\n      let curSpaceWall = [];\n      for (let index = 0; index < this.gltfWalls.length; index++) {\n        const element = this.gltfWalls[index];\n        if (spaceObj.spaceId == element.spaceId) {\n          curSpaceWall.push(element);\n        }\n      }\n\n      //移动的是西方的墙壁 和 南方的墙壁,该空间的几何体中心测移动变化\n      if (direction == 'W' || direction == 'S') {\n        spaceObj.rightCenter = true;\n      }\n      //移动的是东方的墙壁 和 北方的墙壁,该空间的几何体中心测不移动变化\n      if (direction == 'E' || direction == 'N') {\n        spaceObj.rightCenter = false;\n      }\n      // 排序墙体数据\n      curSpaceWall.sort(function (a, b) {\n        return a.wallModelData.id - b.wallModelData.id;\n      });\n      curSpaceWall.sort(function (a, b) {\n        return a.wallDirection.localeCompare(b.wallDirection);\n      });\n      console.log(\"移动的墙体:\", spaceObj, direction, curSpaceWall);\n      // return;\n\n      for (let index = 0; index < curSpaceWall.length; index++) {\n        const element = curSpaceWall[index];\n        // console.log(\"重新计算墙体-墙体数据:\",element, spaceObj);\n        this.drawModel(element.wallModelData, spaceObj, element, true);\n      }\n    },\n    // 空隙自动补签逻辑\n    autoCreateWall(directionIndex, spaceObj) {\n      let direction = \"\";\n      switch (directionIndex) {\n        case 1:\n          direction = \"N\";\n          break;\n        case 2:\n          direction = \"S\";\n          break;\n        case 3:\n          direction = \"W\";\n          break;\n        case 4:\n          direction = \"E\";\n          break;\n        default:\n          break;\n      }\n\n      // 东西墙 检查 南北墙关联空间  南北墙 检查 东西墙关联空间\n      if (direction == \"E\" || direction == \"W\") {\n        if (spaceObj.quadrant == 3 || spaceObj.quadrant == 4) {\n          // 南边空间\n          console.log(\"南北朝向墙自动补齐\", this.leftSpaces, this.rightSpaces);\n          this.selectedWall(\"N\");\n          this.checkIsAutoCreateWall(\"N\", spaceObj);\n          this.selectedWall(\"S\");\n          this.checkIsAutoCreateWall(\"S\", spaceObj);\n          let autoWall = this.gltfAutoWalls.find(item => {\n            return item.spaceId == spaceObj.spaceId;\n          });\n          if (autoWall) {\n            console.log(\"南北朝向墙自动补齐---\", autoWall, this.gltfAutoWalls);\n            if (autoWall.wallDirection == \"E\") {\n              autoWall.obj.position.x = (spaceObj.centerX + spaceObj.spaceWidth / 2 - 5) / 100;\n            }\n          }\n        } else {// 北边关联空间\n        }\n      } else {\n        if (spaceObj.quadrant == 3 || spaceObj.quadrant == 4) {\n          // 南边空间\n\n          console.log(\"东西朝向墙自动补齐\", this.leftSpaces, this.rightSpaces);\n          this.selectedWall(\"E\");\n          this.checkIsAutoCreateWall(\"E\", spaceObj);\n          this.selectedWall(\"W\");\n          this.checkIsAutoCreateWall(\"W\", spaceObj);\n        } else {// 北边关联空间\n        }\n      }\n    },\n    // 检测是否需要补强\n    checkIsAutoCreateWall(direction, spaceObj) {\n      var that = this;\n      // 判断南边墙是否需要补充\n      if (this.rightSpaces.length == 0) {\n        console.log(\"不需要补墙1\", direction, this.gltfAutoWalls);\n        return;\n      }\n      const n = direction == \"S\" || direction == \"E\" ? 1 : -1; // 南北方向计算系数\n\n      console.log(\"自动补墙\", this.leftSpaces, this.rightSpaces);\n      let px = 0;\n      let pz = 0;\n      let sx = 1;\n      let sz = 1;\n      let rightids = [];\n      if (spaceObj.quadrant == 3) {\n        // 左边空间的最大值\n        let leftMaxValue = 0;\n        for (let index = 0; index < this.leftSpaces.length; index++) {\n          const element = this.leftSpaces[index];\n          if (direction == \"S\" || direction == \"N\") {\n            const curvalue = element.centerX + element.spaceWidth / 2;\n            if (leftMaxValue < curvalue) {\n              leftMaxValue = curvalue;\n            }\n          } else {\n            leftMaxValue += -element.centerY + element.spaceHeight / 2;\n          }\n        }\n        // rightSpaces右边最大值\n        let rightMaxValue = 0;\n        for (let index = 0; index < this.rightSpaces.length; index++) {\n          const element = this.rightSpaces[index];\n          if (direction == \"S\" || direction == \"N\") {\n            const curvalue = element.centerX + element.spaceWidth / 2;\n            if (rightMaxValue < curvalue) {\n              rightMaxValue = curvalue;\n            }\n          } else {\n            rightMaxValue += -element.centerY + element.spaceHeight / 2;\n          }\n          rightids.push(element.spaceId);\n        }\n\n        // 是否有墙\n        const index = this.gltfWalls.findIndex(item => {\n          console.log(\"墙面模型\", item);\n          return spaceObj.spaceId == item.spaceId && item.wallDirection == direction;\n        });\n\n        // 有墙,左边墙>右边墙,计算南北墙\n        if (index != -1 && leftMaxValue > rightMaxValue && (direction == \"S\" || direction == \"N\")) {\n          console.log(\"不需要补墙251\", index, leftMaxValue, rightMaxValue);\n          // 是否补过墙\n          const autoWall = this.gltfAutoWalls.find(item => {\n            return item.rightids.indexOf(spaceObj.spaceId) != -1 && item.wallDirection == (direction == \"S\" ? \"N\" : \"S\");\n          });\n          if (autoWall) {\n            let cube = autoWall.obj;\n            if (cube) {\n              cube.scale.set(0, 0, 0);\n            }\n          }\n          return;\n        }\n        // 有墙,左边墙>右边墙,计算东西墙\n        if (index != -1 && leftMaxValue > rightMaxValue && (direction == \"E\" || direction == \"W\")) {\n          console.log(\"不需要补墙252\", index, leftMaxValue, rightMaxValue, spaceObj.spaceId, direction, this.gltfAutoWalls);\n          const autoWall = this.gltfAutoWalls.find(item => {\n            return item.rightids.indexOf(spaceObj.spaceId) != -1 && item.wallDirection == (direction == \"E\" ? \"W\" : \"E\");\n          });\n          if (autoWall) {\n            let cube = autoWall.obj;\n            if (cube) {\n              cube.scale.set(0, 0, 0);\n            }\n          }\n          return;\n        }\n        let wallOffset = index != -1 ? -5 : 5;\n        console.log(\"空间最大值\", leftMaxValue, rightMaxValue, direction, index);\n        const cubeW = Math.abs(leftMaxValue - rightMaxValue);\n        if (direction == \"S\" || direction == \"N\") {\n          px = (Math.min(leftMaxValue, rightMaxValue) + cubeW / 2) / 100;\n          pz = (-spaceObj.centerY + spaceObj.spaceHeight * n / 2 + wallOffset * n) / 100;\n          sx = cubeW / 10;\n          // 长边有墙\n        } else {\n          px = (spaceObj.centerX + spaceObj.spaceWidth * n / 2 + wallOffset * n) / 100;\n          pz = (Math.max(leftMaxValue, rightMaxValue) - cubeW / 2) / 100;\n          sz = cubeW / 10;\n        }\n      } else {\n        let leftMinValue = 0;\n        for (let index = 0; index < this.leftSpaces.length; index++) {\n          const element = this.leftSpaces[index];\n          if (direction == \"S\" || direction == \"N\") {\n            leftMinValue += element.centerX - element.spaceWidth / 2;\n          } else {\n            leftMinValue += -element.centerY + element.spaceHeight / 2;\n          }\n        }\n        // rightSpaces右边最大值\n        let rightMinValue = 0;\n        for (let index = 0; index < this.rightSpaces.length; index++) {\n          const element = this.rightSpaces[index];\n          if (direction == \"S\" || direction == \"N\") {\n            rightMinValue += element.centerX - element.spaceWidth / 2;\n          } else {\n            rightMinValue = -element.centerY + element.spaceHeight / 2;\n          }\n          rightids.push(element.spaceId);\n        }\n        const index = this.gltfWalls.findIndex(item => {\n          console.log(\"墙面模型\", item);\n          return spaceObj.spaceId == item.spaceId && item.wallDirection == direction;\n        });\n        if (index != -1 && leftMinValue < rightMinValue && (direction == \"S\" || direction == \"N\")) {\n          console.log(\"不需要补墙251\");\n          return;\n        }\n        if (index != -1 && leftMinValue > rightMinValue && (direction == \"E\" || direction == \"W\")) {\n          console.log(\"不需要补墙252\");\n          return;\n        }\n        let wallOffset = index != -1 ? -5 : 5;\n        console.log(\"空间最大值\", leftMinValue, rightMinValue);\n        const cubeW = Math.abs(leftMinValue - rightMinValue);\n        if (leftMinValue > rightMinValue && index == -1 && (direction == \"S\" || direction == \"N\")) {\n          console.log(\"不需要补墙241\", leftMinValue, rightMinValue);\n          const autoWall = this.gltfAutoWalls.find(item => {\n            return item.rightids.indexOf(spaceObj.spaceId) != -1 && item.wallDirection == (direction == \"S\" ? \"N\" : \"S\");\n          });\n          if (autoWall) {\n            let cube = autoWall.obj;\n            if (cube) {\n              cube.scale.set(0, 0, 0);\n            }\n          }\n          return;\n        }\n        if (leftMinValue < rightMinValue && index == -1 && (direction == \"E\" || direction == \"W\")) {\n          console.log(\"不需要补墙242\", leftMinValue, rightMinValue);\n          const autoWall = this.gltfAutoWalls.find(item => {\n            return item.rightids.indexOf(spaceObj.spaceId) != -1 && item.wallDirection == (direction == \"W\" ? \"E\" : \"W\");\n          });\n          if (autoWall) {\n            let cube = autoWall.obj;\n            if (cube) {\n              cube.scale.set(0, 0, 0);\n            }\n          }\n          return;\n        }\n        if (direction == \"S\" || direction == \"N\") {\n          px = (Math.max(leftMinValue, rightMinValue) - cubeW / 2) / 100;\n          pz = (-spaceObj.centerY + spaceObj.spaceHeight * n / 2 + wallOffset * n) / 100;\n          sx = cubeW / 10;\n        } else {\n          px = (spaceObj.centerX + spaceObj.spaceWidth * n / 2 + wallOffset * n) / 100;\n          pz = (Math.max(leftMinValue, rightMinValue) - cubeW / 2) / 100;\n          sz = cubeW / 10;\n        }\n      }\n      console.log(\"空间最大值\", px, pz, sx, sz, this.gltfAutoWalls);\n\n      // 寻找是否已添加过墙面\n      const autoWall = this.gltfAutoWalls.find(item => {\n        return item.spaceId == spaceObj.spaceId && item.wallDirection == direction || (item.rightids.findIndex(it => {\n          return it == spaceObj.spaceId;\n        }) != -1 && item.wallDirection == direction == \"S\" ? \"N\" : \"S\") || (item.rightids.findIndex(it => {\n          return it == spaceObj.spaceId;\n        }) != -1 && item.wallDirection == direction == \"E\" ? \"W\" : \"E\");\n      });\n      if (this.curWallDirection == \"S\") {\n        if (spaceObj.southId > 0) {\n          return;\n        }\n      }\n      if (this.curWallDirection == \"E\") {\n        if (spaceObj.eastId > 0) {\n          return;\n        }\n      }\n      if (this.curWallDirection == \"N\") {\n        if (spaceObj.northId > 0) {\n          return;\n        }\n      }\n      if (this.curWallDirection == \"W\") {\n        if (spaceObj.westId > 0) {\n          return;\n        }\n      }\n      if (autoWall) {\n        console.log(\"修改补墙的信息\", px, pz, sx, sz);\n        let cube = autoWall.obj;\n        cube.position.set(px, 0, pz);\n        cube.scale.set(sx, 1, sz);\n      } else {\n        console.log(\"添加补墙的信息\", px, pz, sx, sz);\n        that.loader.load((_static_wallData_js__WEBPACK_IMPORTED_MODULE_4___default()[0]).url, gltf => {\n          let cube = gltf.scene;\n          cube.position.set(px, 0, pz);\n          cube.scale.set(sx, 1, sz);\n          that.scene.add(cube);\n          let md = {\n            obj: cube,\n            wallDirection: direction,\n            spaceId: spaceObj.spaceId,\n            quadrant: spaceObj.quadrant,\n            rightids: rightids\n          };\n          that.gltfAutoWalls.push(md);\n          // console.log(\"模型加载成功\", that.gltfAutoWalls, spaceObj.spaceId);\n        });\n      }\n    },\n\n    // 墙体缩放逻辑\n    wallTransform(spaceObj, direction, moveOut, moveValue) {\n      console.log(`移动的空间的id:${spaceObj.spaceId};移动方向:${direction};是否外移:${moveOut};移动距离:${moveValue}`);\n    },\n    updateWallModels() {\n      let that = this;\n      console.log(\"开始替换墙体模型\", this.leftSpaces, this.rightSpaces, this.gltfWalls);\n      let promise_list = [];\n\n      // const gltfWalls = JSON.parse(JSON.stringify(this.gltfWalls))\n      this.gltfWalls.forEach((item, index) => {\n        promise_list.push(new Promise((resolve, reject) => {\n          this.loadChangeWallModels(item, resolve);\n        }));\n      });\n      Promise.all(promise_list).then(() => {\n        this.$nextTick(() => {\n          let newArr = [];\n          const newWalls = that.gltfWalls.filter(it => {\n            return !it.isDidWall;\n          });\n          that.gltfWalls = newWalls;\n          console.log(\"加载完成2\", newWalls, newArr, that.gltfWalls, that.wallList);\n        });\n      });\n    }\n  }\n});\n\n//# sourceURL=webpack://hello-world/./src/components/mapComponent/mapComponent.vue?./node_modules/_babel-loader@8.3.0@babel-loader/lib/index.js??clonedRuleSet-40.use%5B0%5D!./node_modules/_vue-loader@15.10.1@vue-loader/lib/index.js??vue-loader-options");/***/ }),/***/ "./node_modules/_babel-loader@8.3.0@babel-loader/lib/index.js??clonedRuleSet-40.use[0]!./node_modules/_vue-loader@15.10.1@vue-loader/lib/index.js??vue-loader-options!./src/pages/mainView/mainView.vue?vue&type=script&lang=js&":/*!***************************************************************************************************************************************************************************************************************************************!*\  !*** ./node_modules/_babel-loader@8.3.0@babel-loader/lib/index.js??clonedRuleSet-40.use[0]!./node_modules/_vue-loader@15.10.1@vue-loader/lib/index.js??vue-loader-options!./src/pages/mainView/mainView.vue?vue&type=script&lang=js& ***!  \***************************************************************************************************************************************************************************************************************************************//***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {"use strict";eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/es.array.push.js */ \"./node_modules/_core-js@3.31.1@core-js/modules/es.array.push.js\");\n/* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _utils_util__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @/utils/util */ \"./src/utils/util.js\");\n/* harmony import */ var _utils_localStorage__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @/utils/localStorage */ \"./src/utils/localStorage.js\");\n/* harmony import */ var _router__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @/router */ \"./src/router/index.js\");\n/* harmony import */ var _components_mapComponent_mapComponent_vue__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @/components/mapComponent/mapComponent.vue */ \"./src/components/mapComponent/mapComponent.vue\");\n\n\n\n\n// import elabComponet from '@/components/elabComponet/elabComponet.vue'\n\n// import footComponent from '@/components/footComponent/footComponent.vue'\n// import myProjectComp from '@/components/myProjectComp/myProjectComp.vue'\n// import addProjectComp from '@/components/addProjectComp/addProjectComp.vue'\n// import previewComp from '@/components/previewComp/previewComp.vue'\n// import addCompeteComp from '@/components/addCompeteComp/addCompeteComp.vue'\n\n// import tencentAuthComponent from \"@/components/tencentAuthComponent/tencentAuthComponent.vue\";\n// import createMarkLoading from '@/components/createMarkLoading/createMarkLoading.vue'\n// import authSuccess from '@/components/authSuccess/authSuccess.vue'\n// import openCityComp from '@/components/openCityComp/openCityComp.vue'\n// import userNextComp from '@/components/userNextComp/userNextComp.vue'\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n  data() {\n    return {\n      showMainView: false,\n      isShowAuthPage: false,\n      //授权窗口展示\n      tencentAuthState: {},\n      isNext: false,\n      landId: null //新建地块时获知的新建地块id\n    };\n  },\n\n  components: {\n    mapComponent: _components_mapComponent_mapComponent_vue__WEBPACK_IMPORTED_MODULE_4__[\"default\"]\n  },\n  mounted() {\n    let that = this;\n    console.warn(\"***mounted1**5*\", this.$route.query);\n    this.showMainView = true;\n    window.$bus.$off('openTencentAuth');\n    // 监听授权页面\n    window.$bus.$on('openTencentAuth', data => {\n      console.log('打开授权页面', data);\n      if (data && data.isShowAuthPage) {\n        if (data.state) {\n          this.tencentAuthState = data.state;\n        }\n        if (data.landId) {\n          this.landId = data.landId;\n        }\n        that.isShowAuthPage = true;\n        configTemp[\"page\"] = data.state.page;\n        this.isNext = data.isNext || false;\n        (0,_utils_localStorage__WEBPACK_IMPORTED_MODULE_2__.setStorage)('CONFIG', configTemp);\n      } else {\n        that.isShowAuthPage = false;\n      }\n    });\n    window.$bus.$on('selectedProjectItem', project => {\n      console.log(\"路由\", this.$route.path, project);\n      if (project && project.id) {\n        //存在项目地块\n        // var newurl = this.updateQueryStringParameter(window.location.href, 'projectId', project.id);\n        //向当前url添加参数\n        //路由切换项目id\n        this.$router.push({\n          path: this.$route.path,\n          query: {\n            projectId: project.id\n          }\n        });\n        (0,_utils_localStorage__WEBPACK_IMPORTED_MODULE_2__.setStorage)(\"currentProject_\" + project.id, project);\n      } else {\n        this.$router.push({\n          path: this.$route.path,\n          query: {\n            noProject: 1\n          }\n        });\n      }\n    });\n  },\n  methods: {\n    anthClose() {\n      this.isShowAuthPage = false;\n    },\n    /**\r\n     * 已授权回调\r\n     */\n    async alreadyAuth(param, page) {\n      this.isShowAuthPage = false;\n      // 请求提交\n      window.$bus.$emit(\"authed\", this.isNext);\n      // console.log('授权',this.tencentAuthState)\n      // if(!param || !param['authorization_code']){\n      //     return ;\n      // }\n      // let config = getStorage('CONFIG') ? JSON.parse(getStorage('CONFIG')) : '';\n      // let redirectUri = config.redirectUri\n      // let data = {\n      //     \"authorizationCode\": param['authorization_code'] || \"\",\n      //     \"companyId\": window.userCompanyModel.companyId,\n      //     \"grantType\": \"authorization_code\",\n      //     \"redirectUri\": redirectUri || \"\",\n      //     \"refreshToken\": \"\"\n      // }\n      // let res = await requestConfig('authCallback',data)\n    },\n\n    updateQueryStringParameter(uri, key, value) {\n      if (!value) {\n        return uri;\n      }\n      var re = new RegExp(\"([?&])\" + key + \"=.*?(&|$)\", \"i\");\n      var separator = uri.indexOf('?') !== -1 ? \"&\" : \"?\";\n      if (uri.match(re)) {\n        return uri.replace(re, '$1' + key + \"=\" + value + '$2');\n      } else {\n        return uri + separator + key + \"=\" + value;\n      }\n    },\n    getNewUrl() {\n      let url = window.location.href;\n      if (url.indexOf(\"?\") != -1) {\n        //判断是否存在参数\n        url = url.split('?')[0];\n      }\n      return url;\n    }\n  }\n});\n\n//# sourceURL=webpack://hello-world/./src/pages/mainView/mainView.vue?./node_modules/_babel-loader@8.3.0@babel-loader/lib/index.js??clonedRuleSet-40.use%5B0%5D!./node_modules/_vue-loader@15.10.1@vue-loader/lib/index.js??vue-loader-options");/***/ }),/***/ "./node_modules/_babel-loader@8.3.0@babel-loader/lib/index.js??clonedRuleSet-40.use[0]!./node_modules/_vue-loader@15.10.1@vue-loader/lib/loaders/templateLoader.js??ruleSet[1].rules[3]!./node_modules/_vue-loader@15.10.1@vue-loader/lib/index.js??vue-loader-options!./src/App.vue?vue&type=template&id=7ba5bd90&scoped=true&":/*!**************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\  !*** ./node_modules/_babel-loader@8.3.0@babel-loader/lib/index.js??clonedRuleSet-40.use[0]!./node_modules/_vue-loader@15.10.1@vue-loader/lib/loaders/templateLoader.js??ruleSet[1].rules[3]!./node_modules/_vue-loader@15.10.1@vue-loader/lib/index.js??vue-loader-options!./src/App.vue?vue&type=template&id=7ba5bd90&scoped=true& ***!  \**************************************************************************************************************************************************************************************************************************************************************************************************************************************//***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {"use strict";eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   render: function() { return /* binding */ render; },\n/* harmony export */   staticRenderFns: function() { return /* binding */ staticRenderFns; }\n/* harmony export */ });\nvar render = function render() {\n  var _vm = this,\n    _c = _vm._self._c;\n  return _c(\"div\", {\n    attrs: {\n      id: \"app\"\n    }\n  }, [_vm.isRouterAlive ? _c(\"router-view\") : _vm._e(), _c(\"div\", {\n    directives: [{\n      name: \"show\",\n      rawName: \"v-show\",\n      value: _vm.loading,\n      expression: \"loading\"\n    }],\n    staticClass: \"loadingShadow\"\n  }, [_c(\"div\", {\n    staticClass: \"loadData\"\n  }, [_c(\"img\", {\n    attrs: {\n      src: \"https://skyforest.static.elaber.cn/detail/loading.gif\",\n      alt: \"\"\n    }\n  }), _c(\"div\", {\n    staticClass: \"loadingMsg\"\n  }, [_vm._v(_vm._s(_vm.loadingMsg))])])]), _c(\"div\", {\n    directives: [{\n      name: \"show\",\n      rawName: \"v-show\",\n      value: _vm.showAccountView,\n      expression: \"showAccountView\"\n    }],\n    staticClass: \"loadingShadow rows justify-center\"\n  }, [_c(\"div\", {\n    staticClass: \"account-view\"\n  }, [_c(\"div\", {\n    staticClass: \"title rows rows-between\"\n  }, [_vm._m(0), _c(\"div\", {\n    staticClass: \"close\",\n    on: {\n      click: _vm.closeFun\n    }\n  }, [_c(\"i\", {\n    staticClass: \"el-icon-close close-img\"\n  })])]), _c(\"div\", {\n    staticClass: \"content\",\n    staticStyle: {\n      \"margin-top\": \"20rem\"\n    }\n  }, [_c(\"div\", {}, [_vm._v(\"选择关联账号\")]), _c(\"div\", {\n    staticClass: \"content-main-view\",\n    staticStyle: {\n      \"margin-top\": \"10rem\"\n    }\n  }, _vm._l(_vm.acountList, function (item, index) {\n    return _c(\"div\", {\n      key: index,\n      staticClass: \"rows rows-between\",\n      staticStyle: {\n        \"margin-bottom\": \"20rem\",\n        cursor: \"pointer\"\n      },\n      on: {\n        click: function ($event) {\n          return _vm.accountChange(item);\n        }\n      }\n    }, [_c(\"div\", {\n      staticClass: \"rows\"\n    }, [_c(\"div\", {\n      staticStyle: {\n        \"margin-right\": \"18rem\"\n      }\n    }, [_vm.selectAccount && _vm.selectAccount.advertiserId == item.advertiserId ? _c(\"div\", {\n      staticClass: \"selcect-view\"\n    }) : _c(\"div\", {\n      staticClass: \"unselcect-view\"\n    })]), _c(\"div\", [_vm._v(_vm._s(item.name) + _vm._s(\" ID\" + item.advertiserId) + \")\")])]), _vm.selectAccount && _vm.selectAccount.advertiserId == item.advertiserId ? _c(\"div\", {\n      staticClass: \"icon-gougou iconfont gougou-icon\"\n    }) : _vm._e()]);\n  }), 0)]), _c(\"div\", {\n    staticClass: \"auth-btn-view rows justify-center\",\n    staticStyle: {\n      \"margin-top\": \"35rem\"\n    }\n  }, [_c(\"div\", {\n    staticClass: \"auth-btn style2 rows justify-center\",\n    on: {\n      click: _vm.accountConfirm\n    }\n  }, [_vm._v(\"确定\")])])])])], 1);\n};\nvar staticRenderFns = [function () {\n  var _vm = this,\n    _c = _vm._self._c;\n  return _c(\"div\", {\n    staticClass: \"rows\",\n    staticStyle: {\n      \"margin-right\": \"10rem\"\n    }\n  }, [_c(\"img\", {\n    staticClass: \"title-icon\",\n    attrs: {\n      src: \"https://dm.static.elab-plus.com/thing/ty/zhsq.png\"\n    }\n  }), _vm._v(\" 账号选择 \")]);\n}];\nrender._withStripped = true;\n\n\n//# sourceURL=webpack://hello-world/./src/App.vue?./node_modules/_babel-loader@8.3.0@babel-loader/lib/index.js??clonedRuleSet-40.use%5B0%5D!./node_modules/_vue-loader@15.10.1@vue-loader/lib/loaders/templateLoader.js??ruleSet%5B1%5D.rules%5B3%5D!./node_modules/_vue-loader@15.10.1@vue-loader/lib/index.js??vue-loader-options");/***/ }),/***/ "./node_modules/_babel-loader@8.3.0@babel-loader/lib/index.js??clonedRuleSet-40.use[0]!./node_modules/_vue-loader@15.10.1@vue-loader/lib/loaders/templateLoader.js??ruleSet[1].rules[3]!./src/components/mapComponent/mapComponent.html?vue&type=template&id=68cc5822&scoped=true&":/*!*****************************************************************************************************************************************************************************************************************************************************************************************!*\  !*** ./node_modules/_babel-loader@8.3.0@babel-loader/lib/index.js??clonedRuleSet-40.use[0]!./node_modules/_vue-loader@15.10.1@vue-loader/lib/loaders/templateLoader.js??ruleSet[1].rules[3]!./src/components/mapComponent/mapComponent.html?vue&type=template&id=68cc5822&scoped=true& ***!  \*****************************************************************************************************************************************************************************************************************************************************************************************//***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {"use strict";eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   render: function() { return /* binding */ render; },\n/* harmony export */   staticRenderFns: function() { return /* binding */ staticRenderFns; }\n/* harmony export */ });\nvar render = function render() {\n  var _vm = this,\n    _c = _vm._self._c;\n  return _c(\"div\", {\n    staticClass: \"map\",\n    staticStyle: {\n      position: \"absolute\",\n      width: \"100%\",\n      height: \"100vh\",\n      \"z-index\": \"1\"\n    }\n  }, [_c(\"div\", {\n    ref: \"webgl\",\n    attrs: {\n      id: \"mapDiv\"\n    }\n  }), _c(\"canvas\", {\n    ref: \"glcanvas\",\n    attrs: {\n      id: \"glcanvas\",\n      width: \"100vw\",\n      height: \"100vh\"\n    }\n  }, [_vm._v(\" 你的浏览器似乎不支持或者禁用了 HTML5 \"), _c(\"code\", [_vm._v(\"<canvas>\")]), _vm._v(\" 元素。 \")])]);\n};\nvar staticRenderFns = [];\nrender._withStripped = true;\n\n\n//# sourceURL=webpack://hello-world/./src/components/mapComponent/mapComponent.html?./node_modules/_babel-loader@8.3.0@babel-loader/lib/index.js??clonedRuleSet-40.use%5B0%5D!./node_modules/_vue-loader@15.10.1@vue-loader/lib/loaders/templateLoader.js??ruleSet%5B1%5D.rules%5B3%5D");/***/ }),/***/ "./node_modules/_babel-loader@8.3.0@babel-loader/lib/index.js??clonedRuleSet-40.use[0]!./node_modules/_vue-loader@15.10.1@vue-loader/lib/loaders/templateLoader.js??ruleSet[1].rules[3]!./src/pages/mainView/mainView.html?vue&type=template&id=5c95f99b&scoped=true&":/*!****************************************************************************************************************************************************************************************************************************************************************************!*\  !*** ./node_modules/_babel-loader@8.3.0@babel-loader/lib/index.js??clonedRuleSet-40.use[0]!./node_modules/_vue-loader@15.10.1@vue-loader/lib/loaders/templateLoader.js??ruleSet[1].rules[3]!./src/pages/mainView/mainView.html?vue&type=template&id=5c95f99b&scoped=true& ***!  \****************************************************************************************************************************************************************************************************************************************************************************//***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {"use strict";eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   render: function() { return /* binding */ render; },\n/* harmony export */   staticRenderFns: function() { return /* binding */ staticRenderFns; }\n/* harmony export */ });\nvar render = function render() {\n  var _vm = this,\n    _c = _vm._self._c;\n  return _vm.showMainView ? _c(\"div\", {\n    staticClass: \"mainView\"\n  }, [_c(\"mapComponent\"), _c(\"router-view\")], 1) : _vm._e();\n};\nvar staticRenderFns = [];\nrender._withStripped = true;\n\n\n//# sourceURL=webpack://hello-world/./src/pages/mainView/mainView.html?./node_modules/_babel-loader@8.3.0@babel-loader/lib/index.js??clonedRuleSet-40.use%5B0%5D!./node_modules/_vue-loader@15.10.1@vue-loader/lib/loaders/templateLoader.js??ruleSet%5B1%5D.rules%5B3%5D");/***/ }),/***/ "./src/main.js":/*!*********************!*\  !*** ./src/main.js ***!  \*********************//***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {"use strict";eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! vue */ \"./node_modules/_vue@2.7.14@vue/dist/vue.esm.js\");\n/* harmony import */ var _App_vue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./App.vue */ \"./src/App.vue\");\n/* harmony import */ var _store_index_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @/store/index.js */ \"./src/store/index.js\");\n/* harmony import */ var _services_urlConfig_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @/services/urlConfig.js */ \"./src/services/urlConfig.js\");\n/* harmony import */ var _services_urlConfig_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_services_urlConfig_js__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _router__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @/router */ \"./src/router/index.js\");\n/* harmony import */ var element_ui__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! element-ui */ \"./node_modules/_element-ui@2.15.8@element-ui/lib/element-ui.common.js\");\n/* harmony import */ var element_ui__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(element_ui__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var element_ui_lib_theme_chalk_index_css__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! element-ui/lib/theme-chalk/index.css */ \"./node_modules/_element-ui@2.15.8@element-ui/lib/theme-chalk/index.css\");\n/* harmony import */ var element_ui_lib_theme_chalk_index_css__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(element_ui_lib_theme_chalk_index_css__WEBPACK_IMPORTED_MODULE_5__);\n/* harmony import */ var jquery__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! jquery */ \"./node_modules/_jquery@3.7.0@jquery/dist/jquery.js\");\n/* harmony import */ var jquery__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(jquery__WEBPACK_IMPORTED_MODULE_6__);\n/* harmony import */ var _services_request_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @/services/request.js */ \"./src/services/request.js\");\n/* harmony import */ var _services_requestConfig_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! @/services/requestConfig.js */ \"./src/services/requestConfig.js\");\n/* harmony import */ var _utils_common_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! @/utils/common.js */ \"./src/utils/common.js\");\n/* harmony import */ var _utils_rem_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! @/utils/rem.js */ \"./src/utils/rem.js\");\n/* harmony import */ var _utils_rem_js__WEBPACK_IMPORTED_MODULE_10___default = /*#__PURE__*/__webpack_require__.n(_utils_rem_js__WEBPACK_IMPORTED_MODULE_10__);\n/* harmony import */ var _assets_common_css__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! @/assets/common.css */ \"./src/assets/common.css\");\n/* harmony import */ var _assets_common_css__WEBPACK_IMPORTED_MODULE_11___default = /*#__PURE__*/__webpack_require__.n(_assets_common_css__WEBPACK_IMPORTED_MODULE_11__);\n/* harmony import */ var _assets_font_iconfont_css__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! @/assets/font/iconfont.css */ \"./src/assets/font/iconfont.css\");\n/* harmony import */ var _assets_font_iconfont_css__WEBPACK_IMPORTED_MODULE_12___default = /*#__PURE__*/__webpack_require__.n(_assets_font_iconfont_css__WEBPACK_IMPORTED_MODULE_12__);\n/* harmony import */ var _utils_command_js__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! @/utils/command.js */ \"./src/utils/command.js\");\n/* harmony import */ var _utils_resetMessage__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! @/utils/resetMessage */ \"./src/utils/resetMessage.js\");\n/* harmony import */ var echarts__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! echarts */ \"./node_modules/_echarts@4.9.0@echarts/index.js\");\n/* harmony import */ var echarts__WEBPACK_IMPORTED_MODULE_16___default = /*#__PURE__*/__webpack_require__.n(echarts__WEBPACK_IMPORTED_MODULE_16__);\n\n\n\n //导入请求的环境地址配置\n\n\n //导入ele-ui 的样式\n //引入JQuery\n //重新定义axios,向里面添加一些参数\n //导入请求的拦截器\n //引入公共函数\n //rem单位的使用\n\n //公共样式\n //引用公共icon库\n// import popUpComponent from \"@/components/popUpComponent/popUpComponent.js\"; // 公共弹框样式\n// import previewComponent from \"@/components/previewComponent/previewComponent.js\"; // 公共图片视频预览\n // 自定义指令\n\n// import checkPermission from \"@/utils/permission\";\n\nvue__WEBPACK_IMPORTED_MODULE_15__[\"default\"].use((element_ui__WEBPACK_IMPORTED_MODULE_4___default())); //导入ele-ui\n// Vue.prototype.$popUp = popUpComponent;\n// Vue.prototype.$preview = previewComponent;\nwindow.$bus = new vue__WEBPACK_IMPORTED_MODULE_15__[\"default\"](); //定义一个事件总线对象-方便组件通讯\nwindow.axios = _services_request_js__WEBPACK_IMPORTED_MODULE_7__[\"default\"];\nwindow.common = _utils_common_js__WEBPACK_IMPORTED_MODULE_9__[\"default\"];\nwindow.$ = (jquery__WEBPACK_IMPORTED_MODULE_6___default());\nvue__WEBPACK_IMPORTED_MODULE_15__[\"default\"].prototype.axios = _services_request_js__WEBPACK_IMPORTED_MODULE_7__[\"default\"];\n// Vue.prototype.checkPermission = checkPermission; // 权限校验\nvue__WEBPACK_IMPORTED_MODULE_15__[\"default\"].config.productionTip = false; //阻止启动生产消息\nvue__WEBPACK_IMPORTED_MODULE_15__[\"default\"].prototype.$message = _utils_resetMessage__WEBPACK_IMPORTED_MODULE_14__.message; //重写提示\n\n// 引入echarts\n\nwindow.echarts = echarts__WEBPACK_IMPORTED_MODULE_16__;\nconsole.log('***process.env***', ({\"NODE_ENV\":\"test2\",\"BASE_URL\":\"\"}));\nwindow.env = \"test2\";\nenv = env == 'development' ? 'test2' : env;\nwindow.$config = _services_urlConfig_js__WEBPACK_IMPORTED_MODULE_2___default()(env);\nconsole.log(\"window.$config\", window.$config);\n\n// runtime模式-运行时\n// new Vue({\n//   render: h => h(App),\n// }).$mount('#app')\n\n// compiler(模板)\nwindow.mapVue = new vue__WEBPACK_IMPORTED_MODULE_15__[\"default\"]({\n  el: '#app',\n  router: _router__WEBPACK_IMPORTED_MODULE_3__[\"default\"],\n  store: _store_index_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n  components: {\n    App: _App_vue__WEBPACK_IMPORTED_MODULE_0__[\"default\"]\n  },\n  template: '<App/>'\n});\n\n//# sourceURL=webpack://hello-world/./src/main.js?");/***/ }),/***/ "./src/mixins/floorMethod.js":/*!***********************************!*\  !*** ./src/mixins/floorMethod.js ***!  \***********************************//***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {"use strict";eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/es.array.push.js */ \"./node_modules/_core-js@3.31.1@core-js/modules/es.array.push.js\");\n/* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var three__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! three */ \"./node_modules/_three@0.154.0@three/build/three.module.js\");\n/* harmony import */ var three_addons_libs_tween_module_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! three/addons/libs/tween.module.js */ \"./node_modules/_three@0.154.0@three/examples/jsm/libs/tween.module.js\");\n\n// var app = getApp(); //获取应用实例\n// const util = require('@/static/utils/util.js');\n// const config = require('@/services/urlConfig.js');\n// import requestConfig from '@/services/requestConfig.js';\n\n\nlet glbWidth = 300; //空间地板模型的真实尺寸\nlet glbHeight = 300;\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n  data() {\n    return {\n      gltfSpaceUrl: \"https://dm.static.elab-plus.com/miniProgram/model/BP_AutoWall_WoodFloor3.glb\",\n      //模型地址\n      // gltfSpaceUrl: \"https://dm.static.elab-plus.com/3d/model/20230607/diban/diban.gltf\", //模型地址\n      // gltfSpaceUrl: \"https://dm.static.elab-plus.com/miniProgram/model/BP_L_carpet01-1.gltf\", //模型地址\n      // gltfSpace1Url: \"https://dm.static.elab-plus.com/miniProgram/model/BP_G_tiles01_1.gltf\", //模型地址\n      gltfSpace1Url: \"https://dm.static.elab-plus.com/miniProgram/model/BP_G_tiles01_3.gltf\",\n      //模型地址\n      instancedSpaceMeshList: [],\n      //地板实例对象 当地板复杂是就会存在多个\n      spaceTypes: [\"卧室\", \"客厅\", \"餐厅\", \"厨房\", \"玄关\", \"卫生间\", \"衣帽间\", \"收纳\", \"阳台\", \"飘窗\", \"链接空间\", \"自定义\", \"楼梯\", \"花园\"]\n    };\n  },\n  watch: {},\n  methods: {\n    // 加载地板模型\n    loaderSpaceArr(list) {\n      if (!list || list.length == 0) {\n        return false;\n      }\n      this.instancedSpaceMeshList = [];\n      this.gltfSpaces = [];\n      let comlist = list.filter(it => it.spaceType != 14); //过滤花园的空间\n      this.loaderCommonSpace(this.gltfSpaceUrl, comlist, 1);\n      let arrlist = list.filter(it => it.spaceType == 14); //花园的空间\n      this.loaderCommonSpace(this.gltfSpace1Url, arrlist, 2);\n    },\n    loaderCommonSpace(gltfSpaceUrl, list, type = 1) {\n      var that = this;\n      this.loader.load(gltfSpaceUrl, gltf => {\n        console.log(\"地板模型加载成功\", list);\n        // gltf.scene.receiveShadow = true;//材质是否接收阴影\n        gltf.scene.traverse(child => {\n          if (child.isMesh && child.visible) {\n            let instancedMesh = new three__WEBPACK_IMPORTED_MODULE_1__.InstancedMesh(child.geometry.clone(), child.material.clone(), list.length);\n            this.instancedSpaceMeshList.push(instancedMesh);\n            //设置每一块地板的实例值\n            list.forEach((obj, i) => {\n              let positionX = obj.centerX / 100;\n              let positionY = obj.centerY / 100;\n              if (type == 1) {\n                // glbWidth = glbHeight = 1500;\n              }\n              let scaleX = obj.spaceWidth / glbWidth;\n              let scaleY = obj.spaceHeight / glbHeight;\n              gltf.scene.position.set(positionX, 0, -positionY);\n              gltf.scene.scale.set(scaleX, 1, scaleY);\n              gltf.scene.updateMatrixWorld(); //更新世界坐标-这样,子模型也同步更新了\n\n              instancedMesh.setMatrixAt(i, child.matrixWorld);\n              instancedMesh.instanceMatrix.needsUpdate = true;\n              let gltfSpace = that.gltfSpaces.find(gltfSpace => gltfSpace.spaceId == obj.spaceId); //判断是否已经添加过\n              if (!gltfSpace) {\n                let position = new three__WEBPACK_IMPORTED_MODULE_1__.Vector3(); //当前几何体的位置参数\n                let scale = new three__WEBPACK_IMPORTED_MODULE_1__.Vector3(); //当前几何体的缩放参数\n                position.set(positionX, 0, -positionY);\n                scale.set(scaleX, 1, scaleY);\n                let md = {\n                  spaceId: obj.spaceId,\n                  //模型实例的唯一标识\n                  instancedMeshIndexList: [\n                  //标识网格实例数组的序号 以及 当前几何体 在网格实例的序号\n                  {\n                    instancedMeshIndex: this.instancedSpaceMeshList.length - 1,\n                    instancedAtIndex: i\n                  }],\n                  spaceName: obj.spaceName,\n                  //几何体的id\n                  spaceType: obj.spaceType,\n                  position: position,\n                  scale: scale,\n                  isSizeLock: obj.isSizeLock\n                };\n                that.gltfSpaces.push(md);\n              } else {\n                //添加另外一组实例\n                gltfSpace.instancedMeshIndexList.push({\n                  instancedMeshIndex: this.instancedSpaceMeshList.length - 1,\n                  instancedAtIndex: i\n                });\n              }\n            });\n            instancedMesh.userType = \"mesh\";\n            if (type == 2) {\n              //花园\n              instancedMesh.name = \"花园\";\n            } else {\n              //室内\n              instancedMesh.name = \"地板\";\n            }\n            instancedMesh.receiveShadow = true; //材质是否接收阴影\n            that.scene.add(instancedMesh);\n          }\n        });\n        if (false) {}\n      });\n    },\n    //修改当前空间的面积大小\n    changeSpacesAnimOld(curSpace) {\n      // 寻找地板\n      const cube = this.gltfSpaces.find(item => {\n        return item.spaceId == curSpace.spaceId;\n      });\n      console.log(\"空间移动目标\", cube.spaceId, JSON.stringify(cube.position), JSON.stringify(cube.scale), curSpace.toScaleX, curSpace.toScaleZ, curSpace.toPx, curSpace.toPz);\n      //获取地板模型的geometry实例\n      cube.instancedMeshIndexList.forEach(instanced => {\n        let _index = instanced.instancedMeshIndex; //第一个geometry实例 在 全局InstancedMesh实例的位置\n        let instancedMesh = this.instancedSpaceMeshList[_index]; //获取具体的网格实例\n        let stratMatrix = new three__WEBPACK_IMPORTED_MODULE_1__.Matrix4(); //定义一个四维矩阵\n        instancedMesh.getMatrixAt(instanced.instancedAtIndex, stratMatrix); //获取当前几何体的四维矩阵到stratMatrix里面\n\n        let endMatrix = stratMatrix.clone(); //复制一个四维矩阵 \n        let scaleMatrix = new three__WEBPACK_IMPORTED_MODULE_1__.Matrix4(); //定义一个缩放变化矩阵\n        let panMatrix = new three__WEBPACK_IMPORTED_MODULE_1__.Matrix4(); //定义一个平移变化矩阵\n\n        scaleMatrix.makeScale(curSpace.toScaleX / cube.scale.x, 1, curSpace.toScaleZ / cube.scale.z); //获得缩放变化矩阵\n        panMatrix.makeTranslation(curSpace.toPx - cube.position.x, 0, curSpace.toPz - cube.position.z); //获得平移变化矩阵\n        endMatrix.multiply(scaleMatrix).premultiply(panMatrix); //通过矩阵计算获得最终的矩阵\n        // console.warn(\"***drawModel-isAnimate-space***\",JSON.stringify(endMatrix1),JSON.stringify(endMatrix),JSON.stringify(stratMatrix));\n        var tween = new three_addons_libs_tween_module_js__WEBPACK_IMPORTED_MODULE_2__.TWEEN.Tween(stratMatrix.elements).to(endMatrix.elements, 2000).easing(three_addons_libs_tween_module_js__WEBPACK_IMPORTED_MODULE_2__.TWEEN.Easing.Quadratic.InOut).onUpdate(matrixWorld => {\n          let m4 = new three__WEBPACK_IMPORTED_MODULE_1__.Matrix4(); //定义一个四维矩阵\n          m4.set(...matrixWorld); //注意:四维矩阵的显示和实际计算的行列优先规则不同\n          instancedMesh.instanceMatrix.needsUpdate = true; //更新之前,必须开启开关\n          instancedMesh.setMatrixAt(instanced.instancedAtIndex, m4.transpose()); //更新几何体的世界矩阵\n        }).onComplete(() => {\n          instancedMesh.setMatrixAt(instanced.instancedAtIndex, endMatrix); //更新几何体的世界矩阵\n          this.tweenCameraAnmaChange(false);\n        });\n        // 开始动画\n        tween.start();\n        this.tweenCameraAnmaChange(true);\n        cube.position.x = curSpace.toPx;\n        cube.position.z = curSpace.toPz;\n        cube.scale.x = curSpace.toScaleX;\n        cube.scale.z = curSpace.toScaleZ;\n      });\n    },\n    //修改当前空间的面积大小-动画方案2\n    changeSpacesAnim(curSpace) {\n      // 寻找地板\n      const cube = this.gltfSpaces.find(item => {\n        return item.spaceId == curSpace.spaceId;\n      });\n      console.log(\"空间移动目标\", cube.spaceId, JSON.stringify(cube.position), JSON.stringify(cube.scale), curSpace.toPx, curSpace.toPz, curSpace.toScaleX, curSpace.toScaleZ);\n      //初始形变值\n      let x = cube.position.x;\n      let z = cube.position.z;\n      let scaleX = cube.scale.x;\n      let scaleZ = cube.scale.z;\n      //最终形变值\n      let toPx = curSpace.toPx;\n      let toPz = curSpace.toPz;\n      let toScaleX = curSpace.toScaleX;\n      let toScaleZ = curSpace.toScaleZ;\n      let spaceInitMatrix = []; //空间动画时的初始变换矩阵\n      cube.instancedMeshIndexList.forEach(instanced => {\n        let _index = instanced.instancedMeshIndex; //geometry实例 在 全局InstancedMesh实例的位置\n        let instancedMesh = this.instancedSpaceMeshList[_index]; //获取具体的网格实例\n        let startMatrix = new three__WEBPACK_IMPORTED_MODULE_1__.Matrix4(); //定义一个四维矩阵\n        instancedMesh.getMatrixAt(instanced.instancedAtIndex, startMatrix); //获取当前几何体的四维矩阵到stratMatrix里面\n        spaceInitMatrix.push({\n          index: _index,\n          matrix: startMatrix.clone()\n        });\n      });\n      // console.warn(\"***cube***\",cube.spaceId,Date.now(),JSON.stringify(spaceInitMatrix[0].matrix))\n      var tween = new three_addons_libs_tween_module_js__WEBPACK_IMPORTED_MODULE_2__.TWEEN.Tween({\n        x: cube.position.x,\n        z: cube.position.z,\n        sx: cube.scale.x,\n        sz: cube.scale.z\n      }).to({\n        x: curSpace.toPx,\n        z: curSpace.toPz,\n        sx: curSpace.toScaleX,\n        sz: curSpace.toScaleZ\n      }, 2000).easing(three_addons_libs_tween_module_js__WEBPACK_IMPORTED_MODULE_2__.TWEEN.Easing.Quadratic.InOut).onUpdate(object => {\n        //获取地板模型的geometry实例\n        cube.instancedMeshIndexList.forEach(instanced => {\n          let _index = instanced.instancedMeshIndex; //第一个geometry实例 在 全局InstancedMesh实例的位置\n          let instancedMesh = this.instancedSpaceMeshList[_index]; //获取具体的网格实例\n          //获取对象实例的初始变换矩阵\n          let tmp = spaceInitMatrix.find(it => it.index == _index);\n          let stratMatrix = tmp.matrix.clone(); //获取初始变换矩阵\n          let scaleMatrix = new three__WEBPACK_IMPORTED_MODULE_1__.Matrix4(); //定义一个缩放变化矩阵\n          let panMatrix = new three__WEBPACK_IMPORTED_MODULE_1__.Matrix4(); //定义一个平移变化矩阵\n\n          scaleMatrix.makeScale(object.sx / scaleX, 1, object.sz / scaleZ); //获得缩放变化矩阵\n          panMatrix.makeTranslation(object.x - x, 0, object.z - z); //获得平移变化矩阵\n          stratMatrix.multiply(scaleMatrix).premultiply(panMatrix); //通过矩阵计算获得最终的形变矩阵\n          instancedMesh.instanceMatrix.needsUpdate = true; //更新之前,必须开启开关\n          instancedMesh.setMatrixAt(instanced.instancedAtIndex, stratMatrix); //更新几何体的世界矩阵\n        });\n      }).onComplete(() => {\n        //这个回调很可能会很慢\n        this.tweenCameraAnmaChange(false);\n        console.warn(\"***changeSpacesAnim-over***\");\n      });\n      // 开始动画\n      tween.start();\n      this.tweenCameraAnmaChange(true);\n      cube.position.x = curSpace.toPx;\n      cube.position.z = curSpace.toPz;\n      cube.scale.x = curSpace.toScaleX;\n      cube.scale.z = curSpace.toScaleZ;\n    },\n    //所有空间整体缩放-同时同步到数据里面\n    allSpaceScale() {\n      const centerOffset = new three__WEBPACK_IMPORTED_MODULE_1__.Vector3(0, 0, 0); // 假设中心点在几何体的正中心\n      const scale = new three__WEBPACK_IMPORTED_MODULE_1__.Vector3(0.9, 1, 0.9); // 缩放尺度\n      //实例化的默认中心是就原点也就是0 0 0 这个点,所以centerOffset也必须是原点\n      // this.instancedMeshList.forEach((mesh)=>{\n      // \tmesh.scale.copy(scale);\n      // \tmesh.updateMatrix();\n      // \tmesh.updateMatrixWorld();\n      // \tmesh.updateMorphTargets();\n      // \tmesh.geometry.computeVertexNormals();\n      // })\n      // this.instancedSpaceMeshList.forEach((mesh)=>{\n      // \tmesh.scale.copy(scale);\n      // \tmesh.updateMatrix();\n      // \tmesh.updateMatrixWorld();\n      // \tmesh.updateMorphTargets();\n      // \tmesh.geometry.computeVertexNormals();\n      // })\n      // this.gltfLayouts.forEach((mesh)=>{\n      // \t// mesh.scale.copy(scale);\n      // })\n\n      this.gltfSpaces.forEach(cube => {\n        let dis = centerOffset.clone().sub(cube.position); //获得差值向量\n        // console.warn(\"***dis***\",JSON.stringify(dis),JSON.stringify(cube.position),cube.spaceId);\n        let x = dis.x * (1 - scale.x); //x轴需要移动的距离\n        let y = dis.y * (1 - scale.y); //y轴需要移动的距离\n        let z = dis.z * (1 - scale.z); //z轴需要移动的距离\n\n        let pi = new three__WEBPACK_IMPORTED_MODULE_1__.Vector3(); //新的中心点位置\n        pi.x = cube.position.x + x;\n        pi.y = cube.position.y + y;\n        pi.z = cube.position.z + z;\n        cube.scale.x = cube.scale.x * scale.x; //修改真实的比例\n        cube.scale.z = cube.scale.z * scale.z; //\n        cube.position.copy(pi);\n        //同步信息到空间列表中\n        let sapce = this.spaceList.find(it => {\n          return it.spaceId == cube.spaceId;\n        });\n        if (sapce) {\n          //更新空间中心点值\n          sapce.centerX = pi.x * 100;\n          sapce.centerY = -1 * pi.z * 100;\n          //更新空间宽度高度值\n          sapce.spaceWidth = cube.scale.x * glbWidth;\n          sapce.spaceHeight = cube.scale.z * glbHeight;\n        }\n        // let dir = new THREE.Vector3( 0, 10, 0 );;//当前几何体的位置参数\n        // console.warn(\"***dis1***\",JSON.stringify(pi),JSON.stringify(dir));\n        // let length = 3;\n        // let hex = 0xff0000;\n        // let arrowHelper = new THREE.ArrowHelper( dir, pi, length, hex );\n        // this.scene.add( arrowHelper );\n\n        //这是矩阵运算处理缩放的方法-此为数学上的方案\n        cube.instancedMeshIndexList.forEach(instanced => {\n          let _index = instanced.instancedMeshIndex; //第一个geometry实例 在 全局InstancedMesh实例的位置\n          let instancedMesh = this.instancedSpaceMeshList[_index]; //获取具体的网格实例\n          let stratMatrix = new three__WEBPACK_IMPORTED_MODULE_1__.Matrix4(); //定义一个四维矩阵\n          instancedMesh.getMatrixAt(instanced.instancedAtIndex, stratMatrix); //获取当前几何体的四维矩阵到stratMatrix里面\n          let scaleMatrix = new three__WEBPACK_IMPORTED_MODULE_1__.Matrix4().makeScale(scale.x, scale.y, scale.z);\n          let inverseTranslationMatrix = new three__WEBPACK_IMPORTED_MODULE_1__.Matrix4().makeTranslation(x, y, z);\n          stratMatrix.premultiply(inverseTranslationMatrix);\n          stratMatrix.multiply(scaleMatrix);\n          instancedMesh.instanceMatrix.needsUpdate = true;\n          instancedMesh.setMatrixAt(instanced.instancedAtIndex, stratMatrix); //更新几何体的世界矩阵\n        });\n      });\n\n      this.$nextTick(() => {\n        this.updateAllWallHandle();\n      });\n      setTimeout(() => {\n        this.updataPageData(); //更新数据到各个对象里面\n        this.calculateLayoutModelSize(); //重新计算家具位置\n        this.updateLables(); //更新lable\n        this.$nextTick(() => {\n          this.updateCareFul(); //更新精细调整里面的空间\n          this.updateSpanceData(); //更新语音组件里面的空间\n        });\n      }, 100);\n    }\n  }\n});\n\n//# sourceURL=webpack://hello-world/./src/mixins/floorMethod.js?");/***/ }),/***/ "./src/mixins/loadModel.js":/*!*********************************!*\  !*** ./src/mixins/loadModel.js ***!  \*********************************//***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {"use strict";eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/es.array.push.js */ \"./node_modules/_core-js@3.31.1@core-js/modules/es.array.push.js\");\n/* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _static_layoutModelData_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @/static/layoutModelData.js */ \"./src/static/layoutModelData.js\");\n/* harmony import */ var _static_layoutModelData_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_static_layoutModelData_js__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _static_globlShowModel_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @/static/globlShowModel.js */ \"./src/static/globlShowModel.js\");\n/* harmony import */ var _static_globlShowModel_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_static_globlShowModel_js__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var three_addons_loaders_DRACOLoader_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! three/addons/loaders/DRACOLoader.js */ \"./node_modules/_three@0.154.0@three/examples/jsm/loaders/DRACOLoader.js\");\n/* harmony import */ var three__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! three */ \"./node_modules/_three@0.154.0@three/build/three.module.js\");\n\n// const util = require('@/static/utils/util.js');\nconst config = __webpack_require__(/*! @/services/urlConfig.js */ \"./src/services/urlConfig.js\");\n\n\n// import requestConfig from '@/services/requestConfig.js';\n\n\n// import { TWEEN } from '@/webgl/jsm/libs/tween.module.min.js';\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n  data() {\n    return {\n      gltfLayouts: [],\n      instancedFurList: [],\n      arrFrunList: [],\n      promise_list: [],\n      loadFurPromise: new Promise(resolve => {\n        this.loadedCompleteFun = function () {\n          console.log('家具模型接口结束');\n          resolve();\n        };\n      }),\n      dracoLoader: null,\n      type: 1,\n      tmpList: [],\n      realList: []\n    };\n  },\n  watch: {},\n  mounted() {\n    console.warn(\"***loadmodel-mounted****\");\n    this.dracoLoader = new three_addons_loaders_DRACOLoader_js__WEBPACK_IMPORTED_MODULE_3__.DRACOLoader();\n    this.dracoLoader.setDecoderPath('/gltf/');\n    this.dracoLoader.setDecoderConfig({\n      type: 'js'\n    });\n    this.dracoLoader.preload();\n  },\n  methods: {\n    // 设置空间数组的墙体信息 \n    async setSpaceListWallInfo() {\n      for (let index = 0; index < this.spaceList.length; index++) {\n        let spaceWallInfo = {\n          wallN: false,\n          wallS: false,\n          wallW: false,\n          wallE: false\n        };\n        const element = this.spaceList[index];\n        const wallWIndex = this.gltfWalls.findIndex(item => {\n          return element.spaceId == item.spaceId && item.wallDirection == \"W\";\n        });\n        spaceWallInfo.wallW = wallWIndex == -1 ? false : true;\n        const wallEIndex = this.gltfWalls.findIndex(item => {\n          return element.spaceId == item.spaceId && item.wallDirection == \"E\";\n        });\n        spaceWallInfo.wallE = wallEIndex == -1 ? false : true;\n        const wallNIndex = this.gltfWalls.findIndex(item => {\n          return element.spaceId == item.spaceId && item.wallDirection == \"N\";\n        });\n        spaceWallInfo.wallN = wallNIndex == -1 ? false : true;\n        const wallSIndex = this.gltfWalls.findIndex(item => {\n          return element.spaceId == item.spaceId && item.wallDirection == \"S\";\n        });\n        spaceWallInfo.wallS = wallSIndex == -1 ? false : true;\n        element.spaceWallInfo = spaceWallInfo;\n      }\n      await this.loadFurPromise; //等待解析分享者参数结束\n      this.$nextTick(() => {\n        this.calculateLayoutModelSize(); // 计算模型的位置\n      });\n    },\n\n    // 批量获取空间模型信息\n    async getOverallArrangementDetailsList(type = 1) {\n      // 设置空间数组的墙体信息\n      // this.setSpaceListWallInfo();\n      this.type = type; //加载类型,1空间加载 2 全局精简加载\n      let arr = this.spaceList.map(it => it.layoutId).filter(it => it != 0);\n      let parmas = {\n        ids: arr\n      };\n      this.loadFurPromise = new Promise((resolve, reject) => {\n        this.loadedCompleteFun = function () {\n          console.log('家具模型接口结束');\n          resolve();\n        };\n      });\n      let res = await requestConfig(\"getOverallArrangementDetailsList\", parmas);\n      if (!res.success || !res.list || res.list.length == 0) {\n        return false;\n      }\n      this.promise_list = [];\n      this.arrFrunList = res.list;\n      this.furnHandle();\n    },\n    //拆分家具模型加载逻辑\n    furnHandle() {\n      let startTime = new Date().getTime();\n      let tmpList = []; //临时数据\n      this.gltfLayouts = []; //模型列表,所有空间里面的每个模型(家具)对应一条记录\n\n      let allowSpaceId = [this.curSpaceObj.spaceId];\n      if (this.type == 2) {\n        //全局精简模型;需要的是所有空间的模型\n        allowSpaceId = this.spaceList.map(it => it.spaceId);\n      } else {\n        //空间模型模式\n        allowSpaceId = [this.curSpaceObj.spaceId];\n        if (this.curSpaceObj.spaceId == 758) {\n          //二层主卧特殊处理\n          allowSpaceId.push(735); //休闲小客厅\n        }\n        //花园类型的添加到家具加载目录里面\n        // this.spaceList.forEach(it=>{\n        // \tif(it.spaceType==14){\n        // \t\tallowSpaceId.push(it.spaceId);\n        // \t}\n        // })\n      }\n      // allowSpaceId = [285];//模型有警告,需要看下\n      this.arrFrunList.forEach(signel => {\n        let spaceId = this.spaceList.find(it => it.layoutId == signel.id).spaceId;\n        if (allowSpaceId.includes(spaceId)) {\n          //只加载允许的空间的布局,其他不加载\n          let md = JSON.parse(signel.modelJson); //获取布局里面的模型信息\n          console.warn(\"***布局***\", md, signel.id);\n          //遍历模型信息,获取模型列表\n          for (let i = 0; i < md.modelData.length; i++) {\n            let item = md.modelData[i];\n            item.spaceId = spaceId;\n            item.layoutId = signel.id;\n            item.h5Id = signel.id + \"\" + item.id; //唯一标识\n            if (item.modelName == 'BP_furnitureBase_C') {\n              continue;\n            } else {\n              tmpList.push(item);\n            }\n            // this.promise_list.push(\n            // \tnew Promise((resolve, reject) => {\n            // \t\tthis.loadLayoutModelsOld(item , resolve);\n            // \t})\n            // )\n          }\n        }\n      });\n\n      this.tmpList = tmpList;\n      if (this.type == 2) {\n        //全局精简模型;需要的是所有空间的模型\n        this.fliterList(tmpList);\n        console.warn(\"***fliterList***\", this.realList.length, this.realList);\n        tmpList = this.realList;\n      }\n      let realFurArr = this.preFurnitureData(tmpList); //统一处理家具模型\n      let arrLength = realFurArr.length;\n      console.log(\"***realFurArr***\", realFurArr);\n      realFurArr && realFurArr.forEach((item, index) => {\n        this.promise_list.push(new Promise((resolve, reject) => {\n          this.loadLayoutModels(item, arrLength, resolve);\n        }));\n      });\n      Promise.all(this.promise_list).then(() => {\n        let endTime = new Date().getTime();\n        console.log(\"家具模型全部加载完成,时间:\", endTime - startTime);\n        this.loadedCompleteFun();\n        // this.$nextTick(() => {\n        // \tthis.calculateLayoutModelSize() // 计算模型的位置\n        // })\n      });\n    },\n\n    //过滤掉不需要的家具\n    fliterList(list) {\n      this.realList = [];\n      //找到直接的家具模型\n      list && list.forEach(mod => {\n        let name = mod.modelName.substring(0, mod.modelName.length - 2);\n        if (_static_globlShowModel_js__WEBPACK_IMPORTED_MODULE_2___default().includes(name)) {\n          this.realList.push(mod);\n        }\n      });\n      this.realList.forEach(ref => {\n        this.recursionFliter(ref);\n      });\n    },\n    //递归处理不需要的家具\n    recursionFliter(item) {\n      let _list = []; //\n      if (parseInt(item.referenceModelBottom) > 0) {\n        _list.push(item.referenceModelBottom);\n      }\n      if (parseInt(item.referenceModelLeft) > 0) {\n        _list.push(item.referenceModelLeft);\n      }\n      if (parseInt(item.referenceModelRight) > 0) {\n        _list.push(item.referenceModelRight);\n      }\n      if (parseInt(item.referenceModelTop) > 0) {\n        _list.push(item.referenceModelTop);\n      }\n      if (_list.length == 0) {\n        return false;\n      } else {\n        this.tmpList.forEach(tmp => {\n          if (_list.includes(tmp.id)) {\n            if (!this.realList.find(it => it.h5Id == tmp.h5Id)) {\n              this.realList.push(tmp);\n              this.recursionFliter(tmp);\n            }\n          }\n        });\n      }\n    },\n    //预处理需要加载墙体模型的数据-减少模型请求数\n    preFurnitureData(list) {\n      let realFurnitureArr = []; //家具列表\n      let dataList = [];\n      dataList = list.map(item => {\n        let curSpace = this.spaceList.find(space => space.spaceId == item.spaceId);\n        return this.resetModelParameters(curSpace, item);\n      });\n      dataList && dataList.forEach((item, index) => {\n        item.uniId = Date.now() + index; //唯一标识\n        //获取墙体对应的gltb模型的相关信息\n        let modelName = item.modelName;\n        // console.log(\"布局模型名称\", modelName);\n        let layoutModel = _static_layoutModelData_js__WEBPACK_IMPORTED_MODULE_1___default().find(it => modelName.indexOf(it.modelName) == 0); //模型地址\n        if (layoutModel && layoutModel.url) {\n          //该数据存在模型地址\n          let object = realFurnitureArr.find(it => it.url == layoutModel.url);\n          //列表中还没有这个数据\n          if (!object) {\n            let it = {\n              url: layoutModel.url,\n              name: layoutModel.modelName,\n              list: [item]\n            };\n            realFurnitureArr.push(it);\n          } else {\n            object.list.push(item);\n          }\n        }\n      });\n      return realFurnitureArr;\n    },\n    //加载家具模型-实例化方案\n    loadLayoutModels(realData, arrLength, resolve) {\n      var that = this;\n      if (!realData.url) {\n        console.warn(\"***家具模型不存在***\", realData);\n        resolve();\n        return false;\n      }\n      that.loader.setDRACOLoader(this.dracoLoader);\n      // if(realData.url.endsWith('.glb')){\n      // \trealData.url = realData.url.replace('/model/',/dracomodel/);\n      // }\n      that.loader.load(realData.url, gltf => {\n        // that.progress = parseInt(100/arrLength) + that.progress;\n        // if(that.progress>100){\n        // \tthat.progress = 100;\n        // }\n        // that.$refs.myLoading.showLoading(\"加载中...\" + that.progress+'%')\n        // console.log(\"家具加载成功\",that.progress,realData,gltf);\n        // gltf.scene.castShadow = true; \n        gltf.scene.traverse(child => {\n          if (child.isMesh && child.visible) {\n            let instancedMesh = new three__WEBPACK_IMPORTED_MODULE_4__.InstancedMesh(child.geometry.clone(), child.material.clone(), realData.list.length);\n            this.instancedFurList.push(instancedMesh);\n            //realData 该模型被重复使用时的每一次的形变参数等\n            realData.list && realData.list.forEach((it, i) => {\n              let rotationY = Math.PI / 2;\n              if (parseFloat(it.rotation) == 90) {\n                rotationY = 0;\n              }\n              if (parseFloat(it.rotation) == 180) {\n                rotationY = -Math.PI / 2;\n              }\n              if (parseFloat(it.rotation) == -90) {\n                rotationY = -Math.PI;\n              }\n              gltf.scene.rotation.y = rotationY;\n              gltf.scene.updateMatrixWorld(); //更新世界坐标-这样,子模型也同步更新了\n              instancedMesh.setMatrixAt(i, child.matrixWorld);\n              instancedMesh.instanceMatrix.needsUpdate = true;\n              // instancedMesh.setColorAt(i, child.material.color);\n              // instancedMesh.instanceColor.needsUpdate = true;\n              let gltfFurn = that.gltfLayouts.find(itme => itme.uniId == it.uniId); //判断是否已经添加过\n              if (!gltfFurn) {\n                let position = new three__WEBPACK_IMPORTED_MODULE_4__.Vector3(); //当前几何体的位置参数\n                let scale = new three__WEBPACK_IMPORTED_MODULE_4__.Vector3(); //当前几何体的缩放参数\n                let rotation = new three__WEBPACK_IMPORTED_MODULE_4__.Vector3(); //当前几何体的缩放参数\n                let md = {\n                  uniId: it.uniId,\n                  //家具模型实例的唯一标识\n                  spaceId: it.spaceId,\n                  id: it.id,\n                  instancedMeshIndexList: [\n                  //标识网格实例数组的序号 以及 当前几何体 在网格实例的序号\n                  {\n                    instancedMeshIndex: this.instancedFurList.length - 1,\n                    instancedAtIndex: i\n                  }],\n                  userData: it,\n                  position: position,\n                  scale: scale,\n                  rotation: rotation,\n                  loaded: false\n                };\n                that.gltfLayouts.push(md);\n              } else {\n                gltfFurn.instancedMeshIndexList.push({\n                  instancedMeshIndex: this.instancedFurList.length - 1,\n                  instancedAtIndex: i\n                });\n              }\n            });\n            instancedMesh.userType = \"layoutMesh\";\n            if (realData.name.includes(\"BP_L_carpet01\")) {\n              //地毯接收阴影\n              instancedMesh.receiveShadow = true; //对象是否接收阴影\n            } else {\n              instancedMesh.castShadow = true; //对象是否产生阴影\n            }\n          }\n        });\n\n        resolve();\n      });\n    },\n    //加载模型\n    loadLayoutModelsOld(modelObj, resolve) {\n      let that = this;\n      const modelName = modelObj.modelName;\n      console.log(\"布局模型名称\", modelName);\n      let layoutModel = _static_layoutModelData_js__WEBPACK_IMPORTED_MODULE_1___default().find(it => modelName.indexOf(it.modelName) == 0); //模型地址\n      if (!layoutModel || !layoutModel.url) {\n        resolve();\n        return false;\n      }\n      let url = layoutModel.url;\n      console.log(\"布局模型数据\", layoutModel);\n      that.loader.load(url, gltf => {\n        // console.log(\"布局模型加载成功\", gltf);\n        let model = gltf.scene; // 获取模型\n\n        model.name = layoutModel.modelName;\n        model.userType = \"layoutMesh\";\n        model.userData = modelObj;\n\n        // model.rotation.y =  Math.PI / 2 ;  // 旋转 90 度\n        this.gltfLayouts.push(model);\n        resolve();\n      });\n    },\n    // 计算家具的位置\n    calculateLayoutModelSize() {\n      console.log(\"计算家具的位置\", this.gltfLayouts);\n      for (let index = 0; index < this.spaceList.length; index++) {\n        const element = this.spaceList[index];\n        const gltfLayoutModels = this.gltfLayouts.filter(item => {\n          return element.layoutId == item.userData.layoutId && element.spaceId == item.userData.spaceId;\n        });\n        //空间下不存在家具模型,则该空间不需要进行下一步处理\n        if (!gltfLayoutModels || gltfLayoutModels.length == 0) {\n          continue;\n        }\n        gltfLayoutModels.sort(function (a, b) {\n          return a.userData.level - b.userData.level;\n        });\n        // console.log(\"对应空间ID的模型数组\", this.gltfLayouts, element.spaceId, gltfLayoutModels)\n        for (let j = 0; j < gltfLayoutModels.length; j++) {\n          const cube = gltfLayoutModels[j];\n          this.drawLayoutModel(element, cube);\n        }\n      }\n    },\n    // 绘制模型\n    drawLayoutModel(curSpace, cube) {\n      const {\n        centerX,\n        spaceId\n      } = curSpace;\n      // const cubeInfo = this.resetModelParameters(curSpace, cube.userData);\n      const cubeInfo = cube.userData;\n      let centerY = curSpace.centerY * -1; // UE和ThreeJS坐标做相反\n      // 默认空间中心点\n      let positionX = centerX;\n      let positionY = centerY;\n      // let rotationY = Math.PI / 2\n      let scaleX = 1;\n      let scaleY = 1;\n\n      // 空间尺寸\n      let spaceWidth = curSpace.spaceWidth;\n      let spaceHeight = curSpace.spaceHeight;\n      // 模型尺寸\n      let modelWidth = cubeInfo.modelWidth;\n      let modelHeight = cubeInfo.modelHeight;\n\n      // // 判断旋转\n      // if (parseFloat(cubeInfo.rotation) == 90) {\n      // \trotationY = 0;\n      // \t// 交换尺寸\n      // \t// modelWidth = cubeInfo.modelHeight;\n      // \t// modelHeight = cubeInfo.modelWidth;\n      // }\n      // if (parseFloat(cubeInfo.rotation) == 180) {\n      // \trotationY = -Math.PI / 2;\n      // \t// modelWidth = cubeInfo.modelHeight;\n      // \t// modelHeight = cubeInfo.modelWidth;\n      // }\n\n      // if (parseFloat(cubeInfo.rotation) == -90) {\n      // \trotationY = -Math.PI;\n      // \t// 交换尺寸\n      // \t// modelWidth = cubeInfo.modelHeight;\n      // \t// modelHeight = cubeInfo.modelWidth;\n      // }\n      // 判断靠墙\n      if (cubeInfo.isStepAsideLeft == 'true') {\n        positionX = centerX - (spaceWidth / 2 - modelWidth / 2);\n        if (parseFloat(cubeInfo.rotation) == 90 || parseFloat(cubeInfo.rotation) == -90) {\n          positionX = centerX - (spaceWidth / 2 - modelWidth / 2);\n        }\n        positionX += parseFloat(cubeInfo.marginLeft);\n        positionX += curSpace.spaceWallInfo.wallW ? 10 : 0;\n      }\n      if (cubeInfo.isStepAsideRight == 'true') {\n        positionX = centerX + (spaceWidth / 2 - modelWidth / 2);\n        if (parseFloat(cubeInfo.rotation) == 90 || parseFloat(cubeInfo.rotation) == -90) {\n          positionX = centerX + (spaceWidth / 2 - modelWidth / 2);\n        }\n        positionX -= parseFloat(cubeInfo.marginRight);\n        positionX -= curSpace.spaceWallInfo.wallE ? 10 : 0;\n      }\n      if (cubeInfo.isStepAsideTop == 'true') {\n        positionY = centerY - (spaceHeight / 2 - modelHeight / 2);\n        if (parseFloat(cubeInfo.rotation) == 90 || parseFloat(cubeInfo.rotation) == -90) {\n          positionY = centerY - (spaceHeight / 2 - modelHeight / 2);\n        }\n        positionY += parseFloat(cubeInfo.marginTop);\n        positionY += curSpace.spaceWallInfo.wallN ? 10 : 0;\n      }\n      if (cubeInfo.isStepAsideBottom == 'true') {\n        positionY = centerY + (spaceHeight / 2 - modelHeight / 2);\n        if (parseFloat(cubeInfo.rotation) == 90 || parseFloat(cubeInfo.rotation) == -90) {\n          positionY = centerY + (spaceHeight / 2 - modelHeight / 2);\n        }\n        positionY -= parseFloat(cubeInfo.marginBottom);\n        positionY -= curSpace.spaceWallInfo.wallS ? 10 : 0;\n      }\n      // 参照物\n      if (parseInt(cubeInfo.referenceModelTop) > 0) {\n        const referenceModel = this.gltfLayouts.find(item => {\n          const layoutModelData = item.userData;\n          return layoutModelData.id == parseInt(cubeInfo.referenceModelTop) && layoutModelData.spaceId == cubeInfo.spaceId && layoutModelData.layoutId == cubeInfo.layoutId;\n        });\n        if (!referenceModel) {\n          console.warn(\"***no-data***\", cubeInfo.referenceModelTop, cubeInfo);\n          return false;\n        }\n        positionY = referenceModel.position.z * 100 + (referenceModel.userData.modelHeight / 2 + cubeInfo.modelHeight / 2);\n        positionY = positionY + parseFloat(cubeInfo.marginTop);\n      }\n      if (parseInt(cubeInfo.referenceModelBottom) > 0) {\n        const referenceModel = this.gltfLayouts.find(item => {\n          const layoutModelData = item.userData;\n          return layoutModelData.id == parseInt(cubeInfo.referenceModelBottom) && layoutModelData.spaceId == cubeInfo.spaceId && layoutModelData.layoutId == cubeInfo.layoutId;\n        });\n        if (!referenceModel) {\n          console.warn(\"***no-data***\", cubeInfo.referenceModelBottom, cubeInfo);\n          return false;\n        }\n        positionY = referenceModel.position.z * 100 - (referenceModel.userData.modelHeight / 2 + cubeInfo.modelHeight / 2);\n        positionY = positionY - parseFloat(cubeInfo.marginBottom);\n      }\n      if (parseInt(cubeInfo.referenceModelLeft) > 0) {\n        const referenceModel = this.gltfLayouts.find(item => {\n          const layoutModelData = item.userData;\n          return layoutModelData.id == parseInt(cubeInfo.referenceModelLeft) && layoutModelData.spaceId == cubeInfo.spaceId && layoutModelData.layoutId == cubeInfo.layoutId;\n        });\n        if (!referenceModel) {\n          console.warn(\"***no-data***\", cubeInfo.referenceModelLeft, cubeInfo);\n          return false;\n        }\n        positionX = referenceModel.position.x * 100 + (referenceModel.userData.modelWidth / 2 + cubeInfo.modelWidth / 2);\n        positionX = positionX + parseFloat(cubeInfo.marginLeft);\n      }\n      if (parseInt(cubeInfo.referenceModelRight) > 0) {\n        const referenceModel = this.gltfLayouts.find(item => {\n          const layoutModelData = item.userData;\n          return layoutModelData.id == parseInt(cubeInfo.referenceModelRight) && layoutModelData.spaceId == cubeInfo.spaceId && layoutModelData.layoutId == cubeInfo.layoutId;\n        });\n        if (!referenceModel) {\n          console.warn(\"***no-data***\", cubeInfo.referenceModelRight, cubeInfo);\n          return false;\n        }\n        positionX = referenceModel.position.x * 100 - (referenceModel.userData.modelWidth / 2 + cubeInfo.modelWidth / 2);\n        positionX = positionX - parseFloat(cubeInfo.marginRight);\n      }\n      if (cubeInfo.isFixedWidth == \"false\" || cubeInfo.isFixedHeight == \"false\") {\n        // 固定尺寸\n        // 靠墙拉伸\n        if (cubeInfo.isStepAsideTop == 'true' && cubeInfo.isStepAsideBottom == 'true') {\n          // console.log(\"高度拉伸\", spaceHeight / modelHeight)\n\n          positionY = centerY;\n          if (curSpace.spaceWallInfo.wallN && curSpace.spaceWallInfo.wallS) {\n            spaceHeight -= 20 + parseFloat(cubeInfo.marginTop) + parseFloat(cubeInfo.marginBottom);\n          } else if (curSpace.spaceWallInfo.wallN) {\n            spaceHeight -= 10 + parseFloat(cubeInfo.marginTop);\n            positionY += 10 / 2;\n            positionY += parseFloat(cubeInfo.marginTop) / 2;\n          } else if (curSpace.spaceWallInfo.wallS) {\n            spaceHeight -= 10 + parseFloat(cubeInfo.marginBottom);\n            positionY -= 10 / 2;\n            positionY -= parseFloat(cubeInfo.marginBottom) / 2;\n          } else {\n            spaceHeight -= parseFloat(cubeInfo.marginTop) + parseFloat(cubeInfo.marginBottom);\n            positionY += parseFloat(cubeInfo.marginTop) / 2;\n            positionY -= parseFloat(cubeInfo.marginBottom) / 2;\n          }\n\n          // 计算缩放\n          if (parseFloat(cubeInfo.rotation) == 90 || parseFloat(cubeInfo.rotation) == -90) {\n            scaleY = spaceHeight / modelHeight;\n          } else {\n            scaleX = spaceHeight / modelHeight;\n          }\n        }\n        if (cubeInfo.isStepAsideLeft == 'true' && cubeInfo.isStepAsideRight == 'true') {\n          // console.log(\"宽度拉伸11111\", spaceWidth / modelWidth)\n          positionX = centerX;\n          if (curSpace.spaceWallInfo.wallW && curSpace.spaceWallInfo.wallE) {\n            spaceWidth -= 20 + parseFloat(cubeInfo.marginLeft) + parseFloat(cubeInfo.marginRight);\n            ;\n          } else if (curSpace.spaceWallInfo.wallW) {\n            spaceWidth -= 10 + parseFloat(cubeInfo.marginLeft);\n            positionX += 10 / 2;\n            positionX += parseFloat(cubeInfo.marginLeft) / 2;\n          } else if (curSpace.spaceWallInfo.wallE) {\n            spaceWidth -= 10 + parseFloat(cubeInfo.marginRight);\n            positionX -= 10 / 2;\n            positionX -= parseFloat(cubeInfo.marginRight) / 2;\n          } else {\n            spaceWidth -= parseFloat(cubeInfo.marginLeft) + parseFloat(cubeInfo.marginRight);\n            positionX += parseFloat(cubeInfo.marginLeft) / 2;\n            positionX -= parseFloat(cubeInfo.marginRight) / 2;\n          }\n          // console.log(\"模型计算位置\" , parseFloat(cubeInfo.rotation))\n          // 计算缩放\n          if (parseFloat(cubeInfo.rotation) == 90 || parseFloat(cubeInfo.rotation) == -90) {\n            scaleX = spaceWidth / modelWidth;\n          } else {\n            scaleY = spaceWidth / modelWidth;\n          }\n        }\n\n        // 单个参照物和墙面拉伸\n        if (cubeInfo.isStepAsideTop == 'true' && parseInt(cubeInfo.referenceModelBottom) > 0) {\n          const referenceModel = this.gltfLayouts.find(item => {\n            const layoutModelData = item.userData;\n            return layoutModelData.id == parseInt(cubeInfo.referenceModelBottom) && layoutModelData.spaceId == cubeInfo.spaceId && layoutModelData.layoutId == cubeInfo.layoutId;\n          });\n          const referenceModelPositionY = referenceModel.position.z * 100 - referenceModel.userData.modelHeight / 2 - parseFloat(cubeInfo.marginBottom);\n          const wallPositionY = centerY - spaceHeight / 2 + (curSpace.spaceWallInfo.wallN ? 10 : 0) + parseFloat(cubeInfo.marginTop);\n          const newModelHeight = Math.abs(referenceModelPositionY - wallPositionY);\n          // console.log(\"上边拉伸\", referenceModelPositionY, wallPositionY, newModelHeight)\n          if (Math.abs(parseFloat(cubeInfo.rotation)) == 90) {\n            scaleY = newModelHeight / modelHeight;\n          } else {\n            scaleX = newModelHeight / modelHeight;\n          }\n          positionY = wallPositionY + newModelHeight / 2;\n        }\n        if (cubeInfo.isStepAsideBottom == 'true' && parseInt(cubeInfo.referenceModelTop) > 0) {\n          const referenceModel = this.gltfLayouts.find(item => {\n            const layoutModelData = item.userData;\n            return layoutModelData.id == parseInt(cubeInfo.referenceModelTop) && layoutModelData.spaceId == cubeInfo.spaceId && layoutModelData.layoutId == cubeInfo.layoutId;\n          });\n          const referenceModelPositionY = referenceModel.position.z * 100 + referenceModel.userData.modelHeight / 2 + parseFloat(cubeInfo.marginTop) + (curSpace.spaceWallInfo.wallN ? 10 : 0);\n          const wallPositionY = centerY + spaceHeight / 2 - (curSpace.spaceWallInfo.wallS ? 10 : 0) - parseFloat(cubeInfo.marginBottom);\n          const newModelHeight = Math.abs(referenceModelPositionY - wallPositionY);\n          if (Math.abs(parseFloat(cubeInfo.rotation)) == 90) {\n            scaleY = newModelHeight / modelHeight;\n          } else {\n            scaleX = newModelHeight / modelHeight;\n          }\n          positionY = wallPositionY - newModelHeight / 2;\n        }\n        if (cubeInfo.isStepAsideLeft == 'true' && parseInt(cubeInfo.referenceModelRight) > 0) {\n          // console.log(\"左边拉伸\")\n\n          const referenceModel = this.gltfLayouts.find(item => {\n            const layoutModelData = item.userData;\n            return layoutModelData.id == parseInt(cubeInfo.referenceModelRight) && layoutModelData.spaceId == cubeInfo.spaceId && layoutModelData.layoutId == cubeInfo.layoutId;\n          });\n          const referenceModelPositionX = referenceModel.position.x * 100 - referenceModel.userData.modelWidth / 2 - parseFloat(cubeInfo.marginLeft);\n          const wallPositionX = centerX - spaceWidth / 2 + (curSpace.spaceWallInfo.wallE ? 10 : 0) + parseFloat(cubeInfo.marginRight);\n          const newModelWidth = Math.abs(referenceModelPositionX - wallPositionX);\n          if (Math.abs(parseFloat(cubeInfo.rotation)) == 90) {\n            scaleX = newModelWidth / modelWidth;\n          } else {\n            scaleY = newModelWidth / modelWidth;\n          }\n          positionX = wallPositionX + newModelWidth / 2;\n        }\n        if (cubeInfo.isStepAsideRight == 'true' && parseInt(cubeInfo.referenceModelLeft) > 0) {\n          const referenceModel = this.gltfLayouts.find(item => {\n            const layoutModelData = item.userData;\n            return layoutModelData.id == parseInt(cubeInfo.referenceModelLeft) && layoutModelData.spaceId == cubeInfo.spaceId && layoutModelData.layoutId == cubeInfo.layoutId;\n          });\n          const referenceModelPositionX = referenceModel.position.x * 100 + referenceModel.userData.modelWidth / 2 + parseFloat(cubeInfo.marginLeft);\n          const wallPositionX = centerX + spaceWidth / 2 - (curSpace.spaceWallInfo.wallE ? 10 : 0) - parseFloat(cubeInfo.marginRight);\n          const newModelWidth = Math.abs(referenceModelPositionX - wallPositionX);\n          if (Math.abs(parseFloat(cubeInfo.rotation)) == 90) {\n            scaleX = newModelWidth / modelWidth;\n          } else {\n            scaleY = newModelWidth / modelWidth;\n          }\n          positionX = wallPositionX - newModelWidth / 2;\n\n          // console.log(\"右边拉伸\", Math.abs(parseFloat(cubeInfo.rotation)))\n        }\n      }\n      // console.log(\"模型计算位置--\", positionX, positionY)\n      console.log(\"模型计算位置\", cubeInfo, centerX, centerY, spaceWidth, spaceHeight, modelWidth, modelHeight, spaceId, scaleX, scaleY, positionX, positionY);\n      let oldPosition = new three__WEBPACK_IMPORTED_MODULE_4__.Vector3(); //当前几何体的位置参数\n      oldPosition.copy(cube.position);\n      cube.position.x = positionX / 100;\n      cube.position.z = positionY / 100;\n      // cube.rotation.y = rotationY;\n      cube.scale.x = scaleX;\n      cube.scale.z = scaleY;\n      // if (!cube.parent) { //说明还没添加到场景中-旧版方法\n      // \tthis.scene.add(cube); //处理完毕后在加入场景中\n      // }\n      // if(scaleX>1 || scaleY>1){\n      // \tconsole.warn(\"***scaleinfo***\",cubeInfo.id,scaleX,scaleY,cubeInfo.modelName)\n      // }\n      if (this.type == 2) {\n        //全局精简加载\n        let name = cubeInfo.modelName.substring(0, cubeInfo.modelName.length - 2);\n        if (_static_globlShowModel_js__WEBPACK_IMPORTED_MODULE_2___default().includes(name)) {\n          if (cubeInfo.modelName == 'BP_XSPACE_deng_01_C') {\n            //灯光\n            this.lightHandle(cube);\n          } else {\n            this.updateInfo(cube, oldPosition, scaleX, scaleY); //实例化方法\n          }\n        }\n      } else {\n        if (cubeInfo.modelName == 'BP_XSPACE_deng_01_C') {\n          //灯光\n          this.lightHandle(cube);\n        } else {\n          this.updateInfo(cube, oldPosition, scaleX, scaleY); //实例化方法\n        }\n      }\n    },\n\n    //更新家具模型到页面中\n    updateInfo(cube, oldPosition, scaleX, scaleY) {\n      let lay = this.gltfLayouts.find(it => it.uniId == cube.uniId);\n      cube.instancedMeshIndexList.forEach(item => {\n        let index = item.instancedMeshIndex;\n        let instancedMesh = this.instancedFurList[index]; //网格实例对象\n        let curMeshIndex = item.instancedAtIndex; //当前家具模型在网格实例对象里面的序号\n        let stratMatrix = new three__WEBPACK_IMPORTED_MODULE_4__.Matrix4(); //定义一个四维矩阵\n        instancedMesh.getMatrixAt(curMeshIndex, stratMatrix); //获取当前几何体的四维矩阵到stratMatrix里面\n        let scaleMatrix = new three__WEBPACK_IMPORTED_MODULE_4__.Matrix4(); //定义一个缩放变化矩阵\n        let panMatrix = new three__WEBPACK_IMPORTED_MODULE_4__.Matrix4(); //定义一个平移变化矩阵\n        if (!lay.loaded) {\n          //说明还没添加到场景中\n          scaleMatrix.makeScale(scaleX, 1, scaleY); //获得缩放变化矩阵\n          panMatrix.makeTranslation(cube.position.x, 0, cube.position.z); //获得平移变化矩阵\n          stratMatrix.multiply(scaleMatrix).premultiply(panMatrix); //通过矩阵计算获得最终的形变矩阵\n          instancedMesh.instanceMatrix.needsUpdate = true; //更新之前,必须开启开关\n          instancedMesh.setMatrixAt(curMeshIndex, stratMatrix); //更新几何体的世界矩阵\n          this.scene.add(instancedMesh);\n        } else {\n          //更新形变矩阵\n          panMatrix.makeTranslation(cube.position.x - oldPosition.x, 0, cube.position.z - oldPosition.z); //获得平移变化矩阵\n          stratMatrix.premultiply(panMatrix); //通过矩阵计算获得最终的形变矩阵\n          instancedMesh.instanceMatrix.needsUpdate = true; //更新之前,必须开启开关\n          instancedMesh.setMatrixAt(curMeshIndex, stratMatrix); //更新几何体的世界矩阵\n        }\n      });\n\n      lay.loaded = true;\n    },\n    // 空间处理光源\n    lightHandle(cube) {\n      let light = this.gltfLayouts.find(it => it.uniId == cube.uniId);\n      if (!light.loaded) {\n        // 从一个点向各个方向发射的光源。一个常见的例子是模拟一个灯泡发出的光。\n        let pointLight = new three__WEBPACK_IMPORTED_MODULE_4__.PointLight(0xffd7b3, 1.5, 5, 1);\n        pointLight.position.set(cube.position.x, 1.5, cube.position.z); //default; light shining from top\n        this.scene.add(pointLight);\n        let sphereSize = 0.1;\n        let pointLightHelper = new three__WEBPACK_IMPORTED_MODULE_4__.PointLightHelper(pointLight, sphereSize);\n        this.scene.add(pointLightHelper);\n        pointLight.castShadow = true; // default false\n        // 默认情况下光投影相机区域是一个长宽高为10x10x500的长方体区域,光源投射方向为通过坐标原点\n        pointLight.shadow.camera.left = -200; // default\n        pointLight.shadow.camera.right = 200; // default\n        pointLight.shadow.camera.top = 200; // default\n        pointLight.shadow.camera.bottom = -200; // default\n        this.scene.add(pointLight);\n        light.loaded = true;\n      } else {}\n    },\n    // 空间布局旋转镜像重置模型约束\n    resetModelParameters(curSpace, cubeInfo) {\n      // 旋转\n      const defaultLayout = curSpace.layouts.find(item => {\n        return item.isDefault;\n      });\n      if (!defaultLayout) {\n        return cubeInfo;\n      }\n      let count = 0;\n      switch (parseInt(defaultLayout.layoutRotate)) {\n        case 90:\n          count = 1;\n          break;\n        case 180:\n          count = 2;\n          break;\n        case -90:\n          count = 3;\n          break;\n        default:\n          break;\n      }\n      for (let index = 0; index < count; index++) {\n        let oldCubeInfo = JSON.parse(JSON.stringify(cubeInfo));\n        oldCubeInfo.isStepAsideLeft = \"false\";\n        oldCubeInfo.isStepAsideTop = \"false\";\n        oldCubeInfo.isStepAsideRight = \"false\";\n        oldCubeInfo.isStepAsideBottom = \"false\";\n        oldCubeInfo.referenceModelLeft = \"0\";\n        oldCubeInfo.referenceModelTop = \"0\";\n        oldCubeInfo.referenceModelRight = \"0\";\n        oldCubeInfo.referenceModelBottom = \"0\";\n        oldCubeInfo.rotation = \"0\";\n        oldCubeInfo.marginLeft = \"0\";\n        oldCubeInfo.marginTop = \"0\";\n        oldCubeInfo.marginRight = \"0\";\n        oldCubeInfo.marginBottom = \"0\";\n\n        // 是否靠墙\n        if (cubeInfo.isStepAsideLeft == 'true') {\n          oldCubeInfo.isStepAsideTop = 'true';\n        }\n        if (cubeInfo.isStepAsideTop == 'true') {\n          oldCubeInfo.isStepAsideRight = 'true';\n        }\n        if (cubeInfo.isStepAsideRight == 'true') {\n          oldCubeInfo.isStepAsideBottom = 'true';\n        }\n        if (cubeInfo.isStepAsideBottom == 'true') {\n          oldCubeInfo.isStepAsideLeft = 'true';\n        }\n        // 参照物体\n        if (parseInt(cubeInfo.referenceModelLeft) > 0) {\n          oldCubeInfo.referenceModelTop = cubeInfo.referenceModelLeft;\n        }\n        if (parseInt(cubeInfo.referenceModelTop) > 0) {\n          oldCubeInfo.referenceModelRight = cubeInfo.referenceModelTop;\n        }\n        if (parseInt(cubeInfo.referenceModelRight) > 0) {\n          oldCubeInfo.referenceModelBottom = cubeInfo.referenceModelRight;\n        }\n        if (parseInt(cubeInfo.referenceModelBottom) > 0) {\n          oldCubeInfo.referenceModelLeft = cubeInfo.referenceModelBottom;\n        }\n\n        // 边距\n        oldCubeInfo.marginLeft = cubeInfo.marginTop;\n        oldCubeInfo.marginTop = cubeInfo.marginRight;\n        oldCubeInfo.marginRight = cubeInfo.marginBottom;\n        oldCubeInfo.marginBottom = cubeInfo.marginLeft;\n        oldCubeInfo.modelWidth = cubeInfo.modelHeight;\n        oldCubeInfo.modelHeight = cubeInfo.modelWidth;\n\n        // 旋转\n        if (parseInt(cubeInfo.rotation) == 0 || parseInt(cubeInfo.rotation) == 90) {\n          oldCubeInfo.rotation = parseInt(cubeInfo.rotation) + 90;\n        }\n        if (parseInt(cubeInfo.rotation) == 180) {\n          oldCubeInfo.rotation = \"-90\";\n        }\n        if (parseInt(cubeInfo.rotation) == -90) {\n          oldCubeInfo.rotation = \"0\";\n        }\n\n        // console.log(\"旋转前的模型参数X\", cubeInfo, oldCubeInfo, defaultLayout)\n\n        cubeInfo = oldCubeInfo;\n\n        // console.log(\"旋转后的模型参数X\", cubeInfo, oldCubeInfo, defaultLayout)\n      }\n\n      return cubeInfo;\n    }\n  }\n});\n\n//# sourceURL=webpack://hello-world/./src/mixins/loadModel.js?");/***/ }),/***/ "./src/mixins/screenshot.js":/*!**********************************!*\  !*** ./src/mixins/screenshot.js ***!  \**********************************//***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {"use strict";eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var core_js_modules_es_typed_array_to_reversed_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/es.typed-array.to-reversed.js */ \"./node_modules/_core-js@3.31.1@core-js/modules/es.typed-array.to-reversed.js\");\n/* harmony import */ var core_js_modules_es_typed_array_to_reversed_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_typed_array_to_reversed_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var core_js_modules_es_typed_array_to_sorted_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! core-js/modules/es.typed-array.to-sorted.js */ \"./node_modules/_core-js@3.31.1@core-js/modules/es.typed-array.to-sorted.js\");\n/* harmony import */ var core_js_modules_es_typed_array_to_sorted_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_typed_array_to_sorted_js__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var core_js_modules_es_typed_array_with_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! core-js/modules/es.typed-array.with.js */ \"./node_modules/_core-js@3.31.1@core-js/modules/es.typed-array.with.js\");\n/* harmony import */ var core_js_modules_es_typed_array_with_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_typed_array_with_js__WEBPACK_IMPORTED_MODULE_2__);\n\n\n\n// const util = require('@/static/utils/util.js');\nconst config = __webpack_require__(/*! @/services/urlConfig.js */ \"./src/services/urlConfig.js\");\n// import requestConfig from '@/services/requestConfig.js';\n// import { GLTFLoader } from '@/webgl/jsm/loaders/GLTFLoader.js';\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n  data() {\n    return {\n      canvas2d: null\n    };\n  },\n  watch: {},\n  onReady() {\n    // wx.createSelectorQuery().select('#canvas').fields({ node: true, size: true }).exec((res) => {\n    //     this.canvas2d = res[0].node\n    // })\n  },\n  methods: {\n    //触发主页面的截屏动作\n    screenPromiseShot() {\n      let currUniPage = getCurrentPages()[getCurrentPages().length - 1].$vm;\n      return new Promise(resolve => {\n        currUniPage.screenshotResolve = resolve;\n      });\n    },\n    //转base64\n    base64src(base64data, fun) {\n      const base64 = base64data; //base64格式图片\n      const time = new Date().getTime();\n      const imgPath = wx.env.USER_DATA_PATH + \"/4DImage/\" + util.formatDate(new Date(), \"yyyyMMddhhmmss\") + \".jpg\";\n      //如果图片字符串不含要清空的前缀,可以不执行下行代码.\n      const imageData = base64.replace(/^data:image\\/\\w+;base64,/, \"\");\n      const file = wx.getFileSystemManager();\n      // console.warn(\"***base64src***\",base64data)\n      file.writeFileSync(imgPath, imageData, \"base64\");\n      fun(imgPath);\n    },\n    // 翻转Y轴-像素方案\n    flip(pixels, w, h, c) {\n      // handle Arrays\n      if (Array.isArray(pixels)) {\n        var result = this.flip(new Float64Array(pixels), w, h, c);\n        for (var i = 0; i < pixels.length; i++) {\n          pixels[i] = result[i];\n        }\n        return pixels;\n      }\n      if (!w || !h) throw Error('Bad dimensions');\n      if (!c) c = pixels.length / (w * h);\n      var h2 = h >> 1;\n      var row = w * c;\n      var Ctor = pixels.constructor;\n\n      // make a temp buffer to hold one row\n      var temp = new Ctor(w * c);\n      for (var y = 0; y < h2; ++y) {\n        var topOffset = y * row;\n        var bottomOffset = (h - y - 1) * row;\n        // make copy of a row on the top half\n        temp.set(pixels.subarray(topOffset, topOffset + row));\n        // copy a row from the bottom half to the top\n        pixels.copyWithin(topOffset, bottomOffset, bottomOffset + row);\n        // copy the copy of the top half row to the bottom half\n        pixels.set(temp, bottomOffset);\n      }\n    },\n    /**\r\n     * 截图\r\n     */\n    async shottingAction(type = 1) {\n      let currUniPage = getCurrentPages()[getCurrentPages().length - 1].$vm;\n      //时机合适时-像素存在则触发生成\n      return new Promise(resolve => {\n        this.screenPromiseShot().then(param => {\n          if (param) {\n            this.flip(param[0], param[1], param[2], 4);\n            const canvas = currUniPage.canvas2d;\n            const ctx = canvas.getContext('2d');\n            //  ImageData 对象,data是像素 一维数组,包含以 RGBA 顺序的数据,数据使用 0 至 255(包含)的整数表示\n            const img = canvas.createImageData(param[0], param[1], param[2]);\n            canvas.height = img.height;\n            canvas.width = img.width;\n            ctx.putImageData(img, 0, 0);\n            uni.canvasToTempFilePath({\n              x: 0,\n              y: 0,\n              destWidth: canvas.width,\n              destHeight: canvas.height,\n              canvasId: \"canvas\",\n              canvas: canvas,\n              fileType: 'jpg',\n              quality: 1,\n              success: res => {\n                console.log(\"***canvasToTempFilePath-success***\", res);\n                this.upload(res.tempFilePath, resolve);\n              },\n              fail: res => {\n                console.warn(\"***canvasToTempFilePath-fail***\", res);\n                if (currUniPage && currUniPage.starRender && typeof currUniPage.starRender == 'function') {\n                  currUniPage.starRender(); //启动渲染\n                }\n\n                resolve('');\n              }\n            });\n          } else {\n            let imgBase64 = this.canvas.toDataURL();\n            this.base64src(imgBase64, res => {\n              console.warn('转化后的url:', res);\n              this.upload(res, resolve);\n            });\n          }\n        });\n      });\n    },\n    //上传图片\n    async upload(filePath, cb = null) {\n      var fileName = \"4DImage/\" + util.formatDate(new Date(), \"yyyyMMddhhmmss\") + '.jpg';\n      let tokenObj = await requestConfig(\"getUploadToken\", {});\n      console.log(\"tokenObj:\", tokenObj);\n      var token = tokenObj.single.token;\n      var resultUrl = tokenObj.single.resultUrl; //上传图片的访问前缀this.resultUrl =\n      let currUniPage = getCurrentPages()[getCurrentPages().length - 1].$vm;\n      uni.uploadFile({\n        url: \"https://up.qiniup.com\",\n        filePath: filePath,\n        name: \"file\",\n        formData: {\n          key: fileName,\n          token: token\n        },\n        success: uploadFileRes => {\n          let obj = JSON.parse(uploadFileRes.data);\n          let shottingImg = resultUrl + obj.key;\n          console.warn(\"***截图图片***\", shottingImg);\n          if (cb) {\n            cb(shottingImg);\n          }\n        },\n        fail: error => {\n          cb(\"\");\n        },\n        complete(e) {\n          if (currUniPage && currUniPage.starRender && typeof currUniPage.starRender == 'function') {\n            currUniPage.starRender(); //截图成功后,启动渲染\n          }\n        }\n      });\n    }\n  }\n});\n\n//# sourceURL=webpack://hello-world/./src/mixins/screenshot.js?");/***/ }),/***/ "./src/mixins/wallMethod.js":/*!**********************************!*\  !*** ./src/mixins/wallMethod.js ***!  \**********************************//***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {"use strict";eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/es.array.push.js */ \"./node_modules/_core-js@3.31.1@core-js/modules/es.array.push.js\");\n/* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _static_wallData_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @/static/wallData.js */ \"./src/static/wallData.js\");\n/* harmony import */ var _static_wallData_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_static_wallData_js__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var three__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! three */ \"./node_modules/_three@0.154.0@three/build/three.module.js\");\n/* harmony import */ var three_addons_libs_tween_module_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! three/addons/libs/tween.module.js */ \"./node_modules/_three@0.154.0@three/examples/jsm/libs/tween.module.js\");\n\n// const util = require('@/static/utils/util.js');\n// const config = require('@/static/config.js');\n\n// import requestConfig from '@/services/requestConfig.js';\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n  data() {\n    return {\n      // gltfUrl:\"https://dm.static.elab-plus.com/3d/model/230519/floor01.glb\",//模型地址\n      // gltfName:\"地板\",\t//模型名称\n      // gltfWidth:10,\t//模型宽度 10米\n      // gltfHeight:10,\t//模型高度 10米\n    };\n  },\n  watch: {},\n  methods: {\n    // 加载所有墙体模型\n    // modelItem 变化后的\n    // wallObj 变化前的\n    drawModelOld(modelItem, spaceObj, wallObj, isAnimate = false) {\n      let cube = wallObj.obj;\n      let that = this;\n\n      // console.log(\"模型参数\", wallPositionX, wallPositionY, wallScaleX, wallScaleY, lastWallPosition, wallDirection)\n\n      console.log(\"墙体动画\", modelItem, spaceObj, wallObj, isAnimate, spaceObj.rightCenter);\n      if (!wallObj.obj) {\n        //新的逻辑\n        //无变化则不需要启动动画\n        if (modelItem.wallPositionX == wallObj.wallPositionX && modelItem.wallPositionY == wallObj.wallPositionY && modelItem.wallScaleX == wallObj.wallScaleX && modelItem.wallScaleY == wallObj.wallScaleY) {\n          return false;\n        }\n        wallObj.instancedMeshIndexList.forEach(item => {\n          let _index = item.instancedMeshIndex;\n          let instancedMesh = this.instancedMeshList[_index]; //获取网格实例\n          let stratMatrix = new three__WEBPACK_IMPORTED_MODULE_2__.Matrix4(); //定义一个四维矩阵\n          let endMatrix = new three__WEBPACK_IMPORTED_MODULE_2__.Matrix4(); //定义一个四维矩阵\n          instancedMesh.getMatrixAt(item.instancedAtIndex, stratMatrix); //获取当前几何体的四维矩阵到stratMatrix里面\n          let position = new three__WEBPACK_IMPORTED_MODULE_2__.Vector3(); //当前几何体的位置参数\n          let position1 = new three__WEBPACK_IMPORTED_MODULE_2__.Vector3(); //计算后的位移参数\n          let scale = new three__WEBPACK_IMPORTED_MODULE_2__.Vector3(); //当前几何体的位置参数\n          let scale1 = new three__WEBPACK_IMPORTED_MODULE_2__.Vector3(); //计算后的形变参数\n          let quaternion = new three__WEBPACK_IMPORTED_MODULE_2__.Quaternion(); //四元数\n          stratMatrix.decompose(position, quaternion, scale); //从当前几何体提取相关参数\n          // 计算变化后的位置:位移后的位置 是 当前几何体的位置参数 加上 模型移动后的位置偏移量\n          let x = position.x + modelItem.wallPositionX - wallObj.wallPositionX;\n          let z = position.z + modelItem.wallPositionY - wallObj.wallPositionY;\n          // 计算变化后的缩放:缩放后的值 是 当前几何体的缩放比例 同步 模型缩放后缩放比例\n          let scalex = scale.x * (modelItem.wallScaleX / wallObj.wallScaleX);\n          let scaley = scale.z * (modelItem.wallScaleY / wallObj.wallScaleY);\n          //x轴放大,则需要移动多一倍的距离\n          if (modelItem.wallScaleX != wallObj.wallScaleX) {\n            if (modelItem.wallRotateY > 0) {\n              //说明旋转了\n              let _ch = modelItem.wallPositionY - wallObj.wallPositionY;\n              if (spaceObj.rightCenter) {\n                //即形变几何体是右侧不变,由于中心点在左侧,所以要再加一倍变化的值\n                z = z + _ch;\n              } else {\n                //形变几何体是左侧不变,由于中心点在左侧,所以要减去变化的值\n                z = z - _ch;\n              }\n              // z = z + modelItem.wallPositionY - wallObj.wallPositionY\n            } else {\n              let _ch = modelItem.wallPositionX - wallObj.wallPositionX;\n              if (spaceObj.rightCenter) {\n                x = x + _ch;\n              } else {\n                x = x - _ch;\n              }\n            }\n          }\n          //Y轴缩小(这里理解是Z轴,映射原因),则需要移动多一倍的距离 \n          //因为几何体的操作原点是左边中心点,不是几何中心点 所以计算的时候需要在多移动一倍\n          if (modelItem.wallScaleY != wallObj.wallScaleY) {\n            if (modelItem.wallRotateY > 0) {\n              //说明旋转了\n              let _ch = modelItem.wallPositionX - wallObj.wallPositionX;\n              if (spaceObj.rightCenter) {\n                x = x + _ch;\n              } else {\n                x = x - _ch;\n              }\n              // x = x + modelItem.wallPositionX - wallObj.wallPositionX;\n            } else {\n              let _ch = modelItem.wallPositionY - wallObj.wallPositionY;\n              if (spaceObj.rightCenter) {\n                z = z + _ch;\n              } else {\n                z = z - _ch;\n              }\n              // z = z + modelItem.wallPositionY - wallObj.wallPositionY\n            }\n          }\n\n          position1.set(x, position.y, z);\n          scale1.set(scalex, scale.y, scaley);\n          //获取最终的几何体四维变化矩阵\n          endMatrix = endMatrix.compose(position1, quaternion, scale1);\n          // console.warn(\"***drawModel-isAnimate0***\",JSON.stringify(position),JSON.stringify(scale),wallObj.name,modelItem,wallObj);\n          // console.warn(JSON.stringify(stratMatrix.elements),JSON.stringify(endMatrix.elements));\n          // instancedMesh.instanceMatrix.needsUpdate = true;\n          // instancedMesh.setMatrixAt(item.instancedAtIndex,endMatrix);//更新几何体的世界矩阵\n          var tween = new three_addons_libs_tween_module_js__WEBPACK_IMPORTED_MODULE_3__.TWEEN.Tween(stratMatrix.elements).to(endMatrix.elements, 2000).easing(three_addons_libs_tween_module_js__WEBPACK_IMPORTED_MODULE_3__.TWEEN.Easing.Quadratic.InOut).onUpdate(matrixWorld => {\n            let m4 = new three__WEBPACK_IMPORTED_MODULE_2__.Matrix4(); //定义一个四维矩阵\n            m4.set(...matrixWorld); //注意:四维矩阵的显示和实际计算的行列优先规则不同\n            instancedMesh.instanceMatrix.needsUpdate = true; //更新之前,必须开启开关\n            instancedMesh.setMatrixAt(item.instancedAtIndex, m4.transpose()); //更新几何体的世界矩阵\n          }).onComplete(() => {\n            instancedMesh.setMatrixAt(item.instancedAtIndex, endMatrix); //更新几何体的世界矩阵\n            this.tweenCameraAnmaChange(false);\n          });\n          // 开始动画\n          tween.start();\n          this.tweenCameraAnmaChange(true);\n        });\n        //更新模型的最新位置,确保计算结果正确\n        setTimeout(() => {\n          let gltfWall = that.gltfWalls.find(gltfWall => gltfWall.uniId == wallObj.uniId); //判断是否已经添加过\n          gltfWall.wallPositionX = modelItem.wallPositionX;\n          gltfWall.wallPositionY = modelItem.wallPositionY;\n          gltfWall.wallScaleX = modelItem.wallScaleX;\n          gltfWall.wallScaleY = modelItem.wallScaleY;\n          gltfWall.wallRotateY = modelItem.wallRotateY;\n        }, 2000);\n      } else {\n        console.warn(\"***drawModel-isAnimate-2***\", JSON.stringify(cube.position), JSON.stringify(cube.scale), modelItem);\n        var tween = new three_addons_libs_tween_module_js__WEBPACK_IMPORTED_MODULE_3__.TWEEN.Tween({\n          x: cube.position.x,\n          z: cube.position.z,\n          sx: cube.scale.x,\n          sz: cube.scale.z\n        }).to({\n          x: modelItem.wallPositionX,\n          z: modelItem.wallPositionY,\n          sx: modelItem.wallScaleX\n        }, 2000).easing(three_addons_libs_tween_module_js__WEBPACK_IMPORTED_MODULE_3__.TWEEN.Easing.Quadratic.InOut).onUpdate(object => {\n          cube.position.x = object.x;\n          cube.position.z = object.z;\n          cube.scale.x = object.sx;\n          cube.scale.z = object.sz;\n        }).onComplete(() => {\n          this.tweenCameraAnmaChange(false);\n        });\n        // 开始动画\n        tween.start();\n        this.tweenCameraAnmaChange(true);\n      }\n    },\n    // modelItem 变化后的\n    // wallObj 变化前的-一面墙下的某一段墙体\n    drawModel(modelItem, spaceObj, wallObj, isAnimate = false) {\n      let that = this;\n\n      // console.log(\"墙体动画\", modelItem, spaceObj, wallObj, isAnimate,spaceObj.rightCenter, this.gltfWalls);\n\n      //无变化则不需要启动动画\n      if (modelItem.wallPositionX == wallObj.wallPositionX && modelItem.wallPositionY == wallObj.wallPositionY && modelItem.wallScaleX == wallObj.wallScaleX && modelItem.wallScaleY == wallObj.wallScaleY) {\n        return false;\n      }\n      let tx = wallObj.wallPositionX;\n      let tz = wallObj.wallPositionY;\n      let scaleX = wallObj.wallScaleX;\n      let wallWidth = wallObj.wallWidth; //初始的墙体宽度-单位m\n      //最终形变值\n      let toPx = modelItem.wallPositionX;\n      let toPz = modelItem.wallPositionY;\n      let toScaleX = modelItem.wallScaleX;\n      if (modelItem.wallType != 0 && parseFloat(modelItem.wallWidth) == 0) {\n        toScaleX = 0;\n      }\n      if (isAnimate) {\n        //需要动画\n        // console.log(\"墙体动画----\", tx, tz, scaleX,toPx, toPz, toScaleX,);\n        // console.log(\"墙体动画----\", scaleX, toScaleX, wallObj.wallScaleX, wallObj);\n        //初始形变值\n        let spaceInitMatrix = []; //记录下动画创建时的初始变换矩阵\n        wallObj.instancedMeshIndexList.forEach(item => {\n          let _index = item.instancedMeshIndex;\n          let instancedMesh = this.instancedMeshList[_index]; //获取网格实例\n          let startMatrix = new three__WEBPACK_IMPORTED_MODULE_2__.Matrix4(); //定义一个四维矩阵\n          instancedMesh.getMatrixAt(item.instancedAtIndex, startMatrix); //获取当前几何体的四维矩阵到stratMatrix里面\n          spaceInitMatrix.push({\n            index: _index,\n            matrix: startMatrix.clone()\n          });\n        });\n        var tween = new three_addons_libs_tween_module_js__WEBPACK_IMPORTED_MODULE_3__.TWEEN.Tween({\n          x: tx,\n          z: tz,\n          sx: scaleX\n        }).to({\n          x: toPx,\n          z: toPz,\n          sx: toScaleX\n        }, 2000).easing(three_addons_libs_tween_module_js__WEBPACK_IMPORTED_MODULE_3__.TWEEN.Easing.Quadratic.InOut).onUpdate(object => {\n          wallObj.instancedMeshIndexList.forEach(item => {\n            let _index = item.instancedMeshIndex;\n            let instancedMesh = this.instancedMeshList[_index]; //获取网格实例\n            let tmp = spaceInitMatrix.find(it => it.index == _index);\n            let stratMatrix = tmp.matrix.clone(); //获取初始变换矩阵\n            // // 计算变化后的位置:位移后的位置 是 当前几何体的位置参数 加上 模型移动后的位置偏移量\n            let moveX = object.x - tx;\n            let moveZ = object.z - tz;\n            //x轴有变化,说明存在缩放变形-模型形变中心如果不是几何中心,则计算需要补充偏移量\n            // if(modelItem.wallScaleX!=wallObj.wallScaleX){\n            // \tif(modelItem.wallRotateY>0){//说明旋转了-东西墙\n            // \t\tlet scaMoveZ = (wallWidth/scaleX) * (object.sx - scaleX) / 2 / 100;//形变时需要的偏移量\n            // \t\tmoveZ = moveZ + scaMoveZ;//东西墙\n            // \t\tif(Math.abs(moveZ)<0.00000001){//计算精度问题\n            // \t\t\tmoveZ = 0;\n            // \t\t}\n            // \t}else{\n            // \t\tlet scaMoveX = (wallWidth/scaleX) * (object.sx - scaleX) / 2 / 100;//形变时需要的偏移量\n            // \t\tmoveX = moveX - scaMoveX;//南北墙\n            // \t\tif(Math.abs(moveX)<0.00000001){//计算精度问题\n            // \t\t\tmoveX = 0;\n            // \t\t}\n            // \t}\n            // }\n            // if(wallObj.wallDirection=='W'){\n            // \tconsole.warn(\"***drawModel-isAnimate0***\",JSON.stringify(object),scaleX,tx,tz,moveX,moveZ);\n            // }\n            let scaleMatrix = new three__WEBPACK_IMPORTED_MODULE_2__.Matrix4(); //定义一个缩放变化矩阵\n            let panMatrix = new three__WEBPACK_IMPORTED_MODULE_2__.Matrix4(); //定义一个平移变化矩阵\n            scaleMatrix.makeScale(object.sx / scaleX, 1, 1); //获得缩放变化矩阵\n            panMatrix.makeTranslation(moveX, 0, moveZ); //获得平移变化矩阵\n            stratMatrix.multiply(scaleMatrix).premultiply(panMatrix); //通过矩阵计算获得最终的形变矩阵\n            instancedMesh.instanceMatrix.needsUpdate = true; //更新之前,必须开启开关\n            instancedMesh.setMatrixAt(item.instancedAtIndex, stratMatrix); //更新几何体的世界矩阵\n            // console.warn(\"***drawModel-isAnimate0***\",JSON.stringify(position),JSON.stringify(scale),wallObj.name,modelItem,wallObj);\n          });\n        }).onComplete(() => {\n          this.tweenCameraAnmaChange(false);\n          let gltfWall = this.gltfWalls.find(gltfWall => gltfWall.uniId == wallObj.uniId); //判断是否已经添加过\n          gltfWall.wallPositionX = modelItem.wallPositionX;\n          gltfWall.wallPositionY = modelItem.wallPositionY;\n          gltfWall.wallScaleX = modelItem.wallScaleX;\n          gltfWall.wallScaleY = modelItem.wallScaleY;\n          gltfWall.wallRotateY = modelItem.wallRotateY;\n          gltfWall.wallWidth = modelItem.wallWidth;\n          console.warn(\"***changeSpacesAnim-over-wall***\", modelItem);\n        });\n        // 开始动画\n        tween.start();\n        this.tweenCameraAnmaChange(true);\n      } else {\n        // console.log(\"墙体变化\", modelItem, wallObj, wallObj.wallWidth);\n        wallObj.instancedMeshIndexList.forEach(item => {\n          let _index = item.instancedMeshIndex;\n          let instancedMesh = this.instancedMeshList[_index]; //获取网格实例\n          // let tmp = spaceInitMatrix.find(it=>it.index==_index);\n          // let stratMatrix = tmp.matrix.clone();\t//获取初始变换矩阵\n          let stratMatrix = new three__WEBPACK_IMPORTED_MODULE_2__.Matrix4(); //定义一个四维矩阵\n          instancedMesh.getMatrixAt(item.instancedAtIndex, stratMatrix); //获取当前几何体的四维矩阵到stratMatrix里面\n          // // 计算变化后的位置:位移后的位置 是 当前几何体的位置参数 加上 模型移动后的位置偏移量\n          let moveX = toPx - tx;\n          let moveZ = toPz - tz;\n          if (modelItem.spaceId == 379 && wallObj.wallDirection == 'N') {\n            console.warn(\"***mo****\", moveX, moveZ, toPx, toPz, tx, tz, toScaleX, scaleX, wallWidth);\n          }\n          //x轴有变化,说明存在缩放变形\n          // if(modelItem.wallScaleX!=wallObj.wallScaleX){\n          // \tif(modelItem.wallRotateY>0){//说明旋转了-东西墙\n          // \t\tlet scaMoveZ = (wallWidth/scaleX) * (toScaleX - scaleX) / 2 / 100;//形变时需要的偏移量\n          // \t\tmoveZ = moveZ + scaMoveZ;//东西墙\n          // \t\tif(Math.abs(moveZ)<0.00000001){//计算精度问题\n          // \t\t\tmoveZ = 0;\n          // \t\t}\n          // \t}else{\n          // \t\tlet scaMoveX = (wallWidth/scaleX) * (toScaleX - scaleX) / 2 / 100;//形变时需要的偏移量\n          // \t\tmoveX = moveX - scaMoveX;//南北墙\n          // \t\tif(Math.abs(moveX)<0.00000001){//计算精度问题\n          // \t\t\tmoveX = 0;\n          // \t\t}\n          // \t}\n          // }\n          let scaleMatrix = new three__WEBPACK_IMPORTED_MODULE_2__.Matrix4(); //定义一个缩放变化矩阵\n          let panMatrix = new three__WEBPACK_IMPORTED_MODULE_2__.Matrix4(); //定义一个平移变化矩阵\n\n          scaleMatrix.makeScale(toScaleX / scaleX, 1, 1); //获得缩放变化矩阵\n          panMatrix.makeTranslation(moveX, 0, moveZ); //获得平移变化矩阵\n          stratMatrix.multiply(scaleMatrix).premultiply(panMatrix); //通过矩阵计算获得最终的形变矩阵\n          instancedMesh.instanceMatrix.needsUpdate = true; //更新之前,必须开启开关\n          instancedMesh.setMatrixAt(item.instancedAtIndex, stratMatrix); //更新几何体的世界矩阵\n          // console.warn(\"***drawModel-isAnimate0***\",JSON.stringify(position),JSON.stringify(scale),wallObj.name,modelItem,wallObj);\n        });\n\n        let gltfWall = this.gltfWalls.find(gltfWall => gltfWall.uniId == wallObj.uniId); //判断是否已经添加过\n        gltfWall.wallPositionX = modelItem.wallPositionX;\n        gltfWall.wallPositionY = modelItem.wallPositionY;\n        gltfWall.wallScaleX = modelItem.wallScaleX;\n        gltfWall.wallScaleY = modelItem.wallScaleY;\n        gltfWall.wallRotateY = modelItem.wallRotateY;\n        gltfWall.wallWidth = modelItem.wallWidth;\n        gltfWall.lastWallType = 50;\n      }\n    },\n    //预处理需要加载墙体模型的数据-减少模型请求数\n    preWallData(wallArr) {\n      let realWallArr = [];\n      wallArr && wallArr.forEach((item, index) => {\n        item.uniId = Date.now() + index; //唯一标识\n        //获取墙体对应的gltb模型的相关信息\n        let modelTypeItem = _static_wallData_js__WEBPACK_IMPORTED_MODULE_1___default().find(it => it.type == item.wallModelData.wallType); //wallType[item.wallModelData.wallType];\n\n        let object = realWallArr.find(it => it.index == item.wallModelData.wallType);\n        //列表中还没有这个数据\n        if (!object) {\n          let it = {\n            url: modelTypeItem.url,\n            list: [item],\n            name: modelTypeItem.name,\n            index: item.wallModelData.wallType //在模型当中的类型编码\n          };\n\n          realWallArr.push(it);\n        } else {\n          object.list.push(item);\n        }\n      });\n      return realWallArr;\n    },\n    // 加载墙体模型\n    loadWallModels(realData, wallList, arrLength, resolve) {\n      var that = this;\n      if (!realData.url) {\n        console.warn(\"***模型wallType不存在***\", realData);\n        return false;\n      }\n      that.loader.load(realData.url, gltf => {\n        that.progress = parseInt(100 / arrLength) + that.progress;\n        if (that.progress > 100) {\n          that.progress = 100;\n        }\n        // that.$refs.myLoading.showLoading(\"加载中...\" + that.progress+'%')\n        // console.log(\"模型加载成功\",that.progress,realData,gltf);\n        // 第一个方案:递归获取模型-并一一实例化,减少渲染次数,提高性能;因为实例化了几何体复用了geometry 和 material\n        // DrawCall和内存都很低\n        gltf.scene.traverse(child => {\n          if (child.isMesh && child.visible) {\n            let instancedMesh = new three__WEBPACK_IMPORTED_MODULE_2__.InstancedMesh(child.geometry.clone(), child.material.clone(), realData.list.length);\n            this.instancedMeshList.push(instancedMesh);\n            //realData 该模型被重复使用时的每一次的形变参数等\n            realData.list && realData.list.forEach((it, i) => {\n              let modelItem = JSON.parse(JSON.stringify(it.wallModelData));\n              gltf.scene.position.set(modelItem.wallPositionX, 0, modelItem.wallPositionY);\n              gltf.scene.scale.set(modelItem.wallScaleX, 1, modelItem.wallScaleY);\n              gltf.scene.rotation.y = modelItem.wallRotateY;\n              gltf.scene.updateMatrixWorld(); //更新世界坐标-这样,子模型也同步更新了\n              instancedMesh.setMatrixAt(i, child.matrixWorld);\n              instancedMesh.instanceMatrix.needsUpdate = true;\n              // instancedMesh.setColorAt(i, child.material.color);\n              // instancedMesh.instanceColor.needsUpdate = true;\n              // console.log(\"***matrixWorld***\",child.matrixWorld);\n              let gltfWall = that.gltfWalls.find(gltfWall => gltfWall.uniId == it.uniId); //判断是否已经添加过\n              if (!gltfWall) {\n                let md = {\n                  uniId: it.uniId,\n                  //模型实例的唯一标识\n                  spaceId: it.spaceId,\n                  instancedMeshIndexList: [\n                  //标识网格实例数组的序号 以及 当前几何体 在网格实例的序号\n                  {\n                    instancedMeshIndex: this.instancedMeshList.length - 1,\n                    instancedAtIndex: i\n                  }],\n                  // id:child.id,//几何体的id\n                  // name:child.name,//几何体的id\n                  wallPositionX: modelItem.wallPositionX,\n                  wallPositionY: modelItem.wallPositionY,\n                  wallScaleX: modelItem.wallScaleX,\n                  wallScaleY: modelItem.wallScaleY,\n                  wallRotateY: modelItem.wallRotateY,\n                  wallWidth: modelItem.wallWidth,\n                  // lastWallType:51,\n                  wallModelData: modelItem,\n                  wallModelInitData: modelItem,\n                  // 保留初始化墙体数据,方便空间变形计算缩放比例 \n                  wallDirection: it.wallDirection,\n                  willCurWallType: -1,\n                  // 即将成为当前模型,作用于动画加载完替换\n                  lastWallType: -1 // 上一次墙体模型\n                };\n\n                that.gltfWalls.push(md);\n              } else {\n                gltfWall.instancedMeshIndexList.push({\n                  instancedMeshIndex: this.instancedMeshList.length - 1,\n                  instancedAtIndex: i\n                });\n              }\n            });\n            instancedMesh.userType = \"mesh\";\n            instancedMesh.receiveShadow = true; //材质是否接收阴影\n            that.scene.add(instancedMesh);\n          }\n        });\n        resolve();\n      });\n    },\n    //计算墙体对应位置和形变参数-提前计算\n    computeWallHandleOld(spaceObj, wallObj) {\n      // let cube = wallObj.obj;\n      let list = wallObj.wallData; //墙体列表\n      let scale = 100;\n      // console.log(\"computeWallHandle\", spaceObj.spaceId, spaceObj.centerX, spaceObj.centerY,spaceObj.spaceWidth, spaceObj.spaceHeight);\n      list.forEach(item => {\n        //空间下的四面墙壁\n        let lastWallPosition = 0;\n        let wallDirection = item.wallDirection;\n        item.wallModelData.forEach((modelItem, index) => {\n          //每个墙壁下的位置计算\n          // 默认空间中心点\n          let wallPositionX = spaceObj.centerX / 100;\n          let wallPositionY = spaceObj.centerY / 100;\n          let wallRotateY = 0;\n          let wallHeight = 10; //item.wallHeight // 墙体厚度模型10cm\n          if (wallDirection == \"N\") {\n            wallPositionY = wallPositionY * -1 - spaceObj.spaceHeight / 2 / scale;\n            let wallHeight2 = wallHeight / 2 / scale;\n            wallPositionY = wallPositionY + wallHeight2;\n          } else if (wallDirection == \"S\") {\n            wallPositionY = wallPositionY * -1 + spaceObj.spaceHeight / 2 / scale;\n            let wallHeight2 = wallHeight / 2 / scale;\n            wallPositionY = wallPositionY - wallHeight2;\n          }\n          if (wallDirection == \"E\") {\n            // console.log(\"模型参数\", wallPositionX, spaceObj.spaceWidth)\n            wallPositionY = wallPositionY * -1;\n            wallPositionX = wallPositionX + spaceObj.spaceWidth / 2 / scale;\n            let wallHeight2 = wallHeight / 2 / scale;\n            wallPositionX = wallPositionX - wallHeight2; // 减去墙体本身的厚度\n            wallRotateY = Math.PI / 2; // 东西墙 模型旋转90度\n          } else if (wallDirection == \"W\") {\n            wallPositionY = wallPositionY * -1;\n            wallPositionX = wallPositionX - spaceObj.spaceWidth / 2 / scale;\n            let wallHeight2 = wallHeight / 2 / scale;\n            wallPositionX = wallPositionX + wallHeight2; // 减去墙体本身的厚度\n            wallRotateY = Math.PI / 2; // 东西墙 模型旋转90度\n          }\n\n          let wallScaleX = 1;\n          let wallScaleY = 1;\n          let modelWidth = 10;\n          if (modelItem.wallType == '7') {\n            modelWidth = 150;\n          } else if (modelItem.wallType == '21') {\n            modelWidth = 100;\n          } else if (modelItem.wallType == '22') {\n            modelWidth = 200;\n          } else if (modelItem.wallType == '23') {\n            modelWidth = 300;\n          } else if (modelItem.wallType == '24') {\n            modelWidth = 400;\n          } else if (modelItem.wallType == '25') {\n            modelWidth = 500;\n          } else if (modelItem.wallType == '26') {\n            modelWidth = 600;\n          }\n          let tmdWidth = modelItem.wallWidth; //记录\n          // console.log(\"XXXXXXXXXXXXXXXX\", modelWidth, spaceObj)\n          // 计算墙体的 X Y W H\n          //说明该面墙壁只使用了一个模型-独占形式\n          if (modelItem.isStepAsideTopRight == 'true' && modelItem.isStepAsideBottomLeft == 'true') {\n            if (wallDirection == \"S\" || wallDirection == \"N\") {\n              //南北\n              wallScaleX = spaceObj.spaceWidth / modelWidth;\n            } else {\n              //东西\n              wallScaleX = spaceObj.spaceHeight / modelWidth;\n            }\n            if (parseInt(modelItem.wallType) >= 21 && parseInt(modelItem.wallType) <= 26 || parseInt(modelItem.wallType) == 7) {} else {\n              modelItem.wallWidth = wallScaleX * modelWidth; // 解决模型行拉伸定位问题, 先注释\n            }\n          } else {\n            //墙面是多端墙体组合而成的\n            if (modelItem.isFixedWidth == 'true') {\n              //该墙体锁定宽度-即不可缩放\n              let wallWidth = modelItem.wallWidth; // 墙体宽度\n              // console.log(\"模型的尺寸\",wallWidth, spaceObj.spaceWidth, spaceObj.centerX)\n              //起始墙体-南北从左侧算,东西则从上侧计算\n              if (modelItem.isStepAsideBottomLeft == 'true' || modelItem.isStepAsideTopRight == 'true') {\n                if (wallDirection == \"S\" || wallDirection == \"N\") {\n                  //南北\n                  wallPositionX = spaceObj.centerX - (spaceObj.spaceWidth - wallWidth) / 2;\n                  wallPositionX = wallPositionX / scale; // 转换成m\n                } else {\n                  wallPositionY = -spaceObj.centerY - (spaceObj.spaceHeight - wallWidth) / 2;\n                  wallPositionY = wallPositionY / scale; // 转换成m\n                }\n              } else {\n                if (wallDirection == \"S\" || wallDirection == \"N\") {\n                  //南北\n                  wallPositionX = lastWallPosition + wallWidth / 2 / scale;\n                } else {\n                  wallPositionY = lastWallPosition + wallWidth / 2 / scale;\n                }\n              }\n              // console.log(\"模型的尺寸\",wallWidth, wallPositionX)\n              if (modelItem.wallType == 0) {\n                wallScaleX = modelItem.wallWidth / wallHeight;\n              }\n              //计算当前墙体占据的整面墙体的大小-方便下一段墙体的计算\n              if (wallDirection == \"S\" || wallDirection == \"N\") {\n                //南北\n                lastWallPosition = wallPositionX + wallWidth / 2 / scale;\n              } else {\n                lastWallPosition = wallPositionY + wallWidth / 2 / scale;\n              }\n            } else {\n              //可变墙体-UE编辑器通常把它放到最后一段墙体\n              let wallWidth = 0;\n              //墙体的宽度是计算得出的\n              if (wallDirection == \"S\" || wallDirection == \"N\") {\n                //南北\n                wallWidth = spaceObj.centerX + spaceObj.spaceWidth / 2 - lastWallPosition * scale; // 墙体宽度\n                // console.log(\"最后一个模型\",spaceObj.centerX, spaceObj.spaceWidth / 2, lastWallPosition)\n              } else {\n                wallWidth = -spaceObj.centerY + spaceObj.spaceHeight / 2 - lastWallPosition * scale; // 墙体宽度\n              }\n\n              wallWidth = wallWidth / scale; // cm转换成m\n              if (modelItem.wallType == 0) {\n                wallScaleX = wallWidth * wallHeight;\n                if (wallDirection == \"S\" || wallDirection == \"N\") {\n                  //南北\n                  wallPositionX = lastWallPosition + wallWidth / 2;\n                } else {\n                  wallPositionY = lastWallPosition + wallWidth / 2;\n                }\n              }\n              modelItem.wallWidth = wallWidth * scale; //确保单位一致\n            }\n          }\n          //计算得出墙体相应的位置和变形属性\n          modelItem.wallPositionX = wallPositionX;\n          modelItem.wallPositionY = wallPositionY;\n          modelItem.wallScaleX = wallScaleX;\n          modelItem.wallScaleY = wallScaleY;\n          modelItem.wallRotateY = wallRotateY;\n          //新版下,符合条件的不止一个了,因为新版下是以模型里面的几何体为单元,个数较多\n          this.gltfWalls.forEach(gltfItem => {\n            if (gltfItem.spaceId == spaceObj.spaceId && wallDirection == gltfItem.wallDirection && modelItem.id == gltfItem.wallModelData.id) {\n              gltfItem.wallModelData = JSON.parse(JSON.stringify(modelItem));\n            }\n          });\n        });\n      });\n    },\n    // 新计算墙体逻辑\n    computeWallHandle(oldSpaceObj, spaceObj, wallObj, moveOut, direction) {\n      var that = this;\n      let list = wallObj.wallData; //墙体列表\n      let scale = 100;\n      console.log(\"墙体数据1\", direction, list, moveOut, that.gltfWalls);\n      // console.log(\"旧空间+++\", oldSpaceObj.spaceId, oldSpaceObj.centerX, oldSpaceObj.centerY,oldSpaceObj.spaceWidth, oldSpaceObj.spaceHeight);\n      console.log(\"新空间+++\", spaceObj.spaceId, spaceObj.centerX, spaceObj.centerY, spaceObj.spaceWidth, spaceObj.spaceHeight);\n      list.forEach(item => {\n        //空间下的四面墙壁\n        let lastWallPosition = 0;\n        let wallDirection = item.wallDirection;\n        let spaceSize = 0;\n        let minWallWidth = 10; // 实墙最小宽度\n\n        let wallCount = item.wallModelData.length;\n        let isCurWall = true;\n        let isCreateNewWall = false;\n        let newWallType = null;\n        if (wallDirection == \"N\" || wallDirection == \"S\") {\n          spaceSize = spaceObj.spaceWidth;\n        } else {\n          spaceSize = spaceObj.spaceHeight;\n        }\n        let isComputeWall = true;\n        if ((direction == \"S\" || direction == \"N\") && (wallDirection == \"S\" || wallDirection == \"N\")) {\n          isComputeWall = false;\n        }\n        if ((direction == \"E\" || direction == \"W\") && (wallDirection == \"E\" || wallDirection == \"W\")) {\n          isComputeWall = false;\n        }\n        if (wallCount > 2 && isComputeWall) {\n          // 墙体个数,判断是否有墙体模型\n\n          const modelItem0 = item.wallModelData[0]; // 固定尺寸实体墙\n          const modelItem1 = item.wallModelData[1]; // 取出模型的宽度\n          const modelItem2 = item.wallModelData[2]; // 伸缩实体墙\n          console.log(\"当前模型的类型信息\", modelItem1);\n          const leftWallChangeValue = spaceSize - minWallWidth - parseFloat(modelItem1.wallWidth) - parseFloat(modelItem0.wallWidth);\n          if (leftWallChangeValue < 0) {\n            // 缩小\n            const newWallWidth = Math.max(parseFloat(modelItem0.wallWidth) + leftWallChangeValue, minWallWidth);\n            item.wallModelData[0].wallWidth = Math.floor(newWallWidth);\n            console.log(\"缩放左边实体墙\", spaceObj.spaceId, newWallWidth, leftWallChangeValue);\n            if (modelItem1.wallWidth > spaceSize - 2 * minWallWidth) {\n              console.log(\"无法放置墙体模型\", newWallWidth, leftWallChangeValue);\n              // 寻找合适的模型\n              const curWallType = _static_wallData_js__WEBPACK_IMPORTED_MODULE_1___default().find(it => it.type == modelItem1.wallType);\n              // 可显示的最大模型\n              if (curWallType) {\n                const wallTypeGroups = _static_wallData_js__WEBPACK_IMPORTED_MODULE_1___default().filter(it => it.group == curWallType.group);\n                const wallWidth = spaceSize - 2 * minWallWidth;\n                for (let index = 0; index < wallTypeGroups.length; index++) {\n                  const element = wallTypeGroups[index];\n                  if (!newWallType) {\n                    if (element.width <= wallWidth && element.width <= curWallType.width) {\n                      newWallType = element;\n                    }\n                  } else {\n                    if (newWallType.width <= element.width && element.width <= wallWidth && element.width <= curWallType.width) {\n                      newWallType = element;\n                    }\n                  }\n                }\n                console.log(\"是否需要替换墙体模型\", spaceObj.spaceHeight, wallDirection, newWallType, curWallType.type);\n                if (newWallType) {\n                  if (curWallType.type != newWallType.type) {\n                    console.log(\"最合适的墙体模型\", spaceObj.spaceId, wallWidth, direction, wallDirection);\n                    item.wallModelData[1].wallWidth = newWallType.width;\n                    item.wallModelData[1].willCurWallType = newWallType.type;\n                    item.wallModelData[1].lastWallType = curWallType.type;\n                    item.wallModelData[0].wallWidth = Math.floor((spaceSize - newWallType.width) / 2);\n                    isCurWall = false;\n\n                    // 添加新模型\n                    const index = this.gltfWalls.findIndex(it => {\n                      // console.log(\"最合适的墙体模型\", it.spaceId, spaceObj.spaceId, it.wallDirection, wallDirection, newWallType.wallType, it.wallModelData.wallType)\n                      return it.spaceId == spaceObj.spaceId && it.wallDirection == wallDirection && newWallType.wallType == it.wallModelData.wallType;\n                    });\n                    if (index != -1) {\n                      console.log(\"不需要加载新模型\", spaceObj.spaceId, direction, wallDirection);\n                      isCreateNewWall = false;\n                    } else {\n                      console.log(\"需要加载新模型\", index);\n                      isCreateNewWall = true;\n                    }\n                  } else {\n                    console.log(\"保持当前模型的尺寸\", spaceObj.spaceHeight, direction, wallDirection);\n                    item.wallModelData[1].wallWidth = 0.0001;\n                    item.wallModelData[1].willCurWallType = -1;\n                  }\n                } else {\n                  console.log(\"没有合适的模型替换\", spaceObj.spaceId, direction, wallDirection);\n                  item.wallModelData[1].wallWidth = 0.0001;\n                  item.wallModelData[1].willCurWallType = -1;\n                }\n              }\n            }\n          } else {\n            if (moveOut) {\n              // 放大\n\n              // 1.判断是否是从无到有\n              // 是\n              // 2 先还原窗户,找到最合适的窗户\n              // 3 最后还原第一面实体墙\n              // 否\n              // 4 找到最合适的窗户\n              // 5 最后还原第一面实体墙\n              const curWallType = _static_wallData_js__WEBPACK_IMPORTED_MODULE_1___default().find(it => it.type == modelItem1.wallType);\n              const wallTypeGroups = _static_wallData_js__WEBPACK_IMPORTED_MODULE_1___default().filter(it => it.group == curWallType.group);\n              const wallWidth = spaceSize - 2 * minWallWidth;\n              if (wallWidth > curWallType.width) {\n                newWallType = curWallType;\n              }\n              for (let index = 0; index < wallTypeGroups.length; index++) {\n                const element = wallTypeGroups[index];\n                if (!newWallType) {\n                  if (element.width <= wallWidth) {\n                    newWallType = element;\n                  }\n                } else {\n                  if (element.width <= wallWidth && newWallType.width <= element.width) {\n                    newWallType = element;\n                  }\n                }\n                console.log(\"寻找最大的窗户\", index, wallWidth, newWallType.width, element.width);\n              }\n              item.wallModelData[1].wallWidth = newWallType.width;\n              if (newWallType != curWallType) {\n                // 新模型\n                console.log(\"添加新模型\");\n                item.wallModelData[1].willCurWallType = newWallType.type;\n                item.wallModelData[1].lastWallType = curWallType.type;\n                isCreateNewWall = true;\n              } else {\n                console.log(\"还原老模型\");\n              }\n\n              // 初始化模型的尺寸\n              const initWallModel = this.gltfWalls.find(it => {\n                return it.spaceId == spaceObj.spaceId && it.wallDirection == wallDirection && it.wallModelData.wallType == 0 && it.wallModelData.isFixedWidth == 'true';\n              });\n              const item0Width = Math.min(spaceSize - newWallType.width - minWallWidth, initWallModel.wallModelInitData.wallWidth);\n              item.wallModelData[0].wallWidth = item0Width;\n              console.log(\"还原第一面墙的宽度\", item0Width, spaceSize, newWallType.width, minWallWidth);\n            }\n          }\n        } else {\n          console.log(\"没有缩放墙体\");\n        }\n        // 判断是否有下一级\n\n        item.wallModelData.forEach((modelItem, index) => {\n          //每个墙壁下的位置计算\n          // 默认空间中心点\n          let wallPositionX = spaceObj.centerX / 100;\n          let wallPositionY = spaceObj.centerY / 100;\n          let wallRotateY = 0;\n          let wallHeight = 10; //item.wallHeight // 墙体厚度模型10cm\n          if (wallDirection == \"N\") {\n            wallPositionY = wallPositionY * -1 - spaceObj.spaceHeight / 2 / scale;\n            let wallHeight2 = wallHeight / 2 / scale;\n            wallPositionY = wallPositionY + wallHeight2;\n          } else if (wallDirection == \"S\") {\n            wallPositionY = wallPositionY * -1 + spaceObj.spaceHeight / 2 / scale;\n            let wallHeight2 = wallHeight / 2 / scale;\n            wallPositionY = wallPositionY - wallHeight2;\n          }\n          if (wallDirection == \"E\") {\n            // console.log(\"模型参数\", wallPositionX, spaceObj.spaceWidth)\n            wallPositionY = wallPositionY * -1;\n            wallPositionX = wallPositionX + spaceObj.spaceWidth / 2 / scale;\n            let wallHeight2 = wallHeight / 2 / scale;\n            wallPositionX = wallPositionX - wallHeight2; // 减去墙体本身的厚度\n            wallRotateY = Math.PI / 2; // 东西墙 模型旋转90度\n          } else if (wallDirection == \"W\") {\n            wallPositionY = wallPositionY * -1;\n            wallPositionX = wallPositionX - spaceObj.spaceWidth / 2 / scale;\n            let wallHeight2 = wallHeight / 2 / scale;\n            wallPositionX = wallPositionX + wallHeight2; // 减去墙体本身的厚度\n            wallRotateY = Math.PI / 2; // 东西墙 模型旋转90度\n          }\n\n          let wallScaleX = 1;\n          let wallScaleY = 1;\n          let modelWidth = 10;\n          if (modelItem.wallType == '7') {\n            modelWidth = 150;\n          } else if (modelItem.wallType == '21') {\n            modelWidth = 100;\n          } else if (modelItem.wallType == '22') {\n            modelWidth = 200;\n          } else if (modelItem.wallType == '23') {\n            modelWidth = 300;\n          } else if (modelItem.wallType == '24') {\n            modelWidth = 400;\n          } else if (modelItem.wallType == '25') {\n            modelWidth = 500;\n          } else if (modelItem.wallType == '26') {\n            modelWidth = 600;\n          }\n          let tmdWidth = modelItem.wallWidth; //记录\n          // console.log(\"XXXXXXXXXXXXXXXX\", modelWidth, spaceObj)\n          let wallWidth = 0; // 墙体宽度\n          // 计算墙体的 X Y W H\n          //说明该面墙壁只使用了一个模型-独占形式\n          if (modelItem.isStepAsideTopRight == 'true' && modelItem.isStepAsideBottomLeft == 'true') {\n            if (wallDirection == \"S\" || wallDirection == \"N\") {\n              //南北\n              wallScaleX = spaceObj.spaceWidth / modelWidth;\n            } else {\n              //东西\n              wallScaleX = spaceObj.spaceHeight / modelWidth;\n            }\n            if (parseInt(modelItem.wallType) >= 21 && parseInt(modelItem.wallType) <= 26 || parseInt(modelItem.wallType) == 7) {} else {\n              modelItem.wallWidth = wallScaleX * modelWidth; // 解决模型行拉伸定位问题, 先注释\n            }\n          } else {\n            //墙面是多端墙体组合而成的\n            if (modelItem.isFixedWidth == 'true') {\n              //该墙体锁定宽度-即不可缩放\n              wallWidth = modelItem.wallWidth; // 墙体宽度\n              // console.log(\"模型的尺寸\",wallWidth, spaceObj.spaceWidth, spaceObj.centerX)\n              //起始墙体-南北从左侧算,东西则从上侧计算\n              if (modelItem.isStepAsideBottomLeft == 'true' || modelItem.isStepAsideTopRight == 'true') {\n                if (wallDirection == \"S\" || wallDirection == \"N\") {\n                  //南北\n                  wallPositionX = spaceObj.centerX - (spaceObj.spaceWidth - wallWidth) / 2;\n                  wallPositionX = wallPositionX / scale; // 转换成m\n                } else {\n                  wallPositionY = -spaceObj.centerY - (spaceObj.spaceHeight - wallWidth) / 2;\n                  wallPositionY = wallPositionY / scale; // 转换成m\n                }\n              } else {\n                if (wallDirection == \"S\" || wallDirection == \"N\") {\n                  //南北\n                  wallPositionX = lastWallPosition + wallWidth / 2 / scale;\n                } else {\n                  wallPositionY = lastWallPosition + wallWidth / 2 / scale;\n                }\n              }\n              // console.log(\"模型的尺寸\",wallWidth, wallPositionX)\n              if (modelItem.wallType == 0) {\n                wallScaleX = modelItem.wallWidth / wallHeight;\n              } else {\n                console.log(\"墙体模型的缩放\", spaceObj.spaceId, wallDirection, modelItem, curWallType);\n                // if(!moveOut){\n                const curWallType = _static_wallData_js__WEBPACK_IMPORTED_MODULE_1___default().find(it => it.type == modelItem.wallType);\n                wallScaleX = modelItem.wallWidth / curWallType.width;\n                console.log(\"墙体模型的缩小\", wallScaleX);\n                // }else{\n                // \tconsole.log(\"墙体模型的放大\", wallScaleX);\n                // }\n              }\n              //计算当前墙体占据的整面墙体的大小-方便下一段墙体的计算\n              if (wallDirection == \"S\" || wallDirection == \"N\") {\n                //南北\n                lastWallPosition = wallPositionX + wallWidth / 2 / scale;\n              } else {\n                lastWallPosition = wallPositionY + wallWidth / 2 / scale;\n              }\n              // wallPositionY = 1;\n            } else {\n              //可变墙体-UE编辑器通常把它放到最后一段墙体\n              wallWidth = 0;\n              //墙体的宽度是计算得出的\n              if (wallDirection == \"S\" || wallDirection == \"N\") {\n                //南北\n                wallWidth = spaceObj.centerX + spaceObj.spaceWidth / 2 - lastWallPosition * scale; // 墙体宽度\n                // console.log(\"最后一个模型\",spaceObj.centerX, spaceObj.spaceWidth / 2, lastWallPosition)\n              } else {\n                wallWidth = -spaceObj.centerY + spaceObj.spaceHeight / 2 - lastWallPosition * scale; // 墙体宽度\n              }\n\n              wallWidth = wallWidth / scale; // cm转换成m\n              if (modelItem.wallType == 0) {\n                wallScaleX = wallWidth * wallHeight;\n                if (wallDirection == \"S\" || wallDirection == \"N\") {\n                  //南北\n                  wallPositionX = lastWallPosition + wallWidth / 2;\n                } else {\n                  wallPositionY = lastWallPosition + wallWidth / 2;\n                }\n              }\n              modelItem.wallWidth = wallWidth * scale; //确保单位一致\n              // wallPositionY = 1;\n            }\n          }\n\n          console.log(\"移动墙体模型-空间信息\", spaceObj.spaceWidth, spaceObj.centerX, spaceObj.centerY, spaceObj);\n          console.log(\"移动墙体模型-墙体信息\", spaceObj.spaceId, direction, wallDirection, modelItem.wallType, wallWidth, this.wallList);\n          //计算得出墙体相应的位置和变形属性\n          modelItem.wallPositionX = wallPositionX;\n          modelItem.wallPositionY = wallPositionY;\n          modelItem.wallScaleX = wallScaleX;\n          modelItem.wallScaleY = wallScaleY;\n          modelItem.wallRotateY = wallRotateY;\n          modelItem.wallWidth = wallWidth;\n\n          // 更新数据\n          if (isComputeWall || direction == wallDirection) {\n            this.gltfWalls.forEach(gltfItem => {\n              if (gltfItem.spaceId == spaceObj.spaceId && wallDirection == gltfItem.wallDirection && modelItem.id == gltfItem.wallModelData.id) {\n                console.log(\"墙体更新\", gltfItem.spaceId, spaceObj.spaceId, wallDirection, gltfItem.wallDirection, modelItem.id, gltfItem.wallModelData.id, isComputeWall, direction);\n                gltfItem.wallModelData = JSON.parse(JSON.stringify(modelItem));\n                gltfItem.willCurWallType = modelItem.willCurWallType;\n                if (gltfItem.wallModelData.wallType != 0) {\n                  gltfItem.isDidWall = isCreateNewWall;\n                }\n              }\n            });\n          }\n          console.log(\"移动墙体模型-墙体信息++++++++\", spaceObj.spaceId, direction, wallDirection, isComputeWall, modelItem);\n          this.wallList.forEach(wallItem => {\n            const walls = JSON.parse(wallItem.wallJson);\n\n            // console.log(\"墙体数据2----------\", walls, modelItem);\n            walls.wallData.forEach(wall => {\n              wall.wallModelData.forEach(wallmodel => {\n                // console.log(\"墙体数据3----------\", wall.wallDirection, wallDirection, wallmodel.id, modelItem.id);\n                if (wall.wallDirection == wallDirection && wallmodel.id == modelItem.id && walls.spaceId == spaceObj.spaceId) {\n                  if (wallmodel.wallType == 0 && wallmodel.isFixedWidth == 'true') {\n                    wallmodel.wallWidth = modelItem.wallWidth;\n                    console.log(\"墙体数据31----实体墙------\", spaceObj.spaceId, modelItem.wallWidth, modelItem);\n                  }\n                  if (wallmodel.wallType != 0) {\n                    wallmodel.wallWidth = modelItem.wallWidth;\n                    const curWallType = _static_wallData_js__WEBPACK_IMPORTED_MODULE_1___default().find(it => it.type == modelItem.willCurWallType);\n                    if (curWallType) {\n                      wallmodel.wallType = curWallType.type;\n                    }\n                  }\n                }\n              });\n            });\n            wallItem.wallJson = JSON.stringify(walls);\n          });\n        });\n      });\n      // console.log(\"墙体数据2\", this.gltfWalls, this.wallList);\n    },\n\n    //更新墙体模型的位置\n    updateAllWallHandle() {\n      //spaceList gltfSpaces\n      console.warn(\"***updateAllWallHandle***\");\n      this.spaceList.forEach(spaceObj => {\n        // 根据空间,更新前提数据\n        let wallObj = this.wallList.find(item => {\n          return item.id == spaceObj.wallId;\n        });\n        if (wallObj) {\n          let element = JSON.parse(wallObj.wallJson);\n          // console.warn(\"****wallObj**\",element)\n          this.computeWallHandleOld(spaceObj, element); // 重新计算-并把空间的计算结果同步到gltfWalls中\n        }\n      });\n\n      for (let index = 0; index < this.gltfWalls.length; index++) {\n        const element = this.gltfWalls[index];\n        this.drawModel(element.wallModelData, null, element, false);\n      }\n    },\n    loadChangeWallModels(item, resolve) {\n      var that = this;\n      let wallObj = item;\n      // console.log(\"处理模型替换\", item.wallModelData);\n      if (item.wallModelData.wallWidth == 0) {\n        // 模型隐藏\n        return resolve();\n      }\n      if (item.wallModelData.willCurWallType && item.wallModelData.willCurWallType != -1) {\n        const curWallType = _static_wallData_js__WEBPACK_IMPORTED_MODULE_1___default().find(it => it.type == item.wallModelData.willCurWallType);\n        // console.log(\"加载的模型\", item, item.wallModelData.willCurWallType, curWallType);\n        if (!curWallType) {\n          return resolve();\n        }\n        that.loader.load(curWallType.url, gltf => {\n          // 旧的模型\n          let spaceInitMatrix = []; //记录下动画创建时的初始变换矩阵\n          wallObj.instancedMeshIndexList.forEach(it => {\n            let _index = it.instancedMeshIndex;\n            let instancedMesh = this.instancedMeshList[_index]; //获取网格实例\n            let startMatrix = new three__WEBPACK_IMPORTED_MODULE_2__.Matrix4(); //定义一个四维矩阵\n            instancedMesh.getMatrixAt(it.instancedAtIndex, startMatrix); //获取当前几何体的四维矩阵到stratMatrix里面\n            spaceInitMatrix.push({\n              index: _index,\n              matrix: startMatrix.clone()\n            });\n          });\n          wallObj.instancedMeshIndexList.forEach(it => {\n            let _index = it.instancedMeshIndex;\n            let instancedMesh = this.instancedMeshList[_index]; //获取网格实例\n            let tmp = spaceInitMatrix.find(it => it.index == _index);\n            let stratMatrix = tmp.matrix.clone(); //获取初始变换矩阵\n            // // 计算变化后的位置:位移后的位置 是 当前几何体的位置参数 加上 模型移动后的位置偏移量\n\n            let scaleMatrix = new three__WEBPACK_IMPORTED_MODULE_2__.Matrix4(); //定义一个缩放变化矩阵\n            let panMatrix = new three__WEBPACK_IMPORTED_MODULE_2__.Matrix4(); //定义一个平移变化矩阵\n\n            scaleMatrix.makeScale(0, 0, 0); //获得缩放变化矩阵\n            panMatrix.makeTranslation(0, 0, 0); //获得平移变化矩阵\n            stratMatrix.multiply(scaleMatrix).premultiply(panMatrix); //通过矩阵计算获得最终的形变矩阵\n            instancedMesh.instanceMatrix.needsUpdate = true; //更新之前,必须开启开关\n            instancedMesh.setMatrixAt(it.instancedAtIndex, stratMatrix); //更新几何体的世界矩阵\n          });\n\n          let newWallObj = JSON.parse(JSON.stringify(item));\n          const wallType = item.wallModelData.willCurWallType;\n          console.log(\"重新组合新模型数据\", newWallObj, item.wallModelData, wallType);\n          newWallObj.willCurWallType = -1;\n          let wallModelData = newWallObj.wallModelData;\n          wallModelData.wallScaleX = 1;\n          wallModelData.wallScaleY = 1;\n          wallModelData.lastWallType = item.wallModelData.wallType;\n          wallModelData.wallType = wallType;\n          wallModelData.willCurWallType = -1;\n          newWallObj.wallModelData = wallModelData;\n          newWallObj.wallScaleX = 1;\n          newWallObj.wallScaleY = 1;\n          let realWallArr = this.preWallData([newWallObj]);\n          const realData = realWallArr[0];\n\n          // 新的模型\n          gltf.scene.traverse(child => {\n            if (child.isMesh && child.visible) {\n              let instancedMesh = new three__WEBPACK_IMPORTED_MODULE_2__.InstancedMesh(child.geometry.clone(), child.material.clone(), realData.list.length);\n              this.instancedMeshList.push(instancedMesh);\n              //realData 该模型被重复使用时的每一次的形变参数等\n              realData.list && realData.list.forEach((it, i) => {\n                gltf.scene.position.set(item.wallPositionX, 0, item.wallPositionY);\n                gltf.scene.scale.set(1, 1, 1);\n                gltf.scene.rotation.y = item.wallRotateY;\n                gltf.scene.updateMatrixWorld(); //更新世界坐标-这样,子模型也同步更新了\n                instancedMesh.setMatrixAt(i, child.matrixWorld);\n                instancedMesh.instanceMatrix.needsUpdate = true;\n                // instancedMesh.setColorAt(i, child.material.color);\n                // instancedMesh.instanceColor.needsUpdate = true;\n                // console.log(\"***matrixWorld***\",child.matrixWorld);\n                let gltfWall = that.gltfWalls.find(gltfWall => gltfWall.uniId == it.uniId); //判断是否已经添加过\n                if (!gltfWall) {\n                  let md = {\n                    uniId: it.uniId,\n                    //模型实例的唯一标识\n                    spaceId: it.spaceId,\n                    instancedMeshIndexList: [\n                    //标识网格实例数组的序号 以及 当前几何体 在网格实例的序号\n                    {\n                      instancedMeshIndex: this.instancedMeshList.length - 1,\n                      instancedAtIndex: i\n                    }],\n                    // id:child.id,//几何体的id\n                    // name:child.name,//几何体的id\n                    wallPositionX: item.wallPositionX,\n                    wallPositionY: item.wallPositionY,\n                    wallScaleX: 1,\n                    wallScaleY: 1,\n                    wallRotateY: item.wallRotateY,\n                    wallWidth: item.wallWidth,\n                    wallModelData: wallModelData,\n                    wallModelInitData: item,\n                    // 保留初始化墙体数据,方便空间变形计算缩放比例 \n                    wallDirection: it.wallDirection,\n                    willCurWallType: -1,\n                    // 即将成为当前模型,作用于动画加载完替换\n                    lastWallType: wallModelData.lastWallType // 上一次墙体模型\n                  };\n\n                  that.gltfWalls.push(md);\n                } else {\n                  gltfWall.instancedMeshIndexList.push({\n                    instancedMeshIndex: this.instancedMeshList.length - 1,\n                    instancedAtIndex: i\n                  });\n                }\n              });\n              instancedMesh.userType = \"mesh\";\n              that.scene.add(instancedMesh);\n            }\n          });\n          resolve();\n        });\n      }\n      resolve();\n    }\n  }\n});\n\n//# sourceURL=webpack://hello-world/./src/mixins/wallMethod.js?");/***/ }),/***/ "./src/router/index.js":/*!*****************************!*\  !*** ./src/router/index.js ***!  \*****************************//***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {"use strict";eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! vue */ \"./node_modules/_vue@2.7.14@vue/dist/vue.esm.js\");\n/* harmony import */ var vue_router__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! vue-router */ \"./node_modules/_vue-router@3.6.5@vue-router/dist/vue-router.esm.js\");\n/* harmony import */ var _pages_mainView_mainView_vue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @/pages/mainView/mainView.vue */ \"./src/pages/mainView/mainView.vue\");\n\n\n\n// import Login from '@/pages/loginView/loginView.vue'\n\nvue__WEBPACK_IMPORTED_MODULE_1__[\"default\"].use(vue_router__WEBPACK_IMPORTED_MODULE_2__[\"default\"]);\nconst router = new vue_router__WEBPACK_IMPORTED_MODULE_2__[\"default\"]({\n  // mode: 'history',\n  routes: [\n  // 页面初始化\n  {\n    path: '/',\n    redirect: '/pages/mainView'\n  }, {\n    path: '/pages/mainView',\n    name: 'mainView',\n    component: _pages_mainView_mainView_vue__WEBPACK_IMPORTED_MODULE_0__[\"default\"]\n  }]\n});\nrouter.beforeEach((to, from, next) => {\n  console.warn(\"router:start-1\", from, to);\n  //如果存在用户账号信息|| to.query.uid\n  next();\n});\n//同一个路由跳转报错解决,NavigationDuplicated: Avoided redundant navigation to current location:\nconst originalPush = vue_router__WEBPACK_IMPORTED_MODULE_2__[\"default\"].prototype.push;\nvue_router__WEBPACK_IMPORTED_MODULE_2__[\"default\"].prototype.push = function push(location) {\n  return originalPush.call(this, location).catch(err => err);\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = (router);\n\n//# sourceURL=webpack://hello-world/./src/router/index.js?");/***/ }),/***/ "./src/services/request.js":/*!*********************************!*\  !*** ./src/services/request.js ***!  \*********************************//***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {"use strict";eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/es.array.push.js */ \"./node_modules/_core-js@3.31.1@core-js/modules/es.array.push.js\");\n/* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _store__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @/store */ \"./src/store/index.js\");\n/* harmony import */ var axios__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! axios */ \"./node_modules/_axios@0.21.4@axios/index.js\");\n/* harmony import */ var axios__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(axios__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _utils_localStorage__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @/utils/localStorage */ \"./src/utils/localStorage.js\");\n/* harmony import */ var _router__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @/router */ \"./src/router/index.js\");\n\n\n\n\n\nvar requestCount = 0; //记录下同时的请求数\n// import ElementUI from 'element-ui';\nvar showToast = true;\n(axios__WEBPACK_IMPORTED_MODULE_2___default().defaults).headers.post['elabEnvironment'] = '4'; //axios默认的请求方式,可以自己设置\n(axios__WEBPACK_IMPORTED_MODULE_2___default().defaults).headers.post['userType'] = '1000'; //axios默认的请求方式,可以自己设置\naxios__WEBPACK_IMPORTED_MODULE_2___default().interceptors.request.use(function (config) {\n  if (config.noLoading) {\n    _store__WEBPACK_IMPORTED_MODULE_1__[\"default\"].dispatch('setLoading', false); //不显示loading态\n  }\n\n  requestCount++; //请求数+1\n  if (config.url.includes('http')) {\n    return config;\n  } else {\n    config.url = window.$config.api_url + config.url;\n    if (config.url.includes('elab-marketing-operate/mofangTest/user/login') || config.url.includes('elab-marketing-user/vcode/send/verifyCode')) {\n      config.headers['userId'] = \"\";\n      config.headers['ip'] = \"\";\n      showToast = true;\n    } else {\n      //uploadOss 上传format文件过大时提示不成功,接口500,通过测试与header有关,注释掉上传的header就好了\n      if (!config.url.includes('elab-marketing-sms/aliyun/openapi/uploadOss')) {\n        let userinfo = (0,_utils_localStorage__WEBPACK_IMPORTED_MODULE_3__.getStorage)('userInfoThing');\n        config.headers['userId'] = userinfo ? JSON.parse(userinfo).dataUserId : '';\n        config.headers['ip'] = (0,_utils_localStorage__WEBPACK_IMPORTED_MODULE_3__.getStorage)('ip');\n        config.headers['maiya_token'] = (0,_utils_localStorage__WEBPACK_IMPORTED_MODULE_3__.getStorage)('userInfoThing') ? JSON.parse((0,_utils_localStorage__WEBPACK_IMPORTED_MODULE_3__.getStorage)('userInfoThing')).maiya_token || \"\" : \"\"; //token\n      }\n    }\n  }\n\n  return config;\n}, function (error) {\n  console.log(error);\n});\naxios__WEBPACK_IMPORTED_MODULE_2___default().interceptors.response.use(function (response) {\n  requestCount = requestCount - 1;\n  if (requestCount < 1) {\n    _store__WEBPACK_IMPORTED_MODULE_1__[\"default\"].state.loading = false; //不显示loading状态\n  }\n\n  let result = response.data;\n  return result;\n}, function (error) {\n  console.log(\"***error***\", error, requestCount);\n  requestCount = requestCount - 1;\n  if (requestCount < 1) {\n    _store__WEBPACK_IMPORTED_MODULE_1__[\"default\"].state.loading = false; //不显示loading状态\n  }\n  //如果返回的状态码是401则需要返回到登录\n  if (error.response && error.response.status && error.response.status == 401) {\n    window.$bus.$off(); //取消所有的订阅事件\n    (0,_utils_localStorage__WEBPACK_IMPORTED_MODULE_3__.removeItem)('userInfoThing');\n    (0,_utils_localStorage__WEBPACK_IMPORTED_MODULE_3__.removeItem)('currentConponent');\n    (0,_utils_localStorage__WEBPACK_IMPORTED_MODULE_3__.removeItem)('setProgramComponetData');\n    for (let i = 0; i < window.localStorage.length; i++) {\n      let key = window.localStorage.key(i);\n      if (key.includes(\"currentProject\")) {\n        (0,_utils_localStorage__WEBPACK_IMPORTED_MODULE_3__.removeItem)(key);\n      }\n      if (key.includes(\"planItem\")) {\n        (0,_utils_localStorage__WEBPACK_IMPORTED_MODULE_3__.removeItem)(key);\n      }\n    }\n    window.$clearPermissionRole(); //登出时重置权限里面记录的权限单元\n    _store__WEBPACK_IMPORTED_MODULE_1__[\"default\"].dispatch('setCurrentProject', null);\n    _router__WEBPACK_IMPORTED_MODULE_4__[\"default\"].push({\n      name: \"Login\"\n    });\n    if (showToast) {\n      showToast = false;\n      // ElementUI.Message({\n      // \tmessage:\"账号已失效\",\n      // \ttype:\"error\"\n      // });\n    }\n\n    error.response.message = \"账号已失效\";\n    error.response.data.message = \"账号已失效\";\n    // MessageBox.alert('账号已失效,无法登录', '提示', {\n    //           confirmButtonText: '确定',\n    //           callback: action => {\n    //               router.replace({\n    //                   name: 'Login',\n    //                   query: {redirect: router.currentRoute.fullPath} //登录后再跳回此页面时要做的配置\n    //               })\n    //           }\n    //       });\n  }\n\n  let result = error.response;\n  return result;\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = ((axios__WEBPACK_IMPORTED_MODULE_2___default()));\n\n//# sourceURL=webpack://hello-world/./src/services/request.js?");/***/ }),/***/ "./src/services/requestConfig.js":/*!***************************************!*\  !*** ./src/services/requestConfig.js ***!  \***************************************//***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {"use strict";eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _store__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @/store */ \"./src/store/index.js\");\n\nvar doubleClickList = []; //防连击的数组对象\n// 请求地址对象\nconst endpoints = {\n  upload: 'elab-marketing-system/behavior/brandMiniWeb/upload',\n  //埋点接口\n  login: 'elab-marketing-analyse/cockpit/login',\n  //用户登录\n  // // webGL接口\n  getHouseTypeSpaceDetailsV2: 'elab-marketing-file/space_generation_background/getHouseTypeSpaceDetails/v2',\n  //V1.1.0-城市首页\n  getHouseTypeSpaceDetails: 'elab-marketing-file/space_generation_background/getHouseTypeSpaceDetails',\n  //V1.1.0-城市首页\n\n  //    // 柔性定制接口\n  getHouseTypeSpaceWalls: '/elab-marketing-file/space_generation_background/getHouseTypeSpaceWalls',\n  // 批量获取墙面信息\n\n  houseDetail: 'elab-marketing-user/house/detail',\n  findHouseTypeSpaceList: 'elab-marketing-file/space_generation_background/findHouseTypeSpaceList',\n  layoutList: 'elab-marketing-content/aiDreamHouse/V3.0/layoutList',\n  labelList: 'elab-marketing-content/aiDreamHouse/V3.0/labelList',\n  findOverallArrangementList: 'elab-marketing-file/space_generation_background/findOverallArrangementList',\n  getOverallArrangementDetailsList: 'elab-marketing-file/space_generation_background/getOverallArrangementDetailsList',\n  choiceList: \"elab-marketing-content/aiDreamHouse/V3.0/choiceList\",\n  getHardboundEffects: \"elab-marketing-file/space_vary/getHardboundEffects\",\n  uploadImgControlNet: \"elab-marketing-content/aiBeautyFamily/uploadImgControlNet\",\n  // generateProcess: \"elab-marketing-content/aiBeautyFamily/generateProcess\",\n  getUploadToken: \"elab-marketing-file/upload/getUploadToken\",\n  findSpatialInfoList: \"elab-marketing-file/flexible_customization/findSpatialInfoList\"\n};\nwindow.requestConfig = async (endpoint, options, isHideLoading = false, preventDoubleClick = false, method = 'post') => {\n  if (!endpoints.hasOwnProperty(endpoint)) {\n    console.error(`no such endpoint: ${endpoint}`);\n    return {\n      message: \"不存在该接口\"\n    };\n  }\n  const requestOptions = {\n    path: endpoints[endpoint],\n    data: options\n  };\n  if (preventDoubleClick) {\n    //说明该接口需要防止连击\n    if (doubleClickList[requestOptions.path] && doubleClickList[requestOptions.path].isRunning) {\n      console.log(`${requestOptions.path}触发连击,屏蔽该请求`);\n      return;\n    } else {\n      console.log(`${requestOptions.path}触发连击,通过`);\n      doubleClickList[requestOptions.path] = {\n        isRunning: true\n      };\n    }\n  }\n  console.log(`获取${requestOptions.path}请求的参数:`, requestOptions.data);\n  requestOptions.url = requestOptions.path;\n  // var t = Math.round(new Date());\n  // requestOptions.time = t;\n\n  if (!requestOptions.url.includes('/elab-marketing-user/aysn/task/byone') && !requestOptions.url.includes('elab-marketing-analyse/heavenlyEye/saleTarget/add') && !requestOptions.url.includes('elab-marketing-analyse/heavenlyEye/customer/coverPopulation') && !requestOptions.url.includes('elab-marketing-analyse/heavenlyEye/customer/intention') && !requestOptions.url.includes('elab-marketing-analyse/urbanCockpit/sky_eye_marketing/getAdCreativeDraftCheckResult') && !requestOptions.url.includes('elab-marketing-analyse/heavenlyEye/getCompareMapTotalPopulation')) {\n    _store__WEBPACK_IMPORTED_MODULE_0__[\"default\"].state.loading = true; //显示loading态\n  }\n\n  if (isHideLoading) {\n    _store__WEBPACK_IMPORTED_MODULE_0__[\"default\"].state.loading = false; //显示loading态\n  }\n\n  if (requestOptions.url.includes('elab-marketing-analyse/heavenlyEye/importLocations') || requestOptions.url.includes('elab-marketing-sms/aliyun/openapi/uploadOss')) {\n    requestOptions.ContentType = 'multipart/form-data';\n  }\n  if (requestOptions) {\n    let platform = window.userInfo && window.userInfo['userAccount'] && window.userInfo['userAccount'].platform ? window.userInfo['userAccount'].platform : ''; //TODO 要还原成‘’的\n    let currentProject = _store__WEBPACK_IMPORTED_MODULE_0__[\"default\"].state.currentProject ? _store__WEBPACK_IMPORTED_MODULE_0__[\"default\"].state.currentProject : null;\n    let landId = currentProject ? currentProject.id : '';\n    requestOptions.data = requestOptions.data ? requestOptions.data : {};\n    let userTypeId = window.userInfo && window.userInfo.userType ? window.userInfo.userType.id : ''; //1客户端 ,2投手端\n    if (userTypeId == 2) {\n      if (!requestOptions.data.hasOwnProperty('platform') || !requestOptions.data.platform) {\n        requestOptions.data.platform = platform;\n      }\n    }\n    if (!requestOptions.data.hasOwnProperty('landId') || !requestOptions.data.landId) {\n      requestOptions.data.landId = landId;\n    }\n  }\n  var response;\n  if (requestOptions.url.includes('http') || method == 'get') {\n    let params = requestOptions.data;\n    response = await axios.get(requestOptions.url, {\n      params\n    });\n  } else {\n    response = await axios.post(requestOptions.url, requestOptions.data);\n  }\n  //说明该接口需要防止连击\n  if (preventDoubleClick && doubleClickList[requestOptions.path] && doubleClickList[requestOptions.path].isRunning) {\n    console.log(`${requestOptions.path}连击接口已返回,清空连击数组`);\n    doubleClickList[requestOptions.path].isRunning = false;\n  }\n  // console.log('返回' + requestOptions.path + '请求的结果:', response)\n  return response;\n};\n\n//# sourceURL=webpack://hello-world/./src/services/requestConfig.js?");/***/ }),/***/ "./src/services/urlConfig.js":/*!***********************************!*\  !*** ./src/services/urlConfig.js ***!  \***********************************//***/ (function(module) {eval("module.exports = function (env) {\n  let WEB_CONF = {};\n  if (env === 'test') {\n    WEB_CONF = {\n      miniAppUrl: 'https://h5test.elab-plus.com/',\n      zipUrl: 'http://139.196.5.59:5307',\n      uploadUrl: 'http://101.132.138.87:5555',\n      //文件上传\n      api_url: 'https://gatewaytest.elab-plus.vip/',\n      //測試\n      redirect_uri: 'https://h5test1.elab-plus.com/krpano/template',\n      // 授权回调地址\n      themeColor1: '#FFD09F',\n      themeColor2: '#FFAD5C',\n      themeColor3: '#EF863F',\n      themeColor4: '#FFDF80',\n      themeColor5: '#848EFF',\n      themeColor6: '#76BCFF',\n      themeColor7: '#85FDF0',\n      themeColor8: '#FFEDB9',\n      themeColor9: '#FFFFFF',\n      themeColor10: '#000000',\n      themeColor11: '#B4FACB',\n      themeColor12: '#4D7B5C',\n      clientId: '1112011009',\n      appId: '1758586978178079',\n      baiduAppid: 'd06f13eae4d2bc56f5fa7359784c0af9'\n    };\n  } else if (env === 'test2') {\n    WEB_CONF = {\n      miniAppUrl: 'https://h5test.elab-plus.com/',\n      zipUrl: 'http://139.196.5.59:5307',\n      uploadUrl: 'http://106.14.187.241:5555',\n      //文件上传\n      api_url: 'https://gatewaytest1.elab-plus.com/',\n      //測試\n      redirect_uri: 'https://h5test1.elab-plus.com/krpano/template',\n      // 授权回调地址\n      themeColor1: '#FFD09F',\n      themeColor2: '#FFAD5C',\n      themeColor3: '#EF863F',\n      themeColor4: '#FFDF80',\n      themeColor5: '#848EFF',\n      themeColor6: '#76BCFF',\n      themeColor7: '#85FDF0',\n      themeColor8: '#FFEDB9',\n      themeColor9: '#FFFFFF',\n      themeColor10: '#000000',\n      themeColor11: '#B4FACB',\n      themeColor12: '#4D7B5C',\n      clientId: '1112011009',\n      appId: '1758586978178079',\n      baiduAppid: 'd06f13eae4d2bc56f5fa7359784c0af9'\n    };\n  } else if (env === 'test3') {\n    WEB_CONF = {\n      miniAppUrl: 'https://h5test.elab-plus.com/',\n      zipUrl: 'http://139.196.5.59:5307',\n      uploadUrl: 'http://106.14.187.241:5555',\n      //文件上传\n      api_url: 'https://gatewaytest3.skyforestcity.com/',\n      //測試\n      redirect_uri: 'https://h5test3.elab-plus.net/krpano/template',\n      // 授权回调地址\n      themeColor1: '#FFD09F',\n      themeColor2: '#FFAD5C',\n      themeColor3: '#EF863F',\n      themeColor4: '#FFDF80',\n      themeColor5: '#848EFF',\n      themeColor6: '#76BCFF',\n      themeColor7: '#85FDF0',\n      themeColor8: '#FFEDB9',\n      themeColor9: '#FFFFFF',\n      themeColor10: '#000000',\n      themeColor11: '#B4FACB',\n      themeColor12: '#4D7B5C',\n      clientId: '1112011009',\n      appId: '1758586978178079',\n      baiduAppid: 'd06f13eae4d2bc56f5fa7359784c0af9'\n    };\n  } else if (env === 'test4') {\n    WEB_CONF = {\n      miniAppUrl: 'https://h5test.elab-plus.com/',\n      zipUrl: 'http://139.196.5.59:5307',\n      uploadUrl: 'http://106.14.187.241:5555',\n      //文件上传\n      api_url: 'https://gatewaytest4.skyforestcity.com/',\n      //測試\n      redirect_uri: 'https://h5test1.elab-plus.com/krpano/template',\n      // 授权回调地址\n      themeColor1: '#FFD09F',\n      themeColor2: '#FFAD5C',\n      themeColor3: '#EF863F',\n      themeColor4: '#FFDF80',\n      themeColor5: '#848EFF',\n      themeColor6: '#76BCFF',\n      themeColor7: '#85FDF0',\n      themeColor8: '#FFEDB9',\n      themeColor9: '#FFFFFF',\n      themeColor10: '#000000',\n      themeColor11: '#B4FACB',\n      themeColor12: '#4D7B5C',\n      clientId: '1112011009',\n      appId: '1758586978178079',\n      baiduAppid: 'd06f13eae4d2bc56f5fa7359784c0af9'\n    };\n  } else if (env === 'dev') {\n    WEB_CONF = {\n      miniAppUrl: 'http://h5test.elab-plus.com/',\n      zipUrl: 'http://139.196.5.59:5307',\n      uploadUrl: 'http://192.168.50.104:5555',\n      //文件上传\n      api_url: 'http://192.168.50.104:5555/',\n      //开发\n      redirect_uri: 'https://h5test1.elab-plus.com/krpano/template',\n      // 授权回调地址\n      themeColor1: '#FFD09F',\n      themeColor2: '#FFAD5C',\n      themeColor3: '#EF863F',\n      themeColor4: '#FFDF80',\n      themeColor5: '#848EFF',\n      themeColor6: '#76BCFF',\n      themeColor7: '#85FDF0',\n      themeColor8: '#FFEDB9',\n      themeColor9: '#FFFFFF',\n      themeColor10: '#000000',\n      themeColor11: '#B4FACB',\n      themeColor12: '#4D7B5C',\n      clientId: '1112011009',\n      appId: '1758586978178079',\n      baiduAppid: 'd06f13eae4d2bc56f5fa7359784c0af9'\n    };\n  } else if (env === 'uat') {\n    WEB_CONF = {\n      miniAppUrl: 'https://mng-uat.elaber.cn/',\n      uploadUrl: 'https://api-uat.elaber.cn',\n      //文件上传地址\n      api_url: 'https://api-uat.elaber.cn/',\n      //堡垒 接口地址https://dm.static.elab-plus.com/Kq3t1c3IDV.txt\n      redirect_uri: 'https://mng-uat.elaber.cn/krpano/template',\n      // 授权回调地址\n      themeColor1: '#FFD09F',\n      themeColor2: '#FFAD5C',\n      themeColor3: '#EF863F',\n      themeColor4: '#FFDF80',\n      themeColor5: '#848EFF',\n      themeColor6: '#76BCFF',\n      themeColor7: '#85FDF0',\n      themeColor8: '#FFEDB9',\n      themeColor9: '#FFFFFF',\n      themeColor10: '#000000',\n      themeColor11: '#B4FACB',\n      themeColor12: '#4D7B5C',\n      clientId: '1112013355',\n      appId: '1758979466364941',\n      baiduAppid: '9a7c9c156493ffbb48bd562112e1161a'\n    };\n  } else if (env === 'uat3') {\n    WEB_CONF = {\n      miniAppUrl: 'https://mng-uat3.elaber.cn/',\n      uploadUrl: 'https://api-uat3.elaber.cn',\n      //文件上传地址\n      api_url: 'https://api-uat3.elaber.cn/',\n      //堡垒 接口地址https://dm.static.elab-plus.com/Kq3t1c3IDV.txt\n      redirect_uri: 'https://mng-uat3.elaber.cn/krpano/template',\n      // 授权回调地址\n      themeColor1: '#FFD09F',\n      themeColor2: '#FFAD5C',\n      themeColor3: '#EF863F',\n      themeColor4: '#FFDF80',\n      themeColor5: '#848EFF',\n      themeColor6: '#76BCFF',\n      themeColor7: '#85FDF0',\n      themeColor8: '#FFEDB9',\n      themeColor9: '#FFFFFF',\n      themeColor10: '#000000',\n      themeColor11: '#B4FACB',\n      themeColor12: '#4D7B5C',\n      clientId: '1112013355',\n      appId: '1758979466364941',\n      baiduAppid: '9a7c9c156493ffbb48bd562112e1161a'\n    };\n  } else if (env === 'production') {\n    WEB_CONF = {\n      miniAppUrl: 'https://dm-mng.elab-plus.com.cn/',\n      uploadUrl: 'https://dm-api.elab-plus.cn',\n      //文件上传\n      api_url: 'https://dm-api.elab-plus.cn/',\n      //接口地址\n      redirect_uri: 'http://city.1949plus.com',\n      // 授权回调地址\n      themeColor1: '#FFD09F',\n      themeColor2: '#FFAD5C',\n      themeColor3: '#EF863F',\n      themeColor4: '#FFDF80',\n      themeColor5: '#848EFF',\n      themeColor6: '#76BCFF',\n      themeColor7: '#85FDF0',\n      themeColor8: '#FFEDB9',\n      themeColor9: '#FFFFFF',\n      themeColor10: '#000000',\n      themeColor11: '#B4FACB',\n      themeColor12: '#4D7B5C',\n      clientId: '1112009742',\n      appId: '1758704971288606',\n      baiduAppid: '30c97c277abecefe282aaa2ea7fa4115'\n    };\n  }\n  return WEB_CONF;\n};\n\n//# sourceURL=webpack://hello-world/./src/services/urlConfig.js?");/***/ }),/***/ "./src/static/globlShowModel.js":/*!**************************************!*\  !*** ./src/static/globlShowModel.js ***!  \**************************************//***/ (function(module) {eval("//需要精简加载的模型名称\nvar globlShowModel = ['BP_XSPACE_deng_01', 'BP_L_carpet01', \"BP_D_LongDiningTable_240CM\", \"BP_D_DinnerChair01\", \"BP_L_2Sofa01\", \"BP_L_1Sofa01\", \"BP_L_book01\", \"BP_L_31TV01\", \"BP_L_TeaRTable\", \"BP_B_verysmallbed\", \"BP_B_wardrobe01\", \"BP_K_Kitchentable002\", \"BP_K_cookerhood2\", \"BP_K_icebox_2door002\", \"BP_K_flue002\", \"BP_K_caozuotai03\", \"BP_K_caozuotai001\", \"BP_K_cookerhood02\", \"BP_K_shuipen01\", \"BP_K_shuipen02\", \"BP_T_matong\", \"BP_T_1PeopleBasin01\", \"BP_T_OpenShower01\", \"BP_L_TeaTable02\"];\nmodule.exports = globlShowModel;\n\n//# sourceURL=webpack://hello-world/./src/static/globlShowModel.js?");/***/ }),/***/ "./src/static/layoutModelData.js":/*!***************************************!*\  !*** ./src/static/layoutModelData.js ***!  \***************************************//***/ (function(module) {eval("var layoutModel = [{\n  url: 'https://dm.static.elab-plus.com/miniProgram/model/BP_B_Mbed.glb',\n  name: '1.5m床',\n  modelName: 'BP_B_Mbed01',\n  type: 1\n}, {\n  url: 'https://dm.static.elab-plus.com/miniProgram/model/BP_B_smallcabin.glb',\n  name: '床头柜',\n  modelName: 'BP_B_smallcabinet01',\n  type: 1\n},\n// {url: 'https://dm.static.elab-plus.com/miniProgram/model/BP_AutoWall_195M_C.gltf', name: '1.95m',modelName: 'BP_AutoWall_195M_C', type:1},\n{\n  url: 'https://dm.static.elab-plus.com/miniProgram/model/BP_B_bigbed.glb',\n  name: '1.8m床',\n  modelName: 'BP_B_bigbed01',\n  type: 1\n}, {\n  url: 'https://dm.static.elab-plus.com/miniProgram/model/BP_B_smallbed.glb',\n  name: '1.2m床',\n  modelName: 'BP_B_smallbed01',\n  type: 1\n}, {\n  url: 'https://dm.static.elab-plus.com/miniProgram/model/BP_B_verysmallbed.glb',\n  name: '0.9m床',\n  modelName: 'BP_B_verysmallbed',\n  type: 1\n}, {\n  url: 'https://dm.static.elab-plus.com/miniProgram/model/BP_L_31sofa.gltf',\n  name: '4人沙发',\n  modelName: 'BP_L_31sofa01',\n  type: 1\n}, {\n  url: 'https://dm.static.elab-plus.com/miniProgram/model/BP_L_31TV.glb',\n  name: '电视墙',\n  modelName: 'BP_L_31TV01',\n  type: 1\n}, {\n  url: 'https://dm.static.elab-plus.com/miniProgram/model/BP_D_4people_square.gltf',\n  name: '4人方桌',\n  modelName: 'BP_D_4people_square',\n  type: 1\n}, {\n  url: 'https://dm.static.elab-plus.com/miniProgram/model/BP_B_yigui.glb',\n  name: '衣柜',\n  modelName: 'BP_B_yigui01',\n  type: 1\n}, {\n  url: 'https://dm.static.elab-plus.com/miniProgram/model/BP_L_311sofa01.gltf',\n  name: '5人沙发',\n  modelName: 'BP_L_311sofa01',\n  type: 1\n}, {\n  url: 'https://dm.static.elab-plus.com/miniProgram/model/BP_L_321sofa.gltf',\n  name: '6人沙发',\n  modelName: 'BP_L_321sofa01',\n  type: 1\n}, {\n  url: 'https://dm.static.elab-plus.com/miniProgram/model/BP_D_2people_square.gltf',\n  name: '2人方桌',\n  modelName: 'BP_D_2people_square',\n  type: 1\n}, {\n  url: 'https://dm.static.elab-plus.com/miniProgram/model/BP_D_6people_long.gltf',\n  name: '6人长桌',\n  modelName: 'BP_D_6people_long01',\n  type: 1\n}, {\n  url: 'https://dm.static.elab-plus.com/miniProgram/model/BP_D_6people_long.gltf',\n  name: '6人长桌',\n  modelName: 'BP_D_6people_long01',\n  type: 1\n}, {\n  url: 'https://dm.static.elab-plus.com/miniProgram/model/BP_D_8people_long.gltf',\n  name: '8人长桌',\n  modelName: 'BP_D_8people_long',\n  type: 1\n}, {\n  url: 'https://dm.static.elab-plus.com/miniProgram/model/BP_D_12people_round1.gltf',\n  name: '12人圆桌',\n  modelName: 'BP_D_12people_round',\n  type: 1\n},\n// {url: 'https://dm.static.elab-plus.com/miniProgram/model/BP_B_penzai01.glb', name: '盆栽',modelName: 'BP_B_penzai02', type:1},\n\n{\n  url: 'https://dm.static.elab-plus.com/miniProgram/model/BP_L_backsofa01.gltf',\n  name: '靠背沙发01',\n  modelName: 'BP_D_backsofa01',\n  type: 1\n}, {\n  url: 'https://dm.static.elab-plus.com/miniProgram/model/BP_L_facesofa01.gltf',\n  name: '对坐沙发01',\n  modelName: 'BP_D_facesofa01',\n  type: 1\n}, {\n  url: 'https://dm.static.elab-plus.com/miniProgram/model/BP_O_painting01.gltf',\n  name: '挂画装饰',\n  modelName: 'BP_DLBT_painting01',\n  type: 1\n}, {\n  url: 'https://dm.static.elab-plus.com/miniProgram/model/BP_B_painting01.glb',\n  name: '挂画01',\n  modelName: 'BP_B_painting01',\n  type: 1\n}, {\n  url: 'https://dm.static.elab-plus.com/miniProgram/model/BP_B_painting02.glb',\n  name: '挂画02',\n  modelName: 'BP_B_painting02',\n  type: 1\n}, {\n  url: 'https://dm.static.elab-plus.com/miniProgram/model/BP_L_bookshelf01.glb',\n  name: '大书架01',\n  modelName: 'BP_L_bookshelf01',\n  type: 1\n}, {\n  url: 'https://dm.static.elab-plus.com/miniProgram/model/BP_L_bookshelf02.glb',\n  name: '大书架02',\n  modelName: 'BP_L_bookshelf02',\n  type: 1\n}, {\n  url: 'https://dm.static.elab-plus.com/miniProgram/model/BP_L_book01.glb',\n  name: '小书架',\n  modelName: 'BP_L_book01',\n  type: 1\n}, {\n  url: 'https://dm.static.elab-plus.com/miniProgram/model/BP_D_dinetable01.gltf',\n  name: '大展架01',\n  modelName: 'BP_L_exhibition01',\n  type: 1\n}, {\n  url: 'https://dm.static.elab-plus.com/miniProgram/model/BP_L_Exhibition02.glb',\n  name: '大展架02',\n  modelName: 'BP_L_exhibition02',\n  type: 1\n}, {\n  url: 'https://dm.static.elab-plus.com/miniProgram/model/BP_L_exhibition04.gltf',\n  name: '4m展架',\n  modelName: 'BP_L_exhibition04',\n  type: 1\n}, {\n  url: 'https://dm.static.elab-plus.com/miniProgram/model/BP_L_exhibition05.gltf',\n  name: '5m展架',\n  modelName: 'BP_L_exhibition05',\n  type: 1\n}, {\n  url: 'https://dm.static.elab-plus.com/miniProgram/model/BP_L_exhibition06.gltf',\n  name: '6m展架',\n  modelName: 'BP_L_exhibition06',\n  type: 1\n}, {\n  url: 'https://dm.static.elab-plus.com/miniProgram/model/BP_L_exhibition07.gltf',\n  name: '7m展架',\n  modelName: 'BP_L_exhibition07',\n  type: 1\n}, {\n  url: 'https://dm.static.elab-plus.com/miniProgram/model/BP_L_21sofa.glb',\n  name: '3人沙发',\n  modelName: 'BP_L_21sofa01',\n  type: 1\n}, {\n  url: 'https://dm.static.elab-plus.com/miniProgram/model/BP_L_facesofa02.gltf',\n  name: '对坐沙发02',\n  modelName: 'BP_D_facesofa02',\n  type: 1\n}, {\n  url: 'https://dm.static.elab-plus.com/miniProgram/model/BP_B_wardrobe01.glb',\n  name: '1m衣柜',\n  modelName: 'BP_B_wardrobe01',\n  type: 1\n}, {\n  url: 'https://dm.static.elab-plus.com/miniProgram/model/BP_B_wardrobe02.glb',\n  name: '2m衣柜',\n  modelName: 'BP_B_wardrobe02',\n  type: 1\n}, {\n  url: 'https://dm.static.elab-plus.com/miniProgram/model/BP_B_wardrobe03.glb',\n  name: '3m衣柜',\n  modelName: 'BP_B_wardrobe03',\n  type: 1\n}, {\n  url: 'https://dm.static.elab-plus.com/miniProgram/model/BP_B_wardrobe04.glb',\n  name: '4m衣柜',\n  modelName: 'BP_B_wardrobe04',\n  type: 1\n}, {\n  url: 'https://dm.static.elab-plus.com/miniProgram/model/BP_B_dresser01.glb',\n  name: '梳妆台01',\n  modelName: 'BP_B_dresser01',\n  type: 1\n}, {\n  url: 'https://dm.static.elab-plus.com/miniProgram/model/BP_T_bathtub01.glb',\n  name: '浴缸01',\n  modelName: 'BP_T_bathtub01',\n  type: 1\n}, {\n  url: 'https://dm.static.elab-plus.com/miniProgram/model/BP_B_table01.glb',\n  name: '1m写字台',\n  modelName: 'BP_B_table01',\n  type: 1\n}, {\n  url: 'https://dm.static.elab-plus.com/miniProgram/model/BP_T_stairs01.gltf',\n  name: '楼梯01',\n  modelName: 'BP_T_stairs01',\n  type: 1\n}, {\n  url: 'https://dm.static.elab-plus.com/miniProgram/model/BP_L_children01.gltf',\n  name: '儿童家具01',\n  modelName: 'BP_L_children01',\n  type: 1\n}, {\n  url: 'https://dm.static.elab-plus.com/miniProgram/model/BP_L_children02.gltf',\n  name: '儿童家具02',\n  modelName: 'BP_L_children02',\n  type: 1\n}, {\n  url: 'https://dm.static.elab-plus.com/miniProgram/model/BP_L_children03.gltf',\n  name: '儿童家具03',\n  modelName: 'BP_L_children03',\n  type: 1\n}, {\n  url: 'https://dm.static.elab-plus.com/miniProgram/model/BP_T_2PeopleBasin01.glb',\n  name: '2人台盆01',\n  modelName: 'BP_T_2PeopleBasin01',\n  type: 1\n}, {\n  url: 'https://dm.static.elab-plus.com/miniProgram/model/BP_T_2PeopleBasin02.glb',\n  name: '2人台盆02',\n  modelName: 'BP_T_2PeopleBasin02',\n  type: 1\n}, {\n  url: 'https://dm.static.elab-plus.com/miniProgram/model/BP_K_flue001.glb',\n  name: '烟道',\n  modelName: 'BP_K_flue002',\n  type: 1\n}, {\n  url: 'https://dm.static.elab-plus.com/miniProgram/model/BP_K_cookerhood2.glb',\n  name: '灶台',\n  modelName: 'BP_K_cookerhood02',\n  type: 1\n}, {\n  url: 'https://dm.static.elab-plus.com/miniProgram/model/BP_K_icebox_2door001.glb',\n  name: '冰箱',\n  modelName: 'BP_K_icebox_2door002',\n  type: 1\n}, {\n  url: 'https://dm.static.elab-plus.com/miniProgram/model/BP_K_shuipen01.glb',\n  name: '水盆01',\n  modelName: 'BP_K_shuipen01',\n  type: 1\n}, {\n  url: 'https://dm.static.elab-plus.com/miniProgram/model/BP_K_shuipen02.glb',\n  name: '水盆02',\n  modelName: 'BP_K_shuipen02',\n  type: 1\n}, {\n  url: 'https://dm.static.elab-plus.com/miniProgram/model/BP_K_Kitchentable001.glb',\n  name: '台面',\n  modelName: 'BP_K_Kitchentable002',\n  type: 1\n}, {\n  url: 'https://dm.static.elab-plus.com/miniProgram/model/BP_L_2sofa.gltf',\n  name: '2人沙发',\n  modelName: 'BP_L_2sofa',\n  type: 1\n}, {\n  url: 'https://dm.static.elab-plus.com/miniProgram/model/BP_K_caozuotai01.glb',\n  name: '操作台01',\n  modelName: 'BP_K_caozuotai001',\n  type: 1\n}, {\n  url: 'https://dm.static.elab-plus.com/miniProgram/model/BP_K_caozuotai02.glb',\n  name: '操作台02',\n  modelName: 'BP_K_caozuotai002',\n  type: 1\n}, {\n  url: 'https://dm.static.elab-plus.com/miniProgram/model/BP_K_caozuotai03.glb',\n  name: '操作台03',\n  modelName: 'BP_K_caozuotai03',\n  type: 1\n}, {\n  url: 'https://dm.static.elab-plus.com/miniProgram/model/BP_O_LightIndoorWall.gltf',\n  name: '隔墙',\n  modelName: 'BP_O_LightIndoorWall',\n  type: 1\n}, {\n  url: 'https://dm.static.elab-plus.com/miniProgram/model/BP_L_TeaTable01.glb',\n  name: '茶几01',\n  modelName: 'BP_L_TeaRTable',\n  type: 1\n}, {\n  url: 'https://dm.static.elab-plus.com/miniProgram/model/BP_L_children04.gltf',\n  name: '儿童家具04',\n  modelName: 'BP_L_children04',\n  type: 1\n}, {\n  url: 'https://dm.static.elab-plus.com/miniProgram/model/BP_X_ReadingArea01.gltf',\n  name: '阅读角01',\n  modelName: 'BP_X_ReadingArea01',\n  type: 1\n},\n// {url: 'https://dm.static.elab-plus.com/miniProgram/model/BP_T_OpenShower01.glb', name: '开敞侧淋浴间',modelName: 'BP_T_OpenShower01', type:1},\n{\n  url: 'https://dm.static.elab-plus.com/miniProgram/model/BP_T_matong.gltf',\n  name: '马桶',\n  modelName: 'BP_T_matong',\n  type: 1\n}, {\n  url: 'https://dm.static.elab-plus.com/miniProgram/model/BP_T_1PeopleBasin01.glb',\n  name: '1人台盆01',\n  modelName: 'BP_T_1PeopleBasin01',\n  type: 1\n}, {\n  url: 'https://dm.static.elab-plus.com/miniProgram/model/BP_T_flue001.glb',\n  name: '水井管道01',\n  modelName: 'BP_T_flue001',\n  type: 1\n}, {\n  url: 'https://dm.static.elab-plus.com/miniProgram/model/BP_T_Locker01.glb',\n  name: '储物柜01',\n  modelName: 'BP_T_Locker01',\n  type: 1\n}, {\n  url: 'https://dm.static.elab-plus.com/miniProgram/model/BP_X_RelaxArea01.gltf',\n  name: '休闲角01',\n  modelName: 'BP_X_RelaxArea01',\n  type: 1\n}, {\n  url: 'https://dm.static.elab-plus.com/miniProgram/model/BP_X_RelaxArea02.gltf',\n  name: '休闲角02',\n  modelName: 'BP_X_RelaxArea02',\n  type: 1\n}, {\n  url: 'https://dm.static.elab-plus.com/miniProgram/model/BP_G_FlowerTerrace01_LongSide_0.3M.gltf',\n  name: '长边花坛0.3M-长边位',\n  modelName: 'BP_G_LongSide03M',\n  type: 1\n}, {\n  url: 'https://dm.static.elab-plus.com/miniProgram/model/BP_G_FlowerTerrace_Corner_0.3M.gltf',\n  name: '长边花坛0.3M-转角位',\n  modelName: 'BP_G_Corner03M',\n  type: 1\n}, {\n  url: 'https://dm.static.elab-plus.com/miniProgram/model/BP_G_FlowerTerrace_1.5M1.2M.gltf',\n  name: '矩形花坛1.5M*1.2M',\n  modelName: 'BP_G_1512M',\n  type: 1\n}, {\n  url: 'https://dm.static.elab-plus.com/miniProgram/model/BP_X_FitnessArea01.gltf',\n  name: '健身区',\n  modelName: 'BP_G_FitnessArea01',\n  type: 1\n}, {\n  url: 'https://dm.static.elab-plus.com/miniProgram/model/BP_X_SunChairs01.gltf',\n  name: '太阳椅',\n  modelName: 'BP_G_SunChairs01',\n  type: 1\n}, {\n  url: 'https://dm.static.elab-plus.com/miniProgram/model/BP_AutoWall_CLosedFrenchWindow_3.9M.gltf',\n  name: '关闭落地窗-3.9M',\n  modelName: 'BP_AutoWall_39M',\n  type: 1\n}, {\n  url: 'https://dm.static.elab-plus.com/miniProgram/model/BP_AutoWall_CLosedFrenchWindow_5.1M.gltf',\n  name: '关闭落地窗-5.1M',\n  modelName: 'BP_AutoWall_51M',\n  type: 1\n}, {\n  url: 'https://dm.static.elab-plus.com/miniProgram/model/BP_AutoWall_CLosedFrenchWindow_6.3M.gltf',\n  name: '关闭落地窗-6.3M',\n  modelName: 'BP_AutoWall_63M',\n  type: 1\n}, {\n  url: 'https://dm.static.elab-plus.com/miniProgram/model/BP_AutoWall_CLosedFrenchWindow_6.9M.gltf',\n  name: '关闭落地窗-6.9M',\n  modelName: 'BP_AutoWall_69M',\n  type: 1\n}, {\n  url: 'https://dm.static.elab-plus.com/miniProgram/model/BP_AutoWall_FoldingInternalDoor_1.95M.gltf',\n  name: '户内折叠门',\n  modelName: 'BP_AutoWall_195M',\n  type: 1\n}, {\n  url: 'https://dm.static.elab-plus.com/miniProgram/model/BP_AutoWall_OpenInternalDoor_0.8M.glt',\n  name: '关闭户内门-0.8M',\n  modelName: 'BP_AutoWallr_08M',\n  type: 1\n}, {\n  url: 'https://dm.static.elab-plus.com/miniProgram/model/BP_G_tree00.glb',\n  name: '大树',\n  modelName: 'BP_G_tree00',\n  type: 1\n}, {\n  url: 'https://dm.static.elab-plus.com/miniProgram/model/BP_G_tree01.glb',\n  name: '中树',\n  modelName: 'BP_G_tree01',\n  type: 1\n}, {\n  url: 'https://dm.static.elab-plus.com/miniProgram/model/BP_G_tree02.glb',\n  name: '小树',\n  modelName: 'BP_G_tree02',\n  type: 1\n}, {\n  url: 'https://dm.static.elab-plus.com/miniProgram/model/BP_G_tree02.glb',\n  name: '最小树',\n  modelName: 'BP_G_tree03',\n  type: 1\n}, {\n  url: 'https://dm.static.elab-plus.com/miniProgram/model/BP_G_parterre01.gltf',\n  name: '9格花坛',\n  modelName: 'BP_G_parterre01',\n  type: 1\n}, {\n  url: 'https://dm.static.elab-plus.com/miniProgram/model/BP_G_parterre03.gltf',\n  name: '三角花坛',\n  modelName: 'BP_G_parterre03',\n  type: 1\n}, {\n  url: 'https://dm.static.elab-plus.com/miniProgram/model/BP_G_parterre04.gltf',\n  name: '矩形花坛',\n  modelName: 'BP_G_parterre04',\n  type: 1\n}, {\n  url: 'https://dm.static.elab-plus.com/miniProgram/model/BP_G_parterre02.gltf',\n  name: '内凹花坛',\n  modelName: 'BP_G_parterre02',\n  type: 1\n}, {\n  url: 'https://dm.static.elab-plus.com/miniProgram/model/BP_G_parterre07.gltf',\n  name: '双条花坛',\n  modelName: 'BP_G_parterre07',\n  type: 1\n}, {\n  url: 'https://dm.static.elab-plus.com/miniProgram/model/BP_X_PartyTable01.gltf',\n  name: '聚会长桌',\n  modelName: 'BP_X_PartyTable01',\n  type: 1\n}, {\n  url: 'https://dm.static.elab-plus.com/miniProgram/model/BP_G_PoolTable01.gltf',\n  name: '台球桌01',\n  modelName: 'BP_X_PoolTable01',\n  type: 1\n}, {\n  url: 'https://dm.static.elab-plus.com/miniProgram/model/BP_X_weiqi01.gltf',\n  name: '带伞棋坛',\n  modelName: 'BP_G_weiqi01',\n  type: 1\n}, {\n  url: 'https://dm.static.elab-plus.com/miniProgram/model/BP_X_RelaxChair01_One.gltf',\n  name: '单独休闲椅01',\n  modelName: 'BP_X_RelaxChair01_One',\n  type: 1\n}, {\n  url: 'https://dm.static.elab-plus.com/miniProgram/model/BP_X_RelaxChair02_One.gltf',\n  name: '单独休闲椅02',\n  modelName: 'BP_X_RelaxChair02_One',\n  type: 1\n}, {\n  url: 'https://dm.static.elab-plus.com/miniProgram/model/BP_X_RelaxChair03_One.gltf',\n  name: '单独休闲椅03',\n  modelName: 'BP_X_RelaxChair03_One',\n  type: 1\n}, {\n  url: 'https://dm.static.elab-plus.com/miniProgram/model/BP_X_swimmingpool01.gltf',\n  name: '泳池01',\n  modelName: 'BP_X_swimmingpool01',\n  type: 1\n},\n// {url: 'https://dm.static.elab-plus.com/miniProgram/model/BP_G_tiles01.gltf', name: '地砖01',modelName: 'BP_G_tiles01', type:1},\n{\n  url: 'https://dm.static.elab-plus.com/miniProgram/model/BP_G_tiles02.gltf',\n  name: '地砖02',\n  modelName: 'BP_G_tiles02',\n  type: 1\n}, {\n  url: 'https://dm.static.elab-plus.com/miniProgram/model/BP_G_tiles03.gltf',\n  name: '地砖03',\n  modelName: 'BP_G_tiles03',\n  type: 1\n}, {\n  url: 'https://dm.static.elab-plus.com/miniProgram/model/BP_G_tiles04.gltf',\n  name: '地砖04',\n  modelName: 'BP_G_tiles04',\n  type: 1\n}, {\n  url: 'https://dm.static.elab-plus.com/miniProgram/model/BP_G_tiles05.gltf',\n  name: '地砖05',\n  modelName: 'BP_G_tiles05',\n  type: 1\n}, {\n  url: 'https://dm.static.elab-plus.com/miniProgram/model/BP_G_tiles06.gltf',\n  name: '地砖06',\n  modelName: 'BP_G_tiles06',\n  type: 1\n}, {\n  url: 'https://dm.static.elab-plus.com/miniProgram/model/BP_G_tiles07.gltf',\n  name: '地砖07',\n  modelName: 'BP_G_tiles07',\n  type: 1\n}, {\n  url: 'https://dm.static.elab-plus.com/miniProgram/model/BP_G_tiles08.gltf',\n  name: '地砖08',\n  modelName: 'BP_G_tiles08',\n  type: 1\n}, {\n  url: 'https://dm.static.elab-plus.com/miniProgram/model/BP_G_tiles09.gltf',\n  name: '地砖09',\n  modelName: 'BP_G_tiles09',\n  type: 1\n}, {\n  url: 'https://dm.static.elab-plus.com/miniProgram/model/BP_G_tiles10.gltf',\n  name: '地砖10',\n  modelName: 'BP_G_tiles10',\n  type: 1\n}, {\n  url: 'https://dm.static.elab-plus.com/miniProgram/model/BP_G_tiles11.gltf',\n  name: '地砖11',\n  modelName: 'BP_G_tiles11',\n  type: 1\n}, {\n  url: 'https://dm.static.elab-plus.com/miniProgram/model/BP_G_tiles12.gltf',\n  name: '地砖12',\n  modelName: 'BP_G_tiles12',\n  type: 1\n}, {\n  url: 'https://dm.static.elab-plus.com/miniProgram/model/BP_G_tiles13.gltf',\n  name: '地砖13',\n  modelName: 'BP_G_tiles13',\n  type: 1\n}, {\n  url: 'https://dm.static.elab-plus.com/miniProgram/model/BP_X_OutdoorBar01.gltf',\n  name: '户外酒吧台',\n  modelName: 'BP_X_OutdoorBar01',\n  type: 1\n}, {\n  url: 'https://dm.static.elab-plus.com/miniProgram/model/BP_D_DinnerChair_red.glb',\n  name: '单人餐椅01',\n  modelName: 'BP_D_DinnerChair01',\n  type: 1\n}, {\n  url: 'https://dm.static.elab-plus.com/miniProgram/model/BP_D_LongDiningTable_240CM.glb',\n  name: '2.4M长餐桌',\n  modelName: 'BP_D_LongDiningTable_240CM',\n  type: 1\n}, {\n  url: 'https://dm.static.elab-plus.com/miniProgram/model/BP_D_DiningDecration01.glb',\n  name: '桌面饰品01',\n  modelName: 'BP_D_DiningDecoration01',\n  type: 1\n}, {\n  url: 'https://dm.static.elab-plus.com/miniProgram/model/BP_L_TeaTable02.glb',\n  name: '茶几02',\n  modelName: 'BP_L_TeaTable02',\n  type: 1\n}, {\n  url: 'https://dm.static.elab-plus.com/miniProgram/model/BP_L_TeaTable03.glb',\n  name: '茶几03',\n  modelName: 'BP_L_Teatable03',\n  type: 1\n}, {\n  url: 'https://dm.static.elab-plus.com/miniProgram/model/BP_L_carpet01.glb',\n  name: '地毯01',\n  modelName: 'BP_L_carpet01',\n  type: 1\n}, {\n  url: 'https://dm.static.elab-plus.com/miniProgram/model/BP_L_2Sofa01.glb',\n  name: '双人沙发',\n  modelName: 'BP_L_2Sofa01',\n  type: 1\n}, {\n  url: 'https://dm.static.elab-plus.com/miniProgram/model/BP_L_1Sofa01.glb',\n  name: '单人沙发',\n  modelName: 'BP_L_1Sofa01',\n  type: 1\n}, {\n  url: 'https://dm.static.elab-plus.com/miniProgram/model/BP_X_RelaxTable01.gltf',\n  name: '单独休闲桌01',\n  modelName: 'BP_X_RelaxTable01',\n  type: 1\n}, {\n  url: 'https://dm.static.elab-plus.com/miniProgram/model/BP_B_pillow01.glb',\n  name: '枕头',\n  modelName: 'BP_B_pillow01',\n  type: 1\n}, {\n  url: 'https://dm.static.elab-plus.com/miniProgram/model/BP_XSPACE_deng_01.glb',\n  name: '吊顶灯',\n  modelName: 'BP_XSPACE_deng_01',\n  type: 2\n}];\nmodule.exports = layoutModel;\n\n//# sourceURL=webpack://hello-world/./src/static/layoutModelData.js?");/***/ }),/***/ "./src/static/wallData.js":/*!********************************!*\  !*** ./src/static/wallData.js ***!  \********************************//***/ (function(module) {eval("// group :0 墙面 1 hu\nvar wallType = [{\n  url: 'https://dm.static.elab-plus.com/miniProgram/model/BP_AutoWall_Standard.glb',\n  name: '承重墙',\n  type: 0,\n  width: 10,\n  group: 0,\n  level: 0,\n  total: 1\n},\n// {url: 'https://dm.static.elab-plus.com/3d/model/230519/qiangti.gltf', name: '实体墙面',type:3, width:10, group:0, level:0, total:0}, // 暂未使用\n\n{\n  url: 'https://dm.static.elab-plus.com/miniProgram/model/BP_AutoWall_OpenInternalDoor_0.8M.glb',\n  name: '关闭户内门-0.8M',\n  type: 1,\n  width: 80,\n  group: 1,\n  level: 0,\n  total: 1\n},\n// {url: 'https://dm.static.elab-plus.com/miniProgram/model/BP_AutoWall_OpenInternalDoor_0.8M.gltf', name: '关闭户内门-1.2M',type:6, width:80, group:1, level:1, total:2},\n\n{\n  url: 'https://dm.static.elab-plus.com/miniProgram/model/BP_AutoWall_CLosedEntranceDoor_0.9M.glb',\n  name: '关闭入户门-0.9M',\n  type: 4,\n  width: 90,\n  group: 2,\n  level: 0,\n  total: 1\n}, {\n  url: 'https://dm.static.elab-plus.com/miniProgram/model/BP_AutoWall_CLosedFoldingWindow_0.6M.glb',\n  name: '关闭折叠窗-0.6M',\n  type: 2,\n  width: 60,\n  group: 3,\n  level: 0,\n  total: 5\n}, {\n  url: 'https://dm.static.elab-plus.com/miniProgram/model/BP_AutoWall_CLosedFoldingWindow_1.2M__1_.glb',\n  name: '关闭折叠窗-1.2M',\n  type: 5,\n  width: 120,\n  group: 3,\n  level: 1,\n  total: 5\n}, {\n  url: 'https://dm.static.elab-plus.com/miniProgram/model/BP_AutoWall_CLosedFoldingWindow_2.4M.glb',\n  name: '关闭折叠窗-2.4M',\n  type: 8,\n  width: 240,\n  group: 3,\n  level: 2,\n  total: 5\n}, {\n  url: 'https://dm.static.elab-plus.com/miniProgram/model/BP_AutoWall_CLosedFoldingWindow_2.7M.glb',\n  name: '关闭折叠窗-2.7M',\n  type: 9,\n  width: 270,\n  group: 3,\n  level: 3,\n  total: 5\n}, {\n  url: 'https://dm.static.elab-plus.com/miniProgram/model/BP_AutoWall_CLosedFoldingWindow_3.6M.glb',\n  name: '关闭折叠窗-3.6M',\n  type: 10,\n  width: 360,\n  group: 3,\n  level: 4,\n  total: 5\n}, {\n  url: 'https://dm.static.elab-plus.com/3d/model/20230606/langan/langan.gltf',\n  name: '阳台栏杆',\n  type: 7,\n  width: 690,\n  group: 4,\n  level: 0,\n  total: 1\n}, {\n  url: 'https://dm.static.elab-plus.com/miniProgram/model/BP_AutoWall_CLosedFrenchWindow_2.1M.glb',\n  name: '关闭落地窗-2.1M',\n  type: 11,\n  width: 210,\n  group: 5,\n  level: 0,\n  total: 8\n}, {\n  url: 'https://dm.static.elab-plus.com/miniProgram/model/BP_AutoWall_CLosedFrenchWindow_2.7M.glb',\n  name: '关闭落地窗-2.7M',\n  type: 12,\n  width: 270,\n  group: 5,\n  level: 1,\n  total: 8\n}, {\n  url: 'https://dm.static.elab-plus.com/miniProgram/model/BP_AutoWall_CLosedFrenchWindow_3.6M.glb',\n  name: '关闭落地窗-3.6M',\n  type: 13,\n  width: 360,\n  group: 5,\n  level: 2,\n  total: 8\n}, {\n  url: 'https://dm.static.elab-plus.com/miniProgram/model/BP_AutoWall_CLosedFrenchWindow_3.9M.glb',\n  name: '关闭落地窗-3.9M',\n  type: 14,\n  width: 390,\n  group: 5,\n  level: 3,\n  total: 8\n}, {\n  url: 'https://dm.static.elab-plus.com/miniProgram/model/BP_AutoWall_CLosedFrenchWindow_5.1M.glb',\n  name: '关闭落地窗-5.1M',\n  type: 15,\n  width: 480,\n  group: 5,\n  level: 4,\n  total: 8\n}, {\n  url: 'https://dm.static.elab-plus.com/miniProgram/model/BP_AutoWall_CLosedFrenchWindow_6.3M.glb',\n  name: '关闭落地窗-6.3M',\n  type: 16,\n  width: 630,\n  group: 5,\n  level: 5,\n  total: 8\n}, {\n  url: 'https://dm.static.elab-plus.com/miniProgram/model/BP_AutoWall_CLosedFrenchWindow_7.8M.glb',\n  name: '关闭落地窗-7.8M',\n  type: 17,\n  width: 780,\n  group: 5,\n  level: 6,\n  total: 8\n}, {\n  url: 'https://dm.static.elab-plus.com/miniProgram/model/BP_AutoWall_CLosedFrenchWindow_8.7M.glb',\n  name: '关闭落地窗-8.7M',\n  type: 18,\n  width: 870,\n  group: 5,\n  level: 7,\n  total: 8\n}, {\n  url: 'https://dm.static.elab-plus.com/miniProgram/model/BP_AutoWall_CLosedLongWindow_0.9M.glb',\n  name: '关闭长条窗-0.9M',\n  type: 19,\n  width: 90,\n  group: 6,\n  level: 0,\n  total: 2\n}, {\n  url: 'https://dm.static.elab-plus.com/miniProgram/model/BP_AutoWall_CLosedLongWindow_2.4M.glb',\n  name: '关闭长条窗-2.4M',\n  type: 20,\n  width: 240,\n  group: 6,\n  level: 1,\n  total: 2\n}, {\n  url: 'https://dm.static.elab-plus.com/miniProgram/model/BP_AutoWall_Railing_1M.gltf',\n  name: '扶手栏杆-1M',\n  type: 21,\n  width: 100,\n  group: 7,\n  level: 0,\n  total: 6\n}, {\n  url: 'https://dm.static.elab-plus.com/miniProgram/model/BP_AutoWall_Railing_2M.gltf',\n  name: '扶手栏杆-2M',\n  type: 22,\n  width: 200,\n  group: 7,\n  level: 1,\n  total: 6\n}, {\n  url: 'https://dm.static.elab-plus.com/miniProgram/model/BP_AutoWall_Railing_3M.gltf',\n  name: '扶手栏杆-3M',\n  type: 23,\n  width: 300,\n  group: 7,\n  level: 2,\n  total: 6\n}, {\n  url: 'https://dm.static.elab-plus.com/miniProgram/model/BP_AutoWall_Railing_4M.gltf',\n  name: '扶手栏杆-4M',\n  type: 24,\n  width: 400,\n  group: 7,\n  level: 3,\n  total: 6\n}, {\n  url: 'https://dm.static.elab-plus.com/miniProgram/model/BP_AutoWall_Railing_5M.gltf',\n  name: '扶手栏杆-5M',\n  type: 25,\n  width: 500,\n  group: 7,\n  level: 4,\n  total: 6\n}, {\n  url: 'https://dm.static.elab-plus.com/miniProgram/model/BP_AutoWall_Railing_6M.gltf',\n  name: '扶手栏杆-6M',\n  type: 26,\n  width: 600,\n  group: 7,\n  level: 5,\n  total: 6\n}, {\n  url: 'https://dm.static.elab-plus.com/miniProgram/model/BP_AutoWall_Standard.glb',\n  name: '实体墙面',\n  type: 27\n}, {\n  url: 'https://dm.static.elab-plus.com/miniProgram/model/BP_AutoWall_Standard.glb',\n  name: '实体墙面',\n  type: 28\n}, {\n  url: 'https://dm.static.elab-plus.com/miniProgram/model/BP_AutoWall_Standard.glb',\n  name: '实体墙面',\n  type: 29\n}, {\n  url: 'https://dm.static.elab-plus.com/miniProgram/model/BP_AutoWall_Standard.glb',\n  name: '实体墙面',\n  type: 30\n}, {\n  url: 'https://dm.static.elab-plus.com/miniProgram/model/BP_AutoWall_Standard.glb',\n  name: '实体墙面',\n  type: 31\n}, {\n  url: 'https://dm.static.elab-plus.com/miniProgram/model/BP_AutoWall_Standard.glb',\n  name: '实体墙面',\n  type: 32\n}, {\n  url: 'https://dm.static.elab-plus.com/miniProgram/model/BP_AutoWall_Standard.glb',\n  name: '实体墙面',\n  type: 33\n}, {\n  url: 'https://dm.static.elab-plus.com/miniProgram/model/BP_AutoWall_Standard.glb',\n  name: '实体墙面',\n  type: 34\n}, {\n  url: 'https://dm.static.elab-plus.com/miniProgram/model/BP_AutoWall_Standard.glb',\n  name: '实体墙面',\n  type: 35\n}, {\n  url: 'https://dm.static.elab-plus.com/miniProgram/model/BP_AutoWall_Standard.glb',\n  name: '实体墙面',\n  type: 36\n}];\nmodule.exports = wallType;\n\n//# sourceURL=webpack://hello-world/./src/static/wallData.js?");/***/ }),/***/ "./src/store/actions.js":/*!******************************!*\  !*** ./src/store/actions.js ***!  \******************************//***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {"use strict";eval("__webpack_require__.r(__webpack_exports__);\nconst actions = {\n  setLoading({\n    commit\n  }, loading) {\n    commit('SET_LOADING', loading);\n  },\n  setCurrentProject({\n    commit\n  }, project) {\n    commit('SET_CURRENTPRPOJECT', project);\n  },\n  setAccount({\n    commit\n  }, account) {\n    commit('SET_ACCOUNT', account);\n  }\n  // setCityListData({\n  // \tcommit\n  // }, cityListData) {\n  // \tcommit('SET_CITYLISTDATA', cityListData)\n  // },\n};\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (actions);\n\n//# sourceURL=webpack://hello-world/./src/store/actions.js?");/***/ }),/***/ "./src/store/index.js":/*!****************************!*\  !*** ./src/store/index.js ***!  \****************************//***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {"use strict";eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var vuex__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! vuex */ \"./node_modules/_vuex@3.6.2@vuex/dist/vuex.esm.js\");\n/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! vue */ \"./node_modules/_vue@2.7.14@vue/dist/vue.esm.js\");\n/* harmony import */ var _mutations__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./mutations */ \"./src/store/mutations.js\");\n/* harmony import */ var _actions__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./actions */ \"./src/store/actions.js\");\n/* harmony import */ var _state__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./state */ \"./src/store/state.js\");\n\n\n\n\n\nvue__WEBPACK_IMPORTED_MODULE_3__[\"default\"].use(vuex__WEBPACK_IMPORTED_MODULE_4__[\"default\"]);\n/* harmony default export */ __webpack_exports__[\"default\"] = (new vuex__WEBPACK_IMPORTED_MODULE_4__[\"default\"].Store({\n  state: _state__WEBPACK_IMPORTED_MODULE_2__[\"default\"],\n  mutations: _mutations__WEBPACK_IMPORTED_MODULE_0__[\"default\"],\n  actions: _actions__WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n  modules: {}\n}));\n\n//# sourceURL=webpack://hello-world/./src/store/index.js?");/***/ }),/***/ "./src/store/mutations.js":/*!********************************!*\  !*** ./src/store/mutations.js ***!  \********************************//***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {"use strict";eval("__webpack_require__.r(__webpack_exports__);\nconst mutations = {\n  SET_LOADING(state, loading) {\n    state.loading = loading;\n  },\n  SET_CURRENTPRPOJECT(state, project) {\n    state.currentProject = project;\n  },\n  SET_ACCOUNT(state, account) {\n    state.account = account;\n  }\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = (mutations);\n\n//# sourceURL=webpack://hello-world/./src/store/mutations.js?");/***/ }),/***/ "./src/store/state.js":/*!****************************!*\  !*** ./src/store/state.js ***!  \****************************//***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {"use strict";eval("__webpack_require__.r(__webpack_exports__);\nconst state = {\n  loading: false,\n  currentProject: null,\n  loadingMsg: \"\",\n  account: null //账号\n};\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (state);\n\n//# sourceURL=webpack://hello-world/./src/store/state.js?");/***/ }),/***/ "./src/utils/command.js":/*!******************************!*\  !*** ./src/utils/command.js ***!  \******************************//***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {"use strict";eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! vue */ \"./node_modules/_vue@2.7.14@vue/dist/vue.esm.js\");\n\n//\n// /**\n//  *  自定义指令\n//  */\nvue__WEBPACK_IMPORTED_MODULE_0__[\"default\"].directive('title2', function (el, binding, vcode) {\n  el.title = el.innerText;\n});\nvue__WEBPACK_IMPORTED_MODULE_0__[\"default\"].directive('title', {\n  // 钩子函数,被绑定元素插入父节点时调用 (父节点存在即可调用,不必存在于 document 中)。\n  inserted(el, binding, vcode) {\n    el.focus();\n    el.title = el.innerText;\n    // console.log( 'inserted',el,binding,vcode );\n  },\n\n  // 只调用一次,指令第一次绑定到元素时调用,用这个钩子函数可以定义一个在绑定时执行一次的初始化动作。\n  bind(el, binding, vcode) {\n    // el.title = el.innerText;\n    // console.log(el,binding,vcode);\n    // console.log( 'bind',el,binding,vcode );\n  },\n  // 所在组件的 VNode 更新时调用,但是可能发生在其孩子的 VNode 更新之前。\n  // 指令的值可能发生了改变也可能没有。但是你可以通过比较更新前后的值来忽略不必要的模板更新\n  update(el, binding, vcode) {\n    // el.title = window.$(el).get(0).innerText;\n    // console.log( 'update',window.$(el), el,binding,vcode );\n  },\n  // 所在组件的 VNode 及其孩子的 VNode 全部更新时调用。\n  componentUpdated(el, binding, vcode) {\n    el.title = el.innerText;\n    // console.log( 'componentUpdated',el,binding,vcode  );\n  },\n\n  // 只调用一次,指令与元素解绑时调用。\n  unbind() {\n    console.log('unbind');\n  }\n});\n\n/**\r\n * 当输入框获取到焦点时,\r\n * 为 show-focus 类 所在dom ,添加边框颜色类 el-focus\r\n * v-focus 指令必须和show-focus配合使用  否则无效\r\n */\nvue__WEBPACK_IMPORTED_MODULE_0__[\"default\"].directive('focus', function (el, binding, vcode) {\n  let mtinputList = el.querySelectorAll('input');\n  if (!mtinputList) {\n    mtinputList = el.querySelectorAll('textarea');\n  }\n  let mtinput = null;\n  if (!binding.value) {\n    mtinput = mtinputList[0];\n    mtinput.onfocus = function () {\n      let dom = window.$(el).parents('.show-focus');\n      if (dom.length < 1) {\n        window.$(mtinput).addClass('el-focus');\n      } else {\n        dom.addClass('el-focus');\n      }\n    };\n    mtinput.onblur = function () {\n      let dom = window.$(el).parents('.show-focus');\n      if (dom.length < 1) {\n        window.$(mtinput).removeClass('el-focus');\n      } else {\n        dom.removeClass('el-focus');\n      }\n    };\n  } else {\n    for (let i = 0; i < Number(binding.value); i++) {\n      mtinput = mtinputList[i];\n      mtinput.onfocus = function () {\n        let dom = window.$(el).parents('.show-focus');\n        dom.addClass('el-focus');\n      };\n      mtinput.onblur = function () {\n        let dom = window.$(el).parents('.show-focus');\n        dom.removeClass('el-focus');\n      };\n    }\n  }\n});\n\n/**\r\n * 输入汉字为两个字符,英文为1个字符\r\n */\nvue__WEBPACK_IMPORTED_MODULE_0__[\"default\"].directive('limitChineseMaxlength', {\n  // 钩子函数,被绑定元素插入父节点时调用 (父节点存在即可调用,不必存在于 document 中)。\n  inserted(el, binding, vcode) {\n    limitCharsFun(el, binding, vcode);\n  },\n  // 只调用一次,指令第一次绑定到元素时调用,用这个钩子函数可以定义一个在绑定时执行一次的初始化动作。\n  bind(el, binding, vcode) {\n    limitCharsFun(el, binding, vcode);\n  },\n  // 所在组件的 VNode 更新时调用,但是可能发生在其孩子的 VNode 更新之前。\n  // 指令的值可能发生了改变也可能没有。但是你可以通过比较更新前后的值来忽略不必要的模板更新\n  update(el, binding, vcode) {},\n  // 所在组件的 VNode 及其孩子的 VNode 全部更新时调用。\n  componentUpdated(el, binding, vcode) {\n    limitCharsFun(el, binding, vcode);\n  },\n  // 只调用一次,指令与元素解绑时调用。\n  unbind() {}\n});\nconst limitCharsFun = function (el, binding, vcode) {\n  window.$(el).removeClass('is-exceed');\n  let element = el.querySelector('.el-input__count-inner');\n  let mtinputList = el.querySelectorAll('input');\n  if (!mtinputList) {\n    mtinputList = el.querySelectorAll('textarea');\n  }\n  let mtinput = null;\n  mtinput = mtinputList[0];\n  let maxLength = vcode.data.attrs.maxlength;\n  if (!maxLength) {\n    maxLength = 60;\n  }\n  mtinput.setAttribute('maxlength', maxLength * 2);\n  // mtinput.setAttribute(\"style\",\"border-color:var(--themeColor9_5)\")\n  if (element) {\n    element.setAttribute('style', \"color:#909399\");\n  }\n  let inputValue = mtinput.value || vcode.data.model.value;\n  if (common.wordLengthFilter(inputValue) > maxLength) {\n    if (common.byteLengthFilter(inputValue) > maxLength * 2) {\n      mtinput.value = common.subinput(inputValue, maxLength * 2);\n    } else {\n      mtinput.value = common.subinput(inputValue, common.byteLengthFilter(inputValue));\n    }\n    mtinput.dispatchEvent(new Event(\"input\")); //调用input事件使vue v-model绑定更新,下面相同\n  }\n\n  let innerText = inputValue;\n  if (element) {\n    element.innerHTML = common.wordLengthFilter(innerText) + '/' + maxLength;\n  }\n};\n\n/**\r\n *图片高度根据宽高比例自适应\r\n */\nvue__WEBPACK_IMPORTED_MODULE_0__[\"default\"].directive('proportion', {\n  inserted: function (el, binding) {\n    var w = el.offsetWidth;\n    var h = w * binding.value;\n    el.style.height = h + 'px';\n    el.__resize = function () {\n      update(el, binding);\n    };\n    window.addEventListener('resize', el.__resize);\n  },\n  componentUpdated: function (el, binding) {\n    update(el, binding);\n  },\n  unbind: function (el) {\n    window.removeEventListener('resize', el.__resize);\n  }\n});\n\n//# sourceURL=webpack://hello-world/./src/utils/command.js?");/***/ }),/***/ "./src/utils/common.js":/*!*****************************!*\  !*** ./src/utils/common.js ***!  \*****************************//***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {"use strict";eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/es.array.push.js */ \"./node_modules/_core-js@3.31.1@core-js/modules/es.array.push.js\");\n/* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _store__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @/store */ \"./src/store/index.js\");\n/* harmony import */ var axios__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! axios */ \"./node_modules/_axios@0.21.4@axios/index.js\");\n/* harmony import */ var axios__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(axios__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _router__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @/router */ \"./src/router/index.js\");\n/* harmony import */ var _utils_localStorage__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @/utils/localStorage */ \"./src/utils/localStorage.js\");\n/* harmony import */ var _services_requestConfig_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @/services/requestConfig.js */ \"./src/services/requestConfig.js\");\n\n\n\n\n\n //导入请求的拦截器\n// import emojiConfig from '@/components/emojiComponent/lib/js/config'\n// import Config from \"@/components/emojiComponent/lib/js/config\";\nvar CancelToken = (axios__WEBPACK_IMPORTED_MODULE_2___default().CancelToken);\nvar source = CancelToken.source();\nconst common = {\n  clearMap(type = 0) {\n    //清空地图相关\n    console.log(\"***clearMap***\", type);\n    if (!window.map) {\n      //如果不存在地图对象,则不需要往下执行清空地图的动作\n      return false;\n    }\n    if (type == 1) {\n      //入股清空类型是1,则表示要清空地图上的项目信息和聚合信息-全面清空\n      window.project && window.project.clearProjecttLayer(); //先清空项目地图\n    }\n\n    window.modulePolygon && window.modulePolygon.clearPolygonLayer(); //板块图层\n    window.competition && window.competition.clearCompetitionLayer(); //竞品图层\n    window.poiOperate && window.poiOperate.clearPoiLayer(); //poi图层\n    window.trafficOperate && window.trafficOperate.clearTrafficLayer(); //交通路网图层\n    window.massPointOperate && window.massPointOperate.clearMassLayer(); //mass点位图层\n    this.cancelPois();\n  },\n  hexToRgba(hex, opacity) {\n    if (!hex || !opacity) {\n      return hex;\n    }\n    let RGBA;\n    if (hex.includes('#') && hex.length == 7) {\n      RGBA = \"rgba(\" + parseInt(\"0x\" + hex.slice(1, 3)) + \",\" + parseInt(\"0x\" + hex.slice(3, 5)) + \",\" + parseInt(\"0x\" + hex.slice(5, 7)) + \",\" + opacity + \")\";\n    } else if (hex.includes('rgb(')) {\n      var values = hex.replace(/rgb?\\(/, '').replace(/\\)/, '').replace(/[\\s+]/g, '').split(',');\n      return 'rgba(${values[0]},${values[1]},${values[2]},${opacity})';\n    } else if (hex.includes('rgba(')) {\n      var values = hex.replace(/rgba?\\(/, '').replace(/\\)/, '').replace(/[\\s+]/g, '').split(',');\n      return 'rgba(${values[0]},${values[1]},${values[2]},${opacity})';\n    } else {\n      return hex;\n    }\n    return RGBA;\n  },\n  //项目切换时触发更新用户账号以及相关逻辑\n  userProjectChangeHandle(project) {\n    if (!project) {\n      return false;\n    }\n    let uid = window.mapVue.$route.query.uid || ''; //获取当前路由上的uid\n    //当前缓存里面的账号信息\n    let _account = null;\n    let adversiterList = project.adversiterList || [];\n    // let userInfo = window.userInfo;\n    // let _a1 = userInfo ? userInfo['userAccount'] : null;\n\n    let _a3 = adversiterList && adversiterList[0] ? adversiterList[0] : null;\n    //当前项目下没有账号信息\n    if (!_a3) {\n      this.userAccountChange(project, _account); //则设置当前账号为空\n      return false; //同时不在往下执行\n    }\n    //如果检测存在用户账号信息\n    if (uid) {\n      //当前项目中寻找这个账号\n      _account = adversiterList.find(it => it.advertiserId == uid);\n      if (!_account) {\n        //当前项目中不存在路由中的这个账号\n        _account = _a3; //使用当前项目下的 第一个账号作为当前账号;表示切换了项目地块\n      }\n    } else {\n      //使用当前项目下的 第一个账号作为当前账号\n      _account = _a3;\n    }\n    console.warn(\"***account-userAccountChange0***\", _account, project, uid);\n    this.userAccountChange(project, _account);\n  },\n  //切换账号,同时更新到全局变量中\n  userAccountChange(project, account) {\n    if (!account) {\n      console.warn(\"***account-userAccountChange2***\", account, project);\n      window.userInfo['userAccount'] = null; //修改当前页面的\n      return false;\n    }\n    switch (account.platform) {\n      case 1:\n        account['type'] = 'tencent';\n        account['typeName'] = '腾讯';\n        break;\n      case 2:\n        account['type'] = 'huge';\n        account['typeName'] = '巨量';\n        break;\n      case 3:\n        account['type'] = 'baidu';\n        account['typeName'] = '百度';\n        break;\n      default:\n        break;\n    }\n    // if((_account && account && _account.advertiserId == account.advertiserId) || (account==null && (!_account || !_account.advertiserId))){ //账号相同,则不需要更新\n    // \tconsole.warn(\"***账号相同,则不需更新***\", _account,account);\n    // }\n    // else{//执行账号切换\n\n    // }\n    account.landId = project.id; //记录下当前选中账号 所属地块-因为不同地块可能有相同账号的情况\n    userInfo['userAccount'] = account; //修改当前页面的当前账号信息\n    // setStorage(\"userAccount\", account);//更新到缓存里面-页面跳转时使用,window对象 不能跨页使用\n    console.warn(\"***account-userAccountChange1***\", account, project);\n    //切换账号则切换路由中的uid\n    window.mapVue.$router.push({\n      path: window.mapVue.$route.path,\n      query: {\n        uid: account.advertiserId || ''\n      }\n    });\n  },\n  async getLocationPOI(param) {\n    const res = await requestConfig(\"locationPOI\", param);\n    if (res.success) {\n      if (res.single) {\n        //绘制poi\n        this.getPois(res.single);\n      }\n    } else {\n      massPointOperate.removeMassList();\n    }\n  },\n  async recommendLocation(param) {\n    const res = await requestConfig(\"recommendLocation\", param);\n    if (res.success) {\n      if (res.single.poiList) {\n        let list = res.single.poiList;\n        massPointOperate.removeMassList();\n        window.massPointOperate.addMassPointList(list, true);\n      }\n      if (res.single.plateInfoModel && res.single.plateInfoModel.length > 0) {\n        massPointOperate.addPolygons(res.single.plateInfoModel);\n      }\n    } else {\n      massPointOperate.removeMassList();\n    }\n  },\n  async recommendPlanLocation(param) {\n    const res = await requestConfig(\"recommendPlanLocation\", param);\n    if (res.success) {\n      massPointOperate.removeMassList();\n      if (res.list) {\n        let list = res.list;\n        window.massPointOperate.addMassPointList(list, true);\n      }\n    } else {\n      massPointOperate.removeMassList();\n    }\n  },\n  // 判断是否为Mac 操作系统\n  isMacAction() {\n    return /macintosh|mac os x/i.test(navigator.userAgent);\n  },\n  //判断两个对象是否相等\n  isEqual(objA, objB) {\n    //相等\n    if (objA === objB) return objA !== 0 || 1 / objA === 1 / objB;\n    //空判断\n    if (objA == null || objB == null) return objA === objB;\n    //类型判断\n    if (Object.prototype.toString.call(objA) !== Object.prototype.toString.call(objB)) return false;\n    switch (Object.prototype.toString.call(objA)) {\n      case '[object RegExp]':\n      case '[object String]':\n        //字符串转换比较\n        return '' + objA === '' + objB;\n      case '[object Number]':\n        //数字转换比较,判断是否为NaN\n        if (+objA !== +objA) {\n          return +objB !== +objB;\n        }\n        return +objA === 0 ? 1 / +objA === 1 / objB : +objA === +objB;\n      case '[object Date]':\n      case '[object Boolean]':\n        return +objA === +objB;\n      case '[object Array]':\n        //判断数组\n        for (let i = 0; i < objA.length; i++) {\n          if (!this.isEqual(objA[i], objB[i])) return false;\n        }\n        return true;\n      case '[object Object]':\n        //判断对象\n        let keys = Object.keys(objA);\n        for (let i = 0; i < keys.length; i++) {\n          if (!this.isEqual(objA[keys[i]], objB[keys[i]])) return false;\n        }\n        keys = Object.keys(objB);\n        for (let i = 0; i < keys.length; i++) {\n          if (!this.isEqual(objA[keys[i]], objB[keys[i]])) return false;\n        }\n        return true;\n      default:\n        return false;\n    }\n  },\n  /**\r\n   * 获取字符串的字符数\r\n   * @param str\r\n   * @returns {number}\r\n   */\n  wordLengthFilter(str) {\n    let size = this.byteLengthFilter(str);\n    return Math.round(size / 2);\n  },\n  /**\r\n   * 超出最大字节数截取\r\n   * @param e 原始字符串\r\n   * @param maxLength 最大字节数\r\n   * @returns {string} 截取后的字符串\r\n   */\n  copyWritingInput(e, maxLength = 60) {\n    let s = 0;\n    e = JSON.parse(JSON.stringify(e));\n    if (e == '') {\n      return e;\n    }\n    let cheseReg = /[(\\u4e00-\\u9fa5)(\\u3002|\\uff1f|\\uff01|\\uff0c|\\u3001|\\uff1b|\\uff1a|\\u201c|\\u201d|\\u2018|\\u2019|\\uff08|\\uff09|\\u300a|\\u300b|\\u3010|\\u3011|\\u007e)]+$/;\n    for (var i = 0; i < e.length; i++) {\n      const code = e.charAt(i);\n      if (\"\\n\" == code) {\n        // 换行符不算入字节\n        s += 0;\n      } else if (/\\s/.test(code)) {\n        s += 1;\n      } else if (/^[\\u0000-\\u00ffA-Za-z1-9]+$/.test(code)) {\n        s += 1;\n      } else if (cheseReg.test(code)) {\n        s += 2;\n      } else {\n        s += 0;\n      }\n      if (s > maxLength) {\n        return e.substring(0, i);\n        // return resultStr;\n      }\n      // resultStr += code\n    }\n\n    return e;\n  },\n  /**\r\n   * 新的截取功能\r\n   * @param e\r\n   * @param maxLength\r\n   */\n  subinput(e, maxLength = 60) {\n    let s = 0;\n    e = JSON.parse(JSON.stringify(e));\n    let cheseReg = /[(\\u4e00-\\u9fa5)(\\u3002|\\uff1f|\\uff01|\\uff0c|\\u3001|\\uff1b|\\uff1a|\\u201c|\\u201d|\\u2018|\\u2019|\\uff08|\\uff09|\\u300a|\\u300b|\\u3010|\\u3011|\\u007e)]+$/;\n    for (var i = 0; i < e.length; i++) {\n      const code = e.charAt(i);\n      if (\"\\n\" == code) {\n        // 换行符不算入字节\n        s += 0;\n      } else if (/\\s/.test(code)) {\n        s += 1;\n      } else if (/^[\\u0000-\\u00ffA-Za-z1-9]+$/.test(code)) {\n        s += 1;\n      } else if (cheseReg.test(code)) {\n        s += 1;\n        if (s >= maxLength) {\n          return e.substring(0, i);\n        } else {\n          s += 1;\n        }\n      } else {\n        s += 0;\n      }\n      if (s >= maxLength) {\n        return e.substring(0, i + 1);\n      }\n    }\n  }\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = (common);\n\n//# sourceURL=webpack://hello-world/./src/utils/common.js?");/***/ }),/***/ "./src/utils/localStorage.js":/*!***********************************!*\  !*** ./src/utils/localStorage.js ***!  \***********************************//***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {"use strict";eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   clearAll: function() { return /* binding */ clearAll; },\n/* harmony export */   getStorage: function() { return /* binding */ getStorage; },\n/* harmony export */   removeItem: function() { return /* binding */ removeItem; },\n/* harmony export */   setStorage: function() { return /* binding */ setStorage; }\n/* harmony export */ });\n/**\r\n * set storage\r\n * @param key\r\n * @param value\r\n */\nfunction setStorage(key, value) {\n  if (!window.localStorage) {\n    throw new Error('该浏览器不支持localStorage');\n  } else {\n    if (typeof value === 'object') {\n      if (key == \"brandId\" || key == \"accountName\" || key == \"accountNo\" || key == \"houseName\" || key == \"houseId\") {\n        window.sessionStorage.setItem(key, window.JSON.stringify(value));\n      } else {\n        window.localStorage.setItem(key, window.JSON.stringify(value));\n      }\n    } else {\n      if (key == \"brandId\" || key == \"accountName\" || key == \"accountNo\" || key == \"houseName\" || key == \"houseId\") {\n        window.sessionStorage.setItem(key, value);\n      } else {\n        window.localStorage.setItem(key, value);\n      }\n    }\n  }\n}\n/**\r\n * get storage\r\n * @param key\r\n */\nfunction getStorage(key) {\n  if (!window.localStorage) {\n    throw new Error('该浏览器不支持localStorage');\n  } else {\n    if (key == \"brandId\" || key == \"accountName\" || key == \"accountNo\" || key == \"houseName\" || key == \"houseId\") {\n      return window.sessionStorage.getItem(key);\n    } else {\n      return window.localStorage.getItem(key);\n    }\n  }\n}\n/**\r\n * remove by key\r\n * @param key\r\n */\nfunction removeItem(key) {\n  window.localStorage.removeItem(key);\n}\n\n// clear all storage\nfunction clearAll() {\n  window.localStorage.clear();\n}\n\n//# sourceURL=webpack://hello-world/./src/utils/localStorage.js?");/***/ }),/***/ "./src/utils/rem.js":/*!**************************!*\  !*** ./src/utils/rem.js ***!  \**************************//***/ (function() {eval("(function () {\n  function resize() {\n    var baseFontSize = 1;\n    var designWidth = 1440;\n    var width = window.innerWidth;\n    var currentFontSize = width / designWidth * baseFontSize;\n    document.querySelector('html').style.fontSize = currentFontSize + 'px';\n  }\n  // 页面大小发生变化时\n  window.onresize = function () {\n    resize();\n  };\n  // 文档载入时监听修改文字大小\n  document.addEventListener('DOMContentLoaded', resize);\n})();\n\n//# sourceURL=webpack://hello-world/./src/utils/rem.js?");/***/ }),/***/ "./src/utils/resetMessage.js":/*!***********************************!*\  !*** ./src/utils/resetMessage.js ***!  \***********************************//***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {"use strict";eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   message: function() { return /* binding */ message; }\n/* harmony export */ });\n/* harmony import */ var element_ui__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! element-ui */ \"./node_modules/_element-ui@2.15.8@element-ui/lib/element-ui.common.js\");\n/* harmony import */ var element_ui__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(element_ui__WEBPACK_IMPORTED_MODULE_0__);\n\nlet messageInstance = null;\nconst resetMessage = options => {\n  if (messageInstance) {\n    messageInstance.close();\n  }\n  messageInstance = (0,element_ui__WEBPACK_IMPORTED_MODULE_0__.Message)(options);\n};\n['error', 'success', 'info', 'warning'].forEach(type => {\n  resetMessage[type] = options => {\n    if (typeof options === 'string') {\n      options = {\n        message: options\n      };\n    }\n    options.type = type;\n    return resetMessage(options);\n  };\n});\nconst message = resetMessage;\n\n//# sourceURL=webpack://hello-world/./src/utils/resetMessage.js?");/***/ }),/***/ "./src/utils/util.js":/*!***************************!*\  !*** ./src/utils/util.js ***!  \***************************//***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {"use strict";eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/es.array.push.js */ \"./node_modules/_core-js@3.31.1@core-js/modules/es.array.push.js\");\n/* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0__);\n\nconst util = {\n  setTitle: title => {\n    document.title = title;\n    (function (t) {\n      document.title = t;\n      var i = document.createElement('iframe');\n      i.src = '/favicon.ico';\n      i.style.display = 'none';\n      i.onload = function () {\n        setTimeout(function () {\n          i.remove();\n        }, 9);\n      };\n      document.body.appendChild(i);\n    })(title);\n  },\n  reformParam(methodName, para) {\n    var parameter = {};\n    parameter['merchantid'] = '1';\n    parameter['version'] = '1';\n    parameter['sign_type'] = 'RSA';\n    parameter['sign'] = '123';\n    parameter['charset'] = 'UTF-8';\n    parameter['method'] = methodName;\n    var context = '';\n    for (var key in para) {\n      context += '&' + key + '=' + para[key];\n    }\n    parameter['context'] = context;\n    return parameter;\n  },\n  /**\r\n   *\r\n   * @param opt\r\n   * view:页面名称\r\n   * action:操作,如点击:click\r\n   * label:事件描述\r\n   * value:资源id\r\n   */\n  trackEvent: opt => {\n    //  console.log('trackEvent')\n    if (!opt) {\n      return;\n    }\n    opt.view = opt.view || '';\n    opt.action = opt.action || 'click';\n    opt.label = opt.label || '';\n    opt.value = opt.value || '';\n    if (_czc && _czc.push) {\n      _czc.push(['_trackEvent', opt.view, opt.action, opt.label, opt.value]);\n    }\n  },\n  trackPageview: (pathTo, pathFrom) => {\n    if (_czc && _czc.push) {\n      _czc.push([\"_trackPageview\", pathTo, pathFrom]);\n    }\n  },\n  accountUrl: 'skyforest.tencent.TencentController.signature',\n  tokenUrl: 'skyforest.mine.MineController.login.v093',\n  adviserListUrl: 'skyforest.dynatown.dynatownController.getDynatownList',\n  chatUrl: 'skyforest.dynatown.dynatownController.connect',\n  dateFormat(date, fmt) {\n    let ret;\n    const opt = {\n      'y+': date.getFullYear().toString(),\n      // 年\n      'M+': (date.getMonth() + 1).toString(),\n      // 月\n      'd+': date.getDate().toString(),\n      // 日\n      'H+': date.getHours().toString(),\n      // 时\n      'm+': date.getMinutes().toString(),\n      // 分\n      's+': date.getSeconds().toString() // 秒\n      // 有其他格式化字符需求可以继续添加,必须转化成字符串\n    };\n\n    for (let k in opt) {\n      ret = new RegExp('(' + k + ')').exec(fmt);\n      if (ret) {\n        fmt = fmt.replace(ret[1], ret[1].length == 1 ? opt[k] : opt[k].padStart(ret[1].length, '0'));\n      }\n    }\n    return fmt;\n  },\n  formatDatetime(val, format) {\n    const year = val.getFullYear();\n    const month = val.getMonth() + 1;\n    const day = val.getDate();\n    const hour = val.getHours();\n    const minute = val.getMinutes();\n    const second = val.getSeconds();\n    return year + '-' + (month > 9 ? month : '0' + month) + '-' + day + ' ' + hour + ':' + (minute > 9 ? minute : '0' + minute) + ':' + (second > 9 ? second : '0' + second);\n  },\n  formatDayTime(val) {\n    const year = val.getFullYear();\n    const month = val.getMonth() + 1;\n    const day = val.getDate();\n    const hour = val.getHours();\n    const minute = val.getMinutes();\n    const second = val.getSeconds();\n    return year + '-' + (month > 9 ? month : '0' + month) + '-' + day + ' ' + hour + ':' + (minute > 9 ? minute : '0' + minute);\n  },\n  formatTodayTime(val) {\n    const year = val.getFullYear();\n    const month = val.getMonth() + 1;\n    const day = val.getDate();\n    const hour = val.getHours();\n    const minute = val.getMinutes();\n    if (month == new Date().getMonth() + 1 && day + 1 == new Date().getDate()) {\n      return '昨天' + hour + ':' + (minute > 9 ? minute : '0' + minute);\n    } else if (month == new Date().getMonth() + 1 && day == new Date().getDate()) {\n      return hour + ':' + (minute > 9 ? minute : '0' + minute);\n    } else {\n      return year + '-' + (month > 9 ? month : '0' + month) + '-' + day + ' ' + hour + ':' + (minute > 9 ? minute : '0' + minute);\n    }\n  },\n  /**\r\n   * 计算天数\r\n   * @param date1\r\n   * @param date2\r\n   * @returns {number}\r\n   * @constructor\r\n   */\n  getNumberOfDays(date1, date2) {\n    //获得天数\n    if (!date1 || !date2) {\n      return 0;\n    }\n    //date1:开始日期,date2结束日期\n    var a1 = Date.parse(new Date(date1));\n    var a2 = Date.parse(new Date(date2));\n    var day = parseInt((a2 - a1) / (1000 * 60 * 60 * 24)) + 1; //核心:时间戳相减,然后除以天数\n    return day;\n  }\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = (util);\n\n//# sourceURL=webpack://hello-world/./src/utils/util.js?");/***/ }),/***/ "./node_modules/_css-loader@6.8.1@css-loader/dist/cjs.js??clonedRuleSet-12.use[1]!./node_modules/_vue-loader@15.10.1@vue-loader/lib/loaders/stylePostLoader.js!./node_modules/_postcss-loader@6.2.1@postcss-loader/dist/cjs.js??clonedRuleSet-12.use[2]!./node_modules/_vue-loader@15.10.1@vue-loader/lib/index.js??vue-loader-options!./src/App.vue?vue&type=style&index=0&id=7ba5bd90&lang=css&":/*!********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\  !*** ./node_modules/_css-loader@6.8.1@css-loader/dist/cjs.js??clonedRuleSet-12.use[1]!./node_modules/_vue-loader@15.10.1@vue-loader/lib/loaders/stylePostLoader.js!./node_modules/_postcss-loader@6.2.1@postcss-loader/dist/cjs.js??clonedRuleSet-12.use[2]!./node_modules/_vue-loader@15.10.1@vue-loader/lib/index.js??vue-loader-options!./src/App.vue?vue&type=style&index=0&id=7ba5bd90&lang=css& ***!  \********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************//***/ (function(module, __webpack_exports__, __webpack_require__) {"use strict";eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_css_loader_6_8_1_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../node_modules/_css-loader@6.8.1@css-loader/dist/runtime/noSourceMaps.js */ \"./node_modules/_css-loader@6.8.1@css-loader/dist/runtime/noSourceMaps.js\");\n/* harmony import */ var _node_modules_css_loader_6_8_1_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_6_8_1_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _node_modules_css_loader_6_8_1_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../node_modules/_css-loader@6.8.1@css-loader/dist/runtime/api.js */ \"./node_modules/_css-loader@6.8.1@css-loader/dist/runtime/api.js\");\n/* harmony import */ var _node_modules_css_loader_6_8_1_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_6_8_1_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__);\n// Imports\n\n\nvar ___CSS_LOADER_EXPORT___ = _node_modules_css_loader_6_8_1_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default()((_node_modules_css_loader_6_8_1_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default()));\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"\\n#app {\\n\\tfont-family: Avenir, Helvetica, Arial, sans-serif;\\n\\t-webkit-font-smoothing: antialiased;\\n\\t-moz-osx-font-smoothing: grayscale;\\n\\t/* text-align: center;\\n\\tcolor: #2c3e50;\\n\\tmargin-top: 60px; */\\n}\\nbody {\\n\\tbackground: #181C28;\\n}\\n.el-tooltip__popper.is-light {\\n\\t-webkit-backdrop-filter: blur(10.36rem) !important;\\n\\t        backdrop-filter: blur(10.36rem) !important;\\n\\tbackground-color: rgba(255, 255, 255, 0.4) !important;\\n\\tborder: none !important;\\n\\tcolor: #ffffff !important;\\n}\\n.el-tooltip__popper .popper__arrow,\\n.el-tooltip__popper .popper__arrow::after {\\n\\tborder-style: none !important;\\n}\\n.el-picker-panel__body .el-date-picker__header .el-picker-panel__icon-btn {\\n\\tcolor: #FFFFFF;\\n}\\n.el-picker-panel__body .el-date-picker__header .el-date-picker__header-label {\\n\\tcolor: #FFFFFF;\\n}\\n.el-picker-panel__body .el-picker-panel__content .el-date-table th {\\n\\tcolor: #FFFFFF;\\n}\\n.dropdown-view-menu {\\n\\tfont-size: 14px;\\n\\tcolor: var(--themeColor9);\\n\\t/* width: 336rem; */\\n\\tbox-sizing: border-box;\\n\\tpadding: 15rem !important;\\n\\tmargin-top: 3rem;\\n\\t-webkit-backdrop-filter: blur(60px);\\n\\t        backdrop-filter: blur(60px);\\n\\tborder: none !important;\\n\\tbackground-color: rgba(255, 255, 255, 0.15) !important;\\n\\twhite-space: nowrap;\\n\\toverflow: hidden;\\n\\ttext-overflow: ellipsis;\\n}\\n.dropdown-view-menu .active {\\n\\tcolor: #CEF7D1;\\n}\\n.dropdown-view-text {\\n\\tfont-family: \\\"Verdana Bold\\\";\\n\\tfont-weight: 700;\\n\\ttext-decoration: underline;\\n\\tfont-size: 14px;\\n\\tcolor: #fff;\\n}\\n.select-julangview {\\n\\tdisplay: none;\\n}\\n.popper-class-qr {\\n\\tpadding: 0px !important;\\n}\\n.BMap_cpyCtrl {\\n\\tdisplay: none;\\n}\\n.anchorBL {\\n\\tdisplay: none;\\n}\\n.amap-logo img {\\n\\tdisplay: none;\\n}\\n.amap-copyright {\\n\\topacity: 0;\\n}\\n\", \"\"]);\n// Exports\n/* harmony default export */ __webpack_exports__[\"default\"] = (___CSS_LOADER_EXPORT___);\n\n\n//# sourceURL=webpack://hello-world/./src/App.vue?./node_modules/_css-loader@6.8.1@css-loader/dist/cjs.js??clonedRuleSet-12.use%5B1%5D!./node_modules/_vue-loader@15.10.1@vue-loader/lib/loaders/stylePostLoader.js!./node_modules/_postcss-loader@6.2.1@postcss-loader/dist/cjs.js??clonedRuleSet-12.use%5B2%5D!./node_modules/_vue-loader@15.10.1@vue-loader/lib/index.js??vue-loader-options");/***/ }),/***/ "./node_modules/_css-loader@6.8.1@css-loader/dist/cjs.js??clonedRuleSet-12.use[1]!./node_modules/_vue-loader@15.10.1@vue-loader/lib/loaders/stylePostLoader.js!./node_modules/_postcss-loader@6.2.1@postcss-loader/dist/cjs.js??clonedRuleSet-12.use[2]!./node_modules/_vue-loader@15.10.1@vue-loader/lib/index.js??vue-loader-options!./src/components/mapComponent/mapComponent.vue?vue&type=style&index=0&id=68cc5822&lang=css&scoped=true&":/*!*****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\  !*** ./node_modules/_css-loader@6.8.1@css-loader/dist/cjs.js??clonedRuleSet-12.use[1]!./node_modules/_vue-loader@15.10.1@vue-loader/lib/loaders/stylePostLoader.js!./node_modules/_postcss-loader@6.2.1@postcss-loader/dist/cjs.js??clonedRuleSet-12.use[2]!./node_modules/_vue-loader@15.10.1@vue-loader/lib/index.js??vue-loader-options!./src/components/mapComponent/mapComponent.vue?vue&type=style&index=0&id=68cc5822&lang=css&scoped=true& ***!  \*****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************//***/ (function(module, __webpack_exports__, __webpack_require__) {"use strict";eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_css_loader_6_8_1_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../node_modules/_css-loader@6.8.1@css-loader/dist/runtime/noSourceMaps.js */ \"./node_modules/_css-loader@6.8.1@css-loader/dist/runtime/noSourceMaps.js\");\n/* harmony import */ var _node_modules_css_loader_6_8_1_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_6_8_1_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _node_modules_css_loader_6_8_1_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../node_modules/_css-loader@6.8.1@css-loader/dist/runtime/api.js */ \"./node_modules/_css-loader@6.8.1@css-loader/dist/runtime/api.js\");\n/* harmony import */ var _node_modules_css_loader_6_8_1_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_6_8_1_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _node_modules_css_loader_6_8_1_css_loader_dist_cjs_js_clonedRuleSet_12_use_1_node_modules_vue_loader_15_10_1_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_6_2_1_postcss_loader_dist_cjs_js_clonedRuleSet_12_use_2_mapComponent_css__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! -!../../../node_modules/_css-loader@6.8.1@css-loader/dist/cjs.js??clonedRuleSet-12.use[1]!../../../node_modules/_vue-loader@15.10.1@vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/_postcss-loader@6.2.1@postcss-loader/dist/cjs.js??clonedRuleSet-12.use[2]!./mapComponent.css */ \"./node_modules/_css-loader@6.8.1@css-loader/dist/cjs.js??clonedRuleSet-12.use[1]!./node_modules/_vue-loader@15.10.1@vue-loader/lib/loaders/stylePostLoader.js!./node_modules/_postcss-loader@6.2.1@postcss-loader/dist/cjs.js??clonedRuleSet-12.use[2]!./src/components/mapComponent/mapComponent.css\");\n// Imports\n\n\n\nvar ___CSS_LOADER_EXPORT___ = _node_modules_css_loader_6_8_1_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default()((_node_modules_css_loader_6_8_1_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default()));\n___CSS_LOADER_EXPORT___.i(_node_modules_css_loader_6_8_1_css_loader_dist_cjs_js_clonedRuleSet_12_use_1_node_modules_vue_loader_15_10_1_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_6_2_1_postcss_loader_dist_cjs_js_clonedRuleSet_12_use_2_mapComponent_css__WEBPACK_IMPORTED_MODULE_2__[\"default\"]);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"\\n\", \"\"]);\n// Exports\n/* harmony default export */ __webpack_exports__[\"default\"] = (___CSS_LOADER_EXPORT___);\n\n\n//# sourceURL=webpack://hello-world/./src/components/mapComponent/mapComponent.vue?./node_modules/_css-loader@6.8.1@css-loader/dist/cjs.js??clonedRuleSet-12.use%5B1%5D!./node_modules/_vue-loader@15.10.1@vue-loader/lib/loaders/stylePostLoader.js!./node_modules/_postcss-loader@6.2.1@postcss-loader/dist/cjs.js??clonedRuleSet-12.use%5B2%5D!./node_modules/_vue-loader@15.10.1@vue-loader/lib/index.js??vue-loader-options");/***/ }),/***/ "./node_modules/_css-loader@6.8.1@css-loader/dist/cjs.js??clonedRuleSet-12.use[1]!./node_modules/_vue-loader@15.10.1@vue-loader/lib/loaders/stylePostLoader.js!./node_modules/_postcss-loader@6.2.1@postcss-loader/dist/cjs.js??clonedRuleSet-12.use[2]!./src/components/mapComponent/mapComponent.css":/*!*************************************************************************************************************************************************************************************************************************************************************************************************************!*\  !*** ./node_modules/_css-loader@6.8.1@css-loader/dist/cjs.js??clonedRuleSet-12.use[1]!./node_modules/_vue-loader@15.10.1@vue-loader/lib/loaders/stylePostLoader.js!./node_modules/_postcss-loader@6.2.1@postcss-loader/dist/cjs.js??clonedRuleSet-12.use[2]!./src/components/mapComponent/mapComponent.css ***!  \*************************************************************************************************************************************************************************************************************************************************************************************************************//***/ (function(module, __webpack_exports__, __webpack_require__) {"use strict";eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_css_loader_6_8_1_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../node_modules/_css-loader@6.8.1@css-loader/dist/runtime/noSourceMaps.js */ \"./node_modules/_css-loader@6.8.1@css-loader/dist/runtime/noSourceMaps.js\");\n/* harmony import */ var _node_modules_css_loader_6_8_1_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_6_8_1_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _node_modules_css_loader_6_8_1_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../node_modules/_css-loader@6.8.1@css-loader/dist/runtime/api.js */ \"./node_modules/_css-loader@6.8.1@css-loader/dist/runtime/api.js\");\n/* harmony import */ var _node_modules_css_loader_6_8_1_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_6_8_1_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__);\n// Imports\n\n\nvar ___CSS_LOADER_EXPORT___ = _node_modules_css_loader_6_8_1_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default()((_node_modules_css_loader_6_8_1_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default()));\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"#mapDiv{\\r\\n    width: 100%;\\r\\n    height: 100vh;\\r\\n    background: #181C28;\\n}\\n.map {\\n  position: relative;  /* 作为子元素的相对定位元素 */\\n  width: 100%;\\n  height: 100%;\\n  overflow: hidden;\\n}\\n#labels {\\n  position: absolute;  /* 把Label定位在容器内 */\\n  left: 0;             /* 默认定位在左上角 */\\n  top: 0;\\n  color: white;\\n}\\n#labels>div {\\n  position: absolute;  /* 让我们的容器决定尺寸 */\\n  left: 0;             /* 默认定位在左上角 */\\n  top: 0;\\n  cursor: pointer;     /* 当悬浮时,变为一个小手 */\\n  font-size:12px;\\n  -webkit-user-select: none;\\n     -moz-user-select: none;\\n          user-select: none;   /* 不允许文字被选中 */\\r\\n  white-space: nowrap;\\n  text-shadow:         \\n    -1px -1px 0 #000,\\n    0   -1px 0 #000,\\n    1px -1px 0 #000,\\n    1px  0   0 #000,\\n    1px  1px 0 #000,\\n    0    1px 0 #000,\\n    -1px  1px 0 #000,\\n    -1px  0   0 #000;\\n}\\n#labels>div:hover {\\n  color: red;\\n}\\ncanvas:focus {\\n  outline:none;\\n}\", \"\"]);\n// Exports\n/* harmony default export */ __webpack_exports__[\"default\"] = (___CSS_LOADER_EXPORT___);\n\n\n//# sourceURL=webpack://hello-world/./src/components/mapComponent/mapComponent.css?./node_modules/_css-loader@6.8.1@css-loader/dist/cjs.js??clonedRuleSet-12.use%5B1%5D!./node_modules/_vue-loader@15.10.1@vue-loader/lib/loaders/stylePostLoader.js!./node_modules/_postcss-loader@6.2.1@postcss-loader/dist/cjs.js??clonedRuleSet-12.use%5B2%5D");/***/ }),/***/ "./node_modules/_css-loader@6.8.1@css-loader/dist/cjs.js??clonedRuleSet-14.use[1]!./node_modules/_postcss-loader@6.2.1@postcss-loader/dist/cjs.js??clonedRuleSet-14.use[2]!./src/assets/common.css":/*!*********************************************************************************************************************************************************************************************************!*\  !*** ./node_modules/_css-loader@6.8.1@css-loader/dist/cjs.js??clonedRuleSet-14.use[1]!./node_modules/_postcss-loader@6.2.1@postcss-loader/dist/cjs.js??clonedRuleSet-14.use[2]!./src/assets/common.css ***!  \*********************************************************************************************************************************************************************************************************//***/ (function(module, __webpack_exports__, __webpack_require__) {"use strict";eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_css_loader_6_8_1_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../node_modules/_css-loader@6.8.1@css-loader/dist/runtime/noSourceMaps.js */ \"./node_modules/_css-loader@6.8.1@css-loader/dist/runtime/noSourceMaps.js\");\n/* harmony import */ var _node_modules_css_loader_6_8_1_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_6_8_1_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _node_modules_css_loader_6_8_1_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../node_modules/_css-loader@6.8.1@css-loader/dist/runtime/api.js */ \"./node_modules/_css-loader@6.8.1@css-loader/dist/runtime/api.js\");\n/* harmony import */ var _node_modules_css_loader_6_8_1_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_6_8_1_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__);\n// Imports\n\n\nvar ___CSS_LOADER_EXPORT___ = _node_modules_css_loader_6_8_1_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default()((_node_modules_css_loader_6_8_1_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default()));\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"* {\\r\\n    margin: 0;\\r\\n    padding: 0;\\r\\n}\\r\\n\\r\\nbody {\\r\\n    -webkit-user-select: none;\\r\\n    -moz-user-select: none;\\r\\n    -o-user-select: none;\\r\\n    user-select: none;\\r\\n}\\r\\n\\r\\ndiv {\\r\\n    box-sizing: border-box;\\r\\n}\\r\\n\\r\\n.rows {\\r\\n    display: flex;\\r\\n    flex-direction: row;\\r\\n    align-items: center;\\r\\n}\\r\\n\\r\\n.rows-between {\\r\\n    justify-content: space-between;\\r\\n}\\r\\n\\r\\n.columns {\\r\\n    display: flex;\\r\\n    flex-direction: column;\\r\\n    align-items: center;\\r\\n    justify-content: space-between;\\r\\n}\\r\\n\\r\\n.eslipe {\\r\\n    overflow: hidden;\\r\\n    white-space: nowrap;\\r\\n    text-overflow: ellipsis;\\r\\n}\\r\\n\\r\\n.flex-start {\\r\\n    align-items: flex-start;\\r\\n}\\r\\n\\r\\n.flex-end {\\r\\n    justify-content: flex-end;\\r\\n}\\r\\n\\r\\n.justify-center {\\r\\n    justify-content: center;\\r\\n}\\r\\n\\r\\n.justify-content-start {\\r\\n    justify-content: flex-start;\\r\\n}\\r\\n\\r\\n.flex-1 {\\r\\n    flex: 1;\\r\\n}\\r\\n\\r\\n.grid-view {\\r\\n    display: grid;\\r\\n    grid-template-columns: repeat(2, 1fr);\\r\\n    /* grid-row-gap: 20rem; */\\r\\n    grid-gap: 20rem 80rem;\\r\\n}\\r\\n\\r\\n::-webkit-scrollbar {\\r\\n    width: 0;\\r\\n    height: 0;\\r\\n    color: transparent;\\r\\n}\\r\\n\\r\\n.el-checkbox__inner {\\r\\n    border-color: #EF863F;\\r\\n}\\r\\n\\r\\n.el-checkbox__inner:hover {\\r\\n    border-color: #EF863F;\\r\\n}\\r\\n\\r\\n.pointer {\\r\\n    cursor: pointer\\r\\n}\\r\\n\\r\\n\\r\\n/* 项目提示信息 */\\r\\n\\r\\n.infoWindowHtml {\\r\\n    z-index: 1000!important;\\r\\n    cursor: pointer;\\r\\n}\\r\\n\\r\\n.project-content {\\r\\n    position: relative;\\r\\n    /* float: left; */\\r\\n    /* width: auto; */\\r\\n    width: 300rem;\\r\\n    padding: 15rem 20rem;\\r\\n    box-sizing: border-box;\\r\\n    /* background: linear-gradient(90deg,#000000 1%, rgba(0,0,0,0.00));\\r\\n\\tbackdrop-filter: blur(30.24rem); */\\r\\n    padding-bottom: 4rem;\\r\\n    cursor: pointer;\\r\\n}\\r\\n\\r\\n.filter-view {\\r\\n    position: absolute;\\r\\n    width: 100%;\\r\\n    height: 100%;\\r\\n    ;\\r\\n    left: 0rem;\\r\\n    top: 0rem;\\r\\n    filter: blur(30rem);\\r\\n    background: linear-gradient(90deg, #000000 1%, rgba(0, 0, 0, 0.00));\\r\\n    border-radius: 12px;\\r\\n    -webkit-backdrop-filter: blur(10.02px);\\r\\n            backdrop-filter: blur(10.02px);\\r\\n    z-index: -1;\\r\\n}\\r\\n\\r\\n.project-head {\\r\\n    width: 40rem;\\r\\n    height: 40rem;\\r\\n    line-height: 40rem;\\r\\n    background: rgba(0, 0, 0, 0.00);\\r\\n    border: 1rem solid rgba(255, 255, 255, 0.33);\\r\\n    border-radius: 50%;\\r\\n    margin-right: 8rem;\\r\\n    font-size: 18px;\\r\\n    font-family: Verdana, Verdana-Bold;\\r\\n    font-weight: 700;\\r\\n    text-align: center;\\r\\n    color: #ffffff;\\r\\n    -o-object-fit: cover;\\r\\n       object-fit: cover;\\r\\n}\\r\\n\\r\\n.project-name {\\r\\n    height: 28rem;\\r\\n    line-height: 28rem;\\r\\n    font-size: 20px;\\r\\n    font-family: Verdana, Verdana-Bold;\\r\\n    font-weight: 700;\\r\\n    text-align: left;\\r\\n    color: #ffffff;\\r\\n}\\r\\n\\r\\n.project-address {\\r\\n    height: 17rem;\\r\\n    line-height: 17rem;\\r\\n    opacity: 0.5;\\r\\n    font-size: 12px;\\r\\n    font-family: Verdana, Verdana-Bold;\\r\\n    font-weight: 400;\\r\\n    text-align: left;\\r\\n    color: #ffffff;\\r\\n}\\r\\n\\r\\n.project-tips {\\r\\n    width: 40rem;\\r\\n    height: 22rem;\\r\\n    background: rgba(255, 255, 255, 0.2);\\r\\n    border-radius: 4rem;\\r\\n    font-size: 14px;\\r\\n    font-family: FontName, FontName-Regular;\\r\\n    font-weight: 400;\\r\\n    text-align: center;\\r\\n    color: #ffffff;\\r\\n    line-height: 22rem;\\r\\n    font-style: italic;\\r\\n    margin-left: 10rem;\\r\\n}\\r\\n\\r\\n.project-area {\\r\\n    margin-top: 6rem;\\r\\n    height: 20rem;\\r\\n    line-height: 20rem;\\r\\n    font-size: 14px;\\r\\n    font-family: Verdana, Verdana-Bold;\\r\\n    font-weight: 700;\\r\\n    text-align: left;\\r\\n    color: #ffffff;\\r\\n    overflow: hidden;\\r\\n}\\r\\n\\r\\n.project-footer {\\r\\n    position: relative;\\r\\n    width: 100%;\\r\\n    height: 10rem;\\r\\n    margin-top: 10rem;\\r\\n    overflow: hidden;\\r\\n}\\r\\n\\r\\n.project-footer-top {\\r\\n    width: 100%;\\r\\n    height: 4rem;\\r\\n    background: linear-gradient(90deg, var(--themeColor4) 1%, transparent);\\r\\n}\\r\\n\\r\\n.project-footer-left {\\r\\n    position: absolute;\\r\\n    top: 0rem;\\r\\n    border-width: 10rem;\\r\\n    border-top-color: transparent;\\r\\n    border-right-color: transparent;\\r\\n    border-bottom-color: transparent;\\r\\n    border-left-color: var(--themeColor4);\\r\\n    border-style: solid;\\r\\n    border-left-width: 5rem;\\r\\n    border-top-width: 0rem;\\r\\n}\\r\\n\\r\\n.polyon-content {\\r\\n    float: left;\\r\\n    width: auto;\\r\\n    font-size: 14px;\\r\\n    white-space: nowrap;\\r\\n    font-family: Verdana, Verdana-Bold;\\r\\n    font-weight: 700;\\r\\n    text-align: center;\\r\\n    color: var(--themeColor1);\\r\\n    text-shadow: 0rem 0rem #000000;\\r\\n}\\r\\n\\r\\n.competitionProjectHide {\\r\\n    display: none !important;\\r\\n}\\r\\n\\r\\n.competitionProjectShow {\\r\\n    display: flex;\\r\\n}\\r\\n\\r\\n.infoWindowUnSelected .project-head {\\r\\n    display: none;\\r\\n}\\r\\n\\r\\n.infoWindowUnSelected .project-name {\\r\\n    height: 20rem;\\r\\n    line-height: 20rem;\\r\\n    font-size: 14px;\\r\\n}\\r\\n\\r\\n.infoWindowSelected .project-tips,\\r\\n.infoWindowUnSelected .project-tips {\\r\\n    display: none;\\r\\n}\\r\\n\\r\\n.infoWindowHtml.infoWindowSelected {\\r\\n    z-index: 1001!important;\\r\\n}\\r\\n\\r\\n.infoWindowUnSelected .project-address {\\r\\n    display: none;\\r\\n}\\r\\n\\r\\n.infoWindowUnSelected .project-area {\\r\\n    height: 17rem;\\r\\n    line-height: 17rem;\\r\\n    opacity: 0.6;\\r\\n    font-size: 12px;\\r\\n    margin-top: 0rem;\\r\\n}\\r\\n\\r\\n.infoWindowUnSelected .project-footer {\\r\\n    margin-top: 8rem;\\r\\n}\\r\\n\\r\\n.competitionUnSelected .project-name {\\r\\n    height: 20rem;\\r\\n    line-height: 20rem;\\r\\n    font-size: 14px;\\r\\n}\\r\\n\\r\\n.competitionUnSelected .project-area {\\r\\n    display: none;\\r\\n}\\r\\n\\r\\n\\r\\n/* 项目竞品状态 */\\r\\n\\r\\n.competitionProject .project-name {\\r\\n    height: 20rem;\\r\\n    line-height: 20rem;\\r\\n    font-size: 14px;\\r\\n}\\r\\n\\r\\n.competitionProject .project-head,\\r\\n.competitionProject .project-area,\\r\\n.competitionProject .project-address {\\r\\n    display: none;\\r\\n}\\r\\n\\r\\n\\r\\n/* 圆柱样式 */\\r\\n\\r\\n.cricleColumn-view {\\r\\n    position: relative;\\r\\n    width: 90rem;\\r\\n    height: 152rem;\\r\\n    cursor: pointer;\\r\\n}\\r\\n\\r\\n.cricleColumn-img {\\r\\n    width: 90rem;\\r\\n    height: 152rem;\\r\\n}\\r\\n\\r\\n.cricleColumn-text {\\r\\n    position: absolute;\\r\\n    bottom: 0rem;\\r\\n    left: 0rem;\\r\\n    width: 100%;\\r\\n    height: 37rem;\\r\\n    font-size: 14px;\\r\\n    font-family: DIN Alternate, DIN Alternate-Bold;\\r\\n    font-weight: 700;\\r\\n    text-align: center;\\r\\n    color: #ffdf80;\\r\\n    line-height: 14rem;\\r\\n}\\r\\n\\r\\n.cricleColumn1-view {\\r\\n    position: relative;\\r\\n    width: 82rem;\\r\\n    height: 152rem;\\r\\n    cursor: pointer;\\r\\n}\\r\\n\\r\\n.cricleColumn1-img {\\r\\n    width: 82rem;\\r\\n    height: 152rem;\\r\\n}\\r\\n\\r\\n.cricleColumn2-view {\\r\\n    width: 60px;\\r\\n    height: 60px;\\r\\n}\\r\\n\\r\\n.cricleColumn2-img {\\r\\n    width: 100%;\\r\\n    height: 100%;\\r\\n}\\r\\n\\r\\n.cricleColumn1-text {\\r\\n    position: absolute;\\r\\n    bottom: 14rem;\\r\\n    left: 0rem;\\r\\n    width: 100%;\\r\\n    font-size: 14px;\\r\\n    font-family: DIN Alternate, DIN Alternate-Bold;\\r\\n    font-weight: 700;\\r\\n    text-align: center;\\r\\n    color: #fff;\\r\\n    line-height: 20rem;\\r\\n}\\r\\n\\r\\n.project-plate2{\\r\\n    display: flex;\\r\\n    flex-direction: column;\\r\\n    width: 40px;\\r\\n    height: 58px;\\r\\n    align-items: center;\\r\\n}\\r\\n\\r\\n\\r\\n.plate-point-icon2{\\r\\n    width: 10rem;\\r\\n    height: 10rem;\\r\\n    min-height: 10rem;\\r\\n    background: #FFDB89;\\r\\n    border-radius: 50%;\\r\\n    margin-top: 15rem;\\r\\n}\\r\\n\\r\\n.plate-point-name-img2{\\r\\n    width: 35px;\\r\\n    height: 35px;\\r\\n    border-radius: 50%;\\r\\n    transform: rotate(45deg);\\r\\n}\\r\\n\\r\\n.plate-point-name2{\\r\\n    background: #FFDB89;\\r\\n    width: 40px;\\r\\n    min-width: 40px;\\r\\n    height: 40px;\\r\\n    min-height: 40px;\\r\\n    border-top-left-radius: 50%;\\r\\n    border-top-right-radius: 50%;\\r\\n    border-bottom-right-radius: 50%;\\r\\n    border-bottom-left-radius: 3px;\\r\\n    transform: rotate(-45deg);\\r\\n    display: flex;\\r\\n    align-items: center;\\r\\n    justify-content: center;\\r\\n}\\r\\n.plate-point-name-txt2 {\\r\\n    font-size: 18px;\\r\\n    font-family: Verdana, Verdana-Bold;\\r\\n    text-align: center;\\r\\n    color: #ffffff;\\r\\n    transform: rotate(45deg);\\r\\n    overflow: hidden;\\r\\n    white-space: nowrap;\\r\\n    width: 40px;\\r\\n}\\r\\n\\r\\n.el-picker-panel__content .el-date-table td.disabled div{\\r\\n    background: transparent;\\r\\n}\\r\\n\\r\\n.el-date-table td.current:not(.disabled) span{\\r\\n    background-color: var(--themeColor1);\\r\\n}\\r\\n.el-date-table td.today span{\\r\\n    color: var(--themeColor1);\\r\\n}\\r\\n.el-date-table td:hover{\\r\\n    color: var(--themeColor1);\\r\\n}\\r\\n\\r\\n.project-plate {\\r\\n    display: flex;\\r\\n    flex-direction: row;\\r\\n    width: 265px;\\r\\n    height: 58px;\\r\\n    align-items: center;\\r\\n}\\r\\n\\r\\n.plate-point-icon {\\r\\n    width: 10rem;\\r\\n    height: 10rem;\\r\\n    background: #fede7f;\\r\\n    border-radius: 50%;\\r\\n    margin-left: 20rem;\\r\\n}\\r\\n\\r\\n.plate-point-name {\\r\\n    font-size: 16px;\\r\\n    font-family: Verdana, Verdana-Bold;\\r\\n    font-weight: 700;\\r\\n    text-align: left;\\r\\n    color: #ffffff;\\r\\n    margin-left: 10rem;\\r\\n    background: #181C28;\\r\\n    border-radius: 6rem;\\r\\n    padding: 6rem 10rem;\\r\\n}\\r\\n\\r\\n.plate-point-name-img {\\r\\n    width: 35px;\\r\\n    height: 35px;\\r\\n    border-radius: 50%;\\r\\n    transform: rotate(45deg);\\r\\n}\\r\\n\\r\\n.plate-point-name-txt {\\r\\n    font-size: 18px;\\r\\n    font-family: Verdana, Verdana-Bold;\\r\\n    font-weight: 700;\\r\\n    text-align: center;\\r\\n    color: #ffffff;\\r\\n    transform: rotate(45deg);\\r\\n    overflow: hidden;\\r\\n    white-space: nowrap;\\r\\n    width: 40px;\\r\\n}\\r\\n\\r\\n.cricleColumn2-text {\\r\\n    position: absolute;\\r\\n    left: 50%;\\r\\n    top: 50%;\\r\\n    transform: translate(-50%, -50%);\\r\\n    width: 100%;\\r\\n    font-size: 12px;\\r\\n    font-family: DIN Alternate, DIN Alternate-Bold;\\r\\n    text-align: center;\\r\\n    color: #fff;\\r\\n}\\r\\n\\r\\n.poi-view {\\r\\n    position: relative;\\r\\n    width: -moz-max-content;\\r\\n    width: max-content;\\r\\n    height: 30rem;\\r\\n    background: rgba(255, 255, 255, 0.2);\\r\\n    border-radius: 15rem;\\r\\n    -webkit-backdrop-filter: blur(30rem);\\r\\n            backdrop-filter: blur(30rem);\\r\\n    cursor: pointer;\\r\\n}\\r\\n\\r\\n.poi-view-radius {\\r\\n    width: 24rem;\\r\\n    height: 24rem;\\r\\n    line-height: 22rem;\\r\\n    background: rgba(118, 188, 255, 0.50);\\r\\n    border: 1px solid #76bcff;\\r\\n    border-radius: 50%;\\r\\n    font-size: 12px;\\r\\n    font-family: Verdana, Verdana-Regular;\\r\\n    font-weight: 400;\\r\\n    text-align: center;\\r\\n    color: #ffffff;\\r\\n    margin-left: 4rem;\\r\\n}\\r\\n\\r\\n.poi-view-text {\\r\\n    font-size: 14px;\\r\\n    font-family: Verdana, Verdana-Regular;\\r\\n    font-weight: 400;\\r\\n    text-align: left;\\r\\n    color: #ffffff;\\r\\n    margin-left: 5rem;\\r\\n    margin-right: 10rem;\\r\\n}\\r\\n\\r\\n.poi-point {\\r\\n    border-radius: 50%;\\r\\n    width: 10rem;\\r\\n    height: 10rem;\\r\\n    background: #ffad5c;\\r\\n    border: 1rem solid #fff;\\r\\n}\\r\\n\\r\\n.poi-view-poi {\\r\\n    position: relative;\\r\\n    width: -moz-max-content;\\r\\n    width: max-content;\\r\\n    background: rgba(255, 255, 255, 0.2);\\r\\n    border-radius: 5rem;\\r\\n    -webkit-backdrop-filter: blur(30rem);\\r\\n            backdrop-filter: blur(30rem);\\r\\n    cursor: pointer;\\r\\n    padding: 10rem;\\r\\n    display: flex;\\r\\n    align-items: center;\\r\\n}\\r\\n\\r\\n.poi-view-poi-num {\\r\\n    width: 24rem;\\r\\n    min-width: 24rem;\\r\\n    height: 24rem;\\r\\n    background: var(--themeColor2_2);\\r\\n    border: 1px solid var(--themeColor2);\\r\\n    font-size: 12px;\\r\\n    text-align: center;\\r\\n    color: #fff;\\r\\n    line-height: 24rem;\\r\\n    border-radius: 50%;\\r\\n    margin-right: 10rem;\\r\\n}\\r\\n\\r\\n.poi-view-info {\\r\\n    font-size: 14px;\\r\\n    font-family: Verdana, Verdana-Regular;\\r\\n    font-weight: 400;\\r\\n    text-align: left;\\r\\n    color: #ffffff;\\r\\n    margin-left: 5rem;\\r\\n    margin-right: 10rem;\\r\\n}\\r\\n\\r\\n.poi_sanjiao {\\r\\n    position: absolute;\\r\\n    bottom: -12rem;\\r\\n    width: 0rem;\\r\\n    height: 0;\\r\\n    border: 6rem solid;\\r\\n    border-color: rgba(255, 255, 255, 0.2) transparent transparent;\\r\\n    left: calc((100% - 12rem) / 2);\\r\\n\\r\\n}\\r\\n\\r\\n.poiUnSelected .poi-view {\\r\\n    background: unset;\\r\\n    -webkit-backdrop-filter: unset;\\r\\n            backdrop-filter: unset;\\r\\n}\\r\\n\\r\\n.poiUnSelected .poi-view-text {\\r\\n    opacity: 0;\\r\\n}\\r\\n\\r\\n.trafficPoint-view {\\r\\n    width: 24rem;\\r\\n    height: 24rem;\\r\\n    background: rgba(255, 255, 255, 0.00);\\r\\n    border: 1px solid var(--themeColor2);\\r\\n    border-radius: 50%;\\r\\n    font-size: 12px;\\r\\n    font-family: Verdana, Verdana-Regular;\\r\\n    font-weight: 400;\\r\\n    color: var(--themeColor2);\\r\\n    text-align: center;\\r\\n    line-height: 24rem;\\r\\n}\\r\\n\\r\\n\\r\\n/* 预览视图里面的拖拽样式 */\\r\\n\\r\\n.custom-content-marker {\\r\\n    position: relative;\\r\\n    width: 206px;\\r\\n    height: 206px;\\r\\n    /*border-radius: 50%;*/\\r\\n    /*border: var(--themeColor3) solid 1px;*/\\r\\n    /*background: var(--themeColor3_2);*/\\r\\n    box-sizing: border-box;\\r\\n}\\r\\n\\r\\n.custom-content-img {\\r\\n    width: 32px;\\r\\n    height: 32px;\\r\\n}\\r\\n\\r\\n.project-view {\\r\\n    position: absolute;\\r\\n    right: 0rem;\\r\\n    top: 0rem;\\r\\n    width: 690rem;\\r\\n    height: calc(100% - 50rem);\\r\\n    padding: 20rem 20rem 20rem 0;\\r\\n    transition: 0.3s;\\r\\n    transform: translateX(0rem);\\r\\n    z-index: 11 !important;\\r\\n}\\r\\n\\r\\n.project-view-content {\\r\\n    min-height: 240rem;\\r\\n    position: relative;\\r\\n    width: 100%;\\r\\n    height: calc(100% - 100rem);\\r\\n    border-radius: 10rem;\\r\\n    padding: 20rem;\\r\\n    -webkit-backdrop-filter: blur(10.36rem);\\r\\n            backdrop-filter: blur(10.36rem);\\r\\n    color: azure;\\r\\n    margin-top: 10rem;\\r\\n}\\r\\n\\r\\n.project-view-content-scroll {\\r\\n    overflow: auto;\\r\\n}\\r\\n\\r\\n.show-flex1 {\\r\\n    display: flex;\\r\\n}\\r\\n\\r\\n.align-center {\\r\\n    align-items: center;\\r\\n}\\r\\n\\r\\n.column {\\r\\n    flex-direction: column;\\r\\n}\\r\\n\\r\\n.content-center {\\r\\n    justify-content: center;\\r\\n}\\r\\n\\r\\n.content-between {\\r\\n    justify-content: space-between;\\r\\n}\\r\\n\\r\\n.content-around {\\r\\n    justify-content: space-around;\\r\\n}\\r\\n\\r\\n.content-start {\\r\\n    justify-content: flex-start;\\r\\n}\\r\\n.content-end {\\r\\n    justify-content: flex-end;\\r\\n}\\r\\n\\r\\n.cursor-pointer {\\r\\n    cursor: pointer;\\r\\n}\\r\\n\\r\\n.disabled {\\r\\n    cursor: not-allowed;\\r\\n    opacity: 0.5;\\r\\n}\\r\\n\\r\\n.el-select-dropdown {\\r\\n    border-radius: 10px;\\r\\n    -webkit-backdrop-filter: blur(30px);\\r\\n            backdrop-filter: blur(30px);\\r\\n    background-color: rgba(149, 149, 149, 0.9);\\r\\n    border: none;\\r\\n    /*color: #fff;*/\\r\\n}\\r\\n\\r\\n.el-select-dropdown__item {\\r\\n    color: #fff;\\r\\n}\\r\\n\\r\\n.el-select-dropdown__item.hover,\\r\\n.el-select-dropdown__item:hover {\\r\\n    background-color: rgba(255, 255, 255, 0.1);\\r\\n}\\r\\n\\r\\n.el-select-dropdown__item.selected {\\r\\n    color: var(--themeColor11);\\r\\n    font-weight: 700;\\r\\n}\\r\\n\\r\\n.el-picker-panel {\\r\\n    border-radius: 10px;\\r\\n    -webkit-backdrop-filter: blur(30px);\\r\\n            backdrop-filter: blur(30px);\\r\\n    background-color: rgba(149, 149, 149, 0.5);\\r\\n    border: none;\\r\\n    color: #fff;\\r\\n}\\r\\n\\r\\n.time-select-item {\\r\\n    color: #fff;\\r\\n    text-align: center;\\r\\n}\\r\\n\\r\\n.time-select-item:hover {\\r\\n    background-color: rgba(255, 255, 255, 0.1) !important;\\r\\n}\\r\\n\\r\\n.time-select-item.selected {\\r\\n    color: var(--themeColor1) !important;\\r\\n    font-weight: 700;\\r\\n}\\r\\n.amap-ui-pointsimplifier-container .overlay-title{\\r\\n    width: -moz-max-content;\\r\\n    width: max-content;\\r\\n    background-color: rgba(255, 255, 255, 0.2) !important;\\r\\n    border-radius: 5rem !important;\\r\\n    -webkit-backdrop-filter: blur(30rem);\\r\\n            backdrop-filter: blur(30rem);\\r\\n    border:none !important;\\r\\n    font-size: 14px !important;\\r\\n    font-family: Verdana, Verdana-Regular;\\r\\n    font-weight: 400;\\r\\n    text-align: left;\\r\\n    color: #ffffff !important;\\r\\n    padding: 10rem !important;\\r\\n }\\r\\n.amap-ui-pointsimplifier-container .overlay-title.top:after{\\r\\n    border-top-color:rgba(255, 255, 255, 0) !important;\\r\\n\\r\\n\\r\\n}\\r\\n.amap-ui-pointsimplifier-container .overlay-title.top:before{\\r\\n    border-top-color:rgba(255, 255, 255, 0.2) !important;\\r\\n\\r\\n}\\r\\n.amap-ui-pointsimplifier-container .overlay-title.top {\\r\\n    transform: translate(-50%,-115%) !important;\\r\\n}\\r\\n\\r\\n.popper-class-11{\\r\\n    /*background-color: rgb(121, 121, 121);*/\\r\\n    background-color:rgba(255,255,255,0.2);\\r\\n    border: none;\\r\\n    color:rgba(255,255,255,0.9);\\r\\n    -webkit-backdrop-filter: blur(12px);\\r\\n            backdrop-filter: blur(12px);\\r\\n    min-width: auto;\\r\\n}\\r\\n\\r\\n.popper-class-12{\\r\\n    /*background-color: rgb(121, 121, 121);*/\\r\\n    background-color:rgba(255,255,255,0.4);\\r\\n    border: none;\\r\\n    color:rgba(255,255,255,0.8);\\r\\n    -webkit-backdrop-filter: blur(30px);\\r\\n            backdrop-filter: blur(30px);\\r\\n\\r\\n}\\r\\n\\r\\n.popper-class-12.el-popper .popper__arrow,.popper-class-11.el-popper .popper__arrow {\\r\\n    display: block !important;\\r\\n    border-top-color: rgba(255,255,255,0.41)\\r\\n}\\r\\n\\r\\n.popper-class-12 .popper__arrow::after {\\r\\n    bottom: 1px;\\r\\n    margin-left: -6px;\\r\\n    border-top-color: rgba(87, 87, 87, 0.41) !important;\\r\\n    border-bottom-width: 0;\\r\\n}\\r\\n\\r\\n.popper-class-11 .popper__arrow::after {\\r\\n    bottom: 1px;\\r\\n    margin-left: -6px;\\r\\n    border-top-color: rgba(87, 87, 87, 0.41) !important;\\r\\n    border-bottom-width: 0;\\r\\n}\\r\\n\\r\\n.popper-class-12 .el-input__inner,.popper-class-12 .el-input__inner,\\r\\n.popper-class-11 .el-input__inner,.popper-class-11 .el-input__inner{\\r\\n    background-color: transparent;\\r\\n    border: 1px solid rgba(255,255,255,0.3);\\r\\n    color: rgba(255,255,255,0.8);\\r\\n    height: 32px;\\r\\n    line-height: 32px;\\r\\n    padding-left: 20px;\\r\\n    padding-right: 35px;\\r\\n}\\r\\n\\r\\n.popper-class-11 .el-input__prefix,.popper-class-11 .el-input__suffix{\\r\\n    top: 9px;\\r\\n}\\r\\n\\r\\n.theme1 .el-radio__input.is-checked .el-radio__inner {\\r\\n    border-color: var(--themeColor11);\\r\\n    background: transparent;\\r\\n}\\r\\n.theme1 .el-radio__inner::after {\\r\\n    width: 8px;\\r\\n    height: 8px;\\r\\n    background-color: var(--themeColor11);\\r\\n}\\r\\n.theme1 .el-radio__inner:hover {\\r\\n    border-color: var(--themeColor11);\\r\\n}\\r\\n.theme1 .el-radio__inner {\\r\\n    border: 1px solid #cbc0c0;\\r\\n    border-radius: 100%;\\r\\n    width: 14px;\\r\\n    height: 14px;\\r\\n    background-color: transparent;\\r\\n    cursor: pointer;\\r\\n    box-sizing: border-box;\\r\\n}\\r\\n.theme1 .el-radio__input.is-checked+.el-radio__label {\\r\\n    color: rgba(255,255,255,0.7);\\r\\n}\\r\\n.theme1 .el-radio{\\r\\n    font-family: \\\"Verdana\\\";\\r\\n    font-weight: 400;\\r\\n    font-size: 14px;\\r\\n    text-align: left;\\r\\n    color: rgba(255,255,255,0.7);\\r\\n}\\r\\n.el-input__inner:focus.el-focus{\\r\\n    border-color: var(--themeColor11);\\r\\n}\\r\\n.popper-class-12 .danwei{\\r\\n    color: rgba(255,255,255,0.8);\\r\\n    height: 32px;\\r\\n    line-height: 32px;\\r\\n}\\r\\n\\r\\n.popper-class-12 .el-slider__runway{\\r\\n    height: 4px;\\r\\n    background-color: rgba(255,255,255,0.4);\\r\\n}\\r\\n\\r\\n.popper-class-12 .el-slider__bar{\\r\\n    height: 4px;\\r\\n    background-color: rgb(251, 231, 166);\\r\\n}\\r\\n\\r\\n.popper-class-12 .el-slider__button {\\r\\n    width: 12px;\\r\\n    height: 12px;\\r\\n    border: none;\\r\\n}\\r\\n\\r\\n.align-start{\\r\\n    align-items: flex-start;\\r\\n}\\r\\n\\r\\n.align-end{\\r\\n    align-items: flex-end;\\r\\n}\\r\\n\\r\\n\\r\\n.el-date-table td.end-date span, .el-date-table td.start-date span {\\r\\n    background-color: var(--themeColor11) !important;\\r\\n    color: #6E6F72;\\r\\n}\\r\\n\\r\\n.el-date-table td.in-range div, .el-date-table td.in-range div:hover, .el-date-table.is-week-mode .el-date-table__row.current div, .el-date-table.is-week-mode .el-date-table__row:hover div {\\r\\n    background-color: rgba(242, 246, 252, 0.2);\\r\\n}\\r\\n\\r\\n.el-date-table td.today span {\\r\\n    color: var(--themeColor11);\\r\\n}\\r\\n\\r\\n.el-date-table td:hover {\\r\\n    color: var(--themeColor11);\\r\\n}\\r\\n\\r\\n.el-date-table td.available:hover {\\r\\n    color:  var(--themeColor11);\\r\\n}\\r\\n\\r\\n.el-picker-panel__icon-btn{\\r\\n    color: var(--themeColor9);\\r\\n}\\r\\n\\r\\n.el-date-range-picker__content.is-left {\\r\\n    border-right: 1px solid var(--themeColor9_1);\\r\\n}\\r\\n\\r\\n.el-date-table th {\\r\\n    border-bottom: 1px solid var(--themeColor9_1);\\r\\n}\\r\\n.pp-planstatus{\\r\\n    margin-left: -15px;\\r\\n\\r\\n}\\r\\n.pp-planstatus .el-select-dropdown__item{\\r\\n   font-size: 13px;\\r\\n    padding: 0 15px;\\r\\n}\\r\\n\", \"\"]);\n// Exports\n/* harmony default export */ __webpack_exports__[\"default\"] = (___CSS_LOADER_EXPORT___);\n\n\n//# sourceURL=webpack://hello-world/./src/assets/common.css?./node_modules/_css-loader@6.8.1@css-loader/dist/cjs.js??clonedRuleSet-14.use%5B1%5D!./node_modules/_postcss-loader@6.2.1@postcss-loader/dist/cjs.js??clonedRuleSet-14.use%5B2%5D");/***/ }),/***/ "./node_modules/_css-loader@6.8.1@css-loader/dist/cjs.js??clonedRuleSet-14.use[1]!./node_modules/_postcss-loader@6.2.1@postcss-loader/dist/cjs.js??clonedRuleSet-14.use[2]!./src/assets/font/iconfont.css":/*!****************************************************************************************************************************************************************************************************************!*\  !*** ./node_modules/_css-loader@6.8.1@css-loader/dist/cjs.js??clonedRuleSet-14.use[1]!./node_modules/_postcss-loader@6.2.1@postcss-loader/dist/cjs.js??clonedRuleSet-14.use[2]!./src/assets/font/iconfont.css ***!  \****************************************************************************************************************************************************************************************************************//***/ (function(module, __webpack_exports__, __webpack_require__) {"use strict";eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_css_loader_6_8_1_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../node_modules/_css-loader@6.8.1@css-loader/dist/runtime/noSourceMaps.js */ \"./node_modules/_css-loader@6.8.1@css-loader/dist/runtime/noSourceMaps.js\");\n/* harmony import */ var _node_modules_css_loader_6_8_1_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_6_8_1_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _node_modules_css_loader_6_8_1_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../node_modules/_css-loader@6.8.1@css-loader/dist/runtime/api.js */ \"./node_modules/_css-loader@6.8.1@css-loader/dist/runtime/api.js\");\n/* harmony import */ var _node_modules_css_loader_6_8_1_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_6_8_1_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _node_modules_css_loader_6_8_1_css_loader_dist_runtime_getUrl_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../node_modules/_css-loader@6.8.1@css-loader/dist/runtime/getUrl.js */ \"./node_modules/_css-loader@6.8.1@css-loader/dist/runtime/getUrl.js\");\n/* harmony import */ var _node_modules_css_loader_6_8_1_css_loader_dist_runtime_getUrl_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_6_8_1_css_loader_dist_runtime_getUrl_js__WEBPACK_IMPORTED_MODULE_2__);\n// Imports\n\n\n\nvar ___CSS_LOADER_URL_IMPORT_0___ = new URL(/* asset import */ __webpack_require__(/*! iconfont.woff2?t=1678862353261 */ \"./src/assets/font/iconfont.woff2?t=1678862353261\"), __webpack_require__.b);\nvar ___CSS_LOADER_URL_IMPORT_1___ = new URL(/* asset import */ __webpack_require__(/*! iconfont.woff?t=1678862353261 */ \"./src/assets/font/iconfont.woff?t=1678862353261\"), __webpack_require__.b);\nvar ___CSS_LOADER_URL_IMPORT_2___ = new URL(/* asset import */ __webpack_require__(/*! iconfont.ttf?t=1678862353261 */ \"./src/assets/font/iconfont.ttf?t=1678862353261\"), __webpack_require__.b);\nvar ___CSS_LOADER_EXPORT___ = _node_modules_css_loader_6_8_1_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default()((_node_modules_css_loader_6_8_1_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default()));\nvar ___CSS_LOADER_URL_REPLACEMENT_0___ = _node_modules_css_loader_6_8_1_css_loader_dist_runtime_getUrl_js__WEBPACK_IMPORTED_MODULE_2___default()(___CSS_LOADER_URL_IMPORT_0___);\nvar ___CSS_LOADER_URL_REPLACEMENT_1___ = _node_modules_css_loader_6_8_1_css_loader_dist_runtime_getUrl_js__WEBPACK_IMPORTED_MODULE_2___default()(___CSS_LOADER_URL_IMPORT_1___);\nvar ___CSS_LOADER_URL_REPLACEMENT_2___ = _node_modules_css_loader_6_8_1_css_loader_dist_runtime_getUrl_js__WEBPACK_IMPORTED_MODULE_2___default()(___CSS_LOADER_URL_IMPORT_2___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"@font-face {\\r\\n  font-family: \\\"iconfont\\\"; /* Project id 2438458 */\\r\\n  src: url(\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \") format('woff2'),\\r\\n       url(\" + ___CSS_LOADER_URL_REPLACEMENT_1___ + \") format('woff'),\\r\\n       url(\" + ___CSS_LOADER_URL_REPLACEMENT_2___ + \") format('truetype');\\r\\n}\\r\\n\\r\\n.iconfont {\\r\\n  font-family: \\\"iconfont\\\" !important;\\r\\n  font-size: 16px;\\r\\n  font-style: normal;\\r\\n  -webkit-font-smoothing: antialiased;\\r\\n  -moz-osx-font-smoothing: grayscale;\\r\\n}\\r\\n\\r\\n.icon-wenhao1:before {\\r\\n  content: \\\"\\\\e6f5\\\";\\r\\n}\\r\\n\\r\\n.icon-shangchuan:before {\\r\\n  content: \\\"\\\\e6f4\\\";\\r\\n}\\r\\n\\r\\n.icon-xiazai:before {\\r\\n  content: \\\"\\\\e6f3\\\";\\r\\n}\\r\\n\\r\\n.icon-QQ:before {\\r\\n  content: \\\"\\\\e6f1\\\";\\r\\n}\\r\\n\\r\\n.icon-weixin1:before {\\r\\n  content: \\\"\\\\e6f2\\\";\\r\\n}\\r\\n\\r\\n.icon-zhuanhuafenxi:before {\\r\\n  content: \\\"\\\\e6ee\\\";\\r\\n}\\r\\n\\r\\n.icon-sucaifenxi:before {\\r\\n  content: \\\"\\\\e6ef\\\";\\r\\n}\\r\\n\\r\\n.icon-quanjufenxi:before {\\r\\n  content: \\\"\\\\e6f0\\\";\\r\\n}\\r\\n\\r\\n.icon-iconfontgerenzhongxin:before {\\r\\n  content: \\\"\\\\e6ed\\\";\\r\\n}\\r\\n\\r\\n.icon-shuaxin:before {\\r\\n  content: \\\"\\\\ec08\\\";\\r\\n}\\r\\n\\r\\n.icon-weibiaoti-2:before {\\r\\n  content: \\\"\\\\e6ec\\\";\\r\\n}\\r\\n\\r\\n.icon-fuzhi1:before {\\r\\n  content: \\\"\\\\e6ea\\\";\\r\\n}\\r\\n\\r\\n.icon-sousuo1:before {\\r\\n  content: \\\"\\\\e6eb\\\";\\r\\n}\\r\\n\\r\\n.icon-tianyanpingtai:before {\\r\\n  content: \\\"\\\\e6e7\\\";\\r\\n}\\r\\n\\r\\n.icon-ziyouzhanghao:before {\\r\\n  content: \\\"\\\\e6e8\\\";\\r\\n}\\r\\n\\r\\n.icon-bianji-:before {\\r\\n  content: \\\"\\\\e6e6\\\";\\r\\n}\\r\\n\\r\\n.icon-tongpingdaikan:before {\\r\\n  content: \\\"\\\\e6e5\\\";\\r\\n}\\r\\n\\r\\n.icon-yuyue:before {\\r\\n  content: \\\"\\\\e6e4\\\";\\r\\n}\\r\\n\\r\\n.icon-back:before {\\r\\n  content: \\\"\\\\e6e2\\\";\\r\\n}\\r\\n\\r\\n.icon-yidongbiaoge:before {\\r\\n  content: \\\"\\\\e6e3\\\";\\r\\n}\\r\\n\\r\\n.icon-zhankai1:before {\\r\\n  content: \\\"\\\\e6e1\\\";\\r\\n}\\r\\n\\r\\n.icon-ditu:before {\\r\\n  content: \\\"\\\\e6db\\\";\\r\\n}\\r\\n\\r\\n.icon-piliangcaozuo:before {\\r\\n  content: \\\"\\\\e6dc\\\";\\r\\n}\\r\\n\\r\\n.icon-piliangtianjia:before {\\r\\n  content: \\\"\\\\e6dd\\\";\\r\\n}\\r\\n\\r\\n.icon-piliangbianji:before {\\r\\n  content: \\\"\\\\e6de\\\";\\r\\n}\\r\\n\\r\\n.icon-shangchuanzhong:before {\\r\\n  content: \\\"\\\\e6df\\\";\\r\\n}\\r\\n\\r\\n.icon-shanchu:before {\\r\\n  content: \\\"\\\\e6e0\\\";\\r\\n}\\r\\n\\r\\n.icon-gou:before {\\r\\n  content: \\\"\\\\e6da\\\";\\r\\n}\\r\\n\\r\\n.icon-VR1:before {\\r\\n  content: \\\"\\\\e6d9\\\";\\r\\n}\\r\\n\\r\\n.icon-yinle:before {\\r\\n  content: \\\"\\\\e6d5\\\";\\r\\n}\\r\\n\\r\\n.icon-zhangpeng2:before {\\r\\n  content: \\\"\\\\e6d6\\\";\\r\\n}\\r\\n\\r\\n.icon-danjiangongyu:before {\\r\\n  content: \\\"\\\\e6d7\\\";\\r\\n}\\r\\n\\r\\n.icon-huodong:before {\\r\\n  content: \\\"\\\\e6d8\\\";\\r\\n}\\r\\n\\r\\n.icon-a-lujing31616:before {\\r\\n  content: \\\"\\\\e6d4\\\";\\r\\n}\\r\\n\\r\\n.icon-shipintianchong:before {\\r\\n  content: \\\"\\\\e6d2\\\";\\r\\n}\\r\\n\\r\\n.icon-vrbofangqi:before {\\r\\n  content: \\\"\\\\e87a\\\";\\r\\n}\\r\\n\\r\\n.icon-shouye1:before {\\r\\n  content: \\\"\\\\e6d3\\\";\\r\\n}\\r\\n\\r\\n.icon-hangzourenwu:before {\\r\\n  content: \\\"\\\\e738\\\";\\r\\n}\\r\\n\\r\\n.icon-jihuaxinxi:before {\\r\\n  content: \\\"\\\\e6c0\\\";\\r\\n}\\r\\n\\r\\n.icon-chuangyilinggan:before {\\r\\n  content: \\\"\\\\e6d0\\\";\\r\\n}\\r\\n\\r\\n.icon-daoruyusuan:before {\\r\\n  content: \\\"\\\\e6d1\\\";\\r\\n}\\r\\n\\r\\n.icon-shouji1:before {\\r\\n  content: \\\"\\\\e8b9\\\";\\r\\n}\\r\\n\\r\\n.icon-smiling:before {\\r\\n  content: \\\"\\\\e6b9\\\";\\r\\n}\\r\\n\\r\\n.icon-arrow2:before {\\r\\n  content: \\\"\\\\e6b3\\\";\\r\\n}\\r\\n\\r\\n.icon-cancel1:before {\\r\\n  content: \\\"\\\\e6b4\\\";\\r\\n}\\r\\n\\r\\n.icon-arrow1:before {\\r\\n  content: \\\"\\\\e6b5\\\";\\r\\n}\\r\\n\\r\\n.icon-Hook-1:before {\\r\\n  content: \\\"\\\\e6b6\\\";\\r\\n}\\r\\n\\r\\n.icon-Collection:before {\\r\\n  content: \\\"\\\\e6b7\\\";\\r\\n}\\r\\n\\r\\n.icon-Comment:before {\\r\\n  content: \\\"\\\\e6b8\\\";\\r\\n}\\r\\n\\r\\n.icon-image:before {\\r\\n  content: \\\"\\\\e6ba\\\";\\r\\n}\\r\\n\\r\\n.icon-play:before {\\r\\n  content: \\\"\\\\e6bb\\\";\\r\\n}\\r\\n\\r\\n.icon-close:before {\\r\\n  content: \\\"\\\\e6bc\\\";\\r\\n}\\r\\n\\r\\n.icon-more:before {\\r\\n  content: \\\"\\\\e6bd\\\";\\r\\n}\\r\\n\\r\\n.icon-Like:before {\\r\\n  content: \\\"\\\\e6be\\\";\\r\\n}\\r\\n\\r\\n.icon-icon_news:before {\\r\\n  content: \\\"\\\\e6bf\\\";\\r\\n}\\r\\n\\r\\n.icon-plus:before {\\r\\n  content: \\\"\\\\e6c1\\\";\\r\\n}\\r\\n\\r\\n.icon-pdf1:before {\\r\\n  content: \\\"\\\\e6c2\\\";\\r\\n}\\r\\n\\r\\n.icon-link:before {\\r\\n  content: \\\"\\\\e6c3\\\";\\r\\n}\\r\\n\\r\\n.icon-phone:before {\\r\\n  content: \\\"\\\\e6c4\\\";\\r\\n}\\r\\n\\r\\n.icon-a-Quickjump:before {\\r\\n  content: \\\"\\\\e6c5\\\";\\r\\n}\\r\\n\\r\\n.icon-Telephone:before {\\r\\n  content: \\\"\\\\e6c6\\\";\\r\\n}\\r\\n\\r\\n.icon-rise:before {\\r\\n  content: \\\"\\\\e6c7\\\";\\r\\n}\\r\\n\\r\\n.icon-a-sendout:before {\\r\\n  content: \\\"\\\\e6c8\\\";\\r\\n}\\r\\n\\r\\n.icon-a-setup:before {\\r\\n  content: \\\"\\\\e6c9\\\";\\r\\n}\\r\\n\\r\\n.icon-suspend:before {\\r\\n  content: \\\"\\\\e6ca\\\";\\r\\n}\\r\\n\\r\\n.icon-Shared:before {\\r\\n  content: \\\"\\\\e6cb\\\";\\r\\n}\\r\\n\\r\\n.icon-release-1:before {\\r\\n  content: \\\"\\\\e6cc\\\";\\r\\n}\\r\\n\\r\\n.icon-video:before {\\r\\n  content: \\\"\\\\e6ce\\\";\\r\\n}\\r\\n\\r\\n.icon-release:before {\\r\\n  content: \\\"\\\\e6cf\\\";\\r\\n}\\r\\n\\r\\n.icon-gengduotianchong:before {\\r\\n  content: \\\"\\\\e6b0\\\";\\r\\n}\\r\\n\\r\\n.icon-haoyou:before {\\r\\n  content: \\\"\\\\e6e9\\\";\\r\\n}\\r\\n\\r\\n.icon-cancel:before {\\r\\n  content: \\\"\\\\e6b1\\\";\\r\\n}\\r\\n\\r\\n.icon-disable:before {\\r\\n  content: \\\"\\\\e6b2\\\";\\r\\n}\\r\\n\\r\\n.icon-icon_yuyinbofang:before {\\r\\n  content: \\\"\\\\e6af\\\";\\r\\n}\\r\\n\\r\\n.icon-pdf:before {\\r\\n  content: \\\"\\\\e6aa\\\";\\r\\n}\\r\\n\\r\\n.icon-Icon:before {\\r\\n  content: \\\"\\\\e6ae\\\";\\r\\n}\\r\\n\\r\\n.icon-shipin2:before {\\r\\n  content: \\\"\\\\e6a9\\\";\\r\\n}\\r\\n\\r\\n.icon-tupian:before {\\r\\n  content: \\\"\\\\e6ab\\\";\\r\\n}\\r\\n\\r\\n.icon-bangding:before {\\r\\n  content: \\\"\\\\e6ac\\\";\\r\\n}\\r\\n\\r\\n.icon-tongyi:before {\\r\\n  content: \\\"\\\\e762\\\";\\r\\n}\\r\\n\\r\\n.icon-jujue:before {\\r\\n  content: \\\"\\\\e6ad\\\";\\r\\n}\\r\\n\\r\\n.icon-qingchu:before {\\r\\n  content: \\\"\\\\e6a8\\\";\\r\\n}\\r\\n\\r\\n.icon-diqiu-:before {\\r\\n  content: \\\"\\\\e6a6\\\";\\r\\n}\\r\\n\\r\\n.icon-loupanchaxun:before {\\r\\n  content: \\\"\\\\e6a7\\\";\\r\\n}\\r\\n\\r\\n.icon-wenhao:before {\\r\\n  content: \\\"\\\\e69e\\\";\\r\\n}\\r\\n\\r\\n.icon-xingzhuang-tuoyuanxing:before {\\r\\n  content: \\\"\\\\eb99\\\";\\r\\n}\\r\\n\\r\\n.icon-ziyuan:before {\\r\\n  content: \\\"\\\\e6a5\\\";\\r\\n}\\r\\n\\r\\n.icon-tianjia1:before {\\r\\n  content: \\\"\\\\e6a4\\\";\\r\\n}\\r\\n\\r\\n.icon-bofang1:before {\\r\\n  content: \\\"\\\\e6a2\\\";\\r\\n}\\r\\n\\r\\n.icon-bofang:before {\\r\\n  content: \\\"\\\\e6a1\\\";\\r\\n}\\r\\n\\r\\n.icon-tishi:before {\\r\\n  content: \\\"\\\\e6a0\\\";\\r\\n}\\r\\n\\r\\n.icon-iconfontzhizuobiaozhun023139:before {\\r\\n  content: \\\"\\\\e69f\\\";\\r\\n}\\r\\n\\r\\n.icon-gantanhao1:before {\\r\\n  content: \\\"\\\\e724\\\";\\r\\n}\\r\\n\\r\\n.icon-bianji1:before {\\r\\n  content: \\\"\\\\e8ac\\\";\\r\\n}\\r\\n\\r\\n.icon-guanbi2:before {\\r\\n  content: \\\"\\\\e699\\\";\\r\\n}\\r\\n\\r\\n.icon-caogao:before {\\r\\n  content: \\\"\\\\e69a\\\";\\r\\n}\\r\\n\\r\\n.icon-AI:before {\\r\\n  content: \\\"\\\\e69b\\\";\\r\\n}\\r\\n\\r\\n.icon-tianjia:before {\\r\\n  content: \\\"\\\\e69c\\\";\\r\\n}\\r\\n\\r\\n.icon-chuangyi:before {\\r\\n  content: \\\"\\\\e69d\\\";\\r\\n}\\r\\n\\r\\n.icon-daofang:before {\\r\\n  content: \\\"\\\\e68f\\\";\\r\\n}\\r\\n\\r\\n.icon-down:before {\\r\\n  content: \\\"\\\\e692\\\";\\r\\n}\\r\\n\\r\\n.icon-qeuren:before {\\r\\n  content: \\\"\\\\e694\\\";\\r\\n}\\r\\n\\r\\n.icon-renminbi:before {\\r\\n  content: \\\"\\\\e695\\\";\\r\\n}\\r\\n\\r\\n.icon-up:before {\\r\\n  content: \\\"\\\\e698\\\";\\r\\n}\\r\\n\\r\\n.icon-pipei:before {\\r\\n  content: \\\"\\\\e690\\\";\\r\\n}\\r\\n\\r\\n.icon-lvju:before {\\r\\n  content: \\\"\\\\e691\\\";\\r\\n}\\r\\n\\r\\n.icon-quanbu:before {\\r\\n  content: \\\"\\\\e693\\\";\\r\\n}\\r\\n\\r\\n.icon-qianzai:before {\\r\\n  content: \\\"\\\\e696\\\";\\r\\n}\\r\\n\\r\\n.icon-shauxin:before {\\r\\n  content: \\\"\\\\e697\\\";\\r\\n}\\r\\n\\r\\n.icon-share:before {\\r\\n  content: \\\"\\\\e68b\\\";\\r\\n}\\r\\n\\r\\n.icon-wancheng:before {\\r\\n  content: \\\"\\\\e68c\\\";\\r\\n}\\r\\n\\r\\n.icon-shuoming:before {\\r\\n  content: \\\"\\\\e68d\\\";\\r\\n}\\r\\n\\r\\n.icon-dingyue:before {\\r\\n  content: \\\"\\\\e68e\\\";\\r\\n}\\r\\n\\r\\n.icon-xiala:before {\\r\\n  content: \\\"\\\\e687\\\";\\r\\n}\\r\\n\\r\\n.icon-gengxin:before {\\r\\n  content: \\\"\\\\e689\\\";\\r\\n}\\r\\n\\r\\n.icon-qiehuan:before {\\r\\n  content: \\\"\\\\e68a\\\";\\r\\n}\\r\\n\\r\\n.icon-fanhui:before {\\r\\n  content: \\\"\\\\e688\\\";\\r\\n}\\r\\n\\r\\n.icon-shouji:before {\\r\\n  content: \\\"\\\\e686\\\";\\r\\n}\\r\\n\\r\\n.icon-shouqi:before {\\r\\n  content: \\\"\\\\e683\\\";\\r\\n}\\r\\n\\r\\n.icon-zhankai:before {\\r\\n  content: \\\"\\\\e684\\\";\\r\\n}\\r\\n\\r\\n.icon-shaixuan:before {\\r\\n  content: \\\"\\\\e682\\\";\\r\\n}\\r\\n\\r\\n.icon-paixu:before {\\r\\n  content: \\\"\\\\e66f\\\";\\r\\n}\\r\\n\\r\\n.icon-paixu1:before {\\r\\n  content: \\\"\\\\e681\\\";\\r\\n}\\r\\n\\r\\n.icon-yimaojian:before {\\r\\n  content: \\\"\\\\e67f\\\";\\r\\n}\\r\\n\\r\\n.icon-piaochuang:before {\\r\\n  content: \\\"\\\\e680\\\";\\r\\n}\\r\\n\\r\\n.icon-zidingyikongjian:before {\\r\\n  content: \\\"\\\\e67d\\\";\\r\\n}\\r\\n\\r\\n.icon-jiazhengshouna:before {\\r\\n  content: \\\"\\\\e670\\\";\\r\\n}\\r\\n\\r\\n.icon-lianjiekongjian:before {\\r\\n  content: \\\"\\\\e67e\\\";\\r\\n}\\r\\n\\r\\n.icon-shouye:before {\\r\\n  content: \\\"\\\\e679\\\";\\r\\n}\\r\\n\\r\\n.icon-feiji1:before {\\r\\n  content: \\\"\\\\e67a\\\";\\r\\n}\\r\\n\\r\\n.icon-chongwuyiliao:before {\\r\\n  content: \\\"\\\\e67b\\\";\\r\\n}\\r\\n\\r\\n.icon-jiaoyu1:before {\\r\\n  content: \\\"\\\\e67c\\\";\\r\\n}\\r\\n\\r\\n.icon-gouwuche:before {\\r\\n  content: \\\"\\\\e678\\\";\\r\\n}\\r\\n\\r\\n.icon-right-s:before {\\r\\n  content: \\\"\\\\e676\\\";\\r\\n}\\r\\n\\r\\n.icon-left-s:before {\\r\\n  content: \\\"\\\\e677\\\";\\r\\n}\\r\\n\\r\\n.icon-gonglu:before {\\r\\n  content: \\\"\\\\e672\\\";\\r\\n}\\r\\n\\r\\n.icon-feiji:before {\\r\\n  content: \\\"\\\\e673\\\";\\r\\n}\\r\\n\\r\\n.icon-tielu:before {\\r\\n  content: \\\"\\\\e674\\\";\\r\\n}\\r\\n\\r\\n.icon-ditie:before {\\r\\n  content: \\\"\\\\e675\\\";\\r\\n}\\r\\n\\r\\n.icon-shufang:before {\\r\\n  content: \\\"\\\\e668\\\";\\r\\n}\\r\\n\\r\\n.icon-canting:before {\\r\\n  content: \\\"\\\\e669\\\";\\r\\n}\\r\\n\\r\\n.icon-keting:before {\\r\\n  content: \\\"\\\\e66a\\\";\\r\\n}\\r\\n\\r\\n.icon-woshi:before {\\r\\n  content: \\\"\\\\e66b\\\";\\r\\n}\\r\\n\\r\\n.icon-weishengjian:before {\\r\\n  content: \\\"\\\\e66c\\\";\\r\\n}\\r\\n\\r\\n.icon-xuanguan:before {\\r\\n  content: \\\"\\\\e66d\\\";\\r\\n}\\r\\n\\r\\n.icon-chufang:before {\\r\\n  content: \\\"\\\\e66e\\\";\\r\\n}\\r\\n\\r\\n.icon-yangtai:before {\\r\\n  content: \\\"\\\\e671\\\";\\r\\n}\\r\\n\\r\\n.icon-juzhong:before {\\r\\n  content: \\\"\\\\e662\\\";\\r\\n}\\r\\n\\r\\n.icon-kaoyou:before {\\r\\n  content: \\\"\\\\e663\\\";\\r\\n}\\r\\n\\r\\n.icon-align-center:before {\\r\\n  content: \\\"\\\\e664\\\";\\r\\n}\\r\\n\\r\\n.icon-kaozuo:before {\\r\\n  content: \\\"\\\\e665\\\";\\r\\n}\\r\\n\\r\\n.icon-align-left:before {\\r\\n  content: \\\"\\\\e666\\\";\\r\\n}\\r\\n\\r\\n.icon-align-right:before {\\r\\n  content: \\\"\\\\e667\\\";\\r\\n}\\r\\n\\r\\n.icon-yuandian:before {\\r\\n  content: \\\"\\\\e661\\\";\\r\\n}\\r\\n\\r\\n.icon-dianhua:before {\\r\\n  content: \\\"\\\\e65f\\\";\\r\\n}\\r\\n\\r\\n.icon-kefu:before {\\r\\n  content: \\\"\\\\e660\\\";\\r\\n}\\r\\n\\r\\n.icon-a-zu22326:before {\\r\\n  content: \\\"\\\\e65e\\\";\\r\\n}\\r\\n\\r\\n.icon-jingyin:before {\\r\\n  content: \\\"\\\\e65c\\\";\\r\\n}\\r\\n\\r\\n.icon-yinliang:before {\\r\\n  content: \\\"\\\\e65d\\\";\\r\\n}\\r\\n\\r\\n.icon-weibiaoti--:before {\\r\\n  content: \\\"\\\\e65b\\\";\\r\\n}\\r\\n\\r\\n.icon-jiaotong:before {\\r\\n  content: \\\"\\\\e656\\\";\\r\\n}\\r\\n\\r\\n.icon-gouwu:before {\\r\\n  content: \\\"\\\\e657\\\";\\r\\n}\\r\\n\\r\\n.icon-jiaoyu:before {\\r\\n  content: \\\"\\\\e658\\\";\\r\\n}\\r\\n\\r\\n.icon-shenghuobianli:before {\\r\\n  content: \\\"\\\\e659\\\";\\r\\n}\\r\\n\\r\\n.icon-yiliao:before {\\r\\n  content: \\\"\\\\e65a\\\";\\r\\n}\\r\\n\\r\\n.icon-live:before {\\r\\n  content: \\\"\\\\e655\\\";\\r\\n}\\r\\n\\r\\n.icon-xiaoxi:before {\\r\\n  content: \\\"\\\\e653\\\";\\r\\n}\\r\\n\\r\\n.icon-wode:before {\\r\\n  content: \\\"\\\\e654\\\";\\r\\n}\\r\\n\\r\\n.icon-a-1949plus:before {\\r\\n  content: \\\"\\\\e652\\\";\\r\\n}\\r\\n\\r\\n.icon-ic-fuzhi:before {\\r\\n  content: \\\"\\\\e64e\\\";\\r\\n}\\r\\n\\r\\n.icon-ic-huanyihuan:before {\\r\\n  content: \\\"\\\\e64f\\\";\\r\\n}\\r\\n\\r\\n.icon-ic-xiazai:before {\\r\\n  content: \\\"\\\\e650\\\";\\r\\n}\\r\\n\\r\\n.icon-ic-pengyouquan:before {\\r\\n  content: \\\"\\\\e651\\\";\\r\\n}\\r\\n\\r\\n.icon-icon_back-shang:before {\\r\\n  content: \\\"\\\\e64c\\\";\\r\\n}\\r\\n\\r\\n.icon-icon_back-xia:before {\\r\\n  content: \\\"\\\\e64d\\\";\\r\\n}\\r\\n\\r\\n.icon-fuzhi:before {\\r\\n  content: \\\"\\\\e64b\\\";\\r\\n}\\r\\n\\r\\n.icon-fuxuankuang-weixuanzhongzhuangtai:before {\\r\\n  content: \\\"\\\\e64a\\\";\\r\\n}\\r\\n\\r\\n.icon-fuxuankuang-xuanzhongzhuangtai:before {\\r\\n  content: \\\"\\\\e649\\\";\\r\\n}\\r\\n\\r\\n.icon-zhengzaizhibo:before {\\r\\n  content: \\\"\\\\e648\\\";\\r\\n}\\r\\n\\r\\n.icon-yuyueliudian:before {\\r\\n  content: \\\"\\\\e647\\\";\\r\\n}\\r\\n\\r\\n.icon-weixin:before {\\r\\n  content: \\\"\\\\e646\\\";\\r\\n}\\r\\n\\r\\n.icon-goumai:before {\\r\\n  content: \\\"\\\\e645\\\";\\r\\n}\\r\\n\\r\\n.icon-fenxiang1:before {\\r\\n  content: \\\"\\\\e644\\\";\\r\\n}\\r\\n\\r\\n.icon-jiarugouwuche:before {\\r\\n  content: \\\"\\\\e643\\\";\\r\\n}\\r\\n\\r\\n.icon-shoucang:before {\\r\\n  content: \\\"\\\\e642\\\";\\r\\n}\\r\\n\\r\\n.icon-yishoucang:before {\\r\\n  content: \\\"\\\\e641\\\";\\r\\n}\\r\\n\\r\\n.icon-liulanliang:before {\\r\\n  content: \\\"\\\\e640\\\";\\r\\n}\\r\\n\\r\\n.icon-jiarugouwucheliang:before {\\r\\n  content: \\\"\\\\e63f\\\";\\r\\n}\\r\\n\\r\\n.icon-kaipan1:before {\\r\\n  content: \\\"\\\\e63e\\\";\\r\\n}\\r\\n\\r\\n.icon-huidaodingbu:before {\\r\\n  content: \\\"\\\\e63d\\\";\\r\\n}\\r\\n\\r\\n.icon-quanming:before {\\r\\n  content: \\\"\\\\e63c\\\";\\r\\n}\\r\\n\\r\\n.icon-search:before {\\r\\n  content: \\\"\\\\e639\\\";\\r\\n}\\r\\n\\r\\n.icon-pin:before {\\r\\n  content: \\\"\\\\e63a\\\";\\r\\n}\\r\\n\\r\\n.icon-icon_delete:before {\\r\\n  content: \\\"\\\\e63b\\\";\\r\\n}\\r\\n\\r\\n.icon-guanbi1:before {\\r\\n  content: \\\"\\\\e638\\\";\\r\\n}\\r\\n\\r\\n.icon-timeSelector:before {\\r\\n  content: \\\"\\\\e637\\\";\\r\\n}\\r\\n\\r\\n.icon-sousuo:before {\\r\\n  content: \\\"\\\\e636\\\";\\r\\n}\\r\\n\\r\\n.icon-shuliang:before {\\r\\n  content: \\\"\\\\e635\\\";\\r\\n}\\r\\n\\r\\n.icon-xiangmu:before {\\r\\n  content: \\\"\\\\e629\\\";\\r\\n}\\r\\n\\r\\n.icon-VR2:before {\\r\\n  content: \\\"\\\\e634\\\";\\r\\n}\\r\\n\\r\\n.icon-guanbi:before {\\r\\n  content: \\\"\\\\e633\\\";\\r\\n}\\r\\n\\r\\n.icon-liebiao:before {\\r\\n  content: \\\"\\\\e631\\\";\\r\\n}\\r\\n\\r\\n.icon-bianji:before {\\r\\n  content: \\\"\\\\e632\\\";\\r\\n}\\r\\n\\r\\n.icon-shipin:before {\\r\\n  content: \\\"\\\\e630\\\";\\r\\n}\\r\\n\\r\\n.icon-jieguodaiqueren:before {\\r\\n  content: \\\"\\\\e621\\\";\\r\\n}\\r\\n\\r\\n.icon-baobeichenggong:before {\\r\\n  content: \\\"\\\\e623\\\";\\r\\n}\\r\\n\\r\\n.icon-baobeishibai:before {\\r\\n  content: \\\"\\\\e624\\\";\\r\\n}\\r\\n\\r\\n.icon-chenggong:before {\\r\\n  content: \\\"\\\\e61f\\\";\\r\\n}\\r\\n\\r\\n.icon-baobei:before {\\r\\n  content: \\\"\\\\e622\\\";\\r\\n}\\r\\n\\r\\n.icon-shibai:before {\\r\\n  content: \\\"\\\\e61c\\\";\\r\\n}\\r\\n\\r\\n.icon-daiqueren:before {\\r\\n  content: \\\"\\\\e61b\\\";\\r\\n}\\r\\n\\r\\n.icon-yijiantixingshenhe:before {\\r\\n  content: \\\"\\\\e61a\\\";\\r\\n}\\r\\n\\r\\n.icon-shangsheng1:before {\\r\\n  content: \\\"\\\\e619\\\";\\r\\n}\\r\\n\\r\\n.icon-weizhibai-1:before {\\r\\n  content: \\\"\\\\e61d\\\";\\r\\n}\\r\\n\\r\\n.icon-fenxiangdiseicon1:before {\\r\\n  content: \\\"\\\\e61e\\\";\\r\\n}\\r\\n\\r\\n.icon-fenxiang:before {\\r\\n  content: \\\"\\\\e625\\\";\\r\\n}\\r\\n\\r\\n.icon-weizhibai1:before {\\r\\n  content: \\\"\\\\e627\\\";\\r\\n}\\r\\n\\r\\n.icon-remen2:before {\\r\\n  content: \\\"\\\\e628\\\";\\r\\n}\\r\\n\\r\\n.icon-shipin1:before {\\r\\n  content: \\\"\\\\e62a\\\";\\r\\n}\\r\\n\\r\\n.icon-shanghua1:before {\\r\\n  content: \\\"\\\\e62b\\\";\\r\\n}\\r\\n\\r\\n.icon-gengduo1:before {\\r\\n  content: \\\"\\\\e62c\\\";\\r\\n}\\r\\n\\r\\n.icon-xiala1:before {\\r\\n  content: \\\"\\\\e62d\\\";\\r\\n}\\r\\n\\r\\n.icon-weizhishense:before {\\r\\n  content: \\\"\\\\e62e\\\";\\r\\n}\\r\\n\\r\\n.icon-weizhiqianse1:before {\\r\\n  content: \\\"\\\\e62f\\\";\\r\\n}\\r\\n\\r\\n.icon-remen1:before {\\r\\n  content: \\\"\\\\e620\\\";\\r\\n}\\r\\n\\r\\n.icon-shangsheng:before {\\r\\n  content: \\\"\\\\e626\\\";\\r\\n}\\r\\n\\r\\n.icon-IM:before {\\r\\n  content: \\\"\\\\e618\\\";\\r\\n}\\r\\n\\r\\n.icon-gantanhao:before {\\r\\n  content: \\\"\\\\e685\\\";\\r\\n}\\r\\n\\r\\n.icon-gougou:before {\\r\\n  content: \\\"\\\\e6a3\\\";\\r\\n}\\r\\n\\r\\n.icon-yijianbaobei:before {\\r\\n  content: \\\"\\\\e617\\\";\\r\\n}\\r\\n\\r\\n.icon-zhuanfa:before {\\r\\n  content: \\\"\\\\e615\\\";\\r\\n}\\r\\n\\r\\n.icon-canyu:before {\\r\\n  content: \\\"\\\\e616\\\";\\r\\n}\\r\\n\\r\\n.icon-duoxuanxuanzhong:before {\\r\\n  content: \\\"\\\\e613\\\";\\r\\n}\\r\\n\\r\\n.icon-duoxuanchanggui:before {\\r\\n  content: \\\"\\\\e614\\\";\\r\\n}\\r\\n\\r\\n.icon-weixuanzhong:before {\\r\\n  content: \\\"\\\\e611\\\";\\r\\n}\\r\\n\\r\\n.icon-xuanzhong:before {\\r\\n  content: \\\"\\\\e612\\\";\\r\\n}\\r\\n\\r\\n.icon-tabguanzhu:before {\\r\\n  content: \\\"\\\\e60a\\\";\\r\\n}\\r\\n\\r\\n.icon-fenxiangxiangmu:before {\\r\\n  content: \\\"\\\\e609\\\";\\r\\n}\\r\\n\\r\\n.icon-fenxiangkapian:before {\\r\\n  content: \\\"\\\\e60b\\\";\\r\\n}\\r\\n\\r\\n.icon-tabfenxiang:before {\\r\\n  content: \\\"\\\\e60c\\\";\\r\\n}\\r\\n\\r\\n.icon-yidingyue:before {\\r\\n  content: \\\"\\\\e60d\\\";\\r\\n}\\r\\n\\r\\n.icon-diyfenxiang:before {\\r\\n  content: \\\"\\\\e60e\\\";\\r\\n}\\r\\n\\r\\n.icon-xiangmuyiguanzhu:before {\\r\\n  content: \\\"\\\\e60f\\\";\\r\\n}\\r\\n\\r\\n.icon-xiangmuguanzhu:before {\\r\\n  content: \\\"\\\\e610\\\";\\r\\n}\\r\\n\\r\\n.icon-remen:before {\\r\\n  content: \\\"\\\\e608\\\";\\r\\n}\\r\\n\\r\\n.icon-dingwei:before {\\r\\n  content: \\\"\\\\e607\\\";\\r\\n}\\r\\n\\r\\n.icon-jisuanqi:before {\\r\\n  content: \\\"\\\\e606\\\";\\r\\n}\\r\\n\\r\\n.icon-yuyue1:before {\\r\\n  content: \\\"\\\\e6cd\\\";\\r\\n}\\r\\n\\r\\n.icon-VR:before {\\r\\n  content: \\\"\\\\e603\\\";\\r\\n}\\r\\n\\r\\n.icon-pic:before {\\r\\n  content: \\\"\\\\e604\\\";\\r\\n}\\r\\n\\r\\n.icon-lujing3863:before {\\r\\n  content: \\\"\\\\e605\\\";\\r\\n}\\r\\n\\r\\n.icon-bianjia:before {\\r\\n  content: \\\"\\\\e601\\\";\\r\\n}\\r\\n\\r\\n.icon-kaipan:before {\\r\\n  content: \\\"\\\\e602\\\";\\r\\n}\\r\\n\\r\\n.icon-lujing7708:before {\\r\\n  content: \\\"\\\\e600\\\";\\r\\n}\\r\\n\\r\\n.icon-xingxing-copy:before {\\r\\n  content: \\\"\\\\e85a\\\";\\r\\n}\\r\\n\\r\\n\", \"\"]);\n// Exports\n/* harmony default export */ __webpack_exports__[\"default\"] = (___CSS_LOADER_EXPORT___);\n\n\n//# sourceURL=webpack://hello-world/./src/assets/font/iconfont.css?./node_modules/_css-loader@6.8.1@css-loader/dist/cjs.js??clonedRuleSet-14.use%5B1%5D!./node_modules/_postcss-loader@6.2.1@postcss-loader/dist/cjs.js??clonedRuleSet-14.use%5B2%5D");/***/ }),/***/ "./node_modules/_css-loader@6.8.1@css-loader/dist/cjs.js??clonedRuleSet-22.use[1]!./node_modules/_vue-loader@15.10.1@vue-loader/lib/loaders/stylePostLoader.js!./node_modules/_postcss-loader@6.2.1@postcss-loader/dist/cjs.js??clonedRuleSet-22.use[2]!./node_modules/_sass-loader@7.3.1@sass-loader/dist/cjs.js??clonedRuleSet-22.use[3]!./node_modules/_vue-loader@15.10.1@vue-loader/lib/index.js??vue-loader-options!./src/App.vue?vue&type=style&index=1&id=7ba5bd90&lang=scss&scoped=true&":/*!********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\  !*** ./node_modules/_css-loader@6.8.1@css-loader/dist/cjs.js??clonedRuleSet-22.use[1]!./node_modules/_vue-loader@15.10.1@vue-loader/lib/loaders/stylePostLoader.js!./node_modules/_postcss-loader@6.2.1@postcss-loader/dist/cjs.js??clonedRuleSet-22.use[2]!./node_modules/_sass-loader@7.3.1@sass-loader/dist/cjs.js??clonedRuleSet-22.use[3]!./node_modules/_vue-loader@15.10.1@vue-loader/lib/index.js??vue-loader-options!./src/App.vue?vue&type=style&index=1&id=7ba5bd90&lang=scss&scoped=true& ***!  \********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************//***/ (function(module, __webpack_exports__, __webpack_require__) {"use strict";eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_css_loader_6_8_1_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../node_modules/_css-loader@6.8.1@css-loader/dist/runtime/noSourceMaps.js */ \"./node_modules/_css-loader@6.8.1@css-loader/dist/runtime/noSourceMaps.js\");\n/* harmony import */ var _node_modules_css_loader_6_8_1_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_6_8_1_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _node_modules_css_loader_6_8_1_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../node_modules/_css-loader@6.8.1@css-loader/dist/runtime/api.js */ \"./node_modules/_css-loader@6.8.1@css-loader/dist/runtime/api.js\");\n/* harmony import */ var _node_modules_css_loader_6_8_1_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_6_8_1_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__);\n// Imports\n\n\nvar ___CSS_LOADER_EXPORT___ = _node_modules_css_loader_6_8_1_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default()((_node_modules_css_loader_6_8_1_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default()));\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"@charset \\\"UTF-8\\\";\\n.loadingShadow[data-v-7ba5bd90] {\\n  position: fixed;\\n  z-index: 999999999999;\\n  left: 0;\\n  top: 0;\\n  width: 100vw;\\n  height: 100vh;\\n}\\n.loadData[data-v-7ba5bd90] {\\n  min-width: 110px;\\n  height: 110px;\\n  position: absolute;\\n  left: 50%;\\n  top: 50%;\\n  transform: translate(-50%, -50%);\\n  background: rgba(0, 0, 0, 0.6);\\n  border-radius: 10px;\\n  z-index: 1000;\\n  display: flex;\\n  flex-direction: column;\\n  align-items: center;\\n  justify-content: center;\\n}\\n.loadData img[data-v-7ba5bd90] {\\n    width: 90px;\\n    margin-top: 10px;\\n}\\n.loadData .loadingMsg[data-v-7ba5bd90] {\\n    color: rgba(255, 255, 255, 0.83);\\n    margin: 10px;\\n    margin-top: 0px;\\n}\\n.account-view[data-v-7ba5bd90] {\\n  width: 500rem;\\n  padding: 30rem 40rem;\\n  box-sizing: border-box;\\n  background-color: rgba(255, 255, 255, 0.9);\\n  border-radius: 20rem;\\n}\\n.account-view .title-icon[data-v-7ba5bd90] {\\n    width: 18rem;\\n    margin-right: 10rem;\\n}\\n.account-view .close .close-img[data-v-7ba5bd90] {\\n    font-size: 16rem;\\n    font-weight: bold;\\n    color: #000;\\n    cursor: pointer;\\n}\\n.account-view .content[data-v-7ba5bd90] {\\n    width: 100%;\\n    color: #0b0b0b;\\n    font-size: 14rem;\\n}\\n.account-view .content .content-main-view[data-v-7ba5bd90] {\\n      height: 250rem;\\n      border-radius: 6rem;\\n      background: #fff;\\n      box-sizing: border-box;\\n      padding: 18rem;\\n      overflow: auto;\\n}\\n.account-view .content .content-main-view .selcect-view[data-v-7ba5bd90] {\\n        position: relative;\\n        width: 16rem;\\n        height: 16rem;\\n        border-radius: 100%;\\n        background: transparent;\\n        border: 1rem solid #ef863f;\\n        box-sizing: border-box;\\n}\\n.account-view .content .content-main-view .selcect-view[data-v-7ba5bd90]::after {\\n        content: '';\\n        position: absolute;\\n        top: 50%;\\n        left: 50%;\\n        transform: translate(-50%, -50%);\\n        width: 10rem;\\n        height: 10rem;\\n        border-radius: 100%;\\n        background: #ef863f;\\n        box-sizing: border-box;\\n}\\n.account-view .content .content-main-view .unselcect-view[data-v-7ba5bd90] {\\n        width: 16rem;\\n        height: 16rem;\\n        border-radius: 8rem;\\n        background: rgba(249, 249, 249, 0.2);\\n        border: 1rem solid rgba(0, 0, 0, 0.2);\\n}\\n.account-view .content .content-main-view .gougou-icon[data-v-7ba5bd90] {\\n        color: #EF863F;\\n}\\n.account-view .auth-btn-view .auth-btn[data-v-7ba5bd90] {\\n    width: 120rem;\\n    height: 40rem;\\n    border-radius: 10rem;\\n    cursor: pointer;\\n}\\n.account-view .auth-btn-view .style1[data-v-7ba5bd90] {\\n    font-family: \\\"Verdana Bold\\\";\\n    font-weight: 700;\\n    font-size: 14rem;\\n    color: #151515;\\n    background: #d5d5d5;\\n}\\n.account-view .auth-btn-view .style2[data-v-7ba5bd90] {\\n    font-family: \\\"Verdana Bold\\\";\\n    font-weight: 700;\\n    font-size: 14rem;\\n    color: #fff;\\n    background: #ef863f;\\n    box-shadow: 0 12px 24px rgba(239, 134, 63, 0.2);\\n}\\n.overflow[data-v-7ba5bd90] {\\n  overflow: hidden;\\n  text-overflow: ellipsis;\\n  white-space: nowrap;\\n}\\n.ellipsis[data-v-7ba5bd90] {\\n  text-overflow: ellipsis;\\n}\\nbody[data-v-7ba5bd90], html[data-v-7ba5bd90] {\\n  height: 100%;\\n  width: 100%;\\n  margin: 0 auto;\\n  padding: 0;\\n  position: relative;\\n  background-color: #f4f4f4;\\n}\\n#app[data-v-7ba5bd90] {\\n  width: 100%;\\n  margin: 0 auto;\\n  padding: 0;\\n  height: 100%;\\n  left: 0;\\n  top: 0;\\n  -webkit-overflow-scrolling: touch;\\n  position: absolute;\\n  font-family: Verdana, Verdana-Bold, \\\"Hiragino Sans GB\\\", \\\"Microsoft Yahei UI\\\",\\r \\\"Microsoft Yahei\\\", 微软雅黑, \\\"Segoe UI\\\", Tahoma, 宋体宋体, SimSun,\\r sans-serif;\\n}\\nul[data-v-7ba5bd90], li[data-v-7ba5bd90], ol[data-v-7ba5bd90], dl[data-v-7ba5bd90], dd[data-v-7ba5bd90], a[data-v-7ba5bd90] {\\n  list-style: none;\\n  padding: 0;\\n  margin: 0;\\n}\\n[data-v-7ba5bd90]:-moz-placeholder {\\n  /* Mozilla Firefox 4 to 18 */\\n  color: #B1C1C8;\\n}\\n[data-v-7ba5bd90]::-moz-placeholder {\\n  /* Mozilla Firefox 19+ */\\n  color: #B1C1C8;\\n}\\ninput[data-v-7ba5bd90]:-ms-input-placeholder {\\n  color: #B1C1C8;\\n}\\ninput[data-v-7ba5bd90]::-webkit-input-placeholder {\\n  color: #B1C1C8;\\n}\\n.show-flex5[data-v-7ba5bd90] {\\n  display: flex;\\n}\\n.align-center[data-v-7ba5bd90] {\\n  align-items: center;\\n}\\n.column[data-v-7ba5bd90] {\\n  flex-direction: column;\\n}\\n.content-center[data-v-7ba5bd90] {\\n  justify-content: center;\\n}\\n.content-between[data-v-7ba5bd90] {\\n  justify-content: space-between;\\n}\\n.content-around[data-v-7ba5bd90] {\\n  justify-content: space-around;\\n}\\n.cursor-pointer[data-v-7ba5bd90] {\\n  cursor: pointer;\\n}\\n.flex-end[data-v-7ba5bd90] {\\n  justify-content: flex-end;\\n}\\n\\n/********************  element 分页样式修改  *****************/\\n#app[data-v-7ba5bd90] .el-pagination .btn-next, #app[data-v-7ba5bd90] .el-pagination .btn-prev {\\n  background: center center no-repeat #0000;\\n  background-size: 16px;\\n  cursor: pointer;\\n  margin: 0;\\n  color: #c7c8c9;\\n  border: 1px solid #fff3;\\n  border-radius: 4px;\\n}\\n#app[data-v-7ba5bd90] .el-pagination.is-background .el-pager li {\\n  background-color: #f4f4f500;\\n  color: #8d8d8d;\\n}\\n#app[data-v-7ba5bd90] .el-pagination.is-background .el-pager li:not(.disabled).active {\\n  background-color: #fff2;\\n  border-radius: 4px;\\n  color: #FFF;\\n}\\n\\n/*****************************************************************/\\n\", \"\"]);\n// Exports\n/* harmony default export */ __webpack_exports__[\"default\"] = (___CSS_LOADER_EXPORT___);\n\n\n//# sourceURL=webpack://hello-world/./src/App.vue?./node_modules/_css-loader@6.8.1@css-loader/dist/cjs.js??clonedRuleSet-22.use%5B1%5D!./node_modules/_vue-loader@15.10.1@vue-loader/lib/loaders/stylePostLoader.js!./node_modules/_postcss-loader@6.2.1@postcss-loader/dist/cjs.js??clonedRuleSet-22.use%5B2%5D!./node_modules/_sass-loader@7.3.1@sass-loader/dist/cjs.js??clonedRuleSet-22.use%5B3%5D!./node_modules/_vue-loader@15.10.1@vue-loader/lib/index.js??vue-loader-options");/***/ }),/***/ "./node_modules/_css-loader@6.8.1@css-loader/dist/cjs.js??clonedRuleSet-22.use[1]!./node_modules/_vue-loader@15.10.1@vue-loader/lib/loaders/stylePostLoader.js!./node_modules/_postcss-loader@6.2.1@postcss-loader/dist/cjs.js??clonedRuleSet-22.use[2]!./node_modules/_sass-loader@7.3.1@sass-loader/dist/cjs.js??clonedRuleSet-22.use[3]!./node_modules/_vue-loader@15.10.1@vue-loader/lib/index.js??vue-loader-options!./src/pages/mainView/mainView.vue?vue&type=style&index=0&id=5c95f99b&lang=scss&scoped=true&":/*!****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\  !*** ./node_modules/_css-loader@6.8.1@css-loader/dist/cjs.js??clonedRuleSet-22.use[1]!./node_modules/_vue-loader@15.10.1@vue-loader/lib/loaders/stylePostLoader.js!./node_modules/_postcss-loader@6.2.1@postcss-loader/dist/cjs.js??clonedRuleSet-22.use[2]!./node_modules/_sass-loader@7.3.1@sass-loader/dist/cjs.js??clonedRuleSet-22.use[3]!./node_modules/_vue-loader@15.10.1@vue-loader/lib/index.js??vue-loader-options!./src/pages/mainView/mainView.vue?vue&type=style&index=0&id=5c95f99b&lang=scss&scoped=true& ***!  \****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************//***/ (function(module, __webpack_exports__, __webpack_require__) {"use strict";eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_css_loader_6_8_1_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../node_modules/_css-loader@6.8.1@css-loader/dist/runtime/noSourceMaps.js */ \"./node_modules/_css-loader@6.8.1@css-loader/dist/runtime/noSourceMaps.js\");\n/* harmony import */ var _node_modules_css_loader_6_8_1_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_6_8_1_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _node_modules_css_loader_6_8_1_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../node_modules/_css-loader@6.8.1@css-loader/dist/runtime/api.js */ \"./node_modules/_css-loader@6.8.1@css-loader/dist/runtime/api.js\");\n/* harmony import */ var _node_modules_css_loader_6_8_1_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_6_8_1_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__);\n// Imports\n\n\nvar ___CSS_LOADER_EXPORT___ = _node_modules_css_loader_6_8_1_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default()((_node_modules_css_loader_6_8_1_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default()));\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"\", \"\"]);\n// Exports\n/* harmony default export */ __webpack_exports__[\"default\"] = (___CSS_LOADER_EXPORT___);\n\n\n//# sourceURL=webpack://hello-world/./src/pages/mainView/mainView.vue?./node_modules/_css-loader@6.8.1@css-loader/dist/cjs.js??clonedRuleSet-22.use%5B1%5D!./node_modules/_vue-loader@15.10.1@vue-loader/lib/loaders/stylePostLoader.js!./node_modules/_postcss-loader@6.2.1@postcss-loader/dist/cjs.js??clonedRuleSet-22.use%5B2%5D!./node_modules/_sass-loader@7.3.1@sass-loader/dist/cjs.js??clonedRuleSet-22.use%5B3%5D!./node_modules/_vue-loader@15.10.1@vue-loader/lib/index.js??vue-loader-options");/***/ }),/***/ "./src/App.vue":/*!*********************!*\  !*** ./src/App.vue ***!  \*********************//***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {"use strict";eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _App_vue_vue_type_template_id_7ba5bd90_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./App.vue?vue&type=template&id=7ba5bd90&scoped=true& */ \"./src/App.vue?vue&type=template&id=7ba5bd90&scoped=true&\");\n/* harmony import */ var _App_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./App.vue?vue&type=script&lang=js& */ \"./src/App.vue?vue&type=script&lang=js&\");\n/* harmony import */ var _App_vue_vue_type_style_index_0_id_7ba5bd90_lang_css___WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./App.vue?vue&type=style&index=0&id=7ba5bd90&lang=css& */ \"./src/App.vue?vue&type=style&index=0&id=7ba5bd90&lang=css&\");\n/* harmony import */ var _App_vue_vue_type_style_index_1_id_7ba5bd90_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./App.vue?vue&type=style&index=1&id=7ba5bd90&lang=scss&scoped=true& */ \"./src/App.vue?vue&type=style&index=1&id=7ba5bd90&lang=scss&scoped=true&\");\n/* harmony import */ var _node_modules_vue_loader_15_10_1_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! !../node_modules/_vue-loader@15.10.1@vue-loader/lib/runtime/componentNormalizer.js */ \"./node_modules/_vue-loader@15.10.1@vue-loader/lib/runtime/componentNormalizer.js\");\n\n\n\n;\n\n\n\n/* normalize component */\n\nvar component = (0,_node_modules_vue_loader_15_10_1_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"])(\n  _App_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n  _App_vue_vue_type_template_id_7ba5bd90_scoped_true___WEBPACK_IMPORTED_MODULE_0__.render,\n  _App_vue_vue_type_template_id_7ba5bd90_scoped_true___WEBPACK_IMPORTED_MODULE_0__.staticRenderFns,\n  false,\n  null,\n  \"7ba5bd90\",\n  null\n  \n)\n\n/* hot reload */\nif (false) { var api; }\ncomponent.options.__file = \"src/App.vue\"\n/* harmony default export */ __webpack_exports__[\"default\"] = (component.exports);\n\n//# sourceURL=webpack://hello-world/./src/App.vue?");/***/ }),/***/ "./src/components/mapComponent/mapComponent.vue":/*!******************************************************!*\  !*** ./src/components/mapComponent/mapComponent.vue ***!  \******************************************************//***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {"use strict";eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _mapComponent_html_vue_type_template_id_68cc5822_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./mapComponent.html?vue&type=template&id=68cc5822&scoped=true& */ \"./src/components/mapComponent/mapComponent.html?vue&type=template&id=68cc5822&scoped=true&\");\n/* harmony import */ var _mapComponent_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./mapComponent.vue?vue&type=script&lang=js& */ \"./src/components/mapComponent/mapComponent.vue?vue&type=script&lang=js&\");\n/* harmony import */ var _mapComponent_vue_vue_type_style_index_0_id_68cc5822_lang_css_scoped_true___WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./mapComponent.vue?vue&type=style&index=0&id=68cc5822&lang=css&scoped=true& */ \"./src/components/mapComponent/mapComponent.vue?vue&type=style&index=0&id=68cc5822&lang=css&scoped=true&\");\n/* harmony import */ var _node_modules_vue_loader_15_10_1_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! !../../../node_modules/_vue-loader@15.10.1@vue-loader/lib/runtime/componentNormalizer.js */ \"./node_modules/_vue-loader@15.10.1@vue-loader/lib/runtime/componentNormalizer.js\");\n\n\n\n;\n\n\n/* normalize component */\n\nvar component = (0,_node_modules_vue_loader_15_10_1_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(\n  _mapComponent_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n  _mapComponent_html_vue_type_template_id_68cc5822_scoped_true___WEBPACK_IMPORTED_MODULE_0__.render,\n  _mapComponent_html_vue_type_template_id_68cc5822_scoped_true___WEBPACK_IMPORTED_MODULE_0__.staticRenderFns,\n  false,\n  null,\n  \"68cc5822\",\n  null\n  \n)\n\n/* hot reload */\nif (false) { var api; }\ncomponent.options.__file = \"src/components/mapComponent/mapComponent.vue\"\n/* harmony default export */ __webpack_exports__[\"default\"] = (component.exports);\n\n//# sourceURL=webpack://hello-world/./src/components/mapComponent/mapComponent.vue?");/***/ }),/***/ "./src/pages/mainView/mainView.vue":/*!*****************************************!*\  !*** ./src/pages/mainView/mainView.vue ***!  \*****************************************//***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {"use strict";eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _mainView_html_vue_type_template_id_5c95f99b_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./mainView.html?vue&type=template&id=5c95f99b&scoped=true& */ \"./src/pages/mainView/mainView.html?vue&type=template&id=5c95f99b&scoped=true&\");\n/* harmony import */ var _mainView_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./mainView.vue?vue&type=script&lang=js& */ \"./src/pages/mainView/mainView.vue?vue&type=script&lang=js&\");\n/* harmony import */ var _mainView_vue_vue_type_style_index_0_id_5c95f99b_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./mainView.vue?vue&type=style&index=0&id=5c95f99b&lang=scss&scoped=true& */ \"./src/pages/mainView/mainView.vue?vue&type=style&index=0&id=5c95f99b&lang=scss&scoped=true&\");\n/* harmony import */ var _node_modules_vue_loader_15_10_1_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! !../../../node_modules/_vue-loader@15.10.1@vue-loader/lib/runtime/componentNormalizer.js */ \"./node_modules/_vue-loader@15.10.1@vue-loader/lib/runtime/componentNormalizer.js\");\n\n\n\n;\n\n\n/* normalize component */\n\nvar component = (0,_node_modules_vue_loader_15_10_1_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(\n  _mainView_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n  _mainView_html_vue_type_template_id_5c95f99b_scoped_true___WEBPACK_IMPORTED_MODULE_0__.render,\n  _mainView_html_vue_type_template_id_5c95f99b_scoped_true___WEBPACK_IMPORTED_MODULE_0__.staticRenderFns,\n  false,\n  null,\n  \"5c95f99b\",\n  null\n  \n)\n\n/* hot reload */\nif (false) { var api; }\ncomponent.options.__file = \"src/pages/mainView/mainView.vue\"\n/* harmony default export */ __webpack_exports__[\"default\"] = (component.exports);\n\n//# sourceURL=webpack://hello-world/./src/pages/mainView/mainView.vue?");/***/ }),/***/ "./src/App.vue?vue&type=script&lang=js&":/*!**********************************************!*\  !*** ./src/App.vue?vue&type=script&lang=js& ***!  \**********************************************//***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {"use strict";eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_babel_loader_8_3_0_babel_loader_lib_index_js_clonedRuleSet_40_use_0_node_modules_vue_loader_15_10_1_vue_loader_lib_index_js_vue_loader_options_App_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../node_modules/_babel-loader@8.3.0@babel-loader/lib/index.js??clonedRuleSet-40.use[0]!../node_modules/_vue-loader@15.10.1@vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=script&lang=js& */ \"./node_modules/_babel-loader@8.3.0@babel-loader/lib/index.js??clonedRuleSet-40.use[0]!./node_modules/_vue-loader@15.10.1@vue-loader/lib/index.js??vue-loader-options!./src/App.vue?vue&type=script&lang=js&\");\n /* harmony default export */ __webpack_exports__[\"default\"] = (_node_modules_babel_loader_8_3_0_babel_loader_lib_index_js_clonedRuleSet_40_use_0_node_modules_vue_loader_15_10_1_vue_loader_lib_index_js_vue_loader_options_App_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__[\"default\"]); \n\n//# sourceURL=webpack://hello-world/./src/App.vue?");/***/ }),/***/ "./src/components/mapComponent/mapComponent.vue?vue&type=script&lang=js&":/*!*******************************************************************************!*\  !*** ./src/components/mapComponent/mapComponent.vue?vue&type=script&lang=js& ***!  \*******************************************************************************//***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {"use strict";eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_babel_loader_8_3_0_babel_loader_lib_index_js_clonedRuleSet_40_use_0_node_modules_vue_loader_15_10_1_vue_loader_lib_index_js_vue_loader_options_mapComponent_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../node_modules/_babel-loader@8.3.0@babel-loader/lib/index.js??clonedRuleSet-40.use[0]!../../../node_modules/_vue-loader@15.10.1@vue-loader/lib/index.js??vue-loader-options!./mapComponent.vue?vue&type=script&lang=js& */ \"./node_modules/_babel-loader@8.3.0@babel-loader/lib/index.js??clonedRuleSet-40.use[0]!./node_modules/_vue-loader@15.10.1@vue-loader/lib/index.js??vue-loader-options!./src/components/mapComponent/mapComponent.vue?vue&type=script&lang=js&\");\n /* harmony default export */ __webpack_exports__[\"default\"] = (_node_modules_babel_loader_8_3_0_babel_loader_lib_index_js_clonedRuleSet_40_use_0_node_modules_vue_loader_15_10_1_vue_loader_lib_index_js_vue_loader_options_mapComponent_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__[\"default\"]); \n\n//# sourceURL=webpack://hello-world/./src/components/mapComponent/mapComponent.vue?");/***/ }),/***/ "./src/pages/mainView/mainView.vue?vue&type=script&lang=js&":/*!******************************************************************!*\  !*** ./src/pages/mainView/mainView.vue?vue&type=script&lang=js& ***!  \******************************************************************//***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {"use strict";eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_babel_loader_8_3_0_babel_loader_lib_index_js_clonedRuleSet_40_use_0_node_modules_vue_loader_15_10_1_vue_loader_lib_index_js_vue_loader_options_mainView_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../node_modules/_babel-loader@8.3.0@babel-loader/lib/index.js??clonedRuleSet-40.use[0]!../../../node_modules/_vue-loader@15.10.1@vue-loader/lib/index.js??vue-loader-options!./mainView.vue?vue&type=script&lang=js& */ \"./node_modules/_babel-loader@8.3.0@babel-loader/lib/index.js??clonedRuleSet-40.use[0]!./node_modules/_vue-loader@15.10.1@vue-loader/lib/index.js??vue-loader-options!./src/pages/mainView/mainView.vue?vue&type=script&lang=js&\");\n /* harmony default export */ __webpack_exports__[\"default\"] = (_node_modules_babel_loader_8_3_0_babel_loader_lib_index_js_clonedRuleSet_40_use_0_node_modules_vue_loader_15_10_1_vue_loader_lib_index_js_vue_loader_options_mainView_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__[\"default\"]); \n\n//# sourceURL=webpack://hello-world/./src/pages/mainView/mainView.vue?");/***/ }),/***/ "./src/App.vue?vue&type=template&id=7ba5bd90&scoped=true&":/*!****************************************************************!*\  !*** ./src/App.vue?vue&type=template&id=7ba5bd90&scoped=true& ***!  \****************************************************************//***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {"use strict";eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   render: function() { return /* reexport safe */ _node_modules_babel_loader_8_3_0_babel_loader_lib_index_js_clonedRuleSet_40_use_0_node_modules_vue_loader_15_10_1_vue_loader_lib_loaders_templateLoader_js_ruleSet_1_rules_3_node_modules_vue_loader_15_10_1_vue_loader_lib_index_js_vue_loader_options_App_vue_vue_type_template_id_7ba5bd90_scoped_true___WEBPACK_IMPORTED_MODULE_0__.render; },\n/* harmony export */   staticRenderFns: function() { return /* reexport safe */ _node_modules_babel_loader_8_3_0_babel_loader_lib_index_js_clonedRuleSet_40_use_0_node_modules_vue_loader_15_10_1_vue_loader_lib_loaders_templateLoader_js_ruleSet_1_rules_3_node_modules_vue_loader_15_10_1_vue_loader_lib_index_js_vue_loader_options_App_vue_vue_type_template_id_7ba5bd90_scoped_true___WEBPACK_IMPORTED_MODULE_0__.staticRenderFns; }\n/* harmony export */ });\n/* harmony import */ var _node_modules_babel_loader_8_3_0_babel_loader_lib_index_js_clonedRuleSet_40_use_0_node_modules_vue_loader_15_10_1_vue_loader_lib_loaders_templateLoader_js_ruleSet_1_rules_3_node_modules_vue_loader_15_10_1_vue_loader_lib_index_js_vue_loader_options_App_vue_vue_type_template_id_7ba5bd90_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../node_modules/_babel-loader@8.3.0@babel-loader/lib/index.js??clonedRuleSet-40.use[0]!../node_modules/_vue-loader@15.10.1@vue-loader/lib/loaders/templateLoader.js??ruleSet[1].rules[3]!../node_modules/_vue-loader@15.10.1@vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=template&id=7ba5bd90&scoped=true& */ \"./node_modules/_babel-loader@8.3.0@babel-loader/lib/index.js??clonedRuleSet-40.use[0]!./node_modules/_vue-loader@15.10.1@vue-loader/lib/loaders/templateLoader.js??ruleSet[1].rules[3]!./node_modules/_vue-loader@15.10.1@vue-loader/lib/index.js??vue-loader-options!./src/App.vue?vue&type=template&id=7ba5bd90&scoped=true&\");\n\n\n//# sourceURL=webpack://hello-world/./src/App.vue?");/***/ }),/***/ "./src/components/mapComponent/mapComponent.html?vue&type=template&id=68cc5822&scoped=true&":/*!**************************************************************************************************!*\  !*** ./src/components/mapComponent/mapComponent.html?vue&type=template&id=68cc5822&scoped=true& ***!  \**************************************************************************************************//***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {"use strict";eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   render: function() { return /* reexport safe */ _node_modules_babel_loader_8_3_0_babel_loader_lib_index_js_clonedRuleSet_40_use_0_node_modules_vue_loader_15_10_1_vue_loader_lib_loaders_templateLoader_js_ruleSet_1_rules_3_mapComponent_html_vue_type_template_id_68cc5822_scoped_true___WEBPACK_IMPORTED_MODULE_0__.render; },\n/* harmony export */   staticRenderFns: function() { return /* reexport safe */ _node_modules_babel_loader_8_3_0_babel_loader_lib_index_js_clonedRuleSet_40_use_0_node_modules_vue_loader_15_10_1_vue_loader_lib_loaders_templateLoader_js_ruleSet_1_rules_3_mapComponent_html_vue_type_template_id_68cc5822_scoped_true___WEBPACK_IMPORTED_MODULE_0__.staticRenderFns; }\n/* harmony export */ });\n/* harmony import */ var _node_modules_babel_loader_8_3_0_babel_loader_lib_index_js_clonedRuleSet_40_use_0_node_modules_vue_loader_15_10_1_vue_loader_lib_loaders_templateLoader_js_ruleSet_1_rules_3_mapComponent_html_vue_type_template_id_68cc5822_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../node_modules/_babel-loader@8.3.0@babel-loader/lib/index.js??clonedRuleSet-40.use[0]!../../../node_modules/_vue-loader@15.10.1@vue-loader/lib/loaders/templateLoader.js??ruleSet[1].rules[3]!./mapComponent.html?vue&type=template&id=68cc5822&scoped=true& */ \"./node_modules/_babel-loader@8.3.0@babel-loader/lib/index.js??clonedRuleSet-40.use[0]!./node_modules/_vue-loader@15.10.1@vue-loader/lib/loaders/templateLoader.js??ruleSet[1].rules[3]!./src/components/mapComponent/mapComponent.html?vue&type=template&id=68cc5822&scoped=true&\");\n\n\n//# sourceURL=webpack://hello-world/./src/components/mapComponent/mapComponent.html?");/***/ }),/***/ "./src/pages/mainView/mainView.html?vue&type=template&id=5c95f99b&scoped=true&":/*!*************************************************************************************!*\  !*** ./src/pages/mainView/mainView.html?vue&type=template&id=5c95f99b&scoped=true& ***!  \*************************************************************************************//***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {"use strict";eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   render: function() { return /* reexport safe */ _node_modules_babel_loader_8_3_0_babel_loader_lib_index_js_clonedRuleSet_40_use_0_node_modules_vue_loader_15_10_1_vue_loader_lib_loaders_templateLoader_js_ruleSet_1_rules_3_mainView_html_vue_type_template_id_5c95f99b_scoped_true___WEBPACK_IMPORTED_MODULE_0__.render; },\n/* harmony export */   staticRenderFns: function() { return /* reexport safe */ _node_modules_babel_loader_8_3_0_babel_loader_lib_index_js_clonedRuleSet_40_use_0_node_modules_vue_loader_15_10_1_vue_loader_lib_loaders_templateLoader_js_ruleSet_1_rules_3_mainView_html_vue_type_template_id_5c95f99b_scoped_true___WEBPACK_IMPORTED_MODULE_0__.staticRenderFns; }\n/* harmony export */ });\n/* harmony import */ var _node_modules_babel_loader_8_3_0_babel_loader_lib_index_js_clonedRuleSet_40_use_0_node_modules_vue_loader_15_10_1_vue_loader_lib_loaders_templateLoader_js_ruleSet_1_rules_3_mainView_html_vue_type_template_id_5c95f99b_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../node_modules/_babel-loader@8.3.0@babel-loader/lib/index.js??clonedRuleSet-40.use[0]!../../../node_modules/_vue-loader@15.10.1@vue-loader/lib/loaders/templateLoader.js??ruleSet[1].rules[3]!./mainView.html?vue&type=template&id=5c95f99b&scoped=true& */ \"./node_modules/_babel-loader@8.3.0@babel-loader/lib/index.js??clonedRuleSet-40.use[0]!./node_modules/_vue-loader@15.10.1@vue-loader/lib/loaders/templateLoader.js??ruleSet[1].rules[3]!./src/pages/mainView/mainView.html?vue&type=template&id=5c95f99b&scoped=true&\");\n\n\n//# sourceURL=webpack://hello-world/./src/pages/mainView/mainView.html?");/***/ }),/***/ "./src/App.vue?vue&type=style&index=0&id=7ba5bd90&lang=css&":/*!******************************************************************!*\  !*** ./src/App.vue?vue&type=style&index=0&id=7ba5bd90&lang=css& ***!  \******************************************************************//***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {"use strict";eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_vue_style_loader_4_1_3_vue_style_loader_index_js_clonedRuleSet_12_use_0_node_modules_css_loader_6_8_1_css_loader_dist_cjs_js_clonedRuleSet_12_use_1_node_modules_vue_loader_15_10_1_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_6_2_1_postcss_loader_dist_cjs_js_clonedRuleSet_12_use_2_node_modules_vue_loader_15_10_1_vue_loader_lib_index_js_vue_loader_options_App_vue_vue_type_style_index_0_id_7ba5bd90_lang_css___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../node_modules/_vue-style-loader@4.1.3@vue-style-loader/index.js??clonedRuleSet-12.use[0]!../node_modules/_css-loader@6.8.1@css-loader/dist/cjs.js??clonedRuleSet-12.use[1]!../node_modules/_vue-loader@15.10.1@vue-loader/lib/loaders/stylePostLoader.js!../node_modules/_postcss-loader@6.2.1@postcss-loader/dist/cjs.js??clonedRuleSet-12.use[2]!../node_modules/_vue-loader@15.10.1@vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=style&index=0&id=7ba5bd90&lang=css& */ \"./node_modules/_vue-style-loader@4.1.3@vue-style-loader/index.js??clonedRuleSet-12.use[0]!./node_modules/_css-loader@6.8.1@css-loader/dist/cjs.js??clonedRuleSet-12.use[1]!./node_modules/_vue-loader@15.10.1@vue-loader/lib/loaders/stylePostLoader.js!./node_modules/_postcss-loader@6.2.1@postcss-loader/dist/cjs.js??clonedRuleSet-12.use[2]!./node_modules/_vue-loader@15.10.1@vue-loader/lib/index.js??vue-loader-options!./src/App.vue?vue&type=style&index=0&id=7ba5bd90&lang=css&\");\n/* harmony import */ var _node_modules_vue_style_loader_4_1_3_vue_style_loader_index_js_clonedRuleSet_12_use_0_node_modules_css_loader_6_8_1_css_loader_dist_cjs_js_clonedRuleSet_12_use_1_node_modules_vue_loader_15_10_1_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_6_2_1_postcss_loader_dist_cjs_js_clonedRuleSet_12_use_2_node_modules_vue_loader_15_10_1_vue_loader_lib_index_js_vue_loader_options_App_vue_vue_type_style_index_0_id_7ba5bd90_lang_css___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_vue_style_loader_4_1_3_vue_style_loader_index_js_clonedRuleSet_12_use_0_node_modules_css_loader_6_8_1_css_loader_dist_cjs_js_clonedRuleSet_12_use_1_node_modules_vue_loader_15_10_1_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_6_2_1_postcss_loader_dist_cjs_js_clonedRuleSet_12_use_2_node_modules_vue_loader_15_10_1_vue_loader_lib_index_js_vue_loader_options_App_vue_vue_type_style_index_0_id_7ba5bd90_lang_css___WEBPACK_IMPORTED_MODULE_0__);\n/* harmony reexport (unknown) */ var __WEBPACK_REEXPORT_OBJECT__ = {};\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _node_modules_vue_style_loader_4_1_3_vue_style_loader_index_js_clonedRuleSet_12_use_0_node_modules_css_loader_6_8_1_css_loader_dist_cjs_js_clonedRuleSet_12_use_1_node_modules_vue_loader_15_10_1_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_6_2_1_postcss_loader_dist_cjs_js_clonedRuleSet_12_use_2_node_modules_vue_loader_15_10_1_vue_loader_lib_index_js_vue_loader_options_App_vue_vue_type_style_index_0_id_7ba5bd90_lang_css___WEBPACK_IMPORTED_MODULE_0__) if(__WEBPACK_IMPORT_KEY__ !== \"default\") __WEBPACK_REEXPORT_OBJECT__[__WEBPACK_IMPORT_KEY__] = function(key) { return _node_modules_vue_style_loader_4_1_3_vue_style_loader_index_js_clonedRuleSet_12_use_0_node_modules_css_loader_6_8_1_css_loader_dist_cjs_js_clonedRuleSet_12_use_1_node_modules_vue_loader_15_10_1_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_6_2_1_postcss_loader_dist_cjs_js_clonedRuleSet_12_use_2_node_modules_vue_loader_15_10_1_vue_loader_lib_index_js_vue_loader_options_App_vue_vue_type_style_index_0_id_7ba5bd90_lang_css___WEBPACK_IMPORTED_MODULE_0__[key]; }.bind(0, __WEBPACK_IMPORT_KEY__)\n/* harmony reexport (unknown) */ __webpack_require__.d(__webpack_exports__, __WEBPACK_REEXPORT_OBJECT__);\n\n\n//# sourceURL=webpack://hello-world/./src/App.vue?");/***/ }),/***/ "./src/components/mapComponent/mapComponent.vue?vue&type=style&index=0&id=68cc5822&lang=css&scoped=true&":/*!***************************************************************************************************************!*\  !*** ./src/components/mapComponent/mapComponent.vue?vue&type=style&index=0&id=68cc5822&lang=css&scoped=true& ***!  \***************************************************************************************************************//***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {"use strict";eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_vue_style_loader_4_1_3_vue_style_loader_index_js_clonedRuleSet_12_use_0_node_modules_css_loader_6_8_1_css_loader_dist_cjs_js_clonedRuleSet_12_use_1_node_modules_vue_loader_15_10_1_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_6_2_1_postcss_loader_dist_cjs_js_clonedRuleSet_12_use_2_node_modules_vue_loader_15_10_1_vue_loader_lib_index_js_vue_loader_options_mapComponent_vue_vue_type_style_index_0_id_68cc5822_lang_css_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../node_modules/_vue-style-loader@4.1.3@vue-style-loader/index.js??clonedRuleSet-12.use[0]!../../../node_modules/_css-loader@6.8.1@css-loader/dist/cjs.js??clonedRuleSet-12.use[1]!../../../node_modules/_vue-loader@15.10.1@vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/_postcss-loader@6.2.1@postcss-loader/dist/cjs.js??clonedRuleSet-12.use[2]!../../../node_modules/_vue-loader@15.10.1@vue-loader/lib/index.js??vue-loader-options!./mapComponent.vue?vue&type=style&index=0&id=68cc5822&lang=css&scoped=true& */ \"./node_modules/_vue-style-loader@4.1.3@vue-style-loader/index.js??clonedRuleSet-12.use[0]!./node_modules/_css-loader@6.8.1@css-loader/dist/cjs.js??clonedRuleSet-12.use[1]!./node_modules/_vue-loader@15.10.1@vue-loader/lib/loaders/stylePostLoader.js!./node_modules/_postcss-loader@6.2.1@postcss-loader/dist/cjs.js??clonedRuleSet-12.use[2]!./node_modules/_vue-loader@15.10.1@vue-loader/lib/index.js??vue-loader-options!./src/components/mapComponent/mapComponent.vue?vue&type=style&index=0&id=68cc5822&lang=css&scoped=true&\");\n/* harmony import */ var _node_modules_vue_style_loader_4_1_3_vue_style_loader_index_js_clonedRuleSet_12_use_0_node_modules_css_loader_6_8_1_css_loader_dist_cjs_js_clonedRuleSet_12_use_1_node_modules_vue_loader_15_10_1_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_6_2_1_postcss_loader_dist_cjs_js_clonedRuleSet_12_use_2_node_modules_vue_loader_15_10_1_vue_loader_lib_index_js_vue_loader_options_mapComponent_vue_vue_type_style_index_0_id_68cc5822_lang_css_scoped_true___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_vue_style_loader_4_1_3_vue_style_loader_index_js_clonedRuleSet_12_use_0_node_modules_css_loader_6_8_1_css_loader_dist_cjs_js_clonedRuleSet_12_use_1_node_modules_vue_loader_15_10_1_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_6_2_1_postcss_loader_dist_cjs_js_clonedRuleSet_12_use_2_node_modules_vue_loader_15_10_1_vue_loader_lib_index_js_vue_loader_options_mapComponent_vue_vue_type_style_index_0_id_68cc5822_lang_css_scoped_true___WEBPACK_IMPORTED_MODULE_0__);\n/* harmony reexport (unknown) */ var __WEBPACK_REEXPORT_OBJECT__ = {};\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _node_modules_vue_style_loader_4_1_3_vue_style_loader_index_js_clonedRuleSet_12_use_0_node_modules_css_loader_6_8_1_css_loader_dist_cjs_js_clonedRuleSet_12_use_1_node_modules_vue_loader_15_10_1_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_6_2_1_postcss_loader_dist_cjs_js_clonedRuleSet_12_use_2_node_modules_vue_loader_15_10_1_vue_loader_lib_index_js_vue_loader_options_mapComponent_vue_vue_type_style_index_0_id_68cc5822_lang_css_scoped_true___WEBPACK_IMPORTED_MODULE_0__) if(__WEBPACK_IMPORT_KEY__ !== \"default\") __WEBPACK_REEXPORT_OBJECT__[__WEBPACK_IMPORT_KEY__] = function(key) { return _node_modules_vue_style_loader_4_1_3_vue_style_loader_index_js_clonedRuleSet_12_use_0_node_modules_css_loader_6_8_1_css_loader_dist_cjs_js_clonedRuleSet_12_use_1_node_modules_vue_loader_15_10_1_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_6_2_1_postcss_loader_dist_cjs_js_clonedRuleSet_12_use_2_node_modules_vue_loader_15_10_1_vue_loader_lib_index_js_vue_loader_options_mapComponent_vue_vue_type_style_index_0_id_68cc5822_lang_css_scoped_true___WEBPACK_IMPORTED_MODULE_0__[key]; }.bind(0, __WEBPACK_IMPORT_KEY__)\n/* harmony reexport (unknown) */ __webpack_require__.d(__webpack_exports__, __WEBPACK_REEXPORT_OBJECT__);\n\n\n//# sourceURL=webpack://hello-world/./src/components/mapComponent/mapComponent.vue?");/***/ }),/***/ "./src/App.vue?vue&type=style&index=1&id=7ba5bd90&lang=scss&scoped=true&":/*!*******************************************************************************!*\  !*** ./src/App.vue?vue&type=style&index=1&id=7ba5bd90&lang=scss&scoped=true& ***!  \*******************************************************************************//***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {"use strict";eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_vue_style_loader_4_1_3_vue_style_loader_index_js_clonedRuleSet_22_use_0_node_modules_css_loader_6_8_1_css_loader_dist_cjs_js_clonedRuleSet_22_use_1_node_modules_vue_loader_15_10_1_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_6_2_1_postcss_loader_dist_cjs_js_clonedRuleSet_22_use_2_node_modules_sass_loader_7_3_1_sass_loader_dist_cjs_js_clonedRuleSet_22_use_3_node_modules_vue_loader_15_10_1_vue_loader_lib_index_js_vue_loader_options_App_vue_vue_type_style_index_1_id_7ba5bd90_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../node_modules/_vue-style-loader@4.1.3@vue-style-loader/index.js??clonedRuleSet-22.use[0]!../node_modules/_css-loader@6.8.1@css-loader/dist/cjs.js??clonedRuleSet-22.use[1]!../node_modules/_vue-loader@15.10.1@vue-loader/lib/loaders/stylePostLoader.js!../node_modules/_postcss-loader@6.2.1@postcss-loader/dist/cjs.js??clonedRuleSet-22.use[2]!../node_modules/_sass-loader@7.3.1@sass-loader/dist/cjs.js??clonedRuleSet-22.use[3]!../node_modules/_vue-loader@15.10.1@vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=style&index=1&id=7ba5bd90&lang=scss&scoped=true& */ \"./node_modules/_vue-style-loader@4.1.3@vue-style-loader/index.js??clonedRuleSet-22.use[0]!./node_modules/_css-loader@6.8.1@css-loader/dist/cjs.js??clonedRuleSet-22.use[1]!./node_modules/_vue-loader@15.10.1@vue-loader/lib/loaders/stylePostLoader.js!./node_modules/_postcss-loader@6.2.1@postcss-loader/dist/cjs.js??clonedRuleSet-22.use[2]!./node_modules/_sass-loader@7.3.1@sass-loader/dist/cjs.js??clonedRuleSet-22.use[3]!./node_modules/_vue-loader@15.10.1@vue-loader/lib/index.js??vue-loader-options!./src/App.vue?vue&type=style&index=1&id=7ba5bd90&lang=scss&scoped=true&\");\n/* harmony import */ var _node_modules_vue_style_loader_4_1_3_vue_style_loader_index_js_clonedRuleSet_22_use_0_node_modules_css_loader_6_8_1_css_loader_dist_cjs_js_clonedRuleSet_22_use_1_node_modules_vue_loader_15_10_1_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_6_2_1_postcss_loader_dist_cjs_js_clonedRuleSet_22_use_2_node_modules_sass_loader_7_3_1_sass_loader_dist_cjs_js_clonedRuleSet_22_use_3_node_modules_vue_loader_15_10_1_vue_loader_lib_index_js_vue_loader_options_App_vue_vue_type_style_index_1_id_7ba5bd90_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_vue_style_loader_4_1_3_vue_style_loader_index_js_clonedRuleSet_22_use_0_node_modules_css_loader_6_8_1_css_loader_dist_cjs_js_clonedRuleSet_22_use_1_node_modules_vue_loader_15_10_1_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_6_2_1_postcss_loader_dist_cjs_js_clonedRuleSet_22_use_2_node_modules_sass_loader_7_3_1_sass_loader_dist_cjs_js_clonedRuleSet_22_use_3_node_modules_vue_loader_15_10_1_vue_loader_lib_index_js_vue_loader_options_App_vue_vue_type_style_index_1_id_7ba5bd90_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__);\n/* harmony reexport (unknown) */ var __WEBPACK_REEXPORT_OBJECT__ = {};\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _node_modules_vue_style_loader_4_1_3_vue_style_loader_index_js_clonedRuleSet_22_use_0_node_modules_css_loader_6_8_1_css_loader_dist_cjs_js_clonedRuleSet_22_use_1_node_modules_vue_loader_15_10_1_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_6_2_1_postcss_loader_dist_cjs_js_clonedRuleSet_22_use_2_node_modules_sass_loader_7_3_1_sass_loader_dist_cjs_js_clonedRuleSet_22_use_3_node_modules_vue_loader_15_10_1_vue_loader_lib_index_js_vue_loader_options_App_vue_vue_type_style_index_1_id_7ba5bd90_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__) if(__WEBPACK_IMPORT_KEY__ !== \"default\") __WEBPACK_REEXPORT_OBJECT__[__WEBPACK_IMPORT_KEY__] = function(key) { return _node_modules_vue_style_loader_4_1_3_vue_style_loader_index_js_clonedRuleSet_22_use_0_node_modules_css_loader_6_8_1_css_loader_dist_cjs_js_clonedRuleSet_22_use_1_node_modules_vue_loader_15_10_1_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_6_2_1_postcss_loader_dist_cjs_js_clonedRuleSet_22_use_2_node_modules_sass_loader_7_3_1_sass_loader_dist_cjs_js_clonedRuleSet_22_use_3_node_modules_vue_loader_15_10_1_vue_loader_lib_index_js_vue_loader_options_App_vue_vue_type_style_index_1_id_7ba5bd90_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__[key]; }.bind(0, __WEBPACK_IMPORT_KEY__)\n/* harmony reexport (unknown) */ __webpack_require__.d(__webpack_exports__, __WEBPACK_REEXPORT_OBJECT__);\n\n\n//# sourceURL=webpack://hello-world/./src/App.vue?");/***/ }),/***/ "./src/pages/mainView/mainView.vue?vue&type=style&index=0&id=5c95f99b&lang=scss&scoped=true&":/*!***************************************************************************************************!*\  !*** ./src/pages/mainView/mainView.vue?vue&type=style&index=0&id=5c95f99b&lang=scss&scoped=true& ***!  \***************************************************************************************************//***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {"use strict";eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_vue_style_loader_4_1_3_vue_style_loader_index_js_clonedRuleSet_22_use_0_node_modules_css_loader_6_8_1_css_loader_dist_cjs_js_clonedRuleSet_22_use_1_node_modules_vue_loader_15_10_1_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_6_2_1_postcss_loader_dist_cjs_js_clonedRuleSet_22_use_2_node_modules_sass_loader_7_3_1_sass_loader_dist_cjs_js_clonedRuleSet_22_use_3_node_modules_vue_loader_15_10_1_vue_loader_lib_index_js_vue_loader_options_mainView_vue_vue_type_style_index_0_id_5c95f99b_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../node_modules/_vue-style-loader@4.1.3@vue-style-loader/index.js??clonedRuleSet-22.use[0]!../../../node_modules/_css-loader@6.8.1@css-loader/dist/cjs.js??clonedRuleSet-22.use[1]!../../../node_modules/_vue-loader@15.10.1@vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/_postcss-loader@6.2.1@postcss-loader/dist/cjs.js??clonedRuleSet-22.use[2]!../../../node_modules/_sass-loader@7.3.1@sass-loader/dist/cjs.js??clonedRuleSet-22.use[3]!../../../node_modules/_vue-loader@15.10.1@vue-loader/lib/index.js??vue-loader-options!./mainView.vue?vue&type=style&index=0&id=5c95f99b&lang=scss&scoped=true& */ \"./node_modules/_vue-style-loader@4.1.3@vue-style-loader/index.js??clonedRuleSet-22.use[0]!./node_modules/_css-loader@6.8.1@css-loader/dist/cjs.js??clonedRuleSet-22.use[1]!./node_modules/_vue-loader@15.10.1@vue-loader/lib/loaders/stylePostLoader.js!./node_modules/_postcss-loader@6.2.1@postcss-loader/dist/cjs.js??clonedRuleSet-22.use[2]!./node_modules/_sass-loader@7.3.1@sass-loader/dist/cjs.js??clonedRuleSet-22.use[3]!./node_modules/_vue-loader@15.10.1@vue-loader/lib/index.js??vue-loader-options!./src/pages/mainView/mainView.vue?vue&type=style&index=0&id=5c95f99b&lang=scss&scoped=true&\");\n/* harmony import */ var _node_modules_vue_style_loader_4_1_3_vue_style_loader_index_js_clonedRuleSet_22_use_0_node_modules_css_loader_6_8_1_css_loader_dist_cjs_js_clonedRuleSet_22_use_1_node_modules_vue_loader_15_10_1_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_6_2_1_postcss_loader_dist_cjs_js_clonedRuleSet_22_use_2_node_modules_sass_loader_7_3_1_sass_loader_dist_cjs_js_clonedRuleSet_22_use_3_node_modules_vue_loader_15_10_1_vue_loader_lib_index_js_vue_loader_options_mainView_vue_vue_type_style_index_0_id_5c95f99b_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_vue_style_loader_4_1_3_vue_style_loader_index_js_clonedRuleSet_22_use_0_node_modules_css_loader_6_8_1_css_loader_dist_cjs_js_clonedRuleSet_22_use_1_node_modules_vue_loader_15_10_1_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_6_2_1_postcss_loader_dist_cjs_js_clonedRuleSet_22_use_2_node_modules_sass_loader_7_3_1_sass_loader_dist_cjs_js_clonedRuleSet_22_use_3_node_modules_vue_loader_15_10_1_vue_loader_lib_index_js_vue_loader_options_mainView_vue_vue_type_style_index_0_id_5c95f99b_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__);\n/* harmony reexport (unknown) */ var __WEBPACK_REEXPORT_OBJECT__ = {};\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _node_modules_vue_style_loader_4_1_3_vue_style_loader_index_js_clonedRuleSet_22_use_0_node_modules_css_loader_6_8_1_css_loader_dist_cjs_js_clonedRuleSet_22_use_1_node_modules_vue_loader_15_10_1_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_6_2_1_postcss_loader_dist_cjs_js_clonedRuleSet_22_use_2_node_modules_sass_loader_7_3_1_sass_loader_dist_cjs_js_clonedRuleSet_22_use_3_node_modules_vue_loader_15_10_1_vue_loader_lib_index_js_vue_loader_options_mainView_vue_vue_type_style_index_0_id_5c95f99b_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__) if(__WEBPACK_IMPORT_KEY__ !== \"default\") __WEBPACK_REEXPORT_OBJECT__[__WEBPACK_IMPORT_KEY__] = function(key) { return _node_modules_vue_style_loader_4_1_3_vue_style_loader_index_js_clonedRuleSet_22_use_0_node_modules_css_loader_6_8_1_css_loader_dist_cjs_js_clonedRuleSet_22_use_1_node_modules_vue_loader_15_10_1_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_6_2_1_postcss_loader_dist_cjs_js_clonedRuleSet_22_use_2_node_modules_sass_loader_7_3_1_sass_loader_dist_cjs_js_clonedRuleSet_22_use_3_node_modules_vue_loader_15_10_1_vue_loader_lib_index_js_vue_loader_options_mainView_vue_vue_type_style_index_0_id_5c95f99b_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__[key]; }.bind(0, __WEBPACK_IMPORT_KEY__)\n/* harmony reexport (unknown) */ __webpack_require__.d(__webpack_exports__, __WEBPACK_REEXPORT_OBJECT__);\n\n\n//# sourceURL=webpack://hello-world/./src/pages/mainView/mainView.vue?");/***/ }),/***/ "./node_modules/_vue-style-loader@4.1.3@vue-style-loader/index.js??clonedRuleSet-12.use[0]!./node_modules/_css-loader@6.8.1@css-loader/dist/cjs.js??clonedRuleSet-12.use[1]!./node_modules/_vue-loader@15.10.1@vue-loader/lib/loaders/stylePostLoader.js!./node_modules/_postcss-loader@6.2.1@postcss-loader/dist/cjs.js??clonedRuleSet-12.use[2]!./node_modules/_vue-loader@15.10.1@vue-loader/lib/index.js??vue-loader-options!./src/App.vue?vue&type=style&index=0&id=7ba5bd90&lang=css&":/*!**************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\  !*** ./node_modules/_vue-style-loader@4.1.3@vue-style-loader/index.js??clonedRuleSet-12.use[0]!./node_modules/_css-loader@6.8.1@css-loader/dist/cjs.js??clonedRuleSet-12.use[1]!./node_modules/_vue-loader@15.10.1@vue-loader/lib/loaders/stylePostLoader.js!./node_modules/_postcss-loader@6.2.1@postcss-loader/dist/cjs.js??clonedRuleSet-12.use[2]!./node_modules/_vue-loader@15.10.1@vue-loader/lib/index.js??vue-loader-options!./src/App.vue?vue&type=style&index=0&id=7ba5bd90&lang=css& ***!  \**************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************//***/ (function(module, __unused_webpack_exports, __webpack_require__) {eval("// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = __webpack_require__(/*! !!../node_modules/_css-loader@6.8.1@css-loader/dist/cjs.js??clonedRuleSet-12.use[1]!../node_modules/_vue-loader@15.10.1@vue-loader/lib/loaders/stylePostLoader.js!../node_modules/_postcss-loader@6.2.1@postcss-loader/dist/cjs.js??clonedRuleSet-12.use[2]!../node_modules/_vue-loader@15.10.1@vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=style&index=0&id=7ba5bd90&lang=css& */ \"./node_modules/_css-loader@6.8.1@css-loader/dist/cjs.js??clonedRuleSet-12.use[1]!./node_modules/_vue-loader@15.10.1@vue-loader/lib/loaders/stylePostLoader.js!./node_modules/_postcss-loader@6.2.1@postcss-loader/dist/cjs.js??clonedRuleSet-12.use[2]!./node_modules/_vue-loader@15.10.1@vue-loader/lib/index.js??vue-loader-options!./src/App.vue?vue&type=style&index=0&id=7ba5bd90&lang=css&\");\nif(content.__esModule) content = content.default;\nif(typeof content === 'string') content = [[module.id, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar add = (__webpack_require__(/*! !../node_modules/_vue-style-loader@4.1.3@vue-style-loader/lib/addStylesClient.js */ \"./node_modules/_vue-style-loader@4.1.3@vue-style-loader/lib/addStylesClient.js\")[\"default\"])\nvar update = add(\"1f03219d\", content, false, {\"sourceMap\":false,\"shadowMode\":false});\n// Hot Module Replacement\nif(false) {}\n\n//# sourceURL=webpack://hello-world/./src/App.vue?./node_modules/_vue-style-loader@4.1.3@vue-style-loader/index.js??clonedRuleSet-12.use%5B0%5D!./node_modules/_css-loader@6.8.1@css-loader/dist/cjs.js??clonedRuleSet-12.use%5B1%5D!./node_modules/_vue-loader@15.10.1@vue-loader/lib/loaders/stylePostLoader.js!./node_modules/_postcss-loader@6.2.1@postcss-loader/dist/cjs.js??clonedRuleSet-12.use%5B2%5D!./node_modules/_vue-loader@15.10.1@vue-loader/lib/index.js??vue-loader-options");/***/ }),/***/ "./node_modules/_vue-style-loader@4.1.3@vue-style-loader/index.js??clonedRuleSet-12.use[0]!./node_modules/_css-loader@6.8.1@css-loader/dist/cjs.js??clonedRuleSet-12.use[1]!./node_modules/_vue-loader@15.10.1@vue-loader/lib/loaders/stylePostLoader.js!./node_modules/_postcss-loader@6.2.1@postcss-loader/dist/cjs.js??clonedRuleSet-12.use[2]!./node_modules/_vue-loader@15.10.1@vue-loader/lib/index.js??vue-loader-options!./src/components/mapComponent/mapComponent.vue?vue&type=style&index=0&id=68cc5822&lang=css&scoped=true&":/*!***********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\  !*** ./node_modules/_vue-style-loader@4.1.3@vue-style-loader/index.js??clonedRuleSet-12.use[0]!./node_modules/_css-loader@6.8.1@css-loader/dist/cjs.js??clonedRuleSet-12.use[1]!./node_modules/_vue-loader@15.10.1@vue-loader/lib/loaders/stylePostLoader.js!./node_modules/_postcss-loader@6.2.1@postcss-loader/dist/cjs.js??clonedRuleSet-12.use[2]!./node_modules/_vue-loader@15.10.1@vue-loader/lib/index.js??vue-loader-options!./src/components/mapComponent/mapComponent.vue?vue&type=style&index=0&id=68cc5822&lang=css&scoped=true& ***!  \***********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************//***/ (function(module, __unused_webpack_exports, __webpack_require__) {eval("// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = __webpack_require__(/*! !!../../../node_modules/_css-loader@6.8.1@css-loader/dist/cjs.js??clonedRuleSet-12.use[1]!../../../node_modules/_vue-loader@15.10.1@vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/_postcss-loader@6.2.1@postcss-loader/dist/cjs.js??clonedRuleSet-12.use[2]!../../../node_modules/_vue-loader@15.10.1@vue-loader/lib/index.js??vue-loader-options!./mapComponent.vue?vue&type=style&index=0&id=68cc5822&lang=css&scoped=true& */ \"./node_modules/_css-loader@6.8.1@css-loader/dist/cjs.js??clonedRuleSet-12.use[1]!./node_modules/_vue-loader@15.10.1@vue-loader/lib/loaders/stylePostLoader.js!./node_modules/_postcss-loader@6.2.1@postcss-loader/dist/cjs.js??clonedRuleSet-12.use[2]!./node_modules/_vue-loader@15.10.1@vue-loader/lib/index.js??vue-loader-options!./src/components/mapComponent/mapComponent.vue?vue&type=style&index=0&id=68cc5822&lang=css&scoped=true&\");\nif(content.__esModule) content = content.default;\nif(typeof content === 'string') content = [[module.id, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar add = (__webpack_require__(/*! !../../../node_modules/_vue-style-loader@4.1.3@vue-style-loader/lib/addStylesClient.js */ \"./node_modules/_vue-style-loader@4.1.3@vue-style-loader/lib/addStylesClient.js\")[\"default\"])\nvar update = add(\"1f734ca4\", content, false, {\"sourceMap\":false,\"shadowMode\":false});\n// Hot Module Replacement\nif(false) {}\n\n//# sourceURL=webpack://hello-world/./src/components/mapComponent/mapComponent.vue?./node_modules/_vue-style-loader@4.1.3@vue-style-loader/index.js??clonedRuleSet-12.use%5B0%5D!./node_modules/_css-loader@6.8.1@css-loader/dist/cjs.js??clonedRuleSet-12.use%5B1%5D!./node_modules/_vue-loader@15.10.1@vue-loader/lib/loaders/stylePostLoader.js!./node_modules/_postcss-loader@6.2.1@postcss-loader/dist/cjs.js??clonedRuleSet-12.use%5B2%5D!./node_modules/_vue-loader@15.10.1@vue-loader/lib/index.js??vue-loader-options");/***/ }),/***/ "./src/assets/common.css":/*!*******************************!*\  !*** ./src/assets/common.css ***!  \*******************************//***/ (function(module, __unused_webpack_exports, __webpack_require__) {eval("// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = __webpack_require__(/*! !!../../node_modules/_css-loader@6.8.1@css-loader/dist/cjs.js??clonedRuleSet-14.use[1]!../../node_modules/_postcss-loader@6.2.1@postcss-loader/dist/cjs.js??clonedRuleSet-14.use[2]!./common.css */ \"./node_modules/_css-loader@6.8.1@css-loader/dist/cjs.js??clonedRuleSet-14.use[1]!./node_modules/_postcss-loader@6.2.1@postcss-loader/dist/cjs.js??clonedRuleSet-14.use[2]!./src/assets/common.css\");\nif(content.__esModule) content = content.default;\nif(typeof content === 'string') content = [[module.id, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar add = (__webpack_require__(/*! !../../node_modules/_vue-style-loader@4.1.3@vue-style-loader/lib/addStylesClient.js */ \"./node_modules/_vue-style-loader@4.1.3@vue-style-loader/lib/addStylesClient.js\")[\"default\"])\nvar update = add(\"6c5f8db3\", content, false, {\"sourceMap\":false,\"shadowMode\":false});\n// Hot Module Replacement\nif(false) {}\n\n//# sourceURL=webpack://hello-world/./src/assets/common.css?");/***/ }),/***/ "./src/assets/font/iconfont.css":/*!**************************************!*\  !*** ./src/assets/font/iconfont.css ***!  \**************************************//***/ (function(module, __unused_webpack_exports, __webpack_require__) {eval("// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = __webpack_require__(/*! !!../../../node_modules/_css-loader@6.8.1@css-loader/dist/cjs.js??clonedRuleSet-14.use[1]!../../../node_modules/_postcss-loader@6.2.1@postcss-loader/dist/cjs.js??clonedRuleSet-14.use[2]!./iconfont.css */ \"./node_modules/_css-loader@6.8.1@css-loader/dist/cjs.js??clonedRuleSet-14.use[1]!./node_modules/_postcss-loader@6.2.1@postcss-loader/dist/cjs.js??clonedRuleSet-14.use[2]!./src/assets/font/iconfont.css\");\nif(content.__esModule) content = content.default;\nif(typeof content === 'string') content = [[module.id, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar add = (__webpack_require__(/*! !../../../node_modules/_vue-style-loader@4.1.3@vue-style-loader/lib/addStylesClient.js */ \"./node_modules/_vue-style-loader@4.1.3@vue-style-loader/lib/addStylesClient.js\")[\"default\"])\nvar update = add(\"d11a0ada\", content, false, {\"sourceMap\":false,\"shadowMode\":false});\n// Hot Module Replacement\nif(false) {}\n\n//# sourceURL=webpack://hello-world/./src/assets/font/iconfont.css?");/***/ }),/***/ "./node_modules/_vue-style-loader@4.1.3@vue-style-loader/index.js??clonedRuleSet-22.use[0]!./node_modules/_css-loader@6.8.1@css-loader/dist/cjs.js??clonedRuleSet-22.use[1]!./node_modules/_vue-loader@15.10.1@vue-loader/lib/loaders/stylePostLoader.js!./node_modules/_postcss-loader@6.2.1@postcss-loader/dist/cjs.js??clonedRuleSet-22.use[2]!./node_modules/_sass-loader@7.3.1@sass-loader/dist/cjs.js??clonedRuleSet-22.use[3]!./node_modules/_vue-loader@15.10.1@vue-loader/lib/index.js??vue-loader-options!./src/App.vue?vue&type=style&index=1&id=7ba5bd90&lang=scss&scoped=true&":/*!**************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\  !*** ./node_modules/_vue-style-loader@4.1.3@vue-style-loader/index.js??clonedRuleSet-22.use[0]!./node_modules/_css-loader@6.8.1@css-loader/dist/cjs.js??clonedRuleSet-22.use[1]!./node_modules/_vue-loader@15.10.1@vue-loader/lib/loaders/stylePostLoader.js!./node_modules/_postcss-loader@6.2.1@postcss-loader/dist/cjs.js??clonedRuleSet-22.use[2]!./node_modules/_sass-loader@7.3.1@sass-loader/dist/cjs.js??clonedRuleSet-22.use[3]!./node_modules/_vue-loader@15.10.1@vue-loader/lib/index.js??vue-loader-options!./src/App.vue?vue&type=style&index=1&id=7ba5bd90&lang=scss&scoped=true& ***!  \**************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************//***/ (function(module, __unused_webpack_exports, __webpack_require__) {eval("// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = __webpack_require__(/*! !!../node_modules/_css-loader@6.8.1@css-loader/dist/cjs.js??clonedRuleSet-22.use[1]!../node_modules/_vue-loader@15.10.1@vue-loader/lib/loaders/stylePostLoader.js!../node_modules/_postcss-loader@6.2.1@postcss-loader/dist/cjs.js??clonedRuleSet-22.use[2]!../node_modules/_sass-loader@7.3.1@sass-loader/dist/cjs.js??clonedRuleSet-22.use[3]!../node_modules/_vue-loader@15.10.1@vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=style&index=1&id=7ba5bd90&lang=scss&scoped=true& */ \"./node_modules/_css-loader@6.8.1@css-loader/dist/cjs.js??clonedRuleSet-22.use[1]!./node_modules/_vue-loader@15.10.1@vue-loader/lib/loaders/stylePostLoader.js!./node_modules/_postcss-loader@6.2.1@postcss-loader/dist/cjs.js??clonedRuleSet-22.use[2]!./node_modules/_sass-loader@7.3.1@sass-loader/dist/cjs.js??clonedRuleSet-22.use[3]!./node_modules/_vue-loader@15.10.1@vue-loader/lib/index.js??vue-loader-options!./src/App.vue?vue&type=style&index=1&id=7ba5bd90&lang=scss&scoped=true&\");\nif(content.__esModule) content = content.default;\nif(typeof content === 'string') content = [[module.id, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar add = (__webpack_require__(/*! !../node_modules/_vue-style-loader@4.1.3@vue-style-loader/lib/addStylesClient.js */ \"./node_modules/_vue-style-loader@4.1.3@vue-style-loader/lib/addStylesClient.js\")[\"default\"])\nvar update = add(\"d0a83844\", content, false, {\"sourceMap\":false,\"shadowMode\":false});\n// Hot Module Replacement\nif(false) {}\n\n//# sourceURL=webpack://hello-world/./src/App.vue?./node_modules/_vue-style-loader@4.1.3@vue-style-loader/index.js??clonedRuleSet-22.use%5B0%5D!./node_modules/_css-loader@6.8.1@css-loader/dist/cjs.js??clonedRuleSet-22.use%5B1%5D!./node_modules/_vue-loader@15.10.1@vue-loader/lib/loaders/stylePostLoader.js!./node_modules/_postcss-loader@6.2.1@postcss-loader/dist/cjs.js??clonedRuleSet-22.use%5B2%5D!./node_modules/_sass-loader@7.3.1@sass-loader/dist/cjs.js??clonedRuleSet-22.use%5B3%5D!./node_modules/_vue-loader@15.10.1@vue-loader/lib/index.js??vue-loader-options");/***/ }),/***/ "./node_modules/_vue-style-loader@4.1.3@vue-style-loader/index.js??clonedRuleSet-22.use[0]!./node_modules/_css-loader@6.8.1@css-loader/dist/cjs.js??clonedRuleSet-22.use[1]!./node_modules/_vue-loader@15.10.1@vue-loader/lib/loaders/stylePostLoader.js!./node_modules/_postcss-loader@6.2.1@postcss-loader/dist/cjs.js??clonedRuleSet-22.use[2]!./node_modules/_sass-loader@7.3.1@sass-loader/dist/cjs.js??clonedRuleSet-22.use[3]!./node_modules/_vue-loader@15.10.1@vue-loader/lib/index.js??vue-loader-options!./src/pages/mainView/mainView.vue?vue&type=style&index=0&id=5c95f99b&lang=scss&scoped=true&":/*!**********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\  !*** ./node_modules/_vue-style-loader@4.1.3@vue-style-loader/index.js??clonedRuleSet-22.use[0]!./node_modules/_css-loader@6.8.1@css-loader/dist/cjs.js??clonedRuleSet-22.use[1]!./node_modules/_vue-loader@15.10.1@vue-loader/lib/loaders/stylePostLoader.js!./node_modules/_postcss-loader@6.2.1@postcss-loader/dist/cjs.js??clonedRuleSet-22.use[2]!./node_modules/_sass-loader@7.3.1@sass-loader/dist/cjs.js??clonedRuleSet-22.use[3]!./node_modules/_vue-loader@15.10.1@vue-loader/lib/index.js??vue-loader-options!./src/pages/mainView/mainView.vue?vue&type=style&index=0&id=5c95f99b&lang=scss&scoped=true& ***!  \**********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************//***/ (function(module, __unused_webpack_exports, __webpack_require__) {eval("// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = __webpack_require__(/*! !!../../../node_modules/_css-loader@6.8.1@css-loader/dist/cjs.js??clonedRuleSet-22.use[1]!../../../node_modules/_vue-loader@15.10.1@vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/_postcss-loader@6.2.1@postcss-loader/dist/cjs.js??clonedRuleSet-22.use[2]!../../../node_modules/_sass-loader@7.3.1@sass-loader/dist/cjs.js??clonedRuleSet-22.use[3]!../../../node_modules/_vue-loader@15.10.1@vue-loader/lib/index.js??vue-loader-options!./mainView.vue?vue&type=style&index=0&id=5c95f99b&lang=scss&scoped=true& */ \"./node_modules/_css-loader@6.8.1@css-loader/dist/cjs.js??clonedRuleSet-22.use[1]!./node_modules/_vue-loader@15.10.1@vue-loader/lib/loaders/stylePostLoader.js!./node_modules/_postcss-loader@6.2.1@postcss-loader/dist/cjs.js??clonedRuleSet-22.use[2]!./node_modules/_sass-loader@7.3.1@sass-loader/dist/cjs.js??clonedRuleSet-22.use[3]!./node_modules/_vue-loader@15.10.1@vue-loader/lib/index.js??vue-loader-options!./src/pages/mainView/mainView.vue?vue&type=style&index=0&id=5c95f99b&lang=scss&scoped=true&\");\nif(content.__esModule) content = content.default;\nif(typeof content === 'string') content = [[module.id, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar add = (__webpack_require__(/*! !../../../node_modules/_vue-style-loader@4.1.3@vue-style-loader/lib/addStylesClient.js */ \"./node_modules/_vue-style-loader@4.1.3@vue-style-loader/lib/addStylesClient.js\")[\"default\"])\nvar update = add(\"7bf3e1cd\", content, false, {\"sourceMap\":false,\"shadowMode\":false});\n// Hot Module Replacement\nif(false) {}\n\n//# sourceURL=webpack://hello-world/./src/pages/mainView/mainView.vue?./node_modules/_vue-style-loader@4.1.3@vue-style-loader/index.js??clonedRuleSet-22.use%5B0%5D!./node_modules/_css-loader@6.8.1@css-loader/dist/cjs.js??clonedRuleSet-22.use%5B1%5D!./node_modules/_vue-loader@15.10.1@vue-loader/lib/loaders/stylePostLoader.js!./node_modules/_postcss-loader@6.2.1@postcss-loader/dist/cjs.js??clonedRuleSet-22.use%5B2%5D!./node_modules/_sass-loader@7.3.1@sass-loader/dist/cjs.js??clonedRuleSet-22.use%5B3%5D!./node_modules/_vue-loader@15.10.1@vue-loader/lib/index.js??vue-loader-options");/***/ }),/***/ "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAMCAIAAADZF8uwAAAAGUlEQVQYV2M4gwH+YwCGIasIUwhT25BVBADtzYNYrHvv4gAAAABJRU5ErkJggg==":/*!**********************************************************************************************************************************************!*\  !*** data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAMCAIAAADZF8uwAAAAGUlEQVQYV2M4gwH+YwCGIasIUwhT25BVBADtzYNYrHvv4gAAAABJRU5ErkJggg== ***!  \**********************************************************************************************************************************************//***/ (function(module) {"use strict";eval("module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAMCAIAAADZF8uwAAAAGUlEQVQYV2M4gwH+YwCGIasIUwhT25BVBADtzYNYrHvv4gAAAABJRU5ErkJggg==\";\n\n//# sourceURL=webpack://hello-world/data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAMCAIAAADZF8uwAAAAGUlEQVQYV2M4gwH+YwCGIasIUwhT25BVBADtzYNYrHvv4gAAAABJRU5ErkJggg==?");/***/ }),/***/ "./src/assets/font/iconfont.ttf?t=1678862353261":/*!******************************************************!*\  !*** ./src/assets/font/iconfont.ttf?t=1678862353261 ***!  \******************************************************//***/ (function(module, __unused_webpack_exports, __webpack_require__) {"use strict";eval("module.exports = __webpack_require__.p + \"static/fonts/iconfont.96f2aa87.ttf\";\n\n//# sourceURL=webpack://hello-world/./src/assets/font/iconfont.ttf?");/***/ }),/***/ "./src/assets/font/iconfont.woff2?t=1678862353261":/*!********************************************************!*\  !*** ./src/assets/font/iconfont.woff2?t=1678862353261 ***!  \********************************************************//***/ (function(module, __unused_webpack_exports, __webpack_require__) {"use strict";eval("module.exports = __webpack_require__.p + \"static/fonts/iconfont.9e5bae0e.woff2\";\n\n//# sourceURL=webpack://hello-world/./src/assets/font/iconfont.woff2?");/***/ }),/***/ "./src/assets/font/iconfont.woff?t=1678862353261":/*!*******************************************************!*\  !*** ./src/assets/font/iconfont.woff?t=1678862353261 ***!  \*******************************************************//***/ (function(module, __unused_webpack_exports, __webpack_require__) {"use strict";eval("module.exports = __webpack_require__.p + \"static/fonts/iconfont.962990fe.woff\";\n\n//# sourceURL=webpack://hello-world/./src/assets/font/iconfont.woff?");/***/ })/******/ 	});/************************************************************************//******/ 	// The module cache/******/ 	var __webpack_module_cache__ = {};/******/ 	/******/ 	// The require function/******/ 	function __webpack_require__(moduleId) {/******/ 		// Check if module is in cache/******/ 		var cachedModule = __webpack_module_cache__[moduleId];/******/ 		if (cachedModule !== undefined) {/******/ 			return cachedModule.exports;/******/ 		}/******/ 		// Create a new module (and put it into the cache)/******/ 		var module = __webpack_module_cache__[moduleId] = {/******/ 			id: moduleId,/******/ 			// no module.loaded needed/******/ 			exports: {}/******/ 		};/******/ 	/******/ 		// Execute the module function/******/ 		__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);/******/ 	/******/ 		// Return the exports of the module/******/ 		return module.exports;/******/ 	}/******/ 	/******/ 	// expose the modules object (__webpack_modules__)/******/ 	__webpack_require__.m = __webpack_modules__;/******/ 	/************************************************************************//******/ 	/* webpack/runtime/chunk loaded *//******/ 	!function() {/******/ 		var deferred = [];/******/ 		__webpack_require__.O = function(result, chunkIds, fn, priority) {/******/ 			if(chunkIds) {/******/ 				priority = priority || 0;/******/ 				for(var i = deferred.length; i > 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1];/******/ 				deferred[i] = [chunkIds, fn, priority];/******/ 				return;/******/ 			}/******/ 			var notFulfilled = Infinity;/******/ 			for (var i = 0; i < deferred.length; i++) {/******/ 				var chunkIds = deferred[i][0];/******/ 				var fn = deferred[i][1];/******/ 				var priority = deferred[i][2];/******/ 				var fulfilled = true;/******/ 				for (var j = 0; j < chunkIds.length; j++) {/******/ 					if ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__webpack_require__.O).every(function(key) { return __webpack_require__.O[key](chunkIds[j]); })) {/******/ 						chunkIds.splice(j--, 1);/******/ 					} else {/******/ 						fulfilled = false;/******/ 						if(priority < notFulfilled) notFulfilled = priority;/******/ 					}/******/ 				}/******/ 				if(fulfilled) {/******/ 					deferred.splice(i--, 1)/******/ 					var r = fn();/******/ 					if (r !== undefined) result = r;/******/ 				}/******/ 			}/******/ 			return result;/******/ 		};/******/ 	}();/******/ 	/******/ 	/* webpack/runtime/compat get default export *//******/ 	!function() {/******/ 		// getDefaultExport function for compatibility with non-harmony modules/******/ 		__webpack_require__.n = function(module) {/******/ 			var getter = module && module.__esModule ?/******/ 				function() { return module['default']; } :/******/ 				function() { return module; };/******/ 			__webpack_require__.d(getter, { a: getter });/******/ 			return getter;/******/ 		};/******/ 	}();/******/ 	/******/ 	/* webpack/runtime/define property getters *//******/ 	!function() {/******/ 		// define getter functions for harmony exports/******/ 		__webpack_require__.d = function(exports, definition) {/******/ 			for(var key in definition) {/******/ 				if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {/******/ 					Object.defineProperty(exports, key, { enumerable: true, get: definition[key] });/******/ 				}/******/ 			}/******/ 		};/******/ 	}();/******/ 	/******/ 	/* webpack/runtime/global *//******/ 	!function() {/******/ 		__webpack_require__.g = (function() {/******/ 			if (typeof globalThis === 'object') return globalThis;/******/ 			try {/******/ 				return this || new Function('return this')();/******/ 			} catch (e) {/******/ 				if (typeof window === 'object') return window;/******/ 			}/******/ 		})();/******/ 	}();/******/ 	/******/ 	/* webpack/runtime/hasOwnProperty shorthand *//******/ 	!function() {/******/ 		__webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); }/******/ 	}();/******/ 	/******/ 	/* webpack/runtime/make namespace object *//******/ 	!function() {/******/ 		// define __esModule on exports/******/ 		__webpack_require__.r = function(exports) {/******/ 			if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {/******/ 				Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });/******/ 			}/******/ 			Object.defineProperty(exports, '__esModule', { value: true });/******/ 		};/******/ 	}();/******/ 	/******/ 	/* webpack/runtime/publicPath *//******/ 	!function() {/******/ 		__webpack_require__.p = "";/******/ 	}();/******/ 	/******/ 	/* webpack/runtime/jsonp chunk loading *//******/ 	!function() {/******/ 		__webpack_require__.b = document.baseURI || self.location.href;/******/ 		/******/ 		// object to store loaded and loading chunks/******/ 		// undefined = chunk not loaded, null = chunk preloaded/prefetched/******/ 		// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded/******/ 		var installedChunks = {/******/ 			"app": 0/******/ 		};/******/ 		/******/ 		// no chunk on demand loading/******/ 		/******/ 		// no prefetching/******/ 		/******/ 		// no preloaded/******/ 		/******/ 		// no HMR/******/ 		/******/ 		// no HMR manifest/******/ 		/******/ 		__webpack_require__.O.j = function(chunkId) { return installedChunks[chunkId] === 0; };/******/ 		/******/ 		// install a JSONP callback for chunk loading/******/ 		var webpackJsonpCallback = function(parentChunkLoadingFunction, data) {/******/ 			var chunkIds = data[0];/******/ 			var moreModules = data[1];/******/ 			var runtime = data[2];/******/ 			// add "moreModules" to the modules object,/******/ 			// then flag all "chunkIds" as loaded and fire callback/******/ 			var moduleId, chunkId, i = 0;/******/ 			if(chunkIds.some(function(id) { return installedChunks[id] !== 0; })) {/******/ 				for(moduleId in moreModules) {/******/ 					if(__webpack_require__.o(moreModules, moduleId)) {/******/ 						__webpack_require__.m[moduleId] = moreModules[moduleId];/******/ 					}/******/ 				}/******/ 				if(runtime) var result = runtime(__webpack_require__);/******/ 			}/******/ 			if(parentChunkLoadingFunction) parentChunkLoadingFunction(data);/******/ 			for(;i < chunkIds.length; i++) {/******/ 				chunkId = chunkIds[i];/******/ 				if(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {/******/ 					installedChunks[chunkId][0]();/******/ 				}/******/ 				installedChunks[chunkId] = 0;/******/ 			}/******/ 			return __webpack_require__.O(result);/******/ 		}/******/ 		/******/ 		var chunkLoadingGlobal = self["webpackChunkhello_world"] = self["webpackChunkhello_world"] || [];/******/ 		chunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));/******/ 		chunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));/******/ 	}();/******/ 	/************************************************************************//******/ 	/******/ 	// startup/******/ 	// Load entry module and return exports/******/ 	// This entry module depends on other loaded chunks and execution need to be delayed/******/ 	var __webpack_exports__ = __webpack_require__.O(undefined, ["chunk-vendors"], function() { return __webpack_require__("./src/main.js"); })/******/ 	__webpack_exports__ = __webpack_require__.O(__webpack_exports__);/******/ 	/******/ })();
 |