美文网首页
草稿箱实现自动保存功能

草稿箱实现自动保存功能

作者: zchuhyy | 来源:发表于2017-11-06 02:36 被阅读0次

思路

  1. 根据抓包软件fiddler或者chrome分析网上已有的草稿箱功能是怎样一个实现的模式;以简书编辑为例,便是在0.5S左右会自动保存一次,通过抓包可以看到在编辑的时候如图所示


    image.png

    可以得知每次编辑之后简书都会向服务器对应的url发送数据;需要注意的是发送的方式为put而不是post。

  2. 因此不难得出,在实现类似自动保存功能的时候,需要向服务器put方式发送数据,并且在检测到鼠标没有输入之后的0.5S左右自动想服务器put一次数据。

  3. 了解put及post的区别

简单地说:通常用于向服务器发送请求,如果URI不存在,则要求服务器根据请求创建资源,如果存在,服务器就接受请求内容,并修改URI资源的原始版本。
-----PUT请求那些封装在Request-URI的实体。如果Request-URI引用一个已存在的资源,则该封装实体应该作为原始服务器上的修改版本。如果Request-URI不是指向一个已存在的资源,并且该URI可被请求的用户代码定义为新资源,则原始服务器可用此URI创建新的资源。如果新的资源被创建,这个原始服务器就必须通过201(Created)响应通知用户代理。如果已有资源被修改,则发送200或者204响应,表示成功完成了该请求。如果Request-URI既没有创建也没有修改资源,则应给予适当的错误响应来反映问题本质。实体的接受者不能忽略任何不理解或没有实现的Content-*(如Content-Range)头部,并且必须返回501响应。

如果请求经过缓存,并且Request-URI标识出一个或多个当前缓存的实体,则那些实体视为过期了。该方法的响应不会被缓存。
POST请求的URI表示处理该封闭实体的资源,该资源可能是个数据接收过程、某种协议的网关、或者接收注解的独立实体。然而,PUT请求中的URI表示请求中封闭的实体-用户代理知道URI的目标,并且服务器无法将请求应用到其他资源。如果服务器希望该请求应用到另一个URI,就必须发送一个301响应;用户代理可通过自己的判断来决定是否转发该请求。

大致流程图思路分析(根据抓包)

根据点击新建文章之后,开始

1.png

根据图可知道,当点击新建文章之后post一段已经写好的数据,并会给出响应包括服务器给这篇新建的文章一个id号


2.png

根据1图返回状态码201表示创建成功;
接下来每次编辑的时候都向该id的文章进行put,服务器进行更新数据并且返回状态码200OK

流程图

1.点击新建文章之后像服务器发送一个字段,字段如图所示:

image.png

服务器进行新建一个文章数据字段,如果新建成功则返回一个id作为响应传回以及201状态码。
2.前端监听键盘输入事件,当键盘0.5S左右没有点击的时候便向服务器put数据,其中put形式如图所示


image.png

服务器需要更新将传过来的数据在文章数据库的id进行更新。更新成功传回一个状态码。

根据简书的自动保存得到大致流程如上

相关文章

  • 草稿箱实现自动保存功能

    思路 根据抓包软件fiddler或者chrome分析网上已有的草稿箱功能是怎样一个实现的模式;以简书编辑为例,便是...

  • 大年初五

    简书以前有自存功能吧,就是突然退出后,它自动保存到草稿箱吧,可现在好像没有了,早上写了一大段了,突然有事放下,回来...

  • 对简书的小小意见

    能不能和简书提个意见,能否写文章的时候,带个自动保存功能去草稿箱!我今天表示非常心塞,灵感突现,写了一篇文章。结果...

  • 简书这个平台越来越烂!

    刚刚写了一半,准备添加图片,返回来时啥都没了!曾经的简书自动保存,想发布就发布,现在这个功能竟然没有了!草稿箱也没...

  • 国产开源博客程序:从Emlog论坛关闭看国内开源程序如何发展盈利

    文章刚想要发布,结果自动退出,没有保存,想着在草稿箱中恢复,然而并没有。 不知啥时把草稿箱误关了,于是重新写了,凑...

  • vue自动保存表单功能的实现

    最近想实现一个表单内容的自动保存,原来是想通过监听表单的change事件来解决.但后面想想,现在都是数据驱动了,监...

  • Hexo博客多主题自动部署方案

    本文主要介绍如何利用一份原始手稿,自动部署多个不同主题的Hexo博客空间。 实现的功能: Github保存Hexo...

  • vscode配置

    插件 序号名称功能1VeturVue文件查看2ESLint显示es格式化错误,通过配置实现保存自动格式化

  • iOS如何拿到拍照照片的URL

    最近公司的项目要做一个草稿箱功能,里面有照片,该怎么保存照片呢,当然保存图片的URL路径。 1、相册的照片,拿到照...

  • Editor.md自动保存插件的开发

    Markdown编辑器Editor.md自动保存插件的开发。文章编辑器没有自动保存功能怎么行,万一不小心忘记保存不...

网友评论

      本文标题:草稿箱实现自动保存功能

      本文链接:https://www.haomeiwen.com/subject/wzdkmxtx.html