浏览代码

初步修改

shaogen1995 3 年之前
父节点
当前提交
0fe8f13f89

+ 3 - 3
web/public/static/css/css/main.css

@@ -3973,11 +3973,11 @@ a.hasHover:hover, a:active {
 }
 }
 
 
 #drawer.open {
 #drawer.open {
-    height: 128px
+    height: 130px
 }
 }
 
 
 #drawer-container.drawerOpen #drawer.open {
 #drawer-container.drawerOpen #drawer.open {
-    height: 128px
+    height: 136px
 }
 }
 
 
 #drawer.open.fadeOut {
 #drawer.open.fadeOut {
@@ -3985,7 +3985,7 @@ a.hasHover:hover, a:active {
 }
 }
 
 
 #drawer.open.noScroll {
 #drawer.open.noScroll {
-    height: 128px
+    height: 107px
 }
 }
 
 
 #drawer-container.drawerOpen #drawer.open.noScroll, #drawer.open.noScroll.playing {
 #drawer-container.drawerOpen #drawer.open.noScroll, #drawer.open.noScroll.playing {

+ 110 - 166
web/public/static/css/main.css

@@ -1,40 +1,3 @@
-/*!
- * Bootstrap v3.2.0 (http://getbootstrap.com)
- * Copyright 2011-2014 Twitter, Inc.
- * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
- */
-
-/*!
- * Generated using the Bootstrap Customizer (http://getbootstrap.com/customize/?id=448f359db98ad28574a4)
- * Config saved to config.json and https://gist.github.com/448f359db98ad28574a4
- */
-
-/*! normalize.css v3.0.1 | MIT License | git.io/normalize */
-
-* {
-    -webkit-user-select: none;
-    -user-select: none;
-}
-
-@font-face {
-    font-family: 'FontAwesome';
-    src: url(font/fontawesome-webfont.eot);
-    src: url(font/fontawesome-webfont.eot?#iefix&v=4.5.0) format("embedded-opentype"), url(font/fontawesome-webfont.woff2) format("woff2"), url(font/awesome-webfont.woff) format("woff"), url(font/fontawesome-webfont.ttf) format("truetype"), url(font/fontawesome-webfont.svg#fontawesomeregular) format("svg");
-    font-weight: normal;
-    font-style: normal;
-}
-
-hr, img, legend {
-    border: 0
-}
-
-legend, td, th {
-    padding: 0
-}
-
-body, figure {
-    margin: 0
-}
 
 
 .affix, .frame .slidee li .overlay {
 .affix, .frame .slidee li .overlay {
     -webkit-transform: translate3d(0, 0, 0)
     -webkit-transform: translate3d(0, 0, 0)
@@ -288,7 +251,6 @@ a:focus {
 hr {
 hr {
     margin-top: 20px;
     margin-top: 20px;
     margin-bottom: 20px;
     margin-bottom: 20px;
-    border-top: 1px solid #eee
 }
 }
 
 
 .sr-only {
 .sr-only {
@@ -2445,32 +2407,12 @@ hr {
     -webkit-font-smoothing: antialiased!important
     -webkit-font-smoothing: antialiased!important
 }
 }
 
 
-body, html {
-    height: 100%;
-    width: 100%;
-    /* overflow: hidden; */
-    line-height: normal;
-    color: rgba(255, 255, 255, .9);
-    -webkit-font-smoothing: subpixel-antialiased;
-    /* background: #373737; */
-    /*background: -moz-radial-gradient(at 50% bottom,ellipse cover,rgba(71,77,83,1) 0,rgba(35,38,40,1) 53%,rgba(17,18,19,1) 100%);
-    background: -webkit-gradient(radial,at 50% bottom,0,center center,100%,color-stop(0,rgba(71,77,83,1)),color-stop(53%,rgba(35,38,40,1)),color-stop(100%,rgba(17,18,19,1)));
-    background: -webkit-radial-gradient(at 50% bottom,ellipse cover,rgba(71,77,83,1) 0,rgba(35,38,40,1) 53%,rgba(17,18,19,1) 100%);
-    background: -o-radial-gradient(at 50% bottom,ellipse cover,rgba(71,77,83,1) 0,rgba(35,38,40,1) 53%,rgba(17,18,19,1) 100%);
-    background: -ms-radial-gradient(at 50% bottom,ellipse cover,rgba(71,77,83,1) 0,rgba(35,38,40,1) 53%,rgba(17,18,19,1) 100%);
-    background: radial-gradient(ellipse at 50% bottom,rgba(71,77,83,1) 0,rgba(35,38,40,1) 53%,rgba(17,18,19,1) 100%);*/
-    /*filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#474d53', endColorstr='#111213', GradientType=1 )*/
-}
-
 #player {
 #player {
-    right: 0;
+    left: 0;
     bottom: 0;
     bottom: 0;
     width: 100%;
     width: 100%;
     height: 100%;
     height: 100%;
     position: absolute;
     position: absolute;
-    /* background-image:url('../images/bg.jpg');
-    background-size:auto 100%;
-    background-position:center; */
 }
 }
 
 
 #player canvas {
 #player canvas {
@@ -2706,7 +2648,7 @@ body, html {
 
 
 #gui-thumb {
 #gui-thumb {
     height: 100%;
     height: 100%;
-    background-size: auto 100%;
+    background-size: 100% auto ;
     background-position: 50% 50%;
     background-position: 50% 50%;
     background-repeat: no-repeat;
     background-repeat: no-repeat;
     z-index: 0;
     z-index: 0;
@@ -3343,7 +3285,7 @@ a.hasHover:hover, a:active {
 }
 }
 
 
 .darkGlass {
 .darkGlass {
-    background-color: rgba(0, 0, 0, .45)
+    background-color: rgba(0, 0, 0, .5);
 }
 }
 
 
 .ui-icon {
 .ui-icon {
@@ -3389,7 +3331,7 @@ a.hasHover:hover, a:active {
 
 
 .pinTop.left {
 .pinTop.left {
     left: 50%;
     left: 50%;
-    z-index: 3;
+    z-index: 99;
     display: flex;
     display: flex;
     flex-direction: column;
     flex-direction: column;
     align-items: center;
     align-items: center;
@@ -3448,39 +3390,61 @@ a.hasHover:hover, a:active {
     right: 0;
     right: 0;
     text-shadow: 0 0 1px rgba(0, 0, 0, .6);
     text-shadow: 0 0 1px rgba(0, 0, 0, .6);
     z-index: 50;
     z-index: 50;
-    bottom: 30px;
+    bottom: 20px;
 }
 }
 
 
 .pinBottom.left {
 .pinBottom.left {
     z-index: 50;
     z-index: 50;
-    border-radius: 10px;
     left: 0px;
     left: 0px;
-    bottom: 30px;
+    bottom: 10px;
 }
 }
 
 
+
+
 .pinBottom.left .icon {
 .pinBottom.left .icon {
     float: left
     float: left
 }
 }
 
 
 .viewContainer {
 .viewContainer {
     float: left;
     float: left;
-    position: relative
+    position: relative;
+    background: rgba(0, 0, 0, 0.6);
+    border-radius: 25px;
+    margin:0 20px;
 }
 }
 
 
-.viewContainer>div {
+.viewContainer>div,.viewContainer>li {
     float: left
     float: left
 }
 }
 
 
 #gui-modes-map>div[rel] {
 #gui-modes-map>div[rel] {
     float: left;
     float: left;
-    width: 50px;
+    width: 60px;
+    height: 48px;
     display: flex;
     display: flex;
     justify-content: center;
     justify-content: center;
     align-items: center;
     align-items: center;
     cursor: pointer;
     cursor: pointer;
 }
 }
 
 
+
+#play, #pause {
+    position: relative;
+    width: 60px;
+    height: 48px;
+    display: flex;
+    justify-content: center;
+    align-items: center;
+    cursor: pointer;
+}
+
+#play img, #pause img{
+    vertical-align: top;
+}
+
+
 #gui-modes-map>div[rel]:hover, .pinBottom.right .rightViewContainer>div:hover, #play:hover {
 #gui-modes-map>div[rel]:hover, .pinBottom.right .rightViewContainer>div:hover, #play:hover {
+    /* background: rgba(0, 0, 0, 0.25); */
 }
 }
 
 
 /*#gui-modes-map > div:hidden{ border-top-right-radius: 10px; border-bottom-right-radius:10px; }*/
 /*#gui-modes-map > div:hidden{ border-top-right-radius: 10px; border-bottom-right-radius:10px; }*/
@@ -3617,6 +3581,10 @@ a.hasHover:hover, a:active {
     cursor: pointer
     cursor: pointer
 }
 }
 
 
+#gui-fullscreen, #gui-fullscreen-exit, .socialButton {
+    float: left
+}
+
 .pinBottom.right .icon {
 .pinBottom.right .icon {
     cursor: pointer;
     cursor: pointer;
     font-size: 0;
     font-size: 0;
@@ -3624,7 +3592,7 @@ a.hasHover:hover, a:active {
 
 
 .shareContainer {
 .shareContainer {
     width: 100%;
     width: 100%;
-    height: 27px;
+    height: 27px
 }
 }
 
 
 .shareContainer a, .shareContainer a i.icon {
 .shareContainer a, .shareContainer a i.icon {
@@ -3680,7 +3648,7 @@ a.hasHover:hover, a:active {
     content: '\e600'
     content: '\e600'
 }
 }
 
 
-.viewContainer>div {
+.viewContainer>div,.viewContainer>li {
     float: left
     float: left
 }
 }
 
 
@@ -3867,14 +3835,6 @@ a.hasHover:hover, a:active {
     position: absolute
     position: absolute
 }
 }
 
 
-#play, #pause {
-    position: relative;
-    width: 50px;
-    display: flex;
-    justify-content: center;
-    align-items: center;
-    cursor: pointer;
-}
 
 
 .tourSpinner {
 .tourSpinner {
     border-radius: 45px;
     border-radius: 45px;
@@ -3907,6 +3867,10 @@ a.hasHover:hover, a:active {
     text-align: center
     text-align: center
 }
 }
 
 
+#gui-modes-map div img {
+    width: 26px;
+    height: 26px;
+}
 
 
 #pullTab i {
 #pullTab i {
     line-height: 40px;
     line-height: 40px;
@@ -3923,6 +3887,7 @@ a.hasHover:hover, a:active {
 }
 }
 
 
 #gui-parent #pullTab.opened, #gui-parent #gui-modes-map>div.active {
 #gui-parent #pullTab.opened, #gui-parent #gui-modes-map>div.active {
+    /* background: rgba(0, 0, 0, 0.3); */
 }
 }
 
 
 #pullTab.opened .icon-dpad-up:before {
 #pullTab.opened .icon-dpad-up:before {
@@ -3960,13 +3925,19 @@ a.hasHover:hover, a:active {
     pointer-events: all;
     pointer-events: all;
     z-index: 50
     z-index: 50
 }
 }
-
-#drawer.open {
-    height: 128px
+#scrollFrame{
+    opacity: 0;
+    transition: all .3s;
+}
+.open #scrollFrame{
+    opacity: 1;
+}
+#drawer.open #scrollFrame{
+    height: 130px
 }
 }
 
 
 #drawer-container.drawerOpen #drawer.open {
 #drawer-container.drawerOpen #drawer.open {
-    height: 128px
+    height: 136px
 }
 }
 
 
 #drawer.open.fadeOut {
 #drawer.open.fadeOut {
@@ -3974,35 +3945,35 @@ a.hasHover:hover, a:active {
 }
 }
 
 
 #drawer.open.noScroll {
 #drawer.open.noScroll {
-    height: 128px
+    height: 107px
 }
 }
 
 
 #drawer-container.drawerOpen #drawer.open.noScroll, #drawer.open.noScroll.playing {
 #drawer-container.drawerOpen #drawer.open.noScroll, #drawer.open.noScroll.playing {
-    height: 128px
+    height: 113px
 }
 }
 
 
 #gui .pinBottom.open {
 #gui .pinBottom.open {
-    bottom: 170px
+    bottom: 140px
 }
 }
 
 
 #gui .pinBottom.open.noScroll {
 #gui .pinBottom.open.noScroll {
-    bottom: 147px
+    bottom: 127px
 }
 }
 
 
 #gui .pinBottom.open.playing {
 #gui .pinBottom.open.playing {
-    bottom: 180px
+    bottom: 150px
 }
 }
 
 
 #gui .pinBottom-container.drawerOpen .pinBottom.open.noScroll.playing {
 #gui .pinBottom-container.drawerOpen .pinBottom.open.noScroll.playing {
-    bottom: 157px;
+    bottom: 127px;
 }
 }
 
 
 #gui .pinBottom.open.noScroll.playing {
 #gui .pinBottom.open.noScroll.playing {
-    bottom: 165px;
+    bottom: 170px;
 }
 }
 
 
 #gui #drawer.playing, #gui .pinBottom.playing {
 #gui #drawer.playing, #gui .pinBottom.playing {
-    bottom: 20px
+    bottom: 40px
 }
 }
 
 
 #thumb-container .thumbImg {
 #thumb-container .thumbImg {
