数据持久化与同步
版本历史
面向本地与自动保存演示流程的快照式文档版本管理。
版本历史
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;
}注意事项
- 每篇文档使用稳定的
storageKey,避免不同文档的快照混在一起。 - 给
maxEntries设置上限;媒体较多的文档快照可能很大。 - 本地快照只存在于当前浏览器,可用于恢复,但不能替代服务端持久化。