lanxin 2 hete
szülő
commit
4d19302723

+ 0 - 150
scene/src/components/exhibition/index.vue

@@ -1,150 +0,0 @@
-<template>
-  <div class="palte" :class="{daolanactive:isShow}">
-    <div class="p-title">
-      <img :src="require('@/assets/images/icon/location.png')">
-      <span>{{current.name}}</span>
-    </div>
-    <div class="cad-con"></div>
-    <ul class="exhi-list">
-      <li @click="handleItem(item)" v-for="(item,i) in list" :key="i">
-        {{item.name}}
-      </li>
-    </ul>
-    <div class="daolan" @click="isShow = !isShow ">
-      <img :src="require('@/assets/images/icon/daolan.png')">
-      <span>{{isShow?'收起':'展开'}}导览</span>
-    </div>
-  </div>
-</template>
-
-<script>
-export default {
-  data(){
-    return{
-      isShow:true,
-      list:[
-        {
-          id:1,
-          name:'第一展区  序厅',
-          pano:"a07c10e319da4914b24158a4baabe748"
-        },
-        {
-          id:2,
-          name:'第二展区  历史沿革厅',
-          pano:"22fa6c2e5ed14c14b7f287a0a70b33ae"
-        },
-        {
-          id:3,
-          name:'第三展区  亲切关怀厅',
-          pano:'f12d8cf609bb483a80a715a607a1082e'
-        },
-        {
-          id:4,
-          name:'第四展区  光辉历程厅',
-          pano:"8857354a3b0e4d748f8b7633be25188f"
-        },
-        {
-          id:5,
-          name:'第五展区  将星闪耀厅',
-          pano:"b023f9d4040d4afca849e504f190bef2"
-        },
-        {
-          id:6,
-          name:'第六展区  丰碑永铸厅',
-          pano:"ec42a909a05744da85fd0b5d0da6bb19"
-        }
-      ],
-      current:{
-        id:1,
-        name:'第一展区  序厅',
-        pano:"a07c10e319da4914b24158a4baabe748"
-      }
-    }
-  },
-  methods:{
-    handleItem(item){
-      this.current = item
-      item.pano && player.flyToPano({pano:player.model.panos.index[item.pano]})
-    }
-  },
-  watch:{
-    isShow(newVal){
-      let css =newVal? '10px':'-310px'
-      $('.cad').css({right:css})
-    }
-  }
-}
-</script>
-
-<style lang="less" scoped>
-.palte{
-  border: 2px solid #FFB521;
-  width: 300px;
-  background: rgba(0, 0, 0, 0.6);
-  transform: translateX(300px);
-  transition: all 0.3s ease;
-  .daolan{
-    cursor: pointer;
-    >img{
-      width: 16px;
-      transform: rotate(180deg);
-      margin-bottom: 4px;
-    }
-    position: absolute;
-    right: 300px;
-    background: rgba(0, 0, 0, 0.6);
-    border-radius: 5px 0px 0px 5px;
-    top: 60%;
-    padding: 10px;
-  }
-  .p-title{
-    background: @theme;
-    position: relative;
-    border-bottom: 2px solid #FFB521;
-    height: 60px;
-    >img{
-      position: absolute;
-      z-index: 999;
-      top: -16px;
-      left: 10px;
-      width: 60px;
-    }
-    >span{
-      padding-left: 80px;
-      line-height: 60px;
-      height: 60px;
-      font-weight: bold;
-      font-size: 16px;
-      letter-spacing: 1px;
-    }
-  }
-  .cad-con{
-    width: 100%;
-    height: 200px;
-  }
-  .exhi-list{
-    border-top: 2px solid #FFB521;
-    width: 100%;
-    >li{
-      height: 40px;
-      line-height: 40px;
-      padding: 0 30px;
-      cursor: pointer;
-      &:hover{
-        background: @theme;
-
-      }
-    }
-  }
-}
-.daolanactive{
-  transform: translateX(0);
-  .daolan{
-    >img{
-      width: 16px;
-      transform: rotate(0);
-      margin-bottom: 4px;
-    }
-  }
-}
-</style>

+ 0 - 145
scene/src/components/huiyi/index.vue

