Sfoglia il codice sorgente

fix(): 修复视频断流重试

zengzhixiang 2 anni fa
parent
commit
8a26b2a8ad

+ 19 - 17
static/screenAndroid/WXtrialInterface.html

@@ -34,13 +34,10 @@
     <!-- windows phone 点击无高? -->
     <!-- windows phone 点击无高? -->
     <meta name="msapplication-tap-highlight" content="no" />
     <meta name="msapplication-tap-highlight" content="no" />
     <link rel="stylesheet" type="text/css" href="css/WXtrialInterface.css" />
     <link rel="stylesheet" type="text/css" href="css/WXtrialInterface.css" />
+    <link rel="stylesheet" href="../static/lib/weui/1.1.3/style/weui.min.css" />
     <link
     <link
       rel="stylesheet"
       rel="stylesheet"
-      href="https://cdn.bootcss.com/weui/1.1.3/style/weui.min.css"
-    />
-    <link
-      rel="stylesheet"
-      href="https://cdn.bootcss.com/jquery-weui/1.2.1/css/jquery-weui.min.css"
+      href="../static/lib/jquery-weui/1.2.1/css/jquery-weui.min.css"
     />
     />
     <!-- <link rel="stylesheet" href="../static/lib/swiper/swiper-bundle.min.css" />
     <!-- <link rel="stylesheet" href="../static/lib/swiper/swiper-bundle.min.css" />
     <script src="../static/lib/swiper/swiper-bundle.js"></script> -->
     <script src="../static/lib/swiper/swiper-bundle.js"></script> -->
@@ -258,7 +255,7 @@
       type="text/javascript"
       type="text/javascript"
       src="https://cdn.bootcss.com/vConsole/3.2.0/vconsole.min.js"
       src="https://cdn.bootcss.com/vConsole/3.2.0/vconsole.min.js"
     ></script>
     ></script>
-    <script src="https://cdn.bootcss.com/jquery-weui/1.2.1/js/jquery-weui.min.js"></script>
+    <script src="../static/lib/jquery-weui/1.2.1/js/jquery-weui.min.js"></script>
     <script type="text/javascript" src="jmuxer.js"></script>
     <script type="text/javascript" src="jmuxer.js"></script>
     <script type="text/javascript" src="spsParser.js"></script>
     <script type="text/javascript" src="spsParser.js"></script>
     <script
     <script
