最近在写一个给app添加评论的功能,发现不太好写,有种解决方案是采用第三方的评论插件,我感觉比较low,没有采纳。于是参考其他网站的评论功能。
网易的评论的盖楼相当酷炫,网上也有很多实现其的盖楼功能的方法,我认为不太正确,于是写了这篇文章。
我监听了网易的页面跟 服务器通信的json文件。
1.新闻的地址:http://news.163.com/17/0627/09/CNU65GI80001875N.html
2.评论的地址http://comment.news.163.com/news_guonei8_bbs/CNU65GI80001875N.html
3.评论的json路径
提取后的json包含两个字段:commentids和comments
commentids用来存放每楼的评论的所有的id,如下图所示。
comments是一个map,key是评论的id。value是对应的评论的数据,里面包含用户的信息,ip,用户id等等信息,不再具体分析 。如下图所示。
那么根据这些信息。如何做到楼中楼呢?详见下图
由此猜想数据库中应该是评论的内容和楼层是分开存放的
comment是一个表,用来存放具体的评论。
floor是一个表用来存放楼层,每个楼层中包含所有按顺序排列的评论的id