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();
+ }
+ });
+};