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__);
- /******/
- /******/ })()
- ;
|