|
|
@@ -10,36 +10,16 @@
|
|
|
</div> -->
|
|
|
<div>
|
|
|
<div class="viewContainer" style="display: none !important">
|
|
|
- <div
|
|
|
- id="previous"
|
|
|
- class="previous desktop-only ui-icon"
|
|
|
- style="display: none"
|
|
|
- >
|
|
|
+ <div id="previous" class="previous desktop-only ui-icon" style="display: none">
|
|
|
<a>
|
|
|
- <img
|
|
|
- rel="tooltip"
|
|
|
- title=""
|
|
|
- :src="require('@/assets/images/play.png')"
|
|
|
- width="24"
|
|
|
- height="24"
|
|
|
- data-original-title="播放"
|
|
|
- />
|
|
|
+ <img rel="tooltip" title="" :src="require('@/assets/images/play.png')" width="24" height="24" data-original-title="播放" />
|
|
|
</a>
|
|
|
</div>
|
|
|
- <div
|
|
|
- id="play"
|
|
|
- class="ui-icon"
|
|
|
- rel="tooltip"
|
|
|
- data-original-title="播放"
|
|
|
- >
|
|
|
+ <div id="play" class="ui-icon" rel="tooltip" data-original-title="播放">
|
|
|
<!-- 鼠标移入的显示 -->
|
|
|
<div class="hoverTit">自动漫游</div>
|
|
|
<a>
|
|
|
- <img
|
|
|
- :src="require('@/assets/image/icon/tour-play.png')"
|
|
|
- width="24"
|
|
|
- height="24"
|
|
|
- />
|
|
|
+ <img :src="require('@/assets/image/icon/tour-play.png')" width="24" height="24" />
|
|
|
</a>
|
|
|
</div>
|
|
|
<div id="pause" class="ui-icon" v-show="false">
|
|
|
@@ -47,118 +27,45 @@
|
|
|
<div class="hoverTit">自动漫游</div>
|
|
|
|
|
|
<a>
|
|
|
- <img
|
|
|
- rel="tooltip"
|
|
|
- title=""
|
|
|
- :src="require('@/assets/image/icon/tour-pause.png')"
|
|
|
- width="24"
|
|
|
- height="24"
|
|
|
- data-original-title="暂停"
|
|
|
- />
|
|
|
+ <img rel="tooltip" title="" :src="require('@/assets/image/icon/tour-pause.png')" width="24" height="24" data-original-title="暂停" />
|
|
|
</a>
|
|
|
</div>
|
|
|
- <div
|
|
|
- id="next"
|
|
|
- class="next desktop-only ui-icon wide"
|
|
|
- style="display: none"
|
|
|
- >
|
|
|
+ <div id="next" class="next desktop-only ui-icon wide" style="display: none">
|
|
|
<a>
|
|
|
- <i
|
|
|
- rel="tooltip"
|
|
|
- title=""
|
|
|
- class="icon icon-dpad-right"
|
|
|
- data-original-title="下一个"
|
|
|
- ></i>
|
|
|
+ <i rel="tooltip" title="" class="icon icon-dpad-right" data-original-title="下一个"></i>
|
|
|
</a>
|
|
|
</div>
|
|
|
<div id="gui-modes-map" class="ui-icon double active">
|
|
|
- <div
|
|
|
- data-original-title="导览"
|
|
|
- @click="isGuide = !isGuide"
|
|
|
- id="pullTab"
|
|
|
- rel="tooltip"
|
|
|
- title="场景导览"
|
|
|
- >
|
|
|
+ <div data-original-title="导览" @click="isGuide = !isGuide" id="pullTab" rel="tooltip" title="场景导览">
|
|
|
<!-- 鼠标移入的显示 -->
|
|
|
<div class="hoverTit">重点展位</div>
|
|
|
|
|
|
- <img
|
|
|
- title=""
|
|
|
- class="icon icon-inside"
|
|
|
- :src="
|
|
|
- require(`@/assets/image/icon/icon_point${
|
|
|
- !isGuide ? '_active' : '_normal'
|
|
|
- }.png`)
|
|
|
- "
|
|
|
- />
|
|
|
+ <img title="" class="icon icon-inside" :src="require(`@/assets/image/icon/icon_point${!isGuide ? '_active' : '_normal'}.png`)" />
|
|
|
</div>
|
|
|
- <div
|
|
|
- title="迷你漫游"
|
|
|
- data-original-title="迷你模型"
|
|
|
- id="gui-modes-dollhouse"
|
|
|
- rel="tooltip"
|
|
|
- >
|
|
|
+ <div title="迷你漫游" data-original-title="迷你模型" id="gui-modes-dollhouse" rel="tooltip">
|
|
|
<!-- 鼠标移入的显示 -->
|
|
|
<div class="hoverTit">三维模型</div>
|
|
|
- <img
|
|
|
- class="icon icon-inside"
|
|
|
- :src="require('@/assets/image/icon/icon_dollhouse_normal.png')"
|
|
|
- />
|
|
|
- <img
|
|
|
- class="icon icon-inside active"
|
|
|
- :src="require('@/assets/image/icon/icon_dollhouse_active.png')"
|
|
|
- />
|
|
|
+ <img class="icon icon-inside" :src="require('@/assets/image/icon/icon_dollhouse_normal.png')" />
|
|
|
+ <img class="icon icon-inside active" :src="require('@/assets/image/icon/icon_dollhouse_active.png')" />
|
|
|
</div>
|
|
|
<!-- 热点列表 -->
|
|
|
<div v-show="!hideTools" id="myHotList" @click="openTags">
|
|
|
<!-- 鼠标移入的显示 -->
|
|
|
<div class="hoverTit">热点列表</div>
|
|
|
- <img
|
|
|
- :src="
|
|
|
- require(`@/assets/image/icon/icon_detail${
|
|
|
- openInd == 1 ? '_active' : '_normal'
|
|
|
- }.png`)
|
|
|
- "
|
|
|
- alt=""
|
|
|
- />
|
|
|
+ <img :src="require(`@/assets/image/icon/icon_detail${openInd == 1 ? '_active' : '_normal'}.png`)" alt="" />
|
|
|
</div>
|
|
|
|
|
|
- <div
|
|
|
- data-original-title="俯视图"
|
|
|
- id="gui-modes-floorplan"
|
|
|
- rel="tooltip"
|
|
|
- title="顶部俯视"
|
|
|
- >
|
|
|
+ <div data-original-title="俯视图" id="gui-modes-floorplan" rel="tooltip" title="顶部俯视">
|
|
|
<!-- 鼠标移入的显示 -->
|
|
|
<div class="hoverTit">俯视平面</div>
|
|
|
- <img
|
|
|
- class="icon icon-inside"
|
|
|
- :src="require('@/assets/image/icon/icon_floor_normal.png')"
|
|
|
- />
|
|
|
- <img
|
|
|
- class="active icon icon-inside active"
|
|
|
- :src="require('@/assets/image/icon/icon_floor_active.png')"
|
|
|
- />
|
|
|
+ <img class="icon icon-inside" :src="require('@/assets/image/icon/icon_floor_normal.png')" />
|
|
|
+ <img class="active icon icon-inside active" :src="require('@/assets/image/icon/icon_floor_active.png')" />
|
|
|
</div>
|
|
|
- <div
|
|
|
- @click="onFullScreen"
|
|
|
- v-if="!isMobile"
|
|
|
- rel="tooltip"
|
|
|
- title="顶部俯视"
|
|
|
- id="gui-modes-floorplan"
|
|
|
- data-original-title="俯视图"
|
|
|
- >
|
|
|
+ <div @click="onFullScreen" v-if="!isMobile" rel="tooltip" title="顶部俯视" id="gui-modes-floorplan" data-original-title="俯视图">
|
|
|
<!-- 鼠标移入的显示 -->
|
|
|
<div class="hoverTit" v-if="!isFullscreen">全屏</div>
|
|
|
<div class="hoverTit" v-else>退出全屏</div>
|
|
|
- <img
|
|
|
- class="icon icon-inside"
|
|
|
- :src="
|
|
|
- require(`@/assets/image/icon/icon_screen${
|
|
|
- isFullscreen ? '_active' : '_normal'
|
|
|
- }.png`)
|
|
|
- "
|
|
|
- />
|
|
|
+ <img class="icon icon-inside" :src="require(`@/assets/image/icon/icon_screen${isFullscreen ? '_active' : '_normal'}.png`)" />
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
@@ -178,20 +85,12 @@
|
|
|
|
|
|
<div id="vr" class="ui-icon wide hidden" style="display: none">
|
|
|
<a>
|
|
|
- <i
|
|
|
- rel="tooltip"
|
|
|
- title="{[{ VIEW_IN_VR }]}"
|
|
|
- class="icon icon-webvr"
|
|
|
- ></i>
|
|
|
+ <i rel="tooltip" title="{[{ VIEW_IN_VR }]}" class="icon icon-webvr"></i>
|
|
|
</a>
|
|
|
</div>
|
|
|
<div id="sharing" class="ui-icon wide hidden" style="display: none">
|
|
|
<a>
|
|
|
- <i
|
|
|
- rel="tooltip"
|
|
|
- title="{[{ SOCIAL_SHARING }]}"
|
|
|
- class="icon icon-share"
|
|
|
- ></i>
|
|
|
+ <i rel="tooltip" title="{[{ SOCIAL_SHARING }]}" class="icon icon-share"></i>
|
|
|
</a>
|
|
|
</div>
|
|
|
<div class="pull-right terms terms2">
|
|
|
@@ -241,29 +140,18 @@
|
|
|
</transition>
|
|
|
</template>
|
|
|
<template v-else>
|
|
|
- <transition
|
|
|
- enter-active-class="animate__animated animate__fadeInUp animate__faster"
|
|
|
- leave-active-class="animate__animated animate__fadeOutDown animate__faster"
|
|
|
- >
|
|
|
+ <transition enter-active-class="animate__animated animate__fadeInUp animate__faster" leave-active-class="animate__animated animate__fadeOutDown animate__faster">
|
|
|
<HotList v-if="openType === 'hots'" @close="openType = null" />
|
|
|
</transition>
|
|
|
</template>
|
|
|
|
|
|
<!-- 自动导览 -->
|
|
|
- <transition
|
|
|
- name="fade"
|
|
|
- enter-active-class="animate__animated animate__fadeInUp animate__faster"
|
|
|
- leave-active-class="animate__animated animate__fadeOutDown animate__faster"
|
|
|
- >
|
|
|
+ <transition name="fade" enter-active-class="animate__animated animate__fadeInUp animate__faster" leave-active-class="animate__animated animate__fadeOutDown animate__faster">
|
|
|
<Guide v-if="showGuide" :tourList="tourList" />
|
|
|
</transition>
|
|
|
|
|
|
<!-- 导览底部进度 -->
|
|
|
- <transition
|
|
|
- name="fade"
|
|
|
- enter-active-class="animate__animated animate__fadeInUp animate__faster"
|
|
|
- leave-active-class="animate__animated animate__fadeOutDown animate__faster"
|
|
|
- >
|
|
|
+ <transition name="fade" enter-active-class="animate__animated animate__fadeInUp animate__faster" leave-active-class="animate__animated animate__fadeOutDown animate__faster">
|
|
|
<div class="guide-progress" v-if="showGuide && guideIsPlay && isCollapse">
|
|
|
<div class="progress-box">
|
|
|
<div class="info">
|
|
|
@@ -271,72 +159,31 @@
|
|
|
>of<span>{{ tourList.length }}</span>
|
|
|
</div>
|
|
|
<div class="bar-box">
|
|
|
- <div
|
|
|
- :style="`width:${100 / tourList.length}%;left:${
|
|
|
- (guidePlayIndex * 100) / tourList.length
|
|
|
- }%;`"
|
|
|
- class="current-box"
|
|
|
- ></div>
|
|
|
+ <div :style="`width:${100 / tourList.length}%;left:${(guidePlayIndex * 100) / tourList.length}%;`" class="current-box"></div>
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
</transition>
|
|
|
|
|
|
<!-- 小地图控制按钮 -->
|
|
|
- <div
|
|
|
- class="minimap-controls"
|
|
|
- :class="{ open: !miniMapStatus, mobile: isMobile }"
|
|
|
- @click="toggleMiniMap()"
|
|
|
- ></div>
|
|
|
+ <div class="minimap-controls" :class="{ open: !miniMapStatus, mobile: isMobile }" @click="toggleMiniMap()"></div>
|
|
|
<template v-if="!isMobile">
|
|
|
- <transition
|
|
|
- name="fade"
|
|
|
- enter-active-class="animate__animated animate__fadeInUp animate__faster"
|
|
|
- leave-active-class="animate__animated animate__fadeOutDown animate__faster"
|
|
|
- >
|
|
|
- <div
|
|
|
- v-show="openType != 'immersive' && !showGuide && !guideIsPlay"
|
|
|
- class="left-btn"
|
|
|
- >
|
|
|
- <div
|
|
|
- class="button-item"
|
|
|
- :class="getActive(i.type)"
|
|
|
- v-show="
|
|
|
- mode == 'dollhouse'
|
|
|
- ? ['model', 'realMap'].includes(i.type)
|
|
|
- : !['model', 'realMap'].includes(i.type)
|
|
|
- "
|
|
|
- v-for="(i, index) in leftButtons"
|
|
|
- @click.stop="hanlderButtons(i, i.type)"
|
|
|
- >
|
|
|
+ <transition name="fade" enter-active-class="animate__animated animate__fadeInUp animate__faster" leave-active-class="animate__animated animate__fadeOutDown animate__faster">
|
|
|
+ <div v-show="openType != 'immersive' && !showGuide && !guideIsPlay" class="left-btn">
|
|
|
+ <div class="button-item" :class="getActive(i.type)" v-show="mode == 'dollhouse' ? ['model', 'realMap'].includes(i.type) : !['model', 'realMap'].includes(i.type)" v-for="(i, index) in leftButtons" @click.stop="hanlderButtons(i, i.type)">
|
|
|
<img class="normal" :src="i.normalIcon" alt="" />
|
|
|
<img class="active" :src="i.activeIcon" alt="" />
|
|
|
<div class="tip-box">
|
|
|
- {{
|
|
|
- getActive(i.type) === "active" ? i.activeName || i.name : i.name
|
|
|
- }}
|
|
|
+ {{ getActive(i.type) === "active" ? i.activeName || i.name : i.name }}
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
</transition>
|
|
|
|
|
|
<!-- 沉浸模式-工具栏 -->
|
|
|
- <transition
|
|
|
- name="fade"
|
|
|
- enter-active-class="animate__animated animate__fadeInUp animate__faster"
|
|
|
- leave-active-class="animate__animated animate__fadeOutDown animate__faster"
|
|
|
- >
|
|
|
- <div
|
|
|
- v-show="kanzhanBtnVisible"
|
|
|
- class="left-btn"
|
|
|
- :class="{ ['show-guide']: showGuide && !isCollapse }"
|
|
|
- >
|
|
|
- <div
|
|
|
- class="button-item"
|
|
|
- :class="getActive(i.type)"
|
|
|
- v-for="(i, index) in immersiveButtons"
|
|
|
- @click="exitImmersive"
|
|
|
- >
|
|
|
+ <transition name="fade" enter-active-class="animate__animated animate__fadeInUp animate__faster" leave-active-class="animate__animated animate__fadeOutDown animate__faster">
|
|
|
+ <div v-show="kanzhanBtnVisible" class="left-btn" :class="{ ['show-guide']: showGuide && !isCollapse }">
|
|
|
+ <div class="button-item" :class="getActive(i.type)" v-for="(i, index) in immersiveButtons" @click="exitImmersive">
|
|
|
<img class="normal" :src="i.normalIcon" alt="" />
|
|
|
<img class="active" :src="i.activeIcon" alt="" />
|
|
|
<div class="tip-box">{{ i.name }}</div>
|
|
|
@@ -345,21 +192,10 @@
|
|
|
</transition>
|
|
|
|
|
|
<!-- 沉浸式看展按钮 -->
|
|
|
- <div
|
|
|
- class="kanzhan-btns"
|
|
|
- :class="{ ['show-guide']: showGuide && !isCollapse }"
|
|
|
- >
|
|
|
+ <div class="kanzhan-btns" :class="{ ['show-guide']: showGuide && !isCollapse }">
|
|
|
<transition name="preScene">
|
|
|
- <div
|
|
|
- v-show="kanzhanBtnVisible"
|
|
|
- @click="goScene('prev')"
|
|
|
- class="button-item"
|
|
|
- >
|
|
|
- <img
|
|
|
- class="normal"
|
|
|
- :src="require('@/assets/image/icon/new-icon/icon_pre.svg')"
|
|
|
- alt=""
|
|
|
- />
|
|
|
+ <div v-show="kanzhanBtnVisible" @click="goScene('prev')" class="button-item">
|
|
|
+ <img class="normal" :src="require('@/assets/image/icon/new-icon/icon_pre.svg')" alt="" />
|
|
|
</div>
|
|
|
</transition>
|
|
|
<transition name="activeScene">
|
|
|
@@ -367,10 +203,7 @@
|
|
|
<div
|
|
|
v-for="(i, index) in playButtons"
|
|
|
:key="index"
|
|
|
- v-show="
|
|
|
- (i.action == 'play' && !guideIsPlay && mode == 'panorama') ||
|
|
|
- (i.action == 'pause' && guideIsPlay && mode == 'panorama')
|
|
|
- "
|
|
|
+ v-show="(i.action == 'play' && !guideIsPlay && mode == 'panorama') || (i.action == 'pause' && guideIsPlay && mode == 'panorama')"
|
|
|
class="button-item2 button-item"
|
|
|
:class="{ pause: i.action === 'pause' }"
|
|
|
@click.stop="hanlderButtons(i, i.type)"
|
|
|
@@ -384,16 +217,8 @@
|
|
|
</div>
|
|
|
</transition>
|
|
|
<transition name="nextScene">
|
|
|
- <div
|
|
|
- v-show="kanzhanBtnVisible"
|
|
|
- class="button-item"
|
|
|
- @click="goScene('next')"
|
|
|
- >
|
|
|
- <img
|
|
|
- class="normal"
|
|
|
- :src="require('@/assets/image/icon/new-icon/icon_next.svg')"
|
|
|
- alt=""
|
|
|
- />
|
|
|
+ <div v-show="kanzhanBtnVisible" class="button-item" @click="goScene('next')">
|
|
|
+ <img class="normal" :src="require('@/assets/image/icon/new-icon/icon_next.svg')" alt="" />
|
|
|
</div>
|
|
|
</transition>
|
|
|
</div>
|
|
|
@@ -406,13 +231,7 @@
|
|
|
:class="getActive(i.type)"
|
|
|
@click.stop="hanlderButtons(i, i.type)"
|
|
|
v-for="(i, index) in mobileTopBtns"
|
|
|
- v-show="
|
|
|
- mode == 'dollhouse'
|
|
|
- ? ['model', 'realMap'].includes(i.type)
|
|
|
- : openType === 'immersive'
|
|
|
- ? ['immersive'].includes(i.type)
|
|
|
- : !['model', 'realMap'].includes(i.type)
|
|
|
- "
|
|
|
+ v-show="mode == 'dollhouse' ? ['model', 'realMap'].includes(i.type) : openType === 'immersive' ? ['immersive'].includes(i.type) : !['model', 'realMap'].includes(i.type)"
|
|
|
>
|
|
|
<img class="normal" :src="i.normalIcon" alt="" />
|
|
|
<img class="active" :src="i.activeIcon" alt="" />
|
|
|
@@ -427,20 +246,11 @@
|
|
|
>
|
|
|
<template v-for="(i, index) in mobileBottomBtns">
|
|
|
<div
|
|
|
- v-if="
|
|
|
- kanzhanBtnVisible ? i.type == 'controls' : i.type !== 'controls'
|
|
|
- "
|
|
|
+ v-if="kanzhanBtnVisible ? i.type == 'controls' : i.type !== 'controls'"
|
|
|
:key="index"
|
|
|
class="button-item"
|
|
|
- :class="`${getBottomActive(i.type)} ${
|
|
|
- i.action === 'play' && guideIsPlay && 'active pause'
|
|
|
- }`"
|
|
|
- :style="`display:${
|
|
|
- (['hots', 'route'].includes(i.type) && openType == 'immersive') ||
|
|
|
- mode === 'dollhouse'
|
|
|
- ? 'none'
|
|
|
- : 'block'
|
|
|
- };`"
|
|
|
+ :class="`${getBottomActive(i.type)} ${i.action === 'play' && guideIsPlay && 'active pause'}`"
|
|
|
+ :style="`display:${(['hots', 'route'].includes(i.type) && openType == 'immersive') || mode === 'dollhouse' ? 'none' : 'block'};`"
|
|
|
@click.stop="hanlderButtons(i, i.type)"
|
|
|
>
|
|
|
<img class="normal" :src="i.normalIcon" alt="" />
|
|
|
@@ -450,53 +260,20 @@
|
|
|
</div>
|
|
|
</template>
|
|
|
<!-- 音乐按钮 -->
|
|
|
- <transition
|
|
|
- name="fade"
|
|
|
- enter-active-class="animate__animated animate__fadeInUp animate__faster"
|
|
|
- leave-active-class="animate__animated animate__fadeOutDown animate__faster"
|
|
|
- >
|
|
|
- <div
|
|
|
- class="right-btn"
|
|
|
- :class="{ mobile: isMobile, ['show-guide']: showGuide && !isCollapse }"
|
|
|
- >
|
|
|
- <div
|
|
|
- id="bgm"
|
|
|
- class="button-item"
|
|
|
- :class="getActive(i.type)"
|
|
|
- v-for="(i, index) in rightButtons"
|
|
|
- >
|
|
|
- <img
|
|
|
- class="normal"
|
|
|
- id="openMusic"
|
|
|
- :src="i.normalIcon"
|
|
|
- alt=""
|
|
|
- @click="switchBGM(false)"
|
|
|
- />
|
|
|
- <img
|
|
|
- class="active"
|
|
|
- id="closeMusic"
|
|
|
- :src="i.activeIcon"
|
|
|
- alt=""
|
|
|
- @click="switchBGM(true)"
|
|
|
- />
|
|
|
+ <transition name="fade" enter-active-class="animate__animated animate__fadeInUp animate__faster" leave-active-class="animate__animated animate__fadeOutDown animate__faster">
|
|
|
+ <div class="right-btn" :class="{ mobile: isMobile, ['show-guide']: showGuide && !isCollapse }">
|
|
|
+ <div id="bgm" class="button-item" :class="getActive(i.type)" v-for="(i, index) in rightButtons">
|
|
|
+ <img class="normal" id="openMusic" :src="i.normalIcon" alt="" @click="switchBGM(false)" />
|
|
|
+ <img class="active" id="closeMusic" :src="i.activeIcon" alt="" @click="switchBGM(true)" />
|
|
|
<div v-if="!isMobile" class="tip-box">{{ i.name }}</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
</transition>
|
|
|
<transition name="tour">
|
|
|
- <TourList
|
|
|
- :tourList="tourList"
|
|
|
- v-if="openType == 'tour'"
|
|
|
- @close="openType = null"
|
|
|
- >
|
|
|
- </TourList>
|
|
|
+ <TourList :tourList="tourList" v-if="openType == 'tour'" @close="openType = null"> </TourList>
|
|
|
</transition>
|
|
|
- <transition
|
|
|
- name="fade"
|
|
|
- enter-active-class="animate__animated animate__fadeIn animate__faster"
|
|
|
- leave-active-class="animate__animated animate__fadeOut animate__faster"
|
|
|
- >
|
|
|
- <LayerMap v-if="mapVisible" @close="closeLayer"> </LayerMap>
|
|
|
+ <transition name="fade" enter-active-class="animate__animated animate__fadeIn animate__faster" leave-active-class="animate__animated animate__fadeOut animate__faster">
|
|
|
+ <LayerMap v-if="mapVisible" @close="closeLayer" @getPoints="getPoints"> </LayerMap>
|
|
|
</transition>
|
|
|
</div>
|
|
|
</template>
|
|
|
@@ -510,6 +287,8 @@ import Share from "./components/share.vue";
|
|
|
import { directive } from "vue-awesome-swiper";
|
|
|
import "swiper/css/swiper.css";
|
|
|
import { mapGetters, mapMutations } from "vuex";
|
|
|
+import { getExhibitionInfoAPI } from "@/utils/api";
|
|
|
+import common from "@/utils/common";
|
|
|
export default {
|
|
|
components: { HotList, TourList, LayerMap, Guide, Share },
|
|
|
directives: {
|
|
|
@@ -652,9 +431,7 @@ export default {
|
|
|
isCollapse: false,
|
|
|
});
|
|
|
if (!this.tourList.length) {
|
|
|
- this.tourList = window.player
|
|
|
- ? player?.model?.heroLocations
|
|
|
- : [];
|
|
|
+ this.tourList = window.player ? player?.model?.heroLocations : [];
|
|
|
}
|
|
|
} else this.exitImmersive();
|
|
|
},
|
|
|
@@ -707,13 +484,10 @@ export default {
|
|
|
handler(val, old) {
|
|
|
if (val) {
|
|
|
//导览播放
|
|
|
- settings.playTourNearBy
|
|
|
- ? player.director.playTourNearBy()
|
|
|
- : player.director.playTour();
|
|
|
+ settings.playTourNearBy ? player.director.playTourNearBy() : player.director.playTour();
|
|
|
} else {
|
|
|
// 导览结束
|
|
|
- player.director.tourInProgress &&
|
|
|
- (player.director.stopTour(), player.director.endTourProgress());
|
|
|
+ player.director.tourInProgress && (player.director.stopTour(), player.director.endTourProgress());
|
|
|
}
|
|
|
},
|
|
|
},
|
|
|
@@ -746,19 +520,26 @@ export default {
|
|
|
kanzhanBtnVisible: (v) => v.openType === "immersive" || v.showGuide,
|
|
|
},
|
|
|
mounted() {
|
|
|
- let events = [
|
|
|
- "fullscreenchange",
|
|
|
- "webkitfullscreenchange",
|
|
|
- "mozfullscreenchange",
|
|
|
- "MSFullscreenChange",
|
|
|
- ];
|
|
|
+ let events = ["fullscreenchange", "webkitfullscreenchange", "mozfullscreenchange", "MSFullscreenChange"];
|
|
|
events.forEach((item, index) => {
|
|
|
window.addEventListener(item, () => {
|
|
|
this.isFullscreen = !this.isFullscreen;
|
|
|
});
|
|
|
});
|
|
|
-
|
|
|
- let initListener = () => {
|
|
|
+ getExhibitionInfoAPI().then((res) => {
|
|
|
+ let m = common.getURLParam("m") || "";
|
|
|
+ this.sceneNum = m;
|
|
|
+ res.forEach((item, index) => {
|
|
|
+ item.sceneList.forEach((j, j_index) => {
|
|
|
+ if (j.num == m) {
|
|
|
+ this.sceneList = item.sceneList;
|
|
|
+ let info = item.sceneList[j_index];
|
|
|
+ initListener(info);
|
|
|
+ }
|
|
|
+ });
|
|
|
+ });
|
|
|
+ });
|
|
|
+ let initListener = (info) => {
|
|
|
// setTimeout(() => {
|
|
|
// console.error(window.bus)
|
|
|
// }, 100);
|
|
|
@@ -802,7 +583,7 @@ export default {
|
|
|
}
|
|
|
});
|
|
|
|
|
|
- this.getPoints();
|
|
|
+ this.getPoints(info);
|
|
|
let flyInModel = localStorage.getItem("flyInModel") || false;
|
|
|
|
|
|
if (flyInModel) {
|
|
|
@@ -812,7 +593,7 @@ export default {
|
|
|
}
|
|
|
});
|
|
|
};
|
|
|
- initListener();
|
|
|
+
|
|
|
// this.tourList = window.player ? player?.model?.heroLocations : [];
|
|
|
},
|
|
|
methods: {
|
|
|
@@ -835,16 +616,25 @@ export default {
|
|
|
openGuide() {
|
|
|
this.setData({ showGuide: true });
|
|
|
},
|
|
|
- getPoints() {
|
|
|
+ getPoints(info) {
|
|
|
// let w = 633,
|
|
|
// h = 965;
|
|
|
- let w = 665,
|
|
|
- h = 963;
|
|
|
- let points = manage.initMapPanoPos(w, h);
|
|
|
|
|
|
- if (!this.points) {
|
|
|
- this.setData({ points });
|
|
|
+ let w = info?.width || 500,
|
|
|
+ h = info?.height || 920,
|
|
|
+ rotate = info?.rotate || 0;
|
|
|
+ console.log(info?.width, info?.height, info?.rotate, "----------------------------------------");
|
|
|
+ let points = manage.initMapPanoPos(w, h, rotate);
|
|
|
+ console.log(points);
|
|
|
+
|
|
|
+ if (this.points) {
|
|
|
+ Object.keys(this.points).forEach((id) => {
|
|
|
+ if (this.points[id]?.over && points[id]) {
|
|
|
+ points[id].over = true;
|
|
|
+ }
|
|
|
+ });
|
|
|
}
|
|
|
+ this.setData({ points });
|
|
|
},
|
|
|
goScene(type) {
|
|
|
window.tourPlayCtl.go(type === "prev" ? -1 : 1);
|