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 {
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)
//

View File

@ -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);
},
});

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