ikuaitu / vue-fabric-editor

快图设计-基于fabric.js和Vue的开源图片编辑器,可自定义字体、素材、设计模板。fabric.js and Vue based image editor, can customize fonts, materials, design templates.
https://ikuaitu.github.io/doc/#/
MIT License
5.67k stars 1.04k forks source link

refactor(fabric-history): refactor the fabric-history and tuning the HistoryPlugin #521

Closed GeorgeSmith215 closed 1 month ago

GeorgeSmith215 commented 1 month ago

贡献者你好

很高兴你能付出自己的时间参与到vue-fabric-editor的共享当中去,相信很多人都因为你提交的代码而收益。

原则

我们希望每次提交尽量小,较大重构除外,确保我们每次的改动影响范围清晰明了,能够方便项目维护者快速的将代码合并到主分支。

确保你的代码与主仓库没有冲突

在PR前,请确保你的代码与主仓库保持同步,可以参考这篇文章

确保你的代码代码能正常打包构建

在PR前,请在本地进行打包构建,并进行功能测试,确保功能正常,且不影响其他功能。

告知项目维护者本次修改的功能

重构了 fabric-history.js 文件。并调整了 HistoryPlugin.ts 文件以适配新的 fabric-history。 大致实现/修复了以下功能: 1、修复了每次都要撤销两次的bug。 2、实现保存历史前先清除可redo的旧记录,不然可能会redo之前某个阶段的操作记录。 3、实现保存历史数添加上限值。 4、修复历史记录恢复后,鼠标悬浮 workspace 会出现可操作样式的bug。 5、修复 当页面复杂且快速 undo/redo 多次后,可能会在之前的历史上 redo/undo(loadFromJSON 是异步操作)。 具体内容参看代码及注释。

nihaojob commented 1 month ago

感谢大佬 PR, 晚点我测试后合并,[抱拳]

GeorgeSmith215 commented 1 month ago

嗯嗯,作者大大的这个项目很不错,我也学到了很多的东西。 还有对于最后一个bug可以如下测试: 1、添加裁剪并复制多个图像:

test-after

2、按住ctrl+z重复撤销后:

test-before
GeorgeSmith215 commented 1 month ago

上面的图片反了😂

nihaojob commented 1 month ago

@GeorgeSmith215 感谢大佬,已经合并到主分支,之前有开发者反馈,一直也没时间处理,被大佬搞定了 [抱拳]。

nihaojob commented 4 weeks ago

@GeorgeSmith215 大佬早上好呀,方便留一个联系方式吗?给您寄一个礼品过去。

GeorgeSmith215 commented 4 weeks ago

还有小礼品吗,谢谢作者。 还有不敢说是大佬,一个在升级的小趴菜罢了。 很喜欢加缪的一句话:不要走在我后面,因为我可能不会引路;不要走在我前面,因为我可能不会跟随;请走在我的身边,做我的朋友。 能站在大佬的肩膀上一起成长才是最令人愉快的事了。 共勉。

已经收到了,谢谢作者。

nihaojob commented 3 weeks ago

希望大家一起一同行,一起成长,准备了一款雷蛇(Razer)炼狱蝰蛇标准版有线鼠标,已经再路上了,请您查收。 image

nihaojob commented 3 weeks ago

@GeorgeSmith215 大佬 有兴趣搞定这个问题吗?https://github.com/ikuaitu/vue-fabric-editor/issues/374

GeorgeSmith215 commented 3 weeks ago

哦哦,我重构 fabric-history 的时候加了一个 refreshHistory 方法就是专门解决这个问题的。 不过需要额外写些逻辑,我试试看。