浏览代码

:art: https://github.com/siyuan-note/siyuan/issues/3716

Vanessa 2 年之前
父节点
当前提交
9a834d0464
共有 3 个文件被更改,包括 14 次插入5 次删除
  1. 10 0
      app/src/mobile/index.ts
  2. 2 5
      app/src/mobile/util/initFramework.ts
  3. 2 0
      app/src/types/index.d.ts

+ 10 - 0
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
+}

+ 2 - 5
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");

+ 2 - 0
app/src/types/index.d.ts

@@ -50,6 +50,8 @@ interface Window {
     showKeyboardToolbar(bottom?: number): void
 
     hideKeyboardToolbar(): void
+
+    openFileByURL(URL: string): boolean
 }
 
 interface IWorkspace {