瀏覽代碼

初步完工

shaogen1995 2 年之前
父節點
當前提交
4a56384cb8
共有 73 個文件被更改,包括 277 次插入2522 次删除
  1. 0 55
      scene/public/4dage/Model.html
  2. 0 301
      scene/public/4dage/css/index.css
  3. 0 156
      scene/public/4dage/css/main.css
  4. 0 59
      scene/public/4dage/css/reset.css
  5. 0 272
      scene/public/4dage/css/wx.css
  6. 0 45
      scene/public/4dage/index.html
  7. 0 1
      scene/public/4dage/js/4dage.js
  8. 0 30
      scene/public/4dage/js/browser.min.js
  9. 0 152
      scene/public/4dage/js/data.js
  10. 0 18
      scene/public/4dage/js/info.js
  11. 0 4
      scene/public/4dage/js/jquery.js
  12. 0 0
      scene/public/4dage/js/model.js
  13. 0 26
      scene/public/4dage/js/ui.js
  14. 0 131
      scene/public/4dage/js/weixin.js
  15. 3 5
      scene/public/static/css/main.css
  16. 26 22
      scene/public/static/js/loadCAD.js
  17. 二進制
      scene/src/assets/images/icon/auto.png
  18. 二進制
      scene/src/assets/images/icon/auto_active.png
  19. 二進制
      scene/src/assets/images/icon/dollhouse.png
  20. 二進制
      scene/src/assets/images/icon/dollhouse_active.png
  21. 二進制
      scene/src/assets/images/icon/floor.png
  22. 二進制
      scene/src/assets/images/icon/floor_active.png
  23. 二進制
      scene/src/assets/images/icon/fullscreen.png
  24. 二進制
      scene/src/assets/images/icon/fullscreen_exit.png
  25. 二進制
      scene/src/assets/images/icon/inside.png
  26. 二進制
      scene/src/assets/images/icon/inside_active.png
  27. 二進制
      scene/src/assets/images/icon/musicoff.png
  28. 二進制
      scene/src/assets/images/icon/musicon.png
  29. 二進制
      scene/src/assets/images/icon/pause.png
  30. 二進制
      scene/src/assets/images/icon/play.png
  31. 二進制
      scene/src/assets/img/1185.jpg
  32. 二進制
      scene/src/assets/img/1186.jpg
  33. 二進制
      scene/src/assets/img/1187.jpg
  34. 二進制
      scene/src/assets/img/1188.jpg
  35. 二進制
      scene/src/assets/img/antique.png
  36. 二進制
      scene/src/assets/img/antiqueAc.png
  37. 二進制
      scene/src/assets/img/closeT.png
  38. 二進制
      scene/src/assets/img/code1185.png
  39. 二進制
      scene/src/assets/img/code1186.png
  40. 二進制
      scene/src/assets/img/code1187.png
  41. 二進制
      scene/src/assets/img/code1188.png
  42. 二進制
      scene/src/assets/img/full.png
  43. 二進制
      scene/src/assets/img/fullAc.png
  44. 二進制
      scene/src/assets/img/goodBg.png
  45. 二進制
      scene/src/assets/img/hotspot.png
  46. 二進制
      scene/src/assets/img/hotspotAc.png
  47. 二進制
      scene/src/assets/img/hoverTit.png
  48. 1 0
      scene/src/assets/img/left.svg
  49. 二進制
      scene/src/assets/img/logo.png
  50. 二進制
      scene/src/assets/img/mapAc.png
  51. 二進制
      scene/src/assets/img/mapBS.png
  52. 二進制
      scene/src/assets/img/music.png
  53. 二進制
      scene/src/assets/img/musicAc.png
  54. 二進制
      scene/src/assets/img/navigation.png
  55. 二進制
      scene/src/assets/img/navigationAc.png
  56. 1 0
      scene/src/assets/img/right.svg
  57. 二進制
      scene/src/assets/img/serachNull.png
  58. 二進制
      scene/src/assets/img/share.png
  59. 二進制
      scene/src/assets/img/shareAc.png
  60. 二進制
      scene/src/assets/img/tab3Full.png
  61. 二進制
      scene/src/assets/img/tab3FullX.png
  62. 二進制
      scene/src/assets/img/tabBac.png
  63. 二進制
      scene/src/assets/img/toHome.png
  64. 39 0
      scene/src/assets/style/myBase.css
  65. 59 0
      scene/src/assets/style/myBase.less
  66. 4 0
      scene/src/main.js
  67. 5 21
      scene/src/pages/Home.vue
  68. 0 511
      scene/src/views/gui/compomemt/antique.vue
  69. 0 142
      scene/src/views/gui/compomemt/hotspot.vue
  70. 0 233
      scene/src/views/gui/compomemt/mapNav.vue
  71. 0 157
      scene/src/views/gui/compomemt/share.vue
  72. 5 15
      scene/src/views/gui/guide.vue
  73. 134 166
      scene/src/views/gui/menu.vue

+ 0 - 55
scene/public/4dage/Model.html

@@ -1,55 +0,0 @@
-<!DOCTYPE html>
-<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
-<meta name="viewport"
-    content="width=device-width,initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=no">
-<link rel="icon" type="image/png" sizes="32x32" href="images/favicon.png" class="keep">
-<link rel="stylesheet" href="css/index.css">
-<script src="https://res.wx.qq.com/open/js/jweixin-1.4.0.js"></script>
-<html>
-
-<head>
-    <title>文物展示</title>
-    <script src="js/4dage.js"></script>
-    <style>
-        html {
-            overflow: hidden;
-        }
-    </style>
-</head>
-
-<body>
-    <div id="ui">
-    </div>
-    <script src="js/jquery.js"></script>
-    <script src="https://res.wx.qq.com/open/js/jweixin-1.2.0.js"></script>
-
-    <script type="text/javascript" src="js/info.js"></script>
-    <script type="text/javascript" src="js/model.js"></script>
-    <script type="text/javascript" src="js/weixin.js"></script>
-    <script>
-         var number = getQueryVariable("m");
-       fdage.embed(number, { width: 800, height: 600, autoStart: true, fullFrame: true, pagePreset: false });
-
-        var number = getQueryVariable("m");
-        let pageNum = number.split("_")[1];
-
-        let iconLeft = document.querySelector('#iconLeft');
-        let iconRight = document.querySelector('#iconRight');
-        let iframe = document.querySelector('iframe');
-        let iconHome = document.querySelector('#iconHome');
-        let iconInfo = document.querySelector('#iconInfo');
-        var URL=window.location.href;
-        var n = -1;//当前位置
-        let list = ['yp01','yp02','yp03','yp04','yp05','yp06','yp07','yp08','yp09','yp09_1','yp10','yp11','yp12','yp13','yp14','yp15','yp16','yp17','yp18','yp19','yp20'];
-        list.forEach(function(val,index) {
-            if(val==number){
-                n= index;
-            }
-        })
-        function goToUrl(n) {
-            window.location.href = URL.replace(number,list[n]);
-        }
-    </script>
-</body>
-
-</html>

+ 0 - 301
scene/public/4dage/css/index.css

@@ -1,301 +0,0 @@
-html, body {
-    width: 100%;
-    height: 100%;
-    font-family: PingFangSC-Regular, sans-serif;
-}
-
-html, body, h1, h2, h3, h4, h5, h6, div, dl, dt, dd, ul, ol, li, p, blockquote, pre, hr, figure, table, caption, th, td, form, fieldset, legend, input, button, textarea, menu {
-    margin: 0;
-    padding: 0;
-}
-
-/* ::-webkit-scrollbar {
-    display: none;
-} */
-
-iframe {
-    width: 100%;
-    height: 100%;
-}
-
-#ui {
-    position: absolute;
-    display: flex;
-    justify-content: space-between;
-    align-items: center;
-    flex-direction: column;
-    width: 100%;
-    height: 100%;
-    /* color: #494949; */
-    letter-spacing: 3px;
-}
-
-#logoText {
-    z-index: 1;
-    position: absolute;
-    bottom: 20px;
-    font-size: 18px;
-    font-weight: 100;
-    letter-spacing: 4px;
-}
-
-.switch-btn-Wrap {
-    z-index: 1;
-    position: absolute;
-    top: 20px;
-    right: 20px;
-}
-
-.switch-btn-Wrap img {
-    width: 75px;
-    ;
-}
-
-#objName {
-    z-index: 1;
-    position: absolute;
-    top: 20px;
-    left: 32px;
-    font-size: 22px;
-    font-weight: 100;
-    letter-spacing: 4px;
-    color: #ffffff;
-}
-
-#iconWrap {
-    position: absolute;
-    bottom: 30px;
-    width: 200px;
-    display: flex;
-    justify-content: center;
-    z-index: 1;
-}
-
-.mar-right {
-    margin-right: 120px;
-}
-
-#iconLeft {
-    cursor: not-allowed;
-}
-
-#iconRight {
-    cursor: pointer;
-}
-
-#introductionWrap{
-    position: absolute;
-    z-index: 1;
-    display: flex;
-    flex-direction: column;
-    left: 20px;
-    text-align: left;
-    top: 20px;
-    font-size: 16px;
-    color: #ffffff;
-    font-weight: 100;
-    line-height: 30px;
-    letter-spacing: 2px;
-    width: 500px;
-    display:none;
-}
-#companyText{
-    position: absolute;
-    z-index: 1;
-    font-size: 16px;
-    color:rgb(153, 153, 153);
-    font-weight: 100;
-    left: 50%;
-    transform: translateX(-50%);
-    bottom: 20px;
-    letter-spacing: 1px;
-    text-shadow:rgb(51, 51, 51) 0px 1px 1px;
-}
-.bg-audio {
-    display:block;
-    position:absolute;
-    bottom:30px;
-    right:10px;
-    width:30px;
-    height:30px;
-    background:url(../images/bgmusic-play-icon.png)center/100% no-repeat;
-    z-index:99;
-}
-.iconHome{
-    top:30px;
-}
-.iconMenu {
-    position:absolute;
-    z-index:2;
-    right:52px;
-    display:flex;
-    align-items: center;
-    flex-direction: column;
-    text-align: center;
-}
-.iconInfo {
-    top:150px;
-}
-.iconMenu span {
-    color:#fff;
-}
-#time, #size, #content,#excavated_time{
-    margin-top: 8px;
-}
-#content p {
-    text-indent:2em;
-}
-@media screen and (max-width: 600px) {
-     #introductionWrap {
-        width:70%;
-        height:60%;
-        overflow-y:scroll;
-        position:absolute;
-        margin:0 auto;
-        top:10%;
-        font-size:14px;
-        line-height: 20px;
-        display:none;
-    }
-    #time, #size, #content,#excavated_time {
-        margin-top:4px;
-    }
-    #content {
-       
-    }
-    #name {
-        font-weight:bold;
-    }
-    #iconAction {
-        position:absolute;
-        z-index:99;
-    }
-    .iconMenu {
-        width:60px;
-        right:10px;
-    }
-    .iconMenu img {
-        width:50%;
-    }
-    .iconHome {
-
-    }
-    .iconInfo {
-        top:90px;
-    }
-    .iconMenu span {
-        font-size:10px;
-    }
-    #iconWrap {
-        width:50%;
-        z-index:2;
-
-    }
-    #iconLeft,#iconRight {
-        width:30px;
-        height:30px;
-    }
-    #companyText{
-        font-size:13px;
-    }
-}
-@media only screen and (max-height:480px) {
-    .center img, .center-first img {
-        width: 52vw;
-        max-width: 250px;
-        max-height: 110px;
-    }
-    .center:nth-child(8) img {
-        width: 30vw;
-        max-width: 153px;
-        max-height: 127px;
-    }
-    .center:nth-child(17) img {
-        width: 30vw;
-        max-width: 165px;
-        max-height: 176px;
-    }
-   
-}
-.animated {
-    -webkit-animation-duration:1s;
-    animation-duration:1s;
-    -webkit-animation-fill-mode:both;
-    animation-fill-mode:both
-}
-@-webkit-keyframes fadeInRight {
-    0% {
-        opacity:0;
-        -webkit-transform:translate3d(100%, 0, 0);
-        transform:translate3d(100%, 0, 0)
-    }
-    to {
-        opacity:1;
-        -webkit-transform:translateZ(0);
-        transform:translateZ(0)
-    }
-}
-@keyframes fadeInRight {
-    0% {
-        opacity:0;
-        -webkit-transform:translate3d(100%, 0, 0);
-        transform:translate3d(100%, 0, 0)
-    }
-    to {
-        opacity:1;
-        -webkit-transform:translateZ(0);
-        transform:translateZ(0)
-    }
-}
-.fadeInRight {
-    -webkit-animation-name:fadeInRight;
-    animation-name:fadeInRight
-}
-
-@-webkit-keyframes fadeOutRight {
-    0% {
-        opacity:1
-    }
-    to {
-        opacity:0;
-        -webkit-transform:translate3d(100%, 0, 0);
-        transform:translate3d(100%, 0, 0)
-    }
-}
-@keyframes fadeOutRight {
-    0% {
-        opacity:1
-    }
-    to {
-        opacity:0;
-        -webkit-transform:translate3d(100%, 0, 0);
-        transform:translate3d(100%, 0, 0)
-    }
-}
-.fadeOutRight {
-    -webkit-animation-name:fadeOutRight;
-    animation-name:fadeOutRight
-}
-
-@-webkit-keyframes fadeOut {
-    0% {
-        opacity:1
-    }
-    to {
-        opacity:0
-    }
-}
-@keyframes fadeOut {
-    0% {
-        opacity:1
-    }
-    to {
-        opacity:0
-    }
-}
-.fadeOut {
-    -webkit-animation-name:fadeOut;
-    animation-name:fadeOut;
-    -webkit-animation-duration:2s;
-    animation-duration: 2s;
-}

