如何在Gmail中"撤消发送"?

ahm*_*med 0 vb.net gmail

如何在Vb中撤消发送,保存或删除,例如Gmail在消息中使用此功能.Gmail使用的功能是将邮件排队5秒,如果用户在5秒之前点击撤消,则会撤回整个发送过程.

现在我想要的是在我的Vb.net应用程序中实现这一点.有没有可用的代码来执行此操作.请帮忙 ?

Pas*_*TIN 13

关于"撤消发送"功能,最明显的做法是实际上不"做"你想要"撤消"的内容.

我的意思是 :

  • 当用户点击"发送"时,您不应该真正发送消息
  • 相反,您应该将其标记为"在X秒内发送" - 例如,将其放在某个队列中
  • 这意味着它只会在X秒后发送,而不是立即发送.
  • 在此X秒数内,如果用户单击"撤消发送",您只需从"等待队列"中删除该邮件

当然,你不能在已经发送的邮件上"撤消发送":它已经从你的服务器上消失了,你无法再做任何事了.

要实现这一点,您需要:

  • 一些行动排队
  • 在用户单击"发送"时将数据放入此队列
  • 让一些批次真正发送已经在队列中的数据超过X秒
  • 在用户单击"撤消发送"时从队列中删除数据.


同样的想法可以应用于"撤消删除":

  • 当用户点击"删除"时,请不要以物理方式删除数据
  • 相反,使用一些布尔标志来指示它应被视为已删除
  • 然后,取消使用该删除仅意味着取消激活该标志

这可以很容易地用任何语言实现:

  • is_deleted在数据上添加字段
  • 显示数据时,过滤那些启用了此标志的数据
  • 删除时,不是物理删除,而是设置此标志
  • 取消删除时,取消设置此标志


"撤消保存"可能有点困难:解决方案是不仅保留一个版本的消息,而是几个:

  • 每次用户单击"保存"时,您应该存储新版本的消息
  • 这意味着,经过一段时间,您将结束许多版本的消息
  • 这将允许您"返回"以前的版本,从历史记录中恢复它.

这可以做到:

  • version在您的数据上添加一个名为" " 的新字段.
  • 每次用户保存时,只需增加该字段,并存储数据的副本
  • 即从不实际更新任何现有数据,但始终插入新版本.
  • 然后,"撤消保存"仅表示"获取以前版本的数据"

  • +1.您已经为代码编写了详细的规范.进一步的唯一方法是实际编写代码,这似乎是过分的. (2认同)