找回密码
 立即注册

QQ登录

只需一步,快速开始

KevinChen 讲师达人认证 悬赏达人认证 SpreadJS 开发认证
论坛元老   /  发表于:2021-2-2 09:49  /   查看:2214  /  回复:0
本文分享协同实现的架构图, 流程图以及名词注释:

架构图:
Architecture diagram.jpg


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



0 个回复

您需要登录后才可以回帖 登录 | 立即注册
返回顶部