+ 0 - 156
scene/public/4dage/css/main.css

@@ -1,156 +0,0 @@
-body {
-    background: #dddada;
-    font-family: '微软雅黑';
-}
-
-.containers {
-    width: 1080px;
-    /* overflow: hidden; */
-    min-height: 80vh;
-    margin: 0 auto;
-}
-
-.con-title {
-    font-size: 24px;
-    background: #f9fafc;
-    text-align: center;
-    font-weight: bold;
-    padding-top: 40px;
-}
-
-.con {
-    /* width: 100%; */
-    height: auto;
-    overflow: hidden;
-    background: #f9fafc;
-    margin: 0 auto 0;
-    display: flex;
-    flex-wrap: wrap;
-    padding: 20px 2%;
-    justify-content: center;
-}
-
-.con li {
-    text-align: center;
-    width: 30%;
-    display: inline-block;
-    margin: 25px 10px;
-}
-
-.case {
-    padding: 10px;
-    background: #fff;
-    border-radius: 10px;
-    box-shadow: 1px 1px 5px rgba(0, 0, 0, 0.4);
-    transition: all 0.3s;
-}
-
-.case:hover {
-    box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.6);
-    transform: translateY(-15px);
-}
-
-.case .card-img {
-    width: 100%;
-    height: 180px;
-    background-repeat: no-repeat;
-    background-size: cover;
-    background-position: top center;
-}
-
-.con li p {
-    margin-top: 10px;
-    font-size: 18px;
-    font-weight: 100;
-}
-
-.link-a {
-    width: 100%;
-    height: 100%;
-    display: inline-block;
-}
-
-#introductionWrap{
-    position: absolute;
-    z-index: 1;
-    display: flex;
-    flex-direction: column;
-    right: 20px;
-    text-align: right;
-    top: 20px;
-    font-size: 18px;
-    color: #ffffff;
-    font-weight: 100;
-    line-height: 30px;
-    letter-spacing: 2px;
-}
-#companyText{
-    position: absolute;
-    z-index: 1;
-    font-size: 16px;
-    color:rgb(153, 153, 153);
-    font-weight: 100;
-    left: 50%;
-    transform: translateX(-50%);
-    bottom: 20px;
-    letter-spacing: 1px;
-    text-shadow:rgb(51, 51, 51) 0px 1px 1px;
-}
-@media screen and (max-width: 600px) {
-    .containers {
-        width: 100%;
-    }
-    .con {
-        padding: 0;
-    }
-    .case .card-img {
-        background-size: auto 100%;
-        height: 90px;
-    }
-    .con li {
-        width: 44%;
-    }
-    #introductionWrap{
-        position: absolute;
-        z-index: 1;
-        display: flex;
-        flex-direction: column;
-        right: 10px;
-        text-align: right;
-        top: 16px;
-        font-size: 16px;
-        color: #ffffff;
-        font-weight: 100;
-        line-height: 28px;
-        letter-spacing: 1px;
-    }
-    /* .con li p {
-        font-size: 16px;
-    } */
-}
-
-.hide{
-    display: none;
-}
-
-#companyText{
-    position: absolute;
-    z-index: 1;
-    font-size: 16px;
-    font-weight: 100;
-    left: 50%;
-    transform: translateX(-50%);
-    bottom: 20px;
-    letter-spacing: 1px;
-}
-
-
-@media screen and (max-width: 320px) {
-    .con li {
-        width: 43%;
-    }
-    .con li p {
-        font-size: 16px;
-        font-weight: 100;
-    }
-}

+ 0 - 59
scene/public/4dage/css/reset.css

@@ -1,59 +0,0 @@
-/* http://meyerweb.com/eric/tools/css/reset/ 
-   v2.0 | 20110126
-   License: none (public domain)
-*/
-
-html, body, div, span, applet, object, iframe,
-h1, h2, h3, h4, h5, h6, p, blockquote, pre,
-a, abbr, acronym, address, big, cite, code,
-del, dfn, em, img, ins, kbd, q, s, samp,
-small, strike, strong, sub, sup, tt, var,
-b, u, i, center,
-dl, dt, dd, ol, ul, li,
-fieldset, form, label, legend,
-table, caption, tbody, tfoot, thead, tr, th, td,
-article, aside, canvas, details, embed, 
-figure, figcaption, footer, header, hgroup, 
-menu, nav, output, ruby, section, summary,
-time, mark, audio, video {
-	margin: 0;
-	padding: 0;
-	border: 0;
-	font-size: 100%;
-	font: inherit;
-	vertical-align: baseline;
-}
-/* HTML5 display-role reset for older browsers */
-article, aside, details, figcaption, figure, 
-footer, header, hgroup, menu, nav, section, main {
-	display: block;
-}
-a{
-  text-decoration: none;
-  color: #000;
-}
-body {
-	line-height: 1;
-}
-ol, ul {
-	list-style: none;
-}
-blockquote, q {
-	quotes: none;
-}
-blockquote:before, blockquote:after,
-q:before, q:after {
-	content: '';
-	content: none;
-}
-table {
-	border-collapse: collapse;
-	border-spacing: 0;
-}
-button{outline:none;}
-input::-webkit-outer-spin-button,input::-webkit-inner-spin-button{
-        -webkit-appearance:textfield;
-}
-input[type="number"]{
-        -moz-appearance:textfield;
-}

+ 0 - 272
scene/public/4dage/css/wx.css

@@ -1,272 +0,0 @@
-html, body {
-    width: 100%;
-    height: 100%;
-    font-family: PingFangSC-Regular, sans-serif;
-}
-* {
-    margin:0;
-    padding:0;
-    list-style-type:none;
-    box-sizing:border-box
-}
-html, body, h1, h2, h3, h4, h5, h6, div, dl, dt, dd, ul, ol, li, p, blockquote, pre, hr, figure, table, caption, th, td, form, fieldset, legend, input, button, textarea, menu {
-    margin: 0;
-    padding: 0;
-}
-img {
-    max-width:100%;
-}
-/* ::-webkit-scrollbar {
-    display: none;
-} */
-.flexs {
-    display:flex;
-    justify-content: space-between;
-    align-items:center;
-}
-.flex {
-    display:flex;
-    justify-content: center;
-    align-items:center;
-}
-iframe {
-    width: 100%;
-    height: 100%;
-}
-#ui {
-    position: absolute;
-    display: flex;
-    justify-content: space-between;
-    align-items: center;
-    flex-direction: column;
-    width: 100%;
-    height: 100%;
-    /* color: #494949; */
-    letter-spacing: 3px;
-}
-.antique-name {
-    font-size:20px;
-    text-align:center;
-    color:#fff;
-    width:70%;
-    margin:21vw auto 0;
-}
-.comment_wrapper {
-    position:relative;
-    z-index:9999;
-    width:83vw;
-    margin:0 auto;
-    display:none;
-}
-.introductionWrap {
-    width:100%;
-    background:#1d1d1d;
-    height:28vw;   
-    font-size:12px;
-    color:#ffffffba;
-    padding:4vw;
-
-}
-.introductionWrap .introduction {
-    overflow:scroll;
-    height: 100%;
-}
-.bg-audio {
-    display:block;
-    position:absolute;
-    z-index:2;
-    top:8.5vw;
-    right:7.4vw;
-    width:7.4vw;
-    height:7.4vw;
-    background:url(../images/bgmusic_icon_play.png)center/100% no-repeat;
-}
-.iconAction {
-    position:relative;
-    width:100%;
-
-    
-}
-.iconAction ul {
-    position: relative;
-    z-index: 999;
-    width:100%;
-    padding:0 17.6vw 9vw;
-;
-}
-.iconAction ul li {
-    width:12vw;
-    text-align:center;
-    cursor:pointer;
-}
-.iconAction ul li i{
-    display:block;
-    width:9vw;
-    height:9vw;
-    width:12vw;
-    margin:0 auto;
-}
-/* .iconAction ul li i.explain_icon{
-    background:url(../images/explain_icon.png)center/100% no-repeat;
-}
-.iconAction ul li i.explain_icon2{
-    background:url(../images/explain_icon2.png)center/100% no-repeat;
-} */
-#explain.active p{
-    color:#9a2e2c;
-}
-#explain .explain_icon {
-    background:url(../images/explain_icon.png)center/100% no-repeat;
-}
-#explain.active .explain_icon {
-    background:url(../images/explain_icon2.png)center/100% no-repeat;
-}
-.iconAction ul li i.comment_icon{
-    background:url(../images/comment_icon.png)center/100% no-repeat;
-}
-#favorite .favorite_icon {
-    background:url(../images/favorite_icon1.png)center/100% no-repeat;
-}
-#favorite.active p {
-    color:#9a2e2c;
-}
-#favorite.active .favorite_icon {
-    background:url(../images/favorite_icon2.png)center/100% no-repeat;
-    
-}
-/* .iconAction ul li i.favorite_icon1{
-    background:url(../images/favorite_icon1.png)center/100% no-repeat;
-}
-.iconAction ul li i.favorite_icon2{
-    background:url(../images/favorite_icon2.png)center/100% no-repeat;
-} */
-.iconAction ul li p {
-    font-size:16px;
-    color:#fff;
-}
-.info_voice {
-    margin:0 auto;
-    text-align:center;    
-}
-.audio_controls .icon_play {
-    display:inline-block;
-    width:3.4vw;
-    margin-right:5px;
-}
-.audio_controls .progress {
-    position:relative;
-    display:inline-block;
-    width:60vw;
-    background:#fff;
-    height:2px;
-}
-.audio_controls .progress i {
-    position:absolute;
-    top:-3px;
-    left:0;
-    display:inline-block;
-    width:8px;
-    height:8px;
-    background:#fff;
-    border-radius:4px;
-    -webkit-border-radius:4px;
-}
-.audio_controls .audio_time {
-    font-size:10px;
-    color:#fff;
-    margin-left:5px;
-}
-/* audio::-webkit-media-controls-panel {
-    background:rgba(255,255,255,1);
-}
-audio::-webkit-media-controls-mute-button {}
-audio::-webkit-media-controls-play-button {}
-audio::-webkit-media-controls-timeline-container {
-    background:none;
-}
-audio::-webkit-media-controls-current-time-display {}
-audio::-webkit-media-controls-time-remaining-display {}
-audio::-webkit-media-controls-timeline {}
-audio::-webkit-media-controls-volume-slider-container {
-    background:none;
-}
-audio::-webkit-media-controls-volume-slider {}
-audio::-webkit-media-controls-seek-back-button {}
-audio::-webkit-media-controls-seek-forward-button {}
-audio::-webkit-media-controls-fullscreen-button {}
-audio::-webkit-media-controls-rewind-button {}
-audio::-webkit-media-controls-return-to-realtime-button {}
-audio::-webkit-media-controls-toggle-closed-captions-button {} */
-.animated {
-    -webkit-animation-duration:1s;
-    animation-duration:1s;
-    -webkit-animation-fill-mode:both;
-    animation-fill-mode:both
-}
-@-webkit-keyframes fadeInBottom {
-    0% {
-        opacity:0;
-        -webkit-transform:translate3d(0, 100%, 0);
-        transform:translate3d(0, 100%, 0)
-    }
-    to {
-        opacity:1;
-        -webkit-transform:translateZ(0);
-        transform:translateZ(0)
-    }
-}
-@keyframes fadeInBottom {
-    0% {
-        opacity:0;
-        -webkit-transform:translate3d(0, 100%, 0);
-        transform:translate3d(0, 100%, 0)
-    }
-    to {
-        opacity:1;
-        -webkit-transform:translateZ(0);
-        transform:translateZ(0)
-    }
-}
-.fadeInBottom {
-    -webkit-animation-name:fadeInBottom;
-    animation-name:fadeInBottom
-}
-
-@-webkit-keyframes fadeOutBottom {
-    0% {
-        opacity:1
-    }
-    to {
-        opacity:0;
-        -webkit-transform:translate3d(0, 100%, 0);
-        transform:translate3d(0, 100%, 0)
-    }
-}
-@keyframes fadeOutBottom {
-    0% {
-        opacity:1
-    }
-    to {
-        opacity:0;
-        -webkit-transform:translate3d(0, 100%, 0);
-        transform:translate3d(0, 100%, 0)
-    }
-}
-.fadeOutBottom {
-    -webkit-animation-name:fadeOutBottom;
-    animation-name:fadeOutBottom
-}
-
-.musicRotate {
-    -webkit-animation: musicRotate 5s linear infinite;
-    animation: musicRotate 5s linear infinite;
-} 
-@keyframes musicRotate {
-    from {
-        transform: rotate(0deg);
-      }
-      to {
-        transform: rotate(360deg);
-        transition: all 5s;
-      }
-}

