我们可以给一个建议,其实命令并不需要反推去做,将前端用户可能的所有操作全部封装成命令发送至后端,后端同service上同步。如果的undo redo,可以这样做,在后端存储一个命令堆栈,每隔一并的操作数,通过tojson fromjson 保存json或者Excel。
当undo 时调用距离这次undo 最近的Excel,然后从命令堆栈中找到剩下几部操作依次执行即可达到效果。
举个例子:
做了1,2,3,4,5操作之后保存了Excel历史,又做了6,7,8.结果我现在undo一次,那么load 之前5步保存的Excel,之后顺序执行6,7命令即可。 |