diff --git a/src/App.vue b/src/App.vue index d56d359..aee81b0 100644 --- a/src/App.vue +++ b/src/App.vue @@ -1,18 +1,23 @@ - diff --git a/src/components/AndroidBackHandler.vue b/src/components/AndroidBackHandler.vue deleted file mode 100644 index d94f264..0000000 --- a/src/components/AndroidBackHandler.vue +++ /dev/null @@ -1,58 +0,0 @@ - - - diff --git a/src/layouts/index.vue b/src/layouts/index.vue index f9f3e98..67aa4d6 100644 --- a/src/layouts/index.vue +++ b/src/layouts/index.vue @@ -2,7 +2,7 @@
- +
diff --git a/src/main.ts b/src/main.ts index 7eaa5e4..8fc5e0d 100644 --- a/src/main.ts +++ b/src/main.ts @@ -23,19 +23,26 @@ declare global { appBridge?: any; } } -// 隐藏/显示 header -appBridge.setHeaderShown(true); -// 设置系统状态栏明暗主题 -appBridge.setStatusBarStyle('light'); +// 定义路由是否可以返回的判断 +const routerCanGoBack = () => { + const position = router.options.history.state?.position; + return typeof position === 'number' && position > 0; +}; router.beforeEach((to, from, next) => { if (to.query.digitalYiliToken) { utils.setSessionStorage('xToken', to.query.digitalYiliToken); } - // 设置 header 标题 appBridge.setTitle(to.meta.title as string); + // 添加 Android 返回按钮监听方法 + window.onAndroidBack = () => { + if (routerCanGoBack()) { + router.go(-1); + } else { + appBridge.navigateBack(); + } + }; next(); }); - app.use(createPinia()); app.use(router); -app.mount('#app'); +app.mount('#app'); \ No newline at end of file