+ 0 - 45
scene/public/4dage/index.html

@@ -1,45 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
-
-<head>
-    <meta charset="UTF-8">
-    <meta name="viewport" content="width=device-width, initial-scale=1.0">
-    <meta http-equiv="X-UA-Compatible" content="ie=edge">
-    <link rel=icon type=image/png sizes=32x32 href='./images/favicon.png' class=keep>
-    <link rel="stylesheet" href="./css/reset.css">
-    <link rel="stylesheet" href="./css/main.css">
-    <title>文物展示</title>
-</head>
-
-<body>
-    <div class="containers">
-        <p class="con-title">文物展示</p>
-        <ul class="con">
-            <!-- <li>
-                <div class="case">
-                    <a class="link-a" href="Model.html?m=YL01&v=1">
-                        <div class="card-img" style="background-image: url(images/YL01.jpg)">
-                        </div>
-                    </a>
-                </div>
-                <p>鸡娄鼓</p>
-            </li> -->
-        </ul>
-    </div>
-    <script>
-        let yp_num = ['nCR01','nCR02','nCR03','nCR04','nCR05']
-        // let notIn = [82,85,87,88,96,107,111,112,113,114,115,117,118]
-        //     for (let i = 0; i < 126; i++) {
-        //         if (!notIn.includes(i+1)) {
-        //             yp_num.push('jgs'+String(i+1).padStart(2,'0'))
-        //         }
-        //     }
-    </script>
-    <script src="js/jquery.js"></script>
-    <script src="https://res.wx.qq.com/open/js/jweixin-1.2.0.js"></script>
-    <script src="js/weixin.js"></script>
-    <script src="js/info.js"></script>
-    <script src="js/ui.js"></script>
-</body>
-
-</html>

File diff suppressed because it is too large
+ 0 - 1
scene/public/4dage/js/4dage.js


File diff suppressed because it is too large
+ 0 - 30
scene/public/4dage/js/browser.min.js


+ 0 - 152
scene/public/4dage/js/data.js

@@ -1,152 +0,0 @@
-const objNames = {
-    'YL01': {
-        name: '鸡娄鼓',
-        content: '高:30厘米<br>宽:20厘米'
-    },
-    'YL02': {
-        name: '鞉牢鼓',
-        content: '高:60厘米<br>直径:20厘米'
-    },
-    'YL03': {
-        name: '毛员鼓',
-        content: '高:61厘米<br>直径:20厘米'
-    },
-    'YL04': {
-        name: '和鼓',
-        content: '高:50厘米<br>直径:30厘米'
-    },
-    'YL05': {
-        name: '答腊鼓',
-        content: '高:24厘米<br>直径:28厘米'
-    },
-    'YL06': {
-        name: '正鼓',
-        content: '高:71厘米<br>直径:30厘米'
-    },
-    'YL07': {
-        name: '齐鼓',
-        content: '高:71厘米<br>直径:30厘米'
-    },
-    'YL08': {
-        name: '羯鼓',
-        content: '高:50厘米<br>直径:38厘米'
-    },
-    'YL09': {
-        name: '拍板',
-        content: '高:37厘米<br>宽:6厘米'
-    },
-    'YL10': {
-        name: '钹',
-        content: '直径:30厘米'
-    },
-    'YL11': {
-        name: '篪',
-        content: '长65厘米'
-    },
-    'YL12': {
-        name: '筚篥',
-        content: '长35厘米'
-    },
-    'YL13': {
-        name: '短笛',
-        content: '长:48厘米<br>直径:2.8厘米'
-    },
-    'YL14': {
-        name: '长笛',
-        content: '长:65厘米<br>直径:2.8厘米'
-    },
-    'YL15': {
-        name: '尺八',
-        content: '长:70厘米<br>直径:2.8厘米'
-    },
-    'YL16': {
-        name: '箫',
-        content: '长:70厘米<br>直径:2.8厘米'
-    },
-    'YL17': {
-        name: '排箫',
-        content: '长:45厘米<br>宽:40厘米'
-    },
-    'YL18': {
-        name: '双翼排箫',
-        content: '长:55厘米<br>宽:55厘米'
-    },
-    'YL19': {
-        name: '笙',
-        content: '长:48.3厘米<br>直径:9.6厘米<br>宽:26厘米'
-    },
-    'YL20': {
-        name: '吹叶',
-        content: '正常一片树叶大小'
-    },
-    'YL21': {
-        name: '螺贝',
-        content: '长:27厘米<br>宽:15厘米'
-    },
-    'YL22': {
-        name: '箜篌',
-        content: '长:115厘米<br>宽:64厘米<br>高:11厘米'
-    },
-    'YL23': {
-        name: '阮',
-        content: '长:120厘米<br>宽:48厘米<br>高:18厘米'
-    },
-    'YL24': {
-        name: '五弦琵琶',
-        content: '长:113厘米<br>宽:30厘米<br>高:9厘米'
-    },
-    'YL25': {
-        name: '周后石像',
-    },
-    'YL26': {
-        name: '抬棺武士石像',
-    },
-    'YL27': {
-        name: '抬棺武士石像',
-    },
-    'YL28': {
-        name: '四弦琵琶',
-        content: '长:113厘米<br>宽:30厘米<br>高:9厘米'
-    },
-    'YL29': {
-        name: '筝',
-        content: '长:165厘米<br>宽:18厘米'
-    },
-    'YL30': {
-        name: '地宫薄形砖',
-    },
-    'YL31': {
-        name: '地宫方形砖',
-    },
-    'YL32': {
-        name: '地宫小方砖',
-    },
-    'YL33': {
-        name: '地宫楔形石',
-    },
-    'YL34': {
-        name: '地宫楔形砖',
-    },
-    'YL35': {
-        name: '唐邛窑绿釉省油灯',
-    },
-    'YL36': {
-        name: '“东川”铭文地宫方形砖',
-    },
-    'YL37': {
-        name: '“金水”铭文地宫方形砖',
-    },
-    'YL38': {
-        name: '王建石像',
-    },
-};
-
-(function () {
-    var m = getQueryVariable('m');
-    var objName = objNames[m]['name']? objNames[m]['name'] : '';
-    var content = objNames[m]['content'];
-    var objNameElem = document.querySelector('#name');
-    objNameElem.innerHTML = objName;
-    var contentElem = document.querySelector('#content');
-    content && (contentElem.innerHTML = content)
-})()

+ 0 - 18
scene/public/4dage/js/info.js

@@ -1,18 +0,0 @@
-
-// const modelInfos = {
-// }
-
-// yp_num.forEach(item => {
-//   modelInfos[item] = {
-//     name: '',
-//     time: '',
-//     size: '',
-//     texture: '',
-//     level: '',
-//     num: '',
-//     keep: '',
-//     unit: '精品文物数字化保护',
-//     voice: '',
-//     content: []
-//   }
-// })

File diff suppressed because it is too large
+ 0 - 4
scene/public/4dage/js/jquery.js


+ 0 - 0
scene/public/4dage/js/model.js


+ 0 - 26
scene/public/4dage/js/ui.js

@@ -1,26 +0,0 @@
-(function () {
-    let fragment = document.createDocumentFragment();
- 
-    for (let i=0;i<yp_num.length;i++) {
-        let li = document.createElement('li');
-            let divWrap = document.createElement('div');
-            let a = document.createElement('a');
-            let div = document.createElement('div');
-            let p = document.createElement("p");
-            divWrap.classList.add('case');
-            a.classList.add('link-a');
-            a.href = `Model.html?m=${yp_num[i]}&v=1`;
-            div.classList.add('card-img');
-            div.style = `background-image: url(images/${yp_num[i]}.jpg)`;
-            let key = yp_num[i];
-            p.innerHTML = modelInfos[key].name;
-            a.appendChild(div);           
-            divWrap.appendChild(a);
-            li.appendChild(divWrap);
-            li.appendChild(p);
-            fragment.appendChild(li);
-    }
-    let ul = document.querySelector('.con');
-    ul.appendChild(fragment);
-    
-})()

+ 0 - 131
scene/public/4dage/js/weixin.js

