dedsudiyu 1 ay önce
ebeveyn
işleme
5c1cb85fe5
1 değiştirilmiş dosya ile 57 ekleme ve 4 silme
  1. 57 4
      src/views/cengterMaxBox/canvasMap/index.vue

+ 57 - 4
src/views/cengterMaxBox/canvasMap/index.vue

@@ -112,10 +112,14 @@
         // alarmUrl:'/png/alarm.png',
         // noAlarmUrl:'/png/noAlarm.png',
         // 部署
-        modelsUrlN:'/v3/largeScreen/models/xiaoQuN.glb',
-        modelsUrlB:'/v3/largeScreen/models/xiaoQuB.glb',
-        alarmUrl:'/v3/largeScreen/png/alarm.png',
-        noAlarmUrl:'/v3/largeScreen/png/noAlarm.png',
+        // modelsUrlN:'/v3/largeScreen/models/xiaoQuN.glb',
+        // modelsUrlB:'/v3/largeScreen/models/xiaoQuB.glb',
+        // alarmUrl:'/v3/largeScreen/png/alarm.png',
+        // noAlarmUrl:'/v3/largeScreen/png/noAlarm.png',
+        modelsUrlN:this.judgmentNetworkReturnAddress()?'/models/xiaoQuN.glb':'/v3/largeScreen/models/xiaoQuN.glb',
+        modelsUrlB:this.judgmentNetworkReturnAddress()?'/models/xiaoQuB.glb':'/v3/largeScreen/models/xiaoQuB.glb',
+        alarmUrl:this.judgmentNetworkReturnAddress()?'/png/alarm.png':'/v3/largeScreen/png/alarm.png',
+        noAlarmUrl:this.judgmentNetworkReturnAddress()?'/png/noAlarm.png':'/v3/largeScreen/png/noAlarm.png',
         //当前校区状态
         schoolType:'',
       };
@@ -739,6 +743,55 @@
         label.position.set(targetPosition.x,targetPosition.y,targetPosition.z); // 在对象上方 1 单位位置
         this.scene.add(label);
       },
+      //内外网地址判定
+      judgmentNetworkReturnAddress() {
+        /*判断是否是内网IP*/
+        // 获取当前页面url
+        var curPageUrl = window.location.href;
+
+        var reg1 = /(http|ftp|https|www):\/\//g;//去掉前缀
+        curPageUrl =curPageUrl.replace(reg1,'');
+
+        var reg2 = /\:+/g;//替换冒号为一点
+        curPageUrl =curPageUrl.replace(reg2,'.');
+
+        curPageUrl = curPageUrl.split('.');//通过一点来划分数组
+
+
+        var ipAddress = curPageUrl[0]+'.'+curPageUrl[1]+'.'+curPageUrl[2]+'.'+curPageUrl[3];
+
+        var isInnerIp = false;//默认给定IP不是内网IP
+        var ipNum = getIpNum(ipAddress);
+        /**
+         * 私有IP:A类  10.0.0.0    -10.255.255.255
+         *       B类  172.16.0.0  -172.31.255.255
+         *       C类  192.168.0.0 -192.168.255.255
+         *       D类   127.0.0.0   -127.255.255.255(环回地址)
+         **/
+        var aBegin = getIpNum("10.0.0.0");
+        var aEnd = getIpNum("10.255.255.255");
+        var bBegin = getIpNum("172.16.0.0");
+        var bEnd = getIpNum("172.31.255.255");
+        var cBegin = getIpNum("192.168.0.0");
+        var cEnd = getIpNum("192.168.255.255");
+        var dBegin = getIpNum("127.0.0.0");
+        var dEnd = getIpNum("127.255.255.255");
+        isInnerIp = isInner(ipNum,aBegin,aEnd) || isInner(ipNum,bBegin,bEnd) || isInner(ipNum,cBegin,cEnd) || isInner(ipNum,dBegin,dEnd);
+        return isInnerIp?true:false;
+        /*获取IP数*/
+        function getIpNum(ipAddress) {
+          var ip = ipAddress.split(".");
+          var a = parseInt(ip[0]);
+          var b = parseInt(ip[1]);
+          var c = parseInt(ip[2]);
+          var d = parseInt(ip[3]);
+          var ipNum = a * 256 * 256 * 256 + b * 256 * 256 + c * 256 + d;
+          return ipNum;
+        }
+        function isInner(userIp,begin,end){
+          return (userIp>=begin) && (userIp<=end);
+        }
+      }
     }
   };
 </script>