From 28717fd0c77a367472736df5f59368104c2f2fe4 Mon Sep 17 00:00:00 2001 From: Pang Date: Sun, 10 Mar 2024 14:22:09 +0800 Subject: [PATCH] =?UTF-8?q?perf:=20=E4=BC=98=E5=8C=96app=E6=95=B0=E6=8D=AE?= =?UTF-8?q?=E4=BA=A4=E4=BA=92?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- resources/assets/js/App.vue | 11 +++ resources/assets/js/functions/eeui.js | 99 ++++++++++++++++++++------- resources/mobile | 2 +- 3 files changed, 85 insertions(+), 27 deletions(-) diff --git a/resources/assets/js/App.vue b/resources/assets/js/App.vue index 2870e5ddf..e615dee6f 100755 --- a/resources/assets/js/App.vue +++ b/resources/assets/js/App.vue @@ -317,6 +317,11 @@ export default { } else { this.autoTheme() } + $A.eeuiAppSendMessage({ + action: 'outerSize', + outerWidth: window.outerWidth, + outerHeight: window.outerHeight, + }); } // 新窗口打开 window.__onCreateTarget = (url) => { @@ -393,6 +398,12 @@ export default { window.__handleLink = (path) => { this.goForward({ path: (path || '').indexOf('/') !==0 ? "/" + path : path }); } + // 发送网页尺寸 + $A.eeuiAppSendMessage({ + action: 'outerSize', + outerWidth: window.outerWidth, + outerHeight: window.outerHeight, + }); // 取消长按振动 $A.eeuiAppSetHapticBackEnabled(false) // 设置语言 diff --git a/resources/assets/js/functions/eeui.js b/resources/assets/js/functions/eeui.js index 1fed64c0b..93b4a6be2 100755 --- a/resources/assets/js/functions/eeui.js +++ b/resources/assets/js/functions/eeui.js @@ -10,113 +10,160 @@ * ============================================================================= */ $.extend({ + eeuiModule(name, count = 0) { + return new Promise((resolve) => { + if (typeof requireModuleJs === "function") { + resolve(requireModuleJs(name)); + return; + } + setTimeout(() => { + if (count < 20) { + resolve(this.eeuiModuleJs(name, ++count)); + } else { + resolve(null); + } + }, 500) + }); + }, + + eeuiModuleSync(name) { + if (typeof requireModuleJs === "function") { + return requireModuleJs(name); + } + return null; + }, + eeuiAppVersion() { if (!$A.isEEUiApp) return; - return requireModuleJs("eeui").getVersion(); + return $A.eeuiModuleSync("eeui").getVersion(); }, eeuiAppLocalVersion() { if (!$A.isEEUiApp) return; - return requireModuleJs("eeui").getLocalVersion(); + return $A.eeuiModuleSync("eeui").getLocalVersion(); }, eeuiAppAlert(object, callback) { if (!$A.isEEUiApp) return; if (typeof callback !== "function") callback = _ => {}; - requireModuleJs("eeui").alert(object, callback); + $A.eeuiModule("eeui").then(obj => { + obj.alert(object, callback); + }) }, eeuiAppToast(object) { if (!$A.isEEUiApp) return; - requireModuleJs("eeui").toast(object); + $A.eeuiModule("eeui").then(obj => { + obj.toast(object); + }) }, eeuiAppRewriteUrl(val) { if (!$A.isEEUiApp) return; - return requireModuleJs("eeui").rewriteUrl(val); + return $A.eeuiModuleSync("eeui").rewriteUrl(val); }, eeuiAppOpenPage(object, callback) { if (!$A.isEEUiApp) return; if (typeof callback !== "function") callback = _ => {}; - requireModuleJs("eeui").openPage(object, callback); + $A.eeuiModule("eeui").then(obj => { + obj.openPage(object, callback); + }) }, eeuiAppOpenWeb(url) { if (!$A.isEEUiApp) return; - requireModuleJs("eeui").openWeb(url) + $A.eeuiModule("eeui").then(obj => { + obj.openWeb(url) + }) }, eeuiAppSetPageBackPressed(object, callback) { if (!$A.isEEUiApp) return; if (typeof callback !== "function") callback = _ => {}; - requireModuleJs("eeui").setPageBackPressed(object, callback); + $A.eeuiModule("eeui").then(obj => { + obj.setPageBackPressed(object, callback); + }) }, eeuiAppGoDesktop() { if (!$A.isEEUiApp) return; - requireModuleJs("eeui").goDesktop(); + $A.eeuiModule("eeui").then(obj => { + obj.goDesktop(); + }) }, eeuiAppKeepScreenOn() { if (!$A.isEEUiApp) return; - requireModuleJs("eeui").keepScreenOn(); + $A.eeuiModule("eeui").then(obj => { + obj.keepScreenOn(); + }) }, eeuiAppKeepScreenOff() { if (!$A.isEEUiApp) return; - requireModuleJs("eeui").keepScreenOff(); + $A.eeuiModule("eeui").then(obj => { + obj.keepScreenOff(); + }) }, eeuiAppKeyboardHide() { if (!$A.isEEUiApp) return; - requireModuleJs("eeui").keyboardHide(); + $A.eeuiModule("eeui").then(obj => { + obj.keyboardHide(); + }) }, eeuiAppSendMessage(object) { if (!$A.isEEUiApp) return; - requireModuleJs("webview").sendMessage(object); + $A.eeuiModule("webview").then(obj => { + obj.sendMessage(object); + }) }, eeuiAppSetUrl(url) { if (!$A.isEEUiApp) return; - requireModuleJs("webview").setUrl(url); + $A.eeuiModule("webview").then(obj => { + obj.setUrl(url); + }) }, eeuiAppScan(callback) { if (!$A.isEEUiApp) return; - requireModuleJs("eeui").openScaner({}, (res)=>{ - switch (res.status) { - case "success": - callback(res.text); - break; - } - }); + $A.eeuiModule("eeui").then(obj => { + obj.openScaner({}, (res) => { + switch (res.status) { + case "success": + callback(res.text); + break; + } + }); + }) }, eeuiAppGetThemeName() { if (!$A.isEEUiApp) return; - return requireModuleJs("eeui").getThemeName(); + return $A.eeuiModuleSync("eeui").getThemeName(); }, eeuiAppKeyboardStatus() { if (!$A.isEEUiApp) return; - return requireModuleJs("eeui").keyboardStatus(); + return $A.eeuiModuleSync("eeui").keyboardStatus(); }, eeuiAppSetVariate(key, value) { if (!$A.isEEUiApp) return; - return requireModuleJs("eeui").setVariate(key, value); + return $A.eeuiModuleSync("eeui").setVariate(key, value); }, eeuiAppSetHapticBackEnabled(val) { if (!$A.isEEUiApp) return; - return requireModuleJs("webview").setHapticBackEnabled(val); + return $A.eeuiModuleSync("webview").setHapticBackEnabled(val); }, eeuiAppSetDisabledUserLongClickSelect(val) { if (!$A.isEEUiApp) return; - return requireModuleJs("webview").setDisabledUserLongClickSelect(val); + return $A.eeuiModuleSync("webview").setDisabledUserLongClickSelect(val); }, }); diff --git a/resources/mobile b/resources/mobile index 522a3d445..e02b6760c 160000 --- a/resources/mobile +++ b/resources/mobile @@ -1 +1 @@ -Subproject commit 522a3d445083659f72494bb38c665f70a819c830 +Subproject commit e02b6760cf3db26c77fb2b8db16446be5feef638