@@ -1,131 +0,0 @@
-var lineLink = window.location.href;
-var desc = '点击进入:在线720°鉴赏精品文物';
-var projectName = 'DG';
-
-var getQueryVariable = function(variable){
-  var query = window.location.search.substring(1);
-  var vars = query.split("&");
-  for (var i=0;i<vars.length;i++) {
-          var pair = vars[i].split("=");
-          if(pair[0] == variable){return pair[1];}
-  }
-  return(false);
-};
-
-let param = getQueryVariable('m');
-// let desc = param?;
-
-function jssdk() {
-	 $.ajax({    
-		url:'http://www.4dage.com/wechat/jssdk/share/', 
-		type: "post",
-		data : {
-            'uri' : location.href.split('#')[0],
-            'name': '厦门四维时代微信公众号'
-		}, 
-		dataType:"jsonp",     
-		jsonpCallback:"success_jsonp",         
-		success:function(data,textStatus){
-			wx.config({
-				// debug : true,
-				appId : data.appId,
-				timestamp : data.timestamp,
-				nonceStr : data.nonceStr,
-				signature : data.signature,
-				jsApiList : [ 'checkJsApi', 'onMenuShareTimeline',
-						'onMenuShareAppMessage', 'onMenuShareQQ',
-						'onMenuShareWeibo', 'hideMenuItems',
-						'showMenuItems', 'hideAllNonBaseMenuItem',
-						'showAllNonBaseMenuItem', 'translateVoice',
-						'startRecord', 'stopRecord', 'onRecordEnd',
-						'playVoice', 'pauseVoice', 'stopVoice',
-						'uploadVoice', 'downloadVoice', 'chooseImage',
-						'previewImage', 'uploadImage', 'downloadImage',
-						'getNetworkType', 'openLocation', 'getLocation',
-						'hideOptionMenu', 'showOptionMenu', 'closeWindow',
-						'scanQRCode', 'chooseWXPay',
-						'openProductSpecificView', 'addCard', 'chooseCard',
-						'openCard' ]
-			});
-		},    
-		error:function(XMLHttpRequest,textStatus,errorThrown){    
-			console.log("jsonp.error:"+textStatus);    
-		}    
-	 }); 
-	
-	 var success_jsonp = function(json){
-		console.log(json);
-	 };
-}
-
-wx.ready(function(){ 
-	// config信息验证后会执行ready方法,所有接口调用都必须在config接口获得结果之后,config是一个客户端的异步操作,所以如果需要在页面加载时就调用相关接口,则须把相关接口放在ready函数中调用来确保正确执行〿
-	//对于用户触发时才调用的接口,则可以直接调用,不需要放在ready函数中〿
-	//分享到朋友圈 
-	wx.onMenuShareTimeline({ 
-	title: document.querySelector("head title").innerHTML, // 分享标题 
-	link: lineLink, // 分享链接 
-	imgUrl: 'http://model3d.4dage.com/3D/2018/model/'+projectName+'/images/weixin/'+getQueryVariable("m")+'.jpg', // 分享图标 
-	desc: desc
-	}); 
-
-	//获取“分享给朋友”按钮点击状态及自定义分享内容接叿
-	wx.onMenuShareAppMessage({ 
-        title: '义乌博物馆', // 分享标题 
-        desc: param?modelData[param].CN_Name:'',  // 分享描述 
-        link: lineLink + '?t=' + new Date().getTime(), // 分享链接 
-        // imgUrl: 'http://model3d.4dage.com/3D/2018/model/'+projectName+'/images/weixin/'+getQueryVariable("m")+'.jpg', // 分享图标 
-        imgUrl: 'https://model3d.4dage.com/3D/2018/model/sh/images/bg.jpg', // 分享图标 
-        type: '', // 分享类型,music、video或link,不填默认为link 
-        dataUrl: '', // 如果type是music或video,则要提供数据链接,默认为空 
-        success: function () {
-        },
-	}); 
-});
-
-wx.onMenuShareWeibo({
-	title: document.querySelector("head title").innerHTML, // 分享标题
-	desc: desc, // 分享描述
-	link: lineLink, // 分享链接
-	imgUrl: 'http://model3d.4dage.com/3D/2018/model/'+projectName+'/images/weixin/'+getQueryVariable("m")+'.jpg', // 分享图标
-	success: function () { 
-	   // 用户确认分享后执行的回调函数
-	},
-	cancel: function () { 
-		// 用户取消分享后执行的回调函数
-	}
-});
-
-wx.onMenuShareQZone({
-	title: document.querySelector("head title").innerHTML, // 分享标题
-	desc: desc, // 分享描述
-	link: lineLink, // 分享链接
-	imgUrl: 'http://model3d.4dage.com/3D/2018/model/'+projectName+'/images/weixin/'+getQueryVariable("m")+'.jpg', // 分享图标
-	success: function () { 
-	   // 用户确认分享后执行的回调函数
-	},
-	cancel: function () { 
-		// 用户取消分享后执行的回调函数
-	}
-});
-
-wx.onMenuShareQQ({
-	title: document.querySelector("head title").innerHTML, // 分享标题
-	desc: desc, // 分享描述
-	link: lineLink, // 分享链接
-	imgUrl: 'http://model3d.4dage.com/3D/2018/model/'+projectName+'/images/weixin/'+getQueryVariable("m")+'.jpg', // 分享图标
-	success: function () { 
-	   // 用户确认分享后执行的回调函数
-	},
-	cancel: function () { 
-	   // 用户取消分享后执行的回调函数
-	}
-});
-
-wx.error(function(res){ 
-// config信息验证失败会执行error函数,如签名过期导致验证失败,具体错误信息可以打开config的debug模式查看,也可以在返回的res参数中查看,对于SPA可以在这里更新签名〿
-
-});
-
-jssdk();
-

+ 3 - 5
scene/public/static/css/main.css

@@ -4021,7 +4021,6 @@ a.hasHover:hover, a:active {
     float: left;
     width: calc(100% - 58px);
     height: 100%;
-    background-color: #A1653B;
 }
 
 .fullWidth .frame-container {
@@ -4033,7 +4032,6 @@ a.hasHover:hover, a:active {
     width: 100%;
     height: 132px;
     float: left;
-    background-color: #A1653B;
     position: relative;
 }
 
@@ -4188,18 +4186,18 @@ a.hasHover:hover, a:active {
 
 #progressBar .step::before {
     content: '';
-    background-color: #774926;
+    background-color: #fff;
     width: 100%;
     height: 100%;
     display: block
 }
 
 #progressBar .step.active::before, #progressBar .step.recent::before {
-    background-color: #FFF6D2;
+    background-color: #E5C4A8;
 }
 
 #progressBar .step.upcoming::before {