@@ -4020,7 +3991,10 @@ a.hasHover:hover, a:active {
 .frame-container {
 .frame-container {
     float: left;
     float: left;
     width: calc(100% - 58px);
     width: calc(100% - 58px);
-    height: 100%
+    height: 100%;
+    border-top-left-radius: 8px;
+    border-top-right-radius: 8px;
+
 }
 }
 
 
 .fullWidth .frame-container {
 .fullWidth .frame-container {
@@ -4029,10 +4003,9 @@ a.hasHover:hover, a:active {
 
 
 .frame {
 .frame {
     width: calc(100% - 20px);
     width: calc(100% - 20px);
-    margin: 5px 10px 0;
-    float: left;
-    display: flex;
-    justify-content: center;
+    height: 97px;
+    margin: 9px 10px;
+    float: left
 }
 }
 
 
 .frame.noScroll {
 .frame.noScroll {
@@ -4055,17 +4028,21 @@ a.hasHover:hover, a:active {
 
 
 .frame .slidee li .overlay {
 .frame .slidee li .overlay {
     position: absolute;
     position: absolute;
-    left: 50%;
-    bottom: -26px;
-    transform: translateX(-50%);
-    height: 28px;
-    line-height: 28px;
-    padding: 0;
+    bottom: 0;
+    left: 0;
+    width: 100%;
+    padding: 6px;
     color: #fff;
     color: #fff;
+    background-color: rgba(0, 0, 0, .7);
     overflow: hidden;
     overflow: hidden;
     white-space: nowrap;
     white-space: nowrap;
+    font-weight: 100;
     text-align: center;
     text-align: center;
     z-index: 100;
     z-index: 100;
+    -moz-transform: translate3d(0, 0, 0);
+    -ms-transform: translate3d(0, 0, 0);
+    -o-transform: translate3d(0, 0, 0);
+    transform: translate3d(0, 0, 0)
 }
 }
 
 
 .frame .slidee li .mark360View, .frame .slidee li .markInsideView {
 .frame .slidee li .mark360View, .frame .slidee li .markInsideView {
@@ -4111,11 +4088,7 @@ a.hasHover:hover, a:active {
 
 
 .frame .slidee li.thumbImg.active>img, .frame .slidee li.thumbImg.hasHover.active>img:hover {
 .frame .slidee li.thumbImg.active>img, .frame .slidee li.thumbImg.hasHover.active>img:hover {
     opacity: 1;
     opacity: 1;
-    border: 2px solid #EE3E41;
-}
-
-.frame .slidee li.thumbImg.active>.overlay, .frame .slidee li.thumbImg.hasHover.active>.overlay:hover {
-    color: #fff;
+    border-color: #00b4ed
 }
 }
 
 
 .scrollbar {
 .scrollbar {
@@ -4130,7 +4103,7 @@ a.hasHover:hover, a:active {
 .scrollbar .handle {
 .scrollbar .handle {
     width: 100px;
     width: 100px;
     height: 100%;
     height: 100%;
-    background: #00F3FF;
+    background: rgba(255, 255, 255, .75);
     border-radius: 5px
     border-radius: 5px
 }
 }
 
 
@@ -4150,7 +4123,7 @@ a.hasHover:hover, a:active {
     height: 20px;
     height: 20px;
     width: 100%;
     width: 100%;
     position: absolute;
     position: absolute;
-    bottom: -20px;
+    bottom: -24px;
     left: 0;
     left: 0;
     transition-property: bottom;
     transition-property: bottom;
     transition-duration: .5s;
     transition-duration: .5s;
@@ -4194,7 +4167,7 @@ a.hasHover:hover, a:active {
 }
 }
 
 
 #progressBar .step.active::before, #progressBar .step.recent::before {
 #progressBar .step.active::before, #progressBar .step.recent::before {
-    background-color: #00b4ed
+    background-color: #CCCCCC
 }
 }
 
 
 #progressBar .step.upcoming::before {
 #progressBar .step.upcoming::before {
@@ -4329,31 +4302,34 @@ a.hasHover:hover, a:active {
 }
 }
 
 
 @media only screen and (max-width: 487px), (max-height:487px) {
 @media only screen and (max-width: 487px), (max-height:487px) {
-    .frame{
-        height: 107px;
-        display: block;
-    }
-    #thumb-container .thumbImg img{
-        height: 77px;
-        display: block;
+    #thumb-container .thumbImg img, .frame {
+        height: 77px
     }
     }
     .frame .slidee li, .frame .slidee li .overlay {
     .frame .slidee li, .frame .slidee li .overlay {
-        width: 106px
+        width: 103px
     }
     }
+    #drawer-container{
+        left: unset;
+    }
+    .fullWidth .frame-container{
+        width: 100%;
+    }
+
+   
     #drawer-container.drawerOpen #drawer.open.noScroll {
     #drawer-container.drawerOpen #drawer.open.noScroll {
-        height: 124px
+        height: 94px
     }
     }
     #drawer.open.noScroll, #drawer.open.noScroll.playing {
     #drawer.open.noScroll, #drawer.open.noScroll.playing {
-        height: 118px
+        height: 88px
     }
     }
     .pinBottom-container.drawerOpen.duringTour {
     .pinBottom-container.drawerOpen.duringTour {
         bottom: 6px
         bottom: 6px
     }
     }
     #gui .pinBottom.open.noScroll {
     #gui .pinBottom.open.noScroll {
-        bottom: 123px
+        bottom: 93px
     }
     }
     .pinBottom.open.noScroll.playing {
     .pinBottom.open.noScroll.playing {
-        bottom: 138px
+        bottom: 108px
     }
     }
 }
 }
 
 
@@ -6417,8 +6393,7 @@ a.hasHover.tag-link:hover {
     line-height: 19px;
     line-height: 19px;
     border-radius: 10px;
     border-radius: 10px;
     -webkit-transtion: all .4s ease-in-out;
     -webkit-transtion: all .4s ease-in-out;
-    transition: all .4s ease-in-out;
-    background: rgba(0, 0, 0, 0.5);
+    transition: all .4s ease-in-out
 }
 }
 
 
 #meta-info.share-link {
 #meta-info.share-link {
@@ -6907,7 +6882,7 @@ a.hasHover.tag-link:hover {
     right: 16px;
     right: 16px;
     cursor: pointer;
     cursor: pointer;
     text-shadow: rgb(0, 0, 0) 0px 0px 5px;
     text-shadow: rgb(0, 0, 0) 0px 0px 5px;
-    box-shadow: rgba(0, 0, 0, 0.5) 0px 0px 5px, rgba(0, 0, 0, 0.5) 0px 0px 5px inset;
+    box-shadow: rgba(0, 0, 0, 0.7) 0px 0px 5px, rgba(0, 0, 0, 0.7) 0px 0px 5px inset;
 }
 }
 
 
 #myCompany.JLogo {
 #myCompany.JLogo {
@@ -6958,9 +6933,6 @@ a.hasHover.tag-link:hover {
         top: 60px;
         top: 60px;
         right: 5px;
         right: 5px;
     }
     }
-    #gui-name{
-        font-size: 14px;
-    }
 }
 }
 
 
 @media only screen and (max-width: 700px) {
 @media only screen and (max-width: 700px) {
@@ -6977,7 +6949,6 @@ a.hasHover.tag-link:hover {
 
 
 @media only screen and (max-width: 680px) {
 @media only screen and (max-width: 680px) {
     .pinTop.left {
     .pinTop.left {
-        top: 5px;
         left: 50%;
         left: 50%;
         transform: translateX(-50%);
         transform: translateX(-50%);
         align-items: center;
         align-items: center;
@@ -6994,29 +6965,22 @@ a.hasHover.tag-link:hover {
     .pinBottom.right .ui-icon {
     .pinBottom.right .ui-icon {
         margin-right: 5px;
         margin-right: 5px;
     }
     }
-    /* #volume{
-        z-index: 9999;
-        position: absolute;
-        left: 10px;
-        bottom: 5px;
-    } */
     .pinBottom.right, .pinBottom.left {
     .pinBottom.right, .pinBottom.left {
         bottom: 5px;
         bottom: 5px;
     }
     }
     .pinBottom.left {
     .pinBottom.left {
-        left: 5px;
+        right: 10px;
+        left: unset;
     }
     }
     .viewContainer, #gui-modes-map {
     .viewContainer, #gui-modes-map {
         display: flex;
         display: flex;
         flex-direction: column;
         flex-direction: column;
     }
     }
     #play, #pause {
     #play, #pause {
-        width: 50px;
-        padding-bottom: 10px;
+        width: 64px;
     }
     }
     #gui-modes-map>div[rel] {
     #gui-modes-map>div[rel] {
-        width: 50px;
-        padding-bottom: 10px;
+        width: 64px;
     }
     }
     .progressbar {
     .progressbar {
         width: 70%;
         width: 70%;
@@ -7041,20 +7005,13 @@ a.hasHover.tag-link:hover {
 
 
 @media screen and (orientation: landscape) {
 @media screen and (orientation: landscape) {
 	.viewContainer, #gui-modes-map {
 	.viewContainer, #gui-modes-map {
-        display: block !important;
-    }
-    .viewContainer{
-        padding: 10px 20px 10px 0;
         display: flex !important;
         display: flex !important;
-        align-items: center;
-        background-color: rgba(0, 0, 0, .5);
-        border-radius: 0 20px 20px 0;
     }
     }
 }
 }
 
 
 @media only screen and (max-width: 370px) {
 @media only screen and (max-width: 370px) {
     #gui-name {
     #gui-name {
-        font-size: 12px;
+        font-size: 16px;
     }
     }
     #meta-info-wrapper {
     #meta-info-wrapper {
         width: 100vw;
         width: 100vw;
@@ -7066,7 +7023,7 @@ a.hasHover.tag-link:hover {
 
 
 @media only screen and (max-width: 330px) {
 @media only screen and (max-width: 330px) {
     #gui-name {
     #gui-name {
-        font-size: 12px;
+        font-size: 14px;
     }
     }
 }
 }
 
 
@@ -7074,14 +7031,13 @@ a.hasHover.tag-link:hover {
 
 
 
 
 
 
-#hot, #menudiv{ 
+#hot{ 
 	padding: 0;
 	padding: 0;
 	position: absolute;
 	position: absolute;
 	width: 100%;
 	width: 100%;
 	height: 100%;
 	height: 100%;
     pointer-events:none; 
     pointer-events:none; 
-	z-index: 9101; 
-    left:0;top:0;
+	z-index: 101; 
 }
 }
 #hot>div{
 #hot>div{
     position: absolute;
     position: absolute;
@@ -7099,18 +7055,6 @@ a.hasHover.tag-link:hover {
 }    
 }    
 
 
 
 
-#menudiv{
-    
-}
-
-#menudiv>div>div{  
-    width:1000px; 
-    height:1000px;
-    position: absolute;
-    color:#000;
-    font-size:50px;
-    
-}
-#menudiv>div>div{
-    pointer-events:none;
-}  
+#model-title{
+    display: none!important;
+}

+ 1 - 1
web/public/static/css/oldVer/main0.css

@@ -52,7 +52,7 @@ iframe{
 	opacity:0.1; 
 	opacity:0.1; 
 }
 }
 #closepop {
 #closepop {
-	background: url(https://super.4dage.com/images/close1.png) no-repeat;
+	background: url(../../images/close1.png) no-repeat;
 	width: 60px;
 	width: 60px;
 	height: 60px;
 	height: 60px;
 	cursor: pointer;
 	cursor: pointer;

文件差异内容过多而无法显示
+ 1123 - 0
web/public/static/data/xinjiang01.json


+ 202 - 0
web/public/static/data/xinjiang02.json

@@ -0,0 +1,202 @@
+{
+	"vertex-z":[
+		{"id":0,"z":0.653}
+,		{"id":1,"z":6.371}
+	]
+,	"vertex-xy":[
+		{"id":0,"x":136.524,"y":-72.848}
+,		{"id":1,"x":30.403,"y":-72.848}
+,		{"id":2,"x":30.403,"y":58.462}
+,		{"id":3,"x":136.524,"y":58.462}
+,		{"id":4,"x":136.524,"y":58.462}
+,		{"id":5,"x":30.403,"y":58.462}
+,		{"id":6,"x":30.403,"y":-72.848}
+,		{"id":7,"x":136.524,"y":-72.848}
+,		{"id":8,"x":67.108,"y":-52.564}
+,		{"id":9,"x":60.872,"y":-52.564}
+,		{"id":10,"x":60.872,"y":-30.736}
+,		{"id":11,"x":67.108,"y":-30.736}
+,		{"id":12,"x":54.018,"y":-52.564}
+,		{"id":13,"x":47.782,"y":-52.564}
+,		{"id":14,"x":47.782,"y":-30.736}
+,		{"id":15,"x":54.018,"y":-30.736}
+,		{"id":16,"x":106.018,"y":-52.564}
+,		{"id":17,"x":99.782,"y":-52.564}
+,		{"id":18,"x":99.782,"y":-30.736}
+,		{"id":19,"x":106.018,"y":-30.736}
+,		{"id":20,"x":119.318,"y":-52.564}
+,		{"id":21,"x":113.082,"y":-52.564}
+,		{"id":22,"x":113.082,"y":-30.736}
+,		{"id":23,"x":119.318,"y":-30.736}
+,		{"id":24,"x":98.566,"y":-63.488}
+,		{"id":25,"x":98.566,"y":-57.252}
+,		{"id":26,"x":120.394,"y":-57.252}
+,		{"id":27,"x":120.394,"y":-63.488}
+,		{"id":28,"x":43.786,"y":-4.947}
+,		{"id":29,"x":43.786,"y":1.787}
+,		{"id":30,"x":65.614,"y":1.787}
+,		{"id":31,"x":65.614,"y":-4.947}
+,		{"id":32,"x":43.786,"y":10.143}
+,		{"id":33,"x":43.786,"y":16.877}
+,		{"id":34,"x":65.614,"y":16.877}
+,		{"id":35,"x":65.614,"y":10.143}
+,		{"id":36,"x":49.579,"y":43.741}
+,		{"id":37,"x":49.579,"y":48.059}
+,		{"id":38,"x":67.301,"y":48.059}
+,		{"id":39,"x":67.301,"y":43.741}
+,		{"id":40,"x":31.651,"y":19.299}
+,		{"id":41,"x":36.549,"y":19.299}
+,		{"id":42,"x":36.549,"y":-12.099}
+,		{"id":43,"x":31.651,"y":-12.099}
+,		{"id":44,"x":40.148,"y":-18.837}
+,		{"id":45,"x":40.712,"y":-18.837}
+,		{"id":46,"x":40.712,"y":-68.363}
+,		{"id":47,"x":40.148,"y":-68.363}
+,		{"id":48,"x":39.528,"y":-18.682}
+,		{"id":49,"x":39.528,"y":-18.118}
+,		{"id":50,"x":127.472,"y":-18.118}
+,		{"id":51,"x":127.472,"y":-18.682}
+,		{"id":52,"x":126.498,"y":-18.837}
+,		{"id":53,"x":127.062,"y":-18.837}
+,		{"id":54,"x":127.062,"y":-68.363}
+,		{"id":55,"x":126.498,"y":-68.363}
+,		{"id":56,"x":39.528,"y":-66.882}
+,		{"id":57,"x":39.528,"y":-66.318}
+,		{"id":58,"x":127.472,"y":-66.318}
+,		{"id":59,"x":127.472,"y":-66.882}
+	]
+,	"segment":[
+		{"id":0,"a":0,"b":1}
+,		{"id":1,"a":2,"b":3}
+,		{"id":2,"a":3,"b":0}
+,		{"id":3,"a":4,"b":5}
+,		{"id":4,"a":5,"b":6}
+,		{"id":5,"a":6,"b":7}
+,		{"id":6,"a":7,"b":4}
+,		{"id":7,"a":7,"b":6}
+,		{"id":8,"a":1,"b":0}
+,		{"id":9,"a":4,"b":7}
+,		{"id":10,"a":0,"b":3}
+,		{"id":11,"a":5,"b":4}
+,		{"id":12,"a":3,"b":2}
+,		{"id":13,"a":6,"b":5}
+,		{"id":14,"a":8,"b":9}
+,		{"id":15,"a":10,"b":9}
+,		{"id":16,"a":11,"b":10}
+,		{"id":17,"a":9,"b":8}
+,		{"id":18,"a":8,"b":11}
+,		{"id":19,"a":10,"b":11}
+,		{"id":20,"a":11,"b":8}
+,		{"id":21,"a":9,"b":10}
+,		{"id":22,"a":12,"b":13}
+,		{"id":23,"a":14,"b":13}
+,		{"id":24,"a":15,"b":14}
+,		{"id":25,"a":13,"b":12}
+,		{"id":26,"a":12,"b":15}
+,		{"id":27,"a":14,"b":15}
+,		{"id":28,"a":15,"b":12}
+,		{"id":29,"a":13,"b":14}
+,		{"id":30,"a":16,"b":17}
+,		{"id":31,"a":18,"b":17}
+,		{"id":32,"a":19,"b":18}
+,		{"id":33,"a":17,"b":16}
+,		{"id":34,"a":16,"b":19}
+,		{"id":35,"a":18,"b":19}
+,		{"id":36,"a":19,"b":16}
+,		{"id":37,"a":17,"b":18}
+,		{"id":38,"a":20,"b":21}
+,		{"id":39,"a":22,"b":21}
+,		{"id":40,"a":23,"b":22}
+,		{"id":41,"a":21,"b":20}
+,		{"id":42,"a":20,"b":23}
+,		{"id":43,"a":22,"b":23}
+,		{"id":44,"a":23,"b":20}
+,		{"id":45,"a":21,"b":22}
+,		{"id":46,"a":24,"b":25}
+,		{"id":47,"a":26,"b":25}
+,		{"id":48,"a":27,"b":26}
+,		{"id":49,"a":25,"b":24}
+,		{"id":50,"a":24,"b":27}
+,		{"id":51,"a":26,"b":27}
+,		{"id":52,"a":27,"b":24}
+,		{"id":53,"a":25,"b":26}
+,		{"id":54,"a":28,"b":29}
+,		{"id":55,"a":30,"b":29}
+,		{"id":56,"a":31,"b":30}
+,		{"id":57,"a":29,"b":28}
+,		{"id":58,"a":28,"b":31}
+,		{"id":59,"a":30,"b":31}
+,		{"id":60,"a":31,"b":28}
+,		{"id":61,"a":29,"b":30}
+,		{"id":62,"a":32,"b":33}
+,		{"id":63,"a":34,"b":33}
+,		{"id":64,"a":35,"b":34}
+,		{"id":65,"a":33,"b":32}
+,		{"id":66,"a":32,"b":35}
+,		{"id":67,"a":34,"b":35}
+,		{"id":68,"a":35,"b":32}
+,		{"id":69,"a":33,"b":34}
+,		{"id":70,"a":36,"b":37}
+,		{"id":71,"a":38,"b":37}
+,		{"id":72,"a":39,"b":38}
+,		{"id":73,"a":37,"b":36}
+,		{"id":74,"a":36,"b":39}
+,		{"id":75,"a":38,"b":39}
+,		{"id":76,"a":39,"b":36}
+,		{"id":77,"a":37,"b":38}
+,		{"id":78,"a":40,"b":41}
+,		{"id":79,"a":42,"b":41}
+,		{"id":80,"a":43,"b":42}
+,		{"id":81,"a":41,"b":40}
+,		{"id":82,"a":40,"b":43}
+,		{"id":83,"a":42,"b":43}
+,		{"id":84,"a":43,"b":40}
+,		{"id":85,"a":41,"b":42}
+,		{"id":86,"a":44,"b":45}
+,		{"id":87,"a":46,"b":45}
+,		{"id":88,"a":47,"b":46}
+,		{"id":89,"a":45,"b":44}
+,		{"id":90,"a":44,"b":47}
+,		{"id":91,"a":46,"b":47}
+,		{"id":92,"a":47,"b":44}
+,		{"id":93,"a":45,"b":46}
+,		{"id":94,"a":48,"b":49}
+,		{"id":95,"a":50,"b":49}
+,		{"id":96,"a":51,"b":50}
+,		{"id":97,"a":49,"b":48}
+,		{"id":98,"a":48,"b":51}
+,		{"id":99,"a":50,"b":51}
+,		{"id":100,"a":51,"b":48}
+,		{"id":101,"a":49,"b":50}
+,		{"id":102,"a":52,"b":53}
+,		{"id":103,"a":54,"b":53}
+,		{"id":104,"a":55,"b":54}
+,		{"id":105,"a":53,"b":52}
+,		{"id":106,"a":52,"b":55}
+,		{"id":107,"a":54,"b":55}
+,		{"id":108,"a":55,"b":52}
+,		{"id":109,"a":53,"b":54}
+,		{"id":110,"a":56,"b":57}
+,		{"id":111,"a":58,"b":57}
+,		{"id":112,"a":59,"b":58}
+,		{"id":113,"a":57,"b":56}
+,		{"id":114,"a":56,"b":59}
+,		{"id":115,"a":58,"b":59}
+,		{"id":116,"a":59,"b":56}
+,		{"id":117,"a":57,"b":58}
+	]
+,	"triangle":null
+,	"block":[
+		{
+			"id":1
+,			"wall":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117]
+,			"floor":null
+,			"ground":[]
+,			"aera":0
+,			"area":0
+,			"top":1
+,			"bottom":0
+		}
+	]
+,	"hole":[]
+}

