SVeditor 文档
数据持久化与同步

版本历史

面向本地与自动保存演示流程的快照式文档版本管理。

版本历史

SVeditor 可以把文档快照存入 localStorage,用于本地试用和轻量单人编辑。版本历史与自动保存配合,便于本地编辑时的快照与恢复。

本地版本历史

本地快照存储在 localStorage 中。用户可通过编辑器右侧栏的 版本历史 入口查看、恢复和手动创建快照;存储策略由 extensionsOptions.versionHistory 配置。

SVeditor.create({
  el: "#editor",
  extensionsOptions: {
    versionHistory: {
      enabled: true,
      local: {
        storageKey: "my-doc-v1",
        maxEntries: 50,
        debounceMs: 2000,
      },
    },
  },
});

与自动保存配合

自动保存会把最新正文写回你的后端。版本历史单独维护快照,用户可以恢复早期本地状态,同时 onSaveContent 继续保存当前文档。

SVeditor.create({
  el: "#editor",
  extensionsOptions: {
    autoSave: {
      onFetch: () => fetchContent(docId),
      onSaveContent: (json) => saveContent(docId, json),
    },
    versionHistory: {
      enabled: true,
      local: {
        storageKey: `doc:${docId}:snapshots`,
        maxEntries: 50,
      },
    },
  },
});

配置项

interface VersionHistoryOptions {
  enabled: boolean;

  /** 本地存储 key */
  storageKey?: string;

  /** 最多保留的本地快照数,默认 50 */
  maxEntries?: number;

  /** 自动快照防抖时间,单位 ms,默认 2000 */
  debounceMs?: number;
}

注意事项

  1. 每篇文档使用稳定的 storageKey,避免不同文档的快照混在一起。
  2. maxEntries 设置上限;媒体较多的文档快照可能很大。
  3. 本地快照只存在于当前浏览器,可用于恢复,但不能替代服务端持久化。

On this page

MuseCanto

从灵感到发布与复盘的创作者运营工作台。

了解 MuseCanto