-    background-color: #BFAF1E
+    background-color: #fff
 }
 
 .terms2 {

+ 26 - 22
scene/public/static/js/loadCAD.js

@@ -5,7 +5,7 @@ window.grendCAD = (function grendCAD() {
   let point, dire
 
   window.cad = {
-    setSign: function(p, d) {
+    setSign: function (p, d) {
       point = p
       dire = d
     }
@@ -16,7 +16,7 @@ window.grendCAD = (function grendCAD() {
 
     let $script = document.createElement('script')
     $script.src = '//www.4dmodel.com/CAD/bundle.js'
-    $script.onload = function() {
+    $script.onload = function () {
       initScript = true
       cb()
     }
@@ -38,12 +38,14 @@ window.grendCAD = (function grendCAD() {
     style.innerHTML = `
       .cad {
         position: absolute;
-        right: 80px;
-        top: 16px;
-        width: 200px;
-        height: 200px;
-        background: rgba(0, 0, 0, .3);
+        right: 20px;
+        top: 20px;
+        width: 180px;
+        height: 180px;
+        background: rgba(81, 32, 32, 0.4);
         border-radius: 5px;
+        border: 1px solid #d1b198;
+        pointer-events: none;
       }
 
       .cad > div {
@@ -58,8 +60,10 @@ window.grendCAD = (function grendCAD() {
             top: 50px;
             width: 100px;
             height: 100px;
-            background: rgba(0, 0, 0, .3);
+            background: rgba(81, 32, 32, 0.4);
             border-radius: 5px;
+            border: 1px solid #d1b198;
+            pointer-events: none;
         }
       }
     `
@@ -90,7 +94,7 @@ window.grendCAD = (function grendCAD() {
   }
 
 
-  return function(floor, $parent, signColor, borderColor, borderWidth) {
+  return function (floor, $parent, signColor, borderColor, borderWidth) {
     if (initFloor) {
       console.log('cache')
       return setStyle(signColor, borderColor, borderWidth)
@@ -98,28 +102,28 @@ window.grendCAD = (function grendCAD() {
     console.log('load')
     initFloor = floor
 
-    loadScript(function() {
+    loadScript(function () {
       let $layer = loadDOM($parent)
 
       $layer.style.visibility = 'hidden'
       window.cad = structureCAD({
         data: {
-            block: [],
-            column: [],
-            door: [],
-            hole: [],
-            segment: [],
-            "vertex-xy": [],
-            "vertex-z": [],
-        }, 
+          block: [],
+          column: [],
+          door: [],
+          hole: [],
+          segment: [],
+          "vertex-xy": [],
+          "vertex-z": [],
+        },
         layer: $layer.querySelector('#cad'),
         edit: false
       });
-      
+
       setStyle(signColor, borderColor, borderWidth)
       cad.hideDire()
       cad.hideGauge()
-  
+
       console.log('loadData')
       cad.loadData(initFloor);
       if (point && dire) {
@@ -139,9 +143,9 @@ $.ajax({
     if (!data.showCad) return
 
 
-    
+
     $.ajax({
-      url: '//super.4dage.com/data/'+ window.number +'/floor.json', 
+      url: '//super.4dage.com/data/' + window.number + '/floor.json',
       method: 'GET',
       success(res) {
         grendCAD(res, document.querySelector('body'), data.cadSignColor, data.cadBorderColor, data.cadBorderWidth)

二進制
scene/src/assets/images/icon/auto.png


二進制
scene/src/assets/images/icon/auto_active.png


二進制
scene/src/assets/images/icon/dollhouse.png


二進制
scene/src/assets/images/icon/dollhouse_active.png


二進制
scene/src/assets/images/icon/floor.png


二進制
scene/src/assets/images/icon/floor_active.png


二進制
scene/src/assets/images/icon/fullscreen.png


二進制
scene/src/assets/images/icon/fullscreen_exit.png


二進制
scene/src/assets/images/icon/inside.png


二進制
scene/src/assets/images/icon/inside_active.png


二進制
scene/src/assets/images/icon/musicoff.png


二進制
scene/src/assets/images/icon/musicon.png


二進制
scene/src/assets/images/icon/pause.png


二進制
scene/src/assets/images/icon/play.png


二進制
scene/src/assets/img/1185.jpg


二進制
scene/src/assets/img/1186.jpg


二進制
scene/src/assets/img/1187.jpg


二進制
scene/src/assets/img/1188.jpg


二進制
scene/src/assets/img/antique.png


二進制
scene/src/assets/img/antiqueAc.png


二進制
scene/src/assets/img/closeT.png


二進制
scene/src/assets/img/code1185.png


二進制
scene/src/assets/img/code1186.png


二進制
scene/src/assets/img/code1187.png


二進制
scene/src/assets/img/code1188.png


二進制
scene/src/assets/img/full.png


二進制
scene/src/assets/img/fullAc.png


二進制
scene/src/assets/img/goodBg.png


二進制
scene/src/assets/img/hotspot.png


二進制
scene/src/assets/img/hotspotAc.png


二進制
scene/src/assets/img/hoverTit.png


File diff suppressed because it is too large
+ 1 - 0
scene/src/assets/img/left.svg


二進制
scene/src/assets/img/logo.png


二進制
scene/src/assets/img/mapAc.png


二進制
scene/src/assets/img/mapBS.png


二進制
scene/src/assets/img/music.png


二進制
scene/src/assets/img/musicAc.png


二進制
scene/src/assets/img/navigation.png


二進制
scene/src/assets/img/navigationAc.png


File diff suppressed because it is too large
+ 1 - 0
scene/src/assets/img/right.svg


二進制
scene/src/assets/img/serachNull.png


二進制
scene/src/assets/img/share.png


二進制
scene/src/assets/img/shareAc.png


二進制
scene/src/assets/img/tab3Full.png


二進制
scene/src/assets/img/tab3FullX.png


二進制
scene/src/assets/img/tabBac.png


二進制
scene/src/assets/img/toHome.png


+ 39 - 0
scene/src/assets/style/myBase.css

@@ -0,0 +1,39 @@
+#gui .pinBottom.right {
+  height: 60px;
+  display: flex;
+  align-items: center;
+}
+.pinBottom-container.drawerOpen {
+  bottom: 0;
+}
+#drawer-container.drawerOpen #drawer.open {
+  height: 140px;
+}
+#drawer-container.drawerOpen #drawer.open.noScroll,
+#drawer.open.noScroll.playing {
+  height: 137px;
+}
+#thumb-container .thumbImg .overlay {
+  color: #fff;
+}
+#thumb-container .active .overlay {
+  color: #FFF6D2;
+}
+#thumb-container .active > img {
+  border: 3px solid #FFF6D2;
+}
+#drawer {
+  background-color: rgba(163, 51, 40, 0.9);
+}
+#drawer .darkGlass {
+  background-color: transparent;
+}
+#cad path {
+  stroke-width: 0.5;
+  fill: rgba(163, 51, 40, 0.9);
+  stroke: #d1b198;
+}
+#ele1 circle {
+  fill: rgba(163, 51, 40, 0.9);
+  r: 1;
+}

+ 59 - 0
scene/src/assets/style/myBase.less

@@ -0,0 +1,59 @@
+#gui .pinBottom.right {
+  height: 60px;
+  display: flex;
+  align-items: center;
+}
+
+.pinBottom-container.drawerOpen {
+  bottom: 0;
+}
+
+#drawer-container.drawerOpen #drawer.open {
+  height: 140px;
+}
+
+#drawer-container.drawerOpen #drawer.open.noScroll,
+#drawer.open.noScroll.playing {
+  height: 137px;
+}
+
+#thumb-container {
+  .thumbImg {
+    .overlay {
+      color: #fff;
+    }
+  }
+
+  .active {
+    .overlay {
+      color: #FFF6D2;
+    }
+
+    &>img {
+      border: 3px solid #FFF6D2;
+    }
+  }
+}
+
+#drawer {
+  background-color: rgba(163, 51, 40, .9);
+
+  .darkGlass {
+    background-color: transparent;
+  }
+}
+
+
+#cad path {
+  stroke-width: 0.5;
+  fill: rgba(163, 51, 40, .9);
+  // 改变地图线的颜色
+  stroke: #d1b198
+}
+
+#ele1 {
+  circle {
+    fill: rgba(163, 51, 40, .9);
+    r: 1;
+  }
+}

+ 4 - 0
scene/src/main.js

@@ -6,6 +6,10 @@ import '@/mixins'
 import router from './router'
 import 'viewerjs/dist/viewer.css'
 import Viewer from 'v-viewer'
+
+// 重置场景样式
+import './assets/style/myBase.css'
+
 Vue.use(Viewer,{
   defaultOptions: {
     navbar:false,

+ 5 - 21
scene/src/pages/Home.vue

@@ -12,7 +12,7 @@
     <div id="player"></div>
 
     <!-- 底部菜单 -->
-    <div id="gui-parent" :class="{ guiParent: pageFlag }">
+    <div id="gui-parent">
       <!-- 进度条加载 -->
       <gui-loading />
       <div id="hot"></div>
@@ -29,10 +29,10 @@
         <v-title />
 
         <!-- 底部菜单 -->
-        <v-menu @hndeMenu="hndeMenu" />
+        <v-menu />
 
         <!-- 导览 -->
-        <v-guide :pageFlag="pageFlag" />
+        <v-guide />
 
         <!-- logo -->
         <div
@@ -115,8 +115,6 @@ export default {
       showWelcome: true,
       hotspots: "",
       loading: true,
-      // 控制页面宽度(通过菜单的展开和隐藏)
-      pageFlag: false,
       // 控制背景音乐
       musicFlag: true,
     };
@@ -128,10 +126,7 @@ export default {
       this.musicFlag = false;
     },
     // 控制背景音乐播放👆
-    hndeMenu(val) {
-      this.pageFlag = val;
-    },
-    // 子组件菜单传递过来隐藏和展开事件 👆
+
     hideWelcome() {
       this.showWelcome = false;
       window.manage.switchBgmState(true);
@@ -189,7 +184,7 @@ export default {
           location.reload(true);
         }, 1000);
       }
-    } 
+    }
   },
 };
 </script>
@@ -218,15 +213,4 @@ export default {
     display: inline-block;
   }
 }
-
-#gui-parent {
-  width: calc(100% - 200px);
-}
-.guiParent {
-  width: 100% !important;
-}
-/deep/#drawer {
-  transition: all 0.3s;
-  width: calc(100% - 200px);
-}
 </style>

+ 0 - 511
scene/src/views/gui/compomemt/antique.vue

@@ -1,511 +0,0 @@
-<template>
-  <div class="antique" :class="{ full: smBtn }">
-    <!-- 毛玻璃 -->
-    <div class="meanPageMBL"></div>
-
-    <div class="main">
-      <div class="top">
-        <div class="row">类型:</div>
-        <div
-          class="row"
-          v-for="item in topData"
-          @click="cutType(item.type)"
-          :key="item.name"
-          :class="{ active: item.type === formData.type }"
-        >
-          {{ item.name }}
-        </div>
-        <div class="search" @keyup.enter="mySearch">
-          <el-input
-            prefix-icon="el-icon-search"
-            type="text"
-            placeholder="搜索"
-            v-model="formData.searchKey"
-            maxlength="10"
-          />
-          <span class="btnn" @click="mySearch"></span>
-        </div>
-      </div>
-      <!-- 没有数据的时候 -->
-      <div class="hint" v-if="myArr.length === 0">
-        <img src="@/assets/img/serachNull.png" alt="" />
-        <p>暂时没有数据</p>
-        <p>请试一下其他关键字</p>
-      </div>
-      <!-- 渲染的内容 -->
-      <div class="infoBox" v-else>
-        <div
-          @click="lookInfo(item)"
-          class="infoRow"
-          :title="item.name"
-          v-for="item in myArr"
-          :key="item.id"
-        >
-          <img :src="baseURL + item.thumb" alt="" />
-          <p>{{ item.name }}</p>
-        </div>
-      </div>
-      <!-- 分页 -->
-      <div class="paging" v-show="myArr.length !== 0">
-        <el-pagination
-          layout="prev,pager,next,jumper"
-          :total="total"
-          :current-page="formData.pageNum"
-          @current-change="currentChange"
-          @size-change="sizeChange"
-        >
-        </el-pagination>
-      </div>
-      <!-- 关闭按钮 -->
-      <div class="close el-icon-close" @click="$emit('close')"></div>
-    </div>
-    <!-- 模型和图片 -->
-    <div class="model" v-if="modelShow">
-      <div class="ifrCon" ref="ifrCon">
-        <img
-          :src="baseURL + txtInfo.thumb"
-          alt=""
-          v-if="txtInfo.type === 'img'"
-        />
-        <div class="iframeBox" v-else>
-          <!-- 全屏的底部名字和右上角logo -->
-          <div class="fullLogo" v-if="fullscreen"></div>
-          <div class="fullName" v-if="fullscreen">{{txtInfo.name}}</div>
-        <iframe :src="mySrc" frameborder="0"></iframe>
-        </div>
-        <!-- 全屏按钮 -->
-        <div class="full" @click="screen">
-          <img src="@/assets/img/tab3FullX.png" alt="" v-if="fullscreen" />
-          <img src="@/assets/img/tab3Full.png" alt="" v-else />
-        </div>
-      </div>
-      <div class="rightTxt">
-        <h3>{{ txtInfo.name }}</h3>
-        <p class="ppov" v-html="txtInfo.description"></p>
-      </div>
-      <!-- 返回按钮 -->
-      <div class="close el-icon-arrow-left" @click="modelShow = false"></div>
-    </div>
-  </div>
-</template>
-
-<script>
-import axios from "@/utils/request";
-import { goodList } from "@/utils/api";
-export default {
-  name: "antique",
-  props: {
-    smBtn: {
-      type: Boolean,
-      default: false,
-    },
-  },
-  components: {},
-  data() {
-    //这里存放数据
-    return {
-      total: 0,
-      baseURL: "",
-      topData: [
-        { name: "全部", type: "" },
-        { name: "精品图片", type: "img" },
-        { name: "三维模型", type: "model" },
-      ],
-      formData: {
-        pageNum: 1,
-        pageSize: 10,
-        searchKey: "",
-        type: "",
-      },
-      myArr: [],
-      // 有关三维模型的数据
-      mySrc: "",
-      modelShow: false,
-      fullscreen: false,
-      txtInfo: {},
-    };
-  },
-  //监听属性 类似于data概念
-  computed: {},
-  //监控data中的数据变化
-  watch: {},
-  //方法集合
-  methods: {
-    // 点击模型全屏
-    screen() {
-      const element = this.$refs.ifrCon; // 获取容器
-      if (this.fullscreen) {
-        // 如果已经全屏了就退出全屏
-
-        if (document.exitFullscreen) {
-          document.exitFullscreen();
-        } else if (document.webkitCancelFullScreen) {
-          document.webkitCancelFullScreen();
-        } else if (document.mozCancelFullScreen) {
-          document.mozCancelFullScreen();
-        } else if (document.msExitFullscreen) {
-          document.msExitFullscreen();
-        }
-      } else {
-        // 如果不是全屏就变成全屏
-        if (element.requestFullscreen) {
-          element.requestFullscreen();
-        } else if (element.webkitRequestFullScreen) {
-          element.webkitRequestFullScreen();
-        } else if (element.mozRequestFullScreen) {
-          element.mozRequestFullScreen();
-        } else if (element.msRequestFullscreen) {
-          // IE11
-          element.msRequestFullscreen();
-        }
-      }
-
-      this.fullscreen = !this.fullscreen;
-    },
-    lookInfo(item) {
-      this.txtInfo = item;
-      // 三维模型
-      this.mySrc = "4dage/Model.html?m=" + item.filePath;
-      this.modelShow = true;
-    },
-    mySearch() {
-      this.formData.pageNum = 1;
-      this.goodList(this.formData);
-    },
-    cutType(type) {
-      this.formData.type = type;
-      this.formData.pageNum = 1;
-      this.goodList(this.formData);
-    },
-    // 分页器方法
-    currentChange(val) {
-      // console.log('当前页改变了', val)
-      this.formData.pageNum = val;
-      this.goodList(this.formData);
-    },
-    sizeChange(val) {
-      // console.log('条数改变了', val)
-      this.formData.pageNum = 1;
-      this.formData.pageSize = val;
-      this.goodList(this.formData);
-    },
-    // 封装获取列表函数
-    async goodList(data) {
-      const res = await goodList(data);
-      this.total = res.data.total;
-      this.myArr = res.data.records;
-    },
-  },
-  //生命周期 - 创建完成(可以访问当前this实例)
-  created() {
-    // 获取服务器前缀地址
-    this.baseURL = axios.defaults.baseURL;
-    this.goodList(this.formData);
-    // 设置一个全局变量控制空格建的监听
-    window.myKeyBlank = true;
-  },
-  //生命周期 - 挂载完成(可以访问DOM元素)
-  mounted() {
-    // 监听esc事件
-    document.addEventListener("webkitfullscreenchange", (e) => {
-      if (!e.currentTarget.webkitIsFullScreen) {
-        // console.log('退出啊webkitIsFullScreen11111111111')
-        setTimeout(() => {
-          this.fullscreen = false;
-        }, 100);
-      } else {
-        // console.log('进入webkitIsFullScreen')
-      }
-    });
-
-    document.addEventListener("fullscreenchange", () => {
-      if (!document.fullscreenElement) {
-        // console.log('退出啊fullscreenchange1111111111')
-        setTimeout(() => {
-          this.fullscreen = false;
-        }, 100);
-      } else {
-        // console.log('进入fullscreenchange')
-      }
-    });
-
-    document.addEventListener("MSFullscreenChange", () => {
-      if (!document.msFullscreenElement) {
-        // console.log('IE退出111111')
-        setTimeout(() => {
-          this.fullscreen = false;
-        }, 100);
-      } else {
-        // console.log('IE进')
-      }
-    });
-    document.addEventListener("mozfullscreenchange", () => {
-      if (!document.mozFullScreenElement) {
-        // console.log('火狐退出1111111111111')
-        this.$nextTick(() => {
-          setTimeout(() => {
-            this.fullscreen = false;
-          }, 100);
-        });
-      } else {
-        // console.log('火狐进')
-      }
-    });
-  },
-  beforeCreate() {}, //生命周期 - 创建之前
-  beforeMount() {}, //生命周期 - 挂载之前
-  beforeUpdate() {}, //生命周期 - 更新之前
-  updated() {}, //生命周期 - 更新之后
-  beforeDestroy() {
-    window.myKeyBlank = false;
-  }, //生命周期 - 销毁之前
-  destroyed() {}, //生命周期 - 销毁完成
-  activated() {}, //如果页面有keep-alive缓存功能,这个函数会触发
-};
-</script>
-<style lang='less' scoped>
-.antique {
-  transition: width 0.3s;
-  color: #fff6d2;
-  position: fixed;
-  top: 0;
-  left: 0;
-  z-index: 998;
-  width: calc(100% - 200px);
-  height: 100%;
-  // m毛玻璃
-  .meanPageMBL {
-    position: absolute;
-    left: 0;
-    top: 0;
-    width: 100%;
-    height: 100%;
-    background: rgba(161, 101, 59, 0.8);
-    backdrop-filter: blur(4px);
-    z-index: -1;
-  }
-  .close {
-    color: #cc946d;
-    font-size: 34px;
-    cursor: pointer;
-    position: absolute;
-    right: 40px;
-    top: 55px;
-  }
-  .main {
-    color: #774926;
-    padding: 55px 26px 0;
-    position: absolute;
-    top: 50%;
-    left: 50%;
-    transform: translate(-50%, -50%);
-    width: 1200px;
-    height: 700px;
-    background: url("../../../assets/img/goodBg.png");
-    background-size: 100% 100%;
-    .top {
-      height: 36px;
-      display: flex;
-      align-items: center;
-      font-size: 16px;
-      .row {
-        cursor: pointer;
-        height: 36px;
-        line-height: 36px;
-        padding: 0 20px;
-        border-radius: 18px;
-        margin-right: 15px;
-        &:nth-of-type(1) {
-          pointer-events: none;
-          margin-right: 0;
-        }
-      }
-      .active {
-        background-color: #cc946d;
-        color: #fff6d2;
-      }
-      .search {
-        position: relative;
-        /deep/.el-icon-search {
-          color: #774926;
-          font-size: 20px;
-          margin-top: -1px;
-        }
-        .btnn {
-          z-index: 10;
-          cursor: pointer;
-          position: absolute;
-          left: 0;
-          top: 0;
-          height: 36px;
-          width: 36px;
-          border-radius: 50%;
-          background-color: transparent;
-        }
-      }
-    }
-    .hint {
-      text-align: center;
-      margin-top: 100px;
-      width: 100%;
-      height: 380px;
-      & > p {
-        color: #cc946d;
-        font-size: 20px;
-        margin-top: 20px;
-      }
-    }
-    .infoBox {
-      display: flex;
-      flex-wrap: wrap;
-      margin-top: 55px;
-      width: 100%;
-      height: 410px;
-      .infoRow {
-        margin-right: 12px;
-        margin-bottom: 26px;
-        cursor: pointer;
-        overflow: hidden;
-        width: 220px;
-        height: 192px;
-        border-radius: 6px;
-        background-color: #fff;
-        & > img {
-          width: 100%;
-          height: 154px;
-          object-fit: cover;
-        }
-        & > p {
-          padding: 0 10px;
-          width: 100%;
-          height: 38px;
-          line-height: 38px;
-          font-size: 14px;
-          text-align: center;
-          overflow: hidden;
-          text-overflow: ellipsis;
-          white-space: nowrap;
-        }
-        &:nth-of-type(5n) {
-          margin-right: 0;
-        }
-        &:hover {
-          & > p {
-            color: #cc946d;
-          }
-        }
-      }
-    }
-    .paging {
-      position: absolute;
-      bottom: 70px;
-      left: 0;
-      width: 100%;
-      display: flex;
-      justify-content: center;
-    }
-  }
-  // 模型
-  .model {
-    color: #774926;
-    padding: 110px 26px 0;
-    position: absolute;
-    top: 50%;
-    left: 50%;
-    transform: translate(-50%, -50%);
-    width: 1200px;
-    height: 700px;
-    background: url("../../../assets/img/goodBg.png");
-    background-size: 100% 100%;
-    display: flex;
-    .ifrCon {
-      background-color: #fff6d2;
-      position: relative;
-      width: 558px;
-      height: 478px;
-      .iframeBox{
-        position: relative;
-        width: 100%;
-        height: 100%;
-        .fullLogo{
-          position: absolute;
-          z-index: 10;
-          right: 10px;
-          top: 10px;
-          width: 166px;
-          height: 43px;
-          background: url('../../../assets/img/logo.png');
-          background-size: 100% 100%;
-        }
-        .fullName{
-          position: absolute;
-          left: 50%;
-          bottom: 20px;
-          transform: translateX(-50%);
-          color: #774926;
-          font-size: 24px;
-        }
-        iframe {
-          width: 100%;
-          height: 100%;
-        }
-      }
-      & > img {
-        max-width: 100%;
-        max-height: 100%;
-        position: absolute;
-        left: 50%;
-        top: 50%;
-        transform: translate(-50%, -50%);
-      }
-      .full {
-        width: 30px;
-        height: 30px;
-        cursor: pointer;
-        position: absolute;
-        right: 10px;
-        bottom: 10px;
-        color: #fff;
-        & > img {
-          width: 30px;
-          height: 30px;
-        }
-      }
-    }
-    .rightTxt {
-      padding-right: 20px;
-      height: 478px;
-      flex: 1;
-      margin-left: 110px;
-      display: flex;
-      flex-direction: column;
-      justify-content: center;
-      align-items: center;
-      & > h3 {
-        width: 100%;
-        word-break: break-all;
-        font-size: 30px;
-        margin-bottom: 20px;
-      }
-      & > P {
-        padding-right: 15px;
-        max-height: calc(100% - 60px);
-        overflow-y: auto;
-        line-height: 24px;
-        width: 100%;
-        word-break: break-all;
-        color: #cc946d;
-        font-size: 16px;
-      }
-
-      .ppov::-webkit-scrollbar-thumb {
-        outline: 2px solid #cc946d;
-      }
-    }
-  }
-}
-
-.full {
-  width: 100%;
-}
-</style>

+ 0 - 142
scene/src/views/gui/compomemt/hotspot.vue

@@ -1,142 +0,0 @@
-<template>
-  <div class="hotspot" :class="{ full: smBtn }">
-    <div class="top">热点列表</div>
-    <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
-        >
-      </div>
-      <!-- 关闭按钮 -->
-      <div class="close" @click="$emit('close')"></div>
-    </div>
-  </div>
-</template>
-
-<script>
-export default {
-  name: "hotspot",
-  props: {
-    smBtn: {
-      type: Boolean,
-      default: false,
-    },
-  },
-  components: {},
-  data() {
-    //这里存放数据
-    return {
-      data: [],
-      hotInd: null,
-    };
-  },
-  //监听属性 类似于data概念
-  computed: {},
-  //监控data中的数据变化
-  watch: {},
-  //方法集合
-  methods: {
-    openHot(e, index) {
-      // 停止自动导览
-      window.player.director.stopTour();
-      setTimeout(() => {
-        e && e.examine(window.player, true);
-        this.hotInd = index;
-      }, 200);
-    },
-  },
-  //生命周期 - 创建完成(可以访问当前this实例)
-  created() {
-    this.data = window.myHotList;
-  },
-  //生命周期 - 挂载完成(可以访问DOM元素)
-  mounted() {},
-  beforeCreate() {}, //生命周期 - 创建之前
-  beforeMount() {}, //生命周期 - 挂载之前
-  beforeUpdate() {}, //生命周期 - 更新之前
-  updated() {}, //生命周期 - 更新之后
-  beforeDestroy() {}, //生命周期 - 销毁之前
-  destroyed() {}, //生命周期 - 销毁完成
-  activated() {}, //如果页面有keep-alive缓存功能,这个函数会触发
-};
-</script>
-<style lang='less' scoped>
-.hotspot {
-  width: 340px;
-  height: 100%;
-  position: fixed;
-  top: 0;
-  right: 0;
-  transition: all 0.3s;
-  transform: translateX(-200px);
-  z-index: 998;
-  .top {
-    width: 100%;
-    height: 100px;
-    line-height: 100px;
-    background-color: #cc946d;
-    color: #fff6d2;
-    font-size: 16px;
-    text-align: center;
-    align-items: center;
-  }
-  .main {
-    width: 100%;
-    height: calc(100% - 100px);
-    background-color: rgba(255, 246, 210, 1);
-    .txtNone {
-      height: 90%;
-      color: #7e522f;
-      font-size: 24px;
-      display: flex;
-      align-items: center;
-      justify-content: center;
-    }
-    .txt {
-      padding: 20px;
-      height: 90%;
-      overflow-y: auto;
-      color: #7e522f;
-      font-size: 16px;
-      & > span {
-        margin-top: 20px;
-        cursor: pointer;
-        display: block;
-        width: 100%;
-        text-align: center;
-      }
-      :hover {
-        color: #d4a781;
-      }
-    }
-    .active {
-      color: #d4a781;
-    }
-    .txt::-webkit-scrollbar-thumb {
-      outline: 2px solid #cc946d;
-    }
-    .txt::-webkit-scrollbar {
-      width: 4px;
-    }
-    .close {
-      cursor: pointer;
-      width: 100%;
-      height: 10%;
-      background: url("../../../assets/img/closeT.png") no-repeat center center;
-      background-size: 44px 44px;
-      &:hover {
-        background: url("../../../assets/img/close.png") no-repeat center center;
-        background-size: 44px 44px;
-      }
-    }
-  }
-}
-.full {
-  transform: translateX(0);
-}
-</style>

+ 0 - 233
scene/src/views/gui/compomemt/mapNav.vue

@@ -1,233 +0,0 @@
-<template>
-  <div class="mapNav" :class="{ full: smBtn }">
-    <!-- 毛玻璃 -->
-    <div class="meanPageMBL"></div>
-
-    <div class="main">
-      <div
-        class="row"
-        :class="{ noneAc: refer.includes(item.url) }"
-        v-for="item in data"
-        :key="item.id"
-      >
-        <div class="rowtxt">
-          <div class="one">{{ item.name }}</div>
-          <div class="tow" v-if="item.num">{{ item.num }}</div>
-          <div class="three" v-html="item.txt" v-if="item.txt"></div>
-        </div>
-        <img :src="require(`@/assets/img/${item.url}.jpg`)" alt="" />
-        <p class="bs">·</p>
-        <p>{{item.name+(item.num?item.num:'')}}</p>
-        <!-- 背景遮造 -->
-        <div class="smak" @click="cutScene(item.url)">
-          <div>点击<br />浏览</div>
-        </div>
-      </div>
-    </div>
-    <!-- 关闭按钮 -->
-    <div class="close el-icon-close" @click="$emit('close')"></div>
-  </div>
-</template>
-
-<script>
-export default {
-  name: "mapNav",
-  props: {
-    smBtn: {
-      type: Boolean,
-      default: false,
-    },
-  },
-  components: {},
-  data() {
-    //这里存放数据
-    return {
-      data: [
-        { name: "序厅", url: "1185" },
-        {
-          name: "吴忠溯源",
-          num: "(一)",
-          txt: "远古印记<br/>魏晋南北朝时期",
-          url: "1186",
-        },
-        {
-          name: "吴忠溯源",
-          num: "(二)",
-          txt: "隋唐时期<br/>元明清时期",
-          url: "1187",
-        },
-        {
-          name: "红色吴忠展厅",
-          txt:'革命战争时期',
-          url: "1188",
-        },
-      ],
-      refer: "",
-    };
-  },
-  //监听属性 类似于data概念
-  computed: {},
-  //监控data中的数据变化
-  watch: {},
-  //方法集合
-  methods: {
-    // 点击切换场景
-    cutScene(url) {
-      window.location.href =
-        window.location.origin + window.location.pathname + `#/?m=${url}`;
-      location.reload(true);
-    },
-  },
-  //生命周期 - 创建完成(可以访问当前this实例)
-  created() {
-    // 获取当前地址栏参数
-    this.refer = window.location.hash;
-  },
-  //生命周期 - 挂载完成(可以访问DOM元素)
-  mounted() {},
-  beforeCreate() {}, //生命周期 - 创建之前
-  beforeMount() {}, //生命周期 - 挂载之前
-  beforeUpdate() {}, //生命周期 - 更新之前
-  updated() {}, //生命周期 - 更新之后
-  beforeDestroy() {}, //生命周期 - 销毁之前
-  destroyed() {}, //生命周期 - 销毁完成
-  activated() {}, //如果页面有keep-alive缓存功能,这个函数会触发
-};
-</script>
-<style lang='less' scoped>
-.mapNav {
-  transition: width 0.3s;
-  color: #fff6d2;
-  position: fixed;
-  top: 0;
-  left: 0;
-  z-index: 998;
-  width: calc(100% - 200px);
-  height: 100%;
-  // m毛玻璃
-  .meanPageMBL {
-    position: absolute;
-    left: 0;
-    top: 0;
-    width: 100%;
-    height: 100%;
-    background: rgba(161, 101, 59, 0.8);
-    backdrop-filter: blur(4px);
-    z-index: -1;
-  }
-  .main {
-    border-radius: 10px;
-    position: absolute;
-    top: 50%;
-    left: 50%;
-    transform: translate(-50%, -50%);
-    width: 1400px;
-    height: 660px;
-    display: flex;
-    justify-content: space-between;
-    .row {
-      position: relative;
-      cursor: pointer;
-      width: 230px;
-      height: 620px;
-      .rowtxt {
-        width: 100%;
-        display: flex;
-        flex-direction: column;
-        align-items: center;
-        color: #774926;
-        position: absolute;
-        top: 55px;
-        left: 50%;
-        transform: translateX(-50%);
-        .one {
-          font-size: 22px;
-          font-weight: 700;
-          letter-spacing: 4px;
-          writing-mode: vertical-lr;
-        }
-        .tow{
-          font-weight: 700;
-          font-size: 18px;
-        }
-        .three{
-          margin-top: 25px;
-          font-size: 16px;
-          letter-spacing: 4px;
-          writing-mode: vertical-lr;
-        }
-      }
-      &:nth-of-type(1) .rowtxt {
-        top: 150px;
-        .one {
-          font-size: 24px;
-          letter-spacing: 40px;
-        }
-      }
-
-      & > img {
-        width: 100%;
-        height: 100%;
-        object-fit: cover;
-      }
-      .bs {
-        font-size: 80px;
-        margin: 10px 0;
-      }
-      & > p {
-        text-align: center;
-        line-height: 30px;
-        font-size: 16px;
-        color: #fff6d2;
-      }
-      .smak {
-        position: absolute;
-        top: 0;
-        left: 0;
-        width: 100%;
-        height: 100%;
-        opacity: 0;
-        transition: opacity 1s;
-        background: url("../../../assets/img/mapAc.png") rgba(116, 72, 38, 0.9);
-        background-size: 100% 100%;
-        display: flex;
-        justify-content: center;
-        align-items: center;
-        & > div {
-          padding-top: 22px;
-          text-align: center;
-          color: #fff6d2;
-          font-size: 20px;
-          width: 100px;
-          height: 100px;
-          background: url("../../../assets/img/mapBS.png");
-          background-size: 100% 100%;
-        }
-      }
-      &:hover {
-        & > p {
-          color: #3f1e05;
-        }
-        .smak {
-          opacity: 1;
-        }
-      }
-    }
-    .noneAc {
-      pointer-events: none;
-      opacity: 0.5;
-    }
-  }
-  .close {
-    cursor: pointer;
-    position: absolute;
-    right: 20px;
-    top: 20px;
-    font-size: 40px;
-    color: #fff;
-  }
-}
-.full {
-  width: 100%;
-}
-</style>

+ 0 - 157
scene/src/views/gui/compomemt/share.vue

@@ -1,157 +0,0 @@
-<template>
-  <div class="share" :class="{ full: smBtn }">
-    <div class="main">
-      <h3>分享页面</h3>
-      <div class="code">
-        <img :src="require(`@/assets/img/code${urlNum}.png`)" alt="" />
-        <p>保存二维码,或点击复制链接</p>
-      </div>
-      <div class="btnn" @click="copyPcTxt">复制分享链接</div>
-      <!-- 关闭按钮 -->
-      <div class="close" @click="$emit('close')"></div>
-    </div>
-  </div>
-</template>
-
-<script>
-export default {
-  name: "share",
-  props: {
-    smBtn: {
-      type: Boolean,
-      default: false,
-    },
-  },
-  components: {},
-  data() {
-    //这里存放数据
-    return {
-      urlNum: "1185",
-    };
-  },
-  //监听属性 类似于data概念
-  computed: {},
-  //监控data中的数据变化
-  watch: {},
-  //方法集合
-  methods: {
-    //点击复制链接
-    copyPcTxt() {
-      // 存储传递过来的数据
-      let OrderNumber = window.location.href;
-      // 创建一个input 元素
-      // createElement() 方法通过指定名称创建一个元素
-      let newInput = document.createElement("input");
-      // 讲存储的数据赋值给input的value值
-      newInput.value = OrderNumber;
-      // appendChild() 方法向节点添加最后一个子节点。
-      document.body.appendChild(newInput);
-      // 选中input元素中的文本
-      // select() 方法用于选择该元素中的文本。
-      newInput.select();
-      // 执行浏览器复制命令
-      //  execCommand方法是执行一个对当前文档,当前选择或者给出范围的命令
-      document.execCommand("Copy");
-      // 清空输入框
-      newInput.remove();
-      // 下面是element的弹窗 不需要的自行删除就好
-      alert("复制成功");
-    },
-  },
-  //生命周期 - 创建完成(可以访问当前this实例)
-  created() {
-    let temp = window.location.hash;
-    if (temp.includes("1186")) this.urlNum = "1186";
-    else if (temp.includes("1187")) this.urlNum = "1187";
-    else if (temp.includes("1188")) this.urlNum = "1188";
-  },
-  //生命周期 - 挂载完成(可以访问DOM元素)
-  mounted() {},
-  beforeCreate() {}, //生命周期 - 创建之前
-  beforeMount() {}, //生命周期 - 挂载之前
-  beforeUpdate() {}, //生命周期 - 更新之前
-  updated() {}, //生命周期 - 更新之后
-  beforeDestroy() {}, //生命周期 - 销毁之前
-  destroyed() {}, //生命周期 - 销毁完成
-  activated() {}, //如果页面有keep-alive缓存功能,这个函数会触发
-};
-</script>
-<style lang='less' scoped>
-.share {
-  transition: width 0.3s;
-  color: #fff6d2;
-  position: fixed;
-  top: 0;
-  left: 0;
-  z-index: 998;
-  width: calc(100% - 200px);
-  height: 100%;
-  &::before {
-    content: "";
-    position: absolute;
-    left: 0;
-    top: 0;
-    width: 100%;
-    height: 100%;
-    backdrop-filter: blur(10px);
-    z-index: -1;
-  }
-  .main {
-    border-radius: 10px;
-    padding-top: 50px;
-    position: absolute;
-    top: 50%;
-    left: 50%;
-    transform: translate(-50%, -50%);
-    width: 400px;
-    height: 550px;
-    background-color: rgba(161, 101, 59, 0.8);
-    & > h3 {
-      font-size: 30px;
-      text-align: center;
-    }
-    .code {
-      padding-top: 15px;
-      background-color: #fff6d2;
-      border-radius: 5px;
-      width: 260px;
-      height: 300px;
-      margin: 30px auto;
-      text-align: center;
-      & > img {
-        width: 240px;
-      }
-      & > p {
-        color: #774926;
-        margin-top: 15px;
-        font-size: 12px;
-      }
-    }
-    .btnn {
-      cursor: pointer;
-      margin: 0 auto;
-      width: 260px;
-      height: 60px;
-      border-radius: 30px;
-      border: 2px solid #fff6d2;
-      font-size: 20px;
-      color: #fff6d2;
-      text-align: center;
-      line-height: 56px;
-    }
-    .close {
-      cursor: pointer;
-      position: absolute;
-      right: -18px;
-      top: -18px;
-      width: 44px;
-      height: 44px;
-      background: url("../../../assets/img/close.png");
-      background-size: 100% 100%;
-    }
-  }
-}
-.full {
-  width: 100%;
-}
-</style>

+ 5 - 15
scene/src/views/gui/guide.vue

@@ -15,37 +15,27 @@
         <span class="curIdx">1</span>
         of <span class="totalSteps"></span>
       </div>
-      <div id="progressBar" :class="{ full: pageFlag }"></div>
+      <div id="progressBar"></div>
     </div>
   </div>
 </template>
 <script>
 export default {
-  props: {
-    pageFlag: {
-      type: Boolean,
-      default: false,
-    },
-  },
+  props: {},
 };
 </script>
 <style lang="less" scoped>
 #status {
-  background-color: #A1653B;
-  color: #FFF6D2;
+  background-color: rgba(163,51,40,.9);
+  color: #fff6d2;
 }
 #progressBar {
-  transition: all 0.3s;
-  width: calc(100% - 200px);
   height: 100%;
   display: flex;
   align-items: center;
-  background-color: #A1653B;
+  background-color: rgba(163,51,40,.9);
 }
 #playHead {
   background-color: transparent;
 }
