From 0ffa864c8f54eb655ccedb76e217990850fe97b8 Mon Sep 17 00:00:00 2001 From: Daniel <845765@qq.com> Date: Sun, 19 Oct 2025 09:46:55 +0800 Subject: [PATCH] :art: https://github.com/siyuan-note/siyuan/issues/16149 Signed-off-by: Daniel <845765@qq.com> --- kernel/model/session.go | 2 +- kernel/model/storage.go | 8 ++------ 2 files changed, 3 insertions(+), 7 deletions(-) diff --git a/kernel/model/session.go b/kernel/model/session.go index 82b76d559..e0fef0d03 100644 --- a/kernel/model/session.go +++ b/kernel/model/session.go @@ -181,7 +181,7 @@ func GetCaptcha(c *gin.Context) { } func CheckReadonly(c *gin.Context) { - if util.ReadOnly { + if util.ReadOnly || IsReadOnlyRole(GetGinContextRole(c)) { result := util.NewResult() result.Code = -1 result.Msg = Conf.Language(34) diff --git a/kernel/model/storage.go b/kernel/model/storage.go index 377e93361..187739343 100644 --- a/kernel/model/storage.go +++ b/kernel/model/storage.go @@ -362,10 +362,6 @@ func GetLocalStorage() (ret map[string]interface{}) { } func setLocalStorage(val interface{}) (err error) { - if util.ReadOnly { - return - } - dirPath := filepath.Join(util.DataDir, "storage") if err = os.MkdirAll(dirPath, 0755); err != nil { logging.LogErrorf("create storage [local] dir failed: %s", err) @@ -437,7 +433,7 @@ func SetOutlineStorage(docID string, val interface{}) (err error) { DocID: docID, Data: make(map[string]interface{}), } - + if valMap, ok := val.(map[string]interface{}); ok { outlineDoc.Data = valMap } @@ -457,7 +453,7 @@ func SetOutlineStorage(docID string, val interface{}) (err error) { // 将新的文档信息添加到最前面 outlineDocs = append([]*OutlineDoc{outlineDoc}, outlineDocs...) - + // 限制为2000个文档 if 2000 < len(outlineDocs) { outlineDocs = outlineDocs[:2000]