@@ -1,145 +0,0 @@
-<template>
-  <div id="huiyi" class="huiyi" :style="{backgroundImage:`url(${require('@/assets/images/project/cards-bg.png')})`}">
-
-    <div class="single-active" v-if="active">
-        <img :src="require(`@/assets/images/project/${active.img}`)" alt="">
-        <span :style="{backgroundImage:`url(${require('@/assets/images/project/select.png')})`}">{{active.name}}</span>
-        <div class="tips">请待视频播放完毕再操作</div>
-    </div>
-    <ul v-else>
-      <li @click="changeVideo(item)" :class="{active:item.id==active.id}" v-for="(item,i) in people" :key="i">
-        <img :src="require(`@/assets/images/project/${item.img}`)" alt="">
-        <span :style="{backgroundImage:item.id==active.id?`url(${require('@/assets/images/project/select.png')})`:'none'}">{{item.name}}</span>
-      </li>
-    </ul>
-    <img v-if="showBg" class="bg" @click="hideBg" :src="require('@/assets/images/project/index-bg.png')" alt="">
-  </div>
-</template>
-
-<script>
-export default {
-  data(){
-    return {
-      active:'',
-      showBg:true,
-      people:[{
-        name:'陈独秀',
-        id:'chen',
-        img:'cdx.jpg',
-        src:'chen.mp4'
-      },{
-        name:'李大钊',
-        id:'li',
-        img:'ldz.jpg',
-        src:'li.mp4'
-      },{
-        name:'毛泽东',
-        id:'mao',
-        img:'mzd.jpg',
-        src:'mao.mp4'
-      }]
-    }
-  },
-  mounted(){
-    window.player.on("videoEnded", ()=> {
-        this.showBg = true
-        this.active = ''
-    })
-  },
-  methods:{
-    hideBg(){
-      this.showBg = false
-    },
-    changeVideo(item){
-      console.log(item);
-      this.active = item
-      window.switchVideoSrc(require(`@/assets/videos/${item.src}`))
-    }
-  }
-}
-</script>
-
-<style lang="less" scoped>
-.huiyi{
-  color:#000;
-  width: 100%;
-  height: 100%;
-  background-repeat: no-repeat;
-  text-align: center;
-  background-size: 100% 100%;
-  position: relative;
-  pointer-events: auto;
-  .bg{
-    cursor: pointer;
-    width: 100%;
-    height: 100%;
-    position: absolute;
-    z-index: 999;
-    top: 0;
-    left: 0;
-  }
-  >ul{
-    display: flex;
-    justify-content: space-between;
-    width: 80%;
-    position: absolute;
-    top: 50%;
-    left: 50%;
-    transform: translate(-50%,-50%);
-    >li{
-      cursor: pointer;
-      &:not(:last-of-type){
-        margin-right: 40px;
-      }
-      >img{
-        width: 100%;
-      }
-      >span{
-        font-size: 38px;
-        padding: 0 60px 20px;
-        background: none;
-      }
-    }
-    .active{
-      >img{
-        border: 16px solid #DFB057;
-      }
-      >span{
-        background-repeat: no-repeat;
-        background-size: 100% 100%;
-        color: #DFB057;
-      }
-    }
-  }
-
-  .single-active{
-    display: flex;
-    justify-content: space-between;
-    flex-direction: column;
-    width: 24%;
-    position: absolute;
-    top: 10%;
-    left: 50%;
-    transform: translateX(-50%);
-    text-align: center;
-    >img{
-      width: 100%;
-      margin-bottom: 20px;
-    }
-    >span{
-      background-repeat: no-repeat;
-      background-size: 100% 100%;
-      color: #DFB057;
-      font-size: 38px;
-      padding: 0 60px 20px;
-    }
-    .tips{
-      font-size: 20px;
-      font-weight: bold;
-      color: #DFB057;
-      min-width: 300px;
-      padding: 40px 0;
-    }
-  }
-}
-</style>

+ 0 - 129
scene/src/components/kangri/index.vue