-.full {
-  width: 100% !important;
-}
 </style>

+ 134 - 166
scene/src/views/gui/menu.vue

@@ -215,45 +215,18 @@
         <div class="pull-right terms terms2">
           <a>{[{ TERMS }]}</a>
         </div>
-      </div>
-    </div>
 
-    <!-- 右侧菜单 -->
-    <div class="rightMenu" :class="{ hideMenu: smBtn }">
-      <div class="smBtn" @click="smBtn = !smBtn">{{ smBtn ? "◀" : "▶" }}</div>
-      <!-- 左侧按钮 -->
-      <img class="logo" src="@/assets/img/logo.png" alt="" />
-      <div class="rowBox">
-        <div
-          class="row"
-          @click="meanInd = item.id"
-          v-for="item in rightList"
-          :key="item.id"
-        >
-          <img
-            :src="
-              require(`@/assets/img/${item.img}${
-                meanInd === item.id ? 'Ac' : ''
-              }.png`)
-            "
-            alt=""
-          />
-          <p :class="{ acTxt: meanInd === item.id }">{{ item.name }}</p>
-        </div>
-      </div>
-      <div class="bottBtn">
-        <!-- 分享 -->
-        <div class="share" @click="meanInd = -1">
-          <img
-            title="分享"
-            :src="
-              require(`@/assets/img/share${meanInd === -1 ? 'Ac' : ''}.png`)
-            "
-            alt=""
-          />
+        <!-- 回到pc页面(首页) -->
+        <div class="toHomeBox">
+          <!-- 鼠标移入的显示 -->
+          <div class="hoverTit" @click="toHomeFu">回到首页</div>
+          <img src="../../assets/img/toHome.png" alt="" />
         </div>
