From 9a834d0464dec51632ce02b0713c19e710b9c85b Mon Sep 17 00:00:00 2001 From: Vanessa Date: Sun, 22 Jan 2023 17:34:16 +0800 Subject: [PATCH] :art: https://github.com/siyuan-note/siyuan/issues/3716 --- app/src/mobile/index.ts | 10 ++++++++++ app/src/mobile/util/initFramework.ts | 7 ++----- app/src/types/index.d.ts | 2 ++ 3 files changed, 14 insertions(+), 5 deletions(-) diff --git a/app/src/mobile/index.ts b/app/src/mobile/index.ts index 8b113f497..76df5c4af 100644 --- a/app/src/mobile/index.ts +++ b/app/src/mobile/index.ts @@ -17,6 +17,8 @@ import {initMessage} from "../dialog/message"; import {goBack} from "./util/MobileBackFoward"; import {hideKeyboardToolbar, showKeyboardToolbar} from "./util/showKeyboardToolbar"; import {getLocalStorage} from "../protyle/util/compatibility"; +import {openMobileFileById} from "./editor"; +import {getSearch} from "../util/functions"; class App { constructor() { @@ -82,3 +84,11 @@ new App(); window.goBack = goBack; window.showKeyboardToolbar = showKeyboardToolbar; window.hideKeyboardToolbar = hideKeyboardToolbar; +window.openFileByURL = (openURL) => { + if (openURL && !/^siyuan:\/\/blocks\/\d{14}-\w{7}/.test(openURL)) { + openMobileFileById(openURL.substr(16, 22), + getSearch("focus", openURL) === "1" ? [Constants.CB_GET_ALL, Constants.CB_GET_FOCUS] : [Constants.CB_GET_FOCUS, Constants.CB_GET_CONTEXT]); + return true + } + return false +} diff --git a/app/src/mobile/util/initFramework.ts b/app/src/mobile/util/initFramework.ts index 4db52addd..dfcf989f8 100644 --- a/app/src/mobile/util/initFramework.ts +++ b/app/src/mobile/util/initFramework.ts @@ -138,11 +138,8 @@ export const initFramework = () => { }); if (getOpenNotebookCount() > 0) { if (window.JSAndroid) { - const openURL = window.JSAndroid.getBlockURL(); - if (openURL && !/^siyuan:\/\/blocks\/\d{14}-\w{7}/.test(openURL)) { - openMobileFileById(openURL.substr(16, 22), - getSearch("focus", openURL) === "1" ? [Constants.CB_GET_ALL, Constants.CB_GET_FOCUS] : [Constants.CB_GET_FOCUS, Constants.CB_GET_CONTEXT]); - return; + if (window.openFileByURL(window.JSAndroid.getBlockURL())) { + return; } } const openId = getSearch("id"); diff --git a/app/src/types/index.d.ts b/app/src/types/index.d.ts index c2b72c958..1e8aae4e7 100644 --- a/app/src/types/index.d.ts +++ b/app/src/types/index.d.ts @@ -50,6 +50,8 @@ interface Window { showKeyboardToolbar(bottom?: number): void hideKeyboardToolbar(): void + + openFileByURL(URL: string): boolean } interface IWorkspace {