Prechádzať zdrojové kódy

Merge branch 'master' of http://face3d.4dage.com:7005/chenzhiguang/macao_army into master

shaogen1995 2 rokov pred
rodič
commit
f639e068ce
43 zmenil súbory, kde vykonal 386 pridanie a 118 odobranie
  1. BIN
      SuperTwo762/images/Volume btn_off.png
  2. BIN
      SuperTwo762/images/Volume btn_on.png
  3. BIN
      SuperTwo762/images/play.png
  4. 1 0
      SuperTwo762/index.html
  5. 152 79
      SuperTwo762/js/main_2020_show.js
  6. 54 18
      SuperTwo762/js/manage.js
  7. 16 1
      SuperTwo762/js/myShow.js
  8. 3 3
      SuperTwo762/js/overlay.js
  9. BIN
      SuperTwo762/music/0102cp.mp3
  10. BIN
      SuperTwo762/music/03cp.mp3
  11. BIN
      SuperTwo762/music/04CP.mp3
  12. BIN
      SuperTwo762/music/0506CP.mp3
  13. BIN
      SuperTwo762/music/07cp.mp3
  14. BIN
      SuperTwo762/music/08CP.mp3
  15. BIN
      SuperTwo762/music/09cp.mp3
  16. BIN
      SuperTwo762/music/10cp.mp3
  17. BIN
      SuperTwo762/music/11cp.mp3
  18. BIN
      SuperTwo762/music/1213CP.mp3
  19. BIN
      SuperTwo762/music/14cp.mp3
  20. BIN
      SuperTwo762/music/15cp.mp3
  21. BIN
      SuperTwo762/music/16cp.mp3
  22. BIN
      SuperTwo762/music/17cp.mp3
  23. BIN
      SuperTwo762/music/18cp.mp3
  24. BIN
      SuperTwo762/music/19CP.mp3
  25. BIN
      SuperTwo762/music/2021cp.mp3
  26. BIN
      SuperTwo762/music/22cp.mp3
  27. BIN
      SuperTwo762/music/23cp.mp3
  28. BIN
      SuperTwo762/music/24cp.mp3
  29. BIN
      SuperTwo791/images/Volume btn_off.png
  30. BIN
      SuperTwo791/images/Volume btn_on.png
  31. BIN
      SuperTwo791/images/play.png
  32. BIN
      SuperTwo791/images/rd图标.7z
  33. 7 0
      SuperTwo791/index.html
  34. 35 15
      SuperTwo791/js/main_2020_show.js
  35. 12 1
      SuperTwo791/js/myShow.js
  36. 42 0
      ZAJSG/Model.html
  37. 1 0
      code/public/index.html
  38. 28 0
      code/src/components/popupLayout/Loading.vue
  39. 1 1
      code/src/pages/index/index.vue
  40. 10 0
      code/src/pages/layout/aside.vue
  41. 1 0
      code/vue.config.js
  42. 9 0
      macaoApplets/pages/index/index.js
  43. 14 0
      model-page/Model.html

BIN
SuperTwo762/images/Volume btn_off.png


BIN
SuperTwo762/images/Volume btn_on.png


BIN
SuperTwo762/images/play.png


+ 1 - 0
SuperTwo762/index.html

@@ -11,6 +11,7 @@
     <meta property="og:title" content="四维时代">
     <meta property="og:description" content="四维时代">
     <meta property="og:image:type" content="image/jpg">
+    <meta name="renderer" content="webkit">
     <link rel="icon" type="image/png" sizes="32x32" href="images/icons/favicon.png" class="keep">
     <link rel="stylesheet" href="css/oldVer/main0.css">
     <link rel="stylesheet" href="css/main.css?v=2.25">

+ 152 - 79
SuperTwo762/js/main_2020_show.js

@@ -2,6 +2,42 @@
 另外 	所有"matter"字样已被我删除				原因:删除matterport信息
   */
   