+
         <!-- 音乐 -->
         <div id="volume" class="ui-icon bgandshare wide">
+          <!-- 鼠标移入的显示 -->
+          <div class="hoverTit">{{ musicState ? "关闭" : "打开" }}音乐</div>
           <div>
             <img
               id="openMusic"
@@ -261,7 +234,6 @@
               @click="switchBGM(true)"
               src="../../assets/img/musicAc.png"
               alt=""
-              title="打开音乐"
             />
             <img
               id="closeMusic"
@@ -269,7 +241,6 @@
               @click="switchBGM(false)"
               src="../../assets/img/music.png"
               alt=""
-              title="关闭音乐"
             />
           </div>
         </div>
@@ -279,10 +250,11 @@
           class="ui-icon wide"
           data-placement="top"
           rel="tooltip"
-          title="全屏"
         >
+          <!-- 鼠标移入的显示 -->
+          <div class="hoverTit">全屏浏览</div>
           <a>
-            <img title="全屏" :src="require('@/assets/img/full.png')" />
+            <img :src="require('@/assets/img/full.png')" />
           </a>
         </div>
         <div
@@ -290,12 +262,11 @@
           class="ui-icon wide"
           data-placement="top"
           rel="tooltip"
-          title="关闭全屏"
           style="display: none"
         >