@@ -1,129 +0,0 @@
-<template>
-  <div id="kangri" class="kangri">
-    <div class="kangricon">
-      <span @click="(active -= 1), autoplay()" :class="{ noshow: active <= 0 }"
-        >上一张</span
-      >
-      <video
-        ref="video"
-        loop
-        controls="controls"
-        autoplay
-        x5-playsinline=""
-        webkit-playsinline="true"
-        playsinline="true"
-        controlslist="nodownload"
-        contextmenu="false"
-        :key="active"
-      >
-        <source
-          :src="require(`@/assets/videos/kangri/${videocon[active].video}`)"
-          type="video/mp4"
-        />
-      </video>
-      <span
-        @click="(active += 1), autoplay()"
-        :class="{ noshow: active >= videocon.length - 1 }"
-        >下一张</span
-      >
-    </div>
-  </div>
-</template>
-
-<script>
-let videocon = [
-  {
-    id: "1",
-    video: "1.mp4",
-  },
-  {
-    id: "2",
-    video: "2.mp4",
-  },
-  {
-    id: "3",
-    video: "3.mp4",
-  },
-  {
-    id: "4",
-    video: "4.mp4",
-  },
-  {
-    id: "5",
-    video: "5.mp4",
-  },
-];
-export default {
-  data() {
-    return {
-      videocon,
-      active: 0,
-    };
-  },
-  methods: {
-    changeVideo(item) {
-      this.active = item.id;
-    },
-    autoplay() {
-      this.$nextTick(() => {
-        this.$refs.video.play();
-      });
-    },
-  },
-  mounted() {
-    window.player.on("autoplay", () => {
-      this.autoplay();
-    });
-  },
-};
-</script>
-
-<style lang="less" scoped>
-.noshow {
-  opacity: 0 !important;
-  pointer-events: none !important;
-}
-
-.kangri {
-  width: 100%;
-  height: 100%;
-  text-align: center;
-  position: relative;
-  pointer-events: none !important;
-
-  .kangricon {
-    height: 100%;
-    width: 100%;
-    color: #fff;
-    display: flex;
-    justify-content: center;
-    pointer-events: none !important;
-    align-items: center;
-    > video {
-      width: 50%;
-      background-color: #000;
-      height: 100%;
-      pointer-events: auto;
-      object-fit: fill;
-    }
-    > span {
-      pointer-events: auto;
-      display: inline-block;
-      padding: 20px 60px;
-      box-sizing: content-box;
-      font-size: 40px;
-      height: 50px;
-      line-height: 50px;
-      background: rgba(188, 21, 21, 0.9);
-      border: 2px solid #dba761;
-      border-radius: 77px;
-      cursor: pointer;
-      margin: 0 100px;
-      &:hover,
-      &.active {
-        color: #dba761;
-      }
-    }
-  }
-}
-</style>

+ 0 - 146
scene/src/components/mb_exhibition/index.vue

