cz 1 an în urmă
părinte
comite
e3443a7d13
2 a modificat fișierele cu 247 adăugiri și 46 ștergeri
  1. 54 46
      public/index.html
  2. 193 0
      public/uni-webview.js

+ 54 - 46
public/index.html

@@ -1,48 +1,56 @@
 <!DOCTYPE html>
 <html lang="" class="has-bottombar">
-  <head>
-    <meta charset="utf-8" />
-    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
-    <meta name="viewport" content="width=device-width,initial-scale=1.0" />
-    <meta content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0;" name="viewport" />
-    <link rel="icon" href="<%= BASE_URL %>favicon.ico" />
-    <title><%= htmlWebpackPlugin.options.title %></title>
-    <meta name="wpk-bid" content="dta_2_131175" />
-    <script>
-      var isDingtalk = navigator && /DingTalk/.test(navigator.userAgent);
-      var isProductEnv =
-        window &&
-        window.location &&
-        window.location.host &&
-        window.location.host.indexOf("127.0.0.1") === -1 &&
-        window.location.host.indexOf("localhost") === -1 &&
-        window.location.host.indexOf("192.168.") === -1;
-      // 如果有其它测试域名,请一起排掉,减少测试环境对生产环境监控的干扰
-      if (isProductEnv) {
-        !(function (c, i, e, b) {
-          var h = i.createElement("script");
-          var f = i.getElementsByTagName("script")[0];
-          h.type = "text/javascript";
-          h.crossorigin = true;
-          h.onload = function () {
-            c[b] || (c[b] = new c.wpkReporter({ bid: "dta_2_131175" }));
-            c[b].installAll();
-          };
-          f.parentNode.insertBefore(h, f);
-          h.src = e;
-        })(window, document, "https://g.alicdn.com/woodpeckerx/jssdk??wpkReporter.js", "__wpk");
-      }
-    </script>
-    <script type="text/javascript" src="https://unpkg.com/@dcloudio/uni-webview-js@0.0.3/index.js"></script>
-  </head>
-  <header>
-    
-  </header>
-  <body>
-    <noscript>
-      <strong>We're sorry but <%= htmlWebpackPlugin.options.title %> doesn't work properly without JavaScript enabled. Please enable it to continue.</strong>
-    </noscript>
-    <div id="app"></div>
-    <!-- built files will be auto injected -->
-  </body>
-</html>
+
+<head>
+  <meta charset="utf-8" />
+  <meta http-equiv="X-UA-Compatible" content="IE=edge" />
+  <meta name="viewport" content="width=device-width,initial-scale=1.0" />
+  <meta content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0;" name="viewport" />
+  <link rel="icon" href="<%= BASE_URL %>favicon.ico" />
+  <title><%= htmlWebpackPlugin.options.title %></title>
+  <meta name="wpk-bid" content="dta_2_131175" />
+  <script>
+    var isDingtalk = navigator && /DingTalk/.test(navigator.userAgent);
+    var isProductEnv =
+      window &&
+      window.location &&
+      window.location.host &&
+      window.location.host.indexOf("127.0.0.1") === -1 &&
+      window.location.host.indexOf("localhost") === -1 &&
+      window.location.host.indexOf("192.168.") === -1;
+    // 如果有其它测试域名,请一起排掉,减少测试环境对生产环境监控的干扰
+    if (isProductEnv) {
+      !(function (c, i, e, b) {
+        var h = i.createElement("script");
+        var f = i.getElementsByTagName("script")[0];
+        h.type = "text/javascript";
+        h.crossorigin = true;
+        h.onload = function () {
+          c[b] || (c[b] = new c.wpkReporter({
+            bid: "dta_2_131175"
+          }));
+          c[b].installAll();
+        };
+        f.parentNode.insertBefore(h, f);
+        h.src = e;
+      })(window, document, "https://g.alicdn.com/woodpeckerx/jssdk??wpkReporter.js", "__wpk");
+    }
+  </script>
+  <!-- <script type="text/javascript" src="https://unpkg.com/@dcloudio/uni-webview-js@0.0.3/index.js"></script> -->
+  <script type="text/javascript" src="./uni-webview.js"></script>
+
+</head>
+<header>
+
+</header>
+
+<body>
+  <noscript>
+    <strong>We're sorry but <%= htmlWebpackPlugin.options.title %> doesn't work properly without JavaScript enabled.
+      Please enable it to continue.</strong>
+  </noscript>
+  <div id="app"></div>
+  <!-- built files will be auto injected -->
+</body>
+
+</html>

