TODO:EmlogAndroidAPP:Emlog发布文章并非按文章id排序

2015年11月08日 APP 暂无评论 阅读1420次

今天在检查EmlogAndroid客户端APP时,发现了一个bug。


EmlogAndroid客户端APP呈现的bug现象:

我今天最新发布的一篇文章没有被第一的位置显示,而是跑到了第四五左右的位置显示着。


bug是由我写文章的习惯而引起的。一般我要写神马东西时,会在后台管理中直接点开写文章,之后保存为草稿,等到写作完成并且感觉可以发布的时候在到后台管理中,点击发布按钮发布出去让大家看到。


bug发生的根本原因下面做详细的解释。


Emlog后台保存数据的处理

Emlog的写文章时的草稿功能,也是保存到了后台数据库的emlog_blog表中,只要是一保存文章草稿,该表中就会插入一条新的记录,该条记录和正式发布的文章一样,也被分配了文章id,也就是gid属性。唯一用来区分是草稿还是正式发布文章的字段就是一个叫做hide的字段,该属性为n则标示为草稿。

等到正式发布改草稿为正式文章时,之前分配gid并不会被更新,只有文章发布时间可以在画面上选择为当前时间从而更新掉。

也就是说,我们从web的Emlog博客中看到的文章列表的排列顺序并不是按照文章id gid降序排列的,而是按照文章发布时间date来排序的。


Emlog客户端APP取数据的处理

EmlogAndroid客户端中,用户点击了“看博客”之后,通过webservice,取得emlog_blog表中非隐藏的最大gid,以此作为第一篇文章,同时从emlog_blog表得到10篇文章,作为本次请求的结果。在上拉加载更多文章时,会用上次取得的最大gid在减去10,作为本次请求的gid,这样就有了加载更多10篇文章的条件。


比较Emlog后台数据保存和Emlog客户端APP取数据的不同之处

通过上面的描述,可以看到其实是Emlog客户端在取得博客文章列表时并没有考虑到文章发布时间date这个字段的值。

也是这一点颠覆了我的思维模式。


解释到这里,大家应该都清楚怎么回事了。以后遇到从Emlog后台数据库中取数据的清空,一定记得文章列表是要按照发布时间排序,而不是按照gid。

因为暂时还有别的工作要忙,所以暂时先加到TODO中吧。后续有时间时会在以后的版本升级中改进这个问题。

分享本文至:

WRITTEN BY

avatar
本文标签:emlog排序
看了本文是不是觉得很赞,那就赶紧点击下面按钮分享给身边的朋友吧!

欢迎留言




用户登录

sitemap