邮件项目草稿存取优化实践

225 阅读2分钟

本文源自道招网的# 邮件项目草稿存取优化实践

在之前调研了各大主流邮件平台草稿保存方案现状(具体见参考主流平台优化邮件项目的自动保存草稿机制)后,我们可以据此对自己当前项目进行改进了。

各邮件产品方案对比

产品跳转行为保存自动保存独立窗口提交草稿条件
163邮箱提交草稿,toast提示每5分钟执行提交草稿不支持若内容变化则提交服务端
QQ邮箱二次确认提示后提交草稿每30秒执行提交草稿 每30秒执行保存本地缓存支持若内容变化则提交服务端
Outlook邮箱提交草稿,无提示每30秒执行提交草稿支持若内容变化则提交服务端
Gmail邮箱提交草稿,无提示输入后实时提交草稿支持不论内容是否变化直接提交服务端
当前项目schema唤起场景给予二次确认提示;其他场景直接提交草稿,无提示不支持支持不论内容是否变化直接提交服务端

主流邮件平台保存草稿机制

  • 自动保存草稿

1 提交流程:仅当编辑邮件内容发生变化时才会提交至服务端

2 触发时机:编辑邮件途中的跳转行为+自动执行

  • 独立窗口

新开窗口加载的草稿内容直接由前端通过主窗口进行数据传递,不需要借助于服务端。

改进

1 能判断当前编辑邮件是否发生变化

与服务端同步草稿数据后更新草稿前端记录值。

file

2 自动保存草稿

每30秒执行一次保存草稿,若编辑邮件发生变化则提交服务端。

3 切换独立窗口数据传递

切换至独立窗口过程中草稿数据传递改用窗口间能共享的本地存储(比如indexDB)或者通知消息(比如BroadcastChannel)来完成。

改进后流程对比

改进前流程

file

改进后流程

file