mirror of
https://github.com/siyuan-note/siyuan.git
synced 2025-12-22 09:30:14 +01:00
This commit is contained in:
parent
853ba5be3a
commit
e007324aa6
2 changed files with 79 additions and 68 deletions
|
|
@ -47,6 +47,9 @@ class App {
|
||||||
case"progress":
|
case"progress":
|
||||||
progressLoading(data);
|
progressLoading(data);
|
||||||
break;
|
break;
|
||||||
|
case"setLocalStorage":
|
||||||
|
setLocalStorage(data);
|
||||||
|
break;
|
||||||
case "rename":
|
case "rename":
|
||||||
getAllTabs().forEach((tab) => {
|
getAllTabs().forEach((tab) => {
|
||||||
if (tab.headElement) {
|
if (tab.headElement) {
|
||||||
|
|
|
||||||
|
|
@ -139,78 +139,86 @@ export const hotKey2Electron = (key: string) => {
|
||||||
return electronKey + key.substr(key.length - 1);
|
return electronKey + key.substr(key.length - 1);
|
||||||
};
|
};
|
||||||
|
|
||||||
export const setLocalStorage = () => {
|
export const setLocalStorage = (data?: IWebSocketData) => {
|
||||||
fetchPost("/api/storage/getLocalStorage", undefined, (response) => {
|
if (data) {
|
||||||
window.siyuan.storage = response.data;
|
setDefaultStorage(data)
|
||||||
// 历史数据迁移
|
} else {
|
||||||
const defaultStorage: any = {};
|
fetchPost("/api/storage/getLocalStorage", undefined, (response) => {
|
||||||
defaultStorage[Constants.LOCAL_SEARCHEKEYS] = {
|
setDefaultStorage(response)
|
||||||
keys: [],
|
});
|
||||||
replaceKeys: [],
|
}
|
||||||
col: "",
|
|
||||||
row: "",
|
|
||||||
layout: 0
|
|
||||||
};
|
|
||||||
defaultStorage[Constants.LOCAL_PDFTHEME] = {light: "light", dark: "dark"};
|
|
||||||
defaultStorage[Constants.LOCAL_BAZAAR] = {
|
|
||||||
theme: "0",
|
|
||||||
template: "0",
|
|
||||||
icon: "0",
|
|
||||||
widget: "0",
|
|
||||||
};
|
|
||||||
defaultStorage[Constants.LOCAL_EXPORTWORD] = {removeAssets: false, mergeSubdocs: false};
|
|
||||||
defaultStorage[Constants.LOCAL_EXPORTPDF] = {
|
|
||||||
landscape: false,
|
|
||||||
marginType: "0",
|
|
||||||
scale: 1,
|
|
||||||
pageSize: "A4",
|
|
||||||
removeAssets: true,
|
|
||||||
keepFold: false,
|
|
||||||
mergeSubdocs: false,
|
|
||||||
};
|
|
||||||
defaultStorage[Constants.LOCAL_DOCINFO] = {
|
|
||||||
id: "",
|
|
||||||
action: []
|
|
||||||
};
|
|
||||||
defaultStorage[Constants.LOCAL_FONTSTYLES] = [];
|
|
||||||
defaultStorage[Constants.LOCAL_SEARCHEDATA] = {
|
|
||||||
sort: 0,
|
|
||||||
group: 0,
|
|
||||||
hasReplace: false,
|
|
||||||
method: 0,
|
|
||||||
hPath: "",
|
|
||||||
idPath: [],
|
|
||||||
k: "",
|
|
||||||
r: "",
|
|
||||||
types: {
|
|
||||||
document: window.siyuan.config.search.document,
|
|
||||||
heading: window.siyuan.config.search.heading,
|
|
||||||
list: window.siyuan.config.search.list,
|
|
||||||
listItem: window.siyuan.config.search.listItem,
|
|
||||||
codeBlock: window.siyuan.config.search.codeBlock,
|
|
||||||
htmlBlock: window.siyuan.config.search.htmlBlock,
|
|
||||||
mathBlock: window.siyuan.config.search.mathBlock,
|
|
||||||
table: window.siyuan.config.search.table,
|
|
||||||
blockquote: window.siyuan.config.search.blockquote,
|
|
||||||
superBlock: window.siyuan.config.search.superBlock,
|
|
||||||
paragraph: window.siyuan.config.search.paragraph,
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
[Constants.LOCAL_SEARCHEKEYS, Constants.LOCAL_PDFTHEME, Constants.LOCAL_BAZAAR, Constants.LOCAL_EXPORTWORD,
|
};
|
||||||
Constants.LOCAL_EXPORTPDF, Constants.LOCAL_DOCINFO, Constants.LOCAL_FONTSTYLES, Constants.LOCAL_SEARCHEDATA].forEach((key) => {
|
const setDefaultStorage = (response: IWebSocketData) => {
|
||||||
if (typeof response.data[key] === "string") {
|
window.siyuan.storage = response.data;
|
||||||
try {
|
// 历史数据迁移
|
||||||
window.siyuan.storage[key] = Object.assign(defaultStorage[key], JSON.parse(response.data[key]));
|
const defaultStorage: any = {};
|
||||||
} catch (e) {
|
defaultStorage[Constants.LOCAL_SEARCHEKEYS] = {
|
||||||
window.siyuan.storage[key] = defaultStorage[key];
|
keys: [],
|
||||||
}
|
replaceKeys: [],
|
||||||
} else if (typeof response.data[key] === "undefined") {
|
col: "",
|
||||||
|
row: "",
|
||||||
|
layout: 0
|
||||||
|
};
|
||||||
|
defaultStorage[Constants.LOCAL_PDFTHEME] = {light: "light", dark: "dark"};
|
||||||
|
defaultStorage[Constants.LOCAL_BAZAAR] = {
|
||||||
|
theme: "0",
|
||||||
|
template: "0",
|
||||||
|
icon: "0",
|
||||||
|
widget: "0",
|
||||||
|
};
|
||||||
|
defaultStorage[Constants.LOCAL_EXPORTWORD] = {removeAssets: false, mergeSubdocs: false};
|
||||||
|
defaultStorage[Constants.LOCAL_EXPORTPDF] = {
|
||||||
|
landscape: false,
|
||||||
|
marginType: "0",
|
||||||
|
scale: 1,
|
||||||
|
pageSize: "A4",
|
||||||
|
removeAssets: true,
|
||||||
|
keepFold: false,
|
||||||
|
mergeSubdocs: false,
|
||||||
|
};
|
||||||
|
defaultStorage[Constants.LOCAL_DOCINFO] = {
|
||||||
|
id: "",
|
||||||
|
action: []
|
||||||
|
};
|
||||||
|
defaultStorage[Constants.LOCAL_FONTSTYLES] = [];
|
||||||
|
defaultStorage[Constants.LOCAL_SEARCHEDATA] = {
|
||||||
|
sort: 0,
|
||||||
|
group: 0,
|
||||||
|
hasReplace: false,
|
||||||
|
method: 0,
|
||||||
|
hPath: "",
|
||||||
|
idPath: [],
|
||||||
|
k: "",
|
||||||
|
r: "",
|
||||||
|
types: {
|
||||||
|
document: window.siyuan.config.search.document,
|
||||||
|
heading: window.siyuan.config.search.heading,
|
||||||
|
list: window.siyuan.config.search.list,
|
||||||
|
listItem: window.siyuan.config.search.listItem,
|
||||||
|
codeBlock: window.siyuan.config.search.codeBlock,
|
||||||
|
htmlBlock: window.siyuan.config.search.htmlBlock,
|
||||||
|
mathBlock: window.siyuan.config.search.mathBlock,
|
||||||
|
table: window.siyuan.config.search.table,
|
||||||
|
blockquote: window.siyuan.config.search.blockquote,
|
||||||
|
superBlock: window.siyuan.config.search.superBlock,
|
||||||
|
paragraph: window.siyuan.config.search.paragraph,
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
[Constants.LOCAL_SEARCHEKEYS, Constants.LOCAL_PDFTHEME, Constants.LOCAL_BAZAAR, Constants.LOCAL_EXPORTWORD,
|
||||||
|
Constants.LOCAL_EXPORTPDF, Constants.LOCAL_DOCINFO, Constants.LOCAL_FONTSTYLES, Constants.LOCAL_SEARCHEDATA].forEach((key) => {
|
||||||
|
if (typeof response.data[key] === "string") {
|
||||||
|
try {
|
||||||
|
window.siyuan.storage[key] = Object.assign(defaultStorage[key], JSON.parse(response.data[key]));
|
||||||
|
} catch (e) {
|
||||||
window.siyuan.storage[key] = defaultStorage[key];
|
window.siyuan.storage[key] = defaultStorage[key];
|
||||||
}
|
}
|
||||||
});
|
} else if (typeof response.data[key] === "undefined") {
|
||||||
|
window.siyuan.storage[key] = defaultStorage[key];
|
||||||
|
}
|
||||||
});
|
});
|
||||||
};
|
}
|
||||||
|
|
||||||
export const exportLocalStorage = (cb?: () => void) => {
|
export const exportLocalStorage = (cb?: () => void) => {
|
||||||
fetchPost("/api/storage/setLocalStorage", {val: window.siyuan.storage}, () => {
|
fetchPost("/api/storage/setLocalStorage", {val: window.siyuan.storage}, () => {
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue