瀏覽代碼

Merge branch 'master' of http://192.168.0.115:3000/chenzhiguang/new_era

xzw 3 年之前
父節點
當前提交
e4a1d8a33e

+ 0 - 2
package.json

@@ -13,10 +13,8 @@
     "core-js": "^3.6.5",
     "dom-to-image": "^2.6.0",
     "qs": "^6.10.1",
-    "swiper": "^5.3.8",
     "v-viewer": "^1.6.4",
     "vue": "^2.6.11",
-    "vue-awesome-swiper": "^4.1.1",
     "vue-infinite-scroll": "^2.0.2",
     "vue-router": "^3.2.0",
     "weixin-js-sdk": "^1.6.0"

+ 8 - 4
public/mobile.html

@@ -86,17 +86,21 @@
       margin-right: 60px;
     }
 
-    @media screen and (max-width: 400px) and (max-height: 700px) {
+
+    @media screen and (max-width: 333px) and (max-height: 569px) {
       .broswertips {
         display: flex;
       }
+      .broswertips .h-con>p{
+        font-size: 16px;
+      }
     }
   </style>
 </head>
 
 <body>
   <script>
-    with(document)with(body)with(insertBefore(createElement("script"),firstChild))setAttribute("exparams","v_id=&aplus&",id="tb-beacon-aplus",src=(location>"https"?"//js":"//js")+".data.cctv.com/__aplus_plugin_cctv.js,aplus_plugin_aplus_u.js")
+    with (document) with (body) with (insertBefore(createElement("script"), firstChild)) setAttribute("exparams", "v_id=&aplus&", id = "tb-beacon-aplus", src = (location > "https" ? "//js" : "//js") + ".data.cctv.com/__aplus_plugin_cctv.js,aplus_plugin_aplus_u.js")
   </script>
 
   <div class="broswertips" id="broswertips">
@@ -104,11 +108,11 @@
       <div class="h-title">
         <img src="./tipsimages/mobile_title.png" alt="" />
       </div>
-      <p>当前屏幕尺寸不兼容,<br/>请使用大屏手机或电脑观看。</p>
+      <p>当前屏幕尺寸不兼容,<br />请使用大屏手机或电脑观看。</p>
     </div>
 
   </div>
-  
+
   <script src="<%= VUE_APP_STATIC_DIR %>/js/lib/jquery-2.1.1.min.js" class="build keep"></script>
 
   <script type="text/javascript" src="https://js.player.cntv.cn/creator/swfobject.js"></script>

+ 49 - 24
public/static/js/lib/lunpan/wsruletts.min.js

@@ -25,7 +25,7 @@ function browserRedirect() {
                 twoQ_ratote_max: "pc" == browserRedirect() ? 63 : 32,
                 threeQ_ratote_max: "pc" == browserRedirect() ? 83 : 40
             },
-            initArea: function (e, n, a, cb = () => { },isIcon=false) {
+            initArea: function (e, n, a, cb = () => { }, isIcon = false) {
                 var r = document.querySelector(e)
                     , o = 0
                     , s = this
@@ -38,7 +38,7 @@ function browserRedirect() {
                     var c = document.createElement("span"),
                         h = document.createElement("a"),
                         div = document.createElement("div");
-                        div.style.backgroundImage = `url(${a[y].icon})`
+                    div.style.backgroundImage = `url(${a[y].icon})`
                     "scene" == n && (a[y].scenename = "scene" + a[y].id);
                     var d = a[y].name
                         , g = d.length;
@@ -46,23 +46,49 @@ function browserRedirect() {
                         d = d.substring(0, this.max_fontcount),
                         t(h).text(d),
                         t(h).bind("click", function (t) {
-                            s.areaClick(t)
-                            cb(t)
+                            if (!window.firstClick) {
+                                s.areaClick(t)
+                                cb(t)
+                                window.firstClick = true
+                            }
+                            try {
+                                if (document.querySelector('#ifr')) {
+                                    if (!document.querySelector('#ifr').contentWindow.player.flying) {
+                                        // s.areaClick(t)
+                                        // cb(t)
+                                        cb(t,s)
+
+                                    }
+                                }
+                            } catch (error) {
+                                error
+                            }
+
                         }),
                         isIcon && c.appendChild(div),
                         isIcon && t(div).bind("click", function (t) {
-                            s.areaClick(t)
-                            cb(t)
+                            try {
+                                if (document.querySelector('#ifr')) {
+                                    if (!document.querySelector('#ifr').contentWindow.player.flying) {
+                                        // s.areaClick(t)
+                                        // cb(t)
+                                        cb(t,s)
+                                    }
+                                }
+                            } catch (error) {
+                                error
+                            }
+
                         }),
                         c.appendChild(h),
                         c.style.webkitTransformOrigin = "50% 100%";
-                        c.style.fontSize='12px'
+                    c.style.fontSize = '12px'
 
                     var l = s._rotate_one
                         , m = 3 * (s.max_fontcount - d.length) / 2;
                     if (y > 0) {
                         var _ = 3 * s.pre_titlelen + 3 * (s.max_fontcount - s.pre_titlelen) / 2;
-                        l = s.pre_rotate + _ + 3 - m + ("pc" == browserRedirect() ?  (n=='two'? 2 : 8) : (isIcon ? 5 : (n=='two'? 3 : 8)))
+                        l = s.pre_rotate + _ + 3 - m + ("pc" == browserRedirect() ? (n == 'two' ? 2 : 8) : (isIcon ? 5 : (n == 'two' ? 3 : 8)))
                     }
                     ".hymenu_industry" == e ? l -= 3 : ".hymenu_sub" == e && (l -= 5),
                         s.pre_rotate = l,
@@ -71,15 +97,15 @@ function browserRedirect() {
                             datarotate: l,
                             "data-typee": n,
                             "data-gid": a[y].id,
-                            "data-isIcon": isIcon ?1:0
+                            "data-isIcon": isIcon ? 1 : 0
 
                         });
-                        isIcon && t(div).attr({
-                            datarotate: l,
-                            "data-typee": n,
-                            "data-gid": a[y].id,
-                            "data-isIcon": 1
-                        });
+                    isIcon && t(div).attr({
+                        datarotate: l,
+                        "data-typee": n,
+                        "data-gid": a[y].id,
+                        "data-isIcon": 1
+                    });
 
                     g > 3 && t(h).addClass("acr" + g),
                         r.appendChild(c),
@@ -110,11 +136,11 @@ function browserRedirect() {
                         radius: 240
                     })) : '',
                 e) {
-                    case ".hymenu" :
+                    case ".hymenu":
                         s.pre_rotate > s.hymenuObj.oneQ_ratote_max && "pc" != browserRedirect() && (s.hymenuObj[e.substr(1) + "_rotate_center"] += 8),
                             this.rotateReset(e.substr(1), 0 - s.hymenuObj[e.substr(1) + "_rotate_center"]);
                         break;
-                    case ".hymenu1" :
+                    case ".hymenu1":
                         this.rotateReset(e.substr(1), 0)
                         break;
                     default:
@@ -143,18 +169,17 @@ function browserRedirect() {
                     , isIcon = t(e.target).attr("data-isIcon")
                     , a = t(e.target).attr("class")
                     , r = t(e.target).parent();
-                console.log(isIcon,'isIconisIcon');
                 if (isIcon == 1) {
                     r = t(e.target).parent()
                     r.addClass("on").siblings().removeClass("on")
                     setTimeout(() => {
                         r.removeClass("on")
                     }, 1000);
-                } else{
-                "char1char2char3char4char5char6".indexOf(a) > -1 && (n = t(e.target).parent().attr("datarotate"),
-                    r = t(e.target).parent().parent()),
-                    this.rotateReset(r.parent().attr("class"), 0 - n),
-                    r.addClass("on").siblings().removeClass("on")
+                } else {
+                    "char1char2char3char4char5char6".indexOf(a) > -1 && (n = t(e.target).parent().attr("datarotate"),
+                        r = t(e.target).parent().parent()),
+                        this.rotateReset(r.parent().attr("class"), 0 - n),
+                        r.addClass("on").siblings().removeClass("on")
                 }
 
             },
@@ -289,7 +314,7 @@ function browserRedirect() {
                         n < t._Rouslette.hymenuObj.oneQ_ratote_max && t._Rouslette.rotateReset("hymenu_area", 0 - t._Rouslette.hymenuObj.hymenu_rotate_center)
                     }
                 }),