@@ -1,146 +0,0 @@
-<template>
-  <div class="mask">
-    <div class="palte">
-    <div class="p-title">
-      <img :src="require('@/assets/images/icon/location.png')">
-      <span>{{current.name}}</span>
-      <img class="cls" @click="$emit('close')" :src="require('@/assets/images/icon/close.png')">
-    </div>
-    <div class="cad-con"></div>
-    <ul class="exhi-list">
-      <li @click="handleItem(item)" v-for="(item,i) in list" :key="i">
-        {{item.name}}
-      </li>
-    </ul>
-  </div>
-  </div>
-</template>
-
-<script>
-export default {
-  data(){
-    return{
-      isShow:false,
-      list:[
-        {
-          id:1,
-          name:'第一展区  序厅',
-          pano:"a07c10e319da4914b24158a4baabe748"
-        },
-        {
-          id:2,
-          name:'第二展区  历史沿革厅',
-          pano:"22fa6c2e5ed14c14b7f287a0a70b33ae"
-        },
-        {
-          id:3,
-          name:'第三展区  亲切关怀厅',
-          pano:'f12d8cf609bb483a80a715a607a1082e'
-        },
-        {
-          id:4,
-          name:'第四展区  光辉历程厅',
-          pano:"8857354a3b0e4d748f8b7633be25188f"
-        },
-        {
-          id:5,
-          name:'第五展区  将星闪耀厅',
-          pano:"b023f9d4040d4afca849e504f190bef2"
-        },
-        {
-          id:6,
-          name:'第六展区  丰碑永铸厅',
-          pano:"ec42a909a05744da85fd0b5d0da6bb19"
-        }
-      ],
-      current:{
-        id:1,
-        name:'第一展区  序厅',
-        pano:"a07c10e319da4914b24158a4baabe748"
-      }
-    }
-  },
-  methods:{
-    handleItem(item){
-      this.current = item
-      item.pano && player.flyToPano({pano:player.model.panos.index[item.pano]})
-    }
-  },
-  watch:{
-    isShow(newVal){
-      let css =newVal? '10px':'-310px'
-      $('.cad').css({right:css})
-    }
-  }
-}
-</script>
-
-<style lang="less" scoped>
-.mask{
-  position: fixed;
-  background: rgba(0, 0, 0, 0.8);
-  width: 100%;
-  height: 100%;
-  top: 0;
-  left: 0;
-  z-index: 99;
-  .palte{
-  border: 2px solid #FFB521;
-  width: calc(100% - 40px);
-  background: rgba(0, 0, 0, 0.6);
-  transition: all 0.3s ease;
-  position: fixed;
-  background: rgba(0, 0, 0, 0.8);
-  top: 50%;
-  left: 50%;
-  transform: translate(-50%,-50%);
-  z-index: 99;
-  .p-title{
-    background: @theme;
-    position: relative;
-    border-bottom: 2px solid #FFB521;
-    height: 60px;
-    >img{
-      position: absolute;
-      z-index: 999;
-      top: -16px;
-      left: 10px;
-      width: 60px;
-    }
-    .cls{
-      left: unset;
-      right: 12px;
-      width: 24px;
-      top: 16px;
-    }
-    >span{
-      padding-left: 80px;
-      line-height: 60px;
-      height: 60px;
-      font-weight: bold;
-      font-size: 16px;
-      letter-spacing: 1px;
-    }
-  }
-  .cad-con{
-    width: 100%;
-    height: 200px;
-  }
-  .exhi-list{
-    border-top: 2px solid #FFB521;
-    width: 100%;
-    >li{
-      height: 40px;
-      line-height: 40px;
-      padding: 0 30px;
-      cursor: pointer;
-      &:hover{
-        background: @theme;
-      }
-    }
-  }
-}
-}
-
-
-</style>

+ 0 - 188
scene/src/components/popupLayout/Message.vue

