diff --git a/app/src/dialog/processSystem.ts b/app/src/dialog/processSystem.ts index 7f84006ee..c8988a550 100644 --- a/app/src/dialog/processSystem.ts +++ b/app/src/dialog/processSystem.ts @@ -17,6 +17,9 @@ import {getWorkspaceName} from "../util/noRelyPCFunction"; import {needSubscribe} from "../util/needSubscribe"; export const lockScreen = () => { + if (window.siyuan.config.readonly) { + return + } /// #if BROWSER fetchPost("/api/system/logoutAuth", {}, () => { window.location.href = `/check-auth?url=${window.location.href}`; diff --git a/app/src/history/history.ts b/app/src/history/history.ts index b07eb8321..3b56f7774 100644 --- a/app/src/history/history.ts +++ b/app/src/history/history.ts @@ -214,6 +214,9 @@ const renderRmNotebook = (element: HTMLElement) => { }; export const openHistory = () => { + if (window.siyuan.config.readonly) { + return; + } const exitDialog = window.siyuan.dialogs.find((item) => { if (item.element.querySelector("#historyContainer")) { item.destroy(); diff --git a/app/src/layout/topBar.ts b/app/src/layout/topBar.ts index ca10c221a..87461da46 100644 --- a/app/src/layout/topBar.ts +++ b/app/src/layout/topBar.ts @@ -30,7 +30,7 @@ export const initBar = () => { ${getWorkspaceName()} -
+
开发版,使用前请进行备份 Development version, please backup before use
-
+
-
+
-
+
`; @@ -112,8 +112,10 @@ export const initBar = () => { event.stopPropagation(); break; } else if (target.id === "toolbarVIP") { - const dialogSetting = openSetting(); - dialogSetting.element.querySelector('.b3-tab-bar [data-name="account"]').dispatchEvent(new CustomEvent("click")); + if (!window.siyuan.config.readonly) { + const dialogSetting = openSetting(); + dialogSetting.element.querySelector('.b3-tab-bar [data-name="account"]').dispatchEvent(new CustomEvent("click")); + } event.stopPropagation(); break; } else if (target.id === "barSearch") { diff --git a/app/src/menus/workspace.ts b/app/src/menus/workspace.ts index 651fbe7a5..34c7f7a8a 100644 --- a/app/src/menus/workspace.ts +++ b/app/src/menus/workspace.ts @@ -74,30 +74,32 @@ export const workspaceMenu = (rect: DOMRect) => { submenu: dockMenu }).element); /// #if !BROWSER - const workspaceSubMenu: IMenu[] = [{ - label: window.siyuan.languages.openBy + "...", - iconHTML: Constants.ZWSP, - click: async () => { - const localPath = await dialog.showOpenDialog({ - defaultPath: window.siyuan.config.system.homeDir, - properties: ["openDirectory", "createDirectory"], - }); - if (localPath.filePaths.length === 0) { - return; + if (!window.siyuan.config.readonly) { + const workspaceSubMenu: IMenu[] = [{ + label: window.siyuan.languages.openBy + "...", + iconHTML: Constants.ZWSP, + click: async () => { + const localPath = await dialog.showOpenDialog({ + defaultPath: window.siyuan.config.system.homeDir, + properties: ["openDirectory", "createDirectory"], + }); + if (localPath.filePaths.length === 0) { + return; + } + openWorkspace(localPath.filePaths[0]); } - openWorkspace(localPath.filePaths[0]); - } - }]; - workspaceSubMenu.push({type: "separator"}); - response.data.forEach((item: IWorkspace) => { - workspaceSubMenu.push(workspaceItem(item) as IMenu); - }); - window.siyuan.menus.menu.append(new MenuItem({ - label: window.siyuan.languages.workspaceList, - icon: "iconWorkspace", - type: "submenu", - submenu: workspaceSubMenu, - }).element); + }]; + workspaceSubMenu.push({type: "separator"}); + response.data.forEach((item: IWorkspace) => { + workspaceSubMenu.push(workspaceItem(item) as IMenu); + }); + window.siyuan.menus.menu.append(new MenuItem({ + label: window.siyuan.languages.workspaceList, + icon: "iconWorkspace", + type: "submenu", + submenu: workspaceSubMenu, + }).element); + } /// #endif window.siyuan.menus.menu.append(new MenuItem({type: "separator"}).element); if (!window.siyuan.config.readonly) { @@ -155,24 +157,24 @@ export const workspaceMenu = (rect: DOMRect) => { } }], }).element); + window.siyuan.menus.menu.append(new MenuItem({ + label: window.siyuan.languages.lockScreen, + icon: "iconLock", + accelerator: window.siyuan.config.keymap.general.lockScreen.custom, + click: () => { + lockScreen(); + } + }).element); + window.siyuan.menus.menu.append(new MenuItem({ + label: window.siyuan.languages.dataHistory, + icon: "iconHistory", + accelerator: window.siyuan.config.keymap.general.dataHistory.custom, + click: () => { + openHistory(); + } + }).element); + window.siyuan.menus.menu.append(new MenuItem({type: "separator"}).element); } - window.siyuan.menus.menu.append(new MenuItem({ - label: window.siyuan.languages.lockScreen, - icon: "iconLock", - accelerator: window.siyuan.config.keymap.general.lockScreen.custom, - click: () => { - lockScreen(); - } - }).element); - window.siyuan.menus.menu.append(new MenuItem({ - label: window.siyuan.languages.dataHistory, - icon: "iconHistory", - accelerator: window.siyuan.config.keymap.general.dataHistory.custom, - click: () => { - openHistory(); - } - }).element); - window.siyuan.menus.menu.append(new MenuItem({type: "separator"}).element); window.siyuan.menus.menu.append(new MenuItem({ label: window.siyuan.languages.help, icon: "iconHelp", diff --git a/app/src/protyle/scroll/saveScroll.ts b/app/src/protyle/scroll/saveScroll.ts index 4c5974fa9..686ac2a02 100644 --- a/app/src/protyle/scroll/saveScroll.ts +++ b/app/src/protyle/scroll/saveScroll.ts @@ -10,7 +10,7 @@ import {blockRender} from "../markdown/blockRender"; import {disabledForeverProtyle, disabledProtyle, enableProtyle} from "../util/onGet"; export const saveScroll = (protyle: IProtyle, getObject = false) => { - if (!protyle.wysiwyg.element.firstElementChild) { + if (!protyle.wysiwyg.element.firstElementChild || window.siyuan.config.readonly) { // 报错或者空白页面 return undefined; } diff --git a/app/src/sync/syncGuide.ts b/app/src/sync/syncGuide.ts index 7b794b8aa..323e62319 100644 --- a/app/src/sync/syncGuide.ts +++ b/app/src/sync/syncGuide.ts @@ -113,6 +113,9 @@ export const getSyncCloudList = (cloudPanelElement: Element, reload = false, cb? }; export const syncGuide = (element?: Element) => { + if (window.siyuan.config.readonly) { + return; + } if (element && element.classList.contains("toolbar__item--active")) { return; } diff --git a/app/src/util/globalShortcut.ts b/app/src/util/globalShortcut.ts index eb9775957..1c2cde443 100644 --- a/app/src/util/globalShortcut.ts +++ b/app/src/util/globalShortcut.ts @@ -589,7 +589,9 @@ export const globalShortcut = () => { return; } if (!isTabWindow && matchHotKey(window.siyuan.config.keymap.general.dataHistory.custom, event)) { - openHistory(); + if (!window.siyuan.config.readonly) { + openHistory(); + } event.preventDefault(); return; }