-               
+
                     t(".hymenu_industry").on({
                         touchstart: function (n) {
                             e.startX = n.originalEvent.changedTouches[0].pageX,

+ 2 - 1
public/static/js/manage.js

@@ -1,6 +1,7 @@
 var g_ProjectName = window.location.pathname.substring(window.location.pathname.indexOf("/") + 1, window.location.pathname.lastIndexOf("/"));
 var g_Prefix = "https://super.4dage.com/";
-// var g_Prefix = "https://culture.4dage.com/";
+// http://wangzhan.cctv.com/wlwm2022/test/data/1248
+// var g_Prefix = "https://wangzhan.cctv.com/wlwm2022/test/";
 
 // var g_Prefix=window.location.href.substring(0,window.location.href.indexOf("/index.html")+1);
 var s = window.location.href.split("/");

+ 0 - 1
src/clients/mobile.vue

@@ -71,7 +71,6 @@ export default {
   },
   watch: {
     "$route.name": function(newVal) {
-      console.log(newVal, "newValnewValnewValnewVal");
       this.$bus.$emit("toggleBGM", newVal == "scene");
       // newVal !='scene' ? this.$refs.vgbgm.pause() : this.$refs.vgbgm.play();
     },

+ 2 - 0
src/components/bird_view/build.js

@@ -1,6 +1,7 @@
 import Vue from "vue";
 import UIBirdView from "./index.vue";
 
+
 let BirdView = Vue.extend(UIBirdView);
 
 var birdviewInstance = "";
@@ -28,6 +29,7 @@ export function $showBirdView(data = {}) {
 
 export function $hideBirdView() {
   if (birdviewInstance) {
+    new Vue().$bus.$emit("noMode", false);
     document.body.removeChild(birdviewInstance.$el);
     birdviewInstance = "";
     if ( window.player &&(window.player.mode == "panorama")) {

+ 37 - 29
src/components/bird_view/index.vue

@@ -8,27 +8,26 @@
 
     <div class="modelcon">
       <img :src="require(`@/assets/images/proj2022/model.png`)" alt="" />
-      <div class="tag" v-for="(item, i) in tags" :key="i" :style="{top:item.top,left:item.left,width:item.width,height:item.height}">
-        <img @click="onClick(item)" :src="require(`@/assets/images/proj2022/bird_view/${item.eng}${currentId==item.id?'_acitve':''}.svg`)" alt="" />
+      <div class="tag" v-for="(item, i) in tags" :key="i" :style="{ top: item.top, left: item.left, width: item.width, height: item.height }">
+        <img @click="onClick(item)" :src="require(`@/assets/images/proj2022/bird_view/${item.eng}${currentId == item.id ? '_acitve' : ''}.svg`)" alt="" />
       </div>
     </div>
-    <roundMenu :noMode="true" />
+    <!-- <roundMenu :noMode="true" /> -->
   </div>
 </template>
 
 <script>
+import Vue from "vue";
 import { region } from "@/data/raw.js";
 import { Booth } from "@/data/booth.js";
-import router from "@/router";
-import roundMenu from "../menu/index.vue";
 
+// import roundMenu from "../menu/index.vue";
 
-let bb = []
-
-Booth.forEach(item=>{
-  bb = bb.concat(item.company)
-})
+let bb = [];
 
+Booth.forEach((item) => {
+  bb = bb.concat(item.company);
+});
 
 export default {
   data() {
@@ -36,26 +35,37 @@ export default {
       show: true,
       hideClose: false,
       themescene: "",
-      tags:bb,
-      currentId:''
+      tags: bb,
+      currentId: "",
     };
   },
-  components:{roundMenu},
+  watch: {
+    show: {
+      deep: true,
+      immediate: true,
+      handler: function(newVal) {
+        this.$bus.$emit("noMode", newVal);
+      },
+    },
+  },
+  // components:{roundMenu},
   methods: {
     close() {
       this.$hideBirdView();
     },
     onClick(data) {
-      this.currentId = data.id
+      this.currentId = data.id;
       let player = window.player;
       if (!player) {
-        router.push({
-          name: "scene",
-          params: { type: 1, isjump: "yes" },
+        this.$bus.$emit("resetCurrentTheme");
+
+        this.$bus.$emit("ifrMessage", {
+          events: "flyToPano",
+          data: data,
         });
         setTimeout(() => {
           this.close();
-        }, 300);
+        }, 1000);
         return;
       }
 
@@ -75,7 +85,7 @@ export default {
       setTimeout(() => {
         fn();
         this.close();
-        this.currentId = ''
+        this.currentId = "";
       }, 300);
     },
   },
@@ -89,7 +99,7 @@ export default {
   top: 0;
   width: 100%;
   height: 100%;
-  z-index: 99999;
+  z-index: 4001;
   background-size: cover;
   background-position: left top;
   background-repeat: no-repeat;
@@ -118,25 +128,25 @@ export default {
       // background: rgba(0, 0, 0, 0.5);
       // width: 10%;
       height: 15%;
-      &:hover{
-        >img{
+      &:hover {
+        > img {
           display: inline-block;
           width: 9vw;
           position: absolute;
           left: 50%;
-          transform: translate(-50%,-50%);
+          transform: translate(-50%, -50%);
           top: 10%;
         }
       }
 
-      &:first-of-type{
+      &:first-of-type {
         top: 17%;
         left: 6%;
         width: 45%;
         height: 49%;
-        clip-path: polygon(0 40%,70% 0%, 100% 50%,25% 100%);
-         &:hover{
-          >img{
+        clip-path: polygon(0 40%, 70% 0%, 100% 50%, 25% 100%);
+        &:hover {
+          > img {
             top: 40%;
           }
         }
@@ -150,10 +160,8 @@ export default {
   }
 
   .birdview_ipad {
-   
   }
   .birdview_pad_notlandscape {
-   
   }
 }
 </style>

+ 2 - 18
src/components/hotspot/iframe.vue

@@ -40,14 +40,10 @@
 </template>
 
 <script>
-import { directive } from "vue-awesome-swiper";
-// import style (<= Swiper 5.x)
-import "swiper/css/swiper.css";
+
 
 export default {
-  directives: {
-    swiper: directive,
-  },
+  
   props: ["hotspot", "type"],
   data() {
     return {
@@ -73,18 +69,6 @@ export default {
     },
   },
   computed: {
-    swiperOption() {
-      return {
-        slidesPerView: "auto",
-        autoplay: false,
-        centeredSlides: true,
-        watchSlidesProgress: true,
-        loop: this.hotspot.iframe.length > 1,
-        pagination: {
-          el: ".swiper-pagination",
-        },
-      };
-    },
   },
 };
 </script>

+ 1 - 6
src/components/hotspot/video.vue

@@ -43,14 +43,9 @@
 </template>
 
 <script>
-import { directive } from "vue-awesome-swiper";
-// import style (<= Swiper 5.x)
-import "swiper/css/swiper.css";
 
 export default {
-  directives: {
-    swiper: directive,
-  },
+
   props: ["hotspot", "type"],
   data() {
     return {

+ 149 - 70
src/components/menu/index.vue

@@ -12,9 +12,9 @@
 
         <div class="hymenu1" id="hymenu_area1"></div>
       </div>
-      <div class="micon" v-if="!isMobile ">
+      <div class="micon" v-if="!isMobile">
         <div v-if="!noMode" @click="changeMode('floorplan')">
-          <div :class="{iactive:mode=='floorplan'}" :style="{ backgroundImage: `url(${require(`@/assets/images/proj2022/xueliezhen/floor.png`)})` }"></div>
+          <div :class="{ iactive: mode == 'floorplan' }" :style="{ backgroundImage: `url(${require(`@/assets/images/proj2022/xueliezhen/floor.png`)})` }"></div>
           <span>平面</span>
         </div>
         <section>
@@ -27,7 +27,10 @@
           <!-- <img @click="isShow = !isShow" :src="require(`@/assets/images/proj2022/icon/menu${isShow ? '_active' : ''}@2x.png`)" alt="" /> -->
         </section>
         <div v-if="!noMode" @click="changeMode('dollhouse')">
-          <div :class="{iactive:mode=='dollhouse'}" :style="{ backgroundImage: `url(${require(`@/assets/images/proj2022/xueliezhen/dollhouse.png`)})` }"></div>
+          <div
+            :class="{ iactive: mode == 'dollhouse' }"
+            :style="{ backgroundImage: `url(${require(`@/assets/images/proj2022/xueliezhen/dollhouse.png`)})` }"
+          ></div>
           <span>三维</span>
         </div>
       </div>
@@ -45,6 +48,13 @@
 
 <script>
 import { supCount } from "@/config/api";
+import { Booth } from "@/data/booth.js";
+
+let bbtmp = [];
+
+Booth.forEach((item) => {
+  bbtmp = bbtmp.concat(item.company);
+});
 
 let ttt = [
   {
@@ -55,44 +65,68 @@ let ttt = [
   {
     id: "search",
     name: "搜索",
+    maidiancode: "m_func8",
     icon: "search",
   },
   {
     id: "play",
     name: "导览",
+    maidiancode: "m_func7",
     icon: "play_pause",
   },
   {
     id: "like",
     name: "点赞",
+    maidiancode: "m_func1",
     icon: "like",
   },
   {
     id: "message",
     name: "留言",
     icon: "message",
+    maidiancode: "m_func2",
     cp: "vcontent",
   },
   {
     id: "share",
     name: "分享",
     icon: "share",
+    maidiancode: "m_func3",
     cp: "qrcode",
   },
 ].map((item) => {
   return { ...item, icon: require(`@/assets/images/proj2022/xueliezhen/${item.icon}.png`) };
 });
+
 export default {
-  props:['noMode'],
+  props: ["currentTheme", "currentZhanqu"],
   data() {
     return {
       isShow: true,
       list: ttt,
       isShowGood: false,
-      mode:''
+      isCanClick: false,
+      mode: "",
+      noMode: true,
     };
   },
   watch: {
+    currentTheme(newVal) {
+      console.log(newVal, "currentTheme");
+      if (!this.noMode) {
+        window.noFlyToPano = true;
+        $(".hymenu a[data-gid=" + newVal.id + "]").click();
+      }
+    },
+    currentZhanqu(newVal) {
+      console.log(newVal, "currentZhanqu");
+      if (newVal) {
+        if (!this.noMode) {
+          window.noFlyToPano = true;
+          $(".hymenu_industry a[data-gid=" + newVal.id + "]").click();
+        }
+      }
+    },
     isShow(newVal) {
       $("#hycontrolBtn").toggleClass("hideed sf");
       $(".pano_bottom_item").toggleClass("onhide");
@@ -106,9 +140,7 @@ export default {
   },
   methods: {
     dianzan() {
-      console.log(this.isShowGood, "jinlai");
       if (this.isShowGood) return;
-      console.log(1111);
       this.isShowGood = true;
       setTimeout(() => {
         this.isShowGood = false;
@@ -116,80 +148,127 @@ export default {
       supCount(() => {});
     },
     changeMode(mode) {
-      this.mode = mode
+      this.mode = mode;
       setTimeout(() => {
-        this.mode = ''
+        this.mode = "";
       }, 1000);
       document.querySelector("#ifr").contentWindow.player.director.changeMode(mode);
     },
   },
   mounted() {
-    this.$nextTick(()=>{
+    this.$nextTick(() => {
+      this.$bus.$on("noMode", (data) => {
+        this.noMode = data;
+      });
+
       this.oneData = [
-      {
-        id: "all",
-        name: "总导览",
-        company: [],
-      },
-      ...this.themes,
-    ];
-    $._Rouslette.initArea(".hymenu", "one", this.oneData, (data) => {
-      let currentid = $(data.currentTarget).attr("data-gid");
-      let typee = $(data.currentTarget).attr("data-typee");
-      let ttt = this.oneData.find((item) => item.id == currentid);
-
-      if (ttt.company.length > 0 && ttt.company&& typee == "one") {
-        if (ttt.company[0].id == '1_1') {
-          return
-        }
-        $(".hymenu_industry").empty();
-        $(".hyrlbg_ind").removeClass("height0");
-
-        $._Rouslette.initArea(".hymenu_industry", "two", ttt.company, (data2) => {
-          console.log(data2);
-        });
-
-        setTimeout(() => {
-          $(".hymenu_industry a[data-gid=" + ttt.company[0].id + "]").click();
-        }, 200);
-      } else {
-        $(".hymenu_industry").addClass("height0");
-        $(".hyrlbg_ind").addClass("height0");
-      }
-    });
+        {
+          id: "all",
+          name: "总导览",
+          company: [],
+        },
+        ...this.themes,
+      ];
+      $._Rouslette.initArea(".hymenu", "one", this.oneData, (data, ctx) => {
+        let currentid = $(data.currentTarget).attr("data-gid");
+        let typee = $(data.currentTarget).attr("data-typee");
+        let ttt = this.oneData.find((item) => item.id == currentid);
 
-    this.isMobile &&
-      $._Rouslette.initArea(
-        ".hymenu1",
-        "one",
-        this.list,
-        (data) => {
-          let currentid = $(data.currentTarget).attr("data-gid");
-          let item = this.list.find((ii) => ii.id == currentid);
-          if (item.id == "like") {
-            this.dianzan();
-            return;
+        ctx && ctx.areaClick(data);
+
+        if (ttt.company.length > 0 && ttt.company && typee == "one") {
+          if (this.isMobile) {
+            this.$emit("toggleBirdView", false);
+          } else {
+            this.$hideBirdView();
           }
-          item.path && this.$router.push(item.path);
-          item.cp && this.$bus.$emit("opencp", item.cp);
-          if (item.id == "search") {
-            this.$emit("showSearch", true);
+          if (window.goldlog) {
+            if (!this.isMobile) {
+              window.goldlog.record(`/p_area${currentid}`, "", `snsScene=p_area${currentid}&product=pcweb&pagename=中国网络文明建设成果展云展示`, "");
+            } else {
+              window.goldlog.record(`/m_area${currentid}`, "", `snsScene=m_area${currentid}&product=mobh5&pagename=中国网络文明建设成果展云展示`, "");
+            }
           }
-          if (item.id == "play") {
-            this.$emit("play");
+          if (ttt.company[0].id == "1_1") {
+            $(".hymenu_industry").addClass("height0");
+            $(".hyrlbg_ind").addClass("height0");
+            !window.noFlyToPano &&
+              this.$bus.$emit("ifrMessage", {
+                events: "flyToPano",
+                data: ttt.company[0],
+              });
+            window.noFlyToPano = false;
+            return;
           }
-          if (item.id == "clear") {
-            this.$bus.$emit("toggleClear", true);
+          $(".hymenu_industry").empty();
+          $(".hyrlbg_ind").removeClass("height0");
+
+          $._Rouslette.initArea(".hymenu_industry", "two", ttt.company, (data2, ctx2) => {
+            let currentid = $(data2.currentTarget).attr("data-gid");
+            let ttt = bbtmp.find((item) => item.id == currentid);
+            ctx2 && ctx2.areaClick(data2);
+
+            !window.noFlyToPano &&
+              this.$bus.$emit("ifrMessage", {
+                events: "flyToPano",
+                data: ttt,
+              });
+            window.noFlyToPano = false;
+          });
+
+          // setTimeout(() => {
+          // console.log(this.currentZhanqu,'currentZhanqu');
+          // if (this.currentZhanqu) {
+
+          // }
+          // !window.noFlyToPano && $(".hymenu_industry a[data-gid=" + ttt.company[0].id + "]").click();
+          // }, 500);
+        } else {
+          $(".hymenu_industry").addClass("height0");
+          $(".hyrlbg_ind").addClass("height0");
+          if (this.isMobile) {
+            this.$emit("toggleBirdView", true);
+          } else {
+            this.$showBirdView();
           }
-        },
-        true
-      );
-
-    setTimeout(() => {
-      $(".hymenu a[data-gid=" + this.oneData[0].id + "]").click();
-      $._Rouslette.bindingTouch();
-    }, 200);
-    })
+          this.$emit("resetCurrentTheme");
+        }
+      });
+
+      this.isMobile &&
+        $._Rouslette.initArea(
+          ".hymenu1",
+          "one",
+          this.list,
+          (data) => {
+            let currentid = $(data.currentTarget).attr("data-gid");
+            let item = this.list.find((ii) => ii.id == currentid);
+            item.maidiancode &&
+              window.goldlog.record(`/${item.maidiancode}`, "", `snsScene=${item.maidiancode}&product=mobh5&pagename=中国网络文明建设成果展云展示`, "");
+            if (item.id == "like") {
+              this.dianzan();
+              return;
+            }
+            item.path && this.$router.push(item.path);
+            item.cp && this.$bus.$emit("opencp", item.cp);
+            if (item.id == "search") {
+              this.$emit("showSearch", true);
+            }
+            if (item.id == "play") {
+              this.$emit("play");
+            }
+            if (item.id == "clear") {
+              this.$bus.$emit("toggleClear", true);
+            }
+          },
+          true
+        );
+
+      setTimeout(() => {
+        $._Rouslette.bindingTouch();
+        $(".hymenu a[data-gid=" + this.oneData[0].id + "]").click();
+      }, 200);
+    });
   },
 };
 </script>
@@ -200,7 +279,7 @@ export default {
   left: 0;
   width: 100%;
   transition: bottom 0.1s linear 50ms;
-  z-index: 4002;
+  z-index: 4003;
   bottom: -100px;
 }
 #hycontrolBtn {

+ 108 - 77
src/data/booth.js

@@ -7,9 +7,9 @@ let Booth = [
         name: "综合展区", //展项名
         eng: 'zonghe',//总导览
         id: "1_1", //標識符
-        firstView: "&firstView=pano:46,qua:0.000008573752468985552,0.9999308860260122,0.011733852118057539,-0.0007306347562164976", //初始視角
-        panoId: "46",
-        containPanos: ["46", "48"]
+        firstView: "&firstView=pano:0,qua:0.006532994615897772,-0.0025274544617692302,0.000016512252212974678,0.9999754723878731", //初始視角
+        panoId: "0",
+        containPanos: []
       }
     ],
   },
@@ -25,9 +25,9 @@ let Booth = [
         left: '64%',
         width: '5%',
         height: '8%',
-        firstView: "&firstView=pano:46,qua:0.000008573752468985552,0.9999308860260122,0.011733852118057539,-0.0007306347562164976", //初始視角
-        panoId: "46",
-        containPanos: ["46", "48"]
+        firstView: "&firstView=pano:236,qua:0.003480801832936312,0.9128715630672547,-0.007785040536549504,0.4081578044626181", //初始視角
+        panoId: "236",
+        containPanos: ["236","237","238","239","240","241","242","243","244","251","252"]
       },
       {
         name: "天津市",
@@ -37,8 +37,9 @@ let Booth = [
         left: "49%",
         width: "9%",
         height: "14%",
-        firstView: "&firstView=pano:45,qua:0.000008573752468985552,0.9999308860260122,0.011733852118057539,-0.0007306347562164976", //初始視角
-        panoId: "45", //对应点位id
+        firstView: "&firstView=pano:66,qua:0.0017518034285941132,-0.6940206521715635,0.0016887091883557755,0.7199509812968947", //初始視角
+        panoId: "66", //对应点位id
+        containPanos: ["65","66","77","78","79","80","81","82","83","84","85","86","87","88","89","90","91","92","93","94","95","96","97","98","99","100","58","255","256","180"]
       },
       {
         name: "河北省",
@@ -48,8 +49,9 @@ let Booth = [
         left: "59.8%",
         width: "4%",
         height: "6%",
-        firstView: "&firstView=pano:44,qua:0.000008573752468985552,0.9999308860260122,0.011733852118057539,-0.0007306347562164976", //初始視角
-        panoId: "44", //对应点位id
+        firstView: "&firstView=pano:135,qua:0.015705148645611147,0.4683450309904384,-0.00832658487331569,0.8833668158516297", //初始視角
+        panoId: "135", //对应点位id
+        containPanos: ["135","116","117","118","119","120","121","122"]
       },
       {
         name: "内蒙古自治区",
@@ -59,8 +61,9 @@ let Booth = [
         left: "63.5%",
         width: "3%",
         height: "5%",
-        firstView: "&firstView=pano:43,qua:0.000008571122938065396,0.9999308860260122,0.011733852118057539,-0.0007304106703383456", //初始視角
-        panoId: "43", //对应点位id
+        firstView: "&firstView=pano:115,qua:-0.002914860969113398,-0.2571845563680906,-0.0007757554987742462,0.9663575995125463", //初始視角
+        panoId: "115", //对应点位id
+        containPanos: ["115","123","124","125","126","127","128","129","130","131","132","133","134"]
       },
       {
         name: "吉林省",
@@ -70,8 +73,9 @@ let Booth = [
         left: "54.5%",
         width: "5%",
         height: "6%",
-        firstView: "&firstView=pano:42,qua:0.000008571122938065396,0.9999308860260122,0.011733852118057539,-0.0007304106703383456", //初始視角
-        panoId: "42", //对应点位id
+        firstView: "&firstView=pano:102,qua:0.013932276076966083,0.4941965139219505,-0.007921379021369674,0.8692024723293211", //初始視角
+        panoId: "102", //对应点位id
+        containPanos: ["101","102","103","104","105","106","107","108"]
       },
       {
         name: "上海市",
@@ -81,8 +85,9 @@ let Booth = [
         left: "42.5%",
         width: "5.5%",
         height: "7%",
-        firstView: "&firstView=pano:252,qua:-0.000029542539060095423,0.9999701003730707,0.005871104066020629,0.005031703310290417", //初始視角
-        panoId: "252", //对应点位id
+        firstView: "&firstView=pano:59,qua:0.03169251111651029,0.3489621532260752,-0.011809051306773477,0.9365263094574586", //初始視角
+        panoId: "59", //对应点位id
+        containPanos: ["59","60","61","62","63","64"]
       },
       {
         name: "江苏省",
@@ -92,8 +97,9 @@ let Booth = [
         left: "57.5%",
         width: "4.5%",
         height: "3%",
-        firstView: "&firstView=pano:253,qua:0.0007327537415076357,0.004025118373349278,-0.0000029494450773542635,0.999991625512343", //初始視角
-        panoId: "253", //对应点位id
+        firstView: "&firstView=pano:109,qua:-0.01996445240366129,-0.8385737467156694,-0.030800587867370395,0.5435501800251524", //初始視角
+        panoId: "109", //对应点位id
+        containPanos: ["109","110","111","112","113","114","154"]
       },
       {
         name: "浙江省",
@@ -103,8 +109,9 @@ let Booth = [
         left: "58.5%",
         width: "6.5%",
         height: "4%",
-        firstView: "&firstView=pano:35,qua:0.0008051478873228614,0.9990419999502163,-0.020936189126614244,0.03842038747738255", //初始視角
-        panoId: "35", //对应点位id
+        firstView: "&firstView=pano:152,qua:-0.015383547760863333,0.41634202930798503,0.007045611591242512,0.909050617828818", //初始視角
+        panoId: "152", //对应点位id
+        containPanos: ["151","152","153","155","156","157","158","159","138","139"]
       },
       {
         name: "安徽省",
@@ -114,8 +121,9 @@ let Booth = [
         left: "65.5%",
         width: "3.5%",
         height: "3%",
-        firstView: "&firstView=pano:34,qua:0.0024819973319009274,0.00170715386492433,-0.000004237170868680865,0.9999954625861223", //初始視角
-        panoId: "34", //对应点位id
+        firstView: "&firstView=pano:136,qua:0.0005441737929696521,-0.4030780506128982,0.00023967744959056323,0.9151654069731247", //初始視角
+        panoId: "136", //对应点位id
+        containPanos: ["136","137","140","142","143"]
       },
       {
         name: "福建省",
@@ -125,8 +133,9 @@ let Booth = [
         left: "70.5%",
         width: "6.5%",
         height: "9%",
-        firstView: "&firstView=pano:11,qua:-0.000004979391582824602,0.9999611966234002,0.008790544472961605,0.0005664266413612912", //初始視角
-        panoId: "11", //对应点位id
+        firstView: "&firstView=pano:245,qua:-0.003274955728200214,-0.6752050139260394,-0.002997852722455059,0.7376167660044172", //初始視角
+        panoId: "245", //对应点位id
+        containPanos: ["245","235","234","280","246","248","247","249","267"]
       },
       {
         name: "江西省",
@@ -136,8 +145,9 @@ let Booth = [
         left: "61.5%",
         width: "6.5%",
         height: "7%",
-        firstView: "&firstView=pano:33,qua:-0.0042551581213262175,0.7140890474997224,0.004340625674549074,0.7000284977177377", //初始視角
-        panoId: "33", //对应点位id
+        firstView: "&firstView=pano:141,qua:-0.012069343265410443,0.9232530961623906,-0.029101874252052108,-0.38289832451349354", //初始視角
+        panoId: "141", //对应点位id
+        containPanos: ["141","150","160","161","162","163","164","165","178"]
       },
       {
         name: "河南省",
@@ -147,8 +157,9 @@ let Booth = [
         left: "69%",
         width: "5%",
         height: "6%",
-        firstView: "&firstView=pano:37,qua:0.022789287604587313,-0.7037559633518639,0.022597890040656453,0.7097165067046851", //初始視角
-        panoId: "37", //对应点位id
+        firstView: "&firstView=pano:177,qua:0.02877847579847971,-0.833411884839266,0.04359373957977583,0.5501781773768091", //初始視角
+        panoId: "177", //对应点位id
+        containPanos: ["177","186","185","184","183","182","181","179"]
       },
       {
         name: "湖北省",
@@ -158,8 +169,9 @@ let Booth = [
         left: "71%",
         width: "6%",
         height: "7%",
-        firstView: "&firstView=pano:37,qua:0.0008321838077567449,0.7063766021395119,-0.0008304689962190371,0.7078352257826168", //初始視角
-        panoId: "37", //对应点位id
+        firstView: "&firstView=pano:170,qua:-0.0003362832582110284,0.9725023247438509,-0.001404259904263288,-0.2328886956178834", //初始視角
+        panoId: "170", //对应点位id
+        containPanos: ["170","200","193","194","195","196","197","198","199","202","203","204"]
       },
       {
         name: "湖南省",
@@ -169,8 +181,9 @@ let Booth = [
         left: "74%",
         width: "7%",
         height: "6%",
-        firstView: "&firstView=pano:38,qua:0.013675594909193534,-0.7092311840325759,0.013763353926503803,0.7047089264933728", //初始視角
-        panoId: "38", //对应点位id
+        firstView: "&firstView=pano:201,qua:0.0029048018499625685,0.8949376478266332,0.00582685882339346,-0.44614371035335953", //初始視角
+        panoId: "201", //对应点位id
+        containPanos: ["201","209","210","208","207","206","205","212"]
       },
       {
         name: "广东省",
@@ -180,8 +193,9 @@ let Booth = [
         left: "64.5%",
         width: "6%",
         height: "10%",
-        firstView: "&firstView=pano:41,qua:-0.004180317107569912,0.0007811191480275849,0.000003265355142176373,0.9999909624048968", //初始視角
-        panoId: "41", //对应点位id
+        firstView: "&firstView=pano:259,qua:0.048112694757082616,-0.7343050161729677,0.052333092612867796,0.6750870678299076", //初始視角
+        panoId: "259", //对应点位id
+        containPanos: ["259","266","268","269","282","270","271","272","279","277","278","273","274","276","275"]
       },
       {
         name: "广西壮族自治区",
@@ -191,8 +205,9 @@ let Booth = [
         left: "68%",
         width: "4%",
         height: "7%",
-        firstView: "&firstView=pano:40,qua:0.000052140995665340186,0.9998292851761683,-0.018254779435352753,0.0028558051954074874", //初始視角
-        panoId: "40", //对应点位id
+        firstView: "&firstView=pano:144,qua:0.0007652023854567885,-0.20078252569831934,0.0001568330891578431,0.9796355305200983", //初始視角
+        panoId: "144", //对应点位id
+        containPanos: ["144","145","146","147","148","149","166"]
       },
       {
         name: "海南省",
@@ -202,8 +217,9 @@ let Booth = [
         left: "74.5%",
         width: "5%",
         height: "6%",
-        firstView: "&firstView=pano:39,qua:0.0005088012803304992,-0.005300688276300589,0.000002697035184058805,0.9999858214446085", //初始視角
-        panoId: "39", //对应点位id
+        firstView: "&firstView=pano:168,qua:-0.006825949091149443,-0.2944266006273781,-0.002103015210066327,0.9556474061688144", //初始視角
+        panoId: "168", //对应点位id
+        containPanos: ["167","168","169","172","173","174","175","176"]
       },
       {
         name: "重庆市",
@@ -213,8 +229,9 @@ let Booth = [
         left: "48.5%",
         width: "6%",
         height: "7%",
-        firstView: "&firstView=pano:29,qua:0.000003267642326857386,0.9999890103332332,-0.0007051289796993886,0.004634055012976399", //初始視角
-        panoId: "29", //对应点位id
+        firstView: "&firstView=pano:75,qua:0.0036390761677028245,0.5747701651204852,-0.0025560617170463885,0.8183027989899166", //初始視角
+        panoId: "75", //对应点位id
+        containPanos: ["67","68","69","70","71","72","73","74","75","76"]
       },
       {
         name: "四川省",
@@ -224,8 +241,9 @@ let Booth = [
         left: "57%",
         width: "7%",
         height: "10%",
-        firstView: "&firstView=pano:10,qua:-0.011229794113929619,-0.001027644638310828,-0.000011540971869671586,0.9999364221746965", //初始視角
-        panoId: "10", //对应点位id
+        firstView: "250,qua:0.01855666637790445,0.9174358281943414,-0.04308831642538874,0.3951082848826133", //初始視角
+        panoId: "250", //对应点位id
+        containPanos: ["250","265","264","260","263","261","262","253"]
       },
       {
         name: "贵州省",
@@ -235,8 +253,9 @@ let Booth = [
         left: "78%",
         width: "4%",
         height: "5%",
-        firstView: "&firstView=pano:14,qua:0.0003244100323747213,0.9996111083826239,-0.013203928762952642,0.024559650899512012", //初始視角
-        panoId: "14", //对应点位id
+        firstView: "&firstView=pano:171,qua:0.0017824102765913096,-0.5428442474929757,0.0011521026168594861,0.8398307133926982", //初始視角
+        panoId: "171", //对应点位id
+        containPanos: ["171","188","189","190","191","192","187"]
       },
       {
         name: "西藏自治区",
@@ -246,8 +265,9 @@ let Booth = [
         left: "80%",
         width: "5.5%",
         height: "6%",
-        firstView: "&firstView=pano:13,qua:-0.007354468905718395,0.001185099239895469,0.000008716017785730619,0.9999722536529273", //初始視角
-        panoId: "13", //对应点位id
+        firstView: "&firstView=pano:211,qua:0.039443998090233995,0.0030299771643679933,-0.00011960804550374027,0.9992171814692207", //初始視角
+        panoId: "211", //对应点位id
+        containPanos: ["211","213","215","216","217","218","214"]
       },
       {
         name: "陕西省",
@@ -257,8 +277,9 @@ let Booth = [
         left: "84.5%",
         width: "5.5%",
         height: "8%",
-        firstView: "&firstView=pano:20,qua:0.01681974220027958,0.7063827280553,-0.016794821220839577,0.7074308975815773", //初始視角
-        panoId: "20", //对应点位id
+        firstView: "&firstView=pano:227,qua:-0.021999243522644072,-0.3564400185837194,-0.008395322245446445,0.9340214487820174", //初始視角
+        panoId: "227", //对应点位id
+        containPanos: ["227","220","219","224","221","223","222"]
       },
       {
         name: "新疆维吾尔自治区",
@@ -268,8 +289,9 @@ let Booth = [
         left: "79%",
         width: "5.5%",
         height: "8%",
-        firstView: "&firstView=pano:21,qua:0.015077515143250472,0.7045052805028004,-0.014973894367882941,0.7093805471882944", //初始視角
-        panoId: "21", //对应点位id
+        firstView: "&firstView=pano:225,qua:-0.005264758340658099,0.9570338580037607,-0.017410027490639735,-0.28940517422823686", //初始視角
+        panoId: "225", //对应点位id
+        containPanos: ["225","226","230","231","232","229","228","233","281"]
       }
     ],
   },
@@ -280,103 +302,112 @@ let Booth = [
       {
         name: "人民网",
         eng: 'renminwang',//总导览
-        id: "two_1", //標識符
+        id: "3_1", //標識符
         top: "55%",
         left: "53%",
         width: "8%",
         height: "13%",
-        firstView: "&firstView=pano:59,qua:-7.014088082065902e-9,0.9999997317790625,-0.00000950885605950692,-0.0007376372464369568", //初始視角
-        panoId: "59", //对应点位id
+        firstView: "&firstView=pano:283,qua:0.014537068999790128,-0.7680885717259085,0.017448109618183792,0.6399407716116632", //初始視角
+        panoId: "283", //对应点位id
+        containPanos: ["283","292","296","295","294","297","293","300","298"]
       },
       {
         name: "新华网",
         eng: 'xinhuawang',//总导览
-        id: "two_2", //標識符
+        id: "3_2", //標識符
         top: "43%",
         left: "48%",
         width: "7%",
         height: "11%",
-        firstView: "&firstView=pano:58,qua:-7.014088082065902e-9,0.9999997317790625,-0.00000950885605950692,-0.0007376372464369568", //初始視角
-        panoId: "58", //对应点位id
+        firstView: "&firstView=pano:291,qua:-0.005812432166942927,0.6048800050224513,0.00441529351180508,0.7962831842702823", //初始視角
+        panoId: "291", //对应点位id
+        containPanos: ["291","258","257","284","285","286","287","290","288","306","289","254","305","304","302","301"]
       },
       {
         name: "央视网",
         eng: 'yangshiwang',//总导览
-        id: "two_3", //標識符
+        id: "3_3", //標識符
         top: "64%",
         left: "23%",
         width: "7%",
         height: "11%",
-        firstView: "&firstView=pano:57,qua:-0.000003940941068468679,0.9999871849192602,0.0007882376108030064,0.00499962274474071", //初始視角
-        panoId: "57", //对应点位id
+        firstView: "&firstView=pano:340,qua:0.017038084398734447,0.17916481180558472,-0.003103312646746605,0.9836666343779016", //初始視角
+        panoId: "340", //对应点位id
+        containPanos: ["340","341","342","343","384","385","386","387","388","389","390","391","392"]
       },
       {
         name: "中国联通",
         eng: 'zhongguoliantong',//总导览
-        id: "two_4", //標識符
+        id: "3_4", //標識符
         top: "58%",
         left: "29%",
         width: "7%",
         height: "11%",
-        firstView: "&firstView=pano:56,qua:-7.499726982168698e-8,0.9999966472331109,-0.002589339224283429,-0.000028963766246494634", //初始視角
-        panoId: "56", //对应点位id
+        firstView: "&firstView=pano:372,qua:-0.021547124102444085,0.9000556057732905,-0.04479611540025312,-0.43293064598514197", //初始視角
+        panoId: "372", //对应点位id
+        containPanos: ["372","383","382","381","377","380","378","376","375","374","379"]
       },
       {
         name: "腾讯",
         eng: 'tencent',//总导览
-        id: "two_6", //標識符
+        id: "3_5", //標識符
         top: "74%",
         left: "28%",
         width: "10%",
         height: "13%",
-        firstView: "&firstView=pano:54,qua:-0.008873964832209471,-0.7084323396930969,-0.008908743686554824,0.7056667118810684", //初始視角
-        panoId: "54", //对应点位id
+        firstView: "&firstView=pano:338,qua:0.04689275463602263,-0.49467727263672506,0.026742931783574536,0.8673985800011111", //初始視角
+        panoId: "338", //对应点位id
+        containPanos: ["338","339","337","336","345","346","347","349","350","351","352","353","348","354","356","355","357","358"]
       },
       {
         name: "阿里巴巴",
         eng: 'alibaba',//总导览
-        id: "two_5", //標識符
+        id: "3_6", //標識符
         top: "49%",
         left: "42%",
         width: "7%",
         height: "9%",
-        firstView: "&firstView=pano:55,qua:0.000005299056315894425,0.9999920129457036,-0.0037380036034126993,0.0014176054111985092", //初始視角
-        panoId: "55", //对应点位id
+        firstView: "&firstView=pano:303,qua:-0.012022502266654566,0.8949923430546826,-0.02416553743616291,-0.4452641749266701", //初始視角
+        panoId: "303", //对应点位id
+        containPanos: ["303","307","308","309","310","311","312","313","314","299"]
       },
 
 
       {
         name: "360集团",
         eng: '360',//总导览
-        id: "two_8", //標識符
+        id: "3_7", //標識符
         top: "68%",
         left: "38.7%",
         width: "7%",
         height: "10%",
-        firstView: "&firstView=pano:52,qua:-0.022471842841640007,-0.4607814245695926,-0.011671735462486578,0.887152334741099", //初始視角
-        panoId: "52", //对应点位id
+        firstView: "&firstView=pano:326,qua:0.046986055943169396,-0.7099974432052234,0.0475876577129527,0.7010216503876512", //初始視角
+        panoId: "326", //对应点位id
+        containPanos: ["326","325","327","335","328","331","329","330","332","333","334"]
       },
       {
         name: "抖音",
         eng: 'douyin',//总导览
-        id: "two_7", //標識符
+        id: "3_8", //標識符
         top: "52%",
         left: "36%",
         width: "7%",
         height: "11%",
-        firstView: "&firstView=pano:53,qua:-0.014404299027762694,0.7011861590425292,0.01417175579765879,0.712691831959207", //初始視角
-        panoId: "53", //对应点位id
+        firstView: "&firstView=pano:371,qua:0.0729785006998528,-0.6995666410591155,0.0721953629854038,0.7071552031294578", //初始視角
+        panoId: "371", //对应点位id
+        containPanos: ["371","366","365","364","369","363","370","362","360","361","368","367","373","359"]
       },
       {
         name: "蚂蚁集团",
         eng: 'mayijituan',//总导览
-        id: "two_9", //標識符
+        id: "3_9", //標識符
         top: "62%",
         left: "45.8%",
         width: "7%",
         height: "11%",
-        firstView: "&firstView=pano:51,qua:0.005074596891426324,0.892212106128233,-0.010028461171687,0.4514767281237285", //初始視角
-        panoId: "51", //对应点位id
+        firstView: "&firstView=pano:315,qua:0.04796130587036803,-0.7073325392481822,0.04821560464025972,0.7036018950575474", //初始視角
+        panoId: "315", //对应点位id
+        containPanos: ["315","324","323","316","317","318","319","320","321","322"]
       }
     ],
   }

+ 3 - 3
src/data/raw.js

@@ -18,7 +18,7 @@ let region = [
     name: "综合展区",
     theme: "rgba(179, 104, 216, 1)",
     company: Booth.find(item=>item.id=='1').company, //综合展区ID
-    spread: calcuSpread(0, 7,[244,245],[4]),
+    spread: calcuSpread(0, 57,[344],[]),
     firstView: {
       panoId: "0",
       panoQuaternion: {
@@ -34,7 +34,7 @@ let region = [
     name: "地方展区",
     theme: "rgba(187, 39, 39, 1)", //主题颜色
     company: Booth.find(item=>item.id=='2').company,  //地方展区id
-    spread: calcuSpread(8, 47,[4,238,252,253],[47]),
+    spread: calcuSpread(58, 282,[],[254,257,258]),
     firstView: {
       panoId: "4",
       panoQuaternion: {
@@ -50,7 +50,7 @@ let region = [
     name: "互联网企业展区",
     theme: "rgba(113, 200, 82, 1)",
     company: Booth.find(item=>item.id=='3').company,  //互联网企业ID
-    spread: calcuSpread(48, 97,[47,239,240],[66]),
+    spread: calcuSpread(283, 392,[254,257,258],[344]),
     firstView: {
       panoId: "47",
       panoQuaternion: {

+ 5 - 15
src/pages/Home.vue

@@ -20,12 +20,7 @@
       <img class="tunits" :src="require('@/assets/images/proj2022/pc_units.png')" alt="" />
       <p><span>中国 · 天津</span>2022年8月</p>
 
-      <img
-        @click="openGuide"
-        class="h-btn"
-        :src="require('@/assets/images/project/btn.png')"
-        alt=""
-      />
+      <img @click="openGuide" class="h-btn" :src="require('@/assets/images/project/btn.png')" alt="" />
     </div>
   </div>
 </template>
@@ -41,15 +36,10 @@ export default {
   },
   methods: {
     openGuide() {
-      this.$showBirdView({
-        hideClose: true,
-      });
-    },
-    goto(){
       this.$router.push({
-            name: 'scene',
-            params: { type: 1, isjump: 'yes' },
-          })
+        name: "scene",
+        params: { type: 1, isjump: "yes" },
+      });
     }
   },
   mounted() {
@@ -57,7 +47,7 @@ export default {
       $("#mainhome")
         .off("click")
         .on("click", () => {
-            window.goldlog.record("/spec.1.1", "", "snsScene=p_page1&product=pcweb&pagename=中国网络文明建设成果展云展示", "");
+          window.goldlog.record("/spec.1.1", "", "snsScene=p_page1&product=pcweb&pagename=中国网络文明建设成果展云展示", "");
         });
     });
     // this.openGuide()

+ 4 - 7
src/pages/mobile.vue

@@ -12,17 +12,14 @@
       </div>
       <img class="tunits" :src="require('@/assets/images/proj2022/mob_text.png')" alt="" />
       <p><span>中国 · 天津</span>2022年8月</p>
-      <img @click="showBirdview = true" class="h-btn" :src="require('@/assets/images/project/btn.png')" alt="" />
-      <birdview @close="gotoScene" v-if="showBirdview" />
+      <img @click="gotoScene" class="h-btn" :src="require('@/assets/images/project/btn.png')" alt="" />
     </div>
   </div>
 </template>
 
 <script>
-import birdview from "./mobilescene/birdview/index.vue";
 
 export default {
-  components: { birdview },
   watch: {
     g_isLandscape: {
       immediate: true,
@@ -43,9 +40,9 @@ export default {
         params: { ...data },
       });
 
-      setTimeout(() => {
-        this.showBirdview = false;
-      }, 800);
+      // setTimeout(() => {
+      //   this.showBirdview = false;
+      // }, 800);
 
     },
   },

+ 13 - 9
src/pages/mobilescene/birdview/index.vue

@@ -12,7 +12,6 @@
         </div>
       </div>
     </ViewOperation>
-    <roundMenu :noMode="true" />
     <!-- <img v-if="!hideClose" class="close" @click="close" :src="require('@/assets/images/proj2022/pc/cancel.png')" alt="" /> -->
   </div>
 </template>
@@ -21,7 +20,6 @@
 import ViewOperation from "./ViewOperation";
 import { region } from "@/data/raw.js";
 import { Booth } from "@/data/booth.js";
-import roundMenu from "@/components/menu/index.vue";
 
 let bb = [];
 
@@ -33,21 +31,27 @@ export default {
   props: ["hideClose"],
   data() {
     return {
-      tags:bb,
-      currentId:''
+      tags: bb,
+      currentId: "",
     };
   },
   components: {
     ViewOperation,
-    roundMenu
   },
   methods: {
     onClick(data) {
       this.currentId = data.id;
       let player = window.player;
       if (!player) {
-        
-        this.$emit("close",{ type: 1, isjump: "yes" });
+        this.$bus.$emit("resetCurrentTheme");
+
+        this.$bus.$emit("ifrMessage", {
+          events: "flyToPano",
+          data: data,
+        });
+        setTimeout(() => {
+          this.$emit("close");
+        }, 1000);
         return;
       }
 
@@ -66,7 +70,7 @@ export default {
 
       setTimeout(() => {
         fn();
-        this.$emit("close",{ type: 1, isjump: "yes" });
+        this.$emit("close", { type: 1, isjump: "yes" });
         this.currentId = "";
       }, 300);
     },
@@ -82,7 +86,7 @@ export default {
   top: 0;
   width: 100%;
   height: 100%;
-  z-index: 99999;
+  z-index: 4002;
   background-size: cover;
   background-position: left top;
   background-repeat: no-repeat;

+ 41 - 32
src/pages/mobilescene/index.vue

@@ -15,10 +15,6 @@
                 <img :src="require('@/assets/images/proj2022/icon/dollhouse@2x.png')" alt="" />
                 <span>三维</span>
               </div>
-              <!-- <div :class="{ active: mode === 'birdview' }" @click="changeMode('birdview', $event)">
-              <img :src="require('@/assets/images/proj2022/mobile/bird view@2x.png')" alt="" />
-              <span>鸟瞰</span>
-            </div> -->
             </div>
           </div>
         </div>
@@ -35,39 +31,38 @@
             <span>恢复</span>
           </div>
         </div>
-        <roundMenu :class="!showViewMode && !tourStatus && !isClear ? 'ronundShow' : 'ronundHide'" @showSearch="showSearch = true" @play="startTour" />
+        <roundMenu
+          @resetCurrentTheme="currentTheme = ''"
+          @toggleBirdView="(data) => (showBirdview = data)"
+          :currentZhanqu="currentZhanqu"
+          :currentTheme="currentTheme"
+          :class="!showViewMode && !tourStatus && !isClear ? 'ronundShow' : 'ronundHide'"
+          @showSearch="showSearch = true"
+          @play="startTour"
+        />
       </template>
     </div>
 
-    <template v-if="!g_isLandscape">
-      <birdview :hideClose="true" @close="(mode = ''), (showViewMode = false)" v-if="mode == 'birdview'" />
+    <birdview @close="showBirdview = false" v-if="showBirdview" />
+
+    <!-- <template v-if="!g_isLandscape">
+      <birdview/>
       <vpopup v-if="showpopup && cp" v-clickoutside="handleoutside">
         <div slot="vcon" class="popcon">
           <component :is="cp" :currentPano="currentPano" :currentItem="currentItem"> </component>
           <img @click="(showpopup = false), (cp = '')" class="close" :src="require('@/assets/images/project/icon/close.png')" alt="" />
         </div>
       </vpopup>
-    </template>
+    </template> -->
+
     <vhotspot v-if="hotspot" @close="hotspot = ''" :hotspot="hotspot" />
   </div>
 </template>
 
 <script>
-import aside from "./aside.vue";
-import vbar from "./bar.vue";
-import menu from "./menu.vue";
-import rmenu from "./raside/menu.vue";
-import zhanxiang from "./zhanxiang/index.vue";
-
 import birdview from "./birdview/index.vue";
 
-import popup from "./popup.vue";
 import vsearch from "./search";
-import vmap from "./map";
-
-import daka from "./components/daka.vue";
-import content from "./components/content.vue";
-import qrcode from "./components/qrcode.vue";
 
 import scene from "./scene.vue";
 import vhotspot from "@/components/hotspot/index.vue";
@@ -83,19 +78,9 @@ Booth.forEach((item) => {
 
 export default {
   components: {
-    vside: aside,
-    vmenu: menu,
-    rmenu: rmenu,
-    zhanxiang,
-    vpopup: popup,
-    daka,
-    qrcode,
-    vcontent: content,
     scene,
     vsearch,
     vhotspot,
-    vbar,
-    vmap,
     birdview,
     roundMenu,
   },
@@ -109,6 +94,8 @@ export default {
   },
   data() {
     return {
+      currentZhanqu: "",
+      showBirdview: true,
       menuType: "func",
       isShowfunc: false,
       showpopup: false,
@@ -133,6 +120,13 @@ export default {
   },
 
   watch: {
+    showBirdview: {
+      deep: true,
+      immediate: true,
+      handler: function(newVal) {
+        this.$bus.$emit("noMode", newVal);
+      },
+    },
     g_isLandscape: {
       immediate: true,
       handler: function(newVal) {
@@ -163,6 +157,9 @@ export default {
   mounted() {
     this.$showLoading();
     this.$nextTick(() => {
+      this.$bus.$on("resetCurrentTheme", () => {
+        this.currentTheme = "";
+      });
       $("#scenebody")
         .off("touchstart")
         .on("touchstart", () => {
@@ -199,6 +196,7 @@ export default {
           if (res.data.source === "showAll") {
             setTimeout(() => {
               this.$hideLoading();
+              this.showBirdview = true;
             });
           }
 
@@ -257,9 +255,20 @@ export default {
                 return item;
               }
             });
-            setTimeout(() => {
-              window.g_lock = false;
+            this.currentZhanqu = "";
+            this.currentZhanqu = all_booth.find((item) => {
+              if (item.containPanos.indexOf(this.currentPanoid) > -1) {
+                return item;
+              }
             });
+
+            this.currentZhanqu &&
+              window.goldlog.record(
+                `/m_area${this.currentZhanqu.id}`,
+                "",
+                `snsScene=m_area${this.currentZhanqu.id}&product=mobh5&pagename=中国网络文明建设成果展云展示`,
+                ""
+              );
           }
 
           if (res.data.source === "openHotspot") {

+ 28 - 7
src/pages/scene/index.vue

@@ -14,7 +14,12 @@
           <span>恢复</span>
         </div>
       </div>
-      <roundMenu :class="`${!tourStatus && !isClear ? 'ronundShow' : 'ronundHide'}`" />
+      <roundMenu
+        @resetCurrentTheme="currentTheme = ''"
+        :currentZhanqu="currentZhanqu"
+        :currentTheme="currentTheme"
+        :class="`${!tourStatus && !isClear ? 'ronundShow' : 'ronundHide'}`"
+      />
 
       <scene v-if="showScene" />
     </div>
@@ -101,6 +106,7 @@ export default {
       hotspots: [],
       hotspot: "",
       currentTheme: "",
+      currentZhanqu: "",
       isShowZX: true,
       showViewMode: false,
     };
@@ -150,13 +156,19 @@ export default {
       $("#scenebody")
         .off("click")
         .on("click", () => {
-            window.goldlog.record("/spec.1.1", "", "snsScene=p_page3&product=pcweb&pagename=中国网络文明建设成果展云展示", "");
+          window.goldlog.record("/spec.1.1", "", "snsScene=p_page3&product=pcweb&pagename=中国网络文明建设成果展云展示", "");
         });
 
       this.$bus.$on("toggleClear", (data) => {
         this.isClear = data;
       });
 
+      this.$showBirdView();
+
+      this.$bus.$on("resetCurrentTheme", () => {
+        this.currentTheme = "";
+      });
+
       window.addEventListener("message", (res) => {
         if (Object.prototype.toString.call(res.data) == "[object Object]") {
           let data = res.data.data;
@@ -199,17 +211,14 @@ export default {
 
           if (res.data.source === "pano.chosen") {
             console.log("pano.chosen");
-            window.g_lock = true;
           }
 
           if (res.data.source === "tour.end") {
             console.log("tour.end");
-            window.g_lock = false;
           }
 
           if (res.data.source === "warp.interrupted") {
             console.log("warp.interrupted");
-            window.g_lock = false;
           }
 
           if (res.data.source === "flying.ended") {
@@ -220,9 +229,21 @@ export default {
                 return item;
               }
             });
-            setTimeout(() => {
-              window.g_lock = false;
+
+            console.log(this.currentPano);
+            this.currentZhanqu = "";
+            this.currentZhanqu = all_booth.find((item) => {
+              if (item.containPanos.indexOf(this.currentPanoid) > -1) {
+                return item;
+              }
             });
+            this.currentZhanqu &&
+              window.goldlog.record(
+                `/p_area${this.currentZhanqu.id}`,
+                "",
+                `snsScene=p_area${this.currentZhanqu.id}&product=pcweb&pagename=中国网络文明建设成果展云展示`,
+                ""
+              );
           }
 
           if (res.data.source === "openHotspot") {

+ 5 - 0
src/pages/scene/menu.vue

@@ -64,16 +64,19 @@ let findPrevItem = (arr, currentItem) => {
 let menu = [
   {
     id: "like",
+    maidiancode:'p_func1',
     name: "点赞",
   },
   {
     id: "message",
     name: "留言",
+    maidiancode:'p_func2',
     cp: "vcontent",
   },
   {
     id: "share",
     name: "分享",
+    maidiancode:'p_func3',
     cp: "qrcode",
   },
   {
@@ -149,6 +152,8 @@ export default {
     },
     onClick(item) {
       this.currentActive = item;
+      item.maidiancode && window.goldlog.record(`/${item.maidiancode}`, "", `snsScene=${item.maidiancode}&product=pcweb&pagename=中国网络文明建设成果展云展示`, "");
+
       setTimeout(() => {
         this.currentActive = {};
       }, 1000);