🐛 只读模式下多项折叠会导致数据类型错误 https://github.com/siyuan-note/siyuan/issues/6557

This commit is contained in:
Liang Ding 2022-11-11 23:44:21 +08:00
parent 86804f1c1d
commit 6d8d730262
No known key found for this signature in database
GPG key ID: 136F30F901A2231D
2 changed files with 24 additions and 11 deletions

View file

@ -63,17 +63,23 @@ func performTransactions(c *gin.Context) {
return
}
if op := model.IsSetAttrs(&transactions); nil != op {
setAttrsOps := model.ExtractSetAttrsOps(&transactions)
for _, setAttrsOp := range setAttrsOps {
attrs := map[string]string{}
if err = gulu.JSON.UnmarshalJSON([]byte(op.Data.(string)), &attrs); nil != err {
if err = gulu.JSON.UnmarshalJSON([]byte(setAttrsOp.Data.(string)), &attrs); nil != err {
return
}
if err = model.SetBlockAttrs(setAttrsOp.ID, attrs); nil != err {
if errors.Is(err, filelock.ErrUnableAccessFile) {
ret.Code = 1
return
}
logging.LogFatalf("set block attrs failed: %s", err)
return
}
err = model.SetBlockAttrs(op.ID, attrs)
} else {
err = model.PerformTransactions(&transactions)
}
if errors.Is(err, filelock.ErrUnableAccessFile) {
if err = model.PerformTransactions(&transactions); errors.Is(err, filelock.ErrUnableAccessFile) {
ret.Code = 1
return
}