lanxin 2 miesięcy temu
rodzic
commit
cac6948afb

+ 1 - 1
hot/src/views/Home.vue

@@ -16,7 +16,7 @@
           <!-- <div class="close-btn" @click="hideText = !hideText"><span v-if="hideText">展开</span><span v-else>收起</span></div> -->
           <div class="num" v-if="flooTab.length === 1 && data[myType] && data[myType].length && data[myType].length > 1">{{ myInd + 1 }} / {{ data[myType].length }}</div>
           <div class="flooTxtBox">
-            <div class="myTitle">{{ myTitle }}</div>
+            <div class="myTitle" v-html="myTitle"></div>
             <!-- <div class="line"></div> -->
             <!-- 视频的介绍 -->
             <div class="myTxt" v-if="myType === 'video' && videoTxt[myInd]">

+ 116 - 29
scene/public/static/data/data.json

@@ -8,48 +8,135 @@
         "num": "KJ-CmveHNimLmQ",
         "img": "1.jpg",
         "content": {
-          "title": "",
-          "descs": []
-        },
-        "units": [],
+          "title": "前言",
+          "descs": [
+            "茶起源于中国,盛行于世界。",
+            "传说神农时代,中国人已经认识并利用茶,考古证明人工种植茶树的历史超过六千年。自汉代以来,关于茶的认知和制备方法日趋多样,饮茶不仅发展为日常必需和生活时尚,也成为中国哲学“和合”思想的表现。",
+            "一千多年来,茶从中国走向世界,融入各国人民的生活,不同的文化因素也丰富了中国茶文化的内容。以茶为媒,交融互鉴,茶是承载历史和文化的“中国名片”。",
+            "本展览汇集国内外30余家考古文博单位的藏品,以展示茶文化数千年来发展、普及的历程,及其所蕴涵的天人合一、世界大同的哲学追求。"
+          ]
+        },
+        "units": [
+          {
+            "name": "第一单元",
+            "content": {
+              "title": "茶出中国",
+              "descs": [
+                "茶出中国,源远流长。在浙江发现了已知最早的人工种植茶树根,距今约6000年。山东战国墓葬出土了经过煮(泡)的茶叶遗存,是最古老的饮茶实物证据,距今约2400年。数千年间,种茶技术不断提升,备茶方法也几度变化。历经传承与创新,茶从最初的药用、食用,发展到流行于今的大众饮品,始终在国家政治、经济和文化交流活动中扮演着重要角色。",
+                "中国树叶",
+                "“茶之为饮,发乎神农氏。”伴随农业技术的发展,茶树从最初的野生发展为人工种植,制茶方法不断改进,茶叶生产流程也逐渐完备。文献的记述、图画的描绘、器物的装饰,真实地再现了茶叶由种植、制作到运输、销售等过程,成为解读古代茶叶生产的珍贵“纪录片”。",
+                "九州佳茗",
+                "我国主要产茶区至迟在唐代已基本形成,发展至清代,各地盛产的茶叶品种相对固定,种类多样,精品迭出。历代贡茶汇集各地茶叶名品,以进贡的形式构建起宫廷与地方的交流,既彰显着茶的重要经济价值,又体现了茶与政治制度的关联,更是茶文化的重要内容之一。",
+                "备茶有法",
+                "茶饮千年,备茶之法主要有五种,食茶、煎茶、点茶、煮茶和泡茶。因方法不同,所用茶叶形态、器具组合、步骤繁简等各具特色,一以贯之的是对茶色、形、味的追求,对茶器之美的讲究。唐代以来,备茶方法愈发便捷,饮茶逐渐成为超越生活的艺术体验。"
+              ]
+            }
+          }
+        ],
         "style": {
-          "top": "-12.1%",
-          "left": "-20.3%",
-          "scaleX": "1.45",
-          "scaleY": "1.36"
-        }
+          "top": "6.5%",
+          "left": "19.7%",
+          "scaleX": "1",
+          "scaleY": "1"
+        },
+        "width": 500,
+        "height": 920,
+        "rotate": -90
       },
       {
         "name": "午门",
-        "num": "KJ-2RrIplEXSsg",
+        "num": "KJ-BvlR3HVLQ1C",
         "img": "2.jpg",
         "content": {
-          "title": "",
-          "descs": []
-        },
-        "units": [],
+          "title": "前言",
+          "descs": [
+            "茶起源于中国,盛行于世界。",
+            "传说神农时代,中国人已经认识并利用茶,考古证明人工种植茶树的历史超过六千年。自汉代以来,关于茶的认知和制备方法日趋多样,饮茶不仅发展为日常必需和生活时尚,也成为中国哲学“和合”思想的表现。",
+            "一千多年来,茶从中国走向世界,融入各国人民的生活,不同的文化因素也丰富了中国茶文化的内容。以茶为媒,交融互鉴,茶是承载历史和文化的“中国名片”。",
+            "本展览汇集国内外30余家考古文博单位的藏品,以展示茶文化数千年来发展、普及的历程,及其所蕴涵的天人合一、世界大同的哲学追求。"
+          ]
+        },
+        "units": [
+          {
+            "name": "第二单元",
+            "content": {
+              "title": "茶道尚和",
+              "descs": [
+                "茶道千载,以和为尚。中国人将对人生、家国、自然、宇宙的思考和生活实践相结合,构成茶文化的精神内核。茶与器的讲究,备茶方法的选择,品茗环境的营造,无不贯穿着中国哲学“和合”思想。茶,深深融入了中国人的生活,成为传承中华文化的重要载体。",
+                "茶人茶书",
+                "古人对茶的认识,从实践走向理论。历代茶人著书立说、继承创新,以中国哲学为基础逐步构建了茶文化体系。茶之理,既包括茶、器、水、火等物质要素的相融互济,也包含人与环境、意境、心境的协调统一。道器并重的仪式美感,超然物外的精神向往,汇聚于茶的世界。",
+                "草木之间",
+                "“茶”字拆开,就是“人在草木间”,形象解析了人与自然的关系。从一片树叶到杯中香茗,饮茶将天地山川之物化为生活日用。品茗松间,营建茶舍,对饮茶环境的选择,更是为了达到物我两忘、道法自然的精神境界。",
+                "茶化四海",
+                "对饮茶的接受和需求,增进了历史上中国各地区、各民族、各阶层的交往。饮茶器具、备茶方法日渐趋同,是交流程度不断深化的表现。走马边陲至农耕沃野,日常生活到国家典制,茶都占有重要地位,是中华民族多元一体格局演进的有力见证。"
+              ]
+            }
+          }
+        ],
         "style": {
-          "top": "0%",
-          "left": "0%",
-          "scaleX": "1.45",
-          "scaleY": "1.36"
-        }
+          "top": "36%",
+          "left": "4.4%",
+          "scaleX": "1",
+          "scaleY": "1"
+        },
+        "width": 650,
+        "height": 200,
+        "rotate": 0
       },
       {
         "name": "东雁翅楼",
-        "num": "KJ-bCrCE1lkby9",
+        "num": "KJ-tFrdXMNCWx2",
         "img": "3.jpg",
         "content": {
-          "title": "",
-          "descs": []
-        },
-        "units": [],
+          "title": "前言",
+          "descs": [
+            "茶起源于中国,盛行于世界。",
+            "传说神农时代,中国人已经认识并利用茶,考古证明人工种植茶树的历史超过六千年。自汉代以来,关于茶的认知和制备方法日趋多样,饮茶不仅发展为日常必需和生活时尚,也成为中国哲学“和合”思想的表现。",
+            "一千多年来,茶从中国走向世界,融入各国人民的生活,不同的文化因素也丰富了中国茶文化的内容。以茶为媒,交融互鉴,茶是承载历史和文化的“中国名片”。",
+            "本展览汇集国内外30余家考古文博单位的藏品,以展示茶文化数千年来发展、普及的历程,及其所蕴涵的天人合一、世界大同的哲学追求。"
+          ]
+        },
+        "units": [
+          {
+            "name": "第三单元",
+            "content": {
+              "title": "茶路万里",
+              "descs": [
+                "茶和天下,美美与共。从茶叶产区到无茶之地,茶始终是丝绸之路、茶马古道上流通的重要物资之一。从邻邦到远洋,茶文化在不同时代、不同地域、不同族群中交流互鉴,使世界文明更加丰富多彩。",
+                "茶乳交融",
+                "内地与游牧民族地区以茶易马、以马换茶,茶的传入丰富了游牧民族的营养结构。从高原到草原,茶与酥油、牛乳碰撞、融合,演化出适应不同民族需求的茶饮品种。从无茶到有茶,经由茶路传播、流转,茶将广袤大地上各族人民连接、交融在一起。",
+                "茶香环宇",
+                "随着茶文化影响力的提升,茶走向更广阔的世界。黄沙漫漫,茶一路北上、西行,深入亚欧大陆腹地;帆影点点,串联起输往欧洲、美洲、非洲等地的海上茶路。神奇的中国树叶,是全球最重要的贸易品之一,成为世界性的健康饮品。",
+                "茶风新象",
+                "茶文化在他乡落地生根,萌发新芽,异域茶风汇融,为中国茶文化增添新彩。清代宫廷中既有来自欧美及东亚诸国的各式茶器,也有中国生产仿东洋或西式装饰风格的茶具。这些样式丰富、品类各异的器物,反映出中华文明开放包容的特性。"
+              ]
+            }
+          },
+          {
+            "name": "第四单元",
+            "content": {
+              "title": "茶韵绵长",
+              "descs": [
+                "茶文化是中华优秀传统文化的内容之一,为多样的世界文明增添了独特色彩。历经千年发展,茶伴随着文化交流、科技进步,正以更加丰富多样的形式活跃于世界人民的生活中。茶文化从传统中走来,滋养当代,也必将绽放于未来。",
+                "茶话盛世",
+                "中国茶产业发展举世瞩目,茶叶种植面积和产量稳居世界第一。绿茶、白茶、黄茶、青茶(乌龙茶)、黑茶、红茶,六大基本茶类的划分体系更加科学并成为国际标准。伴随着科学研究的深入,茶的保健作用被广泛关注,越来越多的人知茶、爱茶、品茶,成为传承、弘扬茶文化的践行者。",
+                "茶植各洲",
+                "从唐代开始,茶树栽培由中国走向近邻,并逐渐在世界范围内扩展。时至今日,全球已有60余个国家和地区种植、生产茶叶。中国历代茶典几经刊印,各类茶书被翻译流传,不同国家的学者对茶文化的体悟与研究,又进一步促进了世界各地茶叶种植与生产。",
+                "大众饮品",
+                "茶的饮用方式历经煎、点、煮、泡,由繁至简。在世界人民不断的努力与改进下,茶包、茶粉等更为便利的饮茶形式走进生活,茶类饮食也在日新月异中丰富着人们的味蕾。古茶新事,异彩纷呈。茶香依旧,其韵绵长。"
+              ]
+            }
+          }
+        ],
         "style": {
-          "top": "0%",
-          "left": "0%",
-          "scaleX": "1.45",
-          "scaleY": "1.36"
-        }
+          "top": "22.8%",
+          "left": "18%",
+          "scaleX": "1",
+          "scaleY": "1"
+        },
+        "width": 280,
+        "height": 680,
+        "rotate": 90
       }
     ]
   },

