Merge remote-tracking branch 'origin/dev' into dev

This commit is contained in:
Vanessa 2024-09-26 17:02:05 +08:00
commit 0cec4b4f7a
3 changed files with 54 additions and 10 deletions

View file

@ -9,6 +9,8 @@ import {showMessage} from "../dialog/message";
import {showFileInFolder} 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 = {
element: undefined as Element,
@ -234,7 +236,18 @@ export const exportConfig = {
item.addEventListener("change", (event: InputEvent & { target: HTMLInputElement }) => {
const formData = new FormData();
formData.append("file", event.target.files[0]);
fetchPost("/api/system/importConf", formData);
fetchPost("/api/system/importConf", formData, response => {
if (response.code !== 0) {
showMessage(response.msg);
return
}
showMessage(window.siyuan.languages.imported);
exportLayout({
errorExit: true,
cb: exitSiYuan
});
});
});
} else {
item.addEventListener("change", () => {

View file

@ -70,15 +70,15 @@ func importSyncProviderWebDAV(c *gin.Context) {
return
}
tmpDir := filepath.Join(util.TempDir, "import")
if err = os.MkdirAll(tmpDir, 0755); err != nil {
importDir := filepath.Join(util.TempDir, "import")
if err = os.MkdirAll(importDir, 0755); err != nil {
logging.LogErrorf("import WebDAV provider failed: %s", err)
ret.Code = -1
ret.Msg = err.Error()
return
}
tmp := filepath.Join(tmpDir, f.Filename)
tmp := filepath.Join(importDir, f.Filename)
if err = os.WriteFile(tmp, data, 0644); err != nil {
logging.LogErrorf("import WebDAV provider failed: %s", err)
ret.Code = -1
@ -86,6 +86,7 @@ func importSyncProviderWebDAV(c *gin.Context) {
return
}
tmpDir := filepath.Join(importDir, "webdav")
if err = gulu.Zip.Unzip(tmp, tmpDir); err != nil {
logging.LogErrorf("import WebDAV provider failed: %s", err)
ret.Code = -1
@ -93,7 +94,22 @@ func importSyncProviderWebDAV(c *gin.Context) {
return
}
tmp = filepath.Join(tmpDir, f.Filename[:len(f.Filename)-4])
entries, err := os.ReadDir(tmpDir)
if err != nil {
logging.LogErrorf("import WebDAV provider failed: %s", err)
ret.Code = -1
ret.Msg = err.Error()
return
}
if 1 != len(entries) {
logging.LogErrorf("invalid WebDAV provider package")
ret.Code = -1
ret.Msg = "invalid WebDAV provider package"
return
}
tmp = filepath.Join(tmpDir, entries[0].Name())
data, err = os.ReadFile(tmp)
if err != nil {
logging.LogErrorf("import WebDAV provider failed: %s", err)

View file

@ -346,15 +346,15 @@ func importConf(c *gin.Context) {
return
}
tmpDir := filepath.Join(util.TempDir, "import")
if err = os.MkdirAll(tmpDir, 0755); err != nil {
importDir := filepath.Join(util.TempDir, "import")
if err = os.MkdirAll(importDir, 0755); err != nil {
logging.LogErrorf("import conf failed: %s", err)
ret.Code = -1
ret.Msg = err.Error()
return
}
tmp := filepath.Join(tmpDir, f.Filename)
tmp := filepath.Join(importDir, f.Filename)
if err = os.WriteFile(tmp, data, 0644); err != nil {
logging.LogErrorf("import conf failed: %s", err)
ret.Code = -1
@ -362,6 +362,7 @@ func importConf(c *gin.Context) {
return
}
tmpDir := filepath.Join(importDir, "conf")
if err = gulu.Zip.Unzip(tmp, tmpDir); err != nil {
logging.LogErrorf("import conf failed: %s", err)
ret.Code = -1
@ -369,7 +370,22 @@ func importConf(c *gin.Context) {
return
}
tmp = filepath.Join(tmpDir, f.Filename[:len(f.Filename)-4])
entries, err := os.ReadDir(tmpDir)
if err != nil {
logging.LogErrorf("import conf failed: %s", err)
ret.Code = -1
ret.Msg = err.Error()
return
}
if 1 != len(entries) {
logging.LogErrorf("invalid conf package")
ret.Code = -1
ret.Msg = "invalid conf package"
return
}
tmp = filepath.Join(tmpDir, entries[0].Name())
data, err = os.ReadFile(tmp)
if err != nil {
logging.LogErrorf("import conf failed: %s", err)
@ -394,7 +410,6 @@ func importConf(c *gin.Context) {
}
logging.LogInfof("imported conf")
model.Close(false, true, 1)
}
func getConf(c *gin.Context) {