@@ -1,188 +0,0 @@
-<template>
-  <popup ref="Message" :show="show">
-    <div class="ui-message">
-      <div class="ui-message-header">
-        <img :src="`${$cdn}images/icon-story.png`" alt />
-        <p>欢迎留下您的宝贵意见</p>
-      </div>
-      <div class="ui-message-main">
-        <ul>
-          <li>
-            <span class="require">您的称呼</span>
-            <input v-model="userName" type="text" />
-          </li>
-          <li>
-            <span>手机号码(选填)</span>
-            <input v-model="phone" type="text" />
-          </li>
-          <li>
-            <span>邮箱地址(选填)</span>
-            <input v-model="email" type="text" />
-          </li>
-          <li>
-            <span class="require">留言内容</span>
-            <textarea v-model="message" placeholder="请填写您的留言内容"></textarea>
-          </li>
-        </ul>
-      </div>
-      <div class="ui-message-footer">
-        <div class="ui-button submit" @click="onOk">{{ okText }}</div>
-        <div class="ui-button cancel" @click="onNo">{{ noText }}</div>
-      </div>
-    </div>
-  </popup>
-</template>
-<script>
-import Popup from "./popup";
-export default {
-  name: "ui-confirm",
-  components: {
-    Popup
-  },
-  data() {
-    return {
-      show: false,
-      content: "",
-      okText: "提交",
-      noText: "取消",
-      duration: 0,
-      ok: null,
-      no: null,
-      email: "",
-      message: "",
-      phone: "",
-      userName: ""
-    };
-  },
-  methods: {
-    async onOk() {
-      let { email, message, phone, userName } = this;
-      let res = await this.$http({
-        method: "post",
-        data: {
-          email,
-          message,
-          phone,
-          userName
-        },
-        url: `/api/web/save/msg`
-      });
-
-
-      if (res.code !== 0) {
-        return this.$alert({
-          title: '提示',
-          tips: res.msg,
-          icon:''  
-        })
-      }
-
-      this.$alert();
-      this.onClose();
-
-    },
-    onNo() {
-      this.no && this.no();
-      this.onClose();
-    },
-    onClose() {
-      setTimeout(() => {
-        this.show = false;
-        document.body.removeChild(this.$el);
-        this.$destroy();
-      }, this.duration);
-    }
-  }
-};
-</script>
-
-<style lang="less" scoped>
-@import "../../assets/style/globalVars.less";
-
-@liH: 50px;
-
-textarea::placeholder {
-  color: #382e2c;
-}
-
-.ui-message {
-  width: 640px;
-  position: relative;
-  background: #f5ede2;
-  padding: 20px 50px;
-  .ui-message-header {
-    text-align: center;
-    margin: 0 auto;
-    p {
-      color: @theme;
-      font-size: 30px;
-      font-weight: bold;
-    }
-  }
-  .ui-message-main {
-    ul {
-      li {
-        font-size: 14px;
-        color: #382e2c;
-        border-bottom: 1px solid rgba(56, 46, 44, 0.16);
-        height: @liH;
-        line-height: @liH;
-        > input {
-          border: none;
-          background: none;
-          margin-left: 20px;
-        }
-        > textarea {
-          border: none;
-          background: none;
-          height: 150px;
-          width: 100%;
-        }
-        &:last-of-type {
-          height: auto;
-        }
-      }
-      .require {
-        &::after {
-          content: "*";
-          color: #9d362f;
-        }
-      }
-    }
-  }
-  .ui-message-footer {
-    text-align: center;
-    margin-top: 20px;
-    .ui-button {
-      display: inline-block;
-      cursor: pointer;
-      font-size: 14px;
-      width: 104px;
-      height: 38px;
-      line-height: 38px;
-      border: none;
-      background: url("@{cdn}img_guestbook_btnbg_normal@2x.png") no-repeat
-        center center;
-      background-size: 100% 100%;
-      color: #382e2c;
-      &:first-of-type {
-        margin-right: 30px;
-      }
-    }
-    .submit {
-      background: url("@{cdn}img_guestbook_btnbg_first@2x.png") no-repeat center
-        center;
-      background-size: 100% 100%;
-      color: #f5ede2;
-    }
-  }
-}
-
-@media screen and (max-width: 500px) {
-  .ui-message {
-    width: 90%;
-    border-radius: 8px;
-    padding: 20px;
-  }
-}
-</style>

+ 0 - 179
scene/src/components/popupLayout/Share.vue