Plik diff jest za duży
+ 47397 - 54838
scene/public/static/js/main_2020_show.js


Plik diff jest za duży
+ 2609 - 2769
scene/public/static/js/manage.js


+ 1 - 1
scene/public/view.html

@@ -4,7 +4,7 @@
     <meta name="viewport"
         content="width=device-width, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0, user-scalable=no, minimal-ui">
     <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
-    <title></title>
+    <title>茶·世界——茶文化特展</title>
     <meta name="description" content="四维时代">
     <meta property="og:title" content="四维时代">
     <meta property="og:description" content="四维时代">

BIN
scene/src/assets/image/map/10.jpg


BIN
scene/src/assets/image/map/6.jpg


BIN
scene/src/assets/image/map/7.jpg


+ 7 - 7
scene/src/views/gui/components/hotList.vue

@@ -16,7 +16,7 @@
     <div class="main">
       <div class="txtNone" v-if="data.length === 0">暂无热点</div>
       <div class="txt" v-else>
-        <span :class="{ active: hotInd === index }" @click="openHot(item, index)" v-for="(item, index) in data" :key="index">{{ item.info.title ? item.info.title : "热点" }}</span>
+        <span :class="{ active: hotInd === index }" @click="openHot(item, index)" v-for="(item, index) in data" :key="index" v-html="item.info.title ? item.info.title : '热点'"></span>
       </div>
     </div>
   </div>
