Просмотр исходного кода

动态添加外部jssdk 增加uniapp支持

fancy 5 лет назад
Родитель
Сommit
151396fe42

Разница между файлами не показана из-за своего большого размера
+ 0 - 0
o2web/source/o2_lib/uniapp/uni.webview.1.5.2.js


+ 2 - 0
o2web/source/x_component_process_Xform/Form.js

@@ -4311,6 +4311,8 @@ MWF.xApplication.process.Xform.Form = MWF.APPForm = new Class(
             window.webkit.messageHandlers.closeWork.postMessage("");
         } else if (window.wx && window.__wxjs_environment === 'miniprogram') { //微信小程序 关闭页面
             wx.miniProgram.navigateBack({ delta: 1 });
+        } else if (uni && uni.navigateBack) { // uniapp 关闭页面
+            uni.navigateBack();
         } else if (this.json.afterProcessAction === "redirect" && this.json.afterProcessRedirectScript && this.json.afterProcessRedirectScript.code) {
             var url = this.Macro.exec(this.json.afterProcessRedirectScript.code, this);
             (new URI(url)).go();

+ 28 - 0
o2web/source/x_desktop/appMobile.html

@@ -24,5 +24,33 @@
         <script src="js/o2m.api.js"></script>
         <script src="js/app.min.js"></script>
         <script>layout.mobile = true;</script>
+        <script text="text/javascript">
+            function addWxJsSdk() {
+                //插入微信jssdk
+                var script = document.createElement("script");
+                script.type = "text/javascript";
+                script.src = "../o2_lib/wechat/jweixin-1.6.0.js";
+                document.body.appendChild(script);
+            }
+            // 根据ua判断当前环境 加载各种jssdk
+            var u = navigator.userAgent.toLocaleLowerCase();
+            // /miniProgram/i.test(u) 小程序
+            // /wxwork/i.test(u) 企业微信
+            if (/micromessenger/i.test(u)){ // 微信 企业微信 小程序
+                //微信的WeixinJSBridgeReady加载完成后进行判断
+                if (!window.WeixinJSBridge || !WeixinJSBridge.invoke) {
+                    document.addEventListener('WeixinJSBridgeReady', addWxJsSdk, false);
+                } else {
+                    addWxJsSdk();
+                }
+            }else if (/uni-app/i.test(u)) { // uniapp开发的app
+                var script = document.createElement("script");
+                script.type = "text/javascript";
+                script.src = "../o2_lib/uniapp/uni.webview.1.5.2.js";
+                document.body.appendChild(script);
+            }else if (/dingtalk/i.test(u)) { // 钉钉
+                
+            }
+        </script>
     </body>
 </html>

+ 28 - 16
o2web/source/x_desktop/cmsdocMobile.html

@@ -16,22 +16,6 @@
 
 <body style="overflow: auto; margin:0px">
 <div id="appContent" style="overflow: auto"></div>
-<script>
-    //动态添加 微信的 jssdk
-    function addWxJsSdk() {
-        var script = document.createElement("script");
-        script.type = "text/javascript";
-        script.src = "http://res.wx.qq.com/open/js/jweixin-1.6.0.js";
-        document.body.appendChild(script);
-    }
-    //微信的WeixinJSBridgeReady加载完成后进行判断
-    if (!window.WeixinJSBridge || !WeixinJSBridge.invoke) {
-        document.addEventListener('WeixinJSBridgeReady', addWxJsSdk, false);
-    } else {
-        addWxJsSdk();
-    }
-</script>
-
 <!--<script src="res/framework/htmleditor/ckeditor451/ckeditor.js"></script>-->
 <script src="../o2_core/o2.min.js"></script>
 <script src="js/base_document.min.js"></script>
@@ -39,6 +23,34 @@
 <script src="js/cmsDocMobile.min.js"></script>
 <script src="../o2_lib/Decimal.js"></script>
 <script>layout.mobile = true;</script>
+<script text="text/javascript">
+    function addWxJsSdk() {
+        //插入微信jssdk
+        var script = document.createElement("script");
+        script.type = "text/javascript";
+        script.src = "../o2_lib/wechat/jweixin-1.6.0.js";
+        document.body.appendChild(script);
+    }
+    // 根据ua判断当前环境 加载各种jssdk
+    var u = navigator.userAgent.toLocaleLowerCase();
+    // /miniProgram/i.test(u) 小程序
+    // /wxwork/i.test(u) 企业微信
+    if (/micromessenger/i.test(u)){ // 微信 企业微信 小程序
+        //微信的WeixinJSBridgeReady加载完成后进行判断
+        if (!window.WeixinJSBridge || !WeixinJSBridge.invoke) {
+            document.addEventListener('WeixinJSBridgeReady', addWxJsSdk, false);
+        } else {
+            addWxJsSdk();
+        }
+    }else if (/uni-app/i.test(u)) { // uniapp开发的app
+        var script = document.createElement("script");
+        script.type = "text/javascript";
+        script.src = "../o2_lib/uniapp/uni.webview.1.5.2.js";
+        document.body.appendChild(script);
+    }else if (/dingtalk/i.test(u)) { // 钉钉
+        
+    }
+</script>
 </body>
 
 </html>

+ 21 - 8
o2web/source/x_desktop/forumdocMobile.html

@@ -20,19 +20,32 @@
 </head>
 <body style="overflow: auto; margin:0px">
 <div id="layout" style="overflow: auto"></div>
-<script>
-    //动态添加 微信的 jssdk
+<script text="text/javascript">
     function addWxJsSdk() {
+        //插入微信jssdk
         var script = document.createElement("script");
         script.type = "text/javascript";
-        script.src = "http://res.wx.qq.com/open/js/jweixin-1.6.0.js";
+        script.src = "../o2_lib/wechat/jweixin-1.6.0.js";
         document.body.appendChild(script);
     }
-    //微信的WeixinJSBridgeReady加载完成后进行判断
-    if (!window.WeixinJSBridge || !WeixinJSBridge.invoke) {
-        document.addEventListener('WeixinJSBridgeReady', addWxJsSdk, false);
-    } else {
-        addWxJsSdk();
+    // 根据ua判断当前环境 加载各种jssdk
+    var u = navigator.userAgent.toLocaleLowerCase();
+    // /miniProgram/i.test(u) 小程序
+    // /wxwork/i.test(u) 企业微信
+    if (/micromessenger/i.test(u)){ // 微信 企业微信 小程序
+        //微信的WeixinJSBridgeReady加载完成后进行判断
+        if (!window.WeixinJSBridge || !WeixinJSBridge.invoke) {
+            document.addEventListener('WeixinJSBridgeReady', addWxJsSdk, false);
+        } else {
+            addWxJsSdk();
+        }
+    }else if (/uni-app/i.test(u)) { // uniapp开发的app
+        var script = document.createElement("script");
+        script.type = "text/javascript";
+        script.src = "../o2_lib/uniapp/uni.webview.1.5.2.js";
+        document.body.appendChild(script);
+    }else if (/dingtalk/i.test(u)) { // 钉钉
+        
     }
 </script>
 </body>

+ 28 - 0
o2web/source/x_desktop/portalmobile.html

@@ -27,5 +27,33 @@
         <script src="js/o2m.api.min.js"></script>
         <script src="js/portal.min.js"></script>
         <script>layout.mobile = true;</script>
+        <script text="text/javascript">
+            function addWxJsSdk() {
+                //插入微信jssdk
+                var script = document.createElement("script");
+                script.type = "text/javascript";
+                script.src = "../o2_lib/wechat/jweixin-1.6.0.js";
+                document.body.appendChild(script);
+            }
+            // 根据ua判断当前环境 加载各种jssdk
+            var u = navigator.userAgent.toLocaleLowerCase();
+            // /miniProgram/i.test(u) 小程序
+            // /wxwork/i.test(u) 企业微信
+            if (/micromessenger/i.test(u)){ // 微信 企业微信 小程序
+                //微信的WeixinJSBridgeReady加载完成后进行判断
+                if (!window.WeixinJSBridge || !WeixinJSBridge.invoke) {
+                    document.addEventListener('WeixinJSBridgeReady', addWxJsSdk, false);
+                } else {
+                    addWxJsSdk();
+                }
+            }else if (/uni-app/i.test(u)) { // uniapp开发的app
+                var script = document.createElement("script");
+                script.type = "text/javascript";
+                script.src = "../o2_lib/uniapp/uni.webview.1.5.2.js";
+                document.body.appendChild(script);
+            }else if (/dingtalk/i.test(u)) { // 钉钉
+                
+            }
+        </script>
     </body>
 </html>

+ 29 - 1
o2web/source/x_desktop/workmobilewithaction.html

@@ -36,7 +36,35 @@
     <script src="js/work.min.js"></script>
     <script src="../o2_lib/Decimal.js"></script>
     <script>layout.mobile = true;</script>
-    <script type="text/javascript" src="../o2_lib/wechat/jweixin-1.6.0.js"></script>
+    <script text="text/javascript">
+        function addWxJsSdk() {
+            //插入微信jssdk
+            var script = document.createElement("script");
+            script.type = "text/javascript";
+            script.src = "../o2_lib/wechat/jweixin-1.6.0.js";
+            document.body.appendChild(script);
+        }
+        // 根据ua判断当前环境 加载各种jssdk
+        var u = navigator.userAgent.toLocaleLowerCase();
+        // /miniProgram/i.test(u) 小程序
+        // /wxwork/i.test(u) 企业微信
+        if (/micromessenger/i.test(u)){ // 微信 企业微信 小程序
+            //微信的WeixinJSBridgeReady加载完成后进行判断
+            if (!window.WeixinJSBridge || !WeixinJSBridge.invoke) {
+                document.addEventListener('WeixinJSBridgeReady', addWxJsSdk, false);
+            } else {
+                addWxJsSdk();
+            }
+        }else if (/uni-app/i.test(u)) { // uniapp开发的app
+            var script = document.createElement("script");
+            script.type = "text/javascript";
+            script.src = "../o2_lib/uniapp/uni.webview.1.5.2.js";
+            document.body.appendChild(script);
+        }else if (/dingtalk/i.test(u)) { // 钉钉
+            
+        }
+    </script>
+    <!-- <script type="text/javascript" src="../o2_lib/wechat/jweixin-1.6.0.js"></script> -->
 </body>
 
 </html>

Некоторые файлы не были показаны из-за большого количества измененных файлов