文件差异内容过多而无法显示
+ 741 - 0
web/public/static/data/xinjiang03.json


文件差异内容过多而无法显示
+ 687 - 0
web/public/static/data/xinjiang04.json


文件差异内容过多而无法显示
+ 1069 - 0
web/public/static/data/xinjiang05.json


文件差异内容过多而无法显示
+ 631 - 0
web/public/static/data/xinjiangout.json


二进制
web/public/static/images/auto-suspend.png


二进制
web/public/static/images/auto.png


二进制
web/public/static/images/icon.lzma


二进制
web/public/static/images/icons/hnrd.jpg


文件差异内容过多而无法显示
+ 11381 - 0
web/public/static/js/CAD/bundle.js


+ 129 - 0
web/public/static/js/CAD/loadCAD.js

@@ -0,0 +1,129 @@
+window.grendCAD = (function grendCAD() {
+  let initFloor
+  // let initDOM
+  let point, dire
+
+  window.cad = {
+    setSign: function(p, d) {
+      point = p
+      dire = d
+    }
+  }
+
+  function loadDOM($parent,id) {
+    // if (initDOM) return initDOM;
+    let $layer = document.createElement('div')
+    let $cad = document.createElement('div')
+
+    $layer.className = id
+    $cad.id = id
+    $cad.setAttribute('class',window.number)
+
+    $layer.appendChild($cad)
+
+
+    let style = document.createElement('style')
+    style.innerHTML = `
+      .${id} {
+        position: fixed;
+        right: -310px;
+        top: 80px;
+        width: 260px;
+        height: 200px;
+        z-index: 99;
+        transition: all 0.3s ease;
+      }
+
+      .${id} > div {
+        width: 100%;
+        height: 100%;
+      }
+
+      @media only screen and (max-width: 600px) { 
+        .${id} {
+            position: absolute;
+            left: -310px;
+            top: 65px;
+            width: 100px;
+            height: 100px;
+            background: rgba(0, 0, 0, .3);
+            border-radius: 5px;
+        }
+      }
+    `
+
+    $parent.appendChild(style)
+    $parent.appendChild($layer)
+    
+    return $layer
+  }
+
+
+  function setStyle(signColor, borderColor, borderWidth) {
+    cad.setDefaultPointStyle({
+      fillColor: "rgba(0,0,0,0)",
+      storkeColor: "rgba(0,0,0,0)"
+    });
+
+    console.log(borderWidth)
+    cad.setDefaultLineStyle({
+      width: borderWidth,
+      color: borderColor
+    });
+
+    console.log('执行===============');
+
+    cad.setDefaultSignStyle({
+      color: signColor,
+      r: 6,
+    })
+  }
+
+
+  return function(floor, $parent, signColor, borderColor, borderWidth, id) {
+    // if (initFloor) {
+    //   console.log('cache')
+    //   return setStyle(signColor, borderColor, borderWidth)
+    // }
+    console.log('load')
+    initFloor = floor
+
+      let $layer = loadDOM($parent,id)
+
+      $layer.style.visibility = 'hidden'
+      window.cad = structureCAD({
+        data: {
+            block: [],
+            column: [],
+            door: [],
+            hole: [],
+            segment: [],
+            "vertex-xy": [],
+            "vertex-z": [],
+        }, 
+        layer: $layer.querySelector('#'+id),
+        edit: false
+      });
+      
+      setStyle(signColor, borderColor, borderWidth)
+      cad.hideDire()
+      cad.hideGauge()
+  
+      console.log('loadData')
+      cad.loadData(initFloor);
+
+      if (point && dire) {
+        window.cad.setSign(point, dire)
+      }
+      $layer.style.visibility = 'visible'
+
+  }
+})();
+
+$.ajax({
+  url: `static/data/${window.number}.json`, 
+  method: 'GET',
+  success(res) {
+    grendCAD(res, document.documentElement, '#D32424', '#ffffff', '1px','cad')
+  }
+})

+ 51 - 41
web/public/static/js/Hot.js

@@ -1,3 +1,4 @@
+ 
 //合并热点和展览 
 //合并热点和展览 
 g_currentHot = null
 g_currentHot = null
 
 
@@ -27,8 +28,8 @@ window.initHot = function(model){
         opacity: 0.8,
         opacity: 0.8,
         side:THREE.DoubleSide
         side:THREE.DoubleSide
     })
     })
-    
     var autoSizeInfo = {minSize : 120,  maxSize : 600,   nearBound : 1 , farBound :  15}
     var autoSizeInfo = {minSize : 120,  maxSize : 600,   nearBound : 1 , farBound :  15}
+
     var hotGroup = new THREE.Object3D;  hotGroup.name = "hotGroup"
     var hotGroup = new THREE.Object3D;  hotGroup.name = "hotGroup"
     model.add(hotGroup);   model.hotGroup = hotGroup
     model.add(hotGroup);   model.hotGroup = hotGroup
     
     
