shaogen1995 8 月之前
父節點
當前提交
b901157551
共有 9 個文件被更改,包括 170 次插入114 次删除
  1. 2 1
      .gitignore
  2. 6 0
      hot_源码/public/index.html
  3. 21 24
      hot_源码/src/views/Home.vue
  4. 42 2
      scene/index.html
  5. 1 1
      scene/js/Hot.js
  6. 12 4
      scene/js/main_2020_show.js
  7. 6 3
      scene/js/manage.js
  8. 77 78
      scene/showa/js/loadCAD.js
  9. 3 1
      scene/showa/js/myShow.js

+ 2 - 1
.gitignore

@@ -1,2 +1,3 @@
 /data
-/hot
+/hot
+/node_modules

+ 6 - 0
hot_源码/public/index.html

@@ -29,6 +29,12 @@
 
   <script>
 
+
+    window.myTitUrl = window.location.pathname.split('hot')[0]
+
+    window.myTitUrlQuLast = window.myTitUrl.substring(0, window.myTitUrl.length - 1);
+
+
     if (!window.location.href.includes('&T=1')) {
       document.addEventListener("contextmenu", function (e) {
         e.preventDefault();

+ 21 - 24
hot_源码/src/views/Home.vue

@@ -5,7 +5,7 @@
       v-if="audio"
       class="audio"
       id="audio1"
-      :src="audio"
+      :src="urlToFitFu(audio)"
       preload
       ref="musicBg"
       @ended="overAudio"
@@ -50,22 +50,22 @@
             <div
               class="slideImgBox"
               v-if="active === 'images'"
-              @click="lookImg(fixUrl(item))"
+              @click="lookImg(urlToFitFu(item))"
             >
-              <img style="cursor: pointer" v-lazy="fixUrl(item)" alt="" />
+              <img style="cursor: pointer" v-lazy="urlToFitFu(item)" alt="" />
             </div>
 
             <video
               class="videoDom"
               v-else-if="active === 'video'"
-              :src="fixUrl(item.url)"
+              :src="urlToFitFu(item.url)"
               controls="true"
               controlslist="nodownload"
             ></video>
             <iframe
               @click="colseParent(item)"
               v-else-if="active === 'model' || active === 'iframe'"
-              :src="fixUrl(item)"
+              :src="urlToFitFu(item)"
               frameborder="0"
             ></iframe>
           </div>
@@ -291,7 +291,11 @@ export default {
     },
     async getData() {
       // https://www.4dmodel.com/
-      let url = `https://super.4dage.com/data/${
+
+      // let url = `https://super.4dage.com/data/${   // 线上数据
+
+      let url = `${window.myTitUrlQuLast}/data/${
+        //本地化部署
         this.id
       }/hot/js/data.js?time=${Math.random()}`;
       let result = (await this.$http.get(url)).data;
@@ -331,24 +335,17 @@ export default {
         }
       }
     },
-    fixUrl(item) {
-      let condition =
-        item.indexOf("http://") > -1 || item.indexOf("https://") > -1;
-      if (this.isMobile) {
-        if (
-          item.indexOf("mp.weixin.qq.com/mp/") > -1 &&
-          this.active === "iframe"
-        ) {
-          return `https://www.4dmodel.com/SuperTwo/hot_online1/linktoWC.html?url=${encodeURIComponent(
-            item
-          )}`;
-        }
-      }
-      if (!condition) {
-        return "https://" + item;
-      }
-      return item;
+
+    // 本地化 url 适配
+    urlToFitFu(url) {
+      const resUrl = url;
+      if (url.includes("https://super.4dage.com")) {
+        return url.replace("https://super.4dage.com", window.myTitUrlQuLast);
+      } else if (url.includes("http://super.4dage.com")) {
+        return url.replace("http://super.4dage.com", window.myTitUrlQuLast);
+      } else return resUrl;
     },
+
     slideto(action) {
       this.swiper[action]();
     },
@@ -405,7 +402,7 @@ export default {
       height: 100%;
       .slide {
         font-size: 0;
-        .slideImgBox{
+        .slideImgBox {
           cursor: pointer;
         }
         img,

+ 42 - 2
scene/index.html

@@ -11,6 +11,9 @@
     <meta property="og:title" content="四维时代">
     <meta property="og:description" content="四维时代">
     <meta property="og:image:type" content="image/jpg">
+
+    <meta http-equiv="Content-Security-Policy" content="default-src 'self' https://count.4dage.com/;">
+
     <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">
@@ -34,7 +37,7 @@
             number = number.substring(0, number.indexOf("#"));
         } 
     </script>
-    <script>
+    <!-- <script>
         var _hmt = _hmt || [];
         (function () {
             var hm = document.createElement("script");
@@ -42,7 +45,7 @@
             var s = document.getElementsByTagName("script")[0];
             s.parentNode.insertBefore(hm, s);
         })();
-    </script>
+    </script> -->
     <script class="build keep">
         if (window.performance) {
             window.navigationStart = window.performance.timing.navigationStart;
@@ -860,6 +863,9 @@
         }
 
 
+
+
+
         fetch('https://count.4dage.com/api/count/saveVisit/KJ-iTzKmB6AQfD')
             .then(response => response.json())
             .then(data => {
@@ -867,6 +873,31 @@
             })
             .catch(error => console.error('Error:', error));
 
+        // const myBaseUrl = 'https://sit-likecount.4dage.com'
+        // const mySceneNum = '1408'
+
+        // fetch(`${myBaseUrl}/api/show/addVisit`, { //请求的服务器地址
+        //     body: JSON.stringify({ sceneCode: mySceneNum, type: "share" }), //第二种请求数据的方法json
+        //     method: "POST", //请求方法
+        //     headers: {  //请求头信息
+        //         'Content-Type': 'application/json' //第二种请求头编写方式json
+        //     }
+        // })
+        //     .then(res => res.text()) //请求得到的数据转换为text
+        //     .then(res => {
+
+        //         fetch(`${myBaseUrl}/api/show/share/detail/${mySceneNum}`)
+        //             .then(response => response.json())
+        //             .then(data => {
+        //                 // document.querySelector('.openNumDiv').innerHTML = `浏览人数 <span>${data.data.visitSum}</span>`
+        //                 document.querySelector('.openNumDiv').innerHTML = `浏览人数 <span>${data.data.pcsShare}</span>`
+        //             })
+        //             .catch(error => console.error('Error:', error));
+        //     })
+        //     .catch(err => {    //错误打印
+        //         console.log(err)
+        //     })
+
 
 
         var changeLog = () => {
@@ -915,6 +946,15 @@
 
 
 
+    <script>
+        window.number = 'KJ-iTzKmB6AQfD'
+
+        window.myTitUrl = window.location.pathname.split('scene')[0]
+
+        window.myTitUrlQuLast = window.myTitUrl.substring(0, window.myTitUrl.length - 1);
+
+
+    </script>
 
 
     <script src="js/lib/jquery-2.1.1.min.js" class="build keep"></script>

+ 1 - 1
scene/js/Hot.js

@@ -63,7 +63,7 @@ window.initHot = function(model){
           , 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 
             
-        return src 
+        return src.replace('https://www.4dmodel.com/SuperTwo/hot_online1',window.myTitUrl+'hot') 
     }
     var removeSrcPostMark = function(url){//去除texture.load时自动加上的'?'
         var index = url.indexOf('?')

+ 12 - 4
scene/js/main_2020_show.js

@@ -14658,8 +14658,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){ //改
+            $.ajax(g_Prefix + "data/"+window.number+"/"+fileName+"?"+randomTime().getTime(),{dataType: "json"}).done( function(eTemp){ //改
                  
+                const eTemp2 =JSON.stringify(eTemp).replaceAll('https://super.4dage.com',window.location.origin+window.myTitUrlQuLast).replaceAll('http://super.4dage.com',window.location.origin+window.myTitUrlQuLast)
+
+                const e =JSON.parse(eTemp2)
+
                 var data = matcher(e);
 				data.files.templates[0] = g_Prefix + e.files.templates[0].replace("{{number}}",window.number);
 				data.user = {
@@ -17315,9 +17319,13 @@ window.Modernizr = function(n, e, t) {
                         }
                         var cameraMode = a.convertWorkshopModeInt(info.metadata.camera_mode);
                         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()
                          
                         var l = { 

+ 6 - 3
scene/js/manage.js

@@ -1,10 +1,13 @@
   
 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 g_Prefix =window.myTitUrl
 var s = window.location.href.split('/');
     s.pop();
-//var g_Prefix = s.join('/');
+// var g_Prefix = s.join('/');
+window.isLocal = true
+
 var g_index=null;
 var g_modeldata=null;
 
@@ -698,7 +701,7 @@ 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.loadWeixin();
 }
 //动态加载js文件
 Manage.prototype.LoadJs = function(_files, succes){

+ 77 - 78
scene/showa/js/loadCAD.js

@@ -1,40 +1,39 @@
 window.grendCAD = (function grendCAD() {
-  let initFloor
-  let initScript
-  let initDOM
-  let point, dire
+  let initFloor;
+  let initScript;
+  let initDOM;
+  let point, dire;
 
   window.cad = {
-    setSign: function(p, d) {
-      point = p
-      dire = d
-    }
-  }
+    setSign: function (p, d) {
+      point = p;
+      dire = d;
+    },
+  };
 
   function loadScript(cb) {
-    if (initScript) return cb()
+    if (initScript) return cb();
 
-    let $script = document.createElement('script')
-    $script.src = '//www.4dmodel.com/CAD/bundle.js'
-    $script.onload = function() {
-      initScript = true
-      cb()
-    }
+    let $script = document.createElement("script");
+    $script.src = "//www.4dmodel.com/CAD/bundle.js";
+    $script.onload = function () {
+      initScript = true;
+      cb();
+    };
 
-    document.documentElement.appendChild($script)
+    document.documentElement.appendChild($script);
   }
 
   function loadDOM($parent) {
     if (initDOM) return initDOM;
-    let $layer = document.createElement('div')
-    let $cad = document.createElement('div')
+    let $layer = document.createElement("div");
+    let $cad = document.createElement("div");
 
-    $layer.className = 'cad'
-    $cad.id = 'cad'
-    $layer.appendChild($cad)
+    $layer.className = "cad";
+    $cad.id = "cad";
+    $layer.appendChild($cad);
 
-
-    let style = document.createElement('style')
+    let style = document.createElement("style");
     style.innerHTML = `
       .cad {
         position: absolute;
@@ -62,90 +61,90 @@ window.grendCAD = (function grendCAD() {
             border-radius: 5px;
         }
       }
-    `
+    `;
 
-    document.documentElement.appendChild(style)
-    document.documentElement.appendChild($layer)
-    $parent.appendChild(style)
-    $parent.appendChild($layer)
-    return $layer
+    document.documentElement.appendChild(style);
+    document.documentElement.appendChild($layer);
+    $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)"
+      storkeColor: "rgba(0,0,0,0)",
     });
 
-    console.log(borderWidth)
+    console.log(borderWidth);
     cad.setDefaultLineStyle({
       width: borderWidth,
-      color: borderColor
+      color: borderColor,
     });
 
     cad.setDefaultSignStyle({
-      color: signColor
-    })
+      color: signColor,
+    });
   }
 
-
-  return function(floor, $parent, signColor, borderColor, borderWidth) {
+  return function (floor, $parent, signColor, borderColor, borderWidth) {
     if (initFloor) {
-      console.log('cache')
-      return setStyle(signColor, borderColor, borderWidth)
+      console.log("cache");
+      return setStyle(signColor, borderColor, borderWidth);
     }
-    console.log('load')
-    initFloor = floor
+    console.log("load");
+    initFloor = floor;
 
-    loadScript(function() {
-      let $layer = loadDOM($parent)
+    loadScript(function () {
+      let $layer = loadDOM($parent);
 
-      $layer.style.visibility = 'hidden'
+      $layer.style.visibility = "hidden";
       window.cad = structureCAD({
         data: {
-            block: [],
-            column: [],
-            door: [],
-            hole: [],
-            segment: [],
-            "vertex-xy": [],
-            "vertex-z": [],
-        }, 
-        layer: $layer.querySelector('#cad'),
-        edit: false
+          block: [],
+          column: [],
+          door: [],
+          hole: [],
+          segment: [],
+          "vertex-xy": [],
+          "vertex-z": [],
+        },
+        layer: $layer.querySelector("#cad"),
+        edit: false,
       });
-      
-      setStyle(signColor, borderColor, borderWidth)
-      cad.hideDire()
-      cad.hideGauge()
-  
-      console.log('loadData')
+
+      setStyle(signColor, borderColor, borderWidth);
+      cad.hideDire();
+      cad.hideGauge();
+
+      console.log("loadData");
       cad.loadData(initFloor);
       if (point && dire) {
-        window.cad.setSign(point, dire)
+        window.cad.setSign(point, dire);
       }
-      $layer.style.visibility = 'visible'
-    })
-
-  }
+      $layer.style.visibility = "visible";
+    });
+  };
 })();
 
-
 $.ajax({
   url: g_Prefix + "data/" + window.number + "/someData.json" + "?" + Date.now(),
-  method: 'GET',
+  method: "GET",
   success(data) {
-    if (!data.showCad) return
+    if (!data.showCad) return;
 
-
-    
     $.ajax({
-      url: '//super.4dage.com/data/'+ window.number +'/floor.json', 
-      method: 'GET',
+      url: "//super.4dage.com/data/" + window.number + "/floor.json",
+      method: "GET",
       success(res) {
-        grendCAD(res, document.documentElement, data.cadSignColor, data.cadBorderColor, data.cadBorderWidth)
-      }
-    })
-  }
-})
+        grendCAD(
+          res,
+          document.documentElement,
+          data.cadSignColor,
+          data.cadBorderColor,
+          data.cadBorderWidth
+        );
+      },
+    });
+  },
+});

+ 3 - 1
scene/showa/js/myShow.js

@@ -1,7 +1,9 @@
 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 g_Prefix =window.myTitUrl
 var s = window.location.href.split('/');
+window.isLocal = true
 s.pop();
 //var g_Prefix = s.join('/');
 var g_index=null;