feat:app嵌套h5返回键

This commit is contained in:
LHY\18810
2025-03-16 12:10:53 +08:00
parent 4952201e77
commit a93505af74
4 changed files with 9 additions and 21 deletions

View File

@@ -4,14 +4,14 @@ import { onMounted } from 'vue';
import appBridge from '@/assets/js/appBridge'; import appBridge from '@/assets/js/appBridge';
import utils from '@/assets/js/common'; import utils from '@/assets/js/common';
onMounted(async() => { onMounted(async () => {
if (utils.getParameter('digitalYiliToken')) { if (utils.getParameter('digitalYiliToken')) {
// 隐藏/显示 header // 隐藏/显示 header
appBridge.setHeaderShown(false); appBridge.setHeaderShown(false);
// 设置系统状态栏明暗主题 // 设置系统状态栏明暗主题
appBridge.setStatusBarStyle('light'); appBridge.setStatusBarStyle('light');
// 设置禁止原生返回 // 设置禁止原生返回
appBridge.takeOverAndroidBack(); // appBridge.takeOverAndroidBack();
} }
}); });
</script> </script>

View File

@@ -1,6 +1,6 @@
.van-nav-bar { .van-nav-bar {
padding-top: var(--status-bar-height) !important; padding-top: calc(var(--status-bar-height) + 10px) !important;
height: calc(60px + var(--status-bar-height)) !important; // height: calc(46px + var(--status-bar-height)) !important;
} }
.van-cell { .van-cell {
padding: 8px !important; padding: 8px !important;

View File

@@ -140,22 +140,9 @@ export default {
* @returns {Boolean} 操作是否成功 * @returns {Boolean} 操作是否成功
*/ */
takeOverAndroidBack() { takeOverAndroidBack() {
if (!this.isInReactNative()) { return this.postMessage({
return false; type: 'takeOverAndroidBack'
} });
try {
window.ReactNativeWebView.postMessage(
JSON.stringify({
type: 'takeOverAndroidBack',
data: {
enabled: true
}
})
);
return true;
} catch (error) {
return false;
}
}, },
/** /**
@@ -328,6 +315,7 @@ export default {
if (canGoBack) { if (canGoBack) {
router.go(-1); router.go(-1);
} else { } else {
this.takeOverAndroidBack();
this.navigateBack(); this.navigateBack();
} }
} }

View File

@@ -33,7 +33,7 @@ router.beforeEach((to, from, next) => {
if (to.query.digitalYiliToken) { if (to.query.digitalYiliToken) {
utils.setSessionStorage('xToken', to.query.digitalYiliToken); utils.setSessionStorage('xToken', to.query.digitalYiliToken);
} }
appBridge.setTitle(to.meta.title as string); // appBridge.setTitle(to.meta.title as string);
// 添加 Android 返回按钮监听方法 // 添加 Android 返回按钮监听方法
window.onAndroidBack = () => { window.onAndroidBack = () => {
if (routerCanGoBack()) { if (routerCanGoBack()) {