我们正在开发一个使用自动保存作为保存模式的网络应用程序。这个特性带来了一些非常意想不到的 UI 问题。
为了增强用户对这个概念的理解,我们想让自动保存即时,而不是在每次保存文档时定期提供视觉反馈。
我们考虑使用本地存储作为临时数据缓存,然后设置一个较慢的时间间隔,在后台将所有用户数据与 Web 服务器同步。在处理可能的修订冲突场景时,这可能会产生一些不好的副作用。
有没有人有任何关于自动保存模式和/或使用本地存储作为数据代理的经验,并且可以分享一些有价值的信息
我们正在开发一个使用自动保存作为保存模式的网络应用程序。这个特性带来了一些非常意想不到的 UI 问题。
为了增强用户对这个概念的理解,我们想让自动保存即时,而不是在每次保存文档时定期提供视觉反馈。
我们考虑使用本地存储作为临时数据缓存,然后设置一个较慢的时间间隔,在后台将所有用户数据与 Web 服务器同步。在处理可能的修订冲突场景时,这可能会产生一些不好的副作用。
有没有人有任何关于自动保存模式和/或使用本地存储作为数据代理的经验,并且可以分享一些有价值的信息
我假设您的意思是在每个用户编辑操作(或按键或其他)之后?这取决于你在这里有什么数据。如果您只有文本文档,我认为没有理由不直接与服务器交互,但我会添加一些睡眠时间,例如:
如果用户编辑了某些东西,则将开关设置为edited = true,如果上次提交时间超过10秒,则提交当前状态(此时文档可能已更改,使用当前状态)将上次提交开关设置为当前时间。
我认为本地缓冲区非常复杂,可能带来的痛苦多于其有用。
但是,如果您决定采用常用方法,则以更高的频率填充缓冲区(但使用上述方法),并让它以较低的频率传输到服务器(也使用上述方法)。当从所有缓冲区或存储服务器恢复内容并使用最新版本(具有来自第一个缓冲区的增量 id)时,时间戳/增量 ID 从第一个缓冲区传递到第二个缓冲区到第三个缓冲区等。