KevinChen 发表于 2021-2-2 09:49:25

协同文档实现的流程、架构图以及相关解释

本文分享协同实现的架构图, 流程图以及名词注释:

架构图:



流程图:

关键名词注释:
Command listener: 命令监听. SpreadJS 会把用户的操作封装成Command, **可以拿到用户执行操作时触发命令的json对象.
Clipboard listener: 剪贴板监听. 浏览器剪贴板的复制和粘贴是特殊操作, 需要在极短的窗口期内才能监听到, 需要特殊处理.
Command stack: 命令栈. 用户操作的行为被封装成命令后, 被维护在命令栈中, 以供撤销和回滚操作.
Command interpreter: 命令解释器. 用户的操作, 数据和自定义信息(例如用户信息, 权限等) 都被打包成 Command Json发回后端, 后端需要针对这个Command进行解释, 以便后端执行协同操作.
Create Snapshot: 创建快照. (图中有误, 第一个 Snapshot rollback -> Create Snapshot)
Snapshot rollback: 回滚快照. 当用户执行撤回操作时, 实际上是回滚到指定的快照上.



页: [1]
查看完整版本: 协同文档实现的流程、架构图以及相关解释