开发文档Umo Editor Next文档历史版本管理配置与方法

配置与方法

历史版本只在协作模式下生效(需要已启用在线协作,并正确连接服务端)。在线协作相关配置见 多人协作编辑

默认配置

const defaultOptions = {
  collaboration: {
    enabled: true,
    // ...
  },
  versions: {
    enabled: true,
    diffUseUserColor: false,
    diffLabelEnabled: true,
    diffLabelTemplate: '由"{name}"{action}',
    diffIgnoreMarks: ['inlineThread'],
    diffIgnoreAttributes: ['id', 'data-thread-id'],
    diffExcludeNodeViews: [],
  }
}

配置项说明

versions.enabled

说明:是否启用历史版本管理功能。关闭后历史版本面板不会展示,版本相关交互也不会生效。

类型Boolean

默认值true

versions.diffUseUserColor

说明:在版本对比时,是否使用用户颜色(即 options.user.color)来显示差异。

类型Boolean

默认值false

versions.diffLabelEnabled

说明:版本对比时是否展示“差异标签”(用于让读者更快理解变更来源)。

类型Boolean

默认值true

versions.diffLabelTemplate

说明:差异标签显示模板(用于对比界面的文案定制)。

类型String

默认值由"{name}"{action}

可用占位符

  • {name}:创建人展示名
  • {action}:动作描述(例如新增/删除/修改)

versions.diffIgnoreMarks

说明:版本对比时忽略的标记类型。常见用途:忽略评论/批注等非正文信息,避免对比结果被干扰。

类型String[]

默认值['inlineThread']

versions.diffIgnoreAttributes

说明:版本对比时忽略的属性字段。常见用途:忽略节点 id、批注等非正文属性,避免对比噪音。

类型String[]

默认值['id', 'data-thread-id']

versions.diffExcludeNodeViews

说明:版本对比/预览渲染时要排除的 NodeView(按节点名配置)。常见用途:某些复杂节点(例如表格)在只读预览中依赖宿主环境,可能导致对比不准确,可通过该配置禁用其 NodeView,让预览回退到基础 DOM 序列化输出。

类型String[]

默认值[]

常用方法

以下方法由编辑器组件对外暴露(可通过 ref 调用),前提是 versions.enabled !== false 且协作已正常连接。

openVersions

说明:打开文档历史面板。

参数:无

返回值:无

closeVersions

说明:关闭文档历史面板。

参数:无

返回值:无

getVersions

说明:获取版本列表(用于自绘列表或做业务展示)。

参数:无

返回值Array(版本记录列表;字段以实际返回为准)

补充:版本记录中可能包含 important 字段,用于标记“重要版本”(见 快速开始)。

getCurrentVersion

说明:获取当前版本信息和文档内容。

参数:无

返回值Object

getVersion

说明:获取指定版本信息和文档内容。

参数

  • nameNumber,版本号。

返回值Object

saveVersion

说明:创建一个新版本。

参数

  • nameString,版本名称。

返回值Boolean(是否成功发起请求)

clearVersions

说明:清除所有版本并重置当前版本号(谨慎使用,适合管理端/调试场景)。

参数:无

返回值Boolean