perf: 优化app数据交互

This commit is contained in:
Pang 2024-03-10 14:22:09 +08:00
parent 7014ea176a
commit 28717fd0c7
3 changed files with 85 additions and 27 deletions

View File

@ -317,6 +317,11 @@ export default {
} else { } else {
this.autoTheme() this.autoTheme()
} }
$A.eeuiAppSendMessage({
action: 'outerSize',
outerWidth: window.outerWidth,
outerHeight: window.outerHeight,
});
} }
// //
window.__onCreateTarget = (url) => { window.__onCreateTarget = (url) => {
@ -393,6 +398,12 @@ export default {
window.__handleLink = (path) => { window.__handleLink = (path) => {
this.goForward({ path: (path || '').indexOf('/') !==0 ? "/" + path : path }); this.goForward({ path: (path || '').indexOf('/') !==0 ? "/" + path : path });
} }
//
$A.eeuiAppSendMessage({
action: 'outerSize',
outerWidth: window.outerWidth,
outerHeight: window.outerHeight,
});
// //
$A.eeuiAppSetHapticBackEnabled(false) $A.eeuiAppSetHapticBackEnabled(false)
// //

View File

@ -10,113 +10,160 @@
* ============================================================================= * =============================================================================
*/ */
$.extend({ $.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() { eeuiAppVersion() {
if (!$A.isEEUiApp) return; if (!$A.isEEUiApp) return;
return requireModuleJs("eeui").getVersion(); return $A.eeuiModuleSync("eeui").getVersion();
}, },
eeuiAppLocalVersion() { eeuiAppLocalVersion() {
if (!$A.isEEUiApp) return; if (!$A.isEEUiApp) return;
return requireModuleJs("eeui").getLocalVersion(); return $A.eeuiModuleSync("eeui").getLocalVersion();
}, },
eeuiAppAlert(object, callback) { eeuiAppAlert(object, callback) {
if (!$A.isEEUiApp) return; if (!$A.isEEUiApp) return;
if (typeof callback !== "function") callback = _ => {}; if (typeof callback !== "function") callback = _ => {};
requireModuleJs("eeui").alert(object, callback); $A.eeuiModule("eeui").then(obj => {
obj.alert(object, callback);
})
}, },
eeuiAppToast(object) { eeuiAppToast(object) {
if (!$A.isEEUiApp) return; if (!$A.isEEUiApp) return;
requireModuleJs("eeui").toast(object); $A.eeuiModule("eeui").then(obj => {
obj.toast(object);
})
}, },
eeuiAppRewriteUrl(val) { eeuiAppRewriteUrl(val) {
if (!$A.isEEUiApp) return; if (!$A.isEEUiApp) return;
return requireModuleJs("eeui").rewriteUrl(val); return $A.eeuiModuleSync("eeui").rewriteUrl(val);
}, },
eeuiAppOpenPage(object, callback) { eeuiAppOpenPage(object, callback) {
if (!$A.isEEUiApp) return; if (!$A.isEEUiApp) return;
if (typeof callback !== "function") callback = _ => {}; if (typeof callback !== "function") callback = _ => {};
requireModuleJs("eeui").openPage(object, callback); $A.eeuiModule("eeui").then(obj => {
obj.openPage(object, callback);
})
}, },
eeuiAppOpenWeb(url) { eeuiAppOpenWeb(url) {
if (!$A.isEEUiApp) return; if (!$A.isEEUiApp) return;
requireModuleJs("eeui").openWeb(url) $A.eeuiModule("eeui").then(obj => {
obj.openWeb(url)
})
}, },
eeuiAppSetPageBackPressed(object, callback) { eeuiAppSetPageBackPressed(object, callback) {
if (!$A.isEEUiApp) return; if (!$A.isEEUiApp) return;
if (typeof callback !== "function") callback = _ => {}; if (typeof callback !== "function") callback = _ => {};
requireModuleJs("eeui").setPageBackPressed(object, callback); $A.eeuiModule("eeui").then(obj => {
obj.setPageBackPressed(object, callback);
})
}, },
eeuiAppGoDesktop() { eeuiAppGoDesktop() {
if (!$A.isEEUiApp) return; if (!$A.isEEUiApp) return;
requireModuleJs("eeui").goDesktop(); $A.eeuiModule("eeui").then(obj => {
obj.goDesktop();
})
}, },
eeuiAppKeepScreenOn() { eeuiAppKeepScreenOn() {
if (!$A.isEEUiApp) return; if (!$A.isEEUiApp) return;
requireModuleJs("eeui").keepScreenOn(); $A.eeuiModule("eeui").then(obj => {
obj.keepScreenOn();
})
}, },
eeuiAppKeepScreenOff() { eeuiAppKeepScreenOff() {
if (!$A.isEEUiApp) return; if (!$A.isEEUiApp) return;
requireModuleJs("eeui").keepScreenOff(); $A.eeuiModule("eeui").then(obj => {
obj.keepScreenOff();
})
}, },
eeuiAppKeyboardHide() { eeuiAppKeyboardHide() {
if (!$A.isEEUiApp) return; if (!$A.isEEUiApp) return;
requireModuleJs("eeui").keyboardHide(); $A.eeuiModule("eeui").then(obj => {
obj.keyboardHide();
})
}, },
eeuiAppSendMessage(object) { eeuiAppSendMessage(object) {
if (!$A.isEEUiApp) return; if (!$A.isEEUiApp) return;
requireModuleJs("webview").sendMessage(object); $A.eeuiModule("webview").then(obj => {
obj.sendMessage(object);
})
}, },
eeuiAppSetUrl(url) { eeuiAppSetUrl(url) {
if (!$A.isEEUiApp) return; if (!$A.isEEUiApp) return;
requireModuleJs("webview").setUrl(url); $A.eeuiModule("webview").then(obj => {
obj.setUrl(url);
})
}, },
eeuiAppScan(callback) { eeuiAppScan(callback) {
if (!$A.isEEUiApp) return; if (!$A.isEEUiApp) return;
requireModuleJs("eeui").openScaner({}, (res)=>{ $A.eeuiModule("eeui").then(obj => {
switch (res.status) { obj.openScaner({}, (res) => {
case "success": switch (res.status) {
callback(res.text); case "success":
break; callback(res.text);
} break;
}); }
});
})
}, },
eeuiAppGetThemeName() { eeuiAppGetThemeName() {
if (!$A.isEEUiApp) return; if (!$A.isEEUiApp) return;
return requireModuleJs("eeui").getThemeName(); return $A.eeuiModuleSync("eeui").getThemeName();
}, },
eeuiAppKeyboardStatus() { eeuiAppKeyboardStatus() {
if (!$A.isEEUiApp) return; if (!$A.isEEUiApp) return;
return requireModuleJs("eeui").keyboardStatus(); return $A.eeuiModuleSync("eeui").keyboardStatus();
}, },
eeuiAppSetVariate(key, value) { eeuiAppSetVariate(key, value) {
if (!$A.isEEUiApp) return; if (!$A.isEEUiApp) return;
return requireModuleJs("eeui").setVariate(key, value); return $A.eeuiModuleSync("eeui").setVariate(key, value);
}, },
eeuiAppSetHapticBackEnabled(val) { eeuiAppSetHapticBackEnabled(val) {
if (!$A.isEEUiApp) return; if (!$A.isEEUiApp) return;
return requireModuleJs("webview").setHapticBackEnabled(val); return $A.eeuiModuleSync("webview").setHapticBackEnabled(val);
}, },
eeuiAppSetDisabledUserLongClickSelect(val) { eeuiAppSetDisabledUserLongClickSelect(val) {
if (!$A.isEEUiApp) return; if (!$A.isEEUiApp) return;
return requireModuleJs("webview").setDisabledUserLongClickSelect(val); return $A.eeuiModuleSync("webview").setDisabledUserLongClickSelect(val);
}, },
}); });

@ -1 +1 @@
Subproject commit 522a3d445083659f72494bb38c665f70a819c830 Subproject commit e02b6760cf3db26c77fb2b8db16446be5feef638