| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606 | /* * 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    let userId = this.$route.query.leavePhoneCustomerId ? this.$route.query.leavePhoneCustomerId : '129130';\n    if (userId) {\n      //如果存在用户id\n      this.$store.dispatch('setUserId', userId);\n    }\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/mynavbar/mynavbar.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/mynavbar/mynavbar.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 _router__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @/router */ \"./src/router/index.js\");\n\nconst util = (__webpack_require__(/*! @/utils/util.js */ \"./src/utils/util.js\")[\"default\"]);\n\n// const config = require('../../static/config.js');\n// let app = getApp(); //获取应用实例\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n  props: {\n    // data\n    // 由父页面传递的数据,变量名字自命名\n    barData: {\n      type: Object,\n      default: {\n        showCapsule: 1,\n        navPadding: 0,\n        navPaddingBg: '#fff',\n        url: '',\n        haveCallback: false,\n        fromShare: false,\n        fromProject: 0,\n        pageId: null,\n        shareToken: null,\n        buildingStyleData: null,\n        buildingCityStyleData: null,\n        currentSelectCity: \"\",\n        normalStatus: true,\n        //常态组件,icon\n        pageName: \"\",\n        houseId: \"\",\n        showNoticeBtn: false,\n        friendTab: [],\n        // 朋友列表\n        friendIndex: 0,\n        // 索引页\n        hasImg: false\n      }\n    },\n    pageTheme: {\n      type: [Object, Array],\n      default: () => {\n        return {\n          textColor1: '' //主文字颜色\n        };\n      }\n    }\n  },\n\n  watch: {\n    barData: {\n      handler(newVal, oldVal) {\n        console.warn(\"***barData-change***\", newVal);\n        if (newVal && newVal.title) {\n          document.title = newVal.title;\n        }\n      },\n      deep: true\n      // immediate:true,\n    }\n  },\n\n  data() {\n    return {\n      hideNavbarFlag: false,\n      height: '64px',\n      statusBarHeight: '20px',\n      // 默认值  默认显示左上角\n      defaultData: {\n        showCapsule: 1,\n        navPadding: 0,\n        navPaddingBg: '',\n        url: '',\n        haveCallback: false,\n        fromShare: false,\n        fromProject: 0,\n        pageId: null,\n        shareToken: null,\n        buildingStyleData: null,\n        buildingCityStyleData: null,\n        currentSelectCity: \"\",\n        normalStatus: true,\n        //常态组件,icon\n        pageName: \"\",\n        houseId: \"\",\n        showNoticeBtn: false,\n        hasImg: false\n      },\n      specialPage: false,\n      baiduTitle: \"\",\n      currentSelectCity: ''\n    };\n  },\n  mounted: function () {\n    console.warn(\"***navbar***\", this.height, this.statusBarHeight);\n    document.title = this.barData.title;\n  },\n  methods: {\n    // 朋友页选择tab\n    tabChange(item) {\n      this.$emit(\"tabChange\", item.id);\n    },\n    compareVersion(v1, v2) {\n      v1 = v1.split('.');\n      v2 = v2.split('.');\n      var len = Math.max(v1.length, v2.length);\n      while (v1.length < len) {\n        v1.push('0');\n      }\n      while (v2.length < len) {\n        v2.push('0');\n      }\n      for (var i = 0; i < len; i++) {\n        var num1 = parseInt(v1[i]);\n        var num2 = parseInt(v2[i]);\n        if (num1 > num2) {\n          return 1;\n        } else if (num1 < num2) {\n          return -1;\n        }\n      }\n      return 0;\n    },\n    navigateFuc(e) {\n      let eventOption = {};\n      this.$emit(\"FloatCpClk\", e, eventOption);\n    },\n    /**\r\n     * 跳转城市\r\n     */\n    cityCpClk(e) {\n      let eventOption = {};\n      this.$emit(\"cityCpClk\", e, eventOption);\n    },\n    //去往城市切换页面\n    goCity() {},\n    // 返回上一步\n    navbackCallback() {\n      const {\n        haveCallback\n      } = this.barData || this.defaultData;\n      if (haveCallback) {\n        this.$emit('navbarBackCallback');\n        return true;\n      }\n      return false;\n    },\n    // 返回上一页面\n    navback(e) {\n      const {\n        url\n      } = this.barData || this.defaultData;\n      const {\n        fromShare\n      } = this.barData || this.defaultData;\n      const {\n        houseId\n      } = this.barData || this.defaultData;\n      const {\n        shareToken\n      } = this.barData || this.defaultData;\n      const {\n        pageName\n      } = this.barData || this.defaultData;\n      // 如果有返回url\n      if (url) {\n        uni.navigateTo({\n          url\n        });\n        return;\n      }\n      // 查看是否是回上一步\n      if (this.navbackCallback()) return;\n      // 是否通过分享进来的\n      if (!fromShare) {\n        //不是通过分享进入小程序的\n        // uni.navigateBack();\n        _router__WEBPACK_IMPORTED_MODULE_1__[\"default\"].go(-1);\n      } else {\n        //当前用户是通过分享进入小程序的\n        //如果当前页面不是项目首页 且存在 houseId 则意味着需要返回到项目首页去\n        console.log('点击返回');\n        _router__WEBPACK_IMPORTED_MODULE_1__[\"default\"].push({\n          name: \"webgl_rxdz\"\n        });\n      }\n    }\n  }\n});\n\n//# sourceURL=webpack://hello-world/./src/components/mynavbar/mynavbar.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/newBottomCom/viewCareful/viewCareful.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/newBottomCom/viewCareful/viewCareful.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\n// const util = require('@/static/utils/util.js');\nconst config = __webpack_require__(/*! @/services/urlConfig.js */ \"./src/services/urlConfig.js\");\n// import Bus from '@/common/bus';\n// import commonMethod from '@/common/commonMethod.js';\n// import requestConfig from '@/static/lib/requestConfig';\n// import bgLoading from \"@/components/bgLoading/bgLoading.vue\"\n// import { nextTick } from \"vue\";\n// const app = getApp(); //获取应用实例\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n  data: function () {\n    return {\n      selectItem: null,\n      carefulList: [],\n      lastCareList: [] //上一次的滑块值\n    };\n  },\n\n  props: {\n    overChange: {\n      //当前页面是否处在忙碌状态\n      type: Boolean,\n      default: false\n    },\n    curHouseObj: {\n      //当前展示的户型\n      type: Object,\n      default: () => {\n        return null;\n      }\n    }\n  },\n  watch: {\n    curHouseObj: {\n      handler(newVal, oldVal) {\n        if (newVal) {\n          console.warn(\"***curHouseObj-CHANGE-viewCareful***\", newVal, oldVal);\n          if (!oldVal || oldVal && oldVal.id != newVal.id) {\n            this.initData();\n          }\n        }\n      }\n    }\n  },\n  mixins: [],\n  async mounted() {\n    //组件挂载时事件\n    // this.initData();\n    // var currPage = getCurrentPages()[getCurrentPages().length - 1] ? getCurrentPages()[getCurrentPages().length - 1].$vm : null;\n    this.$parent.$parent.updateCareFul = this.initData; //页面注册变更方法\n  },\n\n  // 页面被展示时执行\n  onPageShow: function () {},\n  //页面被隐藏时执行\n  onPageHide: function () {},\n  methods: {\n    //初始化数据\n    initData() {\n      // var currPage = getCurrentPages()[getCurrentPages().length - 1] ? getCurrentPages()[getCurrentPages().length - 1].$vm : null;\n      this.carefulList = [];\n      this.lastCareList = [];\n      const spaceDetail = this.curHouseObj;\n      const spaceList = JSON.parse(spaceDetail.houseJson);\n      spaceList && spaceList.forEach((item, index) => {\n        let curSpaceArea = parseFloat(item.spaceWidth * item.spaceHeight / 10000).toFixed(1);\n        let minArea = 0;\n        let maxArea = 100;\n        if (item.hasOwnProperty('spaceWidthMin') && item.hasOwnProperty('spaceHeightMin')) {\n          minArea = parseFloat(item.spaceWidthMin * item.spaceHeightMin / 10000).toFixed(1);\n        }\n        if (item.hasOwnProperty('spaceWidthMax') && item.hasOwnProperty('spaceHeightMax')) {\n          maxArea = parseFloat(item.spaceWidthMax * item.spaceHeightMax / 10000).toFixed(1);\n        }\n        let text = item.spaceName;\n        // console.warn(\"***carefulList-change1***\", item,item.spaceType)\n        if (text && !item.isSizeLock) {\n          //楼梯不显示\n          let data = {\n            spaceId: item.spaceId,\n            index: this.carefulList.length,\n            name: text,\n            area: parseFloat(curSpaceArea),\n            percent: null,\n            minArea: parseFloat(minArea),\n            //最小面积\n            maxArea: parseFloat(maxArea) //最大面积\n          };\n\n          this.carefulList.push(data);\n          this.lastCareList.push({\n            spaceId: item.spaceId,\n            index: this.carefulList.length,\n            area: parseFloat(curSpaceArea)\n          });\n        }\n      });\n      let result = this.carefulList.reduce((prev, cur) => {\n        return prev + parseFloat(cur.area);\n      }, 0);\n      this.carefulList.forEach(it => {\n        if (!result) {\n          it.percent = 100;\n        } else {\n          it.percent = (parseFloat(it.area) / parseFloat(result) * 100).toFixed(0);\n        }\n      });\n      console.warn(\"***viewCareful-change***\", this.carefulList);\n    },\n    sliderChanging(e, item) {\n      // const wallValue = e.detail.value;\n      // item.percent = 60;\n      // console.warn(\"***sliderChanging***\",item)\n      // this.curWallMoveValue = Math.abs(this.curWallValue - wallValue);\n    },\n    sliderChange(e, index) {\n      let value = e.detail ? e.detail.value : e;\n      let item = this.lastCareList[index];\n      console.log(\"滑块值:\", value, item);\n      if (this.overChange) {\n        uni.showToast({\n          title: '请慢一点!',\n          icon: 'none',\n          duration: 2000\n        });\n        return false;\n      }\n      let _area = value - parseFloat(item.area);\n      if (_area == 0) {\n        return false;\n      }\n      let data = {\n        spaceId: item.spaceId,\n        area: Math.abs(_area),\n        isZoomIn: _area > 0 ? true : false\n      };\n      let param = {\n        type: 'CLK',\n        //埋点类型\n        clkId: 'clk_2cmina_23080405',\n        //点击ID\n        clkName: 'zoomin_clk',\n        //点击前往的页面名称\n        clkParams: {\n          locusName: \"精细调整放大\"\n        }\n      };\n      if (_area < 0) {\n        //缩小\n        param = {\n          type: 'CLK',\n          //埋点类型\n          clkId: 'clk_2cmina_23080406',\n          //点击ID\n          clkName: 'zoomout_clk',\n          //点击前往的页面名称\n          clkParams: {\n            locusName: \"精细调整缩小\"\n          }\n        };\n      }\n      // util.trackRequest(param);\n      console.log(\"发送消息-空间变化: \", data, JSON.stringify(item));\n      // this.selectItem = item;\n      item.area = value;\n      // var currPage = getCurrentPages()[getCurrentPages().length - 1] ? getCurrentPages()[getCurrentPages().length - 1].$vm : null;\n      // this.sendMessageAction(JSON.stringify(parmas));\n      this.$parent.$parent.callBackFun = this.callBack; //向父页面注册通知回调函数\n      this.$emit(\"curSpaceChange\", data); //通知父组件-空间面积变化\n    },\n\n    goRoam(spaceId) {\n      // var currPage = getCurrentPages()[getCurrentPages().length - 1] ? getCurrentPages()[getCurrentPages().length - 1].$vm : null;\n      this.$parent.$parent.goRoam1(spaceId);\n    },\n    callBack(type) {\n      console.warn(\"***callBack***\", type);\n      this.$parent.$parent.callBackFun = null; //注销父页面的通知回调函数\n    }\n  }\n});\n\n//# sourceURL=webpack://hello-world/./src/components/newBottomCom/viewCareful/viewCareful.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/newBottomCom/viewMask/viewMask.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/newBottomCom/viewMask/viewMask.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_web_url_search_params_delete_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/web.url-search-params.delete.js */ \"./node_modules/_core-js@3.31.1@core-js/modules/web.url-search-params.delete.js\");\n/* harmony import */ var core_js_modules_web_url_search_params_delete_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_web_url_search_params_delete_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var core_js_modules_web_url_search_params_has_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! core-js/modules/web.url-search-params.has.js */ \"./node_modules/_core-js@3.31.1@core-js/modules/web.url-search-params.has.js\");\n/* harmony import */ var core_js_modules_web_url_search_params_has_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_web_url_search_params_has_js__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var core_js_modules_web_url_search_params_size_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! core-js/modules/web.url-search-params.size.js */ \"./node_modules/_core-js@3.31.1@core-js/modules/web.url-search-params.size.js\");\n/* harmony import */ var core_js_modules_web_url_search_params_size_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_web_url_search_params_size_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 _mixins_touchHandle_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @/mixins/touchHandle.js */ \"./src/mixins/touchHandle.js\");\n\n\n\n\nconst util = (__webpack_require__(/*! @/utils/util.js */ \"./src/utils/util.js\")[\"default\"]);\n// const config = require('@/services/url$config.js');\n\n// import requestConfig from '@/static/lib/requestConfig';\n// const app = getApp(); //获取应用实例\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n  mixins: [_mixins_touchHandle_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"]],\n  data: function () {\n    return {\n      currentIndex: 0,\n      //当前看到的图片序号\n      showAIImage: false,\n      //是否显示当前AI结果集合 默认不显示,因为没有\n      aiImagesList: [],\n      //AI生成的图片列表\n\n      styleList: [],\n      //风格列表数据\n      curStyleIndex: 0,\n      //当前选中的风格序号\n      aiFlag: false,\n      aiImage: \"\",\n      inputBase64Url: \"\",\n      taskId: \"\",\n      // 图生图任务ID\n      img2imgTimer: null,\n      imageWidth: 320,\n      imageHeight: 448,\n      showAIFlag: false,\n      //继续生成状态切换标志\n      checked: false,\n      shottingImg: '',\n      count: 0,\n      random: 1,\n      disableAble: false,\n      spaceTypes: [{\n        icon: \"\",\n        title: \"卧室\",\n        subtitle: \"0个布局\",\n        englishRemark: \"bedroom\"\n      }, {\n        icon: \"\",\n        title: \"客厅\",\n        subtitle: \"0个布局\",\n        englishRemark: \"living room\"\n      }, {\n        icon: \"\",\n        title: \"餐厅\",\n        subtitle: \"0个布局\",\n        englishRemark: \"dinning room\"\n      }, {\n        icon: \"\",\n        title: \"厨房\",\n        subtitle: \"0个个布局\",\n        englishRemark: \"kitchen\"\n      }, {\n        icon: \"\",\n        title: \"玄关\",\n        subtitle: \"0个布局\",\n        englishRemark: \"hallway\"\n      }, {\n        icon: \"\",\n        title: \"卫生间\",\n        subtitle: \"0个布局\",\n        englishRemark: \"bathroom\"\n      }, {\n        icon: \"\",\n        title: \"衣帽间\",\n        subtitle: \"0个布局\",\n        englishRemark: \"walkin closet\"\n      }, {\n        icon: \"\",\n        title: \"收纳\",\n        subtitle: \"0个布局\",\n        englishRemark: \"storage room\"\n      }, {\n        icon: \"\",\n        title: \"阳台\",\n        subtitle: \"0个布局\",\n        englishRemark: \"balcony\"\n      }, {\n        icon: \"\",\n        title: \"飘窗\",\n        subtitle: \"0个布局\",\n        englishRemark: \"bay window\"\n      }, {\n        icon: \"\",\n        title: \"链接空间\",\n        subtitle: \"0个布局\",\n        englishRemark: \"connecting space between two rooms\"\n      }, {\n        icon: \"\",\n        title: \"自定义\",\n        subtitle: \"0个布局\",\n        englishRemark: \"room\"\n      }],\n      myloading: false,\n      loadingMsg: ''\n    };\n  },\n  props: {\n    spaceObj: {\n      type: Object,\n      default: null\n    }\n  },\n  watch: {\n    spaceObj(newVal, oldVal) {\n      if (newVal == null) {\n        return;\n      }\n      console.log(\"当前空间数据view-mark-watch:\", newVal);\n      this.getAiBeautyFamily();\n      // this.curSpaceArea = parseFloat(\n      // \t(newVal.spaceWidth * newVal.spaceHeight) / 10000\n      // ).toFixed(2);\n      // this.getOverallArrangementDetailsList();\n    }\n  },\n\n  mounted() {//组件挂载时事件\n    // console.warn(\"***mounted-nav***\",this.seedItem)\n    // if(this.seedItem){\n    // \tthis.title = this.seedItem.seedText;\n    // }\n  },\n  // 页面被展示时执行\n  onPageShow: function () {},\n  //页面被隐藏时执行\n  onPageHide: function () {},\n  beforeDestroy: function () {\n    console.warn(\"***beforeDestroy***\"); //更新到页面上的数据\n    this.clearInterval();\n  },\n  computed: {\n    aiData() {\n      return this.$store.state.aiData;\n    },\n    curHouseObj() {\n      return this.$store.state.curHouseObj;\n    }\n  },\n  methods: {\n    swiperChangeImg(e) {\n      console.log(e);\n      this.currentIndex = e.detail ? e.detail.current : e;\n      this.checked = this.aiImagesList[this.currentIndex].checked;\n      console.warn(\"***swiperChangeImg***\", this.checked); //更新到页面上的数据\n    },\n\n    //视角切换\n    switchActor() {\n      this.$parent.clearHandle();\n      this.$emit('switchActor');\n      this.showAIImage = false; //隐藏AI结果集合-执行切换视角\n      let index = this.$parent.currentActor.userIndex; //当前视角的序号\n      let nextIndex = (index + 1) % this.$parent.actors.length;\n      let param = {\n        type: 'CLK',\n        //埋点类型\n        clkId: 'clk_2cmina_23080417',\n        //点击ID\n        clkName: 'changeangle_clk',\n        //点击前往的页面名称\n        clkParams: {\n          locusName: \"视角切换\",\n          type: this.$parent.actors[nextIndex].actorEum\n        }\n      };\n      util.trackRequest(param);\n    },\n    showOrHideWebGl() {\n      this.$parent.clearHandle();\n      this.showAIImage = !this.showAIImage;\n      let param = {\n        type: 'CLK',\n        //埋点类型\n        clkId: 'clk_2cmina_23080415',\n        //点击ID\n        clkName: 'contrast_clk',\n        //点击前往的页面名称\n        clkParams: {\n          locusName: \"对比\"\n        }\n      };\n      util.trackRequest(param);\n      setTimeout(() => {\n        if (this.showAIImage == true) {\n          this.$parent.clearHandle();\n        } else {\n          this.$parent.attendEvent();\n        }\n      }, 100);\n    },\n    //保存到相册\n    save() {\n      //表示canvas正在绘制,不能进行保存\n      if (!this.aiImagesList || this.aiImagesList.length == 0) {\n        return false;\n      }\n      var _resultImg = this.aiImagesList[this.currentIndex].image;\n      //正在选择照片,不能生效\n      if (!_resultImg || _resultImg.length == 0) {\n        this.showToast(\"请选中图片后再试!\");\n        return false;\n      }\n      var para = {\n        type: 'CLK',\n        //埋点类型\n        clkId: 'clk_2cmina_56',\n        //点击ID,固定\n        clkName: \"share-savepic\",\n        //点击名称\n        expand: {\n          \"resultImg\": _resultImg || \"\"\n        }\n      };\n      util.trackRequest(para);\n      if (navigator.userAgent.toLocaleLowerCase().includes('micromessenger')) {\n        this.$message(\"请长按图片保存!\");\n      } else {\n        this.saveImageHandle(_resultImg);\n      }\n    },\n    downloadIamge(imgsrc) {\n      //下载图片地址和图片名\n      var fileName = \"4DImage\" + util.formatDate(new Date(), \"yyyyMMddhhmmss\") + '.jpg';\n      const image = new Image();\n      // 解决跨域 Canvas 污染问题\n      image.setAttribute(\"crossOrigin\", \"anonymous\");\n      image.onload = () => {\n        // let canvas = document.createElement(\"canvas\");\n        // canvas.width = image.width;\n        // canvas.height = image.height;\n        // const context = canvas.getContext(\"2d\");\n        // context.drawImage(image, 0, 0, image.width, image.height);\n        // const url = canvas.toDataURL(\"image/jpg\"); //得到图片的base64编码数据\n        const a = document.createElement(\"a\"); // 生成一个a元素\n        const event = new MouseEvent(\"click\"); // 创建一个单击事件\n        a.download = fileName || \"photo\"; // 设置图片名称\n        a.href = imgsrc; // 将生成的URL设置为a.href属性\n        a.dispatchEvent(event); // 触发a的单击事件\n        this.showToast(\"保存成功!\");\n      };\n      image.src = imgsrc;\n    },\n    saveImageHandle(_resultImg) {\n      let param = {\n        type: 'CLK',\n        //埋点类型\n        clkId: 'clk_2cmina_23080414',\n        //点击ID\n        clkName: 'download_clk',\n        //点击前往的页面名称\n        clkParams: {\n          locusName: \"下载\",\n          img: _resultImg\n        }\n      };\n      util.trackRequest(param);\n      this.downloadIamge(_resultImg);\n    },\n    //选项变更\n    changeAIImg() {\n      // let lastPage = getCurrentPages()[getCurrentPages().length - 2] ? getCurrentPages()[getCurrentPages().length - 2].$vm : null;\n      this.checked = !this.checked; //变更选项\n      this.aiImagesList[this.currentIndex].checked = this.checked;\n      console.warn(\"***changeAIImg***\", this.checked, this.aiData);\n      if (this.aiData) {\n        //给上一个页面回传生成的数据\n        let space = this.aiData.find(it => {\n          return it.spaceId == this.spaceObj.spaceId;\n        });\n        if (space) {\n          space.aiImagesList[this.currentIndex].checked = this.checked;\n        }\n      }\n      if (this.checked) {\n        let param = {\n          type: 'CLK',\n          //埋点类型\n          clkId: 'clk_2cmina_23080418',\n          //点击ID\n          clkName: 'chooseprogramme_clk',\n          //点击前往的页面名称\n          clkParams: {\n            locusName: \"选定风格/视角\",\n            style: this.styleList[this.curStyleIndex].styleName,\n            img: this.aiImagesList[this.currentIndex].image\n          }\n        };\n        util.trackRequest(param);\n      }\n    },\n    rightScroll() {\n      //右滑\n      if (this.currentIndex <= this.aiImagesList.length - 1 && this.currentIndex > 0) {\n        // this.currentIndex --;\n        this.$refs.carousel.prev();\n      }\n    },\n    leftScroll() {\n      //继续生成\n      if (this.currentIndex != this.aiImagesList.length - 1) {\n        if (this.currentIndex < this.aiImagesList.length - 1) {\n          // this.currentIndex ++;\n          this.$refs.carousel.next();\n        }\n        return false;\n      }\n      console.log(\"***leftScroll***\", this.currentIndex, this.aiImagesList.length);\n      this.aiSubmit(2); //继续生成下一张\n    },\n\n    catchTapEvent: function () {\n      return false;\n    },\n    //获取AI风格列表\n    async getAiBeautyFamily() {\n      // const spaceName = this.spaceTypes[this.spaceObj.spaceType - 1].title;\n      let res = await requestConfig(\"getHardboundEffects\", {\n        \"houseId\": this.$route.query.houseId,\n        \"spaceType\": this.spaceObj.spaceType\n      });\n      this.styleList = [];\n      if (res.success) {\n        let list = res.list;\n        this.styleList = list;\n      }\n      if (!this.styleList || this.styleList.length == 0) {\n        this.disableAble = true; //不能点击-没有风格\n        let unit = app.globalData.systemInfo.screenWidth / 750; //单位rpx 对应 px 的值\n        this.$parent.canvasHeight = app.globalData.systemInfo.screenHeight - 208 * unit;\n        this.$parent.camera.aspect = app.globalData.systemInfo.screenWidth / this.$parent.canvasHeight;\n        this.$parent.camera.updateProjectionMatrix();\n        this.$parent.renderer.setSize(app.globalData.systemInfo.screenWidth, this.$parent.canvasHeight);\n      } else {\n        this.disableAble = false; //可以点击\n      }\n    },\n\n    clearInterval() {\n      if (this.img2imgTimer) {\n        clearInterval(this.img2imgTimer);\n        this.img2imgTimer = null;\n      }\n      this.random = 1;\n      this.myloading = false;\n    },\n    //风格选择\n    selectStyle(idx) {\n      if (this.curStyleIndex == idx) {\n        return false;\n      }\n      this.curStyleIndex = idx;\n      let param = {\n        type: 'CLK',\n        //埋点类型\n        clkId: 'clk_2cmina_23080416',\n        //点击ID\n        clkName: 'AIstyle_ret_clk',\n        //点击前往的页面名称\n        clkParams: {\n          locusName: \"AI 风格\",\n          type: this.styleList[this.curStyleIndex].styleName\n        }\n      };\n      util.trackRequest(param);\n    },\n    // AI渲染\n    async aiSubmit(type) {\n      if (!this.styleList || this.styleList.length == 0 || this.curStyleIndex == -1 || !this.styleList[this.curStyleIndex].prompt || !this.styleList[this.curStyleIndex].negativePrompt) {\n        return false;\n      }\n      // 防止连续点击处理\n      if (this.aiFlag) {\n        return;\n      }\n      this.aiFlag = true;\n      if (this.aiImage == \"\" || !this.aiImage) {\n        this.aiImage = \"\"; // https://dm.static.elab-plus.com/CE4/backImg.png\n      }\n\n      this.aiImage = \"\";\n      this.clearInterval();\n      if (!this.showAIImage) {\n        this.myloading = true;\n        this.loadingMsg = \"设计中...\";\n        // this.$store.state.loading = true;\n        // this.$store.state.loadingMsg=\"设计中...\";\n      }\n\n      // this.inputBase64Url = await this.shottingAction(2);//开始截图-返回的是base64的数据\n      // this.startServer();\n      this.$emit('hideOrShowActor', 'hide'); //隐藏所有视角\n      // let base64 = await this.$parent.shottingAction(2);//开始截图-返回的是base64\n      let shottingImg = await this.$parent.shottingAction(); //开始截图-返回的是图片地址\n      if (!shottingImg) {\n        this.showToast(\"渲染失败,请重试\");\n        this.$emit('hideOrShowActor', 'show'); //显示选中的视角\n        return false;\n      }\n      // ?x-oss-process=image/auto-orient,1/quality,Q_46/format,jpg //阿里OSS\n      // \"?imageMogr2/auto-orient/format/webp/blur/1x0/quality/75\";//七牛云压缩图片\n      shottingImg += \"?x-oss-process=image/auto-orient,1/quality,Q_46/format,jpg\"; //压缩图片\n      this.shottingImg = shottingImg;\n      this.$emit('hideOrShowActor', 'show'); //显示选中的视角\n      this.changeImg2Base64(this.shottingImg, false);\n      console.warn(\"***shottingImg***\", this.shottingImg);\n      if (type == 1) {\n        let param = {\n          type: 'CLK',\n          //埋点类型\n          clkId: 'clk_2cmina_23080413',\n          //点击ID\n          clkName: 'AIcreate_clk',\n          //点击前往的页面名称\n          clkParams: {\n            locusName: \"AI生成\",\n            userparamter: {\n              shottingImg: this.shottingImg,\n              style: this.styleList[this.curStyleIndex].styleName\n            }\n          }\n        };\n        util.trackRequest(param);\n      } else {\n        let param = {\n          type: 'CLK',\n          //埋点类型\n          clkId: 'clk_2cmina_23080419',\n          //点击ID\n          clkName: 'continueAIcreate_clk',\n          //点击前往的页面名称\n          clkParams: {\n            locusName: \"继续生成\",\n            userparamter: {\n              shottingImg: this.shottingImg,\n              style: this.styleList[this.curStyleIndex].styleName\n            }\n          }\n        };\n        util.trackRequest(param);\n      }\n    },\n    image2Base64(imgUrl) {\n      //导入的图片路径\n      var toBase64 = new Promise(function (resolve, reject) {\n        window.URL = window.URL || window.webkitURL;\n        var xhr = new XMLHttpRequest();\n        xhr.open(\"get\", imgUrl, true);\n        // 至关重要\n        xhr.responseType = \"blob\"; //文件流\n        xhr.onload = function (res) {\n          if (res.currentTarget.status == 200) {\n            //得到一个blob对象\n            var blob = res.currentTarget.response;\n            // 至关重要\n            let oFileReader = new FileReader();\n            oFileReader.onloadend = function (e) {\n              let base64 = e.target.result; //base64\n              resolve(base64);\n            };\n            oFileReader.readAsDataURL(blob);\n          }\n        };\n        xhr.send();\n      });\n      return toBase64;\n    },\n    changeImg2Base64(url, isRepeat) {\n      var self = this;\n      if (isRepeat && self.inputBase64Url) {\n        //重复使用\n        self.startServer();\n      } else {\n        // self.inputBase64Url = Base64Url;\n        // console.log(\"生成inputBase64Url\");\n        this.image2Base64(url).then(base64 => {\n          self.inputBase64Url = base64;\n          self.startServer();\n        });\n        // uni.request({\n        // \turl: url,\n        // \tmethod: \"GET\",\n        // \tresponseType: \"arraybuffer\",\n        // \tsuccess: async (res) => {\n        // \t\tlet base64 = wx.arrayBufferToBase64(res.data);\n        // \t\tlet Base64Url = \"data:image/jpeg;base64,\" + base64;\n        // \t\t// console.log('base64:', Base64Url);\n        // \t\tself.inputBase64Url = Base64Url;\n        // \t\tconsole.log(\"生成inputBase64Url\");\n        // \t\tself.startServer();\n        // \t},\n        // });\n      }\n    },\n\n    //开始图生图流程\n    async startServer() {\n      let data = {\n        \"configType\": \"ControlNet_Config\",\n        \"keyvalue\": \"mix混合风_controlnet_upload\",\n        \"server\": \"simple_and_quiet\",\n        \"model\": \"control_v11p_sd15_mlsd_fp16 [77b5ad24]\",\n        \"cpu\": \"mlsd\",\n        \"session_hash\": Date.now(),\n        \"weight\": 0.8,\n        \"number1\": 0.2,\n        \"number2\": 1,\n        \"number3\": 0.1,\n        \"number4\": 1,\n        \"imageBase64\": this.inputBase64Url\n      };\n      let res1 = await requestConfig(\"AIuploadImgControlNet\", data);\n      if (!res1 || !res1.single) {\n        this.showToast(\"渲染失败,请重试\");\n        this.aiFlag = false;\n        this.aiImage = \"\";\n        return false;\n      }\n      let session_hash = res1.single;\n      data.model = \"control_v11p_sd15_seg_fp16 [ab613144]\";\n      data.cpu = \"seg_ofade20k\";\n      data.weight = 0.5;\n      data.number1 = 0.1;\n      data.number2 = 0.2;\n      data.number3 = 0;\n      data.number4 = 0.1;\n      data.session_hash = session_hash;\n      let res2 = await requestConfig(\"AIuploadImgControlNet\", data);\n      if (!res2 || !res2.success) {\n        this.showToast(\"渲染失败,请重试\");\n        this.aiFlag = false;\n        this.aiImage = \"\";\n        return false;\n      }\n      const prompt = this.styleList[this.curStyleIndex].prompt;\n      const noPromot = this.styleList[this.curStyleIndex].negativePrompt;\n      var parmas = {\n        negativePrompt: noPromot,\n        prompt: prompt,\n        \"batchSize\": 1,\n        brandId: $config.brandId,\n        height: this.imageHeight,\n        width: this.imageWidth,\n        \"moduleType\": \"simple_and_quiet\",\n        \"keyword\": \"img_2_img\",\n        \"steps\": 50,\n        \"sampler\": \"DDIM\",\n        \"controlNetSessionHash\": session_hash,\n        \"cfgScale\": 12,\n        \"denoising\": 0.9\n      };\n      let res = await requestConfig(\"generateTaskImgToImgForAliyun\", parmas);\n      console.log(\"图生图结果:\", res);\n      if (this.$parent.pvCurPageName != \"room_show\") {\n        //说明用户切换页面了\n        console.warn(\"***用户已经退出页面***\");\n        return false;\n      }\n      let that = this;\n      if (res.success && res.single) {\n        if (typeof res.single == \"object\") {\n          this.showToast(`${res.single.queueCount | 0}人排队中,预计等待${Math.round(Math.random() * 20)}秒`);\n          this.aiImage = \"\";\n          this.aiFlag = false;\n          this.clearInterval();\n          return false;\n        }\n        this.taskId = res.single;\n        if (!this.img2imgTimer) {\n          this.count = 0;\n          this.random = 1;\n          this.img2imgTimer = setInterval(() => {\n            this.count++;\n            this.getResultForImgToImg();\n          }, 1000);\n        }\n      } else {\n        this.aiFlag = false;\n        this.aiImage = \"\";\n        this.showToast(\"渲染失败,请重试\");\n      }\n    },\n    // 轮询获取图片结果\n    async getResultForImgToImg() {\n      var parmas = {\n        id: this.taskId\n      };\n      let res = await requestConfig(\"generateProcess\", parmas);\n      // let lastPage = getCurrentPages()[getCurrentPages().length - 2] ? getCurrentPages()[getCurrentPages().length - 2].$vm : null;\n      // console.warn(\"图生图轮询结果:\", res);\n      if (res.success && res.single) {\n        if (res.single.inQueue == false) {\n          if (res.single.urls) {\n            // uni.hideLoading();\n            this.aiFlag = false;\n            this.random = 100;\n            console.warn(\"图生图轮询结束: \", res);\n            this.aiImage = res.single.urls[0];\n            this.showAIFlag = true;\n            let newImage = this.aiImage;\n            let aiStyleName = this.styleList[this.curStyleIndex].styleName;\n            let _data = {\n              image: newImage,\n              checked: false\n            };\n            this.aiImagesList.push(_data);\n            this.showAIImage = true; //显示AI结果集合-因为生成了AI图片\n            if (this.$parent && typeof this.$parent.clearHandle == \"function\") {\n              this.$parent.clearHandle();\n            }\n            let cpAiData = JSON.parse(JSON.stringify(this.aiData)) || [];\n            if (cpAiData) {\n              //给上一个页面回传生成的数据\n              let space = cpAiData.find(it => {\n                return it.houseFloor == this.curHouseObj.houseFloor && it.spaceId == this.spaceObj.spaceId;\n              });\n              if (space) {\n                let data = {\n                  aiStyleName: aiStyleName,\n                  image: newImage,\n                  checked: false\n                };\n                space.aiImagesList.push(data);\n              } else {\n                //不存在则构建数据\n                let data = {\n                  houseFloor: this.curHouseObj.houseFloor,\n                  //当前的楼层\n                  spaceId: this.spaceObj.spaceId,\n                  aiImagesList: [{\n                    aiStyleName: aiStyleName,\n                    image: newImage,\n                    checked: false\n                  }]\n                };\n                cpAiData.push(data);\n              }\n              this.$store.dispatch('setAiData', cpAiData);\n            }\n            this.clearInterval();\n          } else {\n            if (!res.success) {\n              this.showToast(\"渲染失败,请重试\");\n              this.aiFlag = false;\n              this.aiImage = \"\";\n              this.clearInterval();\n            } else {\n              this.random = parseInt(this.count * 2);\n              if (this.random >= 100) {\n                this.random = 99;\n              }\n              if (!this.showAIImage) {\n                // this.$store.state.loadingMsg='生成中…' + this.random + '%';\n                this.loadingMsg = '生成中…' + this.random + '%';\n              } else {}\n            }\n          }\n        } else {\n          this.showToast(`${res.single.queueCount | 0}人排队中,预计等待${Math.round(Math.random() * 20)}秒`);\n          this.aiImage = \"\";\n          this.aiFlag = false;\n          this.clearInterval();\n        }\n      }\n    },\n    showToast(title) {\n      this.$store.state.loading = true;\n      this.$store.state.loadingMsg = title || \"\";\n      setTimeout(() => {\n        this.$store.state.loading = false;\n      }, 3000);\n    }\n  }\n});\n\n//# sourceURL=webpack://hello-world/./src/components/newBottomCom/viewMask/viewMask.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/newBottomCom/viewShell/viewShell.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/newBottomCom/viewShell/viewShell.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 _mixins_touchHandle_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @/mixins/touchHandle.js */ \"./src/mixins/touchHandle.js\");\n/* harmony import */ var _components_newBottomCom_viewlayout_viewlayout_vue__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @/components/newBottomCom/viewlayout/viewlayout.vue */ \"./src/components/newBottomCom/viewlayout/viewlayout.vue\");\n/* harmony import */ var _components_newBottomCom_viewCareful_viewCareful_vue__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @/components/newBottomCom/viewCareful/viewCareful.vue */ \"./src/components/newBottomCom/viewCareful/viewCareful.vue\");\n\nconst util = (__webpack_require__(/*! @/utils/util.js */ \"./src/utils/util.js\")[\"default\"]);\n// import commonMethod from '@/common/commonMethod.js';\n\n// import requestConfig from '@/static/lib/requestConfig';\n\n\n// import viewToolNav from'@/components/newBottomCom/viewToolNav/viewToolNav.vue';\n// import viewStyle from'@/webgl/components/newBottomCom/viewStyle/viewStyle.vue';\n\n// const app = getApp(); //获取应用实例\n// let positions = new Set();\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n  data: function () {\n    return {\n      floorList: [{\n        text: '1F'\n      }, {\n        text: '2F'\n      }],\n      floorId: 0,\n      //楼层选中的id\n      shellHeight: '200rem',\n      isShare: false,\n      shareVideoItem: null,\n      styleType: 1,\n      //当前底部组件的状态\n      seedItem: null,\n      //当前选中的种子户型\n      showSignscoll: true //是否显示手势操作区域\n    };\n  },\n\n  props: {\n    overChange: {\n      //当前选中的户型类型\n      type: Boolean,\n      default: false\n    },\n    pageType: {\n      //当前组件所在的页面类型-决定了使用哪些子组件和样式\n      type: [String, Number],\n      default: 1\n    },\n    curHouseType: {\n      //当前选中的户型类型\n      type: [String, Number],\n      default: ''\n    },\n    houseList: {\n      //当前户型所有的户型详情,可以切换\n      type: Array,\n      default: () => {\n        return [];\n      }\n    },\n    houseObj: {\n      //当前户型的具体详情\n      type: Object,\n      default: () => {\n        return null;\n      }\n    },\n    spaceObj: {\n      //当前户型的空间详情\n      type: Object,\n      default: () => {\n        return null;\n      }\n    }\n  },\n  watch: {\n    curHouseType: {\n      handler(newVal) {\n        if (newVal) {\n          //户型大类发生了变更,此时需要更新楼层信息,并且重新选择具体的户型\n          console.warn(\"***curHouseType-change***\", newVal);\n          this.initData();\n        }\n      }\n    },\n    styleType: {\n      //组件展开状态切换\n      handler(newVal, oldVal) {\n        if (newVal) {\n          console.warn(\"***styleType***\", newVal, oldVal);\n          let _starHeight = parseInt(this.shellHeight);\n          let _endHeight = 380;\n          if (this.inter) {\n            //存在,说明当前还在弹窗过程中\n            return false;\n          }\n          if (newVal == 1) {\n            //变更为初始状态\n            this.shellHeight = '200rem';\n            _endHeight = 200;\n          } else if (newVal == 2) {\n            //变更为展开状态\n            this.shellHeight = '800rem';\n            _endHeight = 800;\n          } else if (newVal == 3) {\n            //变更为最小状态\n            this.shellHeight = '200rem';\n            _endHeight = 200;\n          }\n          // let currPage = getCurrentPages()[getCurrentPages().length - 1] ? getCurrentPages()[getCurrentPages().length - 1].$vm : null;\n          if (this.$parent && this.$parent.hasOwnProperty('canvasHeight')) {\n            this.$parent.gradientResize(1, _starHeight, _endHeight);\n          }\n          this.$parent.styleType = newVal; //变更为展开状态\n        }\n      }\n    }\n    // houseObj: {\n    // \thandler(newVal) {\n    // \t\tif (newVal) {\n    // \t\t\t//户型大类发生了变更,此时需要更新楼层信息,并且重新选择具体的户型\n    // \t\t\tconsole.warn(\"***curHouseType-change***\",newVal)\n    // \t\t}\n    // \t},\n    // },\n  },\n\n  components: {\n    viewlayout: _components_newBottomCom_viewlayout_viewlayout_vue__WEBPACK_IMPORTED_MODULE_2__[\"default\"],\n    viewCareful: _components_newBottomCom_viewCareful_viewCareful_vue__WEBPACK_IMPORTED_MODULE_3__[\"default\"]\n    // viewStyle,\n  },\n\n  mixins: [_mixins_touchHandle_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"]],\n  async mounted() {\n    // await this.getCityHouseList();\n    if (this.pageType == 2) {\n      this.shellHeight = '448rem';\n    }\n    console.warn(\"***viewShell***\", this.houseList);\n  },\n  // 页面被展示时执行\n  onPageShow: function () {},\n  //页面被隐藏时执行\n  onPageHide: function () {\n    // console.warn(\"***detached-hide***\")\n  },\n  methods: {\n    initData() {\n      let houseList = this.houseList;\n      // let currPage = getCurrentPages()[getCurrentPages().length - 1] ? getCurrentPages()[getCurrentPages().length - 1].$vm : null;\n      // let curHouseType = currPage.curHouseType?currPage.curHouseType:houseList[0].spaceStructure;//获取当前页面选中的户型类型\n      let curHouseType = houseList[0].spaceStructure; //获取当前页面选中的户型类型\n      //获取当前选中的户型大类,从中提取楼层信息\n      let curData = houseList.find(item => {\n        return item.spaceStructure == curHouseType;\n      });\n      this.floorList = [];\n      curData.layoutStruct && curData.layoutStruct.forEach(item => {\n        this.floorList.push(item);\n      });\n      console.warn(\"***floorList-init***\", this.floorList);\n      if (this.floorList && this.floorList[0]) {\n        this.floorId = this.floorList[0].id; //默认选中第一个\n        this.$emit(\"curHouseFloorChange\", this.floorList[0]); //通知页面,户型楼层发生了变更\n      }\n    },\n\n    catchTouchMove: function () {\n      return false;\n    },\n    // hideOrShowActor(type){\n    // \tthis.$emit('hideOrShowActor',type);//隐藏所有视角\n    // },\n    //子组件开始录音\n    streamRecord() {\n      this.showSignscoll = false;\n    },\n    //子组件录音结束\n    streamRecordEnd() {\n      this.showSignscoll = true;\n    },\n    //楼层切换\n    floorChange(item) {\n      if (this.floorId == item.id) {\n        return false;\n      }\n      this.floorId = item.id;\n      let param = {\n        type: 'CLK',\n        //埋点类型\n        clkId: 'clk_2cmina_23080410',\n        //点击ID\n        clkName: 'floorswitching_clk',\n        //点击前往的页面名称\n        clkParams: {\n          locusName: \"楼层切换\"\n        }\n      };\n      util.trackRequest(param);\n      this.$emit(\"curHouseFloorChange\", item); //通知页面,户型楼层发生了变更\n    },\n\n    //种子户型变更-户型大类变更\n    seedChange(item) {\n      console.warn(\"***seedChange***\", item);\n      this.seedItem = item;\n      this.$emit(\"curHouseTypeChange\", item); //通知页面,户型大类发生了变更\n    },\n\n    //放大缩小\n    zoomInOut() {\n      if (this.styleType == 2) {\n        this.styleType = 3; //变更为最小状态\n      } else if (this.styleType == 3) {\n        this.styleType = 2; //变更为最大状态\n      }\n    },\n\n    //子组件通知上划到状态2\n    upCom() {\n      if (this.styleType == 1 || this.styleType == 3) {\n        //初始状态 或者 收缩状态\n        this.styleType = 2; //变更为展开状态\n      }\n    },\n\n    curSpaceChange(data) {\n      this.$emit(\"curSpaceChange\", data);\n    },\n    //点击-不是手势动作\n    upScrollOrDown() {\n      if (this.pageType != 1) {\n        //只有1才起作用\n        return false;\n      }\n      if (this.styleType == 1 || this.styleType == 3) {\n        //初始状态 或者 收缩状态\n        this.styleType = 2; //变更为展开状态\n      } else if (this.styleType == 2) {\n        //当前是展开状态,可以下滑\n        this.styleType = 1; //下滑到初始收缩状态\n      }\n    },\n\n    //上划-手势动作\n    upScroll() {\n      if (this.pageType != 1) {\n        //只有1才起作用\n        return false;\n      }\n      if (this.styleType == 1 || this.styleType == 3) {\n        //初始状态 或者 收缩状态\n        this.styleType = 2; //变更为展开状态\n      }\n    },\n\n    //下划-手势动作\n    downScroll() {\n      if (this.pageType != 1) {\n        //只有1才起作用\n        return false;\n      }\n      let carefulList = this.$refs.viewCareful && this.$refs.viewCareful.carefulList ? JSON.parse(JSON.stringify(this.$refs.viewCareful.carefulList)) : {};\n      if (this.styleType == 2 || this.styleType == 3) {\n        //当前是展开状态,可以下滑\n        this.styleType = 1; //下滑到初始收缩状态\n        let trackparam = {\n          type: 'CLK',\n          //埋点类型\n          clkId: 'clk_2cmina_23080404',\n          //点击ID\n          clkName: 'adjust_back_clk',\n          //点击前往的页面名称\n          clkParams: {\n            locusName: \"精细调整返回 /下划线\",\n            userparamter: carefulList\n          }\n        };\n        util.trackRequest(trackparam);\n      }\n    },\n    mynavigateFuc(e) {\n      if (e) {\n        let param = {\n          type: 'CLK',\n          //埋点类型\n          clkId: 'clk_2cmina_23080408',\n          //点击ID\n          clkName: 'WeCom_clk',\n          //点击前往的页面名称\n          clkParams: {\n            locusName: \"联系定制\"\n          }\n        };\n        util.trackRequest(param);\n        this.$message.warning(\"敬请期待\");\n      }\n    }\n  }\n});\n\n//# sourceURL=webpack://hello-world/./src/components/newBottomCom/viewShell/viewShell.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/newBottomCom/viewlayout/viewlayout.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/newBottomCom/viewlayout/viewlayout.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\n// const util = require('@/static/utils/util.js');\nconst config = __webpack_require__(/*! @/services/urlConfig.js */ \"./src/services/urlConfig.js\");\n// import Bus from '@/common/bus';\n// import commonMethod from '@/common/commonMethod.js';\n// import requestConfig from '@/static/lib/requestConfig';\n// import { language } from '@/static/utils/conf.js'\n// const plugin = requirePlugin(\"WechatSI\");\n// 获取**全局唯一**的语音识别管理器**recordRecoManager**\n// const manager = plugin.getRecordRecognitionManager()\n// import bgLoading from \"@/components/bgLoading/bgLoading.vue\"\n// import { nextTick } from \"vue\";\n// const app = getApp(); //获取应用实例\n// let positions = new Set();\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n  data: function () {\n    return {\n      seedLayoutList: [],\n      selectSeedId: null,\n      //当前选中的种子户型id\n      currentTranslate: {\n        // 当前语音输入内容\n        create: '04/27 15:37',\n        text: '等待说话'\n      },\n      recording: false,\n      // 正在录音\n      startX: 0,\n      startY: 0,\n      clientX: 0,\n      clientY: 0,\n      defaultIndex: 0,\n      //默认选中的户型大类\n      carefulList: [],\n      lastSpace: null,\n      //上一个语音操作的空间对象\n      bigWord: \"变大,放大,大一点,变宽\",\n      bigWordPY: \"bianda,fangda,dayidian,biankuan\",\n      smaillWord: \"变小,缩放,小一点,变窄\",\n      smaillWordPY: \"bianxiao,suofang,xiaoyidian,bianzhai\",\n      changeRate: 0.05 //每次变化的比例\n    };\n  },\n\n  props: {\n    houseList: {\n      //当前户型所有的户型详情,可以切换\n      type: Array,\n      default: () => {\n        return [];\n      }\n    },\n    curHouseObj: {\n      //当前展示的户型\n      type: Object,\n      default: () => {\n        return null;\n      }\n    },\n    overChange: {\n      //当前选中的户型类型\n      type: Boolean,\n      default: false\n    },\n    styleType: {\n      type: [String, Number],\n      default: ''\n    }\n  },\n  watch: {\n    houseList: {\n      handler(newVal) {\n        if (newVal) {\n          console.warn(\"***houseList-change***\", newVal);\n          this.initData(newVal);\n        }\n      }\n    },\n    curHouseObj: {\n      handler(newVal, oldVal) {\n        if (newVal) {\n          console.warn(\"***curHouseObj-CHANGE-layout***\", newVal);\n          if (oldVal && oldVal.id != newVal.id || !oldVal) {\n            this.initSpanceData();\n          }\n        }\n      }\n    }\n  },\n  async mounted() {\n    // this.getRecordAuth();//获取录音权限\n    // this.initRecord();\n    // var currPage = getCurrentPages()[getCurrentPages().length - 1] ? getCurrentPages()[getCurrentPages().length - 1].$vm : null;\n    // currPage.updateSpanceData = this.initSpanceData;//页面注册变更方法\n  },\n  // 页面被展示时执行\n  onPageShow: function () {},\n  //页面被隐藏时执行\n  onPageHide: function () {\n    console.warn(\"***detached-hide***\");\n  },\n  methods: {\n    initSpanceData() {\n      this.carefulList = [];\n      // var currPage = getCurrentPages()[getCurrentPages().length - 1] ? getCurrentPages()[getCurrentPages().length - 1].$vm : null;\n      const spaceDetail = this.curHouseObj;\n      const spaceList = JSON.parse(spaceDetail.houseJson);\n      spaceList && spaceList.forEach(async (item, index) => {\n        let curSpaceArea = parseFloat(item.spaceWidth * item.spaceHeight / 10000).toFixed(1);\n        let minArea = 0;\n        let maxArea = 100;\n        if (item.hasOwnProperty('spaceWidthMin') && item.hasOwnProperty('spaceHeightMin')) {\n          minArea = parseFloat(item.spaceWidthMin * item.spaceHeightMin / 10000).toFixed(1);\n        }\n        if (item.hasOwnProperty('spaceWidthMax') && item.hasOwnProperty('spaceHeightMax')) {\n          maxArea = parseFloat(item.spaceWidthMax * item.spaceHeightMax / 10000).toFixed(1);\n        }\n        let text = item.spaceName;\n        if (text && !item.isSizeLock) {\n          // let res = await requestConfig(\"chineseToPinyin\", {chinese:text},true);\n          // let pinyin = res.single;\n          let data = {\n            spaceId: item.spaceId,\n            index: this.carefulList.length,\n            name: text,\n            namePY: '',\n            area: curSpaceArea,\n            percent: null,\n            minArea: minArea,\n            //最小面积\n            maxArea: maxArea //最大面积\n          };\n\n          this.carefulList.push(data);\n        }\n      });\n      console.warn(\"***viewlayout-init***\", this.carefulList);\n    },\n    initData(houseList) {\n      this.seedLayoutList = [];\n      houseList && houseList.forEach(item => {\n        let data = {\n          spaceStructure: item.spaceStructure,\n          spaceName: item.spaceName,\n          set: false //是否已经设置过\n        };\n\n        this.seedLayoutList.push(data);\n      });\n      // var currPage = getCurrentPages()[getCurrentPages().length - 1] ? getCurrentPages()[getCurrentPages().length - 1].$vm : null;\n      // if(currPage.curHouseType){//获取当前页面选中的户型类型\n      // \tthis.selectSeedId = currPage.curHouseType\n      // } else if(this.seedLayoutList && this.seedLayoutList[this.defaultIndex]){//默认选中第一个\n      // \tthis.selectSeedId = this.seedLayoutList[this.defaultIndex].spaceStructure;\n      // }\n      this.selectSeedId = this.seedLayoutList[this.defaultIndex].spaceStructure;\n      if (this.selectSeedId) {\n        let item = this.seedLayoutList.find(it => {\n          return it.spaceStructure == this.selectSeedId;\n        });\n        this.$emit(\"seedChange\", item); //通知父组件-当前已经选中了户型大类\n        let param = {\n          type: 'CLK',\n          //埋点类型\n          clkId: 'clk_2cmina_23080402',\n          //点击ID\n          clkName: 'seedroom_clk',\n          //点击前往的页面名称\n          clkParams: {\n            type: item.spaceName,\n            locusValue: item.spaceStructure,\n            locusName: \"切换种子户型\"\n          }\n        };\n        // util.trackRequest(param);\n      }\n\n      console.warn(\"***curHouseType-init***\", this.seedLayoutList);\n    },\n    // seedItemCheck(item) {\n    // \tif (!item || !item.spaceStructure) {\n    // \t\treturn false;\n    // \t}\n    // \tif (item.spaceStructure == this.selectSeedId) {\n    // \t\treturn false;\n    // \t}\n    // \tthis.selectSeedId = item.spaceStructure;\n    // \tthis.$emit(\"seedChange\", item);\n    // \tlet param = {\n    // \t\ttype: 'CLK', //埋点类型\n    // \t\tclkId: 'clk_2cmina_23080402', //点击ID\n    // \t\tclkName: 'seedroom_clk', //点击前往的页面名称\n    // \t\tclkParams: {\n    // \t\t\ttype: item.spaceName,\n    // \t\t\tlocusValue: item.spaceStructure,\n    // \t\t\tlocusName: \"切换种子户型\",\n    // \t\t}\n    // \t};\n    // \t// util.trackRequest(param);\n    // },\n    //上划触发\n    upCom() {\n      console.warn(\"***upCom***\");\n      this.$emit(\"upCom\");\n      let param = {\n        type: 'CLK',\n        //埋点类型\n        clkId: 'clk_2cmina_23080403',\n        //点击ID\n        clkName: 'adjust_clk',\n        //点击前往的页面名称\n        clkParams: {\n          locusName: \"精细调整\"\n        }\n      };\n      // util.trackRequest(param);\n    },\n\n    //获取录音权限\n    getRecordAuth: function () {\n      uni.getSetting({\n        success(res) {\n          console.log(\"succ\");\n          console.log(res);\n          if (!res.authSetting['scope.record']) {\n            uni.authorize({\n              scope: 'scope.record',\n              success() {\n                // 用户已经同意小程序使用录音功能,后续调用 wx.startRecord 接口不会弹窗询问\n                console.log(\"succ auth\");\n              },\n              fail() {\n                console.log(\"fail auth\");\n              }\n            });\n          } else {\n            console.log(\"record has been authed\");\n          }\n        },\n        fail(res) {\n          console.log(\"fail\");\n          console.log(res);\n        }\n      });\n    },\n    //求最长公共子集\n    findSubStr(str1, str2) {\n      if (str1.length > str2.length) {\n        var temp = str1;\n        str1 = str2;\n        str2 = temp;\n      }\n      let len1 = str1.length;\n      let len2 = str2.length;\n      for (var j = len1; j > 0; j--) {\n        for (var i = 0; i < len1 - j; i++) {\n          var current = str1.substr(i, j);\n          if (str2.indexOf(current) >= 0) {\n            return current;\n          }\n        }\n      }\n      return \"\";\n    },\n    //声音变化\n    async textChange(text) {\n      if (this.overChange) {\n        uni.showToast({\n          title: '请慢一点',\n          icon: 'none',\n          duration: 2000\n        });\n        return false;\n      }\n      let res = await requestConfig(\"chineseToPinyin\", {\n        chinese: text\n      });\n      let pinyin = res.single;\n      console.warn(\"****pinyin***\", pinyin);\n      text = pinyin;\n      //全匹配轮一遍\n      let curSpace = this.carefulList.find(space => {\n        return text.includes(space.namePY);\n      });\n      if (!curSpace) {\n        let list = this.carefulList.map((space, index) => {\n          let comStr = this.findSubStr(text, space.namePY + ' ');\n          return {\n            spaceId: space.spaceId,\n            namePY: space.namePY,\n            name: space.name,\n            comStr,\n            index\n          };\n        });\n        //寻找5个字符串以上的\n        let tmpList = list.filter(it => {\n          return it.comStr.length > 5;\n        });\n        if (tmpList && tmpList.length > 0) {\n          tmpList.sort((a, b) => a.comStr.length - b.comStr.length);\n          let index = tmpList[tmpList.length - 1].index; //最大值在carefulList的序号\n          curSpace = this.carefulList[index]; //\n        } else {\n          curSpace = this.lastSpace;\n        }\n      }\n\n      //没有找到语音操作对象\n      if (!curSpace) {\n        uni.showToast({\n          title: '请再说一次',\n          icon: 'none',\n          duration: 2000\n        });\n        return false;\n      }\n      this.lastSpace = curSpace;\n      console.log(\"textChange:\", curSpace, this.carefulList, text, this.bigWordPY, this.smaillWordPY);\n      let biglist = this.bigWordPY.split(',').map(word => {\n        return text.lastIndexOf(word);\n      });\n      let smalllist = this.smaillWordPY.split(',').map(word => {\n        return text.lastIndexOf(word);\n      });\n      let a = Math.max(...biglist);\n      let b = Math.max(...smalllist);\n      let big = false;\n      if (a == -1 && b == -1) {\n        //都没命中\n        uni.showToast({\n          title: '请再说一次',\n          icon: 'none',\n          duration: 2000\n        });\n        return false;\n      } else if (a > -1 && b > -1) {\n        //两个都命中了\n        if (a > b) {\n          //放大靠后-命中靠后\n          big = true;\n        } else {\n          big = false;\n        }\n      } else if (a > -1) {\n        big = true;\n      }\n      let _area = parseFloat(curSpace.area) * this.changeRate;\n      let data = {\n        spaceId: curSpace.spaceId,\n        area: _area,\n        isZoomIn: big //true 放大 false 缩放\n      };\n\n      console.log(\"viewlayout-发送消息-空间变化: \", data, curSpace.area, big);\n      uni.showToast({\n        title: '正在变化,请稍后',\n        icon: 'none',\n        duration: 2000\n      });\n      // this.sendMessageAction(JSON.stringify(parmas));\n      this.$emit(\"curSpaceChange\", data); //通知父组件-当前已经选中了户型大类\n    },\n\n    /**\r\n     * 初始化语音识别回调\r\n     * 绑定语音播放开始事件\r\n     */\n    initRecord: function () {\n      // var currPage = getCurrentPages()[getCurrentPages().length - 1] ? getCurrentPages()[getCurrentPages().length - 1].$vm : null;\n      //有新的识别内容返回,则会调用此事件\n      manager.onRecognize = res => {\n        let currentData = Object.assign({}, this.currentTranslate, {\n          text: res.result\n        });\n        this.currentTranslate = currentData;\n        console.warn(\"***manager-正在录音***\", this.currentTranslate);\n      };\n      // 识别结束事件\n      manager.onStop = res => {\n        console.warn(\"***manager-识别结束0***\", this.recording, res);\n        // this.textChange(\"客厅大一点\");\n        if (this.recording == false) {\n          //已经强制结束识别了\n          return false; //不识别\n        }\n\n        let text = res.result;\n        if (text == '') {\n          //识别内容为空时的反馈\n          this.showRecordEmptyTip();\n          return;\n        }\n        console.warn(\"***manager-识别结束***\", text);\n        let param = {\n          type: 'CLK',\n          //埋点类型\n          clkId: 'clk_2cmina_23080407',\n          //点击ID\n          clkName: 'voice_clk',\n          //点击前往的页面名称\n          clkParams: {\n            locusName: \"语音调整\",\n            text: text\n          }\n        };\n        // util.trackRequest(param);\n        text = text.replaceAll(/,|。/ig, \"\");\n        this.textChange(text);\n        this.stopRecordHandle();\n        //翻译\n        // this.translateText(currentData, this.dialogList.length)\n      };\n\n      // 识别错误事件\n      manager.onError = res => {\n        console.warn(\"***manager-识别错误***\", this.recording, res);\n        if (this.recording == false) {\n          return false;\n        }\n        this.stopRecordHandle();\n        uni.showToast({\n          title: '请再说一次',\n          icon: 'none',\n          duration: 2000\n        });\n      };\n      // 语音播放开始事件\n      uni.onBackgroundAudioPlay(res => {\n        const backgroundAudioManager = uni.getBackgroundAudioManager();\n        let src = backgroundAudioManager.src;\n        this.currentTranslateVoice = src;\n      });\n    },\n    //执行停止录音的方法\n    stopRecordHandle() {\n      // var currPage = getCurrentPages()[getCurrentPages().length - 1] ? getCurrentPages()[getCurrentPages().length - 1].$vm : null;\n      this.recording = false;\n      this.$emit(\"streamRecordEnd\"); //通知父组件\n      // currPage.voiceMaskChange(false);//关闭蒙层\n    },\n\n    //用户语音为空\n    showRecordEmptyTip() {\n      this.stopRecordHandle();\n      uni.showToast({\n        title: '告诉我您的想法',\n        icon: 'none',\n        duration: 2000\n      });\n    },\n    catchTapEvent: function () {\n      return false;\n    },\n    /**\r\n     * 按住按钮开始语音识别\r\n     */\n    streamRecord: function (e) {\n      // this.getRecordAuth();//获取录音权限\n      console.warn(\"streamrecord\", e);\n      let currPage = getCurrentPages()[getCurrentPages().length - 1] ? getCurrentPages()[getCurrentPages().length - 1].$vm : null;\n      // let buttonItem = detail.buttonItem || {}\n      manager.start({\n        lang: language[0].lang_content\n      });\n      // this.recordStatus = 0;\n      this.clientX = 0;\n      this.clientY = 0;\n      this.startX = e.changedTouches[0].clientX;\n      this.startY = e.changedTouches[0].clientY;\n      this.recording = true; //录音中\n      currPage.voiceMaskChange(true); //显示蒙层\n      this.$emit(\"streamRecord\");\n    },\n    mytouchmove(e) {\n      let startX = this.startX; // 开始x坐标 \n      let startY = this.startY; //开始y坐标\n      let touchMoveX = e.changedTouches[0].clientx; //滑动变化坐标 \n      let touchMoveY = e.changedTouches[0].clientY; //滑动变化坐标 \n      this.clientX = touchMoveX - startX;\n      this.clientY = touchMoveY - startY;\n    },\n    angle(start, end) {\n      let _X = end.X - start.X;\n      let _Y = end.Y - start.Y;\n      if (_X == 0) return 90;\n      return 360 * Math.atan(_Y / _X / (2 * Math.PI));\n    },\n    /**\r\n     * 松开按钮结束语音识别\r\n     */\n    streamRecordEnd: function (e) {\n      console.warn(\"streamRecordEnd\", this.recording, e);\n      // let detail = e.detail || {} // 自定义组件触发事件时提供的detail对象\n      // let buttonItem = detail.buttonItem || {}\n\n      // 防止重复触发stop函数\n      if (this.recording == false) {\n        console.warn(\"has finished!\");\n        return;\n      }\n      let startX = this.startX; // 开始x坐标\n      let startY = this.startY; //开始y坐标\n      let touchMoveX = e.changedTouches[0].clientX; //滑动变化坐标 \n      let touchMoveY = e.changedTouches[0].clientY; //滑动变化坐标 \n      let angle = this.angle({\n        X: startX,\n        Y: startY\n      }, {\n        X: touchMoveX,\n        Y: touchMoveY\n      });\n      //滑动角度超过45retrun\n      // console.log(Math.abs(angle), \"Math.abs(angle)\")\n      if (Math.abs(angle) > 45) {\n        //上下滑动\n        if (startY > touchMoveY && startY - touchMoveY > 20) {\n          //上滑\n          console.warn(\"***touchend-上滑***\", startY - touchMoveY);\n          this.stopRecordHandle(); //停止录音了\n          manager.stop();\n          uni.showToast({\n            title: '识别已取消!',\n            icon: 'none',\n            duration: 2000\n          });\n        } else {\n          this.stopRecordHandle(); //停止录音了\n          manager.stop();\n          console.warn(\"streamRecordEnd-stop1\", this.recording);\n        }\n      } else {\n        this.stopRecordHandle(); //停止录音了\n        manager.stop();\n        console.warn(\"streamRecordEnd-stop2\", this.recording);\n      }\n    }\n  }\n});\n\n//# sourceURL=webpack://hello-world/./src/components/newBottomCom/viewlayout/viewlayout.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_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_11__ = __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_15__ = __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_14__ = __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_13__ = __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_12__ = __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 _router__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @/router */ \"./src/router/index.js\");\n/* harmony import */ var _static_wallData_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @/static/wallData.js */ \"./src/static/wallData.js\");\n/* harmony import */ var _static_wallData_js__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_static_wallData_js__WEBPACK_IMPORTED_MODULE_5__);\n/* harmony import */ var _mixins_screenshot_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @/mixins/screenshot.js */ \"./src/mixins/screenshot.js\");\n/* harmony import */ var _mixins_floorMethod_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @/mixins/floorMethod.js */ \"./src/mixins/floorMethod.js\");\n/* harmony import */ var _mixins_wallMethod_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! @/mixins/wallMethod.js */ \"./src/mixins/wallMethod.js\");\n/* harmony import */ var _mixins_loadModel_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! @/mixins/loadModel.js */ \"./src/mixins/loadModel.js\");\n/* harmony import */ var _components_newBottomCom_viewShell_viewShell_vue__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! @/components/newBottomCom/viewShell/viewShell.vue */ \"./src/components/newBottomCom/viewShell/viewShell.vue\");\n\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\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n  components: {\n    viewShell: _components_newBottomCom_viewShell_viewShell_vue__WEBPACK_IMPORTED_MODULE_10__[\"default\"]\n  },\n  mixins: [_mixins_screenshot_js__WEBPACK_IMPORTED_MODULE_6__[\"default\"], _mixins_floorMethod_js__WEBPACK_IMPORTED_MODULE_7__[\"default\"], _mixins_wallMethod_js__WEBPACK_IMPORTED_MODULE_8__[\"default\"], _mixins_loadModel_js__WEBPACK_IMPORTED_MODULE_9__[\"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,\n      //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  destroyed() {\n    cancelAnimationFrame(requestId, this.canvas);\n    this.worker && this.worker.terminate();\n    setTimeout(() => {\n      if (this.renderer instanceof three__WEBPACK_IMPORTED_MODULE_11__.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_12__[\"default\"] && three_addons_libs_tween_module_js__WEBPACK_IMPORTED_MODULE_12__[\"default\"].removeAll(); //清除所有的tween;\n    }, 0);\n  },\n  mounted() {\n    var that = this;\n    this.houseId = '100296'; //\n    this.childLayout = '0';\n    let unit = window.screen.width / 750; //单位rpm 对应 px 的值\n    that.canvasHeight = window.screen.height - 200 * unit + 20 * unit;\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_13__.GLTFLoader();\n    // if(this.childLayout){\n    this.getInitData(); //请求获取页面模型数据等\n    // }\n    let scene = this.scene = new three__WEBPACK_IMPORTED_MODULE_11__.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.updateLables = updateLables;\n    this.enableRenderHandle = enableRender;\n    this.tweenCameraAnmaChange = tweenCameraAnmaChange;\n    this.gradientResize = gradientResize;\n    this.moveMeshCenterHandle = moveMeshCenterHandle;\n    this.starRender = starRender; //对外暴露启动渲染的方法\n    this.cameraInit = cameraInit;\n    this.resetControl = resetControl;\n    function init() {\n      scene.background = new three__WEBPACK_IMPORTED_MODULE_11__.Color(\"#FFFFFF\");\n      // scene.environment = new THREE.Color(\"#F2F2F2\");\n\n      // 创建相机位置-投影相机\n      camera = new three__WEBPACK_IMPORTED_MODULE_11__.PerspectiveCamera(80, window.innerWidth / that.canvasHeight, 0.1, 10000);\n      // let aspect = window.innerWidth /  that.canvasHeight;\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      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_11__.AmbientLight(0xFFEFE0, 2);\n      scene.add(ambientLight);\n      //平行光\n      const light = new three__WEBPACK_IMPORTED_MODULE_11__.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_11__.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__WEBPACK_IMPORTED_MODULE_11__.PCFSoftShadowMap; // 阴影属性\n      renderer.outputEncoding = three__WEBPACK_IMPORTED_MODULE_11__.sRGBEncoding;\n      renderer.outputColorSpace = three__WEBPACK_IMPORTED_MODULE_11__.SRGBColorSpace;\n      // renderer.toneMappingExposure = 0.1;//色调映射的曝光级别。默认是1\n      renderer.toneMapping = three__WEBPACK_IMPORTED_MODULE_11__.NoToneMapping; //色调映射\n      renderer.physicallyCorrectLights = true; //关键参数,模拟物理光照影响,必须设置为true\n\n      renderer.setPixelRatio(window.devicePixelRatio);\n      renderer.setSize(window.innerWidth, that.canvasHeight);\n      container.appendChild(renderer.domElement);\n      controls = new three_addons_controls_OrbitControls_js__WEBPACK_IMPORTED_MODULE_14__.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      // 监听\n      // renderer.domElement.addEventListener('resize', onWindowResize );\n      stats = new three_addons_libs_stats_module_js__WEBPACK_IMPORTED_MODULE_15__[\"default\"]();\n      container.appendChild(stats.dom);\n      attendEvent(); //注册监听事件\n      starRender(); //启动渲染\n      cameraInit(); //初始化摄像头\n      controls.saveState(); //保存当前控制器的状态\n    }\n    //初始化相机位置\n    function cameraInit() {\n      camera.position.set(that.cameraStarPosition.x, that.cameraStarPosition.y, that.cameraStarPosition.z);\n      camera.lookAt(that.controlStarPosition.x, that.controlStarPosition.y, that.controlStarPosition.z);\n    }\n    //初始状态\n    function resetControl() {\n      controls.reset();\n    }\n    function onWindowResize() {\n      camera.aspect = window.innerWidth / that.canvasHeight;\n      camera.updateProjectionMatrix();\n      renderer.setSize(window.innerWidth, that.canvasHeight);\n      console.warn(\"****onWindowResize**\");\n    }\n    function attendEvent() {\n      window.addEventListener('resize', onWindowResize);\n      renderer.domElement.addEventListener('touchstart', onPointerStart, false);\n      renderer.domElement.addEventListener('touchmove', onPointerMove, false);\n      renderer.domElement.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      renderer.domElement && renderer.domElement.removeEventListener('touchstart', onPointerStart);\n      renderer.domElement && renderer.domElement.removeEventListener('touchmove', onPointerMove);\n      renderer.domElement && renderer.domElement.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      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        that.showLables = true;\n        updateLables();\n      }\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        updateLables();\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_12__[\"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_12__[\"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_11__.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_11__.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 = window.screen.width / 750;//单位rpm 对应 px 的值\n      // that.canvasHeight = window.screen.height - (200 * unit) + (20 * unit);\n\n      let unit = window.screen.width / 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_12__[\"default\"].Tween({\n        h1: _jisua\n      }).to({\n        h1: lastHeight\n      }, 1000).easing(three_addons_libs_tween_module_js__WEBPACK_IMPORTED_MODULE_12__[\"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        that.showLables = true;\n        updateLables(); //更新lable\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_11__.Matrix4(); //定义一个四维矩阵\n        instancedMesh.getMatrixAt(item.instancedAtIndex, stratMatrix); //获取当前几何体的四维矩阵到stratMatrix里面\n        let position = new three__WEBPACK_IMPORTED_MODULE_11__.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) * that.canvasHeight;\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_12__[\"default\"] && three_addons_libs_tween_module_js__WEBPACK_IMPORTED_MODULE_12__[\"default\"].update();\n      stats.update();\n      //不处在动画过程中,则可以处理移动等动作\n      if (tweenCameraAnma == false) {\n        controls.update();\n        // updateLables();//更新lable\n      }\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_11__.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_11__.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.cameraInit();\n      this.resetControl();\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\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        houseId: this.houseId\n      };\n      this.$store.dispatch('setCurHouseObj', this.curHouseObj);\n      // if(this.repeatFlag){\n      // \treturn false;\n      // }\n      // this.repeatFlag = true;\n      _router__WEBPACK_IMPORTED_MODULE_4__[\"default\"].push({\n        name: \"webgl_rxdz_roam\",\n        query: data\n      });\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    },\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      this.showLables = true;\n      this.updateLables(); //更新lable\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      this.getOverallArrangementDetailsList(2);\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            this.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_5___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/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/index.js??vue-loader-options!./src/pages/webgl_rxdz/webgl_rxdz.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/webgl_rxdz/webgl_rxdz.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 three__WEBPACK_IMPORTED_MODULE_8__ = __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_12__ = __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_11__ = __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_10__ = __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_9__ = __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 _router__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @/router */ \"./src/router/index.js\");\n/* harmony import */ var _static_wallData_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @/static/wallData.js */ \"./src/static/wallData.js\");\n/* harmony import */ var _static_wallData_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_static_wallData_js__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _mixins_screenshot_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @/mixins/screenshot.js */ \"./src/mixins/screenshot.js\");\n/* harmony import */ var _mixins_floorMethod_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @/mixins/floorMethod.js */ \"./src/mixins/floorMethod.js\");\n/* harmony import */ var _mixins_wallMethod_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @/mixins/wallMethod.js */ \"./src/mixins/wallMethod.js\");\n/* harmony import */ var _mixins_loadModel_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @/mixins/loadModel.js */ \"./src/mixins/loadModel.js\");\n/* harmony import */ var _components_newBottomCom_viewShell_viewShell_vue__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @/components/newBottomCom/viewShell/viewShell.vue */ \"./src/components/newBottomCom/viewShell/viewShell.vue\");\n\n\n\n\n\n\n\nvar requestId = \"\";\nconst util = (__webpack_require__(/*! @/utils/util.js */ \"./src/utils/util.js\")[\"default\"]);\n// const config = require('@/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\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n  components: {\n    viewShell: _components_newBottomCom_viewShell_viewShell_vue__WEBPACK_IMPORTED_MODULE_7__[\"default\"]\n  },\n  mixins: [_mixins_screenshot_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"], _mixins_floorMethod_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"], _mixins_wallMethod_js__WEBPACK_IMPORTED_MODULE_5__[\"default\"], _mixins_loadModel_js__WEBPACK_IMPORTED_MODULE_6__[\"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: 0,\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,\n      //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\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  beforeDestroy() {\n    cancelAnimationFrame(requestId, this.canvas);\n    this.worker && this.worker.terminate();\n    // setTimeout(() => {\n    if (this.renderer instanceof three__WEBPACK_IMPORTED_MODULE_8__.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_9__[\"default\"] && three_addons_libs_tween_module_js__WEBPACK_IMPORTED_MODULE_9__[\"default\"].removeAll(); //清除所有的tween;\n    // }, 0)\n    console.warn(\"***beforeDestroy-webgl_rxdz***\");\n  },\n  mounted() {\n    var that = this;\n    this.houseId = '100296'; //\n    this.childLayout = '0';\n    let unit = window.screen.width / 750; //单位rpm 对应 px 的值\n    that.canvasHeight = window.screen.height - 200 * unit + 20 * unit;\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_10__.GLTFLoader();\n    // if(this.childLayout){\n    this.getInitData(); //请求获取页面模型数据等\n    // }\n    let scene = this.scene = new three__WEBPACK_IMPORTED_MODULE_8__.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.updateLables = updateLables;\n    this.enableRenderHandle = enableRender;\n    this.tweenCameraAnmaChange = tweenCameraAnmaChange;\n    this.gradientResize = gradientResize;\n    this.moveMeshCenterHandle = moveMeshCenterHandle;\n    this.starRender = starRender; //对外暴露启动渲染的方法\n    this.cameraInit = cameraInit;\n    this.resetControl = resetControl;\n    function init() {\n      scene.background = new three__WEBPACK_IMPORTED_MODULE_8__.Color(\"#FFFFFF\");\n      // scene.environment = new THREE.Color(\"#F2F2F2\");\n\n      // 创建相机位置-投影相机\n      camera = new three__WEBPACK_IMPORTED_MODULE_8__.PerspectiveCamera(80, window.screen.width / that.canvasHeight, 0.1, 10000);\n      // let aspect = window.screen.width /  that.canvasHeight;\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      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_8__.AmbientLight(0xFFEFE0, 2);\n      scene.add(ambientLight);\n      //平行光\n      const light = new three__WEBPACK_IMPORTED_MODULE_8__.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_8__.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__WEBPACK_IMPORTED_MODULE_8__.PCFSoftShadowMap; // 阴影属性\n      renderer.outputEncoding = three__WEBPACK_IMPORTED_MODULE_8__.sRGBEncoding;\n      renderer.outputColorSpace = three__WEBPACK_IMPORTED_MODULE_8__.SRGBColorSpace;\n      // renderer.toneMappingExposure = 0.1;//色调映射的曝光级别。默认是1\n      renderer.toneMapping = three__WEBPACK_IMPORTED_MODULE_8__.NoToneMapping; //色调映射\n      renderer.physicallyCorrectLights = true; //关键参数,模拟物理光照影响,必须设置为true\n\n      renderer.setPixelRatio(window.devicePixelRatio);\n      renderer.setSize(window.screen.width, that.canvasHeight);\n      container.appendChild(renderer.domElement);\n      controls = new three_addons_controls_OrbitControls_js__WEBPACK_IMPORTED_MODULE_11__.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      stats = new three_addons_libs_stats_module_js__WEBPACK_IMPORTED_MODULE_12__[\"default\"]();\n      container.appendChild(stats.dom);\n      stats.domElement.style.top = '100px';\n      attendEvent(); //注册监听事件\n      starRender(); //启动渲染\n      cameraInit(); //初始化摄像头\n      controls.saveState(); //保存当前控制器的状态\n    }\n    //初始化相机位置\n    function cameraInit() {\n      camera.position.set(that.cameraStarPosition.x, that.cameraStarPosition.y, that.cameraStarPosition.z);\n      camera.lookAt(that.controlStarPosition.x, that.controlStarPosition.y, that.controlStarPosition.z);\n    }\n    //初始状态\n    function resetControl() {\n      controls.reset();\n    }\n    function onWindowResize() {\n      camera.aspect = window.screen.width / that.canvasHeight;\n      camera.updateProjectionMatrix();\n      renderer.setSize(window.screen.width, that.canvasHeight);\n      console.warn(\"****onWindowResize**\");\n    }\n    function attendEvent() {\n      window.addEventListener('resize', onWindowResize);\n      renderer.domElement.addEventListener('touchstart', onPointerStart, false);\n      renderer.domElement.addEventListener('touchmove', onPointerMove, false);\n      renderer.domElement.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      renderer && renderer.domElement && renderer.domElement.removeEventListener('touchstart', onPointerStart);\n      renderer && renderer.domElement && renderer.domElement.removeEventListener('touchmove', onPointerMove);\n      renderer && renderer.domElement && renderer.domElement.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      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        that.showLables = true;\n        updateLables();\n      }\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        updateLables();\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_9__[\"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_9__[\"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_8__.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_8__.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 = window.screen.width / 750;//单位rpm 对应 px 的值\n      // that.canvasHeight = window.screen.height - (200 * unit) + (20 * unit);\n\n      let unit = window.screen.width / 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_9__[\"default\"].Tween({\n        h1: _jisua\n      }).to({\n        h1: lastHeight\n      }, 1000).easing(three_addons_libs_tween_module_js__WEBPACK_IMPORTED_MODULE_9__[\"default\"].Easing.Linear.None).onUpdate(object => {\n        if (camera.isOrthographicCamera) {\n          //正交相机\n          let aspect = window.screen.width / 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.screen.width / object.h1;\n          camera.updateProjectionMatrix();\n          renderer.setSize(window.screen.width, object.h1);\n          // that.canvasHeight = object.h1;\n        }\n      }).onComplete(() => {\n        camera.aspect = window.screen.width / that.canvasHeight;\n        camera.updateProjectionMatrix();\n        renderer.setSize(window.screen.width, that.canvasHeight);\n        tweenCameraAnma = false;\n        that.showLables = true;\n        updateLables(); //更新lable\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_8__.Matrix4(); //定义一个四维矩阵\n        instancedMesh.getMatrixAt(item.instancedAtIndex, stratMatrix); //获取当前几何体的四维矩阵到stratMatrix里面\n        let position = new three__WEBPACK_IMPORTED_MODULE_8__.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.screen.width;\n        const y = (position.y * -.5 + .5) * that.canvasHeight;\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_9__[\"default\"] && three_addons_libs_tween_module_js__WEBPACK_IMPORTED_MODULE_9__[\"default\"].update();\n      stats.update();\n      //不处在动画过程中,则可以处理移动等动作\n      if (tweenCameraAnma == false) {\n        controls.update();\n        // updateLables();//更新lable\n      }\n\n      requestId = requestAnimationFrame(render, canvas3d);\n      renderer.render(scene, camera); //单次渲染\n      if (that.screenshotResolve) {\n        // if(that.isIos){//IOS手机\n        stopRender();\n        that.screenshotResolve();\n        that.screenshotResolve = null; //释放Promise\n        // }else{//安卓手机\n        // \tlet gl = renderer.getContext();\n        // \tlet frameBuffer = new THREE.Vector2();\n        // \trenderer.getDrawingBufferSize(frameBuffer);\n        // \tlet pixelData = new Uint8Array(frameBuffer.x * frameBuffer.y * 4);\n        // \t//参考 Threejs WebGLRenderer.readRenderTargetPixels\n        // \tif (gl.checkFramebufferStatus(gl.FRAMEBUFFER) === gl.FRAMEBUFFER_COMPLETE) {\n        // \t\tgl.readPixels(0, 0, frameBuffer.x, frameBuffer.y, gl.RGBA, gl.UNSIGNED_BYTE, pixelData);\n        // \t\t// 确保有像素,微信小程序安卓在进入子页面返回本页面后,再一次readPixels稳定无像素\n        // \t\tif (pixelData.some(i => i !== 0)) {\n        // \t\t\tstopRender();\n        // \t\t\tconsole.warn(\"***screenshotResolve-pixelData***\");\n        // \t\t\tthat.screenshotResolve([pixelData, frameBuffer.x, frameBuffer.y])\n        // \t\t\tthat.screenshotResolve = null;//释放Promise\n        // \t\t\tframeBuffer = null;//清空内存中的数据\n        // \t\t\tpixelData = null;//清空内存中的数据\n        // \t\t}\n        // \t}\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  computed: {\n    aiData() {\n      return this.$store.state.aiData;\n    },\n    userId() {\n      return this.$store.state.userId;\n    }\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()) + \"?x-oss-process=image/auto-orient,1/quality,Q_46/format,jpg\"; //开始截图\n      console.warn(\"***shottingImg***\", shottingImg);\n      let userId = this.userId ? this.userId : '';\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 = null;\n          AISpace = this.aiData && this.aiData.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.aiData\n        }\n      };\n      util.trackRequest(trackparam);\n      let res = await requestConfig(\"saveCustomizedRecord\", param);\n      if (res && res.success && res.single) {\n        //提交成功\n        let data = {\n          houseId: this.houseId,\n          id: res.single\n        };\n        _router__WEBPACK_IMPORTED_MODULE_1__[\"default\"].push({\n          name: \"webgl_rxdz_customize\",\n          query: data\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_8__.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.cameraInit();\n      this.resetControl();\n      setTimeout(() => {\n        that.loadSpace();\n      }, 100);\n      console.warn(\"***curHouseObj***\", this.curHouseObj, that.aiData);\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\n    onMouseMove(e) {\n      return false;\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        houseId: this.houseId\n      };\n      this.$store.dispatch('setCurHouseObj', this.curHouseObj);\n      // if(this.repeatFlag){\n      // \treturn false;\n      // }\n      // this.repeatFlag = true;\n      _router__WEBPACK_IMPORTED_MODULE_1__[\"default\"].push({\n        name: \"webgl_rxdz_roam\",\n        query: data\n      });\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    },\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      this.showLables = true;\n      this.updateLables(); //更新lable\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      this.getOverallArrangementDetailsList(2);\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            this.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_2___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/pages/webgl_rxdz/webgl_rxdz.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/webgl_rxdz_customize/webgl_rxdz_customize.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/webgl_rxdz_customize/webgl_rxdz_customize.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 _router__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @/router */ \"./src/router/index.js\");\n/* harmony import */ var _mixins_touchHandle_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @/mixins/touchHandle.js */ \"./src/mixins/touchHandle.js\");\n\nconst util = (__webpack_require__(/*! @/utils/util.js */ \"./src/utils/util.js\")[\"default\"]);\nconst config = __webpack_require__(/*! @/services/urlConfig.js */ \"./src/services/urlConfig.js\");\n\n\n// const app = getApp(); //获取应用实例\n// import requestConfig from '@/static/lib/requestConfig.js';\n// import commonPageMethod from '@/common/commonPageMethod.js';\n// import commonMethod from '@/common/commonMethod.js';\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n  mixins: [_mixins_touchHandle_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"]],\n  /**\r\n   * 页面的初始数据\r\n   */\n  data() {\n    return {\n      pvId: 'p_2cmina_23080403',\n      locusBehaviorName: \"提交页面\",\n      locusValue: \"\",\n      locusName: \"\",\n      pvCurPageName: \"submit_ret\",\n      pvCurPageParams: null,\n      navbar: {\n        showCapsule: 1,\n        title: '我的定制',\n        titleColor: '#fff',\n        navPadding: 0,\n        navPaddingBg: 'transparent',\n        navBarColor: 'transparent',\n        navBackColor: 'transparent',\n        haveCallback: false,\n        // 如果是 true 会接手 navbarBackClk\n        fromShare: false,\n        fromProject: 0,\n        shareToken: \"\",\n        pageName: this.pvCurPageName\n      },\n      houseId: config.houseIdHs,\n      shareUserId: null,\n      // 分享者ID\n      id: '6523d91af65c626211ee21c8',\n      //方案库id\n\n      currImgIdx: 0,\n      tabIndex: 0,\n      // featureImgList: [],\n      hardboundEffect: [],\n      //当前swiper数据列表对象\n      form: {},\n      tabData: [],\n      number: '',\n      plotHeadDeafultImg: 'https://dm.static.elab-plus.com/mini-program/plotHeadDeafultImg.png',\n      // 地块人物默认头像\n      showPhoneModel: false,\n      gsImage: '',\n      layoutStruct: null\n    };\n  },\n  /**\r\n   * 生命周期函数--监听页面加载\r\n   */\n  mounted(options) {\n    console.log(\"***onLoad-webgl_rxdz_customize***\", options);\n    const that = this;\n    this.houseId = this.$route.query.houseId ? this.$route.query.houseId : '';\n    // this.spaceId = this.$route.query.spaceId?this.$route.query.spaceId:'';\n    this.id = this.$route.query.id ? this.$route.query.id : '6523d91af65c626211ee21c8';\n    if (!this.id) {\n      this.showToast(\"没有数据!\");\n      return false;\n    } else {\n      this.getIdData();\n    }\n  },\n  computed: {\n    userId() {\n      return this.$store.state.userId;\n    }\n  },\n  methods: {\n    swiperChangeImg(e) {\n      console.log(\"***swiperChangeImg***\", e);\n      this.currImgIdx = e.detail ? e.detail.current : e;\n      this.gsImage = this.hardboundEffect[this.currImgIdx]; //获取高斯模糊的图片\n    },\n\n    rightScroll() {\n      //右滑\n      if (this.currImgIdx <= this.hardboundEffect.length - 1 && this.currImgIdx > 0) {\n        this.$refs.carousel.prev();\n      }\n    },\n    leftScroll() {\n      //继续生成\n      if (this.currImgIdx != this.hardboundEffect.length - 1) {\n        if (this.currImgIdx < this.hardboundEffect.length - 1) {\n          this.$refs.carousel.next();\n        }\n      }\n    },\n    navigateFuc() {\n      // this.showToast(\"敬请期待!\");\n      this.$message.warning(\"敬请期待\");\n    },\n    optionChange() {\n      // this.showToast(\"敬请期待!\");\n      this.$message.warning(\"敬请期待\");\n    },\n    async getIdData() {\n      let userId = this.userId || '';\n      let params = {\n        id: this.id,\n        brandId: config.brandId,\n        houseId: this.houseId,\n        userId\n      };\n      if (this.shareUserId) {\n        //分享时 不带用户id\n        delete params.userId;\n      }\n      // params.userId = this.userId;\n      const res = await requestConfig('getCustomizedRecord', params);\n      if (res.success) {\n        let single = res.list[0];\n        this.layoutStruct = JSON.parse(JSON.stringify(single));\n        // this.number = single.landCode\n        this.form = single.layoutStruct.find(it => it.floor == single.curFloor);\n        this.hardboundEffect = this.form.layoutImgCustomized ? [this.form.layoutImgCustomized] : []; //赋值轮播图\n        this.tabIndex = 0; //表明是户型首图\n        this.tabData = [];\n        let data = {\n          name: this.form.layoutName,\n          imgUrl: this.form.layoutImgCustomized,\n          area: ''\n        };\n        this.tabData.push(data);\n        this.form.houseJson = this.form.houseJson.filter(item => {\n          return item.spaceName && item.spaceName.length > 0 && item.spaceType != 11 && item.hardboundEffect && item.hardboundEffect[0];\n        });\n        this.form.houseJson.sort(function (a, b) {\n          return parseFloat(b.spaceWidth * b.spaceHeight / 10000) - parseFloat(a.spaceWidth * a.spaceHeight / 10000);\n        });\n        this.form.houseJson.forEach((item, index) => {\n          //获取面积\n          let curSpaceArea = parseFloat(item.spaceWidth * item.spaceHeight / 10000).toFixed(1);\n          let data = {\n            name: item.spaceName,\n            imgUrl: item.hardboundEffect[0],\n            area: curSpaceArea\n          };\n          this.tabData.push(data);\n        });\n        this.gsImage = this.form.layoutImgCustomized; //获取高斯模糊的图片\n      }\n    },\n\n    changeTab(id) {\n      if (id == this.tabIndex) {\n        return;\n      }\n      this.tabIndex = id;\n      this.currImgIdx = 0;\n      if (id > 0) {\n        //提取空间轮播图\n        this.hardboundEffect = this.form.houseJson[id - 1].hardboundEffect; //赋值轮播图\n        this.gsImage = this.hardboundEffect[0]; //获取高斯模糊的图片\n      } else {\n        this.hardboundEffect = this.form.layoutImgCustomized ? [this.form.layoutImgCustomized] : []; //赋值轮播图\n        this.gsImage = this.form.layoutImgCustomized; //获取高斯模糊的图片\n      }\n\n      let param = {\n        type: 'CLK',\n        //埋点类型\n        clkId: 'clk_2cmina_23080421',\n        //点击ID\n        clkName: 'roomretpic_clk',\n        //点击前往的页面名称\n        clkParams: {\n          type: this.tabData[this.tabIndex].name,\n          locusName: \"房间名称\"\n        }\n      };\n      util.trackRequest(param);\n    },\n    catchTouchMove: function () {\n      return false;\n    },\n    toMode() {\n      let data = {\n        houseId: this.houseId,\n        id: this.id\n      };\n      _router__WEBPACK_IMPORTED_MODULE_1__[\"default\"].push({\n        name: \"webgl_rxdz_look\",\n        query: data\n      });\n      let param = {\n        type: 'CLK',\n        //埋点类型\n        clkId: 'clk_2cmina_23080420',\n        //点击ID\n        clkName: 'checkroom_clk',\n        //点击前往的页面名称\n        clkParams: {\n          locusName: \"查看户型\"\n        }\n      };\n      util.trackRequest(param);\n    },\n    showToast(title) {\n      this.$store.state.loading = true;\n      this.$store.state.loadingMsg = title || \"\";\n      setTimeout(() => {\n        this.$store.state.loading = false;\n      }, 1500);\n    }\n  }\n});\n\n//# sourceURL=webpack://hello-world/./src/pages/webgl_rxdz_customize/webgl_rxdz_customize.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/webgl_rxdz_look/webgl_rxdz_look.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/webgl_rxdz_look/webgl_rxdz_look.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 three__WEBPACK_IMPORTED_MODULE_4__ = __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_8__ = __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_7__ = __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_6__ = __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_5__ = __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 _mixins_loadModel_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @/mixins/loadModel.js */ \"./src/mixins/loadModel.js\");\n/* harmony import */ var _mixins_wallMethod_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @/mixins/wallMethod.js */ \"./src/mixins/wallMethod.js\");\n/* harmony import */ var _mixins_floorMethod_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @/mixins/floorMethod.js */ \"./src/mixins/floorMethod.js\");\n\n\n\n\n\n\nvar requestId = \"\";\nconst util = __webpack_require__(/*! @/utils/util.js */ \"./src/utils/util.js\");\nconst config = __webpack_require__(/*! @/services/urlConfig.js */ \"./src/services/urlConfig.js\");\n\n\n\n// import commonPageMethod from '@/common/commonPageMethod.js';\n// const app = getApp(); //获取应用实例\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n  mixins: [_mixins_loadModel_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"], _mixins_floorMethod_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"], _mixins_wallMethod_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"]],\n  /**\r\n   * 页面的初始数据\r\n   */\n  data() {\n    return {\n      pvCurPageName: \"webgl_rxdz_look\",\n      pvCurPageParams: null,\n      houseId: \"\",\n      pvId: 'p_2cmina_01043',\n      navbar: {\n        showCapsule: 1,\n        title: '查看户型',\n        titleColor: '#fff',\n        navPadding: 0,\n        navPaddingBg: 'transparent',\n        navBarColor: 'transparent',\n        navBackColor: 'transparent',\n        haveCallback: true,\n        // 如果是 true 会接手 navbarBackClk\n        fromShare: false,\n        fromProject: 0,\n        shareToken: \"\",\n        pageName: this.pvCurPageName\n      },\n      canvas: null,\n      id: '',\n      // 户型编号\n      spaceList: [],\n      // 空间列表\n      gltfSpaces: [],\n      // 场景中地板模型数组\n      spaceId: null,\n      wallIds: [],\n      // 空间墙体id\n      wallList: [],\n      // 墙体数据\n      gltfWalls: [],\n      // 场景中墙体模型数组\n      loader: null,\n      scene: null,\n      // sky:null,\n      camera: null,\n      controls: null,\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: 430,\n      //canvas视图的高度-计算得出\n      chooseMesh: null,\n      //标记鼠标拾取到的mesh\n      progress: 1,\n      //进度条\n      myLoadingStatus: false,\n      repeatFlag: false,\n      //重复点击\n      instancedFloorMesh: null,\n      instancedMeshList: [],\n      lableItem: [],\n      showLables: false,\n      floorList: [],\n      floorId: null,\n      curData: null,\n      //上一个页面传来的数据\n      curSpaceObj: null //当前应该定位到的空间\n    };\n  },\n\n  computed: {\n    userId() {\n      return this.$store.state.userId;\n    }\n  },\n  watch: {},\n  beforeDestroy() {\n    cancelAnimationFrame(requestId, this.canvas);\n    this.worker && this.worker.terminate();\n    setTimeout(() => {\n      if (this.renderer instanceof three__WEBPACK_IMPORTED_MODULE_4__.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.clearHandle();\n      }\n    }, 0);\n    this.gltfWalls = [];\n    this.instancedMeshList = [];\n    this.instancedSpaceMeshList = [];\n    this.lableItem = [];\n    this.gltfLayouts = [];\n    this.instancedFurList = [];\n    three_addons_libs_tween_module_js__WEBPACK_IMPORTED_MODULE_5__[\"default\"] && three_addons_libs_tween_module_js__WEBPACK_IMPORTED_MODULE_5__[\"default\"].removeAll(); //清除所有的tween;\n    console.warn(\"***destroyed-webgl_rxdz_look***\");\n  },\n  async mounted(options) {\n    var that = this;\n    this.houseId = this.$route.query.houseId ? this.$route.query.houseId : '';\n    this.spaceId = this.$route.query.spaceId ? this.$route.query.spaceId : '';\n    this.id = this.$route.query.id ? this.$route.query.id : '';\n    console.warn(\"***mounted-webgl_rxdz_look****\", this.id, this.$route.query);\n    if (this.id) {\n      this.getIdData();\n    } else {\n      this.$store.state.loadingMsg = \"没有数据~\";\n    }\n    let container = this.$refs.webgl;\n    let canvas3d = this.canvas = this.$refs.glcanvas;\n    let controls = null;\n    let camera = null,\n      renderer = null,\n      mixer = null;\n    let loader = this.loader = new three_addons_loaders_GLTFLoader_js__WEBPACK_IMPORTED_MODULE_6__.GLTFLoader();\n    let scene = this.scene = new three__WEBPACK_IMPORTED_MODULE_4__.Scene();\n    // let raycaster = null;\n    // let mouse = new THREE.Vector2();\n    let chooseMesh = this.chooseMesh; //标记鼠标拾取到的mesh\n    let isUserContorl = false; //是否进入漫游状态\n\n    let stats;\n    let tweenCameraAnma = false; //表示当前是否处在动画过程中\n\n    init();\n    this.$store.state.loadingMsg = \"加载中...1%\";\n    this.progress = 1;\n    this.clearEvent = clearEvent;\n    this.tweenCameraAnmaChange = tweenCameraAnmaChange;\n    this.updateLables = updateLables;\n    this.moveMeshCenterHandle = moveMeshCenterHandle;\n    this.cameraInit = cameraInit;\n    this.resetControl = resetControl;\n    function init() {\n      scene.background = new three__WEBPACK_IMPORTED_MODULE_4__.Color(\"#F2F2F2\");\n      scene.environment = new three__WEBPACK_IMPORTED_MODULE_4__.Color(\"#F2F2F2\");\n\n      // 创建相机位置\n      camera = new three__WEBPACK_IMPORTED_MODULE_4__.PerspectiveCamera(80, window.screen.width / window.screen.height, 0.1, 10000);\n      camera.up.set(0, 1, 0); //俯视状态,将相机的up向量设置为z轴负方向\n      scene.add(camera);\n      that.camera = camera;\n\n      // 环境光会均匀的照亮场景中的所有物体\n      const ambientLight = new three__WEBPACK_IMPORTED_MODULE_4__.AmbientLight(0xFFEFE0, 1.48);\n      scene.add(ambientLight);\n      //平行光\n      const light = new three__WEBPACK_IMPORTED_MODULE_4__.DirectionalLight(0xFFF8E5, 1.96);\n      light.position.set(-14.8, 9.188, -7.448); //default; light shining from top\n      scene.add(light);\n      //antialias 这个值得设置为false,不然IOS上截图会失效\n      renderer = that.renderer = new three__WEBPACK_IMPORTED_MODULE_4__.WebGLRenderer({\n        canvas: canvas3d,\n        alpha: true,\n        // 如果想保存three.js canvas画布上的信息,注意设置preserveDrawingBuffer\n        preserveDrawingBuffer: true\n      });\n      renderer.outputEncoding = three__WEBPACK_IMPORTED_MODULE_4__.sRGBEncoding;\n      renderer.outputColorSpace = three__WEBPACK_IMPORTED_MODULE_4__.SRGBColorSpace;\n      // renderer.toneMappingExposure = 0.1;//色调映射的曝光级别。默认是1\n      renderer.toneMapping = three__WEBPACK_IMPORTED_MODULE_4__.NoToneMapping; //色调映射\n      renderer.physicallyCorrectLights = true; //关键参数,模拟物理光照影响,必须设置为true\n\n      renderer.setPixelRatio(window.devicePixelRatio);\n      renderer.setSize(window.screen.width, window.screen.height);\n      container.appendChild(renderer.domElement);\n\n      // controls.target = new THREE.Vector3( that.controlStarPosition.x, that.controlStarPosition.y, that.controlStarPosition.z );;\n\n      controls = new three_addons_controls_OrbitControls_js__WEBPACK_IMPORTED_MODULE_7__.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      stats = new three_addons_libs_stats_module_js__WEBPACK_IMPORTED_MODULE_8__[\"default\"]();\n      container.appendChild(stats.dom);\n      stats.domElement.style.top = '100px';\n      // 监听\n      window.addEventListener('resize', onWindowResize);\n      // raycaster = new THREE.Raycaster();\n      renderer.domElement.addEventListener('touchstart', onPointerStart, false);\n      renderer.domElement.addEventListener('touchmove', onPointerMove, false);\n      renderer.domElement.addEventListener('touchend', onPointerUp, false);\n      render(); //重启渲染\n      cameraInit();\n      controls.saveState(); //保存当前控制器的状态\n    }\n    //初始化相机位置\n    function cameraInit() {\n      camera.position.set(that.cameraStarPosition.x, that.cameraStarPosition.y, that.cameraStarPosition.z);\n      camera.lookAt(that.controlStarPosition.x, that.controlStarPosition.y, that.controlStarPosition.z);\n    }\n    //初始状态\n    function resetControl() {\n      controls.reset();\n    }\n    function tweenCameraAnmaChange(value) {\n      tweenCameraAnma = value;\n    }\n    //取消事件监听-避免二次进入时触发多次事件\n    function clearEvent() {\n      console.warn(\"**clearEvent****\");\n      renderer && renderer.domElement && renderer.domElement.removeEventListener('touchstart', onPointerStart);\n      renderer && renderer.domElement && renderer.domElement.removeEventListener('touchmove', onPointerMove);\n      renderer && renderer.domElement && renderer.domElement.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      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        that.showLables = true;\n        updateLables();\n      }\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 object = chooseMesh;//当前选中的空间模型\n      // let spaceObj = object.userData;//获取空间模型的相关数据\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        updateLables();\n        controls.enable = 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        that.repeatFlag = false; //放开限制,可以再次点击\n        return false;\n      }\n      tweenCameraAnma = true;\n      var tween = new three_addons_libs_tween_module_js__WEBPACK_IMPORTED_MODULE_5__[\"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_5__[\"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_4__.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_4__.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        that.repeatFlag = false; //放开限制,可以再次点击\n      });\n      // 开始动画\n      tween.start();\n    }\n    function onWindowResize() {\n      camera.aspect = window.screen.width / window.screen.height;\n      camera.updateProjectionMatrix();\n      renderer.setSize(window.screen.width, window.screen.height);\n    }\n    //计算漫游时当前选中空间的观察点和摄像机的放置点位\n    //distance 表示要沿着视角移动的距离\n    function updateLables() {\n      if (!that.showLables) {\n        return false;\n      }\n      that.lableItem.forEach(lable => {\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_4__.Matrix4(); //定义一个四维矩阵\n        instancedMesh.getMatrixAt(item.instancedAtIndex, stratMatrix); //获取当前几何体的四维矩阵到stratMatrix里面\n        let position = new three__WEBPACK_IMPORTED_MODULE_4__.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.screen.width;\n        const y = (position.y * -.5 + .5) * window.screen.height;\n        lable.transform = `translate(-50%, -50%) translate(${x}px,${y}px)`;\n      });\n    }\n    function render() {\n      three_addons_libs_tween_module_js__WEBPACK_IMPORTED_MODULE_5__[\"default\"] && three_addons_libs_tween_module_js__WEBPACK_IMPORTED_MODULE_5__[\"default\"].update();\n      stats.update();\n      //不处在动画过程中,则可以处理移动等动作\n      if (tweenCameraAnma == false) {\n        controls.update();\n      }\n      renderer.render(scene, camera); //单次渲染\n      requestId = requestAnimationFrame(render, canvas3d);\n    }\n  },\n  methods: {\n    clearHandle() {\n      this.clearEvent();\n    },\n    //楼层切换\n    floorChange(item) {\n      if (this.floorId == item.layoutId) {\n        return false;\n      }\n      this.floorId = item.layoutId;\n      this.curHouseObj = this.curData.layoutStruct.find(it => it.layoutId == item.layoutId); //更新当前具体的户型数据\n      // 遍历场景中的所有子对象,找到类型为Mesh的对象并移除\n      let deleList = this.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        this.showLables = false; //隐藏lable\n        this.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.cameraInit();\n      this.resetControl();\n      setTimeout(() => {\n        this.loadSpace();\n      }, 100);\n      // this.$emit(\"curHouseFloorChange\", item);//通知页面,户型楼层发生了变更\n    },\n\n    async getIdData() {\n      let userId = this.userId || '';\n      let params = {\n        id: this.id,\n        brandId: config.brandId,\n        houseId: this.houseId,\n        userId\n      };\n      const res = await requestConfig('getCustomizedRecord', params);\n      if (res.success) {\n        let single = res.list[0];\n        this.layoutStruct = JSON.parse(JSON.stringify(single));\n        this.setHouseDetail(this.layoutStruct);\n      }\n    },\n    /**\r\n     * 设置户型详情信息\r\n     * @param {Object} data 户型详情\r\n     */\n    setHouseDetail(data) {\n      if (data && data.layoutStruct) {\n        let curData = data;\n        this.curHouseObj = curData.layoutStruct.find(it => it.floor == curData.curFloor);\n        ;\n        // this.spaceId = this.curHouseObj.spaceId;\n        console.warn(\"***curHouseObj***\", this.curHouseObj);\n        this.floorList = [];\n        curData.layoutStruct && curData.layoutStruct.forEach(item => {\n          this.floorList.push({\n            houseFloor: item.floor,\n            layoutId: item.layoutId\n          });\n        });\n        let select = this.floorList.find(it => it.houseFloor == this.curHouseObj.floor);\n        this.floorId = select ? select.layoutId : this.floorList[0].layoutId;\n        this.curData = curData;\n        console.warn(\"***floorList-init***\", this.floorList, select);\n        // 加载户型\n        this.loadSpace();\n      } else {\n        this.curHouseObj = {};\n      }\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          this.lableItem.push({\n            text: cube.spaceName,\n            spaceId: cube.spaceId,\n            transform: '',\n            cubeIndex: index\n          });\n        }\n      });\n      this.showLables = true;\n      this.updateLables(); //更新lable\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      if (!this.curHouseObj) {\n        //减少重复请求\n        console.warn(\"***数据错误***\");\n        return false;\n      }\n      if (this.curHouseObj) {\n        const spaceDetail = this.curHouseObj;\n        const spaceList = 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          // 计算观察点向量(相对中心点)\n          let _actorLoaction = element.actorLocation.split(','); //x y z\n          let _x = parseInt(_actorLoaction[1]) || element.centerX; //观察点 X轴坐标 \n          let _z = parseInt(_actorLoaction[0]) || element.centerY; //观察点 Z轴坐标\n          let _presentX = (_x - element.centerX) / (element.spaceWidth / 2 - 5); //5是墙壁厚度的一半-单位cm\n          let _presentY = (_z - element.centerY) / (element.spaceHeight / 2 - 5);\n          element.presentX = _presentX; //观察点跟空间中心原点的距离比例\n          element.presentY = _presentY;\n          element.wallMoveValue = \"[0,0,0,0]\";\n          this.spaceList.push(element);\n          this.wallIds.push(element.wallId);\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);\n      console.log(\"当前选中的空间:\", this.curSpaceObj);\n      this.loaderSpaceArr(this.spaceList);\n      // 获取墙体数据并且绘制墙体\n      this.getHouseTypeSpaceWalls();\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          }\n        }\n      }\n      this.loadSpaceObjWalls(wallArr, wallList);\n      this.getOverallArrangementDetailsList(2);\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.$nextTick(() => {\n          this.moveMeshCenter(this.curSpaceObj);\n          this.progress = 100;\n          // this.$refs.myLoading.showLoading(\"加载中...\" + this.progress + '%')\n          this.$store.state.loadingMsg = \"加载中...\" + this.progress + '%';\n          this.$nextTick(() => {\n            this.myLoadingStatus = false;\n            // this.$refs.myLoading.hideLoading();\n            setTimeout(() => {\n              this.addWordLabel(); // 添加文字标签\n            }, 610);\n          });\n        });\n      });\n    }\n  }\n});\n\n//# sourceURL=webpack://hello-world/./src/pages/webgl_rxdz_look/webgl_rxdz_look.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/webgl_rxdz_roam/webgl_rxdz_roam.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/webgl_rxdz_roam/webgl_rxdz_roam.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 three__WEBPACK_IMPORTED_MODULE_7__ = __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_11__ = __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_10__ = __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_9__ = __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_8__ = __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 _components_newBottomCom_viewShell_viewShell_vue__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @/components/newBottomCom/viewShell/viewShell.vue */ \"./src/components/newBottomCom/viewShell/viewShell.vue\");\n/* harmony import */ var _components_newBottomCom_viewMask_viewMask_vue__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @/components/newBottomCom/viewMask/viewMask.vue */ \"./src/components/newBottomCom/viewMask/viewMask.vue\");\n/* harmony import */ var _mixins_screenshot_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @/mixins/screenshot.js */ \"./src/mixins/screenshot.js\");\n/* harmony import */ var _mixins_floorMethod_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @/mixins/floorMethod.js */ \"./src/mixins/floorMethod.js\");\n/* harmony import */ var _mixins_loadModel_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @/mixins/loadModel.js */ \"./src/mixins/loadModel.js\");\n/* harmony import */ var _mixins_wallMethod_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @/mixins/wallMethod.js */ \"./src/mixins/wallMethod.js\");\n\n\n\n\n\n\nvar requestId = \"\";\nconst util = (__webpack_require__(/*! @/utils/util.js */ \"./src/utils/util.js\")[\"default\"]);\n// import util from '@/utils/util.js';\n// const config = require('@/services/urlConfig.js');\n// import requestConfig from '@/static/lib/requestConfig.js';\n\n\n\n// import { RGBELoader } from '@/webgl/jsm/loaders/RGBELoader.js';\n\n\n\n\n// import commonPageMethod from '@/common/commonPageMethod.js';\n// const app = getApp(); //获取应用实例\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n  components: {\n    viewShell: _components_newBottomCom_viewShell_viewShell_vue__WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n    viewMask: _components_newBottomCom_viewMask_viewMask_vue__WEBPACK_IMPORTED_MODULE_2__[\"default\"]\n  },\n  mixins: [_mixins_screenshot_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"], _mixins_loadModel_js__WEBPACK_IMPORTED_MODULE_5__[\"default\"], _mixins_floorMethod_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"], _mixins_wallMethod_js__WEBPACK_IMPORTED_MODULE_6__[\"default\"]],\n  /**\r\n   * 页面的初始数据\r\n   */\n  data() {\n    return {\n      pvCurPageName: \"room_show\",\n      locusBehaviorName: \"房间展示\",\n      pvCurPageParams: null,\n      houseId: \"\",\n      pvId: 'p_2cmina_23080402',\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        // 如果是 true 会接手 navbarBackClk\n        fromShare: false,\n        fromProject: 0,\n        shareToken: \"\",\n        pageName: this.pvCurPageName\n      },\n      id: '',\n      // 户型编号\n      spaceList: [],\n      // 空间列表\n      gltfSpaces: [],\n      // 场景中地板模型数组\n      curSpaceObj: null,\n      // 当前选中的空间\n      // curSpaceIndex:-1, // 当前选中的空间索引\n      spaceId: null,\n      wallIds: [],\n      // 空间墙体id\n      wallList: [],\n      // 墙体数据\n      gltfWalls: [],\n      // 场景中墙体模型数组\n      loader: null,\n      scene: null,\n      // sky:null,\n      camera: 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,\n      //摄像头上一次移动到的位置\n      controlLastPosition: null,\n      //观察点上一次移动到的位置\n      canvasHeight: 408,\n      //canvas视图的高度-计算得出\n      chooseMesh: null,\n      //标记鼠标拾取到的mesh\n      isManyou: false,\n      //当前是否处在漫游状态\n      shottingImg: [],\n      progress: 1,\n      //进度条\n      myLoadingStatus: false,\n      // textGeoList:[],\n      repeatFlag: false,\n      //重复点击\n      // skyPlan: null, // 天空盒子\n      instancedMeshList: [],\n      screenshotResolve: null,\n      actors: [],\n      showDownView: true,\n      //默认显示下载按钮\n      currentActor: null,\n      isIos: false,\n      //是否ios手机。默认不是\n      circleGroup: null\n      // aiImagesList:[\n      // \t// \"https://dm.static.elab-plus.com/miniProgram/plus_IM01.png\",\n      // \t// \"https://dm.static.elab-plus.com/miniProgram/plus_IM02.png\",\n      // \t// \"https://dm.static.elab-plus.com/miniProgram/plus_IM03.png\",\n      // \t// \"https://dm.static.elab-plus.com/miniProgram/plus_IM04.png\",\n      // ]\n    };\n  },\n\n  beforeDestroy() {\n    cancelAnimationFrame(requestId, this.canvas);\n    this.worker && this.worker.terminate();\n    if (this.renderer instanceof three__WEBPACK_IMPORTED_MODULE_7__.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.clearHandle();\n    }\n    three_addons_libs_tween_module_js__WEBPACK_IMPORTED_MODULE_8__[\"default\"] && three_addons_libs_tween_module_js__WEBPACK_IMPORTED_MODULE_8__[\"default\"].removeAll(); //清除所有的tween;\n    console.warn(\"***beforeDestroy-webgl_rxdz_roam***\");\n  },\n  mounted(options) {\n    var that = this;\n    console.warn(\"***webgl_rxdz_roam-options***\", this.$route.query);\n    let unit = window.screen.width / 750; //单位rpm 对应 px 的值\n    that.canvasHeight = window.screen.height - 408 * unit + 20 * unit;\n    this.houseId = this.$route.query.houseId ? this.$route.query.houseId : '';\n    this.spaceId = this.$route.query.spaceId ? this.$route.query.spaceId : '';\n    let container = this.$refs.webgl;\n    let canvas3d = this.canvas = this.$refs.glcanvas;\n    //uniapp 兼容写法,因为uni的页面对象的Vue 实例是$vm\n\n    let camera = null,\n      renderer = null;\n    let needRender = false; //是否需要渲染 false表示不需要渲染;true 表示需要渲染\n    let loader = this.loader = new three_addons_loaders_GLTFLoader_js__WEBPACK_IMPORTED_MODULE_9__.GLTFLoader();\n    let scene = this.scene = new three__WEBPACK_IMPORTED_MODULE_7__.Scene();\n    let raycaster = null;\n    let mouse = new three__WEBPACK_IMPORTED_MODULE_7__.Vector2();\n    let chooseMesh = this.chooseMesh; //标记鼠标拾取到的mesh\n    let isUserContorl = true; //是否进入漫游状态-默认是\n    //漫游时变量\n    let onPointerDownMouseX = 0,\n      onPointerDownMouseY = 0,\n      lon = 0;\n    let fingerCount = 0; //触摸时的手指数目\n    let startTime = 0; //非漫游时的移动变量\n    let tweenCameraAnma = false; //表示当前是否处在动画过程中\n    let controls = null,\n      boundary = null;\n    let stats;\n    init();\n    // this.$refs.myLoading.showLoading(\"加载中...1%\")\n    this.$store.state.loadingMsg = \"加载中...1%\";\n    // this.myLoadingStatus = true;\n    this.progress = 1;\n    this.clearEvent = clearEvent;\n    this.attendEvent = attendEvent;\n    // this.meshRoam = meshRoam;\n    this.tweenCameraAnmaChange = tweenCameraAnmaChange;\n    this.switchActor = switchActor;\n    this.hideOrShowActor = hideOrShowActor;\n    this.starRender = starRender; //对外暴露启动渲染的方法\n    this.positionCamer = positionCamer;\n    function init() {\n      scene.background = new three__WEBPACK_IMPORTED_MODULE_7__.Color(\"#FFFFFF\");\n      // scene.environment = new THREE.Color(\"#F2F2F2\");\n      // 创建一个HDR贴图加载器\n      // const rgbeloader = new RGBELoader();\n      // // 加载HDR贴图\n      // rgbeloader.load('https://dm.static.elab-plus.com/miniProgram/environment.hdr', (texture) => {\n      // \t// 将HDR贴图设置为场景的环境贴图\n      // \ttexture.mapping = THREE.EquirectangularReflectionMapping;\n      // \tscene.environment = texture;\n      // })\n\n      // 创建相机位置\n      camera = new three__WEBPACK_IMPORTED_MODULE_7__.PerspectiveCamera(95, window.screen.width / that.canvasHeight, 0.1, 10000);\n      camera.up.set(0, 1, -0); //俯视状态,将相机的up向量设置为z轴负方向 {x:0,y:1,z:0}\n      // camera.position.set(that.cameraStarPosition.x, that.cameraStarPosition.y, that.cameraStarPosition.z);\n      scene.add(camera);\n      that.camera = camera;\n      // 时间\n      // clock = new THREE.Clock();\n      // 辅助方格\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_7__.AmbientLight(0xFEFBF6, 1.62);\n      scene.add(ambientLight);\n\n      //平行光\n      const light = new three__WEBPACK_IMPORTED_MODULE_7__.DirectionalLight(0xFFFFFF, 1.98);\n      // const helper = new THREE.CameraHelper( light.shadow.camera );\n      // scene.add( helper );\n      light.position.set(-14.8, 30, 18); //default; light shining from top\n      // light.castShadow = true; // default false\n      // // 默认情况下光投影相机区域是一个长宽高为10x10x500的长方体区域,光源投射方向为通过坐标原点\n      // light.shadow.camera.left = -200; // default\n      // light.shadow.camera.right  = 200; // default\n      // light.shadow.camera.top  = 200; // default\n      // light.shadow.camera.bottom  = -200; // default\n      scene.add(light);\n\n      //antialias 这个值得设置为false,不然IOS上截图会失效\n      renderer = that.renderer = new three__WEBPACK_IMPORTED_MODULE_7__.WebGLRenderer({\n        canvas: canvas3d,\n        alpha: true,\n        antialias: true,\n        preserveDrawingBuffer: true\n      });\n      renderer.shadowMap.enabled = true; //产生阴影\n      renderer.shadowMap.type = three__WEBPACK_IMPORTED_MODULE_7__.PCFSoftShadowMap; // 阴影属性\n      renderer.outputEncoding = three__WEBPACK_IMPORTED_MODULE_7__.sRGBEncoding;\n      renderer.outputColorSpace = three__WEBPACK_IMPORTED_MODULE_7__.SRGBColorSpace;\n      // renderer.toneMappingExposure = 0.1;//色调映射的曝光级别。默认是1\n      renderer.toneMapping = three__WEBPACK_IMPORTED_MODULE_7__.NoToneMapping; //色调映射\n      renderer.physicallyCorrectLights = true; //关键参数,模拟物理光照影响,必须设置为true\n\n      renderer.setPixelRatio(window.devicePixelRatio);\n      renderer.setSize(window.screen.width, that.canvasHeight);\n      container.appendChild(renderer.domElement);\n      controls = new three_addons_controls_OrbitControls_js__WEBPACK_IMPORTED_MODULE_10__.OrbitControls(camera, renderer.domElement);\n      controls.screenSpacePanning = true;\n      controls.enableDamping = true;\n      controls.minDistance = 0.5;\n      controls.maxDistance = 10;\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      controls.enablePan = false; //禁用摄像机平移\n      controls.enableRotate = true; //启用摄像机水平或垂直旋转\n      controls.zoomToCursor = true;\n      controls.update();\n      // 监听相机移动事件-限制只能在当前空间范围内移动\n      controls.addEventListener('change', () => {\n        // 检查相机位置是否超出边界框\n        if (boundary && !boundary.containsPoint(camera.position)) {\n          let clampedPosition = new three__WEBPACK_IMPORTED_MODULE_7__.Vector3();\n          boundary.clampPoint(camera.position, clampedPosition);\n          if (clampedPosition) {\n            camera.position.copy(clampedPosition);\n            // controls.target.copy(clampedPosition);\n          }\n        }\n      });\n      // controls.target = new THREE.Vector3( );;\n      // camera.lookAt(that.controlStarPosition.x,that.controlStarPosition.y,that.controlStarPosition.z);\n      raycaster = new three__WEBPACK_IMPORTED_MODULE_7__.Raycaster();\n      stats = new three_addons_libs_stats_module_js__WEBPACK_IMPORTED_MODULE_11__[\"default\"]();\n      container.appendChild(stats.dom);\n      stats.domElement.style.top = '100px';\n      attendEvent(); //注册监听事件\n      starRender(); //启动渲染\n    }\n\n    function tweenCameraAnmaChange(value) {\n      tweenCameraAnma = value;\n    }\n    function attendEvent() {\n      renderer.domElement.addEventListener('touchstart', onPointerStart, false);\n      renderer.domElement.addEventListener('touchmove', onPointerMove, false);\n      renderer.domElement.addEventListener('touchend', onPointerUp, false);\n    }\n    //取消事件监听-避免二次进入时触发多次事件\n    function clearEvent() {\n      console.warn(\"**clearEvent****\");\n      renderer && renderer.domElement && renderer.domElement.removeEventListener('touchstart', onPointerStart);\n      renderer && renderer.domElement && renderer.domElement.removeEventListener('touchmove', onPointerMove);\n      renderer && renderer.domElement && renderer.domElement.removeEventListener('touchend', onPointerUp);\n    }\n    // 手指移动开始\n    function onPointerStart(event) {\n      startTime = new Date().getTime();\n      fingerCount = event.touches.length; //手指个数\n      console.log('开始触摸事件:', lon, fingerCount, camera.position.y);\n      if (fingerCount === 1) {\n        // 只有一个手指时记录当前点的坐标作为平移起始点\n        onPointerDownMouseX = event.changedTouches[0].clientX;\n        onPointerDownMouseY = event.changedTouches[0].clientY;\n      }\n    }\n    //持续触摸中\n    function onPointerMove(event) {\n      fingerCount = event.touches.length; //手指个数\n    }\n    //触摸结束\n    function onPointerUp(event) {\n      fingerCount = event.touches.length; //手指个数\n      console.warn(\"***触摸结束***\", fingerCount, startTime);\n      if (fingerCount == 0) {\n        let now = new Date().getTime();\n        if (Math.abs(event.changedTouches[0].clientX - onPointerDownMouseX) < 10 && Math.abs(event.changedTouches[0].clientY - onPointerDownMouseY) < 10 && now - startTime < 300) {\n          checkIntersection(event);\n        }\n      }\n    }\n    //射线检测handle\n    function checkIntersection(event) {\n      let x = event.changedTouches[0].clientX / window.screen.width * 2 - 1;\n      let y = -(event.changedTouches[0].clientY / that.canvasHeight) * 2 + 1;\n      mouse.x = x;\n      mouse.y = y;\n      //更新射线\n      raycaster.setFromCamera(mouse, camera);\n      let intersects = raycaster.intersectObjects(scene.children, true);\n      console.warn(\"***checkIntersection***\", intersects.length);\n      if (intersects.length > 0) {\n        //找到最近的那个网格模型物体\n        let mesh = intersects.find(it => {\n          if (it.object && it.object.isMesh == true && it.object.parent && it.object.parent.name == 'actor' && it.object.parent.visible == true) {\n            return true;\n          }\n        });\n\n        //拾取到了视角,就不继续拾取了\n        if (mesh) {\n          moveActor(mesh.object.parent);\n          return false;\n        }\n        mesh = intersects.find(it => {\n          if (it.object && it.object.isInstancedMesh && (it.object.name == '地板' || it.object.name == '花园') && it.object.visible == true) {\n            return true;\n          }\n        });\n        //拾取到了地板\n        if (mesh) {\n          let floor = mesh.object;\n          let index = mesh.instanceId; //射线相交是的实例序号\n          let spaceId = that.gltfSpaces[index].spaceId; //获取选中实例的空间id\n          if (floor.name == \"花园\") {\n            //花园\n            let selectMesh = that.gltfSpaces.find(it => {\n              return it.spaceType == 14 && it.instancedMeshIndexList[0].instancedAtIndex == index;\n            });\n            spaceId = selectMesh.spaceId;\n          } else {\n            //室内\n            // floor.name = \"地板\";\n            let selectMesh = that.gltfSpaces.find(it => {\n              return it.spaceType != 14 && it.instancedMeshIndexList[0].instancedAtIndex == index;\n            });\n            spaceId = selectMesh.spaceId;\n          }\n          // let spaceId = that.gltfSpaces[index].spaceId;//获取选中实例的空间id\n          console.warn(\"***checkIntersection-地板***\", mesh, floor, index, spaceId, that.spaceId);\n          //当前拾取到的是本空间的底部-意味着用户点击了地板\n          if (floor && spaceId == that.spaceId) {\n            // console.warn(\"***checkIntersection-地板***\",mesh,floor)\n            moveCarmer(mesh.point);\n            return false;\n          }\n        }\n      }\n    }\n    //显示当前选中的视角或者隐藏所有视角-因为截图时不能保留视角\n    function hideOrShowActor(type) {\n      console.warn(\"***hideOrShowActor***\", type);\n      if (type == 'hide') {\n        that.actors.forEach(it => {\n          it.visible = false; //隐藏所有的视角的mesh模型\n        });\n      } else {\n        if (!that.currentActor) {\n          uni.showToast({\n            icon: \"none\",\n            title: \"没有视角!\"\n          });\n          return false;\n        }\n        that.actors.forEach(it => {\n          if (that.currentActor.userIndex == it.userIndex) {\n            it.visible = false; //隐藏即将切换到的视角的mesh模型\n          } else {\n            it.visible = true; //显示其他视角的模型\n          }\n        });\n      }\n    }\n    //自动切换视角\n    function switchActor() {\n      if (!that.currentActor) {\n        uni.showToast({\n          icon: \"none\",\n          title: \"没有当前视角!\"\n        });\n        return false;\n      }\n      if (!that.actors || that.actors.length == 0) {\n        uni.showToast({\n          icon: \"none\",\n          title: \"没有视角!\"\n        });\n        return false;\n      }\n      let index = that.currentActor.userIndex; //当前视角的序号\n      let nextIndex = (index + 1) % that.actors.length;\n      //移动到对应的视角去\n      moveActor(that.actors[nextIndex]);\n    }\n    //移动到选中的位置-地板\n    function moveCarmer(point) {\n      //还在动画中,不能点击切换\n      if (tweenCameraAnma == true) {\n        return false;\n      }\n      let _x = point.x - camera.position.x; //x轴移动的距离\n      let _z = point.z - camera.position.z; //z轴移动的距离\n      // console.warn(\"***moveCarmer***\",_x,_z)\n      let cameraNewPosition = {\n        x: camera.position.x + _x,\n        y: 1.2,\n        z: camera.position.z + _z\n      };\n      let targetNewPosition = {\n        x: controls.target.x + _x,\n        y: 1.2,\n        z: controls.target.z + _z\n      };\n      let oldUp = {\n        x: 0,\n        y: 1,\n        z: 0\n      };\n      let newUp = {\n        x: 0,\n        y: 1,\n        z: 0\n      };\n      moveTip(cameraNewPosition);\n      // console.warn(\"**moveCarmer***\",lon,JSON.stringify(cameraNewPosition),JSON.stringify(targetNewPosition))\n      tweenCamera(camera.position, controls.target, cameraNewPosition, targetNewPosition, oldUp, newUp, 2000);\n    }\n    //创建地标\n    function creatMoveTip(position) {\n      if (!that.circleGroup) {\n        that.circleGroup = new three__WEBPACK_IMPORTED_MODULE_7__.Group();\n        let geometry = new three__WEBPACK_IMPORTED_MODULE_7__.CircleGeometry(0.2, 32);\n        let material = new three__WEBPACK_IMPORTED_MODULE_7__.MeshBasicMaterial({\n          transparent: true\n        });\n        let circle = new three__WEBPACK_IMPORTED_MODULE_7__.Mesh(geometry, material);\n        circle.position.set(position.x, 0.01, position.z);\n        circle.rotation.x = -Math.PI / 2;\n        // let geometry1 = new THREE.CircleGeometry( 0.4, 32 );\n        // let circle2 = new THREE.Mesh( geometry1, material );\n        // circle2.position.set(position.x,0.01,position.z);\n        // 使用贴图\n        const textureLoader = new three__WEBPACK_IMPORTED_MODULE_7__.TextureLoader();\n        textureLoader.load('https://dm.static.elab-plus.com/miniProgram/circlemap1.png', function (texture) {\n          material.map = texture; // 将贴图应用于材质的map属性\n          material.needsUpdate = true; // 更新材质\n        });\n\n        that.circleGroup.add(circle);\n        scene.add(that.circleGroup);\n      }\n    }\n    //移动地标\n    function moveTip(position) {\n      if (!that.circleGroup) {\n        that.circleGroup = new three__WEBPACK_IMPORTED_MODULE_7__.Group();\n        let geometry = new three__WEBPACK_IMPORTED_MODULE_7__.CircleGeometry(0.2, 32);\n        let material = new three__WEBPACK_IMPORTED_MODULE_7__.MeshBasicMaterial({\n          color: 0xffffff\n        });\n        let circle = new three__WEBPACK_IMPORTED_MODULE_7__.Mesh(geometry, material);\n        circle.position.set(position.x, 0.01, position.z);\n        circle.rotation.x = -Math.PI / 2;\n        // let geometry1 = new THREE.CircleGeometry( 0.4, 32 );\n        // let circle2 = new THREE.Mesh( geometry1, material );\n        // circle2.position.set(position.x,0.01,position.z);\n        that.circleGroup.add(circle);\n        scene.add(that.circleGroup);\n      } else {\n        that.circleGroup.children[0].position.set(position.x, 0.01, position.z);\n      }\n    }\n    //移动视角点位\n    function moveActor(obj) {\n      clearEvent(); //注销事件监听\n      that.actors.forEach(it => {\n        if (obj.userIndex == it.userIndex) {\n          it.visible = false; //隐藏\n        } else {\n          it.visible = true; //显示其他\n        }\n      });\n      // console.warn(\"***moveActor***\",obj)\n      that.currentActor = obj; //记录下当前的视角对象 mesh网格模型\n      let cameraNewPosition = obj.position;\n      let targetNewPosition = obj.targetNewPosition;\n      let oldUp = {\n        x: 0,\n        y: 1,\n        z: 0\n      }; //俯视\n      let newUp = {\n        x: 0,\n        y: 1,\n        z: 0\n      }; //正视\n      console.warn(\"**moveActor***\", JSON.stringify(cameraNewPosition), JSON.stringify(targetNewPosition));\n      tweenCamera(camera.position, controls.target, cameraNewPosition, targetNewPosition, oldUp, newUp, 2000);\n      lon = 0;\n      setTimeout(() => {\n        attendEvent();\n      }, 2000);\n    }\n    //初始化点位视角\n    function initActor() {\n      if (!chooseMesh) {\n        console.error(\"[drawActor],没有选中的空间数据\");\n        return false;\n      }\n      let spaceObj = chooseMesh; //获取选中的空间模型的相关数据\n      if (!spaceObj.actors) {\n        return false;\n      }\n      let defaulIndex = spaceObj.actors.findIndex(it => it.isSelected == true);\n      if (defaulIndex == -1) {\n        defaulIndex = 0;\n      }\n      that.actors = [];\n      that.loader.load(\"https://dm.static.elab-plus.com/miniProgram/hs/gltf/sxtgltf.gltf\", gltf => {\n        spaceObj.actors.forEach((actor, index) => {\n          let model = gltf.scene; // 获取模型\n          let cloneModel = model.clone(true); //赋值模型,准备复用\n          cloneModel.children.map((v, i) => {\n            if (v.material) {\n              v.material = model.children[i].material.clone();\n            }\n          });\n          let cube = cloneModel;\n          cube.name = \"actor\";\n          cube.userType = \"mesh\";\n          //新的摄像机的位置-新的摄像机角度是倾斜角度,所以z值需要计算,高度设置为模型高度的2倍\n          let _actorLoaction = actor.actorLocation.split(','); //x y z\n          let _actorTransform = actor.actorTransform.split(','); //旋转角度,取第三个值\n          let _hd = three__WEBPACK_IMPORTED_MODULE_7__.MathUtils.degToRad(parseInt(_actorTransform[2])); //将度转化为弧度。\n          let _hdY = three__WEBPACK_IMPORTED_MODULE_7__.MathUtils.degToRad(parseInt(_actorTransform[1])); //Y轴方向上将度转化为弧度。\n          if (parseInt(_actorLoaction[1]) == 0) {\n            //X轴\n            _actorLoaction[1] = spaceObj.centerX;\n          }\n          if (parseInt(_actorLoaction[0]) == 0) {\n            //Y轴\n            _actorLoaction[0] = spaceObj.centerY;\n          }\n          let X_C = _actorLoaction[0] - spaceObj.centerY; //X轴偏移量\n          let Y_C = _actorLoaction[1] - spaceObj.centerX; //Y轴偏移量\n          let px = spaceObj.centerX + X_C;\n          let py = spaceObj.centerY + Y_C;\n          let position = {\n            x: parseInt(px) / 100,\n            y: 1.2,\n            z: -parseInt(py) / 100 //模型Y轴坐标系正负值跟webglZ轴是相反的\n          };\n          //新的观察点的位置-取模型的中心点坐标,加上高度,由于模型都是贴地的,所以高度设置为1.2\n          let targetNewPosition = {\n            x: position.x + Math.sin(_hd),\n            y: 1.2 + Math.tan(_hdY),\n            z: position.z - Math.cos(_hd)\n          };\n          cube.position.set(position.x, position.y, position.z);\n          cube.scale.set(2, 2, 2);\n          cube.userIndex = index;\n          cube.actorEum = index;\n          cube.targetNewPosition = targetNewPosition;\n          console.warn(\"*actors*\", cube);\n          scene.add(cube);\n          that.actors.push(cube); //添加视角\n          if (index == defaulIndex) {\n            //隐藏当前视角\n            cube.visible = false;\n            that.currentActor = cube; //记录下当前的视角对象 mesh网格模型\n            let param = {\n              type: 'CLK',\n              //埋点类型\n              clkId: 'clk_2cmina_23080411',\n              //点击ID\n              clkName: 'visualangle_clk',\n              //点击前往的页面名称\n              clkParams: {\n                locusName: \"预制视角\",\n                type: that.actors[index].actorEum\n              }\n            };\n            util.trackRequest(param);\n          }\n        });\n      });\n    }\n    //计算当前选中空间的平视时的观察点和摄像机的放置点位\n    function roamPositionHandle(lon = '') {\n      if (!chooseMesh) {\n        console.error(\"[roamPositionHandle],没有选中的空间数据\");\n        return false;\n      }\n      let spaceObj = chooseMesh; //获取选中的空间模型的相关数据\n      //获取视角\n      let defaultActor = null;\n      if (spaceObj.actors && spaceObj.actors.length > 0) {\n        defaultActor = spaceObj.actors.find(it => it.isSelected == true);\n        if (!defaultActor) {\n          defaultActor = spaceObj.actors[0];\n        }\n      }\n      let _actorLoaction = defaultActor.actorLocation.split(','); //x y z\n      let _actorTransform = defaultActor.actorTransform.split(','); //旋转角度,取第三个值\n      let _hd = three__WEBPACK_IMPORTED_MODULE_7__.MathUtils.degToRad(parseInt(_actorTransform[2]) + lon); //将度转化为弧度。\n      let _hdY = three__WEBPACK_IMPORTED_MODULE_7__.MathUtils.degToRad(parseInt(_actorTransform[1])); //Y轴方向上将度转化为弧度。\n      if (parseInt(_actorLoaction[1]) == 0) {\n        //X轴\n        _actorLoaction[1] = spaceObj.centerX;\n      }\n      if (parseInt(_actorLoaction[0]) == 0) {\n        //Y轴\n        _actorLoaction[0] = spaceObj.centerY;\n      }\n      let X_C = _actorLoaction[0] - spaceObj.centerY; //X轴偏移量\n      let Y_C = _actorLoaction[1] - spaceObj.centerX; //Y轴偏移量\n      let px = spaceObj.centerX + X_C;\n      let py = spaceObj.centerY + Y_C;\n      //新的摄像机的位置-新的摄像机角度是倾斜角度,所以z值需要计算,高度设置为模型高度的2倍\n      let cameraNewPosition = {\n        x: parseInt(px) / 100,\n        y: 1.2,\n        z: -parseInt(py) / 100 //模型Y轴坐标系正负值跟webglZ轴是相反的\n      };\n\n      if (cameraNewPosition) {\n        let minX = 0,\n          maxX = 0,\n          minY = 0,\n          maxY = 0; //0.1 是模型墙壁厚度\n        minX = (spaceObj.centerX - spaceObj.spaceWidth / 2) / 100 + 0.1;\n        maxX = (spaceObj.centerX + spaceObj.spaceWidth / 2) / 100 - 0.1;\n        maxY = -((spaceObj.centerY - spaceObj.spaceHeight / 2) / 100 + 0.1);\n        minY = -((spaceObj.centerY + spaceObj.spaceHeight / 2) / 100 - 0.1);\n        //新的坐标轴不在房间范围内,则不能移动\n        // console.warn(\"**roamPositionHandle-观察点不在范围中****\",JSON.stringify(cameraNewPosition),minX,maxX,minY,maxY)\n        if (cameraNewPosition.x < minX || cameraNewPosition.x > maxX || cameraNewPosition.z < minY || cameraNewPosition.z > maxY) {\n          //不在房间范围\n          let _x = (spaceObj.spaceWidth / 2 - 15) * defaultActor.presentX + spaceObj.centerX;\n          let _z = (spaceObj.spaceHeight / 2 - 15) * defaultActor.presentY + spaceObj.centerY;\n          cameraNewPosition.x = _x / 100;\n          cameraNewPosition.z = -_z / 100;\n          console.warn(\"**roamPositionHandle-观察点不在空间范围-强制修正观察点位置****\", JSON.stringify(cameraNewPosition));\n        }\n      }\n      //新的观察点的位置-取模型的中心点坐标,加上高度,由于模型都是贴地的,所以高度设置为1.2\n      let targetNewPosition = {\n        x: cameraNewPosition.x + Math.sin(_hd),\n        y: 1.2 + Math.tan(_hdY),\n        z: cameraNewPosition.z - Math.cos(_hd)\n      };\n      return {\n        cameraNewPosition,\n        targetNewPosition\n      };\n    }\n    //直接定位到摄像头位置\n    function positionCamer(mesh = null) {\n      if (mesh) {\n        //如果传入了模型,则取模型\n        chooseMesh = mesh;\n      }\n      if (!chooseMesh) {\n        console.error(\"[positionCamer],没有选中的空间数据\");\n        return false;\n      }\n      if (!chooseMesh.actors || chooseMesh.actors.length == 0) {\n        chooseMesh.actors = [{\n          actorLocation: chooseMesh.actorLocation,\n          actorTransform: chooseMesh.actorTransform,\n          isSelected: true,\n          presentX: chooseMesh.presentX,\n          presentY: chooseMesh.presentY\n        }];\n      }\n      boundary = new three__WEBPACK_IMPORTED_MODULE_7__.Box3(new three__WEBPACK_IMPORTED_MODULE_7__.Vector3(chooseMesh.centerX / 100 - chooseMesh.spaceWidth / 100 / 2 + 0.1, 0, -chooseMesh.centerY / 100 - chooseMesh.spaceHeight / 100 / 2 + 0.1),\n      // 边界框的最小点\n      new three__WEBPACK_IMPORTED_MODULE_7__.Vector3(chooseMesh.centerX / 100 + chooseMesh.spaceWidth / 100 / 2 - 0.1, 2.7, -chooseMesh.centerY / 100 + chooseMesh.spaceHeight / 100 / 2 - 0.1) // 边界框的最大点\n      );\n\n      initActor(); //初始化视角\n      let data = roamPositionHandle();\n      let cameraNewPosition = data.cameraNewPosition;\n      let targetNewPosition = data.targetNewPosition;\n      creatMoveTip(cameraNewPosition); //创建移动的地标\n      camera.position.set(cameraNewPosition.x, cameraNewPosition.y, cameraNewPosition.z);\n      camera.lookAt(targetNewPosition.x, targetNewPosition.y, targetNewPosition.z);\n      controls.target.set(targetNewPosition.x, targetNewPosition.y, targetNewPosition.z);\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        that.repeatFlag = false; //放开限制,可以再次点击\n        return false;\n      }\n      if (!chooseMesh) {\n        that.repeatFlag = false; //放开限制,可以再次点击\n        return false;\n      }\n      tweenCameraAnma = true;\n      var tween = new three_addons_libs_tween_module_js__WEBPACK_IMPORTED_MODULE_8__[\"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_8__[\"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_7__.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_7__.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        that.repeatFlag = false; //放开限制,可以再次点击\n      });\n      // 开始动画\n      tween.start();\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_8__[\"default\"] && three_addons_libs_tween_module_js__WEBPACK_IMPORTED_MODULE_8__[\"default\"].update();\n      stats.update();\n      //不处在动画过程中,则可以处理移动等动作\n      if (tweenCameraAnma == false) {}\n      renderer.render(scene, camera); //单次渲染\n      requestId = requestAnimationFrame(render, canvas3d);\n      if (that.screenshotResolve) {\n        // if(that.isIos){//IOS手机\n        stopRender();\n        that.screenshotResolve();\n        that.screenshotResolve = null; //释放Promise\n        // }else{//安卓手机\n        // \tlet gl = renderer.getContext();\n        // \tlet frameBuffer = new THREE.Vector2();\n        // \trenderer.getDrawingBufferSize(frameBuffer);\n        // \tlet pixelData = new Uint8Array(frameBuffer.x * frameBuffer.y * 4);\n        // \t//参考 Threejs WebGLRenderer.readRenderTargetPixels\n        // \tif (gl.checkFramebufferStatus(gl.FRAMEBUFFER) === gl.FRAMEBUFFER_COMPLETE) {\n        // \t\tgl.readPixels(0, 0, frameBuffer.x, frameBuffer.y, gl.RGBA, gl.UNSIGNED_BYTE, pixelData);\n        // \t\t// 确保有像素,微信小程序安卓在进入子页面返回本页面后,再一次readPixels稳定无像素\n        // \t\tif (pixelData.some(i => i !== 0)) {\n        // \t\t\tstopRender();\n        // \t\t\tconsole.warn(\"***screenshotResolve-pixelData***\");\n        // \t\t\tthat.screenshotResolve([pixelData, frameBuffer.x, frameBuffer.y])\n        // \t\t\tthat.screenshotResolve = null;//释放Promise\n        // \t\t\tframeBuffer = null;//清空内存中的数据\n        // \t\t\tpixelData = null;//清空内存中的数据\n        // \t\t}\n        // \t}\n        // }\n      }\n    }\n\n    // const eventChannel = this.getOpenerEventChannel();\n    // // 监听acceptDataFromOpenerPage事件,获取上一页面通过eventChannel传送到当前页面的数据\n    // eventChannel && eventChannel.hasOwnProperty('on') && eventChannel.on('acceptDataFromOpenerPage', (data) => {\n    // \tconsole.log('监听acceptDataFromOpenerPage事件,获取上一页面通过eventChannel传送到当前页面的数据',data)\n    // \tthis.setHouseDetail(data);\n    // })\n  },\n\n  computed: {\n    curHouseObj() {\n      return this.$store.state.curHouseObj;\n    }\n  },\n  watch: {\n    curHouseObj: {\n      handler(val) {\n        if (val) {\n          setTimeout(() => {\n            this.setHouseDetail(val);\n          }, 10);\n        }\n      },\n      immediate: true\n    }\n  },\n  methods: {\n    hideOrShowActor() {},\n    switchActor() {},\n    positionCamer() {},\n    clearHandle() {\n      this.clearEvent();\n    },\n    showOrHideWebGl() {\n      this.$refs.viewMask.showOrHideWebGl(); //显示或者隐藏AI\n    },\n\n    save() {\n      this.$refs.viewMask.save(); //下载\n    },\n\n    /**\r\n     * 设置户型详情信息\r\n     * @param {Object} data 户型详情\r\n     */\n    setHouseDetail(data) {\n      if (data) {\n        this.id = this.curHouseObj.id;\n        this.spaceId = this.$route.query.spaceId ? this.$route.query.spaceId : '';\n        console.warn(\"***curHouseObj***\", this.curHouseObj);\n        // 加载户型\n        this.loadSpace();\n      } else {\n        this.curHouseObj = {};\n      }\n    },\n    // 绘制空间-即地板\n    async loadSpace() {\n      this.spaceList = [];\n      this.wallIds = [];\n      if (!this.curHouseObj || !this.spaceId) {\n        //减少重复请求\n        console.warn(\"***数据错误***\");\n        return false;\n      }\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.actors.forEach(actor => {\n            let _actorLoaction = actor.actorLocation.split(','); //x y z\n            let X_C = (parseInt(_actorLoaction[0]) || element.centerY) - element.centerY; //X轴偏移量-UE原因\n            let Y_C = (parseInt(_actorLoaction[1]) || element.centerX) - element.centerX; //Y轴偏移量-向量\n            let _x = element.centerX + X_C;\n            let _z = element.centerY + Y_C;\n\n            // let _x = parseInt(_actorLoaction[1]) || element.centerX;//观察点 X轴坐标 \n            // let _z = parseInt(_actorLoaction[0]) || element.centerY;//观察点 Z轴坐标\n            let _presentX = (_x - element.centerX) / (element.spaceWidth / 2 - 10); //10是墙壁厚度-单位cm\n            let _presentY = (_z - element.centerY) / (element.spaceHeight / 2 - 10);\n            //注意如果一开始就设置大超过空间大小,则处理成贴近空间边界\n            actor.presentX = Math.abs(_presentX) > 1 ? _presentX > 1 ? 1 : -1 : _presentX; //观察点跟空间中心原点的距离比例\n            actor.presentY = Math.abs(_presentY) > 1 ? _presentY > 1 ? 1 : -1 : _presentY;\n          });\n          element.wallMoveValue = \"[0,0,0,0]\";\n          this.spaceList.push(element);\n          this.wallIds.push(element.wallId);\n          if (element.spaceId == this.spaceId) {\n            // 默认选中空间\n            this.curSpaceObj = element;\n          }\n        }\n        if (!this.curSpaceObj && this.spaceList.length > 0) {\n          this.curSpaceObj = this.spaceList[0];\n        }\n      }\n      let curSpaceArea = parseFloat(this.curSpaceObj.spaceWidth * this.curSpaceObj.spaceHeight / 10000).toFixed(1);\n      this.navbar.title = this.curSpaceObj.spaceName + \"  \" + curSpaceArea + \"㎡\";\n      console.log(\"该户型空间数据:\", this.spaceList);\n      curSpaceArea;\n      console.log(\"当前选中的空间:\", this.curSpaceObj);\n      this.positionCamer(this.curSpaceObj);\n      this.loaderSpaceArr(this.spaceList); //绘制地板\n      // 获取墙体数据并且绘制墙体\n      this.getHouseTypeSpaceWalls();\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      this.getOverallArrangementDetailsList(); //\n    },\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        // 设置空间数组的墙体信息\n        // this.setSpaceListWallInfo();\n        this.$nextTick(() => {\n          // this.moveMeshCenter(this.curSpaceObj);\n          this.progress = 100;\n          // this.$refs.myLoading.showLoading(\"加载中...\" + this.progress + '%')\n          this.$nextTick(() => {\n            this.myLoadingStatus = false;\n            // this.$refs.myLoading.hideLoading();\n            // this.meshRoam(this.curSpaceObj);//开始漫游,必须先选中模型\n          });\n        });\n      });\n    }\n  }\n});\n\n//# sourceURL=webpack://hello-world/./src/pages/webgl_rxdz_roam/webgl_rxdz_roam.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  }, [_c(\"keep-alive\", [_vm.$route.meta.keepAlive ? _c(\"router-view\") : _vm._e()], 1), !_vm.$route.meta.keepAlive ? _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))])])])], 1);\n};\nvar staticRenderFns = [];\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/mynavbar/mynavbar.html?vue&type=template&id=4960454f&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/mynavbar/mynavbar.html?vue&type=template&id=4960454f&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\", [_c(\"div\", {\n    staticClass: \"nav-wrap\",\n    style: {\n      height: _vm.height ? _vm.height : \"64px\"\n    }\n  }, [_vm.barData.navBarColor ? _c(\"div\", {\n    style: {\n      position: \"absolute\",\n      width: \"100vw\",\n      height: _vm.height,\n      \"background-color\": _vm.barData.navBarColor\n    }\n  }) : _vm._e(), _c(\"div\", {\n    staticClass: \"nav-title\",\n    style: {\n      \"line-height\": \"calc(\" + _vm.height + \" - \" + _vm.statusBarHeight + \")\",\n      color: _vm.barData.titleColor || \"#fff\",\n      top: _vm.statusBarHeight\n    }\n  }, [_vm._t(\"titleImg\")], 2), _vm.barData.showCapsule && !_vm.hideNavbarFlag ? _c(\"div\", {\n    staticClass: \"nav-capsule\",\n    style: {\n      top: _vm.statusBarHeight,\n      height: \"calc(\" + _vm.height + \" - \" + _vm.statusBarHeight + \")\"\n    },\n    attrs: {\n      \"data-url\": _vm.barData.url || \"\"\n    },\n    on: {\n      click: _vm.navback\n    }\n  }, [_c(\"div\", [_vm.height && _vm.height.length > 0 ? _c(\"div\", {\n    staticClass: \"back-pre\",\n    style: {\n      \"border-color\": _vm.barData.titleColor || \"#fff\"\n    }\n  }) : _vm._e()])]) : _vm._e()]), _vm.barData.navPadding ? _c(\"div\", {\n    staticClass: \"nav-padding\",\n    style: {\n      height: _vm.height,\n      \"background-color\": _vm.barData.navPaddingBg ? _vm.barData.navPaddingBg : \"#000\",\n      position: \"relative\"\n    }\n  }) : _vm._e()]);\n};\nvar staticRenderFns = [];\nrender._withStripped = true;\n\n\n//# sourceURL=webpack://hello-world/./src/components/mynavbar/mynavbar.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/components/newBottomCom/viewCareful/viewCareful.html?vue&type=template&id=06bf9a56&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/newBottomCom/viewCareful/viewCareful.html?vue&type=template&id=06bf9a56&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: \"careful-view\"\n  }, [_c(\"div\", {\n    staticClass: \"scroll-view\"\n  }, [_c(\"div\", {\n    staticClass: \"careful-list\"\n  }, _vm._l(_vm.carefulList, function (carefulItem, index) {\n    return _c(\"div\", {\n      key: carefulItem.spaceId,\n      staticClass: \"careful-item rows rows-between\"\n    }, [_c(\"div\", {\n      staticClass: \"columns rows-between\",\n      staticStyle: {\n        width: \"570rem\"\n      }\n    }, [_c(\"div\", {\n      staticClass: \"item-top rows rows-between\"\n    }, [_c(\"div\", {\n      staticClass: \"rows\"\n    }, [_c(\"div\", {\n      staticClass: \"index-view rows justify-center\"\n    }, [_vm._v(_vm._s(carefulItem.index + 1))]), _c(\"div\", {\n      staticClass: \"name-view\"\n    }, [_vm._v(_vm._s(carefulItem.name))])]), _c(\"div\", {\n      staticClass: \"rows\"\n    }, [_c(\"div\", {\n      staticClass: \"area-view\"\n    }, [_vm._v(_vm._s(carefulItem.area) + \"㎡\")]), _c(\"div\", {\n      staticClass: \"percent-view\"\n    }, [_vm._v(_vm._s(carefulItem.percent) + \"%\")])])]), _c(\"div\", {\n      staticClass: \"item-slider\"\n    }, [_c(\"el-slider\", {\n      staticStyle: {\n        margin: \"20rem 16rem\"\n      },\n      attrs: {\n        disabled: _vm.overChange,\n        step: 0.1,\n        \"show-tooltip\": false,\n        min: carefulItem.minArea,\n        max: carefulItem.maxArea\n      },\n      on: {\n        change: function ($event) {\n          return _vm.sliderChange($event, index);\n        }\n      },\n      model: {\n        value: carefulItem.area,\n        callback: function ($$v) {\n          _vm.$set(carefulItem, \"area\", $$v);\n        },\n        expression: \"carefulItem.area\"\n      }\n    })], 1)]), _c(\"div\", {\n      staticClass: \"ai-btn rows justify-center\",\n      on: {\n        click: function ($event) {\n          return _vm.goRoam(carefulItem.spaceId);\n        }\n      }\n    }, [_vm._v(\" 美家 \")])]);\n  }), 0)])]);\n};\nvar staticRenderFns = [];\nrender._withStripped = true;\n\n\n//# sourceURL=webpack://hello-world/./src/components/newBottomCom/viewCareful/viewCareful.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/components/newBottomCom/viewMask/viewMask.html?vue&type=template&id=e29041b4&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/newBottomCom/viewMask/viewMask.html?vue&type=template&id=e29041b4&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: \"mask-view\",\n    on: {\n      touchmove: function ($event) {\n        $event.stopPropagation();\n        $event.preventDefault();\n        return _vm.catchTapEvent.apply(null, arguments);\n      },\n      click: function ($event) {\n        $event.stopPropagation();\n        return _vm.catchTapEvent.apply(null, arguments);\n      }\n    }\n  }, [_vm.aiImagesList && _vm.aiImagesList.length > 0 ? _c(\"el-carousel\", {\n    directives: [{\n      name: \"show\",\n      rawName: \"v-show\",\n      value: _vm.showAIImage,\n      expression: \"showAIImage\"\n    }],\n    ref: \"carousel\",\n    staticClass: \"swiper\",\n    attrs: {\n      autoplay: false,\n      loop: false,\n      \"initial-index\": _vm.currentIndex,\n      \"indicator-dots\": false\n    },\n    on: {\n      change: _vm.swiperChangeImg\n    }\n  }, _vm._l(_vm.aiImagesList, function (item, index1) {\n    return _c(\"el-carousel-item\", {\n      key: index1\n    }, [_c(\"img\", {\n      staticStyle: {\n        width: \"100%\",\n        height: \"100%\"\n      },\n      attrs: {\n        mode: \"aspectFill\",\n        src: item.image\n      },\n      on: {\n        touchstart: _vm.mytouchstart,\n        touchmove: _vm.mytouchmove,\n        touchend: _vm.mytouchend\n      }\n    })]);\n  }), 1) : _vm._e(), _vm.aiImagesList && _vm.aiImagesList.length > 1 && _vm.showAIImage ? _c(\"div\", {\n    staticClass: \"indicator-view rows\"\n  }, _vm._l(_vm.aiImagesList, function (item, idx) {\n    return _c(\"div\", {\n      key: idx,\n      staticClass: \"indicator-item\",\n      class: {\n        active: _vm.currentIndex == idx\n      }\n    });\n  }), 0) : _vm._e(), _vm.aiFlag && _vm.aiImagesList.length > 0 && _vm.showAIImage ? _c(\"div\", {\n    staticClass: \"loading_more\"\n  }, [_c(\"img\", {\n    staticClass: \"loading_img\",\n    attrs: {\n      src: \"https://dm.static2.elab-plus.com/aiBeauty/aiBeauty3/icon_loading_Img.png\",\n      mode: \"aspectFit\"\n    }\n  }), _vm._v(\" 自动生成更多图片中\" + _vm._s(_vm.random + \"%\") + \"... \")]) : _vm._e(), _vm.aiImagesList && _vm.aiImagesList.length > 0 ? _c(\"div\", {\n    staticClass: \"change-angle columns\",\n    on: {\n      click: function ($event) {\n        $event.stopPropagation();\n        return _vm.switchActor.apply(null, arguments);\n      }\n    }\n  }, [_c(\"img\", {\n    staticClass: \"camera\",\n    attrs: {\n      src: \"https://dm.static.elab-plus.com/miniProgram/iconfont/camera.png\",\n      mode: \"widthFix\"\n    }\n  }), _vm._v(\" 视角切换 \")]) : _vm._e(), _vm.aiImagesList && _vm.aiImagesList.length > 0 ? _c(\"div\", {\n    staticClass: \"btn-view columns\"\n  }, [_vm.showAIImage ? _c(\"div\", {\n    staticClass: \"compareBtn btn1\",\n    on: {\n      click: function ($event) {\n        $event.stopPropagation();\n        return _vm.save.apply(null, arguments);\n      }\n    }\n  }, [_c(\"img\", {\n    staticClass: \"down\",\n    attrs: {\n      src: \"https://dm.static.elab-plus.com/miniProgram/iconfont/down.png\",\n      mode: \"widthFix\"\n    }\n  })]) : _vm._e(), _c(\"div\", {\n    staticClass: \"compareBtn\",\n    on: {\n      click: function ($event) {\n        $event.stopPropagation();\n        return _vm.showOrHideWebGl.apply(null, arguments);\n      }\n    }\n  }, [_c(\"img\", {\n    staticClass: \"compareIcon\",\n    attrs: {\n      src: \"https://dm.static.elab-plus.com/miniProgram/space1/compareAI_btn.png\",\n      mode: \"widthFix\"\n    }\n  })])]) : _vm._e(), _c(\"div\", {\n    staticClass: \"layout-view\",\n    style: {\n      height: _vm.disableAble ? \"248rpx\" : \"448rpx\"\n    }\n  }, [_c(\"div\", {\n    staticClass: \"signscoll-block\"\n  }), _c(\"div\", {\n    staticClass: \"aiEdit\"\n  }, [_c(\"div\", {\n    staticClass: \"aiStyleList\",\n    style: {\n      height: _vm.disableAble ? \"20rpx\" : \"240rpx\"\n    }\n  }, _vm._l(_vm.styleList, function (item, idx) {\n    return _c(\"div\", {\n      key: idx,\n      staticClass: \"scrollViewItem\",\n      attrs: {\n        id: \"styleItem\" + idx\n      },\n      on: {\n        click: function ($event) {\n          $event.stopPropagation();\n          return _vm.selectStyle(idx);\n        }\n      }\n    }, [_c(\"div\", {\n      staticClass: \"styleItem\",\n      class: {\n        styleItemSelected: _vm.curStyleIndex == idx\n      }\n    }, [_c(\"img\", {\n      staticClass: \"styleIcon\",\n      attrs: {\n        src: item.imgUrl,\n        mode: \"aspectFill\"\n      }\n    }), _c(\"span\", {\n      staticClass: \"styleTitle\"\n    }, [_vm._v(_vm._s(item.styleName))])])]);\n  }), 0), _c(\"div\", {\n    staticClass: \"aiTool\"\n  }, [_vm.showAIFlag ? _c(\"div\", {\n    staticClass: \"changeBtn\",\n    on: {\n      click: function ($event) {\n        $event.stopPropagation();\n        return _vm.changeAIImg.apply(null, arguments);\n      }\n    }\n  }, [_vm.checked == false ? _c(\"span\", {\n    staticClass: \"iconfont icon-xingzhuang-tuoyuanxing\",\n    staticStyle: {\n      \"margin-right\": \"10rpx\",\n      \"font-size\": \"36rpx\"\n    }\n  }) : _c(\"span\", {\n    staticClass: \"iconfont icon-ziyuan\",\n    staticStyle: {\n      \"margin-right\": \"10rpx\",\n      \"font-size\": \"36rpx\",\n      color: \"#FAB060\"\n    }\n  }), _vm._v(\" \" + _vm._s(_vm.checked ? \"已选定图片\" : \"选定图片\") + \" \")]) : _vm._e(), _vm.showAIFlag ? _c(\"div\", {\n    staticClass: \"submitBtn continue rows justify-center\",\n    class: {\n      disable: _vm.disableAble\n    },\n    on: {\n      click: function ($event) {\n        $event.stopPropagation();\n        return _vm.aiSubmit(2);\n      }\n    }\n  }, [_vm._v(\" 继续生成 \")]) : _c(\"div\", {\n    staticClass: \"submitBtn rows justify-center\",\n    class: {\n      disable: _vm.disableAble\n    },\n    on: {\n      click: function ($event) {\n        $event.stopPropagation();\n        return _vm.aiSubmit(1);\n      }\n    }\n  }, [_c(\"img\", {\n    staticClass: \"magic-icon\",\n    attrs: {\n      src: \"https://dm.static.elab-plus.com/miniProgram/iconfont/magic.png\",\n      mode: \"widthFix\"\n    }\n  }), _vm._v(\" AI生成精软装风格 \")])])])]), _c(\"div\", {\n    directives: [{\n      name: \"show\",\n      rawName: \"v-show\",\n      value: _vm.myloading,\n      expression: \"myloading\"\n    }],\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))])])], 1);\n};\nvar staticRenderFns = [];\nrender._withStripped = true;\n\n\n//# sourceURL=webpack://hello-world/./src/components/newBottomCom/viewMask/viewMask.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/components/newBottomCom/viewShell/viewShell.html?vue&type=template&id=c00b41c4&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/newBottomCom/viewShell/viewShell.html?vue&type=template&id=c00b41c4&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: \"shell-view\",\n    class: _vm.pageType == 2 ? \"shell-view2\" : \"\",\n    style: {\n      height: _vm.shellHeight\n    }\n  }, [_vm.pageType == 1 && _vm.floorList && _vm.floorList.length > 1 ? _c(\"div\", {\n    staticClass: \"floor-view\",\n    style: {\n      top: \"calc( -\" + _vm.floorList.length * 60 + \"rem - 30rem)\"\n    }\n  }, _vm._l(_vm.floorList, function (floor, index) {\n    return _c(\"div\", {\n      key: index,\n      staticClass: \"floor-item rows justify-center\",\n      class: _vm.floorId == floor.id ? \"active\" : \"\",\n      on: {\n        click: function ($event) {\n          return _vm.floorChange(floor);\n        }\n      }\n    }, [_vm._v(\" \" + _vm._s(floor.houseFloor ? floor.houseFloor + \"F\" : \"\") + \" \")]);\n  }), 0) : _vm._e(), _c(\"div\", {\n    staticClass: \"tips-view\"\n  }, [_vm._v(\" \" + _vm._s(_vm.pageType == 1 ? \"点击进入空间\" : \"单击圆点切换视角\") + \" \")]), _vm.pageType == 1 && (_vm.styleType == 2 || _vm.styleType == 3) ? _c(\"div\", {\n    staticClass: \"zoom-view\",\n    on: {\n      click: function ($event) {\n        $event.stopPropagation();\n        return _vm.zoomInOut.apply(null, arguments);\n      }\n    }\n  }, [_c(\"img\", {\n    staticClass: \"icon\",\n    attrs: {\n      src: _vm.styleType == 2 ? \"https://dm.static.elab-plus.com/miniProgram/iconfont/zoomin.png\" : \"https://dm.static.elab-plus.com/miniProgram/iconfont/zoomout.png\",\n      mode: \"widthFix\"\n    }\n  })]) : _vm._e(), _vm.pageType == 1 && _vm.styleType == 1 ? _c(\"div\", {\n    staticClass: \"connect-view columns\",\n    attrs: {\n      \"data-jumplink\": \"客服链接\",\n      \"data-jumptype\": \"50\",\n      \"data-jumpvalue\": \"企业id\"\n    },\n    on: {\n      click: _vm.mynavigateFuc\n    }\n  }, [_c(\"img\", {\n    staticClass: \"defaultHead\",\n    attrs: {\n      src: \"https://dm.static.elab-plus.com/miniProgram/iconfont/defaultHead.png\",\n      mode: \"widthFix\"\n    }\n  }), _vm._v(\" 联系定制 \")]) : _vm._e(), _vm.showSignscoll ? _c(\"div\", {\n    staticClass: \"shell-signscoll rows justify-center\",\n    on: {\n      click: _vm.upScrollOrDown,\n      touchstart: _vm.mytouchstart,\n      touchmove: _vm.mytouchmove,\n      touchend: _vm.mytouchend\n    }\n  }, [_c(\"div\", {\n    staticClass: \"signscoll-block\"\n  })]) : _vm._e(), _c(\"viewCareful\", {\n    directives: [{\n      name: \"show\",\n      rawName: \"v-show\",\n      value: _vm.styleType == 2,\n      expression: \"styleType==2\"\n    }],\n    ref: \"viewCareful\",\n    attrs: {\n      overChange: _vm.overChange,\n      curHouseObj: _vm.houseObj\n    },\n    on: {\n      curSpaceChange: _vm.curSpaceChange\n    }\n  }), _c(\"viewlayout\", {\n    ref: \"viewlayout\",\n    attrs: {\n      styleType: _vm.styleType,\n      overChange: _vm.overChange,\n      curHouseObj: _vm.houseObj,\n      houseList: _vm.houseList\n    },\n    on: {\n      curSpaceChange: _vm.curSpaceChange,\n      upCom: _vm.upCom,\n      streamRecord: _vm.streamRecord,\n      streamRecordEnd: _vm.streamRecordEnd,\n      seedChange: _vm.seedChange\n    }\n  })], 1);\n};\nvar staticRenderFns = [];\nrender._withStripped = true;\n\n\n//# sourceURL=webpack://hello-world/./src/components/newBottomCom/viewShell/viewShell.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/components/newBottomCom/viewlayout/viewlayout.html?vue&type=template&id=08193d34&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/newBottomCom/viewlayout/viewlayout.html?vue&type=template&id=08193d34&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: \"layout-view\"\n  }, [_c(\"div\", [_c(\"div\", {\n    staticClass: \"btn-list rows rows-between\"\n  }, [_c(\"div\", {\n    staticClass: \"btn rows up justify-center\",\n    class: _vm.styleType == 1 ? \"up1\" : \"up2\",\n    on: {\n      click: _vm.upCom\n    }\n  }, [_vm._v(\"精细调整 · 空间大小随心布局\")])])])]);\n};\nvar staticRenderFns = [];\nrender._withStripped = true;\n\n\n//# sourceURL=webpack://hello-world/./src/components/newBottomCom/viewlayout/viewlayout.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 _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    staticClass: \"submit-btn\",\n    on: {\n      click: _vm.submitHouse\n    }\n  }, [_vm._v(\"提交\")]), _c(\"div\", {\n    ref: \"webgl\",\n    attrs: {\n      id: \"mapDiv\"\n    }\n  }), _c(\"canvas\", {\n    ref: \"glcanvas\",\n    style: {\n      height: _vm.canvasHeight + \"px\"\n    },\n    attrs: {\n      id: \"glcanvas\",\n      width: \"100vw\",\n      height: \"100vh\"\n    }\n  }, [_vm._v(\" 你的浏览器似乎不支持或者禁用了 HTML5 \"), _c(\"code\", [_vm._v(\"<canvas>\")]), _vm._v(\" 元素。 \")]), _c(\"viewShell\", {\n    attrs: {\n      pageType: \"1\",\n      overChange: _vm.overChange,\n      houseList: _vm.houseList,\n      houseObj: _vm.curHouseObj,\n      curHouseType: _vm.curHouseType\n    },\n    on: {\n      curSpaceChange: _vm.curSpaceChange,\n      curHouseTypeChange: _vm.curHouseTypeChange,\n      curHouseFloorChange: _vm.curHouseFloorChange\n    }\n  }), _vm._l(_vm.lableItem, function (gltf, index) {\n    return _c(\"div\", {\n      directives: [{\n        name: \"show\",\n        rawName: \"v-show\",\n        value: _vm.showLables && gltf.text.length > 0,\n        expression: \"showLables && gltf.text.length>0\"\n      }],\n      key: index,\n      staticClass: \"word-view\",\n      style: {\n        transform: gltf.transform\n      },\n      on: {\n        click: function ($event) {\n          return _vm.goRoam(gltf);\n        }\n      }\n    }, [_vm.styleType == 2 ? _c(\"div\", {\n      class: [\"number-view \", index + 1 > 9 ? \"number-more\" : \"\", _vm.currentChangeSpaceId == gltf.spaceId ? \" active\" : \"\"],\n      attrs: {\n        \"user-select\": \"false\"\n      }\n    }, [_vm._v(_vm._s(gltf.spaceIndex + 1))]) : _c(\"div\", {\n      staticClass: \"word\",\n      class: _vm.currentChangeSpaceId == gltf.spaceId ? \"active\" : \"\",\n      attrs: {\n        \"user-select\": \"false\"\n      }\n    }, [_vm._v(_vm._s(gltf.text) + \">\")])]);\n  })], 2);\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");/***/ }),/***/ "./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/webgl_rxdz/webgl_rxdz.html?vue&type=template&id=44b7ae4a&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/webgl_rxdz/webgl_rxdz.html?vue&type=template&id=44b7ae4a&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(\"mynavbar\", {\n    attrs: {\n      barData: _vm.navbar\n    }\n  }), _c(\"div\", {\n    staticClass: \"submit-btn\",\n    on: {\n      click: _vm.submitHouse\n    }\n  }, [_vm._v(\"提交\")]), _c(\"div\", {\n    ref: \"webgl\",\n    attrs: {\n      id: \"mapDiv\"\n    }\n  }), _c(\"canvas\", {\n    ref: \"glcanvas\",\n    style: {\n      height: _vm.canvasHeight + \"px\"\n    },\n    attrs: {\n      id: \"glcanvas\",\n      width: \"100vw\",\n      height: \"100vh\"\n    }\n  }, [_vm._v(\" 你的浏览器似乎不支持或者禁用了 HTML5 \"), _c(\"code\", [_vm._v(\"<canvas>\")]), _vm._v(\" 元素。 \")]), _c(\"viewShell\", {\n    attrs: {\n      pageType: \"1\",\n      overChange: _vm.overChange,\n      houseList: _vm.houseList,\n      houseObj: _vm.curHouseObj,\n      curHouseType: _vm.curHouseType\n    },\n    on: {\n      curSpaceChange: _vm.curSpaceChange,\n      curHouseTypeChange: _vm.curHouseTypeChange,\n      curHouseFloorChange: _vm.curHouseFloorChange\n    }\n  }), _vm._l(_vm.lableItem, function (gltf, index) {\n    return _c(\"div\", {\n      directives: [{\n        name: \"show\",\n        rawName: \"v-show\",\n        value: _vm.showLables && gltf.text.length > 0,\n        expression: \"showLables && gltf.text.length>0\"\n      }],\n      key: index,\n      staticClass: \"word-view\",\n      style: {\n        transform: gltf.transform\n      },\n      on: {\n        click: function ($event) {\n          return _vm.goRoam(gltf);\n        }\n      }\n    }, [_vm.styleType == 2 ? _c(\"div\", {\n      class: [\"number-view \", index + 1 > 9 ? \"number-more\" : \"\", _vm.currentChangeSpaceId == gltf.spaceId ? \" active\" : \"\"],\n      attrs: {\n        \"user-select\": \"false\"\n      }\n    }, [_vm._v(_vm._s(gltf.spaceIndex + 1))]) : _c(\"div\", {\n      staticClass: \"word\",\n      class: _vm.currentChangeSpaceId == gltf.spaceId ? \"active\" : \"\",\n      attrs: {\n        \"user-select\": \"false\"\n      }\n    }, [_vm._v(_vm._s(gltf.text) + \">\")])]);\n  })], 2);\n};\nvar staticRenderFns = [];\nrender._withStripped = true;\n\n\n//# sourceURL=webpack://hello-world/./src/pages/webgl_rxdz/webgl_rxdz.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/webgl_rxdz_customize/webgl_rxdz_customize.html?vue&type=template&id=361e85ca&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/webgl_rxdz_customize/webgl_rxdz_customize.html?vue&type=template&id=361e85ca&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: \"bookingSheet\"\n  }, [_c(\"mynavbar\", {\n    attrs: {\n      barData: _vm.navbar\n    }\n  }), _c(\"div\", {\n    staticClass: \"contentBox\"\n  }, [_c(\"div\", {\n    staticClass: \"picArea\"\n  }, [_c(\"div\", {\n    staticClass: \"master-pic\"\n  }, [_c(\"el-carousel\", {\n    ref: \"carousel\",\n    staticClass: \"master-pic-swiper\",\n    attrs: {\n      autoplay: false,\n      loop: false,\n      \"indicator-dots\": false,\n      current: _vm.currImgIdx\n    },\n    on: {\n      change: _vm.swiperChangeImg\n    }\n  }, _vm._l(_vm.hardboundEffect, function (img, s) {\n    return _c(\"el-carousel-item\", {\n      key: s,\n      staticClass: \"master-pic-img\",\n      attrs: {\n        \"item-id\": s\n      }\n    }, [_c(\"img\", {\n      staticClass: \"master-pic-img\",\n      attrs: {\n        src: img,\n        mode: \"aspectFill\"\n      },\n      on: {\n        touchstart: _vm.mytouchstart,\n        touchmove: _vm.mytouchmove,\n        touchend: _vm.mytouchend\n      }\n    }), _vm.tabIndex == 0 && (!_vm.shareUserId || _vm.shareUserId == _vm.userId) ? _c(\"div\", {\n      staticClass: \"lookHouseView rows justify-center\",\n      on: {\n        click: _vm.toMode\n      }\n    }, [_c(\"img\", {\n      staticClass: \"icon-ai\",\n      attrs: {\n        src: \"https://dm.static.elab-plus.com/miniProgram/iconfont/icon-ai.png\",\n        mode: \"widthFix\"\n      }\n    }), _vm._v(\" 查看户型 \")]) : _vm._e()]);\n  }), 1), _vm.hardboundEffect && _vm.hardboundEffect.length > 1 ? _c(\"div\", {\n    staticClass: \"indicator-view rows\"\n  }, _vm._l(_vm.hardboundEffect, function (item, idx) {\n    return _c(\"div\", {\n      key: idx,\n      staticClass: \"indicator-item\",\n      class: {\n        active: _vm.currImgIdx == idx\n      }\n    });\n  }), 0) : _vm._e()], 1), _c(\"div\", {\n    staticClass: \"tabList rows flex-start\"\n  }, _vm._l(_vm.tabData, function (tab, index) {\n    return _c(\"div\", {\n      key: index,\n      staticClass: \"tab-item columns\",\n      class: {\n        tabActive: _vm.tabIndex == index\n      },\n      on: {\n        click: function ($event) {\n          return _vm.changeTab(index);\n        }\n      }\n    }, [_c(\"img\", {\n      staticClass: \"tab-img\",\n      attrs: {\n        src: tab.imgUrl,\n        mode: \"aspectFill\"\n      }\n    }), _c(\"div\", {\n      staticClass: \"tab-info rows rows-between\"\n    }, [_c(\"div\", {\n      staticClass: \"eslipe\"\n    }, [_vm._v(_vm._s(tab.name || \"-\"))]), tab.area ? _c(\"div\", {\n      staticClass: \"eslipe\"\n    }, [_vm._v(_vm._s(tab.area || \"-\") + \"㎡\")]) : _vm._e()])]);\n  }), 0)]), _vm.layoutStruct ? _c(\"div\", {\n    staticClass: \"booking-info\",\n    style: {\n      color: _vm.tabIndex == 0 ? \"#000\" : \"#fff\"\n    }\n  }, [_c(\"div\", {\n    staticClass: \"left-line line\"\n  }), _c(\"div\", {\n    staticClass: \"right-line line\"\n  }), _c(\"div\", {\n    staticClass: \"writingBox rows\"\n  }, [_c(\"img\", {\n    staticClass: \"writing-img\",\n    attrs: {\n      src: _vm.layoutStruct.houseImg || _vm.plotHeadDeafultImg\n    }\n  }), _c(\"div\", {\n    staticClass: \"wiriting-right\"\n  }, [_c(\"div\", {\n    staticClass: \"font40 wiriting-text\"\n  }, [_vm._v(_vm._s(_vm.shareUserId && _vm.shareUserId != _vm.userId ? \"\" : \"我的\") + \"私人定制\")]), _c(\"div\", {\n    staticClass: \"font52 wiriting-text\"\n  }, [_vm._v(_vm._s(_vm.layoutStruct.houseName || \"\"))])])]), _c(\"div\", {\n    staticClass: \"info-bar\"\n  }, [_c(\"div\", {\n    staticClass: \"info-item\"\n  }, [_c(\"div\", {\n    staticClass: \"info-item-label\"\n  }, [_vm._v(\"户型\")]), _c(\"div\", {\n    staticClass: \"info-item-value eslipe\"\n  }, [_vm._v(_vm._s(_vm.form.layoutName || \"-\"))])]), _c(\"div\", {\n    staticClass: \"info-item\"\n  }, [_c(\"div\", {\n    staticClass: \"info-item-label\"\n  }, [_vm._v(\"面积\"), _c(\"text\", {\n    staticClass: \"textAbout\"\n  }, [_vm._v(\"约\")])]), _c(\"div\", {\n    staticClass: \"info-item-value\"\n  }, [_vm._v(_vm._s(_vm.form.layoutArea ? _vm.form.layoutArea + \"m²\" : \"-\"))])]), _c(\"div\", {\n    staticClass: \"info-item\"\n  }, [_c(\"div\", {\n    staticClass: \"info-item-label\"\n  }, [_vm._v(\"家庭结构\")]), _c(\"div\", {\n    staticClass: \"info-item-value\"\n  }, [_vm._v(_vm._s(_vm.layoutStruct.spaceName || \"-\"))])]), _vm.form.style ? _c(\"div\", {\n    staticClass: \"info-item\"\n  }, [_c(\"div\", {\n    staticClass: \"info-item-label\"\n  }, [_vm._v(\"风格\")]), _c(\"div\", {\n    staticClass: \"info-item-value\"\n  }, [_vm._v(_vm._s(_vm.form.style || \"-\"))])]) : _vm._e()])]) : _vm._e(), _c(\"div\", {\n    staticClass: \"bottom-view columns justify-center\"\n  }, [_c(\"div\", {\n    staticClass: \"bottom-title\",\n    style: {\n      color: _vm.tabIndex == 0 ? \"#1A1A1A\" : \"#fff\"\n    }\n  }, [_vm._v(\" - 分享我的梦想家 - \")]), _c(\"div\", {\n    staticClass: \"bottom-tips\",\n    style: {\n      color: _vm.tabIndex == 0 ? \"#1A1A1A\" : \"#fff\"\n    }\n  }, [_vm._v(\" 分享好友可获得私定高额优惠 \")]), _c(\"div\", {\n    staticClass: \"rows rows-between\"\n  }, [_c(\"div\", {\n    staticClass: \"bottom-btn btn-qw rows justify-center\",\n    on: {\n      click: _vm.navigateFuc\n    }\n  }, [_vm._v(\" 加企微 · 定制服务 \")]), _c(\"div\", {\n    staticClass: \"bottom-btn btn-share rows justify-center\",\n    on: {\n      click: function ($event) {\n        return _vm.optionChange(true);\n      }\n    }\n  }, [_c(\"i\", {\n    staticClass: \"iconfont icon-Shared\",\n    staticStyle: {\n      color: \"#ffffff\",\n      \"font-size\": \"32rem\",\n      \"margin-right\": \"20rem\"\n    }\n  }), _vm._v(\" 立即分享 \")])])]), _vm.gsImage ? _c(\"div\", {\n    staticClass: \"swiper-img-gs-mh\"\n  }, [_c(\"img\", {\n    staticClass: \"img\",\n    attrs: {\n      mode: \"aspectFill\",\n      src: _vm.gsImage\n    }\n  })]) : _vm._e()])], 1);\n};\nvar staticRenderFns = [];\nrender._withStripped = true;\n\n\n//# sourceURL=webpack://hello-world/./src/pages/webgl_rxdz_customize/webgl_rxdz_customize.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/webgl_rxdz_look/webgl_rxdz_look.html?vue&type=template&id=00b83a56&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/webgl_rxdz_look/webgl_rxdz_look.html?vue&type=template&id=00b83a56&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: \"main-view\"\n  }, [_c(\"mynavbar\", {\n    attrs: {\n      barData: _vm.navbar\n    }\n  }), _c(\"div\", {\n    ref: \"webgl\",\n    attrs: {\n      id: \"mapDiv\"\n    }\n  }), _c(\"canvas\", {\n    ref: \"glcanvas\",\n    attrs: {\n      id: \"canvas_webgl\",\n      type: \"webgl\",\n      width: \"100vw\",\n      height: \"100vh\"\n    }\n  }), _vm._l(_vm.lableItem, function (gltf, index) {\n    return _c(\"div\", {\n      directives: [{\n        name: \"show\",\n        rawName: \"v-show\",\n        value: _vm.showLables && gltf.text.length > 0,\n        expression: \"showLables && gltf.text.length>0\"\n      }],\n      key: index,\n      staticClass: \"word-view\",\n      style: {\n        transform: gltf.transform\n      }\n    }, [_c(\"span\", {\n      attrs: {\n        \"user-select\": \"false\"\n      }\n    }, [_vm._v(_vm._s(gltf.text))])]);\n  }), _vm.floorList && _vm.floorList.length > 1 ? _c(\"div\", {\n    staticClass: \"floor-view\"\n  }, _vm._l(_vm.floorList, function (floor, index) {\n    return _c(\"div\", {\n      key: index,\n      staticClass: \"floor-item rows justify-center\",\n      class: _vm.floorId == floor.layoutId ? \"active\" : \"\",\n      on: {\n        click: function ($event) {\n          return _vm.floorChange(floor);\n        }\n      }\n    }, [_vm._v(\" \" + _vm._s(floor.houseFloor ? floor.houseFloor + \"F\" : \"\") + \" \")]);\n  }), 0) : _vm._e()], 2);\n};\nvar staticRenderFns = [];\nrender._withStripped = true;\n\n\n//# sourceURL=webpack://hello-world/./src/pages/webgl_rxdz_look/webgl_rxdz_look.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/webgl_rxdz_roam/webgl_rxdz_roam.html?vue&type=template&id=05e3542e&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/webgl_rxdz_roam/webgl_rxdz_roam.html?vue&type=template&id=05e3542e&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: \"main-view\"\n  }, [_c(\"mynavbar\", {\n    attrs: {\n      barData: _vm.navbar\n    }\n  }), _c(\"div\", {\n    ref: \"webgl\",\n    attrs: {\n      id: \"mapDiv\"\n    }\n  }), _c(\"canvas\", {\n    ref: \"glcanvas\",\n    style: {\n      height: _vm.canvasHeight + \"px\"\n    },\n    attrs: {\n      id: \"canvas_webgl\",\n      type: \"webgl\",\n      width: \"100vw\"\n    }\n  }), _c(\"viewMask\", {\n    ref: \"viewMask\",\n    staticStyle: {\n      \"z-index\": \"13\"\n    },\n    attrs: {\n      spaceObj: _vm.curSpaceObj\n    },\n    on: {\n      switchActor: _vm.switchActor,\n      hideOrShowActor: _vm.hideOrShowActor\n    }\n  }), _c(\"canvas\", {\n    style: {\n      height: _vm.canvasHeight + \"px\",\n      top: \"100vh\"\n    },\n    attrs: {\n      id: \"canvas\",\n      type: \"2d\"\n    }\n  })], 1);\n};\nvar staticRenderFns = [];\nrender._withStripped = true;\n\n\n//# sourceURL=webpack://hello-world/./src/pages/webgl_rxdz_roam/webgl_rxdz_roam.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_16__ = __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 _components_mynavbar_mynavbar_vue__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! @/components/mynavbar/mynavbar.vue */ \"./src/components/mynavbar/mynavbar.vue\");\n/* harmony import */ var echarts__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! echarts */ \"./node_modules/_echarts@4.9.0@echarts/index.js\");\n/* harmony import */ var echarts__WEBPACK_IMPORTED_MODULE_17___default = /*#__PURE__*/__webpack_require__.n(echarts__WEBPACK_IMPORTED_MODULE_17__);\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\n// import checkPermission from \"@/utils/permission\";\n\nvue__WEBPACK_IMPORTED_MODULE_16__[\"default\"].use((element_ui__WEBPACK_IMPORTED_MODULE_4___default())); //导入ele-ui\nvue__WEBPACK_IMPORTED_MODULE_16__[\"default\"].component('mynavbar', _components_mynavbar_mynavbar_vue__WEBPACK_IMPORTED_MODULE_15__[\"default\"]);\n// Vue.prototype.$popUp = popUpComponent;\n// Vue.prototype.$preview = previewComponent;\nwindow.$bus = new vue__WEBPACK_IMPORTED_MODULE_16__[\"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_16__[\"default\"].prototype.axios = _services_request_js__WEBPACK_IMPORTED_MODULE_7__[\"default\"];\n// Vue.prototype.checkPermission = checkPermission; // 权限校验\nvue__WEBPACK_IMPORTED_MODULE_16__[\"default\"].config.productionTip = false; //阻止启动生产消息\nvue__WEBPACK_IMPORTED_MODULE_16__[\"default\"].prototype.$message = _utils_resetMessage__WEBPACK_IMPORTED_MODULE_14__.message; //重写提示\n\n// 引入echarts\n\nwindow.echarts = echarts__WEBPACK_IMPORTED_MODULE_17__;\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_16__[\"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 (this.pvCurPageName == \"room_show\") {\n          //给地板模型添加天花板-只有webgl_rxdz_roam页面需要天花板\n          list && list.forEach(obj => {\n            if (obj.spaceType != 14) {\n              //花园不加上面的墙\n              let positionX = obj.centerX / 100;\n              let positionY = obj.centerY / 100;\n              // 天花板\n              const planeGeometry = new three__WEBPACK_IMPORTED_MODULE_1__.PlaneGeometry(obj.spaceWidth / 100, obj.spaceHeight / 100);\n              const planeMaterial = new three__WEBPACK_IMPORTED_MODULE_1__.MeshLambertMaterial({\n                color: 0xffffff\n              });\n              const planeMesh = new three__WEBPACK_IMPORTED_MODULE_1__.Mesh(planeGeometry, planeMaterial);\n              planeMesh.rotation.x = Math.PI / 2; // 旋转 180 度\n              planeMesh.position.set(positionX, 2.8, -positionY);\n              planeMesh.userType = \"mesh\";\n              that.scene.add(planeMesh);\n            }\n          });\n        }\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__[\"default\"].Tween(stratMatrix.elements).to(endMatrix.elements, 2000).easing(three_addons_libs_tween_module_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"].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__[\"default\"].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__[\"default\"].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      // this.loadedCompleteFun();\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      // \tthis.loadedCompleteFun = function() {\n      // \t\tconsole.log('家具模型接口结束');\n      // \t\tresolve()\n      // \t}\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 = [388];//模型有警告,需要看下\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          }\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 = [];\n      realFurArr = this.preFurnitureData(tmpList); //统一处理家具模型\n      this.calculateLayoutModelSize(); // 提前计算模型的位置\n      console.log(\"***realFurArr***\", realFurArr, this.gltfLayouts);\n      realFurArr && realFurArr.forEach((item, index) => {\n        this.promise_list.push(new Promise((resolve, reject) => {\n          this.loadLayoutModels(item, resolve);\n        }));\n      });\n      Promise.all(this.promise_list).then(() => {\n        let endTime = new Date().getTime();\n        console.log(\"家具模型全部加载完成,时间:\", endTime - startTime);\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      list && list.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          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: item.uniId,\n            //家具模型实例的唯一标识\n            spaceId: item.spaceId,\n            id: item.id,\n            userData: item,\n            position: position,\n            scale: scale,\n            rotation: rotation,\n            loaded: false\n          };\n          this.gltfLayouts.push(md);\n        }\n      });\n      return realFurnitureArr;\n    },\n    //加载家具模型-实例化方案\n    loadLayoutModels(realData, resolve) {\n      var that = this;\n      if (!realData.url) {\n        console.warn(\"***家具模型不存在***\", realData);\n        resolve();\n        return false;\n      }\n      if (realData.name.includes('BP_XSPACE_deng_01')) {\n        //灯光\n        resolve();\n      } else {\n        that.loader.setDRACOLoader(this.dracoLoader);\n        that.loader.load(realData.url, gltf => {\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 gltfFurn = that.gltfLayouts.find(itme => itme.uniId == it.uniId); //判断是否已经添加过\n                if (!gltfFurn) {\n                  return false;\n                  // debugger\n                }\n\n                gltf.scene.rotation.y = gltfFurn.rotation.y;\n                gltf.scene.position.set(gltfFurn.position.x, 0, gltfFurn.position.z);\n                gltf.scene.scale.set(gltfFurn.scale.x, 1, gltfFurn.scale.z);\n                gltf.scene.updateMatrixWorld(); //更新世界坐标-这样,子模型也同步更新了\n                instancedMesh.setMatrixAt(i, child.matrixWorld);\n                instancedMesh.instanceMatrix.needsUpdate = true;\n                gltfFurn.loaded = true;\n                if (!gltfFurn.instancedMeshIndexList) {\n                  //标识网格实例数组的序号 以及 当前几何体 在网格实例的序号\n                  gltfFurn.instancedMeshIndexList = [{\n                    instancedMeshIndex: this.instancedFurList.length - 1,\n                    instancedAtIndex: i\n                  }];\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              this.scene.add(instancedMesh); //添加到场景中\n            }\n          });\n\n          resolve();\n        });\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        rotationY = 0;\n        // 交换尺寸\n        // modelWidth = cubeInfo.modelHeight;\n        // modelHeight = cubeInfo.modelWidth;\n      }\n\n      if (parseFloat(cubeInfo.rotation) == 180) {\n        rotationY = -Math.PI / 2;\n        // modelWidth = cubeInfo.modelHeight;\n        // modelHeight = cubeInfo.modelWidth;\n      }\n\n      if (parseFloat(cubeInfo.rotation) == -90) {\n        rotationY = -Math.PI;\n        // 交换尺寸\n        // modelWidth = cubeInfo.modelHeight;\n        // 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(\"模型计算位置\", 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      cube.scale.y = 1;\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      if (cube.instancedMeshIndexList && cube.instancedMeshIndexList.length > 0) {\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            // scaleMatrix.makeScale(scaleX,1,scaleY);\t//获得缩放变化矩阵\n            // panMatrix.makeTranslation(cube.position.x,0,cube.position.z);\t//获得平移变化矩阵\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    // 空间处理光源\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/* harmony default export */ __webpack_exports__[\"default\"] = ({\n  data() {\n    return {\n      canvas2d: null\n    };\n  },\n  watch: {},\n  onReady() {},\n  methods: {\n    //触发主页面的截屏动作\n    screenPromiseShot() {\n      // let currUniPage = getCurrentPages()[getCurrentPages().length - 1].$vm;\n      return new Promise(resolve => {\n        this.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 = this.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 (this && this.starRender && typeof this.starRender == 'function') {\n                  this.starRender(); //启动渲染\n                }\n\n                resolve('');\n              }\n            });\n          } else {\n            // let imgBase64 = this.canvas.toDataURL();\n            // this.base64src(imgBase64, (res) => {\n            // \tconsole.warn('转化后的url:', res)\n            // \tthis.upload(res,resolve);\n            // })\n\n            // let img = new Image();\n            // img.src = this.canvas.toDataURL('image/jpeg');// toDataURL :图片格式转成 base64\n            let imgBase64 = this.canvas.toDataURL();\n            if (type == 2) {\n              resolve(imgBase64);\n            } else {\n              this.uploadFile(imgBase64, resolve);\n            }\n            // this.uploadFile(imgBase64,resolve)\n          }\n        });\n      });\n    },\n\n    async uploadFile(file, cb = null) {\n      let data = {\n        \"base64Str\": file\n      };\n      let result = await requestConfig(\"uploadBase64\", data, true);\n      console.log(result, 'gggggg');\n      if (result && result.success) {\n        let shottingImg = result.single.filePath;\n        cb(shottingImg);\n      } else {\n        cb(\"\");\n      }\n      if (this && this.starRender && typeof this.starRender == 'function') {\n        this.starRender(); //截图成功后,启动渲染\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 (this && this.starRender && typeof this.starRender == 'function') {\n            this.starRender(); //截图成功后,启动渲染\n          }\n        }\n      });\n    }\n  }\n});\n\n//# sourceURL=webpack://hello-world/./src/mixins/screenshot.js?");/***/ }),/***/ "./src/mixins/touchHandle.js":/*!***********************************!*\  !*** ./src/mixins/touchHandle.js ***!  \***********************************//***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {"use strict";eval("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n  data() {\n    return {\n      startX: 0,\n      startY: 0,\n      clientX: 0,\n      clientY: 0\n    };\n  },\n  methods: {\n    mytouchstart(e) {\n      this.clientX = 0;\n      this.clientY = 0;\n      this.startX = e.changedTouches[0].clientX;\n      this.startY = e.changedTouches[0].clientY;\n    },\n    mytouchmove(e) {\n      let startX = this.startX; // 开始x坐标 \n      let startY = this.startY; //开始y坐标\n      let touchMoveX = e.changedTouches[0].clientx; //滑动变化坐标 \n      let touchMoveY = e.changedTouches[0].clientY; //滑动变化坐标 \n      this.clientX = touchMoveX - startX;\n      this.clientY = touchMoveY - startY;\n    },\n    mytouchend(e) {\n      let startX = this.startX; // 开始x坐标\n      let startY = this.startY; //开始y坐标\n      let touchMoveX = e.changedTouches[0].clientX; //滑动变化坐标 \n      let touchMoveY = e.changedTouches[0].clientY; //滑动变化坐标 \n      let angle = this.angle({\n        X: startX,\n        Y: startY\n      }, {\n        X: touchMoveX,\n        Y: touchMoveY\n      });\n      //滑动角度超过45retrun\n      // console.log(Math.abs(angle), \"Math.abs(angle)\")\n      if (Math.abs(angle) > 45) {\n        //上下滑动\n        if (touchMoveY > startY && touchMoveY - startY > 20) {\n          //下滑\n          console.warn(\"***touchend-下滑***\", touchMoveY - startY);\n          this.downScroll && this.downScroll();\n        }\n        if (startY > touchMoveY && startY - touchMoveY > 20) {\n          //上滑\n          console.warn(\"***touchend-上滑***\", startY - touchMoveY);\n          this.upScroll && this.upScroll();\n        }\n      } else {\n        //左右滑动\n        if (startX > touchMoveX && startX - touchMoveX > 50) {\n          //左滑\n          console.warn(\"***touchend-左滑***\", startX - touchMoveX);\n          this.leftScroll && this.leftScroll();\n        }\n        if (touchMoveX > startX && touchMoveX - startX > 50) {\n          //右滑\n          console.warn(\"***touchend-右滑***\", touchMoveX - startX);\n          this.rightScroll && this.rightScroll();\n        }\n      }\n    },\n    angle(start, end) {\n      let _X = end.X - start.X;\n      let _Y = end.Y - start.Y;\n      if (_X == 0) return 90;\n      return 360 * Math.atan(_Y / _X / (2 * Math.PI));\n    }\n  }\n});\n\n//# sourceURL=webpack://hello-world/./src/mixins/touchHandle.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__[\"default\"].Tween(stratMatrix.elements).to(endMatrix.elements, 2000).easing(three_addons_libs_tween_module_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"].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__[\"default\"].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__[\"default\"].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      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__[\"default\"].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__[\"default\"].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            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          if (gltfWall) {\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          } else {\n            console.warn(\"***changeSpacesAnim-over-wall***\", wallObj.uniId, wallObj);\n          }\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          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        this.$store.state.loadingMsg = \"加载中...\" + 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      let spaceWallInfo = {\n        wallN: false,\n        wallS: false,\n        wallW: false,\n        wallE: false\n      };\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            spaceWallInfo.wallN = true;\n          } else if (wallDirection == \"S\") {\n            wallPositionY = wallPositionY * -1 + spaceObj.spaceHeight / 2 / scale;\n            let wallHeight2 = wallHeight / 2 / scale;\n            wallPositionY = wallPositionY - wallHeight2;\n            spaceWallInfo.wallS = true;\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            spaceWallInfo.wallE = true;\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            spaceWallInfo.wallW = true;\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        spaceObj.spaceWallInfo = spaceWallInfo;\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);\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_5__ = __webpack_require__(/*! vue */ \"./node_modules/_vue@2.7.14@vue/dist/vue.esm.js\");\n/* harmony import */ var vue_router__WEBPACK_IMPORTED_MODULE_6__ = __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/* harmony import */ var _pages_webgl_rxdz_webgl_rxdz_vue__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @/pages/webgl_rxdz/webgl_rxdz.vue */ \"./src/pages/webgl_rxdz/webgl_rxdz.vue\");\n/* harmony import */ var _pages_webgl_rxdz_roam_webgl_rxdz_roam_vue__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @/pages/webgl_rxdz_roam/webgl_rxdz_roam.vue */ \"./src/pages/webgl_rxdz_roam/webgl_rxdz_roam.vue\");\n/* harmony import */ var _pages_webgl_rxdz_look_webgl_rxdz_look_vue__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @/pages/webgl_rxdz_look/webgl_rxdz_look.vue */ \"./src/pages/webgl_rxdz_look/webgl_rxdz_look.vue\");\n/* harmony import */ var _pages_webgl_rxdz_customize_webgl_rxdz_customize__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @/pages/webgl_rxdz_customize/webgl_rxdz_customize */ \"./src/pages/webgl_rxdz_customize/webgl_rxdz_customize.vue\");\n\n\n\n// import Login from '@/pages/loginView/loginView.vue'\n\n\n\n\n\nvue__WEBPACK_IMPORTED_MODULE_5__[\"default\"].use(vue_router__WEBPACK_IMPORTED_MODULE_6__[\"default\"]);\nconst router = new vue_router__WEBPACK_IMPORTED_MODULE_6__[\"default\"]({\n  // mode: 'history',\n  routes: [\n  // 页面初始化\n  {\n    path: '/',\n    redirect: '/pages/webgl_rxdz'\n  }, {\n    path: '/pages/mainView',\n    name: 'mainView',\n    component: _pages_mainView_mainView_vue__WEBPACK_IMPORTED_MODULE_0__[\"default\"]\n  }, {\n    path: '/pages/webgl_rxdz',\n    name: 'webgl_rxdz',\n    component: _pages_webgl_rxdz_webgl_rxdz_vue__WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n    meta: {\n      keepAlive: true\n    }\n  }, {\n    path: '/pages/webgl_rxdz_roam',\n    name: 'webgl_rxdz_roam',\n    component: _pages_webgl_rxdz_roam_webgl_rxdz_roam_vue__WEBPACK_IMPORTED_MODULE_2__[\"default\"]\n  }, {\n    path: '/pages/webgl_rxdz_look',\n    name: 'webgl_rxdz_look',\n    component: _pages_webgl_rxdz_look_webgl_rxdz_look_vue__WEBPACK_IMPORTED_MODULE_3__[\"default\"]\n  }, {\n    path: '/pages/webgl_rxdz_customize',\n    name: 'webgl_rxdz_customize',\n    component: _pages_webgl_rxdz_customize_webgl_rxdz_customize__WEBPACK_IMPORTED_MODULE_4__[\"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_6__[\"default\"].prototype.push;\nvue_router__WEBPACK_IMPORTED_MODULE_6__[\"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  if (!config.url.includes('aiGenerateImg/getResult') && !config.url.includes('aiGenerateImg/uploadImgControlNet') && !config.url.includes('aiGenerateImg/img2Img')) {\n    requestCount++; //请求数+1\n  }\n\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  if (!response.config.url.includes('aiGenerateImg/getResult') && !response.config.url.includes('aiGenerateImg/uploadImgControlNet') && !response.config.url.includes('aiGenerateImg/img2Img')) {\n    requestCount = requestCount - 1;\n  }\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  if (!error.config.url.includes('aiGenerateImg/getResult') && !error.config.url.includes('aiGenerateImg/uploadImgControlNet') && !error.config.url.includes('aiGenerateImg/img2Img')) {\n    requestCount = requestCount - 1;\n  }\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  uploadBase64: 'elab-marketing-file/upload/uploadBase64',\n  //uploadBase64\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  // AI生成界面\n  AIuploadImgControlNet: 'elab-marketing-content/aiGenerateImg/uploadImgControlNet',\n  //ControlNet图片上传\n  saveCustomizedRecord: 'elab-marketing-file/space_vary/saveCustomizedRecord',\n  //用户AI信息上传\n  getCustomizedRecord: 'elab-marketing-file/space_vary/getCustomizedRecord',\n  //获取用户定制记录\n  deleteCustomizedRecord: 'elab-marketing-file/space_vary/deleteCustomizedRecord',\n  //删除用户定制记录\n  chineseToPinyin: 'elab-marketing-file/tools/chineseToPinyin',\n  //汉字转拼音\n  generateTaskImgToImgForAliyun: 'elab-marketing-content/aiGenerateImg/img2Img',\n  // 生成识别任务-阿里云(图生图)\n  generateTaskWordToImgForAliyun: 'elab-marketing-content/aiGenerateImg/addTaskWithWord2Img',\n  // 生成识别任务-阿里云(文生图)\n  generateProcess: 'elab-marketing-content/aiGenerateImg/getResult',\n  // 获取任务进度-阿里云\n  shareDetail: '/elab-marketing-content/aiDreamHouse/V3.0/shareDetail' // 分享查看\n};\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  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') && !requestOptions.url.includes('aiGenerateImg/uploadImgControlNet') && !requestOptions.url.includes('aiGenerateImg/img2Img') && !requestOptions.url.includes('aiGenerateImg/getResult')) {\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("var config = function (env) {\n  let WEB_CONF = {};\n  if (env === 'test') {\n    WEB_CONF = {\n      brandId: 94,\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      brandId: 94,\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      brandId: 94,\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      brandId: 94,\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      brandId: 94,\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      brandId: 94,\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      brandId: 94,\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      brandId: 110,\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};\nmodule.exports = config;\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  setCurHouseObj({\n    commit\n  }, obj) {\n    commit('SET_CURHOUSEOBJ', obj);\n  },\n  setUserId({\n    commit\n  }, userId) {\n    commit('SET_USERID', userId);\n  },\n  setAiData({\n    commit\n  }, aiData) {\n    commit('SET_AIDATA', aiData);\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  SET_CURHOUSEOBJ(state, obj) {\n    state.curHouseObj = obj;\n  },\n  SET_USERID(state, userId) {\n    state.userId = userId;\n  },\n  SET_AIDATA(state, aiData) {\n    state.aiData = aiData;\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  userId: '',\n  //用户id-小程序当中提供的\n  curHouseObj: null,\n  aiData: null //AI生成的数据\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  },\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 = 750;\n    // var width = window.innerWidth;\n    var width = window.screen.width;\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 _utils_localStorage__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @/utils/localStorage */ \"./src/utils/localStorage.js\");\n\nwindow.sessionTime = new Date();\nvar util = {\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  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  formatDate: function (date, fmt) {\n    if (/(y+)/.test(fmt)) {\n      fmt = fmt.replace(RegExp.$1, (date.getFullYear() + '').substr(4 - RegExp.$1.length));\n    }\n    let o = {\n      'M+': date.getMonth() + 1,\n      'd+': date.getDate(),\n      'h+': date.getHours(),\n      'm+': date.getMinutes(),\n      's+': date.getSeconds()\n    };\n    for (let k in o) {\n      if (new RegExp(`(${k})`).test(fmt)) {\n        let str = o[k] + '';\n        fmt = fmt.replace(RegExp.$1, RegExp.$1.length === 1 ? str : this.padLeftZero(str));\n      }\n    }\n    return fmt;\n  },\n  padLeftZero: function (str) {\n    return ('00' + str).substr(str.length);\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  getUrlParams(url) {\n    url = url == null ? window.location.href : url;\n    var search = url.substring(url.lastIndexOf(\"?\") + 1);\n    var obj = {};\n    var reg = /([^?&=]+)=([^?&=]*)/g;\n    // [^?&=]+表示:除了?、&、=之外的一到多个字符\n    // [^?&=]*表示:除了?、&、=之外的0到多个字符(任意多个)\n    search.replace(reg, function (rs, $1, $2) {\n      var name = decodeURIComponent($1);\n      var val = decodeURIComponent($2);\n      val = String(val);\n      obj[name] = val;\n      return rs;\n    });\n    return obj;\n  },\n  formatTime(date) {\n    var year = date.getFullYear();\n    var month = date.getMonth() + 1;\n    var day = date.getDate();\n    var hour = date.getHours();\n    var minute = date.getMinutes();\n    var second = date.getSeconds();\n    return [year, month, day].map(this.formatNumber).join('-') + ' ' + [hour, minute, second].map(this.formatNumber).join(':');\n  },\n  formatNumber(n) {\n    n = n.toString();\n    return n[1] ? n : '0' + n;\n  },\n  trackRequest(para, app = null) {\n    if (para.type && para.type.includes('Error')) {\n      //所有报错埋点以及曝光埋点不再发送至服务器\n      return;\n    }\n    try {\n      var session = Number((0,_utils_localStorage__WEBPACK_IMPORTED_MODULE_0__.getStorage)('sessionNumber')) + 1;\n      let data = {\n        session: '',\n        userAgent: navigator.userAgent.substring(0, 255) || '',\n        browserName: navigator.appName || '',\n        browserVersion: navigator.appVersion.substring(0, 255) || '',\n        platform: location.href.indexOf(\"shareSign\") > -1 ? 'h5' : 'tfb',\n        //iframeUrl代表是顾问分享的外链\n        fromPlatform: util.getUrlParams(location.href).fromPlatform || util.getUrlParams(location.href).fromProduce || 'tfb',\n        deviceType:  false || \"\",\n        ip: window.ip || '',\n        cookieId: from_cookie || (0,_utils_localStorage__WEBPACK_IMPORTED_MODULE_0__.getStorage)(\"cookie_id\") || '',\n        openId: util.getUrlParams(location.href).openid,\n        userId: util.getUrlParams(location.href).leavePhoneCustomerId || '',\n        brandUserId: util.getUrlParams(location.href).leavePhoneCustomerId || '',\n        createTime: this.formatTime(new Date()),\n        uploadTime: this.formatTime(new Date()),\n        product: location.href.indexOf(\"shareSign\") > -1 ? 'h5' : 'tfb',\n        //iframeUrl代表是顾问分享的外链\n        project: para.project,\n        brandId: util.getUrlParams(location.href).special_ID || util.getUrlParams(location.href).brandId || null,\n        // expand:typeof para.expand==='object'?JSON.stringify(para.expand):para.expand,//扩展字段\n        expand: JSON.stringify(util.getUrlParams(location.href)),\n        //扩展字段\n        imTalkId: para.imTalkId || '',\n        //IM对话编号\n        imTalkType: para.imTalkType || '',\n        //IM对话类型\n        eventModuleDes: para.eventModuleDes || '',\n        //模块描述信息\n        eventInnerModuleId: para.eventInnerModuleId || '',\n        //事件内部模块信息\n        eventName: para.eventName || '',\n        //事件名称\n        eventId: para.eventId || '',\n        //埋点ID\n        adviserId: para.adviserId || '',\n        //顾问id\n        clkDesPage: para.clkDesPage || '',\n        //点击前往的页面名称\n        clkId: para.clkId || '',\n        //点击ID\n        clkName: para.clkName || '',\n        pvId: para.pvId || '',\n        //PV埋点ID\n        clkParams: typeof para.clkParams === 'object' ? JSON.stringify(para.clkParams) : para.clkParams,\n        //点击参数\n        pvPageStayTime: para.pvPageStayTime || '',\n        pvCurPageName: para.pvCurPageName || '',\n        //当前页面名称\n        pvCurPageParams: typeof para.pvCurPageParams === 'object' ? JSON.stringify(para.pvCurPageParams) : para.pvCurPageParams || '',\n        //当前页面参数\n        pvLastPageName: para.pvLastPageName || '',\n        //上一页页面名称\n        pvLastPageParams: para.pvLastPageParams || '',\n        //上一页页面参数\n        pvPageLoadTime: para.pvPageLoadTime || '',\n        //加载时间\n        type: para.type || '' //埋点类型\n      };\n\n      let timeNow = new Date().getTime();\n      if (timeNow - sessionTime > 180000 && !from_session) {\n        // session++;\n        (0,_utils_localStorage__WEBPACK_IMPORTED_MODULE_0__.getStorage)('sessionNumber', session);\n      }\n      session = Number((0,_utils_localStorage__WEBPACK_IMPORTED_MODULE_0__.getStorage)('sessionNumber')) + 1;\n      data.session = from_session || (0,_utils_localStorage__WEBPACK_IMPORTED_MODULE_0__.getStorage)(\"cookie_id\") + \"_\" + session || '';\n      sessionTime = timeNow;\n      console.log(data.session);\n      // return data;\n      // app.globalData.session_id = data.session\n      // app.globalData.sessionTime = timeNow;\n      requestConfig('upload', data, true);\n      // let param = [\"SEND\" +\n      // \t\"\\nproject:\" + \"elab-marketing-system\" + \n      // \t\"\\nmethod:\" + 'POST' +\n      // \t\"\\npath:\" + '/behavior/brandMiniWeb/upload' +\n      // \t\"\\ndestination:\" + '/ws/remote/invoke' +\n      // \t\"\\n\\n\" + JSON.stringify(data) +\n      // \t\"\\u0000\"\n      // ];\n      // app.wsSendOrder(param,data);//socket 消息发送\n      console.warn(\"***mook***\", data.pvId || data.clkId || data.eventId, data.reserve3);\n    } catch (e) {\n      console.warn(\"***util.js-onError***\", e);\n    }\n  },\n  getSession() {\n    //获取session\n    let timeNow = new Date().getTime();\n    let session = uni.getStorageSync('sessionNumber') || timeNow; //session具体的值\n    uni.setStorage({\n      key: \"sessionNumber\",\n      data: session\n    });\n    return session;\n  }\n};\nwindow.from_session = util.getUrlParams(location.href).session || '';\nwindow.from_cookie = util.getUrlParams(location.href).cookie || '';\n/* harmony default export */ __webpack_exports__[\"default\"] = (util);\n// module.exports = 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/newBottomCom/viewMask/viewMask.vue?vue&type=style&index=1&id=e29041b4&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/newBottomCom/viewMask/viewMask.vue?vue&type=style&index=1&id=e29041b4&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// 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/* @import \\\"@/common/css/common.css\\\"; */\\n\", \"\"]);\n// Exports\n/* harmony default export */ __webpack_exports__[\"default\"] = (___CSS_LOADER_EXPORT___);\n\n\n//# sourceURL=webpack://hello-world/./src/components/newBottomCom/viewMask/viewMask.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/newBottomCom/viewShell/viewShell.vue?vue&type=style&index=0&id=c00b41c4&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/newBottomCom/viewShell/viewShell.vue?vue&type=style&index=0&id=c00b41c4&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_viewShell_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]!./viewShell.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/newBottomCom/viewShell/viewShell.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_viewShell_css__WEBPACK_IMPORTED_MODULE_2__[\"default\"]);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"\\n/* @import \\\"@/common/css/common.css\\\"; */\\n\", \"\"]);\n// Exports\n/* harmony default export */ __webpack_exports__[\"default\"] = (___CSS_LOADER_EXPORT___);\n\n\n//# sourceURL=webpack://hello-world/./src/components/newBottomCom/viewShell/viewShell.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/newBottomCom/viewlayout/viewlayout.vue?vue&type=style&index=0&id=08193d34&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/newBottomCom/viewlayout/viewlayout.vue?vue&type=style&index=0&id=08193d34&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_viewlayout_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]!./viewlayout.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/newBottomCom/viewlayout/viewlayout.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_viewlayout_css__WEBPACK_IMPORTED_MODULE_2__[\"default\"]);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"\\n/* @import \\\"@/common/css/common.css\\\"; */\\n\", \"\"]);\n// Exports\n/* harmony default export */ __webpack_exports__[\"default\"] = (___CSS_LOADER_EXPORT___);\n\n\n//# sourceURL=webpack://hello-world/./src/components/newBottomCom/viewlayout/viewlayout.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/pages/webgl_rxdz_customize/webgl_rxdz_customize.vue?vue&type=style&index=1&id=361e85ca&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/pages/webgl_rxdz_customize/webgl_rxdz_customize.vue?vue&type=style&index=1&id=361e85ca&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// 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/* @import \\\"@/common/css/common.css\\\"; */\\n\", \"\"]);\n// Exports\n/* harmony default export */ __webpack_exports__[\"default\"] = (___CSS_LOADER_EXPORT___);\n\n\n//# sourceURL=webpack://hello-world/./src/pages/webgl_rxdz_customize/webgl_rxdz_customize.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/newBottomCom/viewShell/viewShell.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/newBottomCom/viewShell/viewShell.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, \".plus_park {\\r\\n\\tposition: relative;\\n}\\n.shell-view{\\r\\n\\tposition: fixed;\\r\\n\\tleft: 0rem;\\r\\n\\tbottom: 0rem;\\r\\n\\twidth: 100vw;\\r\\n\\theight: 200rem;\\r\\n\\tborder-radius: 40rem 40rem 0 0;\\r\\n\\tbackground: #fff;\\r\\n\\tbox-shadow: 0 -6rem 12rem #0000001f;\\r\\n\\tbox-sizing: border-box;\\r\\n\\tz-index: 15;\\r\\n\\tpadding:0rem 40rem;\\r\\n\\tpadding-top:30rem;\\r\\n\\tpadding-bottom:60rem;\\r\\n\\ttransition: height 1s;\\n}\\n.shell-view2{\\r\\n\\theight: 448rem;\\r\\n\\tpadding-left:0rem;\\r\\n\\tpadding-right:0rem;\\n}\\n.shell-signscoll{\\r\\n\\tposition: absolute;\\r\\n\\ttop:-50rem;\\r\\n\\tleft:275rem;\\r\\n\\twidth:200rem;\\r\\n\\theight: 100rem;\\r\\n\\tz-index: 120;\\r\\n\\t/* padding-top:50rem; */\\r\\n\\tbox-sizing: border-box;\\n}\\n.signscoll-block{\\r\\n\\tposition: absolute;\\r\\n\\twidth: 90rem;\\r\\n\\theight: 10rem;\\r\\n\\tborder-radius: 5rem;\\r\\n\\tbackground: #707070;\\r\\n\\topacity: 0.6;\\r\\n\\tbottom: 30rem;\\n}\\n.floor-view{\\r\\n\\tposition: absolute;\\r\\n\\tleft:30rem;\\r\\n\\twidth: 72rem;\\r\\n\\tborder-radius: 12rem;\\r\\n\\tbackground: rgba(0, 0, 0, 0.4);\\r\\n\\toverflow: hidden;\\n}\\n.floor-item{\\r\\n\\theight: 60rem;\\r\\n\\tcolor: #fff;\\r\\n\\tfont-size: 28rem;\\n}\\n.floor-item.active{\\r\\n\\tcolor: #faa040;\\r\\n\\tbackground: #fff;\\n}\\n.tips-view{\\r\\n\\tposition: absolute;\\r\\n\\tleft:50%;\\r\\n\\ttransform:translateX(-50%);\\r\\n\\ttop:-50rem;\\r\\n\\tfont-family: \\\"Verdana\\\";\\r\\n\\tfont-weight: 400;\\r\\n\\tfont-size: 26rem;\\r\\n\\tline-height: 30rem;\\r\\n\\ttext-align: center;\\r\\n\\tcolor: #2b2b2b;\\r\\n\\topacity: 0.5;\\r\\n\\tpointer-events: none;\\n}\\n.zoom-view{\\r\\n\\tposition: absolute;\\r\\n\\ttop:-82rem;\\r\\n\\tright:30rem;\\r\\n\\twidth: 52rem;\\r\\n\\theight: 52rem;\\n}\\n.zoom-view .icon {\\r\\n\\twidth: 52rem;\\r\\n\\theight: 52rem;\\n}\\n.connect-view{\\r\\n\\tposition: absolute;\\r\\n\\twidth: 72rem;\\r\\n\\theight: 160rem;\\r\\n\\tborder-radius: 36rem;\\r\\n\\tbackground: rgba(0, 0, 0, 0.4);\\r\\n\\ttop:-190rem;\\r\\n\\tright:30rem; \\r\\n\\tpadding:2rem;\\r\\n\\tpadding-bottom:18rem;\\r\\n\\tbox-sizing: border-box;\\r\\n\\tfont-family: \\\"Verdana\\\";\\r\\n\\tfont-weight: 400;\\r\\n\\tfont-size: 24rem;\\r\\n\\tline-height: 28rem;\\r\\n\\tcolor: #fff;\\r\\n\\ttext-align: center;\\r\\n\\tjustify-content:unset;\\n}\\n.connect-view .defaultHead{\\r\\n\\twidth: 68rem;\\r\\n\\theight: 68rem;\\n}\\nbutton{\\r\\n\\tbackground-color: unset;\\r\\n\\tline-height: unset;\\r\\n\\tpadding: unset;\\n}\\nbutton::after {\\r\\n    border: none;\\n}\\r\\n\", \"\"]);\n// Exports\n/* harmony default export */ __webpack_exports__[\"default\"] = (___CSS_LOADER_EXPORT___);\n\n\n//# sourceURL=webpack://hello-world/./src/components/newBottomCom/viewShell/viewShell.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-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/newBottomCom/viewlayout/viewlayout.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/newBottomCom/viewlayout/viewlayout.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, \".layout-view{\\r\\n\\tposition: fixed;\\r\\n\\tleft: 30rem;\\r\\n\\tbottom: 0rem;\\r\\n\\tpadding-bottom: 60rem;\\r\\n\\twidth: 690rem;\\r\\n\\tz-index: 15;\\r\\n\\tbackground-color: rgba(255, 255, 255, 1);\\n}\\n.layout-list{\\r\\n\\tposition: relative;\\r\\n\\twidth: auto;\\r\\n\\tbox-sizing: border-box;\\r\\n\\tz-index: 12;\\n}\\n.seed-item{\\r\\n\\tmargin-right:90rem;\\n}\\n.seed-item:last-child{\\r\\n\\tmargin-right:0rem;\\n}\\n.item-text{\\r\\n\\tfont-family: \\\"Verdana Bold\\\";\\r\\n\\tfont-weight: 700;\\r\\n\\tfont-size: 34rem;\\r\\n\\ttext-align: center;\\r\\n\\tcolor: #1c1c1c;\\r\\n\\twidth: 95rem;\\r\\n\\t/* height: 80rem; */\\r\\n\\tmargin-bottom:10rem;\\n}\\n.item-select{\\r\\n\\twidth: 50rem;\\r\\n\\theight: 12rem;\\r\\n\\tborder-radius: 6rem;\\r\\n\\tbackground: #ffa040;\\n}\\n.item-set{\\r\\n\\tfont-family: \\\"Verdana\\\";\\r\\n\\tfont-weight: 400;\\r\\n\\tfont-size: 24rem;\\r\\n\\ttext-align: left;\\r\\n\\tcolor: #faa040;\\n}\\n.btn-list{\\r\\n\\tposition: relative;\\r\\n\\twidth: 100%;\\r\\n\\tbox-sizing: border-box;\\r\\n\\tmargin-top:26rem;\\n}\\n.btn{\\r\\n\\theight: 100rem;\\r\\n\\tborder-radius: 50rem;\\r\\n\\t-webkit-backdrop-filter:blur(40px);\\r\\n\\t        backdrop-filter:blur(40px);\\r\\n\\t--webkit-backdrop-filter: blur(40px);\\r\\n\\tfont-family: \\\"Verdana Bold\\\";\\r\\n\\tfont-weight: 700;\\r\\n\\tfont-size: 32rem;\\r\\n\\tcolor: #272727;\\r\\n\\tbox-sizing: border-box;\\n}\\n.up{\\r\\n\\t/* width: 546rem; */\\r\\n\\twidth: 690rem;\\r\\n\\tbox-shadow: 0 6rem 20rem #f2980233;\\n}\\n.up1{\\r\\n\\tcolor: rgba(245, 145, 39, 1);\\r\\n\\tbackground-image:linear-gradient(124deg, rgba(245, 201, 82, 0.4) 0%, rgba(239, 149, 57, 0.4) 100%);\\n}\\n.up2{\\r\\n\\tcolor: rgba(255, 255, 255, 1);\\r\\n\\tbackground-image:linear-gradient(124deg, rgba(245, 201, 82, 1) 0%, rgba(239, 149, 57, 1) 100%);\\n}\\n.voice2{\\r\\n\\tbackground-image:linear-gradient(124deg, rgba(245, 201, 82, 1) 0%, rgba(239, 149, 57, 1) 100%);\\n}\\n.voice3{\\r\\n\\tbackground-color: rgba(23, 23, 23, 0.04);\\r\\n\\tbackground-image:unset;\\n}\\n.voice{\\r\\n\\twidth: 100rem;\\r\\n\\tbackground-color: rgba(23, 23, 23, 0.04);\\n}\\n.voice .icon{\\r\\n\\twidth: 31.5rem;\\r\\n\\theight: 44rem;\\n}\\n.voice-view{\\r\\n\\tposition: absolute;\\r\\n\\tleft:0rem;\\r\\n\\t/* top:0rem; */\\r\\n\\twidth: 100%;\\r\\n\\tfont-family: \\\"Verdana\\\";\\r\\n\\tfont-weight: 400;\\r\\n\\tz-index: 15;\\r\\n\\tpointer-events: none;\\n}\\n.voice-title{\\r\\n\\tfont-size: 36rem;\\r\\n\\tcolor: #242424;\\n}\\n.voice-tips{\\r\\n\\tfont-size: 28rem;\\r\\n\\tcolor: rgba(36, 36, 36, 0.51);\\r\\n\\tmargin-top:10rem;\\r\\n\\tmargin-bottom:28rem;\\n}\\n.voice-gif{\\r\\n\\twidth: 100%;\\r\\n\\tmargin-top:-20rem;\\n}\", \"\"]);\n// Exports\n/* harmony default export */ __webpack_exports__[\"default\"] = (___CSS_LOADER_EXPORT___);\n\n\n//# sourceURL=webpack://hello-world/./src/components/newBottomCom/viewlayout/viewlayout.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.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/components/mynavbar/mynavbar.vue?vue&type=style&index=0&id=4960454f&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/components/mynavbar/mynavbar.vue?vue&type=style&index=0&id=4960454f&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/* 顶部要固定定位   标题要居中   自定义按钮和标题要和右边微信原生的胶囊上下对齐 */\\n.nav-wrap[data-v-4960454f] {\\n  position: fixed;\\n  width: 100vw;\\n  top: 0;\\n  z-index: 300;\\n}\\n.style1[data-v-4960454f] {\\n  top: 50% !important;\\n  transform: translateY(-50%) !important;\\n}\\n.style2[data-v-4960454f] {\\n  display: block;\\n  white-space: nowrap;\\n  text-overflow: ellipsis;\\n  overflow: hidden;\\n}\\n.nav-bottom[data-v-4960454f] {\\n  position: fixed;\\n  width: 100%;\\n  height: 5px;\\n  color: #000;\\n  z-index: 300;\\n}\\n\\n/* 标题要居中 */\\n.nav-title[data-v-4960454f] {\\n  position: absolute;\\n  text-align: center;\\n  max-width: 400rem;\\n  /* overflow: hidden; */\\n  text-overflow: ellipsis;\\n  white-space: nowrap;\\n  top: 0;\\n  left: 0;\\n  right: 0;\\n  bottom: 0;\\n  margin: auto;\\n  color: #fff;\\n  font-size: 32rem;\\n  font-weight: bold;\\n}\\n.nav-capsule[data-v-4960454f] {\\n  position: absolute;\\n  display: flex;\\n  align-items: center;\\n  /*margin-left: 30rem;*/\\n  width: 180rem;\\n  justify-content: space-between;\\n  height: 100%;\\n  z-index: 4;\\n}\\n.nav-buildStyle[data-v-4960454f] {\\n  display: flex;\\n  align-items: center;\\n  justify-content: space-between;\\n  height: 100%;\\n  background-color: initial !important;\\n}\\n.nav-buildCityStyle[data-v-4960454f] {\\n  display: flex;\\n  align-items: center;\\n  justify-content: space-between;\\n  height: 100%;\\n  /*background-color: #2ab4ff;*/\\n}\\n.back-pre[data-v-4960454f] {\\n  width: 24rem;\\n  height: 24rem;\\n  border-top: 4rem solid #fff;\\n  border-left: 4rem solid #fff;\\n  transform: rotate(-45deg);\\n  margin-left: 30rem;\\n}\\n.nav-padding[data-v-4960454f] {\\n  width: 100%;\\n  background-color: #000;\\n  position: relative;\\n}\\n.icon_xiala[data-v-4960454f] {\\n  width: 16rem;\\n  height: 10rem;\\n  position: absolute;\\n  right: 0px;\\n  top: 50%;\\n  transform: translateY(-50%);\\n}\\n.icon-gengduo1[data-v-4960454f] {\\n  transform: rotate(90deg);\\n  font-size: 20rem;\\n  color: #fff;\\n  display: inline-block;\\n}\\n.icon-weizhibai1[data-v-4960454f] {\\n  font-size: 26rem;\\n}\\n.noticeBtnContainer[data-v-4960454f] {\\n  position: absolute;\\n  left: 70rem;\\n}\\n.noticeBtn[data-v-4960454f] {\\n  width: 140rem;\\n  height: 60rem;\\n  background: rgba(255, 255, 255, 0.3);\\n  border-radius: 30rem;\\n}\\n.justContentCenter[data-v-4960454f] {\\n  display: flex;\\n  justify-content: center;\\n  align-items: center;\\n  align-content: center;\\n}\\n.adver-name[data-v-4960454f] {\\n  font-weight: 400;\\n  font-size: 30rem;\\n  text-align: center;\\n  color: #212121;\\n}\\n.adver-head[data-v-4960454f] {\\n  font-size: 0rem;\\n  margin-right: 20rem;\\n  position: relative;\\n}\\n.head-img[data-v-4960454f] {\\n  width: 50rem;\\n  height: 50rem;\\n  border-radius: 50%;\\n}\\n.adver-online[data-v-4960454f] {\\n  position: absolute;\\n  width: 32rem;\\n  height: 32rem;\\n  right: -5rem;\\n  bottom: -2rem;\\n  box-sizing: border-box;\\n  background: #75cf4a;\\n  border: 4rem solid #fff;\\n  border-radius: 50%;\\n}\\n.adver-tag[data-v-4960454f] {\\n  width: 120rem;\\n  height: 36rem;\\n  border-radius: 18rem;\\n  background: #3e87f7;\\n  font-weight: 600;\\n  font-size: 22rem;\\n  color: #fff;\\n  box-sizing: border-box;\\n  margin-left: 20rem;\\n  justify-content: center;\\n}\\n.adver-status[data-v-4960454f] {\\n  font-weight: 400;\\n  font-size: 28rem;\\n  letter-spacing: 0.08rem;\\n  text-align: left;\\n  color: rgba(0, 0, 0, 0.3);\\n  line-height: 28rem;\\n}\\n\\n/* 朋友页面头部样式 */\\n.friend-tab[data-v-4960454f] {\\n  width: 750rem;\\n  height: 100%;\\n  text-align: center;\\n  border-bottom: 1rem solid #ededed;\\n  box-sizing: border-box;\\n}\\n.tab-area[data-v-4960454f] {\\n  display: flex;\\n  align-items: center;\\n  justify-content: space-between;\\n  background: transparent;\\n  width: 300rem;\\n  height: 100%;\\n  margin: auto;\\n}\\n.tab-item[data-v-4960454f] {\\n  position: relative;\\n  font-family: \\\"Verdana\\\";\\n  font-size: 30rem;\\n  color: rgba(22, 23, 34, 0.5);\\n  height: 100%;\\n  display: flex;\\n  align-items: center;\\n}\\n.tabActive[data-v-4960454f] {\\n  font-weight: bold;\\n  font-size: 15px;\\n  text-align: left;\\n  color: #161722;\\n}\\n.tabActive[data-v-4960454f]:after {\\n  position: absolute;\\n  bottom: 0;\\n  content: ' ';\\n  width: 100%;\\n  height: 4rem;\\n  background-color: #161722;\\n  left: 0;\\n}\\n\", \"\"]);\n// Exports\n/* harmony default export */ __webpack_exports__[\"default\"] = (___CSS_LOADER_EXPORT___);\n\n\n//# sourceURL=webpack://hello-world/./src/components/mynavbar/mynavbar.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/components/newBottomCom/viewCareful/viewCareful.vue?vue&type=style&index=0&id=06bf9a56&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/components/newBottomCom/viewCareful/viewCareful.vue?vue&type=style&index=0&id=06bf9a56&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, \".careful-view[data-v-06bf9a56] {\\n  position: relative;\\n  width: auto;\\n  box-sizing: border-box;\\n  z-index: 12;\\n}\\n.careful-list[data-v-06bf9a56] {\\n  width: 100%;\\n  max-height: 600rem;\\n  margin-top: 30rem;\\n}\\n.item-top[data-v-06bf9a56] {\\n  width: 100%;\\n}\\n.scroll-view[data-v-06bf9a56] {\\n  overflow-y: auto;\\n}\\n.careful-item .item-top .index-view[data-v-06bf9a56] {\\n  width: 40rem;\\n  height: 40rem;\\n  background: #f0f0f0;\\n  border-radius: 20rem;\\n  margin-right: 10rem;\\n  font-family: \\\"DIN Alternate Bold\\\";\\n  font-weight: 700;\\n  font-size: 28rem;\\n  color: #585858;\\n}\\n.item-slider[data-v-06bf9a56] {\\n  width: 100%;\\n}\\n.name-view[data-v-06bf9a56] {\\n  font-family: \\\"Verdana Bold\\\";\\n  font-weight: 700;\\n  font-size: 28rem;\\n  color: #585858;\\n}\\n.area-view[data-v-06bf9a56] {\\n  font-family: \\\"DIN Alternate Bold\\\";\\n  font-weight: 700;\\n  font-size: 28rem;\\n  color: #e89848;\\n  margin-right: 50rem;\\n}\\n.percent-view[data-v-06bf9a56] {\\n  font-family: \\\"DIN Alternate Bold\\\";\\n  font-weight: 700;\\n  font-size: 28rem;\\n  color: #333;\\n}\\n.ai-btn[data-v-06bf9a56] {\\n  width: 80rem;\\n  height: 84rem;\\n  border-radius: 8rem;\\n  background-image: linear-gradient(124deg, rgba(245, 201, 82, 0.2) 0%, rgba(239, 149, 57, 0.2) 100%);\\n  font-weight: 400;\\n  font-size: 24rem;\\n  color: #f59d40;\\n}\\n[data-v-06bf9a56] .el-slider__runway .el-slider__bar {\\n  background-color: #FFAD5C;\\n}\\n[data-v-06bf9a56] .el-slider__runway .el-slider__button {\\n  background: #FF9B0A;\\n  border: 2px solid #fff;\\n}\\n\\n/* @import \\\"@/common/css/common.css\\\"; */\\n\", \"\"]);\n// Exports\n/* harmony default export */ __webpack_exports__[\"default\"] = (___CSS_LOADER_EXPORT___);\n\n\n//# sourceURL=webpack://hello-world/./src/components/newBottomCom/viewCareful/viewCareful.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/components/newBottomCom/viewMask/viewMask.vue?vue&type=style&index=0&id=e29041b4&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/components/newBottomCom/viewMask/viewMask.vue?vue&type=style&index=0&id=e29041b4&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, \".mask-view[data-v-e29041b4] {\\n  position: absolute;\\n  bottom: 0rem;\\n  width: 100vw;\\n  height: 100vh;\\n  box-sizing: border-box;\\n  z-index: 12;\\n  font-family: \\\"Verdana Bold\\\";\\n  font-size: 0rem;\\n  background: transparent;\\n  pointer-events: none;\\n}\\n.swiper[data-v-e29041b4] {\\n  position: relative;\\n  width: 100%;\\n  height: calc(100vh - 408rem);\\n  z-index: 12;\\n  pointer-events: auto;\\n}\\n[data-v-e29041b4] .el-carousel__container {\\n  height: calc(100vh - 408rem);\\n}\\n.change-angle[data-v-e29041b4] {\\n  position: absolute;\\n  width: 72rem;\\n  height: 160rem;\\n  left: 30rem;\\n  bottom: 478rem;\\n  border-radius: 12rem;\\n  padding: 20rem 10rem;\\n  background: rgba(0, 0, 0, 0.5);\\n  box-sizing: border-box;\\n  font-family: \\\"Verdana Bold\\\";\\n  font-weight: 700;\\n  font-size: 24rem;\\n  color: #fff;\\n  text-align: center;\\n  justify-content: unset;\\n  z-index: 13;\\n  pointer-events: auto;\\n}\\n.change-angle .camera[data-v-e29041b4] {\\n    width: 43.07rem;\\n    height: 49.22rem;\\n}\\n.btn-view[data-v-e29041b4] {\\n  position: absolute;\\n  bottom: 478rem;\\n  right: 30rem;\\n  width: 72rem;\\n  z-index: 13;\\n  pointer-events: auto;\\n}\\n.btn-view .compareBtn[data-v-e29041b4] {\\n    position: relative;\\n    background: rgba(0, 0, 0, 0.2);\\n    border-radius: 50%;\\n    display: flex;\\n    justify-content: center;\\n    align-items: center;\\n    pointer-events: auto;\\n    z-index: 11;\\n    width: 72rem;\\n    height: 72rem;\\n}\\n.btn-view .btn1[data-v-e29041b4] {\\n    margin-bottom: 20rem;\\n}\\n.btn-view .compareIcon[data-v-e29041b4] {\\n    width: 42rem;\\n    height: 44rem;\\n}\\n.btn-view .down[data-v-e29041b4] {\\n    width: 40rem;\\n    height: 39rem;\\n}\\n.layout-view[data-v-e29041b4] {\\n  position: absolute;\\n  bottom: 0rem;\\n  left: 0rem;\\n  width: 100vw;\\n  height: 448rem;\\n  border-radius: 40rem 40rem 0 0;\\n  background: #fff;\\n  box-shadow: 0 -6rem 12rem rgba(0, 0, 0, 0.12);\\n  z-index: 15;\\n  padding: 0rem 30rem;\\n  box-sizing: border-box;\\n  pointer-events: auto;\\n}\\n.layout-view .signscoll-block[data-v-e29041b4] {\\n    position: absolute;\\n    width: 90rem;\\n    height: 10rem;\\n    border-radius: 5rem;\\n    background: #707070;\\n    opacity: 0.6;\\n    top: 10rem;\\n    left: 330rem;\\n}\\n.aiEdit[data-v-e29041b4] {\\n  position: relative;\\n  width: 100%;\\n  display: flex;\\n  flex-direction: column;\\n  align-items: center;\\n  margin-top: 60rem;\\n}\\n.aiEdit .aiStyleList[data-v-e29041b4] {\\n    width: 100%;\\n    height: 240rem;\\n    /* background: #333; */\\n    flex-shrink: 0;\\n    white-space: nowrap;\\n}\\n.aiEdit .aiStyleList .scrollViewItem[data-v-e29041b4] {\\n      width: 152rem;\\n      height: 100%;\\n      display: inline-block;\\n      margin: 0rem 10rem;\\n}\\n.aiEdit .aiStyleList .scrollViewItem[data-v-e29041b4]:first-child {\\n      margin-left: 30rem;\\n}\\n.aiEdit .aiStyleList .scrollViewItem[data-v-e29041b4]:last-child {\\n      margin-right: 30rem;\\n}\\n.aiEdit .aiStyleList .styleItem[data-v-e29041b4] {\\n      position: absolute;\\n      width: 144rem;\\n      display: flex;\\n      flex-direction: column;\\n      align-items: center;\\n      /* background: red; */\\n}\\n.aiEdit .aiStyleList .styleItem .styleIcon[data-v-e29041b4] {\\n        width: 144rem;\\n        height: 144rem;\\n        background: #5c5c5c;\\n        border-radius: 12rem;\\n        border: 2rem solid #fff;\\n}\\n.aiEdit .aiStyleList .styleItem .styleTitle[data-v-e29041b4] {\\n        margin-top: 20rem;\\n        font-family: \\\"Verdana\\\";\\n        font-weight: 400;\\n        font-size: 28rem;\\n        text-align: center;\\n        color: #4e4e4e;\\n}\\n.aiEdit .aiStyleList .styleItemSelected .styleIcon[data-v-e29041b4] {\\n      border: 2rem solid #ff9c38;\\n}\\n.aiEdit .aiStyleList .styleItemSelected .styleTitle[data-v-e29041b4] {\\n      font-family: \\\"Verdana Bold\\\";\\n      font-weight: 700;\\n      color: #ff9f40;\\n}\\n.aiEdit .aiStyleList[data-v-e29041b4] ::-webkit-scrollbar {\\n    width: 0;\\n    height: 0;\\n    background-color: transparent;\\n}\\n.aiEdit .aiTool[data-v-e29041b4] {\\n    width: 100%;\\n    height: 100rem;\\n    display: flex;\\n    flex-direction: row;\\n    align-items: center;\\n    justify-content: center;\\n    /* background: red; */\\n    margin-top: 10rem;\\n    padding: 0rem 30rem;\\n    box-sizing: border-box;\\n}\\n.aiEdit .aiTool .changeBtn[data-v-e29041b4] {\\n      width: 320rem;\\n      height: 100rem;\\n      border-radius: 50rem;\\n      background: rgba(255, 156, 56, 0.15);\\n      margin-right: 30rem;\\n      line-height: 100rem;\\n      text-align: center;\\n      font-family: \\\"DIN Alternate Bold\\\";\\n      font-weight: 700;\\n      font-size: 32rem;\\n      color: #ff9f36;\\n}\\n.aiEdit .aiTool .submitBtn[data-v-e29041b4] {\\n      width: 460rem;\\n      border-radius: 50rem;\\n      background: rgba(255, 156, 56, 0.15);\\n      text-align: center;\\n      height: 100%;\\n      line-height: 100rem;\\n      font-family: \\\"DIN Alternate Bold\\\";\\n      font-weight: 700;\\n      font-size: 28rem;\\n      color: #fff;\\n      box-shadow: 0 6rem 20rem rgba(242, 152, 2, 0.2);\\n      -webkit-backdrop-filter: blur(40rem);\\n              backdrop-filter: blur(40rem);\\n      background-color: rgba(255, 255, 255, 0.15);\\n      background-image: linear-gradient(124deg, #f5c952 0%, #ef9539 100%);\\n}\\n.aiEdit .aiTool .disable[data-v-e29041b4] {\\n      background-color: #ccc;\\n      background-image: unset;\\n}\\n.aiEdit .aiTool .continue[data-v-e29041b4] {\\n      width: 330rem;\\n      background: #fab060;\\n}\\n.aiEdit .aiTool .right-icon[data-v-e29041b4] {\\n      width: 34rem;\\n      height: 34rem;\\n      margin-right: 10rem;\\n}\\n.aiEdit .aiTool .magic-icon[data-v-e29041b4] {\\n      width: 40.6rem;\\n      height: 40.56rem;\\n      margin-right: 10rem;\\n}\\n.indicator-view[data-v-e29041b4] {\\n  position: absolute;\\n  z-index: 12;\\n  bottom: 468rem;\\n  left: 50%;\\n  transform: translateX(-50%);\\n}\\n.indicator-view .indicator-item[data-v-e29041b4] {\\n    width: 12rem;\\n    height: 12rem;\\n    background: #fff;\\n    opacity: 0.52;\\n    margin-right: 6rem;\\n    border-radius: 50%;\\n}\\n.indicator-view .indicator-item.active[data-v-e29041b4] {\\n      opacity: 1;\\n}\\n.indicator-view .indicator-item[data-v-e29041b4]:last-child {\\n      margin-right: 0rem;\\n}\\n.loading_more[data-v-e29041b4] {\\n  position: absolute;\\n  width: 100%;\\n  z-index: 12;\\n  bottom: 498rem;\\n  display: flex;\\n  align-items: center;\\n  justify-content: center;\\n  z-index: 25;\\n  color: #fff;\\n  font-size: 28rem;\\n}\\n.loading_more .loading_img[data-v-e29041b4] {\\n    width: 40rem;\\n    height: 40rem;\\n    margin-right: 10rem;\\n    animation: rotation 1s linear infinite;\\n}\\n.loading_more .loading_text[data-v-e29041b4] {\\n    height: 40rem;\\n}\\n.loadData[data-v-e29041b4] {\\n  min-width: 110px;\\n  height: 110px;\\n  position: absolute;\\n  left: 50%;\\n  top: 50%;\\n  z-index: 999999999999;\\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  font-size: 18rem;\\n}\\n.loadData img[data-v-e29041b4] {\\n    width: 90px;\\n    margin-top: 10px;\\n}\\n.loadData .loadingMsg[data-v-e29041b4] {\\n    color: rgba(255, 255, 255, 0.83);\\n    margin: 10px;\\n    margin-top: 0px;\\n}\\n\", \"\"]);\n// Exports\n/* harmony default export */ __webpack_exports__[\"default\"] = (___CSS_LOADER_EXPORT___);\n\n\n//# sourceURL=webpack://hello-world/./src/components/newBottomCom/viewMask/viewMask.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, \"@charset \\\"UTF-8\\\";\\n#mapDiv[data-v-5c95f99b] {\\n  width: 100%;\\n  height: 100vh;\\n  background-color: #fff;\\n}\\n.map[data-v-5c95f99b] {\\n  position: relative;\\n  /* 作为子元素的相对定位元素 */\\n  width: 100%;\\n  height: 100%;\\n  overflow: hidden;\\n}\\n#labels[data-v-5c95f99b] {\\n  position: absolute;\\n  /* 把Label定位在容器内 */\\n  left: 0;\\n  /* 默认定位在左上角 */\\n  top: 0;\\n  color: white;\\n}\\n#labels > div[data-v-5c95f99b] {\\n  position: absolute;\\n  /* 让我们的容器决定尺寸 */\\n  left: 0;\\n  /* 默认定位在左上角 */\\n  top: 0;\\n  cursor: pointer;\\n  /* 当悬浮时,变为一个小手 */\\n  font-size: 12px;\\n  -webkit-user-select: none;\\n     -moz-user-select: none;\\n          user-select: none;\\n  /* 不允许文字被选中 */\\n  white-space: nowrap;\\n  text-shadow: -1px -1px 0 #000, 0   -1px 0 #000, 1px -1px 0 #000, 1px  0   0 #000, 1px  1px 0 #000, 0    1px 0 #000, -1px  1px 0 #000, -1px  0   0 #000;\\n}\\n#labels > div[data-v-5c95f99b]:hover {\\n  color: red;\\n}\\ncanvas[data-v-5c95f99b]:focus {\\n  outline: none;\\n}\\ncanvas[data-v-5c95f99b] {\\n  width: 100vw;\\n  height: calc(100vh - 200rem);\\n  z-index: 10;\\n}\\n#canvas_webgl[data-v-5c95f99b] {\\n  /* background: url(resources/images/daikanyama.jpg) no-repeat center center; */\\n  /* background:#6d0909;\\r\\n\\tbackground-size: cover; */\\n  /* transition: height 1s; */\\n}\\n\\n/* 生成截屏的画布对象 */\\n#canvas[data-v-5c95f99b] {\\n  width: 100vw;\\n  z-index: -1;\\n  position: absolute;\\n  left: 0rem;\\n}\\n.tran[data-v-5c95f99b] {\\n  transition-timing-function: linear;\\n  transition: height 1s;\\n}\\n.voice-mask[data-v-5c95f99b] {\\n  position: fixed;\\n  left: 0rem;\\n  top: 0rem;\\n  width: 100vw;\\n  height: 100vh;\\n  z-index: 11;\\n  background: rgba(0, 0, 0, 0.5);\\n}\\n.canvas-view[data-v-5c95f99b] {\\n  position: relative;\\n}\\n.lable-view[data-v-5c95f99b] {\\n  position: absolute;\\n  width: 100vw;\\n}\\n.word-view[data-v-5c95f99b] {\\n  position: absolute;\\n  left: 0;\\n  top: 0;\\n  -webkit-user-select: none;\\n     -moz-user-select: none;\\n          user-select: none;\\n  z-index: 12;\\n  text-align: center;\\n  border-radius: 5rem;\\n}\\n.word[data-v-5c95f99b] {\\n  font-family: \\\"Verdana\\\";\\n  font-weight: 400;\\n  height: 40rem;\\n  line-height: 40rem;\\n  padding: 0rem 10rem;\\n  border-radius: 20rem;\\n  background: #fff;\\n  font-size: 26rem;\\n  color: #1d1d1d;\\n}\\n.number-view[data-v-5c95f99b] {\\n  width: 30rem;\\n  height: 30rem;\\n  line-height: 30rem;\\n  background: #fff;\\n  color: #121212;\\n  font-weight: 700;\\n  font-size: 28rem;\\n  font-family: \\\"DIN Alternate Bold\\\";\\n  border-radius: 30rem;\\n}\\n.number-more[data-v-5c95f99b] {\\n  width: 40rem;\\n  height: 40rem;\\n  line-height: 40rem;\\n  border-radius: 30rem;\\n}\\n.active[data-v-5c95f99b] {\\n  background: #faad5c;\\n  color: #fff;\\n}\\n.submit-btn[data-v-5c95f99b] {\\n  position: absolute;\\n  top: 190rem;\\n  right: 20rem;\\n  width: 140rem;\\n  height: 64rem;\\n  border-radius: 32rem;\\n  -webkit-backdrop-filter: blur(40rem);\\n          backdrop-filter: blur(40rem);\\n  background-color: #ff9c38;\\n  font-family: \\\"Verdana Bold\\\";\\n  font-weight: 700;\\n  font-size: 28rem;\\n  color: #fff;\\n  text-align: center;\\n  line-height: 64rem;\\n  z-index: 11;\\n}\\n.submit-btn1[data-v-5c95f99b] {\\n  left: 20rem;\\n}\\n.voice-view[data-v-5c95f99b] {\\n  width: 614rem;\\n  height: 312rem;\\n  border-radius: 40rem;\\n  background: #fff;\\n  box-shadow: 0 -6rem 12rem #0000001f;\\n  position: absolute;\\n  left: 50%;\\n  top: 50%;\\n  transform: translate(-50%, -50%);\\n  text-align: center;\\n}\\n.voice-tips[data-v-5c95f99b] {\\n  font-size: 28rem;\\n  color: rgba(36, 36, 36, 0.51);\\n  margin-top: 12rem;\\n}\\n.voice-gif[data-v-5c95f99b] {\\n  width: 100%;\\n  margin-top: 56rem;\\n}\\n\", \"\"]);\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");/***/ }),/***/ "./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/webgl_rxdz/webgl_rxdz.vue?vue&type=style&index=0&id=44b7ae4a&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/webgl_rxdz/webgl_rxdz.vue?vue&type=style&index=0&id=44b7ae4a&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#mapDiv[data-v-44b7ae4a] {\\n  width: 100%;\\n  height: 100vh;\\n  background-color: #fff;\\n}\\n.map[data-v-44b7ae4a] {\\n  position: relative;\\n  /* 作为子元素的相对定位元素 */\\n  width: 100%;\\n  height: 100%;\\n  overflow: hidden;\\n}\\n#labels[data-v-44b7ae4a] {\\n  position: absolute;\\n  /* 把Label定位在容器内 */\\n  left: 0;\\n  /* 默认定位在左上角 */\\n  top: 0;\\n  color: white;\\n}\\n#labels > div[data-v-44b7ae4a] {\\n  position: absolute;\\n  /* 让我们的容器决定尺寸 */\\n  left: 0;\\n  /* 默认定位在左上角 */\\n  top: 0;\\n  cursor: pointer;\\n  /* 当悬浮时,变为一个小手 */\\n  font-size: 12px;\\n  -webkit-user-select: none;\\n     -moz-user-select: none;\\n          user-select: none;\\n  /* 不允许文字被选中 */\\n  white-space: nowrap;\\n  text-shadow: -1px -1px 0 #000, 0   -1px 0 #000, 1px -1px 0 #000, 1px  0   0 #000, 1px  1px 0 #000, 0    1px 0 #000, -1px  1px 0 #000, -1px  0   0 #000;\\n}\\n#labels > div[data-v-44b7ae4a]:hover {\\n  color: red;\\n}\\ncanvas[data-v-44b7ae4a]:focus {\\n  outline: none;\\n}\\ncanvas[data-v-44b7ae4a] {\\n  width: 100vw;\\n  height: calc(100vh - 200rem);\\n  z-index: 10;\\n}\\n#canvas_webgl[data-v-44b7ae4a] {\\n  /* background: url(resources/images/daikanyama.jpg) no-repeat center center; */\\n  /* background:#6d0909;\\r\\n\\tbackground-size: cover; */\\n  /* transition: height 1s; */\\n}\\n\\n/* 生成截屏的画布对象 */\\n#canvas[data-v-44b7ae4a] {\\n  width: 100vw;\\n  z-index: -1;\\n  position: absolute;\\n  left: 0rem;\\n}\\n.tran[data-v-44b7ae4a] {\\n  transition-timing-function: linear;\\n  transition: height 1s;\\n}\\n.voice-mask[data-v-44b7ae4a] {\\n  position: fixed;\\n  left: 0rem;\\n  top: 0rem;\\n  width: 100vw;\\n  height: 100vh;\\n  z-index: 11;\\n  background: rgba(0, 0, 0, 0.5);\\n}\\n.canvas-view[data-v-44b7ae4a] {\\n  position: relative;\\n}\\n.lable-view[data-v-44b7ae4a] {\\n  position: absolute;\\n  width: 100vw;\\n}\\n.word-view[data-v-44b7ae4a] {\\n  position: absolute;\\n  left: 0;\\n  top: 0;\\n  -webkit-user-select: none;\\n     -moz-user-select: none;\\n          user-select: none;\\n  z-index: 12;\\n  text-align: center;\\n  border-radius: 5rem;\\n}\\n.word[data-v-44b7ae4a] {\\n  font-family: \\\"Verdana\\\";\\n  font-weight: 400;\\n  height: 40rem;\\n  line-height: 40rem;\\n  padding: 0rem 10rem;\\n  border-radius: 20rem;\\n  background: #fff;\\n  font-size: 26rem;\\n  color: #1d1d1d;\\n}\\n.number-view[data-v-44b7ae4a] {\\n  width: 30rem;\\n  height: 30rem;\\n  line-height: 30rem;\\n  background: #fff;\\n  color: #121212;\\n  font-weight: 700;\\n  font-size: 28rem;\\n  font-family: \\\"DIN Alternate Bold\\\";\\n  border-radius: 30rem;\\n}\\n.number-more[data-v-44b7ae4a] {\\n  width: 40rem;\\n  height: 40rem;\\n  line-height: 40rem;\\n  border-radius: 30rem;\\n}\\n.active[data-v-44b7ae4a] {\\n  background: #faad5c;\\n  color: #fff;\\n}\\n.submit-btn[data-v-44b7ae4a] {\\n  position: absolute;\\n  top: 120rem;\\n  right: 20rem;\\n  width: 140rem;\\n  height: 64rem;\\n  border-radius: 32rem;\\n  -webkit-backdrop-filter: blur(40rem);\\n          backdrop-filter: blur(40rem);\\n  background-color: #ff9c38;\\n  font-family: \\\"Verdana Bold\\\";\\n  font-weight: 700;\\n  font-size: 28rem;\\n  color: #fff;\\n  text-align: center;\\n  line-height: 64rem;\\n  z-index: 11;\\n}\\n.submit-btn1[data-v-44b7ae4a] {\\n  left: 20rem;\\n}\\n.voice-view[data-v-44b7ae4a] {\\n  width: 614rem;\\n  height: 312rem;\\n  border-radius: 40rem;\\n  background: #fff;\\n  box-shadow: 0 -6rem 12rem #0000001f;\\n  position: absolute;\\n  left: 50%;\\n  top: 50%;\\n  transform: translate(-50%, -50%);\\n  text-align: center;\\n}\\n.voice-tips[data-v-44b7ae4a] {\\n  font-size: 28rem;\\n  color: rgba(36, 36, 36, 0.51);\\n  margin-top: 12rem;\\n}\\n.voice-gif[data-v-44b7ae4a] {\\n  width: 100%;\\n  margin-top: 56rem;\\n}\\n\", \"\"]);\n// Exports\n/* harmony default export */ __webpack_exports__[\"default\"] = (___CSS_LOADER_EXPORT___);\n\n\n//# sourceURL=webpack://hello-world/./src/pages/webgl_rxdz/webgl_rxdz.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/webgl_rxdz_customize/webgl_rxdz_customize.vue?vue&type=style&index=0&id=361e85ca&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/webgl_rxdz_customize/webgl_rxdz_customize.vue?vue&type=style&index=0&id=361e85ca&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, \"/**newIndex.wxss**/\\n.font40[data-v-361e85ca] {\\n  font-size: 40rem;\\n}\\n.font52[data-v-361e85ca] {\\n  font-size: 52rem;\\n  font-weight: 700;\\n}\\n.pointerEvents[data-v-361e85ca] {\\n  pointer-events: none;\\n}\\n[data-v-361e85ca] .el-carousel__container {\\n  height: 100% !important;\\n}\\n.contentBox[data-v-361e85ca] {\\n  position: relative;\\n  width: 100vw;\\n  overflow: hidden;\\n  box-sizing: border-box;\\n  background-color: white;\\n}\\n.contentBox .picArea[data-v-361e85ca] {\\n    position: relative;\\n    width: 100%;\\n    height: 1100rem;\\n}\\n.contentBox .picArea .master-pic[data-v-361e85ca] {\\n      position: relative;\\n      width: 100%;\\n      height: 930rem;\\n      box-sizing: border-box;\\n}\\n.contentBox .picArea .master-pic .master-pic-swiper[data-v-361e85ca] {\\n        width: 100%;\\n        height: 100%;\\n}\\n.contentBox .picArea .master-pic .master-pic-img[data-v-361e85ca] {\\n        width: 100%;\\n        height: 100%;\\n        display: block;\\n        -o-object-fit: cover;\\n           object-fit: cover;\\n}\\n.contentBox .picArea .master-pic .lookHouseView[data-v-361e85ca] {\\n        position: absolute;\\n        left: 276rem;\\n        bottom: 138rem;\\n        width: 200rem;\\n        height: 76rem;\\n        border-radius: 38rem;\\n        background: rgba(0, 0, 0, 0.4);\\n        font-family: \\\"Verdana\\\";\\n        font-weight: 400;\\n        font-size: 28rem;\\n        color: #fff;\\n}\\n.contentBox .picArea .master-pic .lookHouseView .icon-ai[data-v-361e85ca] {\\n          width: 46rem;\\n          height: 46rem;\\n          margin-right: 10rem;\\n}\\n.contentBox .picArea .master-pic .indicator-view[data-v-361e85ca] {\\n        position: absolute;\\n        z-index: 12;\\n        bottom: 100rem;\\n        left: 50%;\\n        transform: translateX(-50%);\\n}\\n.contentBox .picArea .master-pic .indicator-view .indicator-item[data-v-361e85ca] {\\n          width: 12rem;\\n          height: 12rem;\\n          background: #fff;\\n          opacity: 0.52;\\n          margin-right: 6rem;\\n          border-radius: 50%;\\n}\\n.contentBox .picArea .master-pic .indicator-view .indicator-item.active[data-v-361e85ca] {\\n            opacity: 1;\\n}\\n.contentBox .picArea .master-pic .indicator-view .indicator-item[data-v-361e85ca]:last-child {\\n            margin-right: 0rem;\\n}\\n.contentBox .tabList[data-v-361e85ca] {\\n    position: absolute;\\n    width: 100%;\\n    height: 246rem;\\n    bottom: 0rem;\\n    overflow-x: auto;\\n    overflow-y: hidden;\\n    z-index: 2;\\n}\\n.contentBox .tabList .tab-item[data-v-361e85ca] {\\n      width: 196rem;\\n      margin-right: 20rem;\\n      font-family: \\\"Verdana\\\";\\n      font-weight: 400;\\n      font-size: 24rem;\\n      color: #1d1d1d;\\n      text-align: center;\\n      padding: 2rem;\\n      background: #ededed;\\n      filter: drop-shadow(0 4rem 40rem #65574933);\\n      box-sizing: border-box;\\n}\\n.contentBox .tabList .tab-item.tabActive[data-v-361e85ca] {\\n        position: relative;\\n        font-weight: 700;\\n        color: #4d463f;\\n        background: rgba(254, 176, 102, 0.5);\\n        filter: drop-shadow(0 4rem 40rem #65574933);\\n}\\n.contentBox .tabList .tab-item[data-v-361e85ca]:first-child {\\n        margin-left: 30rem;\\n}\\n.contentBox .tabList .tab-item[data-v-361e85ca]:last-child {\\n        margin-right: 30rem;\\n}\\n.contentBox .tabList .tab-item .tab-img[data-v-361e85ca] {\\n        width: 192rem;\\n        height: 200rem;\\n        -o-object-fit: cover;\\n           object-fit: cover;\\n}\\n.contentBox .tabList .tab-item .tab-info[data-v-361e85ca] {\\n        width: 100%;\\n        padding: 6rem 10rem;\\n        box-sizing: border-box;\\n}\\n.contentBox .textAbout[data-v-361e85ca] {\\n    font-family: \\\"DIN Alternate Bold\\\";\\n    font-weight: 700;\\n    font-size: 20rem;\\n    opacity: 0.3;\\n    margin-left: 10rem;\\n}\\n.contentBox .booking-info[data-v-361e85ca] {\\n    margin-left: 30rem;\\n    margin-right: 30rem;\\n    margin-top: 130rem;\\n    margin-bottom: 15rem;\\n    position: relative;\\n    border: 2rem solid rgba(255, 255, 255, 0.5);\\n    border-top: none;\\n    padding: 90rem 60rem 20rem;\\n    box-sizing: border-box;\\n    color: #fff;\\n}\\n.contentBox .booking-info .line[data-v-361e85ca] {\\n      position: absolute;\\n      top: 0rem;\\n      width: 100rem;\\n      height: 2rem;\\n      background-color: rgba(255, 255, 255, 0.5);\\n}\\n.contentBox .booking-info .left-line[data-v-361e85ca] {\\n      left: 0rem;\\n}\\n.contentBox .booking-info .right-line[data-v-361e85ca] {\\n      right: 0rem;\\n}\\n.contentBox .booking-info .writingBox[data-v-361e85ca] {\\n      padding: 0rem 10rem;\\n      width: -moz-max-content;\\n      width: max-content;\\n      height: 120rem;\\n      position: absolute;\\n      font-weight: 400;\\n      top: -60rem;\\n      box-sizing: border-box;\\n      left: 50%;\\n      transform: translate(-50%, 0);\\n}\\n.contentBox .booking-info .writingBox .writing-img[data-v-361e85ca] {\\n        width: 120rem;\\n        height: 120rem;\\n        min-width: 120rem;\\n        filter: drop-shadow(0 3rem 4rem #00000029);\\n        box-sizing: border-box;\\n        border-radius: 50%;\\n        border: 6rem solid #F5F5F5;\\n        margin-right: 30rem;\\n}\\n.contentBox .booking-info .writingBox .wiriting-right[data-v-361e85ca] {\\n        padding-right: 20rem;\\n}\\n.contentBox .booking-info .info-bar[data-v-361e85ca] {\\n      display: flex;\\n      flex-wrap: wrap;\\n}\\n.contentBox .booking-info .info-bar .info-item[data-v-361e85ca] {\\n        width: 33.33%;\\n        margin-bottom: 40rem;\\n        padding-left: 10rem;\\n        box-sizing: border-box;\\n}\\n.contentBox .booking-info .info-bar .info-item[data-v-361e85ca]:nth-child(3n-2) {\\n          padding-left: 0;\\n}\\n.contentBox .booking-info .info-bar .info-item-label[data-v-361e85ca] {\\n        font-family: \\\"Verdana\\\";\\n        font-weight: 400;\\n        font-size: 28rem;\\n        margin-bottom: 8rem;\\n}\\n.contentBox .booking-info .info-bar .info-item-value[data-v-361e85ca] {\\n        font-family: \\\"DIN Alternate Bold\\\";\\n        font-weight: bold;\\n        font-size: 34rem;\\n        white-space: nowrap;\\n}\\n.swiper-img-gs-mh[data-v-361e85ca] {\\n  width: 100vw;\\n  height: 1327rem;\\n  opacity: 0.85;\\n  position: absolute;\\n  left: 0;\\n  top: 930rem;\\n  z-index: -1;\\n  overflow: hidden;\\n  box-sizing: border-box;\\n}\\n.swiper-img-gs-mh .img[data-v-361e85ca] {\\n    width: 100%;\\n    height: 100%;\\n    filter: blur(20px);\\n    transform: scale(1.2);\\n}\\n.bottom-view[data-v-361e85ca] {\\n  position: relative;\\n  width: 100%;\\n  padding-top: 128rem;\\n  padding-bottom: 300rem;\\n  box-sizing: border-box;\\n}\\n.bottom-view .bottom-title[data-v-361e85ca] {\\n    font-family: \\\"DIN Alternate Bold\\\";\\n    font-weight: 700;\\n    font-size: 28rem;\\n    text-align: center;\\n    color: #fff;\\n    text-shadow: 0 0 8rem rgba(0, 0, 0, 0.17);\\n}\\n.bottom-view .bottom-tips[data-v-361e85ca] {\\n    font-family: \\\"Verdana\\\";\\n    font-weight: 400;\\n    font-size: 28rem;\\n    line-height: 48rem;\\n    text-align: center;\\n    margin-top: 8rem;\\n    margin-bottom: 40rem;\\n    opacity: 0.6;\\n}\\n.bottom-view .bottom-btn[data-v-361e85ca] {\\n    width: 290rem;\\n    height: 80rem;\\n    border-radius: 40rem;\\n    font-family: \\\"DIN Alternate Bold\\\";\\n    font-weight: 700;\\n    font-size: 28rem;\\n}\\n.bottom-view .bottom-btn .bottom-subtitle[data-v-361e85ca] {\\n      font-family: \\\"DIN Alternate Bold\\\";\\n      font-weight: bold;\\n      font-size: 30rem;\\n      white-space: nowrap;\\n}\\n.bottom-view .btn-qw[data-v-361e85ca] {\\n    background: rgba(246, 165, 83, 0.2);\\n    color: #f6a553;\\n    margin-right: 30rem;\\n}\\n.bottom-view .btn-share[data-v-361e85ca] {\\n    background: #f6a553;\\n    box-shadow: 0 6rem 20rem rgba(208, 193, 168, 0.31);\\n    color: #fff;\\n}\\n\", \"\"]);\n// Exports\n/* harmony default export */ __webpack_exports__[\"default\"] = (___CSS_LOADER_EXPORT___);\n\n\n//# sourceURL=webpack://hello-world/./src/pages/webgl_rxdz_customize/webgl_rxdz_customize.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/webgl_rxdz_look/webgl_rxdz_look.vue?vue&type=style&index=0&id=00b83a56&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/webgl_rxdz_look/webgl_rxdz_look.vue?vue&type=style&index=0&id=00b83a56&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, \".main-view[data-v-00b83a56] {\\n  overflow: hidden;\\n  width: 100vw;\\n  height: 100vh;\\n}\\n#mapDiv[data-v-00b83a56] {\\n  overflow: hidden;\\n  width: 100vw;\\n  height: 100vh;\\n}\\ncanvas[data-v-00b83a56] {\\n  -webkit-user-select: none;\\n  -moz-user-select: none;\\n       user-select: none;\\n  width: 100%;\\n  height: 100vh;\\n  overflow-x: hidden;\\n  overflow-y: hidden;\\n}\\n.lable-view[data-v-00b83a56] {\\n  position: absolute;\\n  width: 100vw;\\n}\\n.word-view[data-v-00b83a56] {\\n  position: absolute;\\n  left: 0;\\n  top: 0;\\n  font-family: \\\"Verdana\\\";\\n  font-weight: 400;\\n  color: #1d1d1d;\\n  -webkit-user-select: none;\\n     -moz-user-select: none;\\n          user-select: none;\\n  /* don't let the text get selected */\\n  z-index: 12;\\n  font-size: 26rem;\\n  /* pointer-events:none; */\\n  line-height: 40rem;\\n  /* width: 90rem; */\\n  height: 40rem;\\n  padding: 0rem 10rem;\\n  border-radius: 20rem;\\n  background: #fff;\\n  text-align: center;\\n}\\n.floor-view[data-v-00b83a56] {\\n  position: absolute;\\n  left: 30rem;\\n  bottom: 60rem;\\n  width: 72rem;\\n  border-radius: 12rem;\\n  background: rgba(0, 0, 0, 0.4);\\n  overflow: hidden;\\n  z-index: 11;\\n}\\n.floor-item[data-v-00b83a56] {\\n  height: 60rem;\\n  color: #fff;\\n}\\n.floor-item.active[data-v-00b83a56] {\\n  color: #faa040;\\n  background: #fff;\\n}\\n\", \"\"]);\n// Exports\n/* harmony default export */ __webpack_exports__[\"default\"] = (___CSS_LOADER_EXPORT___);\n\n\n//# sourceURL=webpack://hello-world/./src/pages/webgl_rxdz_look/webgl_rxdz_look.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/webgl_rxdz_roam/webgl_rxdz_roam.vue?vue&type=style&index=0&id=05e3542e&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/webgl_rxdz_roam/webgl_rxdz_roam.vue?vue&type=style&index=0&id=05e3542e&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\\\";\\ncanvas[data-v-05e3542e] {\\n  width: 100vw;\\n  height: calc(100vh - 408rpx);\\n  z-index: 10;\\n}\\n#mapDiv[data-v-05e3542e] {\\n  background-color: #fff;\\n}\\npage[data-v-05e3542e] {\\n  -webkit-user-select: none;\\n  -moz-user-select: none;\\n       user-select: none;\\n  width: 100%;\\n  height: 100vh;\\n  overflow-x: hidden;\\n  overflow-y: hidden;\\n}\\n#canvas_webgl[data-v-05e3542e] {\\n  /* background: url(resources/images/daikanyama.jpg) no-repeat center center; */\\n  /* background:#6d0909;\\r\\n\\tbackground-size: cover; */\\n}\\n\\n/* 生成截屏的画布对象 */\\n#canvas[data-v-05e3542e] {\\n  width: 100vw;\\n  z-index: -1;\\n  position: absolute;\\n  left: 0rpx;\\n}\\n\\n/* .btn{\\r\\n\\tposition:absolute;\\r\\n\\twidth:300rpx;\\r\\n\\theight:132rpx;\\r\\n\\tbottom:60rpx;\\r\\n\\tright:30rpx;\\r\\n\\tborder-radius: 10rpx;\\r\\n\\topacity:1;\\r\\n\\tz-index:10000;\\r\\n\\tcolor:red;\\r\\n\\tdisplay: flex;\\r\\n\\tflex-direction:row;\\r\\n\\talign-items:center;\\r\\n\\tjustify-content:center;\\r\\n\\tbackground-color: rgba(155, 155, 155, 0.6);\\r\\n}\\r\\n\\r\\n.changeSizebtn {\\r\\n\\tposition:absolute;\\r\\n\\twidth:300rpx;\\r\\n\\theight:132rpx;\\r\\n\\tbottom:60rpx;\\r\\n\\tleft:30rpx;\\r\\n\\tborder-radius: 10rpx;\\r\\n\\topacity:1;\\r\\n\\tz-index:10000;\\r\\n\\tcolor:red;\\r\\n\\tdisplay: flex;\\r\\n\\tflex-direction:row;\\r\\n\\talign-items:center;\\r\\n\\tjustify-content:center;\\r\\n\\tbackground-color: rgba(155, 155, 155, 0.6);\\r\\n} */\\n.canvas-view[data-v-05e3542e] {\\n  position: relative;\\n}\\n.lable-view[data-v-05e3542e] {\\n  position: absolute;\\n  width: 100vw;\\n}\\n\\n/* @import \\\"@/common/css/common.css\\\"; */\\n\", \"\"]);\n// Exports\n/* harmony default export */ __webpack_exports__[\"default\"] = (___CSS_LOADER_EXPORT___);\n\n\n//# sourceURL=webpack://hello-world/./src/pages/webgl_rxdz_roam/webgl_rxdz_roam.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/mynavbar/mynavbar.vue":/*!**********************************************!*\  !*** ./src/components/mynavbar/mynavbar.vue ***!  \**********************************************//***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {"use strict";eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _mynavbar_html_vue_type_template_id_4960454f_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./mynavbar.html?vue&type=template&id=4960454f&scoped=true& */ \"./src/components/mynavbar/mynavbar.html?vue&type=template&id=4960454f&scoped=true&\");\n/* harmony import */ var _mynavbar_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./mynavbar.vue?vue&type=script&lang=js& */ \"./src/components/mynavbar/mynavbar.vue?vue&type=script&lang=js&\");\n/* harmony import */ var _mynavbar_vue_vue_type_style_index_0_id_4960454f_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./mynavbar.vue?vue&type=style&index=0&id=4960454f&lang=scss&scoped=true& */ \"./src/components/mynavbar/mynavbar.vue?vue&type=style&index=0&id=4960454f&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  _mynavbar_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n  _mynavbar_html_vue_type_template_id_4960454f_scoped_true___WEBPACK_IMPORTED_MODULE_0__.render,\n  _mynavbar_html_vue_type_template_id_4960454f_scoped_true___WEBPACK_IMPORTED_MODULE_0__.staticRenderFns,\n  false,\n  null,\n  \"4960454f\",\n  null\n  \n)\n\n/* hot reload */\nif (false) { var api; }\ncomponent.options.__file = \"src/components/mynavbar/mynavbar.vue\"\n/* harmony default export */ __webpack_exports__[\"default\"] = (component.exports);\n\n//# sourceURL=webpack://hello-world/./src/components/mynavbar/mynavbar.vue?");/***/ }),/***/ "./src/components/newBottomCom/viewCareful/viewCareful.vue":/*!*****************************************************************!*\  !*** ./src/components/newBottomCom/viewCareful/viewCareful.vue ***!  \*****************************************************************//***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {"use strict";eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _viewCareful_html_vue_type_template_id_06bf9a56_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./viewCareful.html?vue&type=template&id=06bf9a56&scoped=true& */ \"./src/components/newBottomCom/viewCareful/viewCareful.html?vue&type=template&id=06bf9a56&scoped=true&\");\n/* harmony import */ var _viewCareful_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./viewCareful.vue?vue&type=script&lang=js& */ \"./src/components/newBottomCom/viewCareful/viewCareful.vue?vue&type=script&lang=js&\");\n/* harmony import */ var _viewCareful_vue_vue_type_style_index_0_id_06bf9a56_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./viewCareful.vue?vue&type=style&index=0&id=06bf9a56&lang=scss&scoped=true& */ \"./src/components/newBottomCom/viewCareful/viewCareful.vue?vue&type=style&index=0&id=06bf9a56&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  _viewCareful_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n  _viewCareful_html_vue_type_template_id_06bf9a56_scoped_true___WEBPACK_IMPORTED_MODULE_0__.render,\n  _viewCareful_html_vue_type_template_id_06bf9a56_scoped_true___WEBPACK_IMPORTED_MODULE_0__.staticRenderFns,\n  false,\n  null,\n  \"06bf9a56\",\n  null\n  \n)\n\n/* hot reload */\nif (false) { var api; }\ncomponent.options.__file = \"src/components/newBottomCom/viewCareful/viewCareful.vue\"\n/* harmony default export */ __webpack_exports__[\"default\"] = (component.exports);\n\n//# sourceURL=webpack://hello-world/./src/components/newBottomCom/viewCareful/viewCareful.vue?");/***/ }),/***/ "./src/components/newBottomCom/viewMask/viewMask.vue":/*!***********************************************************!*\  !*** ./src/components/newBottomCom/viewMask/viewMask.vue ***!  \***********************************************************//***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {"use strict";eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _viewMask_html_vue_type_template_id_e29041b4_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./viewMask.html?vue&type=template&id=e29041b4&scoped=true& */ \"./src/components/newBottomCom/viewMask/viewMask.html?vue&type=template&id=e29041b4&scoped=true&\");\n/* harmony import */ var _viewMask_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./viewMask.vue?vue&type=script&lang=js& */ \"./src/components/newBottomCom/viewMask/viewMask.vue?vue&type=script&lang=js&\");\n/* harmony import */ var _viewMask_vue_vue_type_style_index_0_id_e29041b4_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./viewMask.vue?vue&type=style&index=0&id=e29041b4&lang=scss&scoped=true& */ \"./src/components/newBottomCom/viewMask/viewMask.vue?vue&type=style&index=0&id=e29041b4&lang=scss&scoped=true&\");\n/* harmony import */ var _viewMask_vue_vue_type_style_index_1_id_e29041b4_lang_css_scoped_true___WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./viewMask.vue?vue&type=style&index=1&id=e29041b4&lang=css&scoped=true& */ \"./src/components/newBottomCom/viewMask/viewMask.vue?vue&type=style&index=1&id=e29041b4&lang=css&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  _viewMask_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n  _viewMask_html_vue_type_template_id_e29041b4_scoped_true___WEBPACK_IMPORTED_MODULE_0__.render,\n  _viewMask_html_vue_type_template_id_e29041b4_scoped_true___WEBPACK_IMPORTED_MODULE_0__.staticRenderFns,\n  false,\n  null,\n  \"e29041b4\",\n  null\n  \n)\n\n/* hot reload */\nif (false) { var api; }\ncomponent.options.__file = \"src/components/newBottomCom/viewMask/viewMask.vue\"\n/* harmony default export */ __webpack_exports__[\"default\"] = (component.exports);\n\n//# sourceURL=webpack://hello-world/./src/components/newBottomCom/viewMask/viewMask.vue?");/***/ }),/***/ "./src/components/newBottomCom/viewShell/viewShell.vue":/*!*************************************************************!*\  !*** ./src/components/newBottomCom/viewShell/viewShell.vue ***!  \*************************************************************//***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {"use strict";eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _viewShell_html_vue_type_template_id_c00b41c4_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./viewShell.html?vue&type=template&id=c00b41c4&scoped=true& */ \"./src/components/newBottomCom/viewShell/viewShell.html?vue&type=template&id=c00b41c4&scoped=true&\");\n/* harmony import */ var _viewShell_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./viewShell.vue?vue&type=script&lang=js& */ \"./src/components/newBottomCom/viewShell/viewShell.vue?vue&type=script&lang=js&\");\n/* harmony import */ var _viewShell_vue_vue_type_style_index_0_id_c00b41c4_lang_css_scoped_true___WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./viewShell.vue?vue&type=style&index=0&id=c00b41c4&lang=css&scoped=true& */ \"./src/components/newBottomCom/viewShell/viewShell.vue?vue&type=style&index=0&id=c00b41c4&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  _viewShell_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n  _viewShell_html_vue_type_template_id_c00b41c4_scoped_true___WEBPACK_IMPORTED_MODULE_0__.render,\n  _viewShell_html_vue_type_template_id_c00b41c4_scoped_true___WEBPACK_IMPORTED_MODULE_0__.staticRenderFns,\n  false,\n  null,\n  \"c00b41c4\",\n  null\n  \n)\n\n/* hot reload */\nif (false) { var api; }\ncomponent.options.__file = \"src/components/newBottomCom/viewShell/viewShell.vue\"\n/* harmony default export */ __webpack_exports__[\"default\"] = (component.exports);\n\n//# sourceURL=webpack://hello-world/./src/components/newBottomCom/viewShell/viewShell.vue?");/***/ }),/***/ "./src/components/newBottomCom/viewlayout/viewlayout.vue":/*!***************************************************************!*\  !*** ./src/components/newBottomCom/viewlayout/viewlayout.vue ***!  \***************************************************************//***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {"use strict";eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _viewlayout_html_vue_type_template_id_08193d34_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./viewlayout.html?vue&type=template&id=08193d34&scoped=true& */ \"./src/components/newBottomCom/viewlayout/viewlayout.html?vue&type=template&id=08193d34&scoped=true&\");\n/* harmony import */ var _viewlayout_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./viewlayout.vue?vue&type=script&lang=js& */ \"./src/components/newBottomCom/viewlayout/viewlayout.vue?vue&type=script&lang=js&\");\n/* harmony import */ var _viewlayout_vue_vue_type_style_index_0_id_08193d34_lang_css_scoped_true___WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./viewlayout.vue?vue&type=style&index=0&id=08193d34&lang=css&scoped=true& */ \"./src/components/newBottomCom/viewlayout/viewlayout.vue?vue&type=style&index=0&id=08193d34&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  _viewlayout_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n  _viewlayout_html_vue_type_template_id_08193d34_scoped_true___WEBPACK_IMPORTED_MODULE_0__.render,\n  _viewlayout_html_vue_type_template_id_08193d34_scoped_true___WEBPACK_IMPORTED_MODULE_0__.staticRenderFns,\n  false,\n  null,\n  \"08193d34\",\n  null\n  \n)\n\n/* hot reload */\nif (false) { var api; }\ncomponent.options.__file = \"src/components/newBottomCom/viewlayout/viewlayout.vue\"\n/* harmony default export */ __webpack_exports__[\"default\"] = (component.exports);\n\n//# sourceURL=webpack://hello-world/./src/components/newBottomCom/viewlayout/viewlayout.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/pages/webgl_rxdz/webgl_rxdz.vue":/*!*********************************************!*\  !*** ./src/pages/webgl_rxdz/webgl_rxdz.vue ***!  \*********************************************//***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {"use strict";eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _webgl_rxdz_html_vue_type_template_id_44b7ae4a_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./webgl_rxdz.html?vue&type=template&id=44b7ae4a&scoped=true& */ \"./src/pages/webgl_rxdz/webgl_rxdz.html?vue&type=template&id=44b7ae4a&scoped=true&\");\n/* harmony import */ var _webgl_rxdz_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./webgl_rxdz.vue?vue&type=script&lang=js& */ \"./src/pages/webgl_rxdz/webgl_rxdz.vue?vue&type=script&lang=js&\");\n/* harmony import */ var _webgl_rxdz_vue_vue_type_style_index_0_id_44b7ae4a_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./webgl_rxdz.vue?vue&type=style&index=0&id=44b7ae4a&lang=scss&scoped=true& */ \"./src/pages/webgl_rxdz/webgl_rxdz.vue?vue&type=style&index=0&id=44b7ae4a&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  _webgl_rxdz_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n  _webgl_rxdz_html_vue_type_template_id_44b7ae4a_scoped_true___WEBPACK_IMPORTED_MODULE_0__.render,\n  _webgl_rxdz_html_vue_type_template_id_44b7ae4a_scoped_true___WEBPACK_IMPORTED_MODULE_0__.staticRenderFns,\n  false,\n  null,\n  \"44b7ae4a\",\n  null\n  \n)\n\n/* hot reload */\nif (false) { var api; }\ncomponent.options.__file = \"src/pages/webgl_rxdz/webgl_rxdz.vue\"\n/* harmony default export */ __webpack_exports__[\"default\"] = (component.exports);\n\n//# sourceURL=webpack://hello-world/./src/pages/webgl_rxdz/webgl_rxdz.vue?");/***/ }),/***/ "./src/pages/webgl_rxdz_customize/webgl_rxdz_customize.vue":/*!*****************************************************************!*\  !*** ./src/pages/webgl_rxdz_customize/webgl_rxdz_customize.vue ***!  \*****************************************************************//***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {"use strict";eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _webgl_rxdz_customize_html_vue_type_template_id_361e85ca_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./webgl_rxdz_customize.html?vue&type=template&id=361e85ca&scoped=true& */ \"./src/pages/webgl_rxdz_customize/webgl_rxdz_customize.html?vue&type=template&id=361e85ca&scoped=true&\");\n/* harmony import */ var _webgl_rxdz_customize_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./webgl_rxdz_customize.vue?vue&type=script&lang=js& */ \"./src/pages/webgl_rxdz_customize/webgl_rxdz_customize.vue?vue&type=script&lang=js&\");\n/* harmony import */ var _webgl_rxdz_customize_vue_vue_type_style_index_0_id_361e85ca_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./webgl_rxdz_customize.vue?vue&type=style&index=0&id=361e85ca&lang=scss&scoped=true& */ \"./src/pages/webgl_rxdz_customize/webgl_rxdz_customize.vue?vue&type=style&index=0&id=361e85ca&lang=scss&scoped=true&\");\n/* harmony import */ var _webgl_rxdz_customize_vue_vue_type_style_index_1_id_361e85ca_lang_css_scoped_true___WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./webgl_rxdz_customize.vue?vue&type=style&index=1&id=361e85ca&lang=css&scoped=true& */ \"./src/pages/webgl_rxdz_customize/webgl_rxdz_customize.vue?vue&type=style&index=1&id=361e85ca&lang=css&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  _webgl_rxdz_customize_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n  _webgl_rxdz_customize_html_vue_type_template_id_361e85ca_scoped_true___WEBPACK_IMPORTED_MODULE_0__.render,\n  _webgl_rxdz_customize_html_vue_type_template_id_361e85ca_scoped_true___WEBPACK_IMPORTED_MODULE_0__.staticRenderFns,\n  false,\n  null,\n  \"361e85ca\",\n  null\n  \n)\n\n/* hot reload */\nif (false) { var api; }\ncomponent.options.__file = \"src/pages/webgl_rxdz_customize/webgl_rxdz_customize.vue\"\n/* harmony default export */ __webpack_exports__[\"default\"] = (component.exports);\n\n//# sourceURL=webpack://hello-world/./src/pages/webgl_rxdz_customize/webgl_rxdz_customize.vue?");/***/ }),/***/ "./src/pages/webgl_rxdz_look/webgl_rxdz_look.vue":/*!*******************************************************!*\  !*** ./src/pages/webgl_rxdz_look/webgl_rxdz_look.vue ***!  \*******************************************************//***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {"use strict";eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _webgl_rxdz_look_html_vue_type_template_id_00b83a56_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./webgl_rxdz_look.html?vue&type=template&id=00b83a56&scoped=true& */ \"./src/pages/webgl_rxdz_look/webgl_rxdz_look.html?vue&type=template&id=00b83a56&scoped=true&\");\n/* harmony import */ var _webgl_rxdz_look_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./webgl_rxdz_look.vue?vue&type=script&lang=js& */ \"./src/pages/webgl_rxdz_look/webgl_rxdz_look.vue?vue&type=script&lang=js&\");\n/* harmony import */ var _webgl_rxdz_look_vue_vue_type_style_index_0_id_00b83a56_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./webgl_rxdz_look.vue?vue&type=style&index=0&id=00b83a56&lang=scss&scoped=true& */ \"./src/pages/webgl_rxdz_look/webgl_rxdz_look.vue?vue&type=style&index=0&id=00b83a56&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  _webgl_rxdz_look_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n  _webgl_rxdz_look_html_vue_type_template_id_00b83a56_scoped_true___WEBPACK_IMPORTED_MODULE_0__.render,\n  _webgl_rxdz_look_html_vue_type_template_id_00b83a56_scoped_true___WEBPACK_IMPORTED_MODULE_0__.staticRenderFns,\n  false,\n  null,\n  \"00b83a56\",\n  null\n  \n)\n\n/* hot reload */\nif (false) { var api; }\ncomponent.options.__file = \"src/pages/webgl_rxdz_look/webgl_rxdz_look.vue\"\n/* harmony default export */ __webpack_exports__[\"default\"] = (component.exports);\n\n//# sourceURL=webpack://hello-world/./src/pages/webgl_rxdz_look/webgl_rxdz_look.vue?");/***/ }),/***/ "./src/pages/webgl_rxdz_roam/webgl_rxdz_roam.vue":/*!*******************************************************!*\  !*** ./src/pages/webgl_rxdz_roam/webgl_rxdz_roam.vue ***!  \*******************************************************//***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {"use strict";eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _webgl_rxdz_roam_html_vue_type_template_id_05e3542e_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./webgl_rxdz_roam.html?vue&type=template&id=05e3542e&scoped=true& */ \"./src/pages/webgl_rxdz_roam/webgl_rxdz_roam.html?vue&type=template&id=05e3542e&scoped=true&\");\n/* harmony import */ var _webgl_rxdz_roam_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./webgl_rxdz_roam.vue?vue&type=script&lang=js& */ \"./src/pages/webgl_rxdz_roam/webgl_rxdz_roam.vue?vue&type=script&lang=js&\");\n/* harmony import */ var _webgl_rxdz_roam_vue_vue_type_style_index_0_id_05e3542e_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./webgl_rxdz_roam.vue?vue&type=style&index=0&id=05e3542e&lang=scss&scoped=true& */ \"./src/pages/webgl_rxdz_roam/webgl_rxdz_roam.vue?vue&type=style&index=0&id=05e3542e&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  _webgl_rxdz_roam_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n  _webgl_rxdz_roam_html_vue_type_template_id_05e3542e_scoped_true___WEBPACK_IMPORTED_MODULE_0__.render,\n  _webgl_rxdz_roam_html_vue_type_template_id_05e3542e_scoped_true___WEBPACK_IMPORTED_MODULE_0__.staticRenderFns,\n  false,\n  null,\n  \"05e3542e\",\n  null\n  \n)\n\n/* hot reload */\nif (false) { var api; }\ncomponent.options.__file = \"src/pages/webgl_rxdz_roam/webgl_rxdz_roam.vue\"\n/* harmony default export */ __webpack_exports__[\"default\"] = (component.exports);\n\n//# sourceURL=webpack://hello-world/./src/pages/webgl_rxdz_roam/webgl_rxdz_roam.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/mynavbar/mynavbar.vue?vue&type=script&lang=js&":/*!***********************************************************************!*\  !*** ./src/components/mynavbar/mynavbar.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_mynavbar_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!./mynavbar.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/mynavbar/mynavbar.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_mynavbar_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__[\"default\"]); \n\n//# sourceURL=webpack://hello-world/./src/components/mynavbar/mynavbar.vue?");/***/ }),/***/ "./src/components/newBottomCom/viewCareful/viewCareful.vue?vue&type=script&lang=js&":/*!******************************************************************************************!*\  !*** ./src/components/newBottomCom/viewCareful/viewCareful.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_viewCareful_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!./viewCareful.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/newBottomCom/viewCareful/viewCareful.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_viewCareful_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__[\"default\"]); \n\n//# sourceURL=webpack://hello-world/./src/components/newBottomCom/viewCareful/viewCareful.vue?");/***/ }),/***/ "./src/components/newBottomCom/viewMask/viewMask.vue?vue&type=script&lang=js&":/*!************************************************************************************!*\  !*** ./src/components/newBottomCom/viewMask/viewMask.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_viewMask_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!./viewMask.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/newBottomCom/viewMask/viewMask.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_viewMask_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__[\"default\"]); \n\n//# sourceURL=webpack://hello-world/./src/components/newBottomCom/viewMask/viewMask.vue?");/***/ }),/***/ "./src/components/newBottomCom/viewShell/viewShell.vue?vue&type=script&lang=js&":/*!**************************************************************************************!*\  !*** ./src/components/newBottomCom/viewShell/viewShell.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_viewShell_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!./viewShell.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/newBottomCom/viewShell/viewShell.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_viewShell_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__[\"default\"]); \n\n//# sourceURL=webpack://hello-world/./src/components/newBottomCom/viewShell/viewShell.vue?");/***/ }),/***/ "./src/components/newBottomCom/viewlayout/viewlayout.vue?vue&type=script&lang=js&":/*!****************************************************************************************!*\  !*** ./src/components/newBottomCom/viewlayout/viewlayout.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_viewlayout_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!./viewlayout.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/newBottomCom/viewlayout/viewlayout.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_viewlayout_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__[\"default\"]); \n\n//# sourceURL=webpack://hello-world/./src/components/newBottomCom/viewlayout/viewlayout.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/pages/webgl_rxdz/webgl_rxdz.vue?vue&type=script&lang=js&":/*!**********************************************************************!*\  !*** ./src/pages/webgl_rxdz/webgl_rxdz.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_webgl_rxdz_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!./webgl_rxdz.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/webgl_rxdz/webgl_rxdz.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_webgl_rxdz_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__[\"default\"]); \n\n//# sourceURL=webpack://hello-world/./src/pages/webgl_rxdz/webgl_rxdz.vue?");/***/ }),/***/ "./src/pages/webgl_rxdz_customize/webgl_rxdz_customize.vue?vue&type=script&lang=js&":/*!******************************************************************************************!*\  !*** ./src/pages/webgl_rxdz_customize/webgl_rxdz_customize.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_webgl_rxdz_customize_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!./webgl_rxdz_customize.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/webgl_rxdz_customize/webgl_rxdz_customize.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_webgl_rxdz_customize_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__[\"default\"]); \n\n//# sourceURL=webpack://hello-world/./src/pages/webgl_rxdz_customize/webgl_rxdz_customize.vue?");/***/ }),/***/ "./src/pages/webgl_rxdz_look/webgl_rxdz_look.vue?vue&type=script&lang=js&":/*!********************************************************************************!*\  !*** ./src/pages/webgl_rxdz_look/webgl_rxdz_look.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_webgl_rxdz_look_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!./webgl_rxdz_look.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/webgl_rxdz_look/webgl_rxdz_look.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_webgl_rxdz_look_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__[\"default\"]); \n\n//# sourceURL=webpack://hello-world/./src/pages/webgl_rxdz_look/webgl_rxdz_look.vue?");/***/ }),/***/ "./src/pages/webgl_rxdz_roam/webgl_rxdz_roam.vue?vue&type=script&lang=js&":/*!********************************************************************************!*\  !*** ./src/pages/webgl_rxdz_roam/webgl_rxdz_roam.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_webgl_rxdz_roam_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!./webgl_rxdz_roam.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/webgl_rxdz_roam/webgl_rxdz_roam.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_webgl_rxdz_roam_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__[\"default\"]); \n\n//# sourceURL=webpack://hello-world/./src/pages/webgl_rxdz_roam/webgl_rxdz_roam.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/mynavbar/mynavbar.html?vue&type=template&id=4960454f&scoped=true&":/*!******************************************************************************************!*\  !*** ./src/components/mynavbar/mynavbar.html?vue&type=template&id=4960454f&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_mynavbar_html_vue_type_template_id_4960454f_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_mynavbar_html_vue_type_template_id_4960454f_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_mynavbar_html_vue_type_template_id_4960454f_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]!./mynavbar.html?vue&type=template&id=4960454f&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/mynavbar/mynavbar.html?vue&type=template&id=4960454f&scoped=true&\");\n\n\n//# sourceURL=webpack://hello-world/./src/components/mynavbar/mynavbar.html?");/***/ }),/***/ "./src/components/newBottomCom/viewCareful/viewCareful.html?vue&type=template&id=06bf9a56&scoped=true&":/*!*************************************************************************************************************!*\  !*** ./src/components/newBottomCom/viewCareful/viewCareful.html?vue&type=template&id=06bf9a56&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_viewCareful_html_vue_type_template_id_06bf9a56_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_viewCareful_html_vue_type_template_id_06bf9a56_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_viewCareful_html_vue_type_template_id_06bf9a56_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]!./viewCareful.html?vue&type=template&id=06bf9a56&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/newBottomCom/viewCareful/viewCareful.html?vue&type=template&id=06bf9a56&scoped=true&\");\n\n\n//# sourceURL=webpack://hello-world/./src/components/newBottomCom/viewCareful/viewCareful.html?");/***/ }),/***/ "./src/components/newBottomCom/viewMask/viewMask.html?vue&type=template&id=e29041b4&scoped=true&":/*!*******************************************************************************************************!*\  !*** ./src/components/newBottomCom/viewMask/viewMask.html?vue&type=template&id=e29041b4&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_viewMask_html_vue_type_template_id_e29041b4_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_viewMask_html_vue_type_template_id_e29041b4_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_viewMask_html_vue_type_template_id_e29041b4_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]!./viewMask.html?vue&type=template&id=e29041b4&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/newBottomCom/viewMask/viewMask.html?vue&type=template&id=e29041b4&scoped=true&\");\n\n\n//# sourceURL=webpack://hello-world/./src/components/newBottomCom/viewMask/viewMask.html?");/***/ }),/***/ "./src/components/newBottomCom/viewShell/viewShell.html?vue&type=template&id=c00b41c4&scoped=true&":/*!*********************************************************************************************************!*\  !*** ./src/components/newBottomCom/viewShell/viewShell.html?vue&type=template&id=c00b41c4&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_viewShell_html_vue_type_template_id_c00b41c4_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_viewShell_html_vue_type_template_id_c00b41c4_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_viewShell_html_vue_type_template_id_c00b41c4_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]!./viewShell.html?vue&type=template&id=c00b41c4&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/newBottomCom/viewShell/viewShell.html?vue&type=template&id=c00b41c4&scoped=true&\");\n\n\n//# sourceURL=webpack://hello-world/./src/components/newBottomCom/viewShell/viewShell.html?");/***/ }),/***/ "./src/components/newBottomCom/viewlayout/viewlayout.html?vue&type=template&id=08193d34&scoped=true&":/*!***********************************************************************************************************!*\  !*** ./src/components/newBottomCom/viewlayout/viewlayout.html?vue&type=template&id=08193d34&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_viewlayout_html_vue_type_template_id_08193d34_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_viewlayout_html_vue_type_template_id_08193d34_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_viewlayout_html_vue_type_template_id_08193d34_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]!./viewlayout.html?vue&type=template&id=08193d34&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/newBottomCom/viewlayout/viewlayout.html?vue&type=template&id=08193d34&scoped=true&\");\n\n\n//# sourceURL=webpack://hello-world/./src/components/newBottomCom/viewlayout/viewlayout.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/pages/webgl_rxdz/webgl_rxdz.html?vue&type=template&id=44b7ae4a&scoped=true&":/*!*****************************************************************************************!*\  !*** ./src/pages/webgl_rxdz/webgl_rxdz.html?vue&type=template&id=44b7ae4a&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_webgl_rxdz_html_vue_type_template_id_44b7ae4a_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_webgl_rxdz_html_vue_type_template_id_44b7ae4a_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_webgl_rxdz_html_vue_type_template_id_44b7ae4a_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]!./webgl_rxdz.html?vue&type=template&id=44b7ae4a&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/webgl_rxdz/webgl_rxdz.html?vue&type=template&id=44b7ae4a&scoped=true&\");\n\n\n//# sourceURL=webpack://hello-world/./src/pages/webgl_rxdz/webgl_rxdz.html?");/***/ }),/***/ "./src/pages/webgl_rxdz_customize/webgl_rxdz_customize.html?vue&type=template&id=361e85ca&scoped=true&":/*!*************************************************************************************************************!*\  !*** ./src/pages/webgl_rxdz_customize/webgl_rxdz_customize.html?vue&type=template&id=361e85ca&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_webgl_rxdz_customize_html_vue_type_template_id_361e85ca_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_webgl_rxdz_customize_html_vue_type_template_id_361e85ca_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_webgl_rxdz_customize_html_vue_type_template_id_361e85ca_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]!./webgl_rxdz_customize.html?vue&type=template&id=361e85ca&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/webgl_rxdz_customize/webgl_rxdz_customize.html?vue&type=template&id=361e85ca&scoped=true&\");\n\n\n//# sourceURL=webpack://hello-world/./src/pages/webgl_rxdz_customize/webgl_rxdz_customize.html?");/***/ }),/***/ "./src/pages/webgl_rxdz_look/webgl_rxdz_look.html?vue&type=template&id=00b83a56&scoped=true&":/*!***************************************************************************************************!*\  !*** ./src/pages/webgl_rxdz_look/webgl_rxdz_look.html?vue&type=template&id=00b83a56&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_webgl_rxdz_look_html_vue_type_template_id_00b83a56_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_webgl_rxdz_look_html_vue_type_template_id_00b83a56_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_webgl_rxdz_look_html_vue_type_template_id_00b83a56_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]!./webgl_rxdz_look.html?vue&type=template&id=00b83a56&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/webgl_rxdz_look/webgl_rxdz_look.html?vue&type=template&id=00b83a56&scoped=true&\");\n\n\n//# sourceURL=webpack://hello-world/./src/pages/webgl_rxdz_look/webgl_rxdz_look.html?");/***/ }),/***/ "./src/pages/webgl_rxdz_roam/webgl_rxdz_roam.html?vue&type=template&id=05e3542e&scoped=true&":/*!***************************************************************************************************!*\  !*** ./src/pages/webgl_rxdz_roam/webgl_rxdz_roam.html?vue&type=template&id=05e3542e&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_webgl_rxdz_roam_html_vue_type_template_id_05e3542e_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_webgl_rxdz_roam_html_vue_type_template_id_05e3542e_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_webgl_rxdz_roam_html_vue_type_template_id_05e3542e_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]!./webgl_rxdz_roam.html?vue&type=template&id=05e3542e&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/webgl_rxdz_roam/webgl_rxdz_roam.html?vue&type=template&id=05e3542e&scoped=true&\");\n\n\n//# sourceURL=webpack://hello-world/./src/pages/webgl_rxdz_roam/webgl_rxdz_roam.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/newBottomCom/viewMask/viewMask.vue?vue&type=style&index=1&id=e29041b4&lang=css&scoped=true&":/*!********************************************************************************************************************!*\  !*** ./src/components/newBottomCom/viewMask/viewMask.vue?vue&type=style&index=1&id=e29041b4&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_viewMask_vue_vue_type_style_index_1_id_e29041b4_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!./viewMask.vue?vue&type=style&index=1&id=e29041b4&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/newBottomCom/viewMask/viewMask.vue?vue&type=style&index=1&id=e29041b4&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_viewMask_vue_vue_type_style_index_1_id_e29041b4_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_viewMask_vue_vue_type_style_index_1_id_e29041b4_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_viewMask_vue_vue_type_style_index_1_id_e29041b4_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_viewMask_vue_vue_type_style_index_1_id_e29041b4_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/newBottomCom/viewMask/viewMask.vue?");/***/ }),/***/ "./src/components/newBottomCom/viewShell/viewShell.vue?vue&type=style&index=0&id=c00b41c4&lang=css&scoped=true&":/*!**********************************************************************************************************************!*\  !*** ./src/components/newBottomCom/viewShell/viewShell.vue?vue&type=style&index=0&id=c00b41c4&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_viewShell_vue_vue_type_style_index_0_id_c00b41c4_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!./viewShell.vue?vue&type=style&index=0&id=c00b41c4&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/newBottomCom/viewShell/viewShell.vue?vue&type=style&index=0&id=c00b41c4&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_viewShell_vue_vue_type_style_index_0_id_c00b41c4_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_viewShell_vue_vue_type_style_index_0_id_c00b41c4_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_viewShell_vue_vue_type_style_index_0_id_c00b41c4_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_viewShell_vue_vue_type_style_index_0_id_c00b41c4_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/newBottomCom/viewShell/viewShell.vue?");/***/ }),/***/ "./src/components/newBottomCom/viewlayout/viewlayout.vue?vue&type=style&index=0&id=08193d34&lang=css&scoped=true&":/*!************************************************************************************************************************!*\  !*** ./src/components/newBottomCom/viewlayout/viewlayout.vue?vue&type=style&index=0&id=08193d34&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_viewlayout_vue_vue_type_style_index_0_id_08193d34_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!./viewlayout.vue?vue&type=style&index=0&id=08193d34&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/newBottomCom/viewlayout/viewlayout.vue?vue&type=style&index=0&id=08193d34&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_viewlayout_vue_vue_type_style_index_0_id_08193d34_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_viewlayout_vue_vue_type_style_index_0_id_08193d34_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_viewlayout_vue_vue_type_style_index_0_id_08193d34_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_viewlayout_vue_vue_type_style_index_0_id_08193d34_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/newBottomCom/viewlayout/viewlayout.vue?");/***/ }),/***/ "./src/pages/webgl_rxdz_customize/webgl_rxdz_customize.vue?vue&type=style&index=1&id=361e85ca&lang=css&scoped=true&":/*!**************************************************************************************************************************!*\  !*** ./src/pages/webgl_rxdz_customize/webgl_rxdz_customize.vue?vue&type=style&index=1&id=361e85ca&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_webgl_rxdz_customize_vue_vue_type_style_index_1_id_361e85ca_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!./webgl_rxdz_customize.vue?vue&type=style&index=1&id=361e85ca&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/pages/webgl_rxdz_customize/webgl_rxdz_customize.vue?vue&type=style&index=1&id=361e85ca&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_webgl_rxdz_customize_vue_vue_type_style_index_1_id_361e85ca_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_webgl_rxdz_customize_vue_vue_type_style_index_1_id_361e85ca_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_webgl_rxdz_customize_vue_vue_type_style_index_1_id_361e85ca_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_webgl_rxdz_customize_vue_vue_type_style_index_1_id_361e85ca_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/pages/webgl_rxdz_customize/webgl_rxdz_customize.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/components/mynavbar/mynavbar.vue?vue&type=style&index=0&id=4960454f&lang=scss&scoped=true&":/*!********************************************************************************************************!*\  !*** ./src/components/mynavbar/mynavbar.vue?vue&type=style&index=0&id=4960454f&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_mynavbar_vue_vue_type_style_index_0_id_4960454f_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!./mynavbar.vue?vue&type=style&index=0&id=4960454f&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/components/mynavbar/mynavbar.vue?vue&type=style&index=0&id=4960454f&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_mynavbar_vue_vue_type_style_index_0_id_4960454f_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_mynavbar_vue_vue_type_style_index_0_id_4960454f_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_mynavbar_vue_vue_type_style_index_0_id_4960454f_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_mynavbar_vue_vue_type_style_index_0_id_4960454f_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/components/mynavbar/mynavbar.vue?");/***/ }),/***/ "./src/components/newBottomCom/viewCareful/viewCareful.vue?vue&type=style&index=0&id=06bf9a56&lang=scss&scoped=true&":/*!***************************************************************************************************************************!*\  !*** ./src/components/newBottomCom/viewCareful/viewCareful.vue?vue&type=style&index=0&id=06bf9a56&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_viewCareful_vue_vue_type_style_index_0_id_06bf9a56_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!./viewCareful.vue?vue&type=style&index=0&id=06bf9a56&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/components/newBottomCom/viewCareful/viewCareful.vue?vue&type=style&index=0&id=06bf9a56&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_viewCareful_vue_vue_type_style_index_0_id_06bf9a56_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_viewCareful_vue_vue_type_style_index_0_id_06bf9a56_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_viewCareful_vue_vue_type_style_index_0_id_06bf9a56_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_viewCareful_vue_vue_type_style_index_0_id_06bf9a56_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/components/newBottomCom/viewCareful/viewCareful.vue?");/***/ }),/***/ "./src/components/newBottomCom/viewMask/viewMask.vue?vue&type=style&index=0&id=e29041b4&lang=scss&scoped=true&":/*!*********************************************************************************************************************!*\  !*** ./src/components/newBottomCom/viewMask/viewMask.vue?vue&type=style&index=0&id=e29041b4&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_viewMask_vue_vue_type_style_index_0_id_e29041b4_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!./viewMask.vue?vue&type=style&index=0&id=e29041b4&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/components/newBottomCom/viewMask/viewMask.vue?vue&type=style&index=0&id=e29041b4&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_viewMask_vue_vue_type_style_index_0_id_e29041b4_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_viewMask_vue_vue_type_style_index_0_id_e29041b4_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_viewMask_vue_vue_type_style_index_0_id_e29041b4_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_viewMask_vue_vue_type_style_index_0_id_e29041b4_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/components/newBottomCom/viewMask/viewMask.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?");/***/ }),/***/ "./src/pages/webgl_rxdz/webgl_rxdz.vue?vue&type=style&index=0&id=44b7ae4a&lang=scss&scoped=true&":/*!*******************************************************************************************************!*\  !*** ./src/pages/webgl_rxdz/webgl_rxdz.vue?vue&type=style&index=0&id=44b7ae4a&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_webgl_rxdz_vue_vue_type_style_index_0_id_44b7ae4a_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!./webgl_rxdz.vue?vue&type=style&index=0&id=44b7ae4a&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/webgl_rxdz/webgl_rxdz.vue?vue&type=style&index=0&id=44b7ae4a&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_webgl_rxdz_vue_vue_type_style_index_0_id_44b7ae4a_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_webgl_rxdz_vue_vue_type_style_index_0_id_44b7ae4a_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_webgl_rxdz_vue_vue_type_style_index_0_id_44b7ae4a_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_webgl_rxdz_vue_vue_type_style_index_0_id_44b7ae4a_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/webgl_rxdz/webgl_rxdz.vue?");/***/ }),/***/ "./src/pages/webgl_rxdz_customize/webgl_rxdz_customize.vue?vue&type=style&index=0&id=361e85ca&lang=scss&scoped=true&":/*!***************************************************************************************************************************!*\  !*** ./src/pages/webgl_rxdz_customize/webgl_rxdz_customize.vue?vue&type=style&index=0&id=361e85ca&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_webgl_rxdz_customize_vue_vue_type_style_index_0_id_361e85ca_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!./webgl_rxdz_customize.vue?vue&type=style&index=0&id=361e85ca&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/webgl_rxdz_customize/webgl_rxdz_customize.vue?vue&type=style&index=0&id=361e85ca&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_webgl_rxdz_customize_vue_vue_type_style_index_0_id_361e85ca_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_webgl_rxdz_customize_vue_vue_type_style_index_0_id_361e85ca_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_webgl_rxdz_customize_vue_vue_type_style_index_0_id_361e85ca_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_webgl_rxdz_customize_vue_vue_type_style_index_0_id_361e85ca_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/webgl_rxdz_customize/webgl_rxdz_customize.vue?");/***/ }),/***/ "./src/pages/webgl_rxdz_look/webgl_rxdz_look.vue?vue&type=style&index=0&id=00b83a56&lang=scss&scoped=true&":/*!*****************************************************************************************************************!*\  !*** ./src/pages/webgl_rxdz_look/webgl_rxdz_look.vue?vue&type=style&index=0&id=00b83a56&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_webgl_rxdz_look_vue_vue_type_style_index_0_id_00b83a56_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!./webgl_rxdz_look.vue?vue&type=style&index=0&id=00b83a56&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/webgl_rxdz_look/webgl_rxdz_look.vue?vue&type=style&index=0&id=00b83a56&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_webgl_rxdz_look_vue_vue_type_style_index_0_id_00b83a56_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_webgl_rxdz_look_vue_vue_type_style_index_0_id_00b83a56_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_webgl_rxdz_look_vue_vue_type_style_index_0_id_00b83a56_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_webgl_rxdz_look_vue_vue_type_style_index_0_id_00b83a56_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/webgl_rxdz_look/webgl_rxdz_look.vue?");/***/ }),/***/ "./src/pages/webgl_rxdz_roam/webgl_rxdz_roam.vue?vue&type=style&index=0&id=05e3542e&lang=scss&scoped=true&":/*!*****************************************************************************************************************!*\  !*** ./src/pages/webgl_rxdz_roam/webgl_rxdz_roam.vue?vue&type=style&index=0&id=05e3542e&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_webgl_rxdz_roam_vue_vue_type_style_index_0_id_05e3542e_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!./webgl_rxdz_roam.vue?vue&type=style&index=0&id=05e3542e&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/webgl_rxdz_roam/webgl_rxdz_roam.vue?vue&type=style&index=0&id=05e3542e&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_webgl_rxdz_roam_vue_vue_type_style_index_0_id_05e3542e_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_webgl_rxdz_roam_vue_vue_type_style_index_0_id_05e3542e_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_webgl_rxdz_roam_vue_vue_type_style_index_0_id_05e3542e_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_webgl_rxdz_roam_vue_vue_type_style_index_0_id_05e3542e_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/webgl_rxdz_roam/webgl_rxdz_roam.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/newBottomCom/viewMask/viewMask.vue?vue&type=style&index=1&id=e29041b4&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/newBottomCom/viewMask/viewMask.vue?vue&type=style&index=1&id=e29041b4&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!./viewMask.vue?vue&type=style&index=1&id=e29041b4&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/newBottomCom/viewMask/viewMask.vue?vue&type=style&index=1&id=e29041b4&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(\"7ecf7640\", content, false, {\"sourceMap\":false,\"shadowMode\":false});\n// Hot Module Replacement\nif(false) {}\n\n//# sourceURL=webpack://hello-world/./src/components/newBottomCom/viewMask/viewMask.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/newBottomCom/viewShell/viewShell.vue?vue&type=style&index=0&id=c00b41c4&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/newBottomCom/viewShell/viewShell.vue?vue&type=style&index=0&id=c00b41c4&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!./viewShell.vue?vue&type=style&index=0&id=c00b41c4&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/newBottomCom/viewShell/viewShell.vue?vue&type=style&index=0&id=c00b41c4&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(\"3b1db91f\", content, false, {\"sourceMap\":false,\"shadowMode\":false});\n// Hot Module Replacement\nif(false) {}\n\n//# sourceURL=webpack://hello-world/./src/components/newBottomCom/viewShell/viewShell.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/newBottomCom/viewlayout/viewlayout.vue?vue&type=style&index=0&id=08193d34&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/newBottomCom/viewlayout/viewlayout.vue?vue&type=style&index=0&id=08193d34&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!./viewlayout.vue?vue&type=style&index=0&id=08193d34&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/newBottomCom/viewlayout/viewlayout.vue?vue&type=style&index=0&id=08193d34&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(\"7a638eb0\", content, false, {\"sourceMap\":false,\"shadowMode\":false});\n// Hot Module Replacement\nif(false) {}\n\n//# sourceURL=webpack://hello-world/./src/components/newBottomCom/viewlayout/viewlayout.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/pages/webgl_rxdz_customize/webgl_rxdz_customize.vue?vue&type=style&index=1&id=361e85ca&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/pages/webgl_rxdz_customize/webgl_rxdz_customize.vue?vue&type=style&index=1&id=361e85ca&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!./webgl_rxdz_customize.vue?vue&type=style&index=1&id=361e85ca&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/pages/webgl_rxdz_customize/webgl_rxdz_customize.vue?vue&type=style&index=1&id=361e85ca&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(\"3b552345\", content, false, {\"sourceMap\":false,\"shadowMode\":false});\n// Hot Module Replacement\nif(false) {}\n\n//# sourceURL=webpack://hello-world/./src/pages/webgl_rxdz_customize/webgl_rxdz_customize.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/components/mynavbar/mynavbar.vue?vue&type=style&index=0&id=4960454f&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/components/mynavbar/mynavbar.vue?vue&type=style&index=0&id=4960454f&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!./mynavbar.vue?vue&type=style&index=0&id=4960454f&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/components/mynavbar/mynavbar.vue?vue&type=style&index=0&id=4960454f&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(\"2995316a\", content, false, {\"sourceMap\":false,\"shadowMode\":false});\n// Hot Module Replacement\nif(false) {}\n\n//# sourceURL=webpack://hello-world/./src/components/mynavbar/mynavbar.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/components/newBottomCom/viewCareful/viewCareful.vue?vue&type=style&index=0&id=06bf9a56&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/components/newBottomCom/viewCareful/viewCareful.vue?vue&type=style&index=0&id=06bf9a56&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!./viewCareful.vue?vue&type=style&index=0&id=06bf9a56&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/components/newBottomCom/viewCareful/viewCareful.vue?vue&type=style&index=0&id=06bf9a56&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(\"3517ef37\", content, false, {\"sourceMap\":false,\"shadowMode\":false});\n// Hot Module Replacement\nif(false) {}\n\n//# sourceURL=webpack://hello-world/./src/components/newBottomCom/viewCareful/viewCareful.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/components/newBottomCom/viewMask/viewMask.vue?vue&type=style&index=0&id=e29041b4&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/components/newBottomCom/viewMask/viewMask.vue?vue&type=style&index=0&id=e29041b4&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!./viewMask.vue?vue&type=style&index=0&id=e29041b4&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/components/newBottomCom/viewMask/viewMask.vue?vue&type=style&index=0&id=e29041b4&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(\"303ea92f\", content, false, {\"sourceMap\":false,\"shadowMode\":false});\n// Hot Module Replacement\nif(false) {}\n\n//# sourceURL=webpack://hello-world/./src/components/newBottomCom/viewMask/viewMask.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");/***/ }),/***/ "./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/webgl_rxdz/webgl_rxdz.vue?vue&type=style&index=0&id=44b7ae4a&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/webgl_rxdz/webgl_rxdz.vue?vue&type=style&index=0&id=44b7ae4a&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!./webgl_rxdz.vue?vue&type=style&index=0&id=44b7ae4a&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/webgl_rxdz/webgl_rxdz.vue?vue&type=style&index=0&id=44b7ae4a&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(\"534a09d1\", content, false, {\"sourceMap\":false,\"shadowMode\":false});\n// Hot Module Replacement\nif(false) {}\n\n//# sourceURL=webpack://hello-world/./src/pages/webgl_rxdz/webgl_rxdz.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/webgl_rxdz_customize/webgl_rxdz_customize.vue?vue&type=style&index=0&id=361e85ca&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/webgl_rxdz_customize/webgl_rxdz_customize.vue?vue&type=style&index=0&id=361e85ca&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!./webgl_rxdz_customize.vue?vue&type=style&index=0&id=361e85ca&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/webgl_rxdz_customize/webgl_rxdz_customize.vue?vue&type=style&index=0&id=361e85ca&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(\"8ab2feae\", content, false, {\"sourceMap\":false,\"shadowMode\":false});\n// Hot Module Replacement\nif(false) {}\n\n//# sourceURL=webpack://hello-world/./src/pages/webgl_rxdz_customize/webgl_rxdz_customize.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/webgl_rxdz_look/webgl_rxdz_look.vue?vue&type=style&index=0&id=00b83a56&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/webgl_rxdz_look/webgl_rxdz_look.vue?vue&type=style&index=0&id=00b83a56&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!./webgl_rxdz_look.vue?vue&type=style&index=0&id=00b83a56&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/webgl_rxdz_look/webgl_rxdz_look.vue?vue&type=style&index=0&id=00b83a56&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(\"2a1e1e4a\", content, false, {\"sourceMap\":false,\"shadowMode\":false});\n// Hot Module Replacement\nif(false) {}\n\n//# sourceURL=webpack://hello-world/./src/pages/webgl_rxdz_look/webgl_rxdz_look.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/webgl_rxdz_roam/webgl_rxdz_roam.vue?vue&type=style&index=0&id=05e3542e&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/webgl_rxdz_roam/webgl_rxdz_roam.vue?vue&type=style&index=0&id=05e3542e&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!./webgl_rxdz_roam.vue?vue&type=style&index=0&id=05e3542e&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/webgl_rxdz_roam/webgl_rxdz_roam.vue?vue&type=style&index=0&id=05e3542e&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(\"4c3741b0\", content, false, {\"sourceMap\":false,\"shadowMode\":false});\n// Hot Module Replacement\nif(false) {}\n\n//# sourceURL=webpack://hello-world/./src/pages/webgl_rxdz_roam/webgl_rxdz_roam.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__);/******/ 	/******/ })();
 |