@@ -40,7 +41,7 @@ window.initHot = function(model){
           , o = "en" == manage.number("lang") ? "&lang=" + manage.number("lang") : "";
           , o = "en" == manage.number("lang") ? "&lang=" + manage.number("lang") : "";
         -1 == r.indexOf("?") ? src = link + "?time=" + randomTime().getTime() + "&id=" + window.number + o : src = link + "&time=" + randomTime().getTime() + "&id=" + window.number + o 
         -1 == r.indexOf("?") ? src = link + "?time=" + randomTime().getTime() + "&id=" + window.number + o : src = link + "&time=" + randomTime().getTime() + "&id=" + window.number + o 
             
             
-         return src.replace('https://www.4dmodel.com/SuperTwo/hot_online1/', 'https://culture.4dage.com/JHSuperTow/')    
+        return src 
     }
     }
     var removeSrcPostMark = function(url){//去除texture.load时自动加上的'?'
     var removeSrcPostMark = function(url){//去除texture.load时自动加上的'?'
         var index = url.indexOf('?')
         var index = url.indexOf('?')
@@ -129,6 +130,7 @@ window.initHot = function(model){
              
              
             
             
             this.sid = info.sid;
             this.sid = info.sid;
+            info.styleImg = info.styleImg.map(item=>manage.dealURL(item))
             this.preDeal(info, source)// source:来源
             this.preDeal(info, source)// source:来源
             
             
             this.info = info
             this.info = info
@@ -383,6 +385,7 @@ window.initHot = function(model){
                     this.styleImg = /* this.styleImg || */ [];
                     this.styleImg = /* this.styleImg || */ [];
                     if(this.info.styleImg){
                     if(this.info.styleImg){
                         this.styleImg = this.info.styleImg.map((src)=>{  
                         this.styleImg = this.info.styleImg.map((src)=>{  
+                            src = src.indexOf('4dagePoint')>-1?('static/'+src):src
                             return {src:/* manage.dealURL( */src } //如果要dealURL,在predeal里
                             return {src:/* manage.dealURL( */src } //如果要dealURL,在predeal里
                         }) 
                         }) 
                     }
                     }
@@ -410,7 +413,9 @@ window.initHot = function(model){
             
             
             styleImg = styleImg || this.styleImg
             styleImg = styleImg || this.styleImg
             var tex1, tex2
             var tex1, tex2
+            
             if(styleImg.length){
             if(styleImg.length){
+                console.log(styleImg,'styleImg');
                 tex1 = Texture.load(styleImg[0].src);
                 tex1 = Texture.load(styleImg[0].src);
                 tex2 = Texture.load(styleImg[1]&&styleImg[1].src || styleImg[0].src); 
                 tex2 = Texture.load(styleImg[1]&&styleImg[1].src || styleImg[0].src); 
                 
                 
@@ -929,22 +934,22 @@ window.initHot = function(model){
                 this.quaternion.copy(player.camera.quaternion)
                 this.quaternion.copy(player.camera.quaternion)
             }
             }
             
             
-
             this.updateScale()
             this.updateScale()
         }
         }
                     
                     
-            updateScale(e, t) {//自适应调节大小 
-                if(!DATA.autoAdjustHotScale || this.texType != 'shine' )return
-                //let renderSize = player.sceneRenderer.renderer.domElement 
-                let renderSize = player.sceneRenderer.renderer.getSize()
-                
-                var scale = convertTool.getScaleForConstantSize($.extend(autoSizeInfo,{
-                    camera:player.camera,  resolution:{x:renderSize.width, y:renderSize.height},
-                    position: this.position.clone() ,
-                }))
-                this.plane.scale.set(scale,scale,scale)
-                
-            }     
+        updateScale(e, t) {//自适应调节大小 
+            if(!DATA.autoAdjustHotScale || this.texType != 'shine' )return
+            //let renderSize = player.sceneRenderer.renderer.domElement 
+            let renderSize = player.sceneRenderer.renderer.getSize()
+            
+            var scale = convertTool.getScaleForConstantSize($.extend(autoSizeInfo,{
+                camera:player.camera,  resolution:{x:renderSize.width, y:renderSize.height},
+                position: this.position.clone() ,
+            }))
+            this.plane.scale.set(scale,scale,scale)
+            
+        }                
+
 
 
         switchPlay(state){//手动播放暂停 
         switchPlay(state){//手动播放暂停 
             this.pausedByUser = !state
             this.pausedByUser = !state
@@ -1056,7 +1061,8 @@ window.initHot = function(model){
                 },
                 },
                 
                 
                 (pano)=>{ // add
                 (pano)=>{ // add
-                    return this.info.visiblePanos.includes(pano.id)
+                    // 周恩光改 解决visiblePanos为undefined时的bug
+                    return this.info.visiblePanos && this.info.visiblePanos.includes(pano.id)
                 }    
                 }    
             )
             )
             n.push(
             n.push(
@@ -1080,7 +1086,7 @@ window.initHot = function(model){
                 
                 
                 
                 
             var s = t.model.panos.sortByScore(i, n);
             var s = t.model.panos.sortByScore(i, n);
-            console.log(s)
+             
             return s && 0 < s.length && s[0].pano
             return s && 0 < s.length && s[0].pano
         }
         }
          
          
@@ -1093,7 +1099,10 @@ window.initHot = function(model){
             var needExamine = options.examine || (!settings.dontExamHot && this.info.actionType.examine)  
             var needExamine = options.examine || (!settings.dontExamHot && this.info.actionType.examine)  
             if(!openHot && !needExamine)return;
             if(!openHot && !needExamine)return;
             
             
-            
+            if(this.info.actionType['linkother']){
+                window.player.director.emit('linkother',this.info)
+                return;
+            }
             if(openHot && this.info.linkType!="common" && this.info.iframe && this.info.iframe[0]){
             if(openHot && this.info.linkType!="common" && this.info.iframe && this.info.iframe[0]){
                 var src = getLink(this.info.iframe[0]);
                 var src = getLink(this.info.iframe[0]);
                 
                 
@@ -1107,18 +1116,19 @@ window.initHot = function(model){
                     div.style.position = 'fixed';
                     div.style.position = 'fixed';
                     div.style.width = div.style.height = "100%";
                     div.style.width = div.style.height = "100%";
                     div.style.left = div.style.top = '0';
                     div.style.left = div.style.top = '0';
-                    div.style["z-index"] = "999"
-                    
+                    div.style["z-index"] = "9999"
+                    div.style["background-color"] = "rgba(0, 0, 0, 0.5)"; 
+
                     var exit = document.createElement("div");
                     var exit = document.createElement("div");
-                    exit.style["background-image"] = "url(images/vrOffImg.png)";
+                    exit.style["background-image"] = "url(static/images/vrOffImg.png)";
                     exit.style.position = 'absolute';
                     exit.style.position = 'absolute';
                     exit.style.width = exit.style.height = "50px";
                     exit.style.width = exit.style.height = "50px";
-                    exit.style.left = '17px';   exit.style.top = "20px"
+                    exit.style.right = '17px';   exit.style.top = "20px"
                     exit.style.cursor = "pointer";
                     exit.style.cursor = "pointer";
                     exit.style["background-repeat"] = "no-repeat";
                     exit.style["background-repeat"] = "no-repeat";
                     exit.style["background-size"] = "25%"; 
                     exit.style["background-size"] = "25%"; 
                     exit.style["background-position"] = "center center"; 
                     exit.style["background-position"] = "center center"; 
-                    exit.style["background-color"] = "rgba(0, 0, 0, 0.2)"; 
+                    exit.style["background-color"] = "rgba(0, 0, 0, 0.5)"; 
                     exit.style["border-radius"] = "50%";
                     exit.style["border-radius"] = "50%";
                     exit.style["z-index"] = "3"
                     exit.style["z-index"] = "3"
                     exit.onclick = ()=>{
                     exit.onclick = ()=>{
@@ -1345,10 +1355,10 @@ window.initHot = function(model){
         requestDownload(type,callback) { 
         requestDownload(type,callback) { 
             var plane = this.plane;
             var plane = this.plane;
              
              
-            
             if(type == 'photo'){
             if(type == 'photo'){
                 if(this.photoHasRequestLoad || this.texType != 'photo')return;
                 if(this.photoHasRequestLoad || this.texType != 'photo')return;
                 //console.log('overlay beginDownload : ' + this.sid)
                 //console.log('overlay beginDownload : ' + this.sid)
+                
                  
                  
                 /* this.material_.map =  */Texture.load(this.info.texSrc, (tex)=>{ 
                 /* this.material_.map =  */Texture.load(this.info.texSrc, (tex)=>{ 
                     callback && callback()
                     callback && callback()
@@ -1363,7 +1373,7 @@ window.initHot = function(model){
                         if(e.info.texSrc == this.info.texSrc && e.info.texType == type  ){ 
                         if(e.info.texSrc == this.info.texSrc && e.info.texType == type  ){ 
                             e.material_.color.set("#FFFFFF") 
                             e.material_.color.set("#FFFFFF") 
                             e.material_.opacity = 1;
                             e.material_.opacity = 1;
-                            console.log('overlay loaded: ' + e.sid + " - " + this.info.texSrc.split('/').pop());
+                            //console.log('overlay loaded: ' + e.sid + " - " + this.info.texSrc.split('/').pop());
                         
                         
                         
                         
                              
                              
@@ -1621,24 +1631,24 @@ window.initHot = function(model){
     
     
     
     
     
     
-    // Hot.createHotList = function() {
-    //     var docFragment = document.createDocumentFragment();
-    //     var hots = hotGroup.children.filter(hot=>hot.info.actionType.openHot);
-    //     hots = hots.sort((a,b)=>{return a.order - b.order});
-    //     hots.forEach((hot)=>{
-    //         var li = document.createElement('li');
-    //         var span = document.createElement('span');
-    //         span.innerHTML = hot.info.title || '热点';
-    //         // console.log(span.innerHTML);
-    //         li.hot = hot;   // 列表每一项对应一个热点
-    //         li.appendChild(span);
-    //         docFragment.appendChild(li);
+    Hot.createHotList = function() {
+        var docFragment = document.createDocumentFragment();
+        var hots = hotGroup.children.filter(hot=>hot.info.actionType.openHot);
+        hots = hots.sort((a,b)=>{return a.order - b.order});
+        hots.forEach((hot)=>{
+            var li = document.createElement('li');
+            var span = document.createElement('span');
+            span.innerHTML = hot.info.title || '热点';
+            // console.log(span.innerHTML);
+            li.hot = hot;   // 列表每一项对应一个热点
+            li.appendChild(span);
+            docFragment.appendChild(li);
              
              
-    //     })  
-    //     var ul = document.querySelector('#hotListContent ul');
-    //     ul && ul.appendChild(docFragment);
+        })  
+        var ul = document.querySelector('#hotListContent ul');
+        ul && ul.appendChild(docFragment);
          
          
-    // }
+    }
             
             
 
 
 }
 }

+ 1 - 1
web/public/static/js/loadCAD.js

@@ -131,7 +131,7 @@ window.grendCAD = (function grendCAD() {
   }
   }
 })();
 })();
 
 
-if(window.number==='1151'){
+if(window.number==='TEST'){
 
 
   $.ajax({
   $.ajax({
     url: g_Prefix + "data/" + window.number + "/someData.json" + "?" + Date.now(),
     url: g_Prefix + "data/" + window.number + "/someData.json" + "?" + Date.now(),

文件差异内容过多而无法显示
+ 58372 - 0
web/public/static/js/main_2020_show copy.js


+ 229 - 114
web/public/static/js/main_2020_show.js

@@ -1,6 +1,12 @@
 /* 许钟文修改的  标记 xzw    
 /* 许钟文修改的  标记 xzw    
 另外 	所有"matter"字样已被我删除				原因:删除matterport信息
 另外 	所有"matter"字样已被我删除				原因:删除matterport信息
   */
   */
+ 
+
+
+
+
+
 
 
 !function() {
 !function() {
     "use strict";
     "use strict";
@@ -3380,16 +3386,43 @@ window.Modernizr = function(n, e, t) {
             this.currentScale = this.absoluteScale
             this.currentScale = this.absoluteScale
         }
         }
         ,
         ,
-        n.prototype.getDefaultAbsoluteScale = function(modelSize) {
-            var t = Math.max(modelSize.x, modelSize.z)
-              , i = Math.min(modelSize.x, modelSize.z)
-              , n = Math.max(t, i * this.camera.aspect)
-              , r = Math.max(i, t * this.camera.aspect);
-            var absoluteScale = (h.aspectRatio() < 1 ? r : n) / 2 / o.orthoBase * 1.2 
+        n.prototype.getDefaultAbsoluteScale = function(modelSize, ratio) {
+            let defaultRatio = 1.2 ,   absoluteScale 
+    
+            
+            if(_settings.floorPlanAngle){//指定了角度的话,就和browser.aspectRatio()无关,总使用纵向
+                var angle = parseFloat(_settings.floorPlanAngle)
+                    
+                
+                modelSize = modelSize.clone().applyEuler(new THREE.Euler(0, angle, 0))
+                
+                var n = Math.max(Math.abs(modelSize.x), Math.abs(modelSize.z) * this.camera.aspect) //视口宽高比 >= 1 情况下,模型所占最大视口尺寸
+                
+                var screenSize = Math.min($("#player").width(), $("#player").height())
+                var maxSize = 800;//模型最大占据像素
+                ratio = ratio != void 0 ? ratio :  Math.max(screenSize *  defaultRatio / maxSize,  defaultRatio) ; 
+                
+                absoluteScale = n / 2 / o.orthoBase * ratio;  //根据模型所占最大视口尺寸调整缩放
+            }else{ 
+                var t = Math.max(modelSize.x, modelSize.z)
+                  , i = Math.min(modelSize.x, modelSize.z)
+                  , n = Math.max(t, i * this.camera.aspect)
+                  , r = Math.max(i, t * this.camera.aspect);
+                absoluteScale = (h.aspectRatio() < 1 ? r : n) / 2 / o.orthoBase * defaultRatio 
+            }
             return absoluteScale
             return absoluteScale
         },
         },
         
         
         
         
+        /* n.prototype.rotateToView = function(e, t) {
+            var i = 0
+              , n = h.aspectRatio() < 1
+              , r = e.x < e.z;
+            n === r ? t.z > 0 && (i = Math.PI) : i = t.x > 0 ? Math.PI / 2 : -Math.PI / 2,
+            this.rotateLeft(i),
+            this.update(0)
+        },
+         */
         n.prototype.rotateToView = function(modelSize, direction) {
         n.prototype.rotateToView = function(modelSize, direction) {
             let i = 0, n = h.aspectRatio() < 1  //是否模型尺寸显“细长” 
             let i = 0, n = h.aspectRatio() < 1  //是否模型尺寸显“细长” 
               
               
@@ -3431,6 +3464,8 @@ window.Modernizr = function(n, e, t) {
             this.update(0); 
             this.update(0); 
             
             
         }
         }
+        
+        
         ,
         ,
         n.prototype.pan = function(e, t) {
         n.prototype.pan = function(e, t) {
             this.camera.updateMatrix(),
             this.camera.updateMatrix(),
@@ -3646,9 +3681,10 @@ window.Modernizr = function(n, e, t) {
               , n = Math.atan2(Math.sqrt(this.offset.x * this.offset.x + this.offset.z * this.offset.z), this.offset.y);
               , n = Math.atan2(Math.sqrt(this.offset.x * this.offset.x + this.offset.z * this.offset.z), this.offset.y);
             this.autoRotate && this.rotateLeft(this.getAutoRotationAngle()),
             this.autoRotate && this.rotateLeft(this.getAutoRotationAngle()),
             i += this.thetaDelta,
             i += this.thetaDelta,
-            n += this.phiDelta,
+            n += this.phiDelta, 
             n = Math.max(this.minPolarAngle, Math.min(this.maxPolarAngle, n)),
             n = Math.max(this.minPolarAngle, Math.min(this.maxPolarAngle, n)),
             n = Math.max(f, Math.min(Math.PI - f, n));
             n = Math.max(f, Math.min(Math.PI - f, n));
+            this.lon = i, this.lat = n//add
             var r = this.updateZoom();
             var r = this.updateZoom();
             r = Math.max(this.minDistance, Math.min(this.maxDistance, r)),
             r = Math.max(this.minDistance, Math.min(this.maxDistance, r)),
             this.target.add(this.panVector),
             this.target.add(this.panVector),
@@ -4137,6 +4173,7 @@ window.Modernizr = function(n, e, t) {
                     case c.LEFT:
                     case c.LEFT:
                         this.startRotationFrom(e.clientX, e.clientY)
                         this.startRotationFrom(e.clientX, e.clientY)
                     }
                     }
+                    SoundManager.pause('tour') // 周恩光 点击场景时停止语音
                     this.emit(u.InputStart, "mouse")
                     this.emit(u.InputStart, "mouse")
                 }
                 }
             }
             }
@@ -4497,6 +4534,25 @@ window.Modernizr = function(n, e, t) {
                 this.updateModel(),
                 this.updateModel(),
                 this.resetAll(),
                 this.resetAll(),
                 this.bindEvents()
                 this.bindEvents()
+                
+                // 周恩光 查询pano对应的导览片段
+                if(!this.panoIdMap) {
+                    this.panoIdMap = new Map()
+                    this.model.heroLocations.forEach( (value, index) => {
+                        // value.heroLocations.forEach( hl => {
+                            if(value.heroLocations){
+                                let hl = value.heroLocations[0]
+                                let arr = this.panoIdMap.get(hl.panoId)
+                                if(arr){
+                                    this.panoIdMap.set(hl.panoId, [...arr, index])
+                                } else {
+                                    this.panoIdMap.set(hl.panoId, [index])
+                                }
+                            }
+
+                        // })
+                    })
+                }
             }
             }
             ,
             ,
             n.prototype.resetAll = function() {
             n.prototype.resetAll = function() {
@@ -4750,8 +4806,17 @@ window.Modernizr = function(n, e, t) {
                 //音频 
                 //音频 
                 
                 
                 var musicInfo = this.model.heroLocations[this.destinationItem[0]].musicInfo
                 var musicInfo = this.model.heroLocations[this.destinationItem[0]].musicInfo
-                if(musicInfo && musicInfo.music){
-                    let src = musicInfo.music.includes(g_Prefix.slice(-10)) ? musicInfo.music :  g_Prefix + musicInfo.music;
+                // 手动导览不播放音频
+                if(musicInfo && musicInfo.music && !e){
+
+                    let musicType = localStorage.getItem('xunirole') || 'male'
+
+                    let isMale = musicType.indexOf('female') < 0
+
+                    let fixMusic = isMale?musicInfo.music:(musicInfo.fmusic||musicInfo.music)
+
+                    // let src = musicInfo.music.includes(g_Prefix.slice(-10)) ? musicInfo.music :  g_Prefix + musicInfo.music;
+                    let src = fixMusic
                     let audioObj = SoundManager.list.find(e=>e.name == 'tour')
                     let audioObj = SoundManager.list.find(e=>e.name == 'tour')
                     let audioSrc1 = common.getFileNameFromUrl(audioObj.src);  
                     let audioSrc1 = common.getFileNameFromUrl(audioObj.src);  
                     let audioSrc2 = common.getFileNameFromUrl(src)
                     let audioSrc2 = common.getFileNameFromUrl(src)
@@ -4770,6 +4835,9 @@ window.Modernizr = function(n, e, t) {
                     
                     
                      
                      
                 }
                 }
+
+                let oldPos = this.player.position.clone();
+                let oldPano = this.player.currentPano
                 
                 
                 if (this.onTheBus = !0,
                 if (this.onTheBus = !0,
                 this.emit("update.controls"),
                 this.emit("update.controls"),
@@ -4786,15 +4854,18 @@ window.Modernizr = function(n, e, t) {
                 if (this.player.flying || this.player.isWarping())
                 if (this.player.flying || this.player.isWarping())
                     A.warn("Cannot go to new destination while player is flying or warping.");
                     A.warn("Cannot go to new destination while player is flying or warping.");
                 else {
                 else {
+
                     var r = this.model.getHeroDescriptorByIndex(this.destinationItem)
                     var r = this.model.getHeroDescriptorByIndex(this.destinationItem)
                       , o = null
                       , o = null
                       , a1 = null;
                       , a1 = null;
-                    if (r.isPano()) {
+                    //   console.error(this.destinationItem)
+                    if (r.isPano && r.isPano()) {
                     
                     
                         //var s = 0 === this.destinationItem || e ? u.BLACK : this.nextWarpStyle;
                         //var s = 0 === this.destinationItem || e ? u.BLACK : this.nextWarpStyle;
                         //var walk = window.DATA.black ? 'black' : 'walk';
                         //var walk = window.DATA.black ? 'black' : 'walk';
-                         //若是点击item,直接瞬间过渡。
-                        var s = e ? 'black' : this.getMomentTour(this.destinationItem)
+                        //若是点击item,直接瞬间过渡。
+                        var s = e ? 'black' : this.getMomentTour(this.destinationItem)   //window.DATA.momentTour || "walk";
+                        if(this.destinationItem[0] == 0 && this.destinationItem[1] == 0) s = 'black' // 周恩光加 返回最初导览点是瞬间过渡
                         a1 = this.player.warpToPanoByHeroIndex.bind(this.player, this.destinationItem, v.Show, m.Slow,  s, true, i, this.actionComplete.bind(this)),
                         a1 = this.player.warpToPanoByHeroIndex.bind(this.player, this.destinationItem, v.Show, m.Slow,  s, true, i, this.actionComplete.bind(this)),
                         o = this.arrivedAtDestination.bind(this, !0)
                         o = this.arrivedAtDestination.bind(this, !0)
                     
                     
@@ -4814,6 +4885,9 @@ window.Modernizr = function(n, e, t) {
                     }
                     }
                     .bind(this), o),
                     .bind(this), o),
                     this.emit("update.controls") 
                     this.emit("update.controls") 
+                    // 周恩光加 更新右侧导览当前位置
+                    let pano = this.model.panos.index[r.panoId]
+                    pano && this.player.emit("flying.ended", pano.position, oldPos, pano, oldPano) 
                 }
                 }
             }
             }
             ,
             ,
@@ -4825,8 +4899,15 @@ window.Modernizr = function(n, e, t) {
                 this.emit("update.controls"),
                 this.emit("update.controls"),
                 this.tourIsPlaying)
                 this.tourIsPlaying)
                     return this.atEndOfTour() && !this.endlessLoop ? (this.tourInProgress = !1,
                     return this.atEndOfTour() && !this.endlessLoop ? (this.tourInProgress = !1,
-                    this.stopTour(true),
-                    this.emit(p.TourEnd),
+                    void this.awaitCompletion(function() {
+                        this.transitionStage = y.Interlude,
+                        this.player.tourInterlude(this.nextItem(this.currentItem),this.actionComplete.bind(this))
+                    }
+                    .bind(this), function(){
+                        this.currentItem = [0,0],
+                        this.stopTour(true),
+                        this.emit(p.TourEnd)
+                    }.bind(this)),
                     void (this.player.mode === c.PANORAMA && this.model.fadePanoMarkers(a.panorama.markerOpacity))) : void this.awaitCompletion(function() {
                     void (this.player.mode === c.PANORAMA && this.model.fadePanoMarkers(a.panorama.markerOpacity))) : void this.awaitCompletion(function() {
                         this.transitionStage = y.Interlude,
                         this.transitionStage = y.Interlude,
                         this.player.tourInterlude(this.nextItem(this.currentItem),this.actionComplete.bind(this))
                         this.player.tourInterlude(this.nextItem(this.currentItem),this.actionComplete.bind(this))
@@ -4835,7 +4916,33 @@ window.Modernizr = function(n, e, t) {
             }
             }
             ,
             ,
             n.prototype.playTour = function() {
             n.prototype.playTour = function() {
-                if (!this.bounceable())
+                if (!this.bounceable()) {
+
+                    if(!this.currentItem) this.currentItem = []
+                    if(this.currentItem[0] != 0 || this.destinationItem[0]!= this.nItems-1){
+                        // 周恩光加 从当前pano进行自动导览
+                        let currentPanoDestinations = this.panoIdMap.get(this.player.currentPano.id)
+                        // this.model.heroLocations.forEach( (value, index) => {
+                            // if(value.heroLocations.find( hl => hl.panoId == this.player.currentPano.id )) {
+                            //     currentPanoDestinations.push(index)
+                            // }
+                        // })
+
+                        if(!currentPanoDestinations) { 
+                            // let panoIndex = this.model.panos.list.findIndex( pano => pano.id == this.player.currentPano.id )
+                            let panoIndex = this.model.panos.list.indexOf( this.player.currentPano )
+                            let neighbourIndex = [ panoIndex + 1, panoIndex - 1, panoIndex + 2, panoIndex - 2, panoIndex + 3, panoIndex - 3 ]
+                            for(var i = 0; i < neighbourIndex.length; i++) {
+                                currentPanoDestinations = this.panoIdMap.get(this.model.panos.list[neighbourIndex[i]]&&this.model.panos.list[neighbourIndex[i]].id)
+                                if(currentPanoDestinations && currentPanoDestinations[0] != 0) break
+                            }
+                            if(!currentPanoDestinations) currentPanoDestinations = [0];
+                        }
+                        if(currentPanoDestinations.indexOf(this.currentItem[0]) == -1) {
+                            this.currentItem[0] = currentPanoDestinations[0]
+                        }
+                    }
+
                     return this.tourIsPlaying ? void A.info("tour is already playing") : void (this.wouldInterrupt() || (this.player.emit("tour_auto", this.defaultWarpStyle),
                     return this.tourIsPlaying ? void A.info("tour is already playing") : void (this.wouldInterrupt() || (this.player.emit("tour_auto", this.defaultWarpStyle),
                     this.tourInProgress = !0,
                     this.tourInProgress = !0,
                     this.reachSource = "play",
                     this.reachSource = "play",
@@ -4846,8 +4953,10 @@ window.Modernizr = function(n, e, t) {
                     this.emit("update.controls"),
                     this.emit("update.controls"),
                     this.emit(p.TourStart),
                     this.emit(p.TourStart),
                     this.player.enablePreRendering(),
                     this.player.enablePreRendering(),
+                    this.currentItem[1] = null,
                     this.walkingSectionPaused ? (this.clearWalkingSectionPaused(),
                     this.walkingSectionPaused ? (this.clearWalkingSectionPaused(),
                     this.goToDestination()) : this.goNext()))
                     this.goToDestination()) : this.goNext()))
+                }
             } 
             } 
 			,
 			,
 			/* n.prototype.bgmReplay = function() {//xzw add  结束tour后可能要继续播放背景音乐
 			/* n.prototype.bgmReplay = function() {//xzw add  结束tour后可能要继续播放背景音乐
@@ -4856,6 +4965,7 @@ window.Modernizr = function(n, e, t) {
 			} */
 			} */
 			 
 			 
             n.prototype.stopTour = function(isAutoStop) {//停止导览        isAutoStop 希望仅在飞完结束自动停止时的stopTour不停止tourSound, 这样才能完整播放tourSound.  不过似乎会在倒数第二个片段点击按钮停止导览时也视作自动结束的(执行this.interrupt() )。
             n.prototype.stopTour = function(isAutoStop) {//停止导览        isAutoStop 希望仅在飞完结束自动停止时的stopTour不停止tourSound, 这样才能完整播放tourSound.  不过似乎会在倒数第二个片段点击按钮停止导览时也视作自动结束的(执行this.interrupt() )。
+                SoundManager.pause('tour'), // 周恩光 自动导览暂停时同时停止语音
                 this.isInterrupted() || this.transitionStage === y.Moving && this.checkAndHandleWalkingtourInterruption(this.nextWarpStyle) || (this.tourIsPlaying && (this.player.zoomEnabled = this.wasZoomEnabled),
                 this.isInterrupted() || this.transitionStage === y.Moving && this.checkAndHandleWalkingtourInterruption(this.nextWarpStyle) || (this.tourIsPlaying && (this.player.zoomEnabled = this.wasZoomEnabled),
                 this.tourIsPlaying = !1, 
                 this.tourIsPlaying = !1, 
                 this.interrupt(),
                 this.interrupt(),
@@ -5019,18 +5129,28 @@ window.Modernizr = function(n, e, t) {
             n.prototype.tourAdvance = function(e) {//e是1或-1
             n.prototype.tourAdvance = function(e) {//e是1或-1
                 
                 
                 A.debug("tourAdvance(" + e + ")") 
                 A.debug("tourAdvance(" + e + ")") 
+
+                // 周恩光改
                 if(null === this.currentItem || void 0 === this.currentItem){
                 if(null === this.currentItem || void 0 === this.currentItem){
-                    this.setDestinationItem(this.firstDestination()) 
-                }else{ 
-                    var item    
-                    if(e == 1){
-                        item = this.nextItem(this.currentItem)
-                    }else if(e == -1){
-                        item = this.prevItem(this.currentItem)    
-                        
-                    }  
-                    this.setDestinationItem(item) 
+                    // this.setDestinationItem(this.firstDestination()) 
+                    // this.setDestinationItem([currentPanoDestinations[0], 0]) 
+                    this.setDestinationItem([this.currentItem[0], 0]) 
+                }
+                else if(this.currentItem[1] == null) {
+                    this.setDestinationItem([this.currentItem[0], 0])
+                }
+                else{ 
+                    
+                        var item    
+                        if(e == 1){
+                            item = this.nextItem(this.currentItem)
+                        }else if(e == -1){
+                            item = this.prevItem(this.currentItem)    
+                            
+                        }
+                        this.setDestinationItem(item) 
                 }
                 }
+                
                 if(this.itemCompare(this.destinationItem, this.finalDestination(), 'equal')[0] < 0 ){ 
                 if(this.itemCompare(this.destinationItem, this.finalDestination(), 'equal')[0] < 0 ){ 
                     this.useSpecialTransition("reverse-looping to end") 
                     this.useSpecialTransition("reverse-looping to end") 
                 }else if(this.itemCompare(this.destinationItem, this.firstDestination(), 'equal')){ 
                 }else if(this.itemCompare(this.destinationItem, this.firstDestination(), 'equal')){ 
@@ -6428,8 +6548,6 @@ window.Modernizr = function(n, e, t) {
                     t.changeMode(Be)
                     t.changeMode(Be)
                 }),
                 }),
                 $("#gui-modes-floorplan").on("click", function(e) {
                 $("#gui-modes-floorplan").on("click", function(e) {
-                    //显示背景图
-                    // $('.myBacImg').css('display','block')
                     l(e),
                     l(e),
                     i.mode !== _e.FLOORPLAN && (J.track("showcase_gui", {
                     i.mode !== _e.FLOORPLAN && (J.track("showcase_gui", {
                         gui_action: "click_floorplan_mode_button"
                         gui_action: "click_floorplan_mode_button"
@@ -6565,6 +6683,18 @@ window.Modernizr = function(n, e, t) {
                 $(".gui-floor-number").text(" " + (e.floorIndex + 1)),
                 $(".gui-floor-number").text(" " + (e.floorIndex + 1)),
                 $(".floorChoice").removeClass("active"),
                 $(".floorChoice").removeClass("active"),
                 $(".floorChoice[data-index=" + e.floorIndex + "]").addClass("active")))
                 $(".floorChoice[data-index=" + e.floorIndex + "]").addClass("active")))
+
+                if(window.number == '1149_2'){
+                    if(e.floorIndex===0){
+                        $('.cad') && $('.cad').addClass('hidemap')
+                        $('.cad1') && $('.cad1').removeClass('hidemap')
+                    } 
+    
+                    if(e.floorIndex===1){
+                        $('.cad1') && $('.cad1').addClass('hidemap')
+                        $('.cad') && $('.cad').removeClass('hidemap')
+                    } 
+                }
             }
             }
             function I(e) {
             function I(e) {
                 return e.describe().inTransition
                 return e.describe().inTransition
@@ -6589,19 +6719,19 @@ window.Modernizr = function(n, e, t) {
                     } 
                     } 
                     h.attr("data-index", s)
                     h.attr("data-index", s)
                     
                     
-                    je.highlight.visible && h.find("img").attr("src", thumbUrl)
+                    je.highlight.visible && h.find("img").attr("src", 'https://super.4dage.com/'+thumbUrl)
                     
                     
                     
                     
-                    if (e.has360Views && c.cameraMode === _e.PANORAMA) {
-                        var d = e.panos.get(c.panoId)
-                        , p = d && !d.isAligned()
-                        , f = p ? '<div><img class="mark360View" src="static/images/mark-360-white-v2.png"></div>' : '<div><img class="markInsideView" src="static/images/mark-inside-white.png"></div>';
-                        h.prepend(f)
-                    }
                     if (c.name) {
                     if (c.name) {
                         var u = $('<div class="overlay"></div>').text(c.name);
                         var u = $('<div class="overlay"></div>').text(c.name);
                         h.prepend(u)
                         h.prepend(u)
                     }
                     }
+                    if (e.has360Views && c.cameraMode === _e.PANORAMA) {
+                        var d = e.panos.get(c.panoId)
+                          , p = d && !d.isAligned()
+                          , f = p ? '<div><img class="mark360View" src="static/images/mark-360-white-v2.png"></div>' : '<div><img class="markInsideView" src="static/images/mark-inside-white.png"></div>';
+                        h.prepend(f)
+                    }
                     o.append(h),
                     o.append(h),
                     a.append('<div class="step" data-idx="' + s + '" style="width:' + r + '"></div>')
                     a.append('<div class="step" data-idx="' + s + '" style="width:' + r + '"></div>')
                 }
                 }
@@ -7317,7 +7447,7 @@ window.Modernizr = function(n, e, t) {
                 let temp2 =$('.parent-body .lay_top_hide')
                 let temp2 =$('.parent-body .lay_top_hide')
                 if(temp2.css('display')==='none') temp2.css('display','block')
                 if(temp2.css('display')==='none') temp2.css('display','block')
                 else temp2.css('display','none')
                 else temp2.css('display','none')
-                
+
 
 
                 $("#gui-fullscreen").toggle(!K.isFullscreen()),
                 $("#gui-fullscreen").toggle(!K.isFullscreen()),
                 $("#gui-fullscreen-exit").toggle(!!K.isFullscreen()),
                 $("#gui-fullscreen-exit").toggle(!!K.isFullscreen()),
@@ -7325,7 +7455,7 @@ window.Modernizr = function(n, e, t) {
                     $(".icon:visible").hide().show(0)
                     $(".icon:visible").hide().show(0)
                 }, 100)
                 }, 100)
             }),
             }),
-            $("#gui-fullscreen").find("a").on("click", function(e) {
+            $("#gui-fullscreen").on("click", function(e) {
                 l(e),
                 l(e),
                 K.requestFullscreen($("body")[0]),
                 K.requestFullscreen($("body")[0]),
                 J.track("showcase_gui", {
                 J.track("showcase_gui", {
@@ -7335,7 +7465,7 @@ window.Modernizr = function(n, e, t) {
                 //czj
                 //czj
                 //W.reload()
                 //W.reload()
             }),
             }),
-            $("#gui-fullscreen-exit").find("a").on("click", function(e) {
+            $("#gui-fullscreen-exit").on("click", function(e) {
                 l(e),
                 l(e),
                 K.exitFullscreen(),
                 K.exitFullscreen(),
                 J.track("showcase_gui", {
                 J.track("showcase_gui", {
@@ -7357,6 +7487,8 @@ window.Modernizr = function(n, e, t) {
             K.supportsFullscreen() || $("#gui-fullscreen").hide(),
             K.supportsFullscreen() || $("#gui-fullscreen").hide(),
             $("#pullTab").on("click", function(e) {
             $("#pullTab").on("click", function(e) {
                 l(e),
                 l(e),
+                window.player.director.emit('isPulltttttt',!$("#drawer").hasClass("open"));
+
                 $("#drawer").hasClass("open") ? (J.trackAlways("showcase_gui", {
                 $("#drawer").hasClass("open") ? (J.trackAlways("showcase_gui", {
                     gui_action: "hide_highlight_reel"
                     gui_action: "hide_highlight_reel"
                 }),
                 }),
@@ -7384,21 +7516,20 @@ window.Modernizr = function(n, e, t) {
                 }),
                 }),
                 
                 
                 $('#hotListContent ul').on('mouseover', function(e){
                 $('#hotListContent ul').on('mouseover', function(e){
-                    if(browser.isMobile()) return
                     l(e);
                     l(e);
                     var target = e.target;
                     var target = e.target;
                     var hotList = document.getElementById('hotListWrap');
                     var hotList = document.getElementById('hotListWrap');
                     if(target.tagName === 'SPAN'){
                     if(target.tagName === 'SPAN'){
                         var targetParent = target.parentElement.parentElement;
                         var targetParent = target.parentElement.parentElement;
-                        if(target.offsetWidth + 150 >= targetParent.clientWidth){
-                            hotList.style.width = target.offsetWidth + 150 + 'px';
+                        if(target.offsetWidth + 116 >= targetParent.clientWidth){
+                            hotList.style.width = target.offsetWidth + 116 + 'px';
                         }else{
                         }else{
                             hotList.style.width = '';
                             hotList.style.width = '';
                         }
                         }
                     }else if(target.tagName === 'LI'){
                     }else if(target.tagName === 'LI'){
                         var targetParent = target.parentElement;
                         var targetParent = target.parentElement;
-                        if(target.children[0].offsetWidth + 150 >= targetParent.clientWidth){
-                            hotList.style.width = target.children[0].offsetWidth + 150 + 'px';
+                        if(target.children[0].offsetWidth + 116 >= targetParent.clientWidth){
+                            hotList.style.width = target.children[0].offsetWidth + 116 + 'px';
                         }else{
                         }else{
                             hotList.style.width = ''
                             hotList.style.width = ''
                         }
                         }
@@ -7410,7 +7541,6 @@ window.Modernizr = function(n, e, t) {
                     l(e);
                     l(e);
                     this.preElem && this.preElem.classList.remove('active');
                     this.preElem && this.preElem.classList.remove('active');
                     if(e.target.tagName === 'SPAN'){
                     if(e.target.tagName === 'SPAN'){
-                        e.stopPropagation();//阻止事件冒泡即可
                         e.target.parentElement.classList.add('active');
                         e.target.parentElement.classList.add('active');
                         e.target.parentElement.hot && e.target.parentElement.hot.examine(window.player,true);  // 打开热点
                         e.target.parentElement.hot && e.target.parentElement.hot.examine(window.player,true);  // 打开热点
                         this.preElem = e.target.parentElement;
                         this.preElem = e.target.parentElement;
@@ -7684,17 +7814,6 @@ window.Modernizr = function(n, e, t) {
                 B = t !== C.PANORAMA && e !== C.PANORAMA
                 B = t !== C.PANORAMA && e !== C.PANORAMA
             }),
             }),
             t.on(A.ModeChanged, function(e, i) {
             t.on(A.ModeChanged, function(e, i) {
-                // 如果是顶部俯视,就显示图片
-                if(t.mode==='floorplan')  {
-                    $('.myBacImg').css('display','block')
-                    $('.pinTop').css('display','none')
-                }
-                else {
-                    $('.myBacImg').css('display','none')
-                    $('.pinTop').css('display','block')
-                }
-                console.log( t.mode,11111111)
-
                 N = t.mode,
                 N = t.mode,
                 i !== C.TRANSITIONING ? l() : a("modeChange")
                 i !== C.TRANSITIONING ? l() : a("modeChange")
             }),
             }),
@@ -7900,7 +8019,8 @@ window.Modernizr = function(n, e, t) {
         }
         }
         function s(e, t) {
         function s(e, t) {
             setTimeout(function() {
             setTimeout(function() {
-                if (h.isHelpEnabled()) {
+                // h.isHelpEnabled()
+                if (false) {
                     if (t(),
                     if (t(),
                     u.init(),
                     u.init(),
                     C.addClass("fadeIn landing " + u.deviceType),
                     C.addClass("fadeIn landing " + u.deviceType),
@@ -7921,8 +8041,7 @@ window.Modernizr = function(n, e, t) {
                 id.on("click",function(){
                 id.on("click",function(){
                     var navPage  = null;
                     var navPage  = null;
                     $(this).attr("data-id") == "plus" ? navPage = +navIcon.attr("data-page")+1 : navPage = +navIcon.attr("data-page")-1;
                     $(this).attr("data-id") == "plus" ? navPage = +navIcon.attr("data-page")+1 : navPage = +navIcon.attr("data-page")-1;
-                    if(navPage > 3 || navPage < 1) return false
-                    console.log('123-',navPage);
+                    if(navPage > helpData.length || navPage < 1) return false
                     if(/Android|webOS|iPhone|iPod|BlackBerry/i.test(navigator.userAgent)){
                     if(/Android|webOS|iPhone|iPod|BlackBerry/i.test(navigator.userAgent)){
                         navIcon.attr({"data-page":navPage,"src":helpData.mobile[navPage - 1]});
                         navIcon.attr({"data-page":navPage,"src":helpData.mobile[navPage - 1]});
                     }else{
                     }else{
@@ -8909,15 +9028,15 @@ window.Modernizr = function(n, e, t) {
         }
         }
         function u(e, t) {
         function u(e, t) {
             if (t) {
             if (t) {
-                var i = "keydown" === t.type
-                  , n = t.which === f.SPACE || C.tourIsPlaying;
+                // var i = "keydown" === t.type
+                //   , n = t.which === f.SPACE || C.tourIsPlaying;
                   
                   
-                i && n || e || (O = !0),
-                C.atEndOfTour() && d(),
-                !C.tourIsPlaying && C.tourInProgress && (_.removeClass("fadeIn"),
-                d(),
-                t.which !== f.SPACE && a()),
-                i && n && s() 
+                // i && n || e || (O = !0),
+                // C.atEndOfTour() && d(),
+                // !C.tourIsPlaying && C.tourInProgress && (_.removeClass("fadeIn"),
+                // d(),
+                // t.which !== f.SPACE && a()),
+                // i && n && s() 
             }
             }
         }
         }
         function d() {
         function d() {
@@ -14423,7 +14542,8 @@ window.Modernizr = function(n, e, t) {
 			progressUpdate(0.1)
 			progressUpdate(0.1)
 			var fileName = g_version ?  'modeldata.js' : 'someData.json' ;
 			var fileName = g_version ?  'modeldata.js' : 'someData.json' ;
 
 
-            if(window.number==='1151') {
+            if(window.number==='TEST') {
+
                 $.ajax(g_Prefix + "data/"+window.number+"/"+fileName+"?"+randomTime().getTime(),{dataType: "json"}).done( function(e){ //改
                 $.ajax(g_Prefix + "data/"+window.number+"/"+fileName+"?"+randomTime().getTime(),{dataType: "json"}).done( function(e){ //改
                      
                      
                     var data = matcher(e);
                     var data = matcher(e);
@@ -14465,7 +14585,7 @@ window.Modernizr = function(n, e, t) {
                     
                     
                     window.wx && manage.weixinShare();  
                     window.wx && manage.weixinShare();  
                     //初始画面
                     //初始画面
-                    data.camera_start && data.camera_start.thumbImg && E(data.camera_start.thumbImg)
+                    data.camera_start && data.camera_start.thumbImg && E(manage.dealURL(data.camera_start.thumbImg))
                     function E(e) {
                     function E(e) {
                         $("<img/>").attr("src", e).on("load", function() {
                         $("<img/>").attr("src", e).on("load", function() {
                             $("#gui-thumb").css("backgroundImage", "url(" + e + ")").fadeIn(500),
                             $("#gui-thumb").css("backgroundImage", "url(" + e + ")").fadeIn(500),
@@ -14492,13 +14612,12 @@ window.Modernizr = function(n, e, t) {
                         if(DATA.tourRotTime == '' || DATA.tourRotTime == void 0){
                         if(DATA.tourRotTime == '' || DATA.tourRotTime == void 0){
                             DATA.tourRotTime = settings.tourRotTime; //默认停留2秒
                             DATA.tourRotTime = settings.tourRotTime; //默认停留2秒
                         }
                         }
-                    
                     }
                     }
                     {//其他
                     {//其他
                         _settings.floorPlanAngle = DATA.floorPlanAngle || 0  
                         _settings.floorPlanAngle = DATA.floorPlanAngle || 0  
                     }
                     }
                 }).fail(e=>{
                 }).fail(e=>{
-                    // alert("缺少someData文件,请检查场景码是否正确。")
+                    alert("缺少someData文件,请检查场景码是否正确。")
                 })
                 })
             }
             }
 
 
@@ -14596,7 +14715,7 @@ window.Modernizr = function(n, e, t) {
 						}),
 						}),
 						!P.supportsTiles) {
 						!P.supportsTiles) {
 							var e = new Z(P,w);
 							var e = new Z(P,w);
-							e.start()
+							// e.start()
 						}
 						}
 						u && (S.removeComponent(g),
 						u && (S.removeComponent(g),
 						g.destroy(),
 						g.destroy(),
@@ -14608,8 +14727,13 @@ window.Modernizr = function(n, e, t) {
 							var e = N.calcFullLoadingTime();
 							var e = N.calcFullLoadingTime();
 							de.warn("Total load time: " + e / 1e3),
 							de.warn("Total load time: " + e / 1e3),
 							H.loadComplete(e),
 							H.loadComplete(e),
-                            $('.jumpvideo').fadeIn()
+                            window.dispatchEvent(window.evt);
 							de.warn("First render after model load finished.")
 							de.warn("First render after model load finished.")
+                            try {
+                                parent.postMessage({
+                                    cmd: "loaded",
+                                }, "*")
+                            } catch (err) {}   
 						}),
 						}),
 						S.on(le.MemoryUsageUpdated, n)
 						S.on(le.MemoryUsageUpdated, n)
 					}).fail(b.bind(this, e))
 					}).fail(b.bind(this, e))
@@ -14871,8 +14995,8 @@ window.Modernizr = function(n, e, t) {
                 //czj 判断someData 有没有hoticon字段 修改热点的样式
                 //czj 判断someData 有没有hoticon字段 修改热点的样式
                 if (window.DATA.hoticon){
                 if (window.DATA.hoticon){
                     g_HotImage = {
                     g_HotImage = {
-                        point: window.DATA.hoticon.default || "https://super.4dage.com/static/images/4dagePoint2.png",
-                        point2: window.DATA.hoticon.higt || "https://super.4dage.com/static/images/4dagePoint.png"
+                        point: ("static/"+window.DATA.hoticon.default) || "https://super.4dage.com/images/4dagePoint2.png",
+                        point2: ("static/"+window.DATA.hoticon.higt) || "https://super.4dage.com/images/4dagePoint.png"
                     } ;
                     } ;
                 }
                 }
                 //czj 判断someData 有没有backgroundMusic 添加音乐
                 //czj 判断someData 有没有backgroundMusic 添加音乐
@@ -16167,7 +16291,6 @@ window.Modernizr = function(n, e, t) {
                 console.log('移动了点位')
                 console.log('移动了点位')
                 let temp3 =$('.parent-body .lay_top')
                 let temp3 =$('.parent-body .lay_top')
                 temp3.css('height','0px')
                 temp3.css('height','0px')
-
             }
             }
             ,
             ,
             n.prototype.onPlayerReady = function(e, t, i) {
             n.prototype.onPlayerReady = function(e, t, i) {
@@ -17086,7 +17209,14 @@ window.Modernizr = function(n, e, t) {
                         if (cameraMode === a.MESH) return 
                         if (cameraMode === a.MESH) return 
                                      
                                      
                         
                         
-                        if(window.isLocal)src = manage.dealURL(src)
+                        if(window.isLocal){
+                            src = manage.dealURL(src)
+                            //本地文件莫名少了个"."
+                            if(src[src.length-1]=='.'){
+                               src = src.slice(0,-1) 
+                            }
+                        }
+                         
                         else src = "one" === g_version ? g_Prefix + src + "?" + randomTime().getTime() :  src + "?" + randomTime().getTime()
                         else src = "one" === g_version ? g_Prefix + src + "?" + randomTime().getTime() :  src + "?" + randomTime().getTime()
                          
                          
                         var l = { 
                         var l = { 
@@ -17105,6 +17235,9 @@ window.Modernizr = function(n, e, t) {
                         item.momentTour = info.momentTour
                         item.momentTour = info.momentTour
                         item.dontRot = info.dontRot
                         item.dontRot = info.dontRot
                         item.rotTime = info.rotTime
                         item.rotTime = info.rotTime
+                        
+                        
+                        
                         container.push(item) 
                         container.push(item) 
                         return item
                         return item
                     }
                     }
@@ -17504,24 +17637,7 @@ window.Modernizr = function(n, e, t) {
 				})  
 				})  
             },
             },
             
             
-            n.prototype.createHotItem = function() {
-                
-                // console.log(99999,this.hotGroup.children)
-                this.hotGroup.children.forEach((hot,index)=>{
-                    // console.log(99999,index,hot.info.title)
-                    if(hot.info.actionType.openHot){/* hot.texType == 'shine' */
-                        let ul = document.createElement('ul');
-                        let li = document.createElement('li');
-                        let span = document.createElement('span');
-                        span.innerHTML = hot.info.title || '热点';
-                        // console.log(span.innerHTML);
-                        li.hot = hot;   // 列表每一项对应一个热点
-                        li.appendChild(span);
-                        ul.appendChild(li);
-                        docFragment.appendChild(li);
-                    }
-                })
-            }
+            
 				
 				
 
 
            /*  n.prototype.loadOverlays = function(overlays){
            /*  n.prototype.loadOverlays = function(overlays){
@@ -17569,8 +17685,7 @@ window.Modernizr = function(n, e, t) {
                                 new Hot(info, 'byOverlay')  
                                 new Hot(info, 'byOverlay')  
                             })
                             })
                         } 
                         } 
-                        this.createHotItem( ); 
-                        // Hot.createHotList();
+                        Hot.createHotList();
                         Hot.startLoad()  
                         Hot.startLoad()  
                          
                          
                         
                         
@@ -19756,7 +19871,7 @@ window.Modernizr = function(n, e, t) {
                     this.model.getHeroDescriptorByIndex(0); */
                     this.model.getHeroDescriptorByIndex(0); */
                 var i = this.model.getHeroDescriptorByIndex(e);
                 var i = this.model.getHeroDescriptorByIndex(e);
                 if (i) {
                 if (i) {
-                    var n = i.isPano() ? i.panoId : i.cameraMode;
+                    var n = i.isPano && i.isPano() ? i.panoId : i.cameraMode;
                     y.debug('ShowPath.getHeroDescriptorByHeroIndex() -> New brush/warp destination: "' + n + '" out of ' + t + " choices.")
                     y.debug('ShowPath.getHeroDescriptorByHeroIndex() -> New brush/warp destination: "' + n + '" out of ' + t + " choices.")
                 }
                 }
                 return i
                 return i
@@ -19775,7 +19890,7 @@ window.Modernizr = function(n, e, t) {
             n.prototype.getHeroIndexFromPanoId = function(e) {
             n.prototype.getHeroIndexFromPanoId = function(e) {
                 for (var t = 0; t < this.model.heroLocations.length; t++) {
                 for (var t = 0; t < this.model.heroLocations.length; t++) {
                     var i = this.model.heroLocations[t]
                     var i = this.model.heroLocations[t]
-                      , n = this.getHeroId(i);
+                    , n = this.getHeroId(i);
                     if (n && n === e)
                     if (n && n === e)
                         return t
                         return t
                 }
                 }
@@ -20220,7 +20335,7 @@ window.Modernizr = function(n, e, t) {
                     var o = this.getHeroDescriptorByHeroIndex(n);
                     var o = this.getHeroDescriptorByHeroIndex(n);
                     if (null === o)
                     if (null === o)
                         return i; 
                         return i; 
-                    if (!o.isPano())
+                    if (!o.isPano || !o.isPano())
                         return i;
                         return i;
                     var s = this.getHeroPano(o)
                     var s = this.getHeroPano(o)
                       , h = this.playerControls.cameras[a.PANORAMA]
                       , h = this.playerControls.cameras[a.PANORAMA]
@@ -22081,7 +22196,6 @@ window.Modernizr = function(n, e, t) {
                     }
                     }
 
 
                     if(e.cameraChanged){
                     if(e.cameraChanged){
-                        // console.log(11111111,this.position.x,this.position.z,this.cameraControls.controls.panorama.lon);
                         this.mode == "panorama" && window.cad && cad.setSign({ x: this.position.x, y: this.position.z }, this.cameraControls.controls.panorama.lon);
                         this.mode == "panorama" && window.cad && cad.setSign({ x: this.position.x, y: this.position.z }, this.cameraControls.controls.panorama.lon);
                         
                         
                        
                        
@@ -22316,7 +22430,7 @@ window.Modernizr = function(n, e, t) {
                     e.cameraChanged = !a;
                     e.cameraChanged = !a;
                     
                     
                     if(e.cameraChanged){//
                     if(e.cameraChanged){//
-                        e.cameraChanged2 = !MathLight.closeTo(this.quaternion, this.previousState.quaternion, 3) || !MathLight.closeTo(this.position, this.previousState.position, 4)  || !this.camera.projectionMatrix.equals(this.previousState.projectionMatrix)  
+                        e.cameraChanged2 = !MathLight.closeTo(this.quaternion, this.previousState.quaternion, 3) || !MathLight.closeTo(this.position, this.previousState.position, 4)  || !this.camera.projectionMatrix.equals(this.previousState.projectionMatrix)
                     }else e.cameraChanged2 = false 
                     }else e.cameraChanged2 = false 
                     
                     
                     
                     
@@ -22636,7 +22750,8 @@ window.Modernizr = function(n, e, t) {
                 for (var index in hots){
                 for (var index in hots){
                     var visible; 
                     var visible; 
                     if(this.mode != "panorama"){
                     if(this.mode != "panorama"){
-                        visible = true;
+                        // visible = true;
+                        visible = false;    // 周恩光改 非全景模式下隐藏热点
                     }else{ 
                     }else{ 
                         //hots[index].mesh.material.depthTest = false;  
                         //hots[index].mesh.material.depthTest = false;  
                         visible = !hots[index].visiblePanos || hots[index].visiblePanos.indexOf(pano.id) > -1
                         visible = !hots[index].visiblePanos || hots[index].visiblePanos.indexOf(pano.id) > -1
@@ -22758,7 +22873,7 @@ window.Modernizr = function(n, e, t) {
                      //---------before fly--------------- add
                      //---------before fly--------------- add
                     this.updateHotVisible(i); //更新热点显示
                     this.updateHotVisible(i); //更新热点显示
                     this.transitionPos({type:"beforeFlytopano", pano:i, dur:I})//add 
                     this.transitionPos({type:"beforeFlytopano", pano:i, dur:I})//add 
-                    Hot.updateVisibles([this.currentPano, i])
+                    //Hot.updateVisibles([this.currentPano, i])     // 周恩光 注释 只在fly完成时再显示热点
                     
                     
                     //地标变化
                     //地标变化
                     if(this.model.floorLogos){
                     if(this.model.floorLogos){
@@ -22998,8 +23113,8 @@ window.Modernizr = function(n, e, t) {
             
             
             
             
             n.prototype.fastForwardActivePanoFlight = function(e) {
             n.prototype.fastForwardActivePanoFlight = function(e) {
-                e = e || f.transition.fastForwardFactor / 10 * 4 + 1
-                y.adjustSpeed(V.FlyToPano, e)
+                e = e || f.transition.fastForwardFactor / 10 * 4 + 1 
+                y.adjustSpeed(V.FlyToPano, e) 
                 y.adjustSpeed(V.LookTransition, e)
                 y.adjustSpeed(V.LookTransition, e)
             }
             }
             ,
             ,
@@ -23024,7 +23139,7 @@ window.Modernizr = function(n, e, t) {
             }
             }
             ,
             ,
             n.prototype.flyDirection = function(e, t, i) {
             n.prototype.flyDirection = function(e, t, i) {
-				Hot.closePopup();//xzw add
+				Hot && Hot.closePopup();//xzw add
                 
                 
                 var n = $.Deferred();
                 var n = $.Deferred();
                 this.history.invalidate();
                 this.history.invalidate();
@@ -23621,7 +23736,7 @@ window.Modernizr = function(n, e, t) {
                 var rotTime
                 var rotTime
                 if(currentLocation.rotTime == void 0 || currentLocation.rotTime == ''){
                 if(currentLocation.rotTime == void 0 || currentLocation.rotTime == ''){
                     var restChildCount = currentLocation.heroLocations ? (currentLocation.heroLocations.length-this.director.currentItem[1]-1) : 0
                     var restChildCount = currentLocation.heroLocations ? (currentLocation.heroLocations.length-this.director.currentItem[1]-1) : 0
-                    var hasMusic = currentLocation && currentLocation.musicInfo.music
+                    var hasMusic = currentLocation && currentLocation.musicInfo && currentLocation.musicInfo.music
                     if(hasMusic){
                     if(hasMusic){
                         var audioObj = SoundManager.list.find(e=>e.name == 'tour') 
                         var audioObj = SoundManager.list.find(e=>e.name == 'tour') 
                         var current = audioObj.audio.currentTime * 1e3 // || 0  //g_tourAudio ? 1e3 * g_tourAudio.currentTime : 0
                         var current = audioObj.audio.currentTime * 1e3 // || 0  //g_tourAudio ? 1e3 * g_tourAudio.currentTime : 0
@@ -23651,6 +23766,7 @@ window.Modernizr = function(n, e, t) {
             ,
             ,
             n.prototype.interruptAndFastForward = function(e, t) { 
             n.prototype.interruptAndFastForward = function(e, t) { 
                 //Log('interruptAndFastForward' , '#f00')
                 //Log('interruptAndFastForward' , '#f00')
+                
                 this.isWarping() && this.emit(w.WarpInterrupted, this.path.activeTransType, e, t),
                 this.isWarping() && this.emit(w.WarpInterrupted, this.path.activeTransType, e, t),
                 this.flying && this.emit(w.FlyingInterrupted),
                 this.flying && this.emit(w.FlyingInterrupted),
                 this.path.interruptAndFastForward(e, t)
                 this.path.interruptAndFastForward(e, t)
@@ -23949,11 +24065,7 @@ window.Modernizr = function(n, e, t) {
               , s = new a(i);
               , s = new a(i);
             n.prototype.start = function() {
             n.prototype.start = function() {
                 this.loadNextPano(function(e) {
                 this.loadNextPano(function(e) {
-                    e ? this.start() : (s.debug("No suitable pano loaded, waiting a little while before looking again"),
-                    setTimeout(function() {
-                        this.start()
-                    }
-                    .bind(this), 1e3))
+                    e ? this.start() : (s.debug("No suitable pano loaded, waiting a little while before looking again"))
                 }
                 }
                 .bind(this))
                 .bind(this))
             }
             }
@@ -27439,6 +27551,7 @@ window.Modernizr = function(n, e, t) {
         }
         }
         ,
         ,
         l.prototype.clearUploadQueue = function(e, t, i) {
         l.prototype.clearUploadQueue = function(e, t, i) {
+            if(!r || !r.tile) return
             void 0 !== t && null !== t || (t = 0);
             void 0 !== t && null !== t || (t = 0);
             for (var n = 0; n < e.length; ) {
             for (var n = 0; n < e.length; ) {
                 var r = e[n];
                 var r = e[n];
@@ -30058,6 +30171,9 @@ window.Modernizr = function(n, e, t) {
                     return r("PATCH", e, t)
                     return r("PATCH", e, t)
                 },
                 },
                 getImage: function(e, t) {
                 getImage: function(e, t) {
+                    if(!e){
+                        return
+                    }
                     function i() {
                     function i() {
                         u.warn("Retrying ", e),
                         u.warn("Retrying ", e),
                         o.getImage(e, t - 1).done(n.resolve.bind(n)).progress(n.notify.bind(n)).fail(n.reject.bind(n))
                         o.getImage(e, t - 1).done(n.resolve.bind(n)).progress(n.notify.bind(n)).fail(n.reject.bind(n))
@@ -30274,8 +30390,6 @@ window.Modernizr = function(n, e, t) {
             }
             }
         }
         }
         
         
-        
-        // changeLog()
     }
     }
     , {
     , {
         "../exception/DeviceMismatchException": 56
         "../exception/DeviceMismatchException": 56
@@ -31383,6 +31497,7 @@ window.Modernizr = function(n, e, t) {
           , a = {};
           , a = {};
         t.exports = {
         t.exports = {
             load: function(e, t, i) {
             load: function(e, t, i) {
+                if(!e) return;
                 var s = a[e];
                 var s = a[e];
                 return s ? (t && setTimeout(function() {
                 return s ? (t && setTimeout(function() {
                     t(s)
                     t(s)
@@ -58273,7 +58388,7 @@ var addMagnifier = function(){
             }))
             }))
             this.overlayMesh = new THREE.Mesh(circleGeo, new THREE.MeshBasicMaterial({
             this.overlayMesh = new THREE.Mesh(circleGeo, new THREE.MeshBasicMaterial({
                 side: THREE.DoubleSide , 
                 side: THREE.DoubleSide , 
-                map: Texture.load('static/images/crosshair.png') ,
+                map: Texture.load('images/crosshair.png') ,
                 transparent:true,
                 transparent:true,
                 depthTest: !1,
                 depthTest: !1,
                 depthWrite: !1,
                 depthWrite: !1,

+ 19 - 151
web/public/static/js/manage.js

@@ -1,10 +1,10 @@
   
   
 var g_ProjectName=window.location.pathname.substring(window.location.pathname.indexOf("/")+1,window.location.pathname.lastIndexOf("/"));
 var g_ProjectName=window.location.pathname.substring(window.location.pathname.indexOf("/")+1,window.location.pathname.lastIndexOf("/"));
 var g_Prefix="https://super.4dage.com/";
 var g_Prefix="https://super.4dage.com/";
-// var g_Prefix=window.location.href.substring(0,window.location.href.indexOf("/index.html")+1);
-var s = window.location.href.split('/');
-    s.pop();
-//var g_Prefix = s.join('/');
+
+// var g_Prefix=window.location.origin+'/';
+window.isLocal = true
+
 var g_index=null;
 var g_index=null;
 var g_modeldata=null;
 var g_modeldata=null;
 
 
@@ -21,8 +21,7 @@ var g_HotMeshSize = {
 var g_HotStatus=null;
 var g_HotStatus=null;
 var g_newHot = [];//存储新加热点
 var g_newHot = [];//存储新加热点
 var g_HotImage= {
 var g_HotImage= {
-	"point":"https://super.4dage.com/images/4dagePoint2.png",
-	"point2":"https://super.4dage.com/images/4dagePoint.png"
+	
 };	
 };	
 var g_saveHot=false;
 var g_saveHot=false;
 
 
@@ -30,7 +29,7 @@ var g_TextColor=0x7777ff;
 var g_Text=null;
 var g_Text=null;
 var g_TextPlaneMesh=[];
 var g_TextPlaneMesh=[];
 var g_TextIconMesh=[];
 var g_TextIconMesh=[];
-var g_TextIcon="./images/text.png";
+var g_TextIcon="./static/images/text.png";
 var g_SelectTextIndex=null;
 var g_SelectTextIndex=null;
 var g_TextShow=null;
 var g_TextShow=null;
 var g_audioPlay=false;
 var g_audioPlay=false;
@@ -83,7 +82,8 @@ var settings = {
     tourRotTime:2,  //默认停留2秒
     tourRotTime:2,  //默认停留2秒
     //dontExamHot:true  
     //dontExamHot:true  
     transparentBg: false,
     transparentBg: false,
-    bgImg:  null 
+    bgImg:  null,
+    localPrefix:'/'
 }
 }
 if(window.number == '725'||window.number == '724'){
 if(window.number == '725'||window.number == '724'){
     settings.mobileNavHigh = true
     settings.mobileNavHigh = true
@@ -335,6 +335,11 @@ var convertTool = {
     
     
 }
 }
 
 
+ 
+
+
+
+
 
 
 
 
 
 
@@ -351,7 +356,6 @@ var Manage = function(){
     this.weixinURL = "https://res.wx.qq.com/open/js/jweixin-1.2.0.js",
     this.weixinURL = "https://res.wx.qq.com/open/js/jweixin-1.2.0.js",
     this.time = "?"+new Date().getTime();
     this.time = "?"+new Date().getTime();
     this.loadAudio();
     this.loadAudio();
-    this.loadWeixin();
 }
 }
 //动态加载js文件
 //动态加载js文件
 Manage.prototype.LoadJs = function(_files, succes){
 Manage.prototype.LoadJs = function(_files, succes){
@@ -447,133 +451,6 @@ Manage.prototype.number = function(variable) {
    	return(false);
    	return(false);
 };
 };
 
 
-Manage.prototype.loadWeixin = function() {
-    var that = this;
-    this.LoadJs(that.weixinURL+that.time,function(){ });
-
-}
-
-
- 
-
-
-Manage.prototype.weixinShare = function() {
-    console.log("weixinShare")
-    $.ajax({    
-        url:'https://www.4dage.com/wechat/jssdk/', 
-        type: "post",
-        data : {
-            'url' : location.href.split('#')[0]
-        }, 
-        dataType:"jsonp",     
-        jsonpCallback:"success_jsonp",         
-        success:function(data,textStatus){
-            console.log("weixinShare success")
-            console.log(data.appId)
-            
-            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函数中〿
-        //分享到朋友圈 
-        console.log(g_weixinObj)
-        wx.onMenuShareTimeline({ 
-            title: g_weixinObj.title, // 分享标题 
-            link: g_weixinObj.lineLink, // 分享链接 
-            imgUrl: g_weixinObj.imgUrl, // 分享图标 
-            desc: g_weixinObj.desc
-        }); 
-
-        //获取“分享给朋友”按钮点击状态及自定义分享内容接叿
-        wx.onMenuShareAppMessage({ 
-            title: g_weixinObj.title, // 分享标题 
-            desc: g_weixinObj.desc,  // 分享描述 
-            link: g_weixinObj.lineLink, // 分享链接 
-            imgUrl: g_weixinObj.imgUrl, // 分享图标 
-            type: '', // 分享类型,music、video或link,不填默认为link 
-            dataUrl: '' // 如果type是music或video,则要提供数据链接,默认为空 
-        });
-        
-        wx.onMenuShareWeibo({
-            title: g_weixinObj.title, // 分享标题
-            desc: g_weixinObj.desc, // 分享描述
-            link: g_weixinObj.lineLink, // 分享链接
-            imgUrl: g_weixinObj.imgUrl, // 分享图标
-            success: function () { 
-                // 用户确认分享后执行的回调函数
-            },
-            cancel: function () { 
-                // 用户取消分享后执行的回调函数
-            }
-        });
-
-        wx.onMenuShareQZone({
-            title: g_weixinObj.title, // 分享标题
-            desc: g_weixinObj.desc, // 分享描述
-            link: g_weixinObj.lineLink, // 分享链接
-            imgUrl: g_weixinObj.imgUrl, // 分享图标
-            success: function () { 
-                // 用户确认分享后执行的回调函数
-            },
-            cancel: function () { 
-                // 用户取消分享后执行的回调函数
-            }
-        });
-
-        wx.onMenuShareQQ({
-            title: g_weixinObj.title, // 分享标题
-            desc:  g_weixinObj.desc, // 分享描述
-            link: g_weixinObj.lineLink, // 分享链接
-            imgUrl: g_weixinObj.imgUrl, // 分享图标
-            success: function () { 
-                // 用户确认分享后执行的回调函数
-            },
-            cancel: function () { 
-                // 用户取消分享后执行的回调函数
-            }
-        });
-
-        wx.error(function(res){ 
-        // config信息验证失败会执行error函数,如签名过期导致验证失败,具体错误信息可以打开config的debug模式查看,也可以在返回的res参数中查看,对于SPA可以在这里更新签名〿
-
-        });
-    });
-
-    
-}
-
-
 
 
 Manage.prototype.dealURL = function(src, type){
 Manage.prototype.dealURL = function(src, type){
     //music: "///super.4dage.com/data/LYW/edit/20200928_151633415.mp3"
     //music: "///super.4dage.com/data/LYW/edit/20200928_151633415.mp3"
@@ -588,7 +465,7 @@ Manage.prototype.dealURL = function(src, type){
             return src.replace(wholeOldPrefix, settings.localPrefix)
             return src.replace(wholeOldPrefix, settings.localPrefix)
         }
         }
         
         
-        console.error("没有找到合适的本地链接") 
+        // console.error("没有找到合适的本地链接") 
         return src
         return src
     }else{
     }else{
         //add https://
         //add https://
@@ -990,6 +867,7 @@ var SoundManager = {//暂不支持同时播放
                 object.audio.currentTime = currentTime
                 object.audio.currentTime = currentTime
             }
             }
             if(object.audio){
             if(object.audio){
+                object.audio.muted = window.ISMUTED
                 object.audio.load();	// iOS 9   还需要额外的 load 一下, 否则直接 play 无效 *///https://www.cnblogs.com/interdrp/p/4211883.html   部分资料
                 object.audio.load();	// iOS 9   还需要额外的 load 一下, 否则直接 play 无效 *///https://www.cnblogs.com/interdrp/p/4211883.html   部分资料
                 object.audio.play();
                 object.audio.play();
                 object.callback && object.callback(true)
                 object.callback && object.callback(true)
@@ -1077,19 +955,17 @@ var SoundManager = {//暂不支持同时播放
             if(this.currentAudio && this.currentAudio.audio){
             if(this.currentAudio && this.currentAudio.audio){
                 this.currentAudio.audio.play() 
                 this.currentAudio.audio.play() 
                 Log(`${this.currentAudio.name} 自动播放成功`) //即使设置src在这之后好像也能成功播放
                 Log(`${this.currentAudio.name} 自动播放成功`) //即使设置src在这之后好像也能成功播放
-            }else{
-                
-            }
+            }else{}
             document.removeEventListener("touchstart",play);
             document.removeEventListener("touchstart",play);
             document.removeEventListener("click",play);
             document.removeEventListener("click",play);
-            $('#player')[0].removeEventListener("touchstart", play);
+            $('#player')[0] && $('#player')[0].removeEventListener("touchstart", play);
         }.bind(this);
         }.bind(this);
         
         
         
         
         document.addEventListener("WeixinJSBridgeReady", play, false);
         document.addEventListener("WeixinJSBridgeReady", play, false);
         document.addEventListener("touchstart", play);//ios需要加个事件才能播放 不能自动播放;如果还有浏览器不行,换成别的交互事件
         document.addEventListener("touchstart", play);//ios需要加个事件才能播放 不能自动播放;如果还有浏览器不行,换成别的交互事件
         document.addEventListener("click", play);
         document.addEventListener("click", play);
-        $('#player')[0].addEventListener("touchstart", play); 
+        $('#player')[0] && $('#player')[0].addEventListener("touchstart", play); 
             
             
          
          
     }
     }
@@ -1124,13 +1000,7 @@ Manage.prototype.loadAudio = function() { //相关:g_tourAudio \  g_playAudio
             return this.bgmShouldPlay
             return this.bgmShouldPlay
         },
         },
         callback:(state)=>{//play或pause时随之触发的函数(即使还没开始播放)
         callback:(state)=>{//play或pause时随之触发的函数(即使还没开始播放)
-            if(state){
-                $("#volume a img").attr("src", "./images/Volume btn_off.png")
-                $("#volume").attr("title", "关闭声音");
-            }else{
-                $("#volume a img").attr("src", "./images/Volume btn_on.png")
-                $("#volume").attr("title", "打开声音");
-            }
+        
         }
         }
     })  
     })  
     SoundManager.createAudio({
     SoundManager.createAudio({
@@ -1178,10 +1048,8 @@ Manage.prototype.switchBgmState = function(state){//按钮的状态完全代表
     
     
     
     
     if(state){
     if(state){
-        
         SoundManager.play('bgm')
         SoundManager.play('bgm')
     }else{
     }else{
-        
         SoundManager.pause('bgm')
         SoundManager.pause('bgm')
     }
     }
     
     

+ 4 - 4
web/public/static/js/myShow.js

@@ -20,8 +20,8 @@ var g_HotMeshSize = {
 var g_HotStatus=null;
 var g_HotStatus=null;
 var g_newHot = [];//存储新加热点
 var g_newHot = [];//存储新加热点
 var g_HotImage= {
 var g_HotImage= {
-	"point":"https://super.4dage.com/images/4dagePoint2.png",
-	"point2":"https://super.4dage.com/images/4dagePoint.png"
+	"point":"https://super.4dage.com/static/images/4dagePoint2.png",
+	"point2":"https://super.4dage.com/static/images/4dagePoint.png"
 };	
 };	
 var g_saveHot=false;
 var g_saveHot=false;
 
 
@@ -29,7 +29,7 @@ var g_TextColor=0x7777ff;
 var g_Text=null;
 var g_Text=null;
 var g_TextPlaneMesh=[];
 var g_TextPlaneMesh=[];
 var g_TextIconMesh=[];
 var g_TextIconMesh=[];
-var g_TextIcon="./images/text.png";
+var g_TextIcon="./static/images/text.png";
 var g_SelectTextIndex=null;
 var g_SelectTextIndex=null;
 var g_TextShow=null;
 var g_TextShow=null;
 var g_audioPlay=false;
 var g_audioPlay=false;
@@ -55,7 +55,7 @@ var g_snapShotHeight = 140;
 var g_weixinObj = {
 var g_weixinObj = {
   "title": document.querySelector("head title").innerHTML,
   "title": document.querySelector("head title").innerHTML,
   "lineLink" : window.location.href,
   "lineLink" : window.location.href,
-  "imgUrl" : "https://www.4dmodel.com/SuperPanoramic/images/weixintitle.jpg",
+  "imgUrl" : "https://www.4dmodel.com/SuperPanoramic/static/images/weixintitle.jpg",
   "desc" : "四维时代提供技术支持",
   "desc" : "四维时代提供技术支持",
 }
 }
 
 

+ 1 - 1
web/src/pages/Home.vue

@@ -225,7 +225,7 @@ export default {
 <style lang="less" scoped>
 <style lang="less" scoped>
 .exhibition {
 .exhibition {
   position: absolute;
   position: absolute;
-  top: 50px;
+  top: 150px;
   right: 0;
   right: 0;
   z-index: 99;
   z-index: 99;
 }
 }

+ 13 - 4
web/src/views/gui/menu.vue

@@ -72,6 +72,7 @@
               title="场景导览"
               title="场景导览"
             >
             >
               <img
               <img
+                title="场景导览"
                 class="icon icon-inside"
                 class="icon icon-inside"
                 :src="
                 :src="
                   require(`@/assets/images/icon/auto${
                   require(`@/assets/images/icon/auto${
@@ -88,10 +89,12 @@
               rel="tooltip"
               rel="tooltip"
             >
             >
               <img
               <img
+                title="全景漫游"
                 class="icon icon-inside"
                 class="icon icon-inside"
                 :src="require('@/assets/images/icon/inside.png')"
                 :src="require('@/assets/images/icon/inside.png')"
               />
               />
               <img
               <img
+                title="全景漫游"
                 class="icon icon-inside active"
                 class="icon icon-inside active"
                 :src="require('@/assets/images/icon/inside_active.png')"
                 :src="require('@/assets/images/icon/inside_active.png')"
               />
               />
@@ -103,13 +106,15 @@
               rel="tooltip"
               rel="tooltip"
             >
             >
               <img
               <img
+                title="迷你漫游"
                 class="icon icon-inside"
                 class="icon icon-inside"
                 :src="require('@/assets/images/icon/dollhouse.png')"
                 :src="require('@/assets/images/icon/dollhouse.png')"
               />
               />
               <img
               <img
+                
                 class="icon icon-inside active"
                 class="icon icon-inside active"
                 :src="require('@/assets/images/icon/dollhouse_active.png')"
                 :src="require('@/assets/images/icon/dollhouse_active.png')"
-                title="navigation icon "
+                title="迷你漫游"
               />
               />
             </div>
             </div>
             <div
             <div
@@ -119,10 +124,12 @@
               title="顶部俯视"
               title="顶部俯视"
             >
             >
               <img
               <img
+                title="顶部俯视"
                 class="icon icon-inside"
                 class="icon icon-inside"
                 :src="require('@/assets/images/icon/floor.png')"
                 :src="require('@/assets/images/icon/floor.png')"
               />
               />
               <img
               <img
+                title="顶部俯视"
                 class="active icon icon-inside active"
                 class="active icon icon-inside active"
                 :src="require('@/assets/images/icon/floor_active.png')"
                 :src="require('@/assets/images/icon/floor_active.png')"
               />
               />
@@ -276,7 +283,7 @@
           title="全屏"
           title="全屏"
         >
         >
           <a>
           <a>
-            <img :src="require('@/assets/images/icon/fullscreen.png')" />
+            <img :src="require('@/assets/images/icon/fullscreen.png')" title="全屏"/>
           </a>
           </a>
         </div>
         </div>
         <div
         <div
@@ -289,6 +296,7 @@
         >
         >
           <a>
           <a>
             <img
             <img
+              title="关闭全屏"
               :src="require('@/assets/images/icon/fullscreen_exit.png')"
               :src="require('@/assets/images/icon/fullscreen_exit.png')"
               style="width: 50px"
               style="width: 50px"
             />
             />
@@ -333,7 +341,7 @@ export default {
       setTimeout(() => {
       setTimeout(() => {
         this.isShowGood = false;
         this.isShowGood = false;
         this.likeNum++;
         this.likeNum++;
-      }, 2500);
+      }, 2800);
     },
     },
     // 点击玫瑰
     // 点击玫瑰
     handleLike2() {
     handleLike2() {
@@ -342,7 +350,7 @@ export default {
       setTimeout(() => {
       setTimeout(() => {
         this.isShowGood2 = false;
         this.isShowGood2 = false;
         this.likeNum2++;
         this.likeNum2++;
-      }, 2500);
+      }, 2800);
     },
     },
   },
   },
 };
 };
@@ -386,6 +394,7 @@ export default {
   }
   }
 }
 }
 .btn-list {
 .btn-list {
+  color: #fff;
   display: flex;
   display: flex;
   justify-content: space-between;
   justify-content: space-between;
   align-items: center;
   align-items: center;

+ 1 - 1
web/src/views/home/index.vue

@@ -19,7 +19,7 @@ export default {
   // 方法集合
   // 方法集合
   methods: {
   methods: {
     goIndex() {
     goIndex() {
-      this.$router.replace("/index?m=1151");
+      this.$router.replace("/index?m=TEST");
       this.$nextTick(() => {
       this.$nextTick(() => {
         setTimeout(() => {
         setTimeout(() => {
           location.reload(true);
           location.reload(true);

+ 2 - 2
web/src/views/layout/index.vue

@@ -66,9 +66,9 @@ export default {
   methods: {
   methods: {
     // 点击tab栏
     // 点击tab栏
     jump(url) {
     jump(url) {
-      if (url === "tab1") url = "/index?m=1151";
+      if (url === "tab1") url = "/index?m=TEST";
       this.$router.replace(url).catch(() => {});
       this.$router.replace(url).catch(() => {});
-      if (url === "/index?m=1151") {
+      if (url === "/index?m=TEST") {
         this.$nextTick(() => {
         this.$nextTick(() => {
           setTimeout(() => {
           setTimeout(() => {
             location.reload(true);
             location.reload(true);