+ 193 - 0
public/uni-webview.js

@@ -0,0 +1,193 @@
+! function (e, n) {
+  "object" == typeof exports && "undefined" != typeof module ? module.exports = n() : "function" == typeof define && define.amd ? define(n) : (e = e || self).uni = n()
+}(this, (function () {
+  "use strict";
+  try {
+    var e = {};
+    Object.defineProperty(e, "passive", {
+      get: function () {
+        !0
+      }
+    }), window.addEventListener("test-passive", null, e)
+  } catch (e) {}
+  var n = Object.prototype.hasOwnProperty;
+
+  function i(e, i) {
+    return n.call(e, i)
+  }
+  var t = [];
+
+  function r() {
+    return window.__dcloud_weex_postMessage || window.__dcloud_weex_
+  }
+  var o = function (e, n) {
+      var i = {
+        options: {
+          timestamp: +new Date
+        },
+        name: e,
+        arg: n
+      };
+      if (r()) {
+        if ("postMessage" === e) {
+          var o = {
+            data: [n]
+          };
+          return window.__dcloud_weex_postMessage ? window.__dcloud_weex_postMessage(o) : window.__dcloud_weex_.postMessage(JSON.stringify(o))
+        }
+        var a = {
+          type: "WEB_INVOKE_APPSERVICE",
+          args: {
+            data: i,
+            webviewIds: t
+          }
+        };
+        window.__dcloud_weex_postMessage ? window.__dcloud_weex_postMessageToService(a) : window.__dcloud_weex_.postMessageToService(JSON.stringify(a))
+      }
+      if (!window.plus) return window.parent.postMessage({
+        type: "WEB_INVOKE_APPSERVICE",
+        data: i,
+        pageId: ""
+      }, "*");
+      if (0 === t.length) {
+        var d = plus.webview.currentWebview();
+        if (!d) throw new Error("plus.webview.currentWebview() is undefined");
+        var s = d.parent(),
+          w = "";
+        w = s ? s.id : d.id, t.push(w)
+      }
+      if (plus.webview.getWebviewById("__uniapp__service")) plus.webview.postMessageToUniNView({
+        type: "WEB_INVOKE_APPSERVICE",
+        args: {
+          data: i,
+          webviewIds: t
+        }
+      }, "__uniapp__service");
+      else {
+        var u = JSON.stringify(i);
+        plus.webview.getLaunchWebview().evalJS('UniPlusBridge.subscribeHandler("'.concat("WEB_INVOKE_APPSERVICE", '",').concat(u, ",").concat(JSON.stringify(t), ");"))
+      }
+    },
+    a = {
+      navigateTo: function () {
+        var e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {},
+          n = e.url;
+        o("navigateTo", {
+          url: encodeURI(n)
+        })
+      },
+      navigateBack: function () {
+        var e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {},
+          n = e.delta;
+        o("navigateBack", {
+          delta: parseInt(n) || 1
+        })
+      },
+      switchTab: function () {
+        var e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {},
+          n = e.url;
+        o("switchTab", {
+          url: encodeURI(n)
+        })
+      },
+      reLaunch: function () {
+        var e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {},
+          n = e.url;
+        o("reLaunch", {
+          url: encodeURI(n)
+        })
+      },
+      redirectTo: function () {
+        var e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {},
+          n = e.url;
+        o("redirectTo", {
+          url: encodeURI(n)
+        })
+      },
+      getEnv: function (e) {
+        r() ? e({
+          nvue: !0
+        }) : window.plus ? e({
+          plus: !0
+        }) : e({
+          h5: !0
+        })
+      },
+      postMessage: function () {
+        var e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {};
+        o("postMessage", e.data || {})
+      }
+    },
+    d = /uni-app/i.test(navigator.userAgent),
+    s = /Html5Plus/i.test(navigator.userAgent),
+    w = /complete|loaded|interactive/;
+  var u = window.my && navigator.userAgent.indexOf(["t", "n", "e", "i", "l", "C", "y", "a", "p", "i", "l", "A"].reverse().join("")) > -1;
+  var g = window.swan && window.swan.webView && /swan/i.test(navigator.userAgent);
+  var v = window.qq && window.qq.miniProgram && /QQ/i.test(navigator.userAgent) && /miniProgram/i.test(navigator.userAgent);
+  var c = window.tt && window.tt.miniProgram && /toutiaomicroapp/i.test(navigator.userAgent);
+  var m = window.wx && window.wx.miniProgram && /micromessenger/i.test(navigator.userAgent) && /miniProgram/i.test(navigator.userAgent);
+  var p = window.qa && /quickapp/i.test(navigator.userAgent);
+  var f = window.ks && window.ks.miniProgram && /micromessenger/i.test(navigator.userAgent) && /miniProgram/i.test(navigator.userAgent);
+  var l = window.tt && window.tt.miniProgram && /Lark|Feishu/i.test(navigator.userAgent);
+  var _ = window.jd && window.jd.miniProgram && /micromessenger/i.test(navigator.userAgent) && /miniProgram/i.test(navigator.userAgent);
+  var E = window.xhs && window.xhs.miniProgram && /xhsminiapp/i.test(navigator.userAgent);
+  for (var h, P = function () {
+      window.UniAppJSBridge = !0, document.dispatchEvent(new CustomEvent("UniAppJSBridgeReady", {
+        bubbles: !0,
+        cancelable: !0
+      }))
+    }, b = [function (e) {
+      if (d || s) return window.__dcloud_weex_postMessage || window.__dcloud_weex_ ? document.addEventListener("DOMContentLoaded", e) : window.plus && w.test(document.readyState) ? setTimeout(e, 0) : document.addEventListener("plusready", e), a
+    }, function (e) {
+      if (m) return window.WeixinJSBridge && window.WeixinJSBridge.invoke ? setTimeout(e, 0) : document.addEventListener("WeixinJSBridgeReady", e), window.wx.miniProgram
+    }, function (e) {
+      if (v) return window.QQJSBridge && window.QQJSBridge.invoke ? setTimeout(e, 0) : document.addEventListener("QQJSBridgeReady", e), window.qq.miniProgram
+    }, function (e) {
+      if (u) {
+        document.addEventListener("DOMContentLoaded", e);
+        var n = window.my;
+        return {
+          navigateTo: n.navigateTo,
+          navigateBack: n.navigateBack,
+          switchTab: n.switchTab,
+          reLaunch: n.reLaunch,
+          redirectTo: n.redirectTo,
+          postMessage: n.postMessage,
+          getEnv: n.getEnv
+        }
+      }
+    }, function (e) {
+      if (g) return document.addEventListener("DOMContentLoaded", e), window.swan.webView
+    }, function (e) {
+      if (c) return document.addEventListener("DOMContentLoaded", e), window.tt.miniProgram
+    }, function (e) {
+      if (p) {
+        window.QaJSBridge && window.QaJSBridge.invoke ? setTimeout(e, 0) : document.addEventListener("QaJSBridgeReady", e);
+        var n = window.qa;
+        return {
+          navigateTo: n.navigateTo,
+          navigateBack: n.navigateBack,
+          switchTab: n.switchTab,
+          reLaunch: n.reLaunch,
+          redirectTo: n.redirectTo,
+          postMessage: n.postMessage,
+          getEnv: n.getEnv
+        }
+      }
+    }, function (e) {
+      if (f) return window.WeixinJSBridge && window.WeixinJSBridge.invoke ? setTimeout(e, 0) : document.addEventListener("WeixinJSBridgeReady", e), window.ks.miniProgram
+    }, function (e) {
+      if (l) return document.addEventListener("DOMContentLoaded", e), window.tt.miniProgram
+    }, function (e) {
+      if (_) return window.JDJSBridgeReady && window.JDJSBridgeReady.invoke ? setTimeout(e, 0) : document.addEventListener("JDJSBridgeReady", e), window.jd.miniProgram
+    }, function (e) {
+      if (E) return window.xhs.miniProgram
+    }, function (e) {
+      return document.addEventListener("DOMContentLoaded", e), a
+    }], y = 0; y < b.length && !(h = b[y](P)); y++);
+  h || (h = {});
+  var B = "undefined" != typeof uni ? uni : {};
+  if (!B.navigateTo)
+    for (var S in h) i(h, S) && (B[S] = h[S]);
+  return B.webView = h, B
+}));