编辑历史与撤销

编辑历史与撤销

ringyuki4 个月前
了解如何查看 Shionlib 的编辑历史记录,以及管理员如何使用严格模式或级联模式撤销错误编辑。

查看编辑历史

游戏、角色和开发商条目均提供编辑历史入口,所有人均可查看。

每条历史记录包含:

  • 编辑者头像与用户名
  • 本次修改的字段列表(以标签形式展示)
  • 编辑备注(如有,点击可展开)
  • 编辑时间
  • 编辑记录编号(如 #123

如果该记录已被管理员撤销,会显示红色 已撤销 标记;如果某条记录本身是撤销操作,则标题处会标注 撤销了 #编号,对应原始记录编号。

变更对比

点击一条历史记录,可以展开查看具体的变更内容:

  • 文本字段:以字符级高亮对比展示变更前后的内容,绿色表示新增,红色表示删除
  • 关联关系(封面、图片、开发商、角色等):分别列出新增和移除的条目,以及修改前后的对比

撤销编辑(管理员)

管理员可以对历史记录中未被撤销的编辑执行撤销操作。点击记录上的 撤销此编辑 按钮,在弹窗中选择撤销模式后确认。

严格模式

仅撤销目标记录本身,不处理其他依赖。

  • 若该编辑之后有其他编辑修改了相同字段,系统会检测到冲突并拒绝操作
  • 开启 强制 选项可跳过冲突检查并强制执行,但可能导致数据不一致,需谨慎使用

适用场景:目标编辑较新,且之后没有相关的后续编辑。

级联模式

在撤销目标记录之前,自动按时间倒序撤销所有与之冲突的后续编辑,最后再撤销目标记录本身。整个过程在数据库事务中完成,保证原子性。

适用场景:目标编辑较早,有后续编辑依赖于它,需要一并清理时使用。

撤销记录的写入

每次撤销操作执行成功后,系统会在编辑历史中写入一条新记录,标注 撤销了 #编号,并对原始记录打上 已撤销 标记,形成完整的审计链路。

一条编辑记录只能被撤销一次。

Command Palette

Search for a command to run...

编辑历史与撤销 - 书音的图书馆