+  
+  
+/* 
+ watch:
+
+
+ g_bgAudio.paused
+ g_tourAudio.paused
+ g_tourAudio.shouldPlay
+ manage.musicShouldPlay
+  */
+
+var musicList = {
+    "0102cp":'3458d3c7ca764ecaa13c88aaa8e0a1a8, 1107bf848a6146059249cc109c6d1472, 8c0e5bcc4a69470aa5f189edde162973, 2d00ef76d93f4a578b356c593da889b0, 61afb8aaf45046be865b1b30d0357754, 0a73cf23993d4f4cbb48337708f8c7b7, 9a32f7d9b29f427182b453b1a8009efc'.split(','),
+    "04CP":'48930ada7d02438a846f6f6cf5a8693f, d3e00453736549e392ca91e9bd31ee72, b99ae9d8d19144f7866d49ed863a4b84, 14f349b0dd3d4646b2bd98c2ebfeb643'.split(','),
+    "03cp":'d9b104d7df9244fca5ad5af4d5fca8f7, 2860b361da9246949ab6f57cbb8ce82d, 491d8cce5dfa441db5a52eb248bf4a63'.split(','),
+    "19CP":'73a354895dc74c30beeb02a8d8bfe328, 256aedca55d6417fb696156279424d42, 10210bebd78b4d33ad05e0bef22cf0a3'.split(','),
+    "2021cp":'10793e907fa7493c83f73fdcfd7df706, 2e2da10199634b5188c5469c0f52f9f6, 449196f2aa014f9db6a6cda675df7b70'.split(','),
+    "22cp":'cf2d9fa92e8443aabbcc1a01736a052e, 08967bbdacec4ecf8ff44b219408ac9a, 8d20c6dd62c04564a172430705ba0295, a8a7d94bb9b84e8cb45556bbd548961d'.split(','),
+    "23cp":'90197f7926e2466498135ef053147aaa, 6138d5511fe546e396a51408dfc9f6c5'.split(','),
+    '24cp':'8d216c8512264564bcde41c544fdfc69,f8769828fe9f4dda8449cd5d9506eeb4,12142ab7fbb74122ba0df52eaa5a5363'.split(','),
+    "0506CP":'6cee9744a41942f384ca0a9130f65ae8, a1f9e4436ea24f99a360ac327979e555,    fb3b381371d04864ab99dfd30a08fe89, 0921140bde3f428180b2d6b603775f51'.split(','),
+    "07cp":'8902a763387040b2ad15a6325508cfca, 5adf5343a38340de998a0210cc97c00f'.split(','),
+    "08CP":'f9e6d48c697f455f9b294523a5222624, 4f912bc6dc2848ce924064d025635b81, 518612bb1c884d9bb7aff8d431904f8d'.split(','),
+    "09cp":'cb5887f7f3da43bf9ce383fbe4bae99b, d236fb56ac954bb29b3a6d0bdbe85588'.split(','),
+    "10cp":'dca81dee239e4f7e9d8b69c3af629f00, 69ef058f04474e3fbfd4cd22bb440934, 42fe939bbf7c42058f9c32356a08f319'.split(','),
+    "11cp":'fd62c35e2572460b88fb934e56888a2d, 4836763c382a45dcba1210f616e9e3be'.split(','),
+    "1213CP":'06fcab3ccc204198ba04bc226d6a049a, c72fe82506234db6bd75919ac0e61ec5, 884d594255f54a88b36f078ec2842669, 921eaf2a769c4f069e9588b0fa99f170, 02abef88316e482b9d4c4f3cb2a34c64'.split(','),
+    "15cp":'6e4c35329ba1470c8ebdf2ad3f1e92cd'.split(','),
+    "14cp":'0b168caa5f1848e1b614e97b3cc22923, a05cc1124331484c9d852f4918a3248d'.split(','),
+    "16cp":'506d2f805551425d938f488746730060, 21fbd2534bc840ebac3a5fac50e54cf5'.split(','),
+    "17cp":'d756e9288311440599eab62bde2e017e'.split(','),
+    "18cp":'11bb3c4c831a4151b8c7086f39086878'.split(','),
+      
+}
+ 
 window.common = null;  
 window.MathLight = null;
 window.math = null
