From 7fd92c21d359e973ecf2749d3db765a2a33962c6 Mon Sep 17 00:00:00 2001 From: Vanessa Date: Sat, 31 Jan 2026 20:00:59 +0800 Subject: [PATCH] :art: https://github.com/siyuan-note/siyuan/issues/14757 --- app/src/config/exportConfig.ts | 6 ++- app/src/mobile/menu/index.ts | 9 ++++ app/src/mobile/settings/about.ts | 73 ------------------------------- app/src/mobile/settings/export.ts | 14 ++++++ 4 files changed, 28 insertions(+), 74 deletions(-) create mode 100644 app/src/mobile/settings/export.ts diff --git a/app/src/config/exportConfig.ts b/app/src/config/exportConfig.ts index f76ce993f..58e2afcde 100644 --- a/app/src/config/exportConfig.ts +++ b/app/src/config/exportConfig.ts @@ -3,13 +3,13 @@ import {fetchPost} from "../util/fetch"; import {afterExport} from "../protyle/export/util"; import {ipcRenderer} from "electron"; import * as path from "path"; +import {exportLayout} from "../layout/util"; /// #endif import {isBrowser} from "../util/functions"; import {showMessage} from "../dialog/message"; import {useShell} from "../util/pathName"; import {Constants} from "../constants"; import {openByMobile} from "../protyle/util/compatibility"; -import {exportLayout} from "../layout/util"; import {exitSiYuan} from "../dialog/processSystem"; export const exportConfig = { @@ -277,10 +277,14 @@ export const exportConfig = { } showMessage(window.siyuan.languages.imported); + /// #if MOBILE + exitSiYuan(); + /// #else exportLayout({ errorExit: true, cb: exitSiYuan }); + /// #endif }); }); } else { diff --git a/app/src/mobile/menu/index.ts b/app/src/mobile/menu/index.ts index 713f01607..0f832d09c 100644 --- a/app/src/mobile/menu/index.ts +++ b/app/src/mobile/menu/index.ts @@ -31,6 +31,7 @@ import {afterLoadPlugin} from "../../plugin/loader"; import {commandPanel} from "../../boot/globalEvent/command/panel"; import {openTopBarMenu} from "../../plugin/openTopBarMenu"; import {initFileTree} from "../settings/fileTree"; +import {initExport} from "../settings/export"; export const popMenu = () => { activeBlur(); @@ -115,6 +116,9 @@ export const initRightMenu = (app: App) => { + @@ -178,6 +182,11 @@ export const initRightMenu = (app: App) => { event.preventDefault(); event.stopPropagation(); break; + } else if (target.id === "menuExport") { + initExport(); + event.preventDefault(); + event.stopPropagation(); + break; } else if (target.id === "menuAI") { initAI(); event.preventDefault(); diff --git a/app/src/mobile/settings/about.ts b/app/src/mobile/settings/about.ts index b88e96637..eea14d7f4 100644 --- a/app/src/mobile/settings/about.ts +++ b/app/src/mobile/settings/about.ts @@ -163,44 +163,6 @@ export const initAbout = () => {
${window.siyuan.languages.systemLogTip}
-
- ${window.siyuan.languages.export} Data -
- -
${window.siyuan.languages.exportDataTip}
-
-
-
- ${window.siyuan.languages.import} Data -
-
- -
${window.siyuan.languages.importDataTip}
-
-
- ${window.siyuan.languages.exportConf} -
- -
${window.siyuan.languages.exportConfTip}
-
-
-
- ${window.siyuan.languages.importConf} -
-
- -
${window.siyuan.languages.importConfTip}
-
${window.siyuan.languages.workspaceList}
@@ -330,20 +292,6 @@ export const initAbout = () => { event.preventDefault(); event.stopPropagation(); break; - } else if (target.id === "exportData") { - fetchPost("/api/export/exportData", {}, response => { - openByMobile(response.data.zip); - }); - event.preventDefault(); - event.stopPropagation(); - break; - } else if (target.id === "exportConf") { - fetchPost("/api/system/exportConf", {}, response => { - openByMobile(response.data.zip); - }); - event.preventDefault(); - event.stopPropagation(); - break; } else if (target.id === "vacuumDataIndex") { fetchPost("/api/system/vacuumDataIndex", {}, () => { }); @@ -465,27 +413,6 @@ export const initAbout = () => { target = target.parentElement; } }); - modelMainElement.querySelector("#importData").addEventListener("change", (event: InputEvent & { - target: HTMLInputElement - }) => { - const formData = new FormData(); - formData.append("file", event.target.files[0]); - fetchPost("/api/import/importData", formData); - }); - modelMainElement.querySelector("#importConf").addEventListener("change", (event: InputEvent & { - target: HTMLInputElement - }) => { - const formData = new FormData(); - formData.append("file", event.target.files[0]); - fetchPost("/api/system/importConf", formData, (response) => { - if (response.code !== 0) { - showMessage(response.msg); - return; - } - - exitSiYuan(); - }); - }); const networkServeElement = modelMainElement.querySelector("#networkServe") as HTMLInputElement; const networkServeTLSElement = modelMainElement.querySelector("#networkServeTLS") as HTMLInputElement; const networkServeContainElement = hasClosestByClassName(networkServeElement, "b3-label") as HTMLElement; diff --git a/app/src/mobile/settings/export.ts b/app/src/mobile/settings/export.ts new file mode 100644 index 000000000..68a3a1ae7 --- /dev/null +++ b/app/src/mobile/settings/export.ts @@ -0,0 +1,14 @@ +import {openModel} from "../menu/model"; +import {exportConfig} from "../../config/exportConfig"; + +export const initExport = () => { + openModel({ + title: window.siyuan.languages.export, + icon: "iconUpload", + html: `
${exportConfig.genHTML()}
`, + bindEvent(modelMainElement: HTMLElement) { + exportConfig.element = modelMainElement.firstElementChild; + exportConfig.bindEvent(); + } + }); +};