@@ -84,16 +84,16 @@ export default {
   right: 0;
   width: 434px;
   height: 100vh;
-  background: linear-gradient( 131deg, #17140F 0%, #352A1B 100%);
+  background: linear-gradient(131deg, #17140f 0%, #352a1b 100%);
   z-index: 100;
   &::after {
-    content: '';
+    content: "";
     position: absolute;
     top: -12px;
     right: -9px;
     width: 459px;
     height: 100vh;
-    border: 1px solid #D6BC8E;
+    border: 1px solid #d6bc8e;
   }
   .close-btn {
     position: absolute;
@@ -102,7 +102,7 @@ export default {
     width: 54px;
     height: 54px;
     cursor: pointer;
-    background: url('../../../assets/image/icon_close.png') no-repeat center / contain;
+    background: url("../../../assets/image/icon_close.png") no-repeat center / contain;
     z-index: 2;
   }
   .title {
@@ -138,7 +138,7 @@ export default {
     display: flex;
     align-items: center;
     font-size: 16px;
-    
+
     .search-icon {
       width: 21px;
       height: 21px;
@@ -234,7 +234,7 @@ export default {
       right: 32px;
       width: 10px;
       height: 7px;
-      background-image: url('../../../assets/image/icon_down@2x.png');
+      background-image: url("../../../assets/image/icon_down@2x.png");
     }
     .title {
       // height: 236px;

+ 5 - 1
scene/src/views/gui/components/layerMap.vue

@@ -119,6 +119,9 @@ export default {
   //import引入的组件需要注入到对象中才能使用
   components: {},
   // props: ["points"],
+  props: {
+    getPoints: Function,
+  },
   data() {
     //这里存放数据
     return {
@@ -156,8 +159,9 @@ export default {
       this.sceneNum = scene.num;
       this.unit = 0;
       this.info = this.sceneList.find((item) => item.num === scene.num) || {};
-
+      console.log(this.info);
       window.parent.window.setUrl(this.sceneNum);
+      // this.$emit("getPoints", this.info);
     },
     goPano(id) {
       player.blackToPano({ pano: player.model.panos.get(id) });

+ 87 - 297
scene/src/views/gui/menu.vue

@@ -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);