@@ -1,179 +0,0 @@
-<template>
-  <div class="wrapper">
-    <div class="ui-broadcast" @click.stop>
-      <img class="close"  @click="close" :src="require('@/assets/images/project/close.png')">
-      <div class="title">
-        <p>红色热土不朽丰碑</p>
-        <p>中国共产党领导广东新民主主义</p>
-        <p>革命历史革命展</p>
-      </div>
-      <div class="qrcode">
-        <img :src="require('@/assets/images/project/qrcode.png')">
-      </div>
-      <div class="share_btn" @click="copyLink">
-        复制分享链接
-      </div>
-    </div>
-
-    <div class="popup" v-if="tips">
-      链接已复制
-    </div>
-  </div>
-</template>
-<script>
-export default {
-  data(){
-    return {
-      tips:false
-    };
-  },
-  mounted(){
-  },
-  methods:{
-    close(){
-      this.$hideShare()
-      this.$bus.$emit('closeShare')
-    },
-    copyLink(){
-      var textArea = document.createElement('textarea')
-
-      textArea.style.position = 'fixed'
-      textArea.style.top = 0
-      textArea.style.left = 0
-      textArea.style.width = '2em'
-      textArea.style.height = '2em'
-      textArea.style.padding = 0
-      textArea.style.border = 'none'
-      textArea.style.outline = 'none'
-      textArea.style.boxShadow = 'none'
-      textArea.style.background = 'transparent'
-      textArea.value = window.location.href
-
-      document.body.appendChild(textArea)
-      textArea.select()
-      document.execCommand('copy')
-      document.body.removeChild(textArea)
-      this.tips = true
-      setTimeout(() => {
-        this.tips = false
-      }, 2000);
-    }
-  }
-};
-</script>
-
-<style lang="less" scoped>
-.wrapper{
-  width: 100%;
-  height: 100%;
-  position: fixed;
-  left: 0;
-  top: 0;
-  .ui-broadcast{
-    width: 530px;
-    position: fixed;
-    padding: 48px 0;
-    z-index: 9999;
-    top: 50%;
-    left: 50%;
-    transform: translate(-50%,-50%);
-    background: rgba(188, 21, 21, 0.9);
-    text-align: center;
-    .title{
-      font-size: 30px;
-      line-height: 1.5;
-      font-weight: bold;
-      color: #DBA761;
-    }
-    .qrcode{
-      width: 260px;
-      margin: 32px auto 44px;
-      >img{
-        width: 100%;
-      }
-    }
-    .share_btn{
-      font-size: 20px;
-      width: 260px;
-      cursor: pointer;
-      padding: 10px 40px;
-      color: #FFFFFF;
-      border-radius: 76px;
-      border: 2px solid #DBA761;
-      margin: 0 auto;
-    }
-    .close{
-      position: absolute;
-      top: -20px;
-      cursor: pointer;
-      right: -20px;
-      width: 40px;
-    }
-  }
-}
-
-.popup{
-  position: fixed;
-  z-index: 9999;
-  width: 300px;
-  height: 40px;
-  line-height: 40px;
-  text-align: center;
-  border-radius: 20px;
-  left: 50%;
-  top: 50%;
-  border: 1px solid #000;
-  transform: translate(-50%,-50%);
-  background: rgba(0, 0, 0, 0.5);
-}
-
-@media screen and (max-width: 500px) {
- .wrapper{
-   z-index: 99999;
-  .ui-broadcast{
-    width: 88%;
-    position: fixed;
-    padding: 28px 0 30%;
-    top: 46%;
-    left: 50%;
-    transform: translate(-50%,-50%);
-    background: rgba(188, 21, 21, 0.9);
-    text-align: center;
-    .title{
-      font-size: 18px;
-      line-height: 1.5;
-      font-weight: bold;
-      color: #DBA761;
-    }
-    .qrcode{
-      width: 60%;
-      margin: 20px auto 30px;
-      >img{
-        width: 100%;
-      }
-    }
-    .share_btn{
-      font-size: 16px;
-      width: 60%;
-      cursor: pointer;
-      padding: 10px 40px;
-      color: #FFFFFF;
-      border-radius: 76px;
-      border: 2px solid #DBA761;
-      margin: 0 auto;
-    }
-    .close{
-      position: absolute;
-      top: unset;
-      left: 50%;
-      transform: translateX(-50%);
-      cursor: pointer;
-      right: unset;
-      bottom: 6%;
-      width: 40px;
-    }
-  }
-}
-
-}
-</style>

+ 41 - 73
scene/src/components/popupLayout/index.js