@@ -593,10 +590,10 @@
       // 设置一个标志
       // 设置一个标志
       function throttle(fn, delay) {
       function throttle(fn, delay) {
         let flag = true;
         let flag = true;
-        errorTime += delay;
         return () => {
         return () => {
           if (!flag) return;
           if (!flag) return;
           flag = false;
           flag = false;
+          errorTime += delay;
           timer = setTimeout(() => {
           timer = setTimeout(() => {
             fn();
             fn();
             flag = true;
             flag = true;
@@ -624,19 +621,24 @@
           var verifyBuffer = VerifyCode('RK3923C1201900139', cardToken);
           var verifyBuffer = VerifyCode('RK3923C1201900139', cardToken);
           console.log('鉴权报文:' + PrintArry(verifyBuffer));
           console.log('鉴权报文:' + PrintArry(verifyBuffer));
           ws.send(verifyBuffer);
           ws.send(verifyBuffer);
+          errorTime = 0;
+        });
+        ws.addEventListener('close', function (event) {
+          if (event.code === 1006) {
+            clearInterval(intervaler);
+            throttle(doConnectBusiness, 100);
+            if (errorTime > 1000) {
+              $.toast('画面异常,请重新进入', 'text');
+              setTimeout(() => {
+                wsss.close();
+                quit();
+              }, 3000);
+            }
+          }
         });
         });
 
 
         ws.addEventListener('error', function (event) {
         ws.addEventListener('error', function (event) {
-          ws.close();
-          clearInterval(intervaler);
-          throttle(doConnectBusiness, 100);
-          if (errorTime > 1000) {
-            $.toast('画面异常,请重新进入', 'text');
-            setTimeout(() => {
-              wsss.close();
-              quit();
-            }, 3000);
-          }
+          ws.close(1006);
         });
         });
         ws.addEventListener('message', function (event) {
         ws.addEventListener('message', function (event) {
           var data = ParseProto(event.data); //JAVA服务器转发
           var data = ParseProto(event.data); //JAVA服务器转发

+ 6 - 1
static/screenAndroid/css/WXtrialInterface.css

@@ -334,10 +334,15 @@ html {
 }
 }
 
 
 .loading {
 .loading {
-  position: fixed;
+  /* position: fixed; */
+  position: absolute;
   z-index: 1;
   z-index: 1;
   left: 0;
   left: 0;
   top: 0;
   top: 0;
+  right: 0;
+  bottom: 0;
+  width: 100%;
+  height: calc(100% - 50px);
 }
 }
 
 
 .mask {
 .mask {

+ 30 - 21
static/screenIos/websocket.js

@@ -1,6 +1,6 @@
-self.importScripts("helper.js");
+self.importScripts('helper.js');
 var parameters = GetRequest();
 var parameters = GetRequest();
-var cardToken = parameters["cardToken"];
+var cardToken = parameters['cardToken'];
 cardToken = cardToken && decodeURIComponent(cardToken);
 cardToken = cardToken && decodeURIComponent(cardToken);
 var errorTime = 0;
 var errorTime = 0;
 var socketURL = decodeURIComponent(parameters['socketURL']);
 var socketURL = decodeURIComponent(parameters['socketURL']);
@@ -9,10 +9,10 @@ doConnect();
 
 
 function throttle(fn, delay) {
 function throttle(fn, delay) {
   var flag = true;
   var flag = true;
-  errorTime += delay;
   return () => {
   return () => {
     if (!flag) return;
     if (!flag) return;
     flag = false;
     flag = false;
+    errorTime += delay;
     timer = setTimeout(() => {
     timer = setTimeout(() => {
       fn();
       fn();
       flag = true;
       flag = true;
@@ -25,24 +25,29 @@ function doConnect() {
   ws.binaryType = 'arraybuffer';
   ws.binaryType = 'arraybuffer';
   intervaler = setInterval(() => {
   intervaler = setInterval(() => {
     if (ws.readyState === 1) {
     if (ws.readyState === 1) {
-      ws.send("ping");
+      ws.send('ping');
     } else {
     } else {
       clearInterval(intervaler);
       clearInterval(intervaler);
       self.postMessage('close');
       self.postMessage('close');
     }
     }
   }, 3000);
   }, 3000);
   ws.onerror = function () {
   ws.onerror = function () {
-    ws.close();
-    clearInterval(intervaler);
-    throttle(doConnect, 100);
-    if (errorTime > 1000) {
-      self.postMessage('close');
+    ws.close(1006);
+  };
+  ws.addEventListener('close', function (e) {
+    if (e.code === 1006) {
+      clearInterval(intervaler);
+      throttle(doConnect, 100);
+      if (errorTime > 1000) {
+        self.postMessage('close');
+      }
     }
     }
-  }
+  });
 
 
   ws.addEventListener('open', function (event) {
   ws.addEventListener('open', function (event) {
     var verifyBuffer = VerifyCode('RK3923C1201900139', cardToken);
     var verifyBuffer = VerifyCode('RK3923C1201900139', cardToken);
     ws.send(verifyBuffer);
     ws.send(verifyBuffer);
+    errorTime = 0;
   });
   });
 
 
   ws.addEventListener('message', function (event) {
   ws.addEventListener('message', function (event) {
@@ -54,24 +59,28 @@ function doConnect() {
     }
     }
   });
   });
 
 
-  self.addEventListener('message', function (e) {
-    if (e === 'close') {
-      clearInterval(intervaler);
-      ws.close();
-    } else {
-      ws.send(e.data);
-    }
-  }, false);
+  self.addEventListener(
+    'message',
+    function (e) {
+      if (e === 'close') {
+        clearInterval(intervaler);
+        ws.close();
+      } else {
+        ws.send(e.data);
+      }
+    },
+    false,
+  );
 }
 }
 
 
 function GetRequest() {
 function GetRequest() {
   var url = location.search; // 获取url中"?"符后的字串
   var url = location.search; // 获取url中"?"符后的字串
   var obj = new Object();
   var obj = new Object();
-  if (url.indexOf("?") != -1) {
+  if (url.indexOf('?') != -1) {
     var str = url.substr(1);
     var str = url.substr(1);
-    strs = str.split("&");
+    strs = str.split('&');
     for (var i = 0; i < strs.length; i++) {
     for (var i = 0; i < strs.length; i++) {
-      obj[strs[i].split("=")[0]] = (strs[i].split("=")[1]);
+      obj[strs[i].split('=')[0]] = strs[i].split('=')[1];
     }
     }
   }
   }
   return obj;
   return obj;

File diff suppressed because it is too large
+ 6 - 0
static/static/lib/jquery-weui/1.2.1/css/jquery-weui.min.css


File diff suppressed because it is too large
+ 13 - 0
static/static/lib/jquery-weui/1.2.1/js/jquery-weui.min.js


File diff suppressed because it is too large
+ 5 - 0
static/static/lib/weui/1.1.3/style/weui.min.css