+          <div class="hoverTit">退出全屏</div>
           <a>
             <img
-              title="关闭全屏"
               :src="require('@/assets/img/fullAc.png')"
               style="width: 50px"
             />
@@ -303,55 +274,47 @@
         </div>
       </div>
     </div>
-    <!-- 分享组件 -->
-    <Share v-if="meanInd === -1" @close="meanInd = null" :smBtn="smBtn" />
-    <!-- 地图导航组件 -->
-    <MapNav v-else-if="meanInd === 1" @close="meanInd = null" :smBtn="smBtn" />
-    <!-- 精品文物组件 -->
-    <Antique v-else-if="meanInd === 2" @close="meanInd = null" :smBtn="smBtn" />
-    <!-- 热点列表组件 -->
-    <Hotspot v-else-if="meanInd === 3" @close="meanInd = null" :smBtn="smBtn" />
+
+    <!-- 左上方的标题 -->
+    <div class="leftTitle" :class="{ leftTitleHide: !leftTitleShow }">
+      <img
+        class="leftIcon"
+        @click="leftTitleShow = false"
+        src="../../assets/img/left.svg"
+        alt=""
+      />
+      <div class="leftXian"></div>
+      <div class="leftTxt">{{ leftTitleTxt }}</div>
+    </div>
+
+    <div
+      class="leftTitleShow"
+      @click="leftTitleShow = true"
+      :class="{ leftTitleShowAc: !leftTitleShow }"
+    >
+      <img class="leftIcon" src="../../assets/img/right.svg" alt="" />
+    </div>
   </div>
 </template>
 
 <script>
-//引入组件
-import Share from "./compomemt/share.vue";
-import MapNav from "./compomemt/mapNav";
-import Antique from "./compomemt/antique.vue";
-import Hotspot from "./compomemt/hotspot";
 export default {
-  components: { Share, MapNav, Antique, Hotspot },
+  components: {},
   data() {
     return {
       isGuide: true,
-      // 右侧菜单数据
-      smBtn: false,
-      meanInd: null,
-      rightList: [
-        { id: 1, name: "展厅列表", img: "navigation" },
-        { id: 2, name: "精品文物", img: "antique" },
-        { id: 3, name: "热点列表", img: "hotspot" },
-      ],
+      musicState: false,
+      // 左上方的标题
+      leftTitleTxt: "务川县仡佬文化博物馆",
+      leftTitleShow: true,
     };
   },
-  watch: {
-    smBtn(val) {
-      // 收起菜单和展开,传递给父组件
-      this.$emit("hndeMenu", val);
-      this.$nextTick(() => {
-        setTimeout(() => {
-          let dom = document.querySelector("#drawer");
-          if (val) dom.style.width = "100%";
-          else dom.style.width = "";
-        }, 1);
-      });
-    },
-  },
+  watch: {},
   computed: {},
   mounted() {},
   methods: {
     switchBGM(flag) {
+      this.musicState = flag;
       if (flag) {
         window.manage.switchBgmState(true);
         document.querySelector("#openMusic").style.display = "none";
@@ -362,11 +325,78 @@ export default {
         document.querySelector("#closeMusic").style.display = "none";
       }
     },
+    // 点击回到首页
+    toHomeFu() {
+      window.location.href = "/";
+      setTimeout(() => {
+        location.reload(true);
+      }, 200);
+    },
   },
 };
 </script>
 
 <style lang="less" scoped>
+.leftTitle {
+  transition: all 0.3s;
+  position: fixed;
+  left: 0;
+  top: 30px;
+  z-index: 9999;
+  display: flex;
+  background-color: rgba(94, 26, 19, 0.8);
+  height: 36px;
+  align-items: center;
+  padding-right: 30px;
+  border-radius: 0 18px 18px 0;
+  .leftIcon {
+    cursor: pointer;
+    position: relative;
+    top: 1px;
+    margin: 0 10px;
+    width: 16px;
+  }
+  .leftXian {
+    width: 1px;
+    height: 16px;
+    margin-right: 10px;
+    background: linear-gradient(
+      rgba(255, 255, 255, 0.2),
+      rgba(255, 255, 255, 1),
+      rgba(255, 255, 255, 0.2)
+    );
+  }
+}
+.leftTitleHide {
+  left: -300px;
+}
+.leftTitleShow {
+  transition: all 0.3s;
+  opacity: 0;
+  pointer-events: none;
+  position: fixed;
+  left: 0;
+  top: 30px;
+  z-index: 9999;
+  display: flex;
+  background-color: rgba(94, 26, 19, 0.8);
+  height: 36px;
+  align-items: center;
+  padding-right: 5px;
+  border-radius: 0 18px 18px 0;
+  .leftIcon {
+    cursor: pointer;
+    position: relative;
+    top: 1px;
+    margin: 0 10px;
+    width: 16px;
+  }
+}
+.leftTitleShowAc {
+  opacity: 1;
+  pointer-events: auto;
+}
+
 #hotList {
   display: none !important;
 }
@@ -405,7 +435,7 @@ export default {
   background: url("../../assets/img/hoverTit.png");
   background-size: 100% 100%;
   font-size: 14px;
-  color: #fff6d2;
+  color: #fff;
 }
 #play:hover {
   .hoverTit {
@@ -422,94 +452,22 @@ export default {
     opacity: 1;
   }
 }
-// -------------
-.rightMenu {
-  position: fixed;
-  top: 0;
-  right: 0;
-  width: 200px;
-  transition: all 0.3s;
-  z-index: 999;
-  height: 100%;
-  background-color: #774926;
-  text-align: center;
-  ::before {
-    opacity: 0.06;
-    content: "";
-    position: absolute;
-    top: 0;
-    left: 0;
-    width: 100%;
-    height: 100%;
-    z-index: -10;
-    background-image: url("../../assets/img/tabBac.png");
-    background-size: 100% 100%;
-  }
-  .smBtn {
-    text-align: center;
-    line-height: 60px;
-    font-size: 12px;
-    cursor: pointer;
-    position: absolute;
-    top: 50%;
-    left: -18px;
-    width: 18px;
-    height: 60px;
-    background-color: #774926;
-    border-radius: 5px 0 0 5px;
-  }
-  .logo {
-    margin: 20px 0 30px;
-    width: 166px;
-  }
-  .rowBox {
-    display: flex;
-    flex-direction: column;
-    justify-content: space-between;
-    height: calc(100vh - 180px);
-    .row {
-      display: flex;
-      flex-direction: column;
-      align-items: center;
-      justify-content: center;
-      cursor: pointer;
-      width: 100%;
-      height: 30%;
-      margin-bottom: 25px;
-      & > img {
-        max-width: 140px;
-        max-height: 140px;
-        object-fit: cover;
-        height: calc(100% - 30px);
-      }
-      & > p {
-        margin-top: 15px;
-        font-size: 18px;
-        color: #fff6d2;
-      }
-      .acTxt {
-        color: #cc946d;
-      }
-    }
+#volume {
+  margin: 0 16px 0 20px;
+}
+#volume,
+#gui-fullscreen,
+#gui-fullscreen-exit {
+  position: relative;
+  .hoverTit {
+    width: 70px;
   }
-  .bottBtn {
-    padding: 0 10px;
-    overflow: hidden;
-    position: absolute;
-    bottom: 15px;
-    left: 0;
-    width: 100%;
-    display: flex;
-    justify-content: space-around;
-    align-items: center;
-    .share {
-      cursor: pointer;
+  &:hover {
+    .hoverTit {
+      opacity: 1;
     }
   }
 }
-.hideMenu {
-  transform: translateX(200px);
-}
 
 // 右侧菜单栏
 @wh: 44px;
@@ -553,14 +511,14 @@ export default {
 }
 
 #gui-fullscreen img {
-  width: 40px;
+  width: 44px;
 }
 #volume {
-  width: 40px;
+  width: 44px;
 }
 
 #gui-fullscreen-exit img {
-  width: 40px !important;
+  width: 44px !important;
 }
 .bgandshare {
   background: none !important;
@@ -633,8 +591,18 @@ export default {
       }
     }
   }
-  #volume {
-    background-color: transparent !important;
+}
+.toHomeBox {
+  cursor: pointer;
+  position: relative;
+  width: 44px;
+  img {
+    width: 44px;
+  }
+  &:hover {
+    .hoverTit {
+      opacity: 1;
+    }
   }
 }
 </style>