@@ -23,52 +59,29 @@ g_tourAudio.crossOrigin = "anonymous"
 g_tourAudio.addEventListener("ended", function() {
     var e = document.createEvent("MouseEvent");
     e.initEvent("tourAudioEnded", !0, !0),
-    window.dispatchEvent(e)
+    window.dispatchEvent(e) 
+    g_tourAudio.shouldPlay = false
+    manage.switchBgmState(true); 
 }) 
 
 g_tourAudio.oncanplaythrough = function() {
-    if(g_tourAudio.shouldPlay){
+    if(g_currentHot)return g_tourAudio.pause()
+    if(manage.musicShouldPlay && g_tourAudio.shouldPlay  /* manage.ifTourCanPlay() */){
         g_tourAudio.play(); 
         g_playAudio = g_tourAudio; 
+         
+        if(g_bgAudio && !g_bgAudio.paused){
+            manage.switchBgmState(false); 
+            g_bgAudio.pauseByTour = true
+        }
     }    
-}
-
-
-
+} 
+ 
 
 
-var musicList = {
-    "0102cp":'3458d3c7ca764ecaa13c88aaa8e0a1a8, 1107bf848a6146059249cc109c6d1472, 8c0e5bcc4a69470aa5f189edde162973, 2d00ef76d93f4a578b356c593da889b0, 61afb8aaf45046be865b1b30d0357754, 0a73cf23993d4f4cbb48337708f8c7b7, 9a32f7d9b29f427182b453b1a8009efc'.split(','),
-    "04CP":'48930ada7d02438a846f6f6cf5a8693f, d3e00453736549e392ca91e9bd31ee72, b99ae9d8d19144f7866d49ed863a4b84, 14f349b0dd3d4646b2bd98c2ebfeb643'.split(','),
-    "03cp":'d9b104d7df9244fca5ad5af4d5fca8f7, 2860b361da9246949ab6f57cbb8ce82d, 491d8cce5dfa441db5a52eb248bf4a63'.split(','),
-    "19CP":'73a354895dc74c30beeb02a8d8bfe328, 256aedca55d6417fb696156279424d42, 10210bebd78b4d33ad05e0bef22cf0a3'.split(','),
-    "2021cp":'10793e907fa7493c83f73fdcfd7df706, 2e2da10199634b5188c5469c0f52f9f6, 449196f2aa014f9db6a6cda675df7b70'.split(','),
-    "22cp":'cf2d9fa92e8443aabbcc1a01736a052e, 08967bbdacec4ecf8ff44b219408ac9a, 8d20c6dd62c04564a172430705ba0295, a8a7d94bb9b84e8cb45556bbd548961d'.split(','),
-    "23cp":'90197f7926e2466498135ef053147aaa, 6138d5511fe546e396a51408dfc9f6c5'.split(','),
 
-    "0506CP":'6cee9744a41942f384ca0a9130f65ae8, a1f9e4436ea24f99a360ac327979e555, 8d216c8512264564bcde41c544fdfc69, f8769828fe9f4dda8449cd5d9506eeb4, 12142ab7fbb74122ba0df52eaa5a5363, fb3b381371d04864ab99dfd30a08fe89, 0921140bde3f428180b2d6b603775f51'.split(','),
-    "07cp":'8902a763387040b2ad15a6325508cfca, 5adf5343a38340de998a0210cc97c00f'.split(','),
-    "08CP":'f9e6d48c697f455f9b294523a5222624, 4f912bc6dc2848ce924064d025635b81, 518612bb1c884d9bb7aff8d431904f8d'.split(','),
-    "09cp":'cb5887f7f3da43bf9ce383fbe4bae99b, d236fb56ac954bb29b3a6d0bdbe85588'.split(','),
-    "10cp":'dca81dee239e4f7e9d8b69c3af629f00, 69ef058f04474e3fbfd4cd22bb440934, 42fe939bbf7c42058f9c32356a08f319'.split(','),
-    "11cp":'fd62c35e2572460b88fb934e56888a2d, 4836763c382a45dcba1210f616e9e3be'.split(','),
-    "1213CP":'06fcab3ccc204198ba04bc226d6a049a, c72fe82506234db6bd75919ac0e61ec5, 884d594255f54a88b36f078ec2842669, 921eaf2a769c4f069e9588b0fa99f170, 02abef88316e482b9d4c4f3cb2a34c64'.split(','),
-    "15cp":'6e4c35329ba1470c8ebdf2ad3f1e92cd'.split(','),
-    "14cp":'0b168caa5f1848e1b614e97b3cc22923, a05cc1124331484c9d852f4918a3248d'.split(','),
-    "16cp":'506d2f805551425d938f488746730060, 21fbd2534bc840ebac3a5fac50e54cf5'.split(','),
-    "17cp":'d756e9288311440599eab62bde2e017e'.split(','),
-    "18cp":'11bb3c4c831a4151b8c7086f39086878'.split(','),
-     
-    
-    
-    
-}
-
-
-var playMusic = function(pano){//根据漫游点切换bgm
-    //var describe = player.director.describe();
-    //manage.bgmShouldPlay
-    if( g_tourAudio.shouldPlay /* !g_tourAudio.paused */ || g_currentHot  )return;
+var playMusic = function(pano){//根据漫游点切换bgm 
+    var play = !( !manage.musicShouldPlay ||  g_tourAudio.shouldPlay  || g_currentHot ) 
     var shouldplayMusic
     for(let i in musicList){
         if(musicList[i].find(e=>e.includes(pano.id))){
@@ -79,8 +92,8 @@ var playMusic = function(pano){//根据漫游点切换bgm
     if(shouldplayMusic){
         if(!g_bgAudio.src.includes(shouldplayMusic)){
             g_bgAudio.src = "music/"+shouldplayMusic+'.mp3' 
-        }
-        manage.switchBgmState(true)
+        } 
+        manage.switchBgmState(play)
     }else{
         g_bgAudio.src = ''
         
@@ -372,12 +385,12 @@ var loadVideo = ()=>{
         loadedVideo = true      
     })
     
-    var btn = addSoundBtn(video)
+    /* var btn = addSoundBtn(video)
     window.videoPlane.add(btn)
     video.btn = btn;  btn.video = video
                
     btn.position.set(-11.6,1.02,-8.5);
-    btn.rotation.y = -0.4 
+    btn.rotation.y = -0.4  */
     
 }
                                                   
@@ -498,7 +511,7 @@ var getScale = function(){
 }
 
 
-
+/* 
                                                                             
 var btnMat;
 var btnGeo 
@@ -535,6 +548,8 @@ var addSoundBtn = function(video){
     return btn 
     
 } 
+
+
 var SoundOnVideo;
 var switchSoundBtn = function(video, belong){
     if(video.btn.material == soundOffMat){ //开启
@@ -585,14 +600,14 @@ var switchSoundBtn = function(video, belong){
     
     
 }
-
+ 
 var checkSoundBtnClick = function(intersect){
     if(intersect && intersect.object.name == "soundBtn"){
         switchSoundBtn(intersect.object.video, intersect.object.parent);
         return true
     } 
 }
-
+ */
 
 
 
@@ -5299,23 +5314,36 @@ window.Modernizr = function(n, e, t) {
                 }
             }
             ,
-            n.prototype.goToDestination = function(e, t, i, n) {
-              //音频 
-                //if(this.destinationItem[1] == 0){//如果是每个folder的起始
-                var musicInfo = this.model.heroLocations[this.destinationItem[0]].musicInfo
-                if(musicInfo && musicInfo.music){
-                    var o = musicInfo.music.includes(g_Prefix.slice(-10)) ? musicInfo.music :  g_Prefix + musicInfo.music;
-                    
+            
+            
+            
+            n.prototype.getAudio = function(){
+                let a = this.destinationItem && this.destinationItem[0];
+                if(a!=void 0) a = this.model.heroLocations[a] && this.model.heroLocations[a].musicInfo
+                if(a!=void 0) return a.music
+                 
+                
+                
+            }
+            
+            
+            n.prototype.playAudio = function(){
+                if(!manage.musicShouldPlay)return
+                var music = this.getAudio();
+                if(music){ 
+                    var o = music.includes(g_Prefix.slice(-10)) ? music :  g_Prefix + music;
+                    if(isMobile)o = o.replace('//data/','')//add
                     let audioSrc1 = g_tourAudio.src.split('/').pop();
                     let audioSrc2 = o.split('/').pop();
                
                     if(audioSrc1 == audioSrc2){//应该是继续播放该folder 
                         if(this.destinationItem[1] == 0){//从头开始播放 因为可能暂停后然后再点该缩略图播
-                            g_tourAudio.currentTime = 0;  g_tourAudio.play();
+                            g_tourAudio.currentTime = 0; 
+                            g_tourAudio.shouldPlay = true
                         }else if(g_tourAudio.paused && g_tourAudio.currentTime < g_tourAudio.duration){//未播完
                             g_tourAudio.play(); 
-                        } 
-                        g_tourAudio.shouldPlay = true
+                            g_tourAudio.shouldPlay = true
+                        }
                         
                     }else{//很可能是该folder的起始
                         g_tourAudio.src = manage.dealURL(o);
@@ -5326,7 +5354,19 @@ window.Modernizr = function(n, e, t) {
                         manage.switchBgmState(false); 
                         g_bgAudio.pauseByTour = true
                     }
+                    return true
                 }
+            }
+            
+            
+            
+            
+            
+            n.prototype.goToDestination = function(e, t, i, n) {
+              //音频 
+                //if(this.destinationItem[1] == 0){//如果是每个folder的起始
+                
+                this.playAudio()
                 //}
                 if (this.onTheBus = !0,
                 this.emit("update.controls"),
@@ -9434,11 +9474,11 @@ window.Modernizr = function(n, e, t) {
             P.forEach(function(e) {
                 b.addEventListener(e, u.bind(this, !1), !0),
                 w.addEventListener(e, u.bind(this, !0), !0),
-                E.addEventListener(e, o, !0),
-                S.forEach(function(t) {
+                E.addEventListener(e, o, !0)
+                /* S.forEach(function(t) {//会触发导览停止  
                     t.addEventListener(e, a, !0)
                 }),
-                $("#drawer img").on(e, a)
+                $("#drawer img").on(e, a) */
             }),
             document.addEventListener("keydown", u.bind(this, !1), !0),
             C.on(v.TourStart, function() {
@@ -9493,16 +9533,16 @@ window.Modernizr = function(n, e, t) {
                 M.addClass(e)
             } */
         }
-        function u(e, t) {
+        function u(e, t) {//导览触发停止
             if (t) {
                 var i = "keydown" === t.type
-                  , n = t.which === f.SPACE || C.tourIsPlaying;
+                  , 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()),
+                  t.which !== f.SPACE  && t.currentTarget == player.domElement  && a()),//add currentTarget...
                 i && n && s()
             }
         }
@@ -14995,8 +15035,12 @@ window.Modernizr = function(n, e, t) {
 			$('#gui-loading').fadeIn(200);
 			progressUpdate(0.1)
 			var fileName = g_version ?  'modeldata.js' : 'someData.json' ;
-            $.ajax(g_Prefix + "data/"+window.number+"/"+fileName+"?"+randomTime().getTime(),{dataType: "json"}).done( function(e){ //改
+            var url = g_Prefix + (isMobile ? '':'data/') +  window.number+"/"+fileName+"?"+randomTime().getTime()
+            $.ajax(url,{dataType: "json"}).done( function(e){ //改
                 var data = matcher(e);
+                if(isMobile) data.files.templates =  ["{{number}}/{{filename}}"]
+                
+                
 				data.files.templates[0] = g_Prefix + e.files.templates[0].replace("{{number}}",window.number);
 				data.user = {
 					"is_authenticated": false,
@@ -16398,23 +16442,29 @@ window.Modernizr = function(n, e, t) {
             return src
             
         }
-        var musicOff = function(){
+        var musicOff = function(ifFinal){
             //打开热点的时候把背景音乐关闭了,避免与热点里面的音乐冲突
             //g_bgAudio && g_bgAudio.pause();
             if(g_bgAudio && !g_bgAudio.paused){
                 manage.switchBgmState(false); 
                 g_bgAudio.pauseByHot = true
             } 
-            if(SoundOnVideo){
+            /* if(SoundOnVideo){
                 SoundOnVideo.pauseByHot = true
                 switchSoundBtn(SoundOnVideo)
-            }
+            } */
             if(g_tourAudio){
                 g_tourAudio.pause()
                 g_tourAudio.shouldPlay = false
             }
             
             
+            
+            if( !ifFinal ){//有出现过进入热点没有关闭其他声音的所以
+                setTimeout(()=>{window.g_currentHot && musicOff(true)}, 500) 
+            }
+            
+            
         }
 		hot.prototype.examine = function(e, options) { 
             try{ 
@@ -18546,8 +18596,11 @@ window.Modernizr = function(n, e, t) {
                 
 			n.prototype.loadhots = function() {//xzw 
                 var e = $.Deferred(); 
-                var t = g_Prefix+"data/" + this.sid + "/data2.js" +'?'+ randomTime().getTime();
-                
+                if(isMobile){
+                    var t = g_Prefix+/* "data/" + */ this.sid + "/data2.js" +'?'+ randomTime().getTime();
+                }else{
+                    var t = g_Prefix+ "data/" +  this.sid + "/data2.js" +'?'+ randomTime().getTime();
+                }
                 
 
                 return a.get(t, {
@@ -18560,6 +18613,12 @@ window.Modernizr = function(n, e, t) {
                         console.error("data2 is null") 
                     }else{  
                         g_data2 = hotMatcher(t);
+                        
+                        
+                         
+                        
+                        
+                        
                         this.hotsCount = 0;
                         /* for(var i in t.hots){
                             this.hotsCount ++;
@@ -18570,26 +18629,37 @@ window.Modernizr = function(n, e, t) {
                         window.hotData = t.hots 
                         t.hots && this.createHotItem(t.hots, this.hots); */
                         
-                        
+                        var changeURL = function(url){
+                            var a = url.split('/data/')[1];
+                            return 'https://ossxiaoan.4dage.com/cms_army_macao_data/' + a
+                        }
                         
                         //因为热点保存后在hots里的顺序会被修改,所以使用order来记录顺序,这里要重排序:
                         window.hotData = {}
                         if(t.hots){
                             var sids = Object.keys(t.hots).sort((a,b)=>{return t.hots[a].order - t.hots[b].order});
                             
-                            sids.forEach((sid)=>{
-                                this.hotsCount++,
-                                this.hots[sid] = new Hot(sid,t.hots[sid] ,this);
-                                t.hots[sid].infoAttribute || (t.hots[sid].infoAttribute = {})
-                                this.hots[sid].initStyleImg(t.hots[sid].infoAttribute);
-                                window.hotData[sid] = t.hots[sid];
+                            sids.forEach((sid)=>{ 
+                                this.hotsCount++
+                                var data = t.hots[sid] 
+                                this.hots[sid] = new Hot(sid, data ,this);
+                                data.infoAttribute || (data.infoAttribute = {})
+                                if(isMobile){
+                                    data.infoAttribute.images = data.infoAttribute.images.map(e=>changeURL(e))
+                                    data.infoAttribute.styleImg = data.infoAttribute.styleImg.map(e=>changeURL(e))
+                                    data.infoAttribute.video = data.infoAttribute.video.map(e=> {return {url:changeURL(e.url)}})
+                                }
+                                this.hots[sid].initStyleImg(data.infoAttribute);
+                                window.hotData[sid] = data;
                             }) 
                         } 
                         this.createHotItem(window.hotData, this.hots);
                         
-                        
-                        
-                        
+                        if(isMobile){
+                            g_data2.overlays.forEach(e=>{
+                                e.file = changeURL(e.file)
+                            })
+                        }
                         
                         
                         g_index = w.valueFromHash("m");
@@ -21678,7 +21748,7 @@ window.Modernizr = function(n, e, t) {
             n.prototype.warpTravel_BLACK = function(e, t, i, n) {
                 var r = e || 0;
                 void 0 !== t && null !== t || (t = c.warp.teleportTime)
-                
+                player.transitionPos({type:"beforeFlytopano",  dur:t})//add
                 updateVideo({type:"beforeFlytopano", pano : player.model.panos.index[this.warpDestHeroLoc.panoId], dur:t})//add
                 if(momentTourBlackNewType){
                     player.sceneRenderer.effects.transitionMaskPass.start(player.sceneRenderer)
@@ -21691,12 +21761,15 @@ window.Modernizr = function(n, e, t) {
                         player.sceneRenderer.effects.transitionMaskPass.stop()
                         updateVideo({type:"flyDone", pano : player.currentPano})//add
                         this.wrapupWarpShadingOnly(n, i);
+                        Overlay.updateVisibles([player.currentPano])
+                         
                     },t)
                      
                 }else{
                     var o = function() {
                         this.wrapupWarpShadingOnly(n, i);
                         updateVideo({type:"flyDone", pano:player.currentPano})//add
+                        Overlay.updateVisibles([player.currentPano])
                     }
                     .bind(this);
                     p.start(this.stepWarpPath.bind(this), t, o, r, d[c.warp.blendEasing], "stepMotion")
@@ -22834,8 +22907,8 @@ window.Modernizr = function(n, e, t) {
 					if(this.checkHotClick())//add 
 						return !0;
                         
-                    if(checkSoundBtnClick(this.intersect))//add 
-						return !0;
+                    /* if(checkSoundBtnClick(this.intersect))//add 
+						return !0; */
                     if(this.hoveringPlane){
                         this.clickOverlay(this.hoveringPlane)
                         return;

+ 54 - 18
SuperTwo762/js/manage.js

@@ -3,7 +3,10 @@ var Manage = function(){
     this.weixinURL = "https://res.wx.qq.com/open/js/jweixin-1.2.0.js",
     this.time = "?"+new Date().getTime();
     this.loadAudio();
-    // this.loadWeixin();
+    //this.musicShouldPlay = true //一开始默认打开
+    this.switchMusicState(true)//一开始默认打开
+    
+ 
 }
 //动态加载js文件
 Manage.prototype.LoadJs = function(_files, succes){
@@ -105,6 +108,10 @@ Manage.prototype.loadWeixin = function() {
 
 }
 
+
+ 
+
+
 Manage.prototype.loadAudio = function() { //相关:g_tourAudio \  g_playAudio
     g_bgAudio = new Audio;
     //g_bgAudio.loop = true;
@@ -113,11 +120,13 @@ Manage.prototype.loadAudio = function() { //相关:g_tourAudio \  g_playAudio
     
     //https://www.cnblogs.com/interdrp/p/4211883.html   部分资料
     g_bgAudio.load();	// iOS 9   还需要额外的 load 一下, 否则直接 play 无效
+    
+    
+    
+    
     var play = function(){
         //if(window.tourAudioSta) return;
-        if(this.bgmShouldPlay){
-            this.switchBgmState(true)
-        }            
+        this.musicShouldPlay && !g_tourAudio.shouldPlay && this.switchBgmState(true)           
          
         document.removeEventListener("touchstart",play);
         document.removeEventListener("click",play);
@@ -125,10 +134,10 @@ Manage.prototype.loadAudio = function() { //相关:g_tourAudio \  g_playAudio
     }.bind(this);
     
     g_bgAudio.oncanplay = ()=>{ 
-        this.switchBgmState(true)
+        this.musicShouldPlay && !g_tourAudio.shouldPlay && this.switchBgmState(true)           
     }
     document.addEventListener("WeixinJSBridgeReady", ()=> {
-        this.switchBgmState(true)
+        this.musicShouldPlay && !g_tourAudio.shouldPlay && this.switchBgmState(true)           
     }, false);
     
     document.addEventListener("touchstart", play);//ios需要加个事件才能播放 不能自动播放;如果还有浏览器不行,换成别的交互事件
@@ -137,7 +146,7 @@ Manage.prototype.loadAudio = function() { //相关:g_tourAudio \  g_playAudio
     g_bgAudio.addEventListener('ended', ()=>{
         //间隔5s
         setTimeout(()=>{
-            this.bgmShouldPlay && this.switchBgmState(true)
+            this.musicShouldPlay && !g_tourAudio.shouldPlay && this.switchBgmState(true)           
         },5000)
         
     }); 
@@ -148,35 +157,62 @@ Manage.prototype.loadAudio = function() { //相关:g_tourAudio \  g_playAudio
          
         if($("#volume img")[0].src.indexOf("btn_on.png")>-1)
         { 
-            this.switchBgmState(true); 
+            this.switchMusicState(true); 
         }
         else if($("#volume img")[0].src.indexOf("btn_off.png")>-1)
         {
-            this.switchBgmState(false);    
+            this.switchMusicState(false);    
         }
     }) 
 
     
     
-}   
-Manage.prototype.switchBgmState = function(state){
+}  
+
+Manage.prototype.ifTourCanPlay = function(){//只有导览在播放时才能继续播放导览音频,如果是点击导览片段飞过去,一旦停止就不会再播
+    return player.director && player.director.tourIsPlaying && player.director.getAudio()
+}
+
+
+Manage.prototype.switchMusicState = function(state){   //按钮按钮掌管全局音频,导览优先,没有了才放bgm
+    this.musicShouldPlay = state  
+    if(state){
+        if(! (this.ifTourCanPlay() && player.director.playAudio())){ 
+            this.switchBgmState(true) 
+        }else{
+            //this.currentPlay = 'tour'
+        }
+        $("#volume a img").attr("src", "./images/Volume btn_off.png")
+        $("#volume").attr("title", "关闭声音");
+    }else{
+        g_tourAudio.pause()
+        this.switchBgmState(false) 
+        $("#volume a img").attr("src", "./images/Volume btn_on.png")
+        $("#volume").attr("title", "打开声音");
+    }
+    
+}
+
+
+
+
+Manage.prototype.switchBgmState = function(state){ 
+    if(!this.musicShouldPlay)return
     if(!g_bgAudio || !g_bgAudio.src) return;
-    this.bgmShouldPlay = state
+    //this.currentPlay = 'bgm'
     
     var played = function(){ 
         console.log('begin play bgm '+ g_bgAudio.src);
         g_play = 1; 
         g_playAudio = g_bgAudio;
-        $("#volume a img").attr("src", "./images/Volume btn_off.png")
-        $("#volume").attr("title", "关闭声音");
+        
         g_tourAudio && g_tourAudio.pause()
-        SoundOnVideo && switchSoundBtn(SoundOnVideo)
+        //SoundOnVideo && switchSoundBtn(SoundOnVideo)
     }
     var paused = function(){ 
         g_play = 0;
         g_playAudio == g_bgAudio && (g_playAudio =  null)
-        $("#volume a img").attr("src", "./images/Volume btn_on.png")
-        $("#volume").attr("title", "打开声音");
+        
     }
     
     if(state ){ 
@@ -191,7 +227,7 @@ Manage.prototype.switchBgmState = function(state){
         g_bgAudio.pause();
         paused()
     } 
-    
+     
     
     g_bgAudio.pauseByHot = false
     g_bgAudio.pauseByTour = false

Rozdielové dáta súboru neboli zobrazené, pretože súbor je príliš veľký
+ 16 - 1
SuperTwo762/js/myShow.js


+ 3 - 3
SuperTwo762/js/overlay.js

@@ -91,13 +91,13 @@ var initOverlay = function(THREE) {
                 plane.material.transparent = false
                 
                 
-                var soundBtn = addSoundBtn(video);
+                /* var soundBtn = addSoundBtn(video);
                 this.add(soundBtn)
                 this.soundBtn = soundBtn;
                 
                 var offsetX = 0.11, offsetY = 0.11; //到右下角的距离,单位m 
                 this.soundBtn.position.set(settings.overlay.width*(0.5-1/info.width*offsetX), -settings.overlay.height*(0.5-1/info.height*offsetY),0.01)
-                
+                 */
                 plane.material.opacity = 1;
                 
             } else if (info.media.includes('photo')) {
@@ -182,7 +182,7 @@ var initOverlay = function(THREE) {
                     plane.material.map.minFilter = THREE.LinearFilter;
                     plane.material.map.magFilter = THREE.LinearFilter;
                     plane.material.map.generateMipmaps = true;
-                    this.soundBtn.scale.set(1/this.scale.x,1/this.scale.y,1/this.scale.z)
+                    //this.soundBtn.scale.set(1/this.scale.x,1/this.scale.y,1/this.scale.z)
                 } else {
                     this._loadDones = []
                     /* plane.material.map = Texture.load(info.file,()=>{

BIN
SuperTwo762/music/0102cp.mp3


BIN
SuperTwo762/music/03cp.mp3


BIN
SuperTwo762/music/04CP.mp3


BIN
SuperTwo762/music/0506CP.mp3


BIN
SuperTwo762/music/07cp.mp3


BIN
SuperTwo762/music/08CP.mp3


BIN
SuperTwo762/music/09cp.mp3


BIN
SuperTwo762/music/10cp.mp3


BIN
SuperTwo762/music/11cp.mp3


BIN
SuperTwo762/music/1213CP.mp3


BIN
SuperTwo762/music/14cp.mp3


BIN
SuperTwo762/music/15cp.mp3


BIN
SuperTwo762/music/16cp.mp3


BIN
SuperTwo762/music/17cp.mp3


BIN
SuperTwo762/music/18cp.mp3


BIN
SuperTwo762/music/19CP.mp3


BIN
SuperTwo762/music/2021cp.mp3


BIN
SuperTwo762/music/22cp.mp3


BIN
SuperTwo762/music/23cp.mp3


BIN
SuperTwo762/music/24cp.mp3


BIN
SuperTwo791/images/Volume btn_off.png


BIN
SuperTwo791/images/Volume btn_on.png


BIN
SuperTwo791/images/play.png


BIN
SuperTwo791/images/rd图标.7z


+ 7 - 0
SuperTwo791/index.html

@@ -11,6 +11,7 @@
     <meta property="og:title" content="四维时代">
     <meta property="og:description" content="四维时代">
     <meta property="og:image:type" content="image/jpg">
+    <meta name="renderer" content="webkit">
     <link rel="icon" type="image/png" sizes="32x32" href="images/icons/favicon.png" class="keep">
     <link rel="stylesheet" href="css/oldVer/main0.css">
     <link rel="stylesheet" href="css/main.css?v=2.25">
@@ -796,6 +797,12 @@
  <![endif]-->
     </div>
     <script>
+    
+         
+    
+    
+    
+    
         if(number == "TEST"){
             var textarea = document.createElement('textarea');
               textarea.id = "consoleLog";

+ 35 - 15
SuperTwo791/js/main_2020_show.js

@@ -4854,6 +4854,7 @@ window.Modernizr = function(n, e, t) {
                 if(musicInfo && musicInfo.music){
                         
                     var o = musicInfo.music.includes(g_Prefix.slice(-10)) ? musicInfo.music :  g_Prefix + musicInfo.music;
+                    if(isMobile)o = o.replace('//data/','')//add
                     let audioSrc1 = g_tourAudio.src.split('/').pop();
                     let audioSrc2 = o.split('/').pop();
                     if(audioSrc1 == audioSrc2){//应该是继续播放该folder 
@@ -14486,8 +14487,13 @@ window.Modernizr = function(n, e, t) {
 			$('#gui-loading').fadeIn(200);
 			progressUpdate(0.1)
 			var fileName = g_version ?  'modeldata.js' : 'someData.json' ;
-            $.ajax(g_Prefix + "data/"+window.number+"/"+fileName+"?"+randomTime().getTime(),{dataType: "json"}).done( function(e){ //改
+            var url = g_Prefix + (isMobile ? '':'data/') +  window.number+"/"+fileName+"?"+randomTime().getTime()
+            
+            
+            $.ajax(url,{dataType: "json"}).done( function(e){ //改
                 var data = matcher(e);
+                if(isMobile) data.files.templates =  ["{{number}}/{{filename}}"]
+                
 				data.files.templates[0] = g_Prefix + e.files.templates[0].replace("{{number}}",window.number);
 				data.user = {
 					"is_authenticated": false,
@@ -17980,9 +17986,12 @@ window.Modernizr = function(n, e, t) {
             }
 			n.prototype.loadhots = function() {//xzw 
                 var e = $.Deferred(); 
-                var t = g_Prefix+"data/" + this.sid + "/data2.js" +'?'+ randomTime().getTime();
-                
-                
+                //var t = g_Prefix+/* "data/" + */ this.sid + "/data2.js" +'?'+ randomTime().getTime();
+                if(isMobile){
+                    var t = g_Prefix+/* "data/" + */ this.sid + "/data2.js" +'?'+ randomTime().getTime();
+                }else{
+                    var t = g_Prefix+ "data/" +  this.sid + "/data2.js" +'?'+ randomTime().getTime();
+                }
 
                 return a.get(t, {
                     responseType: "json",
@@ -18004,26 +18013,37 @@ window.Modernizr = function(n, e, t) {
                         window.hotData = t.hots 
                         t.hots && this.createHotItem(t.hots, this.hots); */
                         
-                        
+                        var changeURL = function(url){
+                            var a = url.split('/data/')[1];
+                            return 'https://ossxiaoan.4dage.com/cms_army_macao_data/' + a
+                        }
                         
                         //因为热点保存后在hots里的顺序会被修改,所以使用order来记录顺序,这里要重排序:
                         window.hotData = {}
                         if(t.hots){
                             var sids = Object.keys(t.hots).sort((a,b)=>{return t.hots[a].order - t.hots[b].order});
                             
-                            sids.forEach((sid)=>{
-                                this.hotsCount++,
-                                this.hots[sid] = new Hot(sid,t.hots[sid] ,this);
-                                t.hots[sid].infoAttribute || (t.hots[sid].infoAttribute = {})
-                                this.hots[sid].initStyleImg(t.hots[sid].infoAttribute);
-                                window.hotData[sid] = t.hots[sid];
-                            }) 
+                            sids.forEach((sid)=>{ 
+                                this.hotsCount++ 
+                                var data = t.hots[sid] 
+                                this.hots[sid] = new Hot(sid, data ,this);
+                                data.infoAttribute || (data.infoAttribute = {})
+                                if(isMobile){
+                                    data.infoAttribute.images = data.infoAttribute.images.map(e=>changeURL(e))
+                                    data.infoAttribute.styleImg = data.infoAttribute.styleImg.map(e=>changeURL(e))
+                                    data.infoAttribute.video = data.infoAttribute.video.map(e=> {return {url:changeURL(e.url)}})
+                                }    
+                                this.hots[sid].initStyleImg(data.infoAttribute);
+                                window.hotData[sid] = data;
+                            })  
                         } 
                         this.createHotItem(window.hotData, this.hots);
                         
-                        
-                        
-                        
+                        if(isMobile){
+                            g_data2.overlays.forEach(e=>{
+                                e.file = changeURL(e.file)
+                            }) 
+                        }
                         
                         
                         g_index = w.valueFromHash("m");

Rozdielové dáta súboru neboli zobrazené, pretože súbor je príliš veľký
+ 12 - 1
SuperTwo791/js/myShow.js


+ 42 - 0
ZAJSG/Model.html

@@ -14,10 +14,52 @@
         html {
             overflow: hidden;
         }
+        .img{
+            position: fixed;
+            left: 50%;
+            transform: translateX(-50%);
+            color: #fff;
+            z-index: 999999;
+            color: #010101;
+            bottom: 20px;
+            pointer-events: none;
+            opacity: 0.9;
+            width: 90%;
+            text-align: center;
+        }
+        .mobileimg{
+            position: fixed;
+            left: 50%;
+            transform: translateX(-50%);
+            color: #fff;
+            z-index: 999999;
+            color: #010101;
+            bottom: 20px;
+            pointer-events: none;
+            opacity: 0.9;
+            display: none;
+            width: 100%;
+            text-align: center;
+        }
+        @media screen and (max-width: 600px) {
+            .img{
+               display: none;
+            }
+            .mobileimg{
+                display: block;
+            }
+        }
+
     </style>
 </head>
 
 <body>
+    <div class="img">
+        按住鼠标轮轴或ctrl+鼠标左键可进行移动文物查看
+    </div>
+    <div class="mobileimg">
+        单指可转动场景角度<br/>双指可上下拖动或放大缩小文物
+    </div>
     <div id="ui">
         <!-- <div id="introductionWrap" class="animated">
             <span id="name"></span>

+ 1 - 0
code/public/index.html

@@ -3,6 +3,7 @@
   <head>
     <meta charset="utf-8">
     <meta http-equiv="X-UA-Compatible" content="IE=edge">
+    <meta name="renderer" content="webkit">
     <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0, user-scalable=no, minimal-ui">
     <link rel="icon" href="<%= BASE_URL %>favicon.png">
     <title>中国人民解放军驻澳门部队军事展览馆</title>

+ 28 - 0
code/src/components/popupLayout/Loading.vue

@@ -4,6 +4,10 @@
         <div class="ui-con">
           <div class="ld-txt">加载中...</div>
         </div>
+        <div class="banbenTips">
+          <p>建议使用1920*1080 分辨率,谷歌80.0、360安全浏览器13.0(极速模式)以上版本浏览器浏览。</p>
+          <a target="_blank" href="/resource/360se13.1.1726.0.exe" class="download">下载360安全浏览器</a>
+        </div>
       </div>
     </div>
 </template>
@@ -65,16 +69,40 @@ export default {
       color: #fff;
     }
   }
+  .banbenTips{
+    color:#fff;
+    position: absolute;
+    text-align: center;
+    bottom: 0;
+    transform: translateX(-50%);
+    left: calc(50% - 200px / 2);
+    .download{
+      background: #cf7b0e;
+      width: 180px;
+      margin: 20px auto;
+      cursor: pointer;
+      border-radius: 6px;
+      height: 40px;
+      line-height: 40px;
+      text-decoration: none;
+      color: #fff;
+      display: inline-block;
+    }
   }
+}
     
 }
 
 .mobilec{
   .loading-body{
     width: 100%;
+    background: rgba(0, 0, 0, 0.7);
     .ui-con{
       left: 50%;
     }
+    .banbenTips{
+      display: none;
+    }
   }
 
 }

+ 1 - 1
code/src/pages/index/index.vue

@@ -32,7 +32,7 @@ import history from '@/pages/history'
 import bg from '@/components/background'
 
 
-// http://192.168.0.44:8110/
+// http://192.168.0.245:8110/
 let temp = ''
 const outKey = "791"
 const inKey = "762"

+ 10 - 0
code/src/pages/layout/aside.vue

@@ -1,6 +1,7 @@
 <template>
   <div>
     <div v-if="!$isMobile" class="layout"  :class="{isShow:isShow}">
+      {{isShow}}
       <img class="bg" :src="require(`@/assets/images/aside_bg.jpg`)" alt="">
       <ul class="aside">
         <li :class="{active:item.id===activeIdx}" v-for="(item,i) in asdie" :key="i" @click="handleItem(item)" >
@@ -149,15 +150,24 @@ export default {
   },
   methods:{
     handleItem(item){
+        
+
       this.$hideBroadcast()
       if (!item.path) {
         return 
       }
       if (item.type === 'switch') {
         this.isOutScene = !this.isOutScene
+        if (!this.isOutScene&&!this.$isMobile) {
+          setTimeout(() => {
+            this.isShow = !this.isShow 
+          });
+        }
       }
+      
       this.$router.push(item.path)
       this.activeIdx = item.id
+      
     },
     mobileHandleClick(path) {
       this.$router.push({path:path})

+ 1 - 0
code/vue.config.js

@@ -3,6 +3,7 @@ const path = require('path');
 
 module.exports = {
   publicPath: "./",
+  productionSourceMap: false,
   css: {
     loaderOptions: {
       less: {

+ 9 - 0
macaoApplets/pages/index/index.js

@@ -8,6 +8,15 @@ Page({
   },
   onLoad() {
   },
+  onShow(){
+    wx.setKeepScreenOn({
+      keepScreenOn: true,
+      success(){
+        console.log('1111111');
+      },
+      fail(){}
+    })
+  },
   switchType(e) {
     let type = e.target.dataset && e.target.dataset.type || 'map';
     this.setData({

+ 14 - 0
model-page/Model.html

@@ -2,6 +2,7 @@
 <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
 <meta name="viewport"
     content="width=device-width,initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=no">
+<meta name="renderer" content="webkit">
 <link rel="icon" type="image/png" sizes="32x32" href="images/favicon.png" class="keep">
 <html>
 
@@ -13,10 +14,23 @@
         html {
             overflow: hidden;
         }
+        .img{
+            position: fixed;
+            left: 50%;
+            transform: translateX(-50%);
+            color: #010101;
+            z-index: 999999;
+            bottom: 20px;
+            pointer-events: none;
+            opacity: 0.9;
+        }
     </style>
 </head>
 
 <body>
+    <div class="img">
+        按住鼠标轮轴或ctrl+鼠标左键可进行移动文物查看
+    </div>
     <script>
         var getQueryVariable = function(variable){
             var query = window.location.search.substring(1);