|
@@ -4,12 +4,17 @@
|
|
<Guide />
|
|
<Guide />
|
|
|
|
|
|
<div class="ui-view-layout" :class="{ show: show }" is-mobile="true">
|
|
<div class="ui-view-layout" :class="{ show: show }" is-mobile="true">
|
|
|
|
+
|
|
|
|
+ <!-- 雪花装饰 -->
|
|
|
|
+ <div class="personalStyle">
|
|
|
|
+ <christmas/>
|
|
|
|
+ </div>
|
|
<div class="scene" ref="scene$"></div>
|
|
<div class="scene" ref="scene$"></div>
|
|
<template v-if="dataLoaded">
|
|
<template v-if="dataLoaded">
|
|
- <Information v-if="!isshoppingguide" />
|
|
|
|
|
|
+ <!-- <Information v-if="!isshoppingguide" /> -->
|
|
<Control />
|
|
<Control />
|
|
|
|
|
|
- <teleport v-if="refMiniMap && player.showWidgets" :to="refMiniMap">
|
|
|
|
|
|
+ <!-- <teleport v-if="refMiniMap && player.showWidgets" :to="refMiniMap">
|
|
<span :class="{ gudieDisabled: isshoppingguide && role != 'leader' }" class="button-switch" @click.stop="toggleMap">
|
|
<span :class="{ gudieDisabled: isshoppingguide && role != 'leader' }" class="button-switch" @click.stop="toggleMap">
|
|
<ui-icon type="show_map_collect"></ui-icon>
|
|
<ui-icon type="show_map_collect"></ui-icon>
|
|
</span>
|
|
</span>
|
|
@@ -17,7 +22,7 @@
|
|
<ui-icon type="show_3d_normal"></ui-icon>
|
|
<ui-icon type="show_3d_normal"></ui-icon>
|
|
<span> {{ $t('mode.dollhouseModel') }}</span>
|
|
<span> {{ $t('mode.dollhouseModel') }}</span>
|
|
</div>
|
|
</div>
|
|
- </teleport>
|
|
|
|
|
|
+ </teleport> -->
|
|
|
|
|
|
<template v-if="refMiniMap && player.showWidgets">
|
|
<template v-if="refMiniMap && player.showWidgets">
|
|
<div :class="{ disabled: flying, gudieDisabled: isshoppingguide && role != 'leader' }" v-show="mode != 'panorama'" v-if="controls.showFloorplan && controls.showDollhouse" class="tab-layer">
|
|
<div :class="{ disabled: flying, gudieDisabled: isshoppingguide && role != 'leader' }" v-show="mode != 'panorama'" v-if="controls.showFloorplan && controls.showDollhouse" class="tab-layer">
|
|
@@ -51,6 +56,7 @@ import GoodsList from '@/components/Tags/goods-list.vue';
|
|
import Treasure from '@/components/Tags/treasure.vue';
|
|
import Treasure from '@/components/Tags/treasure.vue';
|
|
//waterfall和exhibits公用
|
|
//waterfall和exhibits公用
|
|
import Waterfall from '@/components/Tags/waterfall.vue';
|
|
import Waterfall from '@/components/Tags/waterfall.vue';
|
|
|
|
+import Christmas from '@/components/Controls/Christmas.vue';
|
|
|
|
|
|
import Information from '@/components/Information';
|
|
import Information from '@/components/Information';
|
|
import Control from '@/components/Controls/Control.Mobile.vue';
|
|
import Control from '@/components/Controls/Control.Mobile.vue';
|
|
@@ -75,6 +81,8 @@ const { t } = useI18n({ useScope: 'global' });
|
|
|
|
|
|
const store = useStore();
|
|
const store = useStore();
|
|
|
|
|
|
|
|
+const isMobile = browser.isMobile();
|
|
|
|
+
|
|
let jumpNewScene = (sceneFirstView) => {
|
|
let jumpNewScene = (sceneFirstView) => {
|
|
let url = window.location.href;
|
|
let url = window.location.href;
|
|
|
|
|
|
@@ -150,18 +158,18 @@ let VIDEOSCENELIST = [
|
|
'KJ-eur-WR9V913f23',
|
|
'KJ-eur-WR9V913f23',
|
|
'KJ-eur-MBJF95ae80'
|
|
'KJ-eur-MBJF95ae80'
|
|
]
|
|
]
|
|
-console.log('result:', Cache.get('HIDENVIDEOEXPIRES'));
|
|
|
|
|
|
+console.log('result:',isMobile, Cache.get('HIDENVIDEOEXPIRES'));
|
|
|
|
|
|
-if (!Cache.get('HIDENVIDEOEXPIRES')) {
|
|
|
|
- if ((VIDEOSCENELIST.includes(browser.getURLParam('m')) && (browser.getURLParam('pose') == 'pano:188,qua:0.0013,-0.6099,0.001,0.7925'))||
|
|
|
|
- (VIDEOSCENELIST.includes(browser.getURLParam('m')) && (browser.getURLParam('pose') == 'pano:58,qua:0,-0.7979,0,0.6028'))) {
|
|
|
|
|
|
+if (!Cache.get('HIDENVIDEOEXPIRES') && isMobile) {
|
|
|
|
+ // if ((VIDEOSCENELIST.includes(browser.getURLParam('m')) && (browser.getURLParam('pose') == 'pano:188,qua:0.0013,-0.6099,0.001,0.7925'))||
|
|
|
|
+ // (VIDEOSCENELIST.includes(browser.getURLParam('m')) && (browser.getURLParam('pose') == 'pano:58,qua:0,-0.7979,0,0.6028'))) {
|
|
// Cache.set('HIDENVIDEOEXPIRES', 'yes', 1);
|
|
// Cache.set('HIDENVIDEOEXPIRES', 'yes', 1);
|
|
Cache.set('HIDENVIDEOEXPIRES', 'yes', 60 * 8 * 60);
|
|
Cache.set('HIDENVIDEOEXPIRES', 'yes', 60 * 8 * 60);
|
|
hadVideo.value = false;
|
|
hadVideo.value = false;
|
|
} else {
|
|
} else {
|
|
hadVideo.value = true;
|
|
hadVideo.value = true;
|
|
}
|
|
}
|
|
-}
|
|
|
|
|
|
+// }
|
|
|
|
|
|
if (browser.getURLParam('role')) {
|
|
if (browser.getURLParam('role')) {
|
|
hadVideo.value = true;
|
|
hadVideo.value = true;
|
|
@@ -327,10 +335,22 @@ const guideclicktag = (tag) => {
|
|
const getCurrentHotJson = ()=>{
|
|
const getCurrentHotJson = ()=>{
|
|
let lang = browser.getURLParam('lang')
|
|
let lang = browser.getURLParam('lang')
|
|
let jsonname = lang == 'zh_CN'?'hot_eshop_cn':(lang == 'zh_HK'?'hot_eshop_zh':'hot_eshop_en')
|
|
let jsonname = lang == 'zh_CN'?'hot_eshop_cn':(lang == 'zh_HK'?'hot_eshop_zh':'hot_eshop_en')
|
|
|
|
+ if(metadata.value.cdfRegionData.region == 'AM'){
|
|
|
|
+ jsonname = 'hot'
|
|
|
|
+ }
|
|
return `https://glp-vr.cdfmembers.com/cdf/hot/${browser.getURLParam('m')}/${jsonname}.json?rnd=${Math.random()}`
|
|
return `https://glp-vr.cdfmembers.com/cdf/hot/${browser.getURLParam('m')}/${jsonname}.json?rnd=${Math.random()}`
|
|
|
|
+
|
|
}
|
|
}
|
|
|
|
|
|
onMounted(async () => {
|
|
onMounted(async () => {
|
|
|
|
+ //判断皮肤
|
|
|
|
+ // let link = document.createElement("link");
|
|
|
|
+ // link.type = "text/css";
|
|
|
|
+ // link.id = "theme";
|
|
|
|
+ // link.rel = "stylesheet";
|
|
|
|
+ // link.href = "./assets/css/sd.scss";
|
|
|
|
+ // document.getElementsByTagName("head")[0].appendChild(link);
|
|
|
|
+
|
|
apis.burying_point({ type: 0 });
|
|
apis.burying_point({ type: 0 });
|
|
|
|
|
|
app = createApp({
|
|
app = createApp({
|
|
@@ -351,6 +371,7 @@ onMounted(async () => {
|
|
app
|
|
app
|
|
.use('TagView', {
|
|
.use('TagView', {
|
|
render(data) {
|
|
render(data) {
|
|
|
|
+ console.log('dataTagView',data);
|
|
if (data.type == 'waterfall' || data.type == 'exhibits') {
|
|
if (data.type == 'waterfall' || data.type == 'exhibits') {
|
|
return `<span class="tag-icon ${data.type == 'waterfall'?'waterfall':''} animate" style="background-image:url({{icon}})"></span>`;
|
|
return `<span class="tag-icon ${data.type == 'waterfall'?'waterfall':''} animate" style="background-image:url({{icon}})"></span>`;
|
|
} else if (data.type == 'coupon') {
|
|
} else if (data.type == 'coupon') {
|
|
@@ -374,7 +395,8 @@ onMounted(async () => {
|
|
let priceMax = isFinite(Math.max.apply(null, arr)) ? Math.max.apply(null, arr) : 0;
|
|
let priceMax = isFinite(Math.max.apply(null, arr)) ? Math.max.apply(null, arr) : 0;
|
|
let price = priceMin == priceMax ? priceMax : `${priceMin}-${priceMax}`;
|
|
let price = priceMin == priceMax ? priceMax : `${priceMin}-${priceMax}`;
|
|
let range = price==0?'':`${data.products[0] ? data.products[0].symbol : 'MOP$'} ${price} |`;
|
|
let range = price==0?'':`${data.products[0] ? data.products[0].symbol : 'MOP$'} ${price} |`;
|
|
- return `<span class="tag-icon animate" style="background-image:url({{icon}})"></span>
|
|
|
|
|
|
+ return `<span class="tag-icon animate" style="background-image:url(${data.brand?.brandLogo?data.brand.brandLogo : data.icon})"></span>
|
|
|
|
+ <span class="tag-icon animate" style="display:${data.brand?.outlineImage?'inline-block':'none'};background-image:url(${data.brand && data.brand.outlineImage});position: absolute;top: 0;left: 0;"></span>
|
|
<div class="tag-body">
|
|
<div class="tag-body">
|
|
<div data-id="${data.sid}" class="tag-commodity">
|
|
<div data-id="${data.sid}" class="tag-commodity">
|
|
<div style="background-image:url(${data.products[0] ? data.products[0].pic : ''})" class='tag-avatar'>
|
|
<div style="background-image:url(${data.products[0] ? data.products[0].pic : ''})" class='tag-avatar'>
|
|
@@ -394,26 +416,31 @@ onMounted(async () => {
|
|
var tag = e.data;
|
|
var tag = e.data;
|
|
// 聚焦當前點擊的熱點
|
|
// 聚焦當前點擊的熱點
|
|
view.focus(tag.sid).then(() => {
|
|
view.focus(tag.sid).then(() => {
|
|
- if (tag.type == 'coupon') {
|
|
|
|
- try {
|
|
|
|
- if (isshoppingguide.value) {
|
|
|
|
- return;
|
|
|
|
- }
|
|
|
|
- document.querySelector(`[data-tag-id="${tag.sid}"] .tag-icon`).style.display = 'none';
|
|
|
|
- document.querySelector(`[data-tag-id="${tag.sid}"]`).style.pointerEvents = 'none';
|
|
|
|
-
|
|
|
|
- let hotcontent = typeof tag.hotContent == 'string' ? JSON.parse(tag.hotContent) : tag.hotContent;
|
|
|
|
- browser.openLink(
|
|
|
|
- '/subPackage/pages/activity/activity?pageId=' + hotcontent.couponLink,
|
|
|
|
- `${metadata.value?.cdfProductSource?.cdfHost}/shop/${metadata.value?.cdfProductSource?.cdfMchId}/showactivity?pageId=${hotcontent.couponLink}`,
|
|
|
|
- `/pages/showactivity/showactivity?pageId=${hotcontent.couponLink}`,
|
|
|
|
- `${metadata.value?.cdfProductSource?.cdfHostPc}/showactivity/${hotcontent.couponLink}`,
|
|
|
|
- );
|
|
|
|
-
|
|
|
|
- apis.burying_point({ type: 2 });
|
|
|
|
- } catch (error) {
|
|
|
|
- console.error('点击优惠券操作出错:', error);
|
|
|
|
- }
|
|
|
|
|
|
+ if (tag.type == 'coupon')
|
|
|
|
+ {
|
|
|
|
+ store.commit('tag/setTagClickType', {
|
|
|
|
+ type: 'treasure',
|
|
|
|
+ data: tag,
|
|
|
|
+ })
|
|
|
|
+ // try {
|
|
|
|
+ // if (isshoppingguide.value) {
|
|
|
|
+ // return;
|
|
|
|
+ // }
|
|
|
|
+ // document.querySelector(`[data-tag-id="${tag.sid}"] .tag-icon`).style.display = 'none';
|
|
|
|
+ // document.querySelector(`[data-tag-id="${tag.sid}"]`).style.pointerEvents = 'none';
|
|
|
|
+
|
|
|
|
+ // let hotcontent = typeof tag.hotContent == 'string' ? JSON.parse(tag.hotContent) : tag.hotContent;
|
|
|
|
+ // browser.openLink(
|
|
|
|
+ // '/subPackage/pages/activity/activity?pageId=' + hotcontent.couponLink,
|
|
|
|
+ // `${metadata.value?.cdfProductSource?.cdfHost}/shop/${metadata.value?.cdfProductSource?.cdfMchId}/showactivity?pageId=${hotcontent.couponLink}`,
|
|
|
|
+ // `/pages/showactivity/showactivity?pageId=${hotcontent.couponLink}`,
|
|
|
|
+ // `${metadata.value?.cdfProductSource?.cdfHostPc}/showactivity/${hotcontent.couponLink}`,
|
|
|
|
+ // );
|
|
|
|
+
|
|
|
|
+ // apis.burying_point({ type: 2 });
|
|
|
|
+ // } catch (error) {
|
|
|
|
+ // console.error('点击优惠券操作出错:', error);
|
|
|
|
+ // }
|
|
}
|
|
}
|
|
else if (tag.type == 'point_jump') {
|
|
else if (tag.type == 'point_jump') {
|
|
let hotcontent = typeof tag.hotContent == 'string' ? JSON.parse(tag.hotContent) : tag.hotContent;
|
|
let hotcontent = typeof tag.hotContent == 'string' ? JSON.parse(tag.hotContent) : tag.hotContent;
|
|
@@ -554,9 +581,10 @@ onMounted(async () => {
|
|
app.store.on('metadata', (metadata) => {
|
|
app.store.on('metadata', (metadata) => {
|
|
store.commit('scene/load', metadata);
|
|
store.commit('scene/load', metadata);
|
|
console.log(metadata,'metadatametadatametadata');
|
|
console.log(metadata,'metadatametadatametadata');
|
|
- if (!metadata.controls.showMap) {
|
|
|
|
- app.MinMap.hide(true);
|
|
|
|
- }
|
|
|
|
|
|
+ // if (!metadata.controls.showMap) { //
|
|
|
|
+ // app.MinMap.hide(true);
|
|
|
|
+ // }
|
|
|
|
+ app.MinMap.hide(true);
|
|
dataLoaded.value = true;
|
|
dataLoaded.value = true;
|
|
});
|
|
});
|
|
app.store.on('tags', (tags) => {
|
|
app.store.on('tags', (tags) => {
|
|
@@ -641,6 +669,13 @@ onMounted(async () => {
|
|
top: 2.3rem;
|
|
top: 2.3rem;
|
|
pointer-events: none;
|
|
pointer-events: none;
|
|
}
|
|
}
|
|
|
|
+.personalStyle{
|
|
|
|
+ position: fixed;
|
|
|
|
+ width: 100vw;
|
|
|
|
+ height: 100vh;
|
|
|
|
+ z-index: 2;
|
|
|
|
+ pointer-events: none;
|
|
|
|
+}
|
|
.tabs {
|
|
.tabs {
|
|
pointer-events: auto;
|
|
pointer-events: auto;
|
|
position: relative;
|
|
position: relative;
|