@@ -1,84 +1,52 @@
-import Vue from 'vue'
-import UILoading from './Loading.vue'
-import UIShare from './Share.vue'
-import UITips from './Tips.vue'
-
-
-const Loading = Vue.extend(UILoading)
-const Share = Vue.extend(UIShare)
-const Tips = Vue.extend(UITips)
-
-
-
-let loadingInstance = ''
-export function $showLoading(data={}) {
-    if (loadingInstance) {
-        return
-    }
-    loadingInstance = new Loading({
-        data
-    }).$mount()
-
-    document.body.appendChild(loadingInstance.$el)
-
-    Vue.nextTick(() => {
-        loadingInstance.show = true
-    })
+import Vue from "vue";
+import UILoading from "./Loading.vue";
+import UITips from "./Tips.vue";
+
+const Loading = Vue.extend(UILoading);
+const Tips = Vue.extend(UITips);
+
+let loadingInstance = "";
+export function $showLoading(data = {}) {
+  if (loadingInstance) {
+    return;
+  }
+  loadingInstance = new Loading({
+    data,
+  }).$mount();
+
+  document.body.appendChild(loadingInstance.$el);
+
+  Vue.nextTick(() => {
+    loadingInstance.show = true;
+  });
 }
 
 export function $hideLoading() {
-    if (loadingInstance) {
-        document.body.removeChild(loadingInstance.$el)
-        loadingInstance = ''
-    }
+  if (loadingInstance) {
+    document.body.removeChild(loadingInstance.$el);
+    loadingInstance = "";
+  }
 }
 
+let tipsInstance = "";
+export function $showTips(data = {}) {
+  if (tipsInstance) {
+    return;
+  }
+  tipsInstance = new Tips({
+    data,
+  }).$mount();
 
+  document.body.appendChild(tipsInstance.$el);
 
-let shareInstance = ''
-export function $showShare(data={}) {
-    if (shareInstance) {
-        return
-    }
-    shareInstance = new Share({
-        data
-    }).$mount()
-
-    document.body.appendChild(shareInstance.$el)
-
-    Vue.nextTick(() => {
-        shareInstance.show = true
-    })
-}
-
-export function $hideShare() {
-    if (shareInstance) {
-        document.body.removeChild(shareInstance.$el)
-        shareInstance = ''
-    }
-}
-
-
-
-let tipsInstance = ''
-export function $showTips(data={}) {
-    if (tipsInstance) {
-        return
-    }
-    tipsInstance = new Tips({
-        data
-    }).$mount()
-
-    document.body.appendChild(tipsInstance.$el)
-
-    Vue.nextTick(() => {
-        tipsInstance.show = true
-    })
+  Vue.nextTick(() => {
+    tipsInstance.show = true;
+  });
 }
 
 export function $hideTips() {
-    if (tipsInstance) {
-        document.body.removeChild(tipsInstance.$el)
-        tipsInstance = ''
-    }
+  if (tipsInstance) {
+    document.body.removeChild(tipsInstance.$el);
+    tipsInstance = "";
+  }
 }

+ 24 - 1
scene/src/pages/Home.vue

@@ -155,7 +155,30 @@ export default {
       });
     },
   },
-  mounted() {},
+  mounted() {
+    this.$nextTick(() => {
+      window.evt = document.createEvent("HTMLEvents");
+      window.evt.initEvent("loadfinish", false, false);
+      window.addEventListener("loadfinish", () => {
+        this.loading = false;
+        this.getHotSpotList();
+        window.player.on("openTips", () => {
+          this.$showTips();
+        });
+
+        window.player.on("openHotspot", (data) => {
+          this.$showHotspot({
+            hotspot: this.hotspots[data],
+          });
+        });
+      });
+    });
+  },
+  created() {
+    // 雷锋故居场景需求,会携带 hideCover=1
+    this.hideTools = Boolean(Number(this.$route.query.hideCover));
+    this.showWelcome = !this.hideTools;
+  },
 };
 </script>
 

+ 0 - 16
scene/src/utils/api.js

@@ -1,16 +0,0 @@
-import axios from './request'
-// 访问量+1
-export const addVisitAPI = () => {
-  return axios({
-    method: 'get',
-    url: `show/addVisit/${1}`,
-  })
-}
-
-// 获取访问量
-export const getVisitAPI = () => {
-  return axios({
-    method: 'get',
-    url: 'show/share/detail',
-  })
-}

+ 9 - 3
scene/src/views/gui/menu.vue

@@ -358,7 +358,6 @@
 
     <div class="openBox" :class="{ openBoxAc: openInd }">
       <HotList v-if="openInd === 1" @close="openInd = 0" />
-      <Share v-show="openInd === 2" @close="openInd = 0" :openInd="openInd" />
     </div>
     <!-- 手动触发导览 -->
   </div>
@@ -366,10 +365,9 @@
 
 <script>
 import HotList from "./components/hotList.vue";
-import Share from "./components/share.vue";
 
 export default {
-  components: { HotList, Share },
+  components: { HotList },
   props: {
     hideTools: Boolean,
     loadingstate: Boolean,
@@ -519,6 +517,14 @@ export default {
       localStorage.setItem("locale", item.key);
       // this.updateReadList();
       this.$nextTick(() => {
+        document.title =
+          item.key === "zh-hk"
+            ? "澳門基本法紀念館"
+            : item.key === "en"
+            ? "Macao Basic Law Memorial Museum"
+            : item.key === "pe"
+            ? "Museu Memorial da Lei Básica de Macau"
+            : "澳門基本法紀念館";
         hotGroup.children.forEach((item) => {
           item.setTitleElem();
         });