点赞收藏评论功能的实现思路
1、点赞
1、设计数据库
数据库结构如下(upvote表):
数据库字段 | 类型 | 描述 |
---|---|---|
likeId | varchar(255) | upvote表的主键可以使用UUID |
userId | varchar(255) | 点赞用户的ID |
articleId | varchar(255) | 点赞的文章 |
likeStatus | int | 点赞的状态:0表示未点赞状态,1表示已点赞状态 |
likeCategory | int | 1表示点赞,0表示踩 |
2、前端传送数据给后端
前端通过ajax异步请求,当鼠标点击点赞按钮时发出异步请求,并携带当前文章的ID和当前点赞作者的ID传给后端处理器。
3、后端处理数据并返回Json数据格式
后端接收到前端传来的数据后首先根据userId和articleId判断数据库中是否存在该点赞数据,如果存在首先判断【点赞状态】和【点赞类型】如果点赞类型为【点赞】则直接改变其【点赞状态】,可以使用+1在取余的方式,如果【点赞类型】为【踩】且【点赞状态】为【未点赞】则改变其【点赞类型】和【点赞状态】。
如果不存在则重新插入一条新的数据。完成操作后,返回根据userId和articleId查询出的upvote对象的Json格式。
4、前端接收数据并根据数据进行相应操作
前端接收到返回的对象后,将其进行转换为前端对象,通过对象中的状态值来判断文章是否被点赞,相应的改变点赞按钮的状态。
5、踩功能的实现
踩功能的实现与上述点赞功能基本相似
1、前端传送数据给后端
当用户点击踩按钮,同样传送数据给后端。
2、后端处理数据并返回Json数据格式
后端接收到前端传来的数据后首先根据userId和articleId判断数据库中是否存在该点赞数据,如果存在首先判断【点赞状态】和【点赞类型】如果点赞类型为【踩】则直接改变其【点赞状态】,如果【点赞类型】为【点赞】且【点赞状态】为【未点赞】则改变其【点赞类型】和【点赞状态】。
如果不存在则重新插入一条新的数据。完成操作后,返回根据userId和articleId查询出的upvote对象的Json格式。
3、前端接收数据并根据数据进行相应操作
此处就不多赘述了
2、收藏
收藏功能的实现和上述点赞功能相类似,甚至比其更容易理解一些
首先第一步还是创建数据库
1、设计数据库
数据库结构如下(collect表):
数据库字段 | 类型 | 描述 |
---|---|---|
collectId | varchar(255) | collect表的主键,可以使用UUID |
userId | varchar(255) | 收藏用户的ID |
articleId | varchar(255) | 收藏的文章 |
collectStatus | int | 收藏的状态:0表示未收藏状态,1表示已收藏状态 |
2、前端传送数据给后端
与点赞过程像类似,这里就不过多赘述了
3、后端处理数据并返回Json数据格式
与点赞过程像类似,但是判断的逻辑不太一样
判断逻辑:
后端接收到前端传来的数据后首先根据userId和articleId判断数据库中是否存在该收藏数据,如果存在则改变其收藏状态,如果不存在,则新插入一条收藏数据。
4、前端接收数据并根据数据进行相应操作
与点赞过程像类似,这里就不过多赘述了
3、评论
1、设计数据库
数据库结构如下(comment表):
数据库字段 | 类型 | 描述 |
---|---|---|
commentId | varchar(255) | comment表的主键,可以使用UUID |
userId | varchar(255) | 评论者用户的ID |
articleId | varchar(255) | 评论的文章 |
commentDetail | varchar(1000) | 评论内容 |
2、前端传送数据给后端
前端相关数据给后端
-
评论者ID
-
评论文章的ID
-
评论的内容
3、后端处理数据并返回Json数据格式
每有一条评论传送到后端,后端均保存到数据库,并且增加评论的数量,最后返回新增的评论对象。
4、前端接收数据并根据数据进行相应操作
前端接收到该条评论,并且将其显示在前端页面上
4、总结
以上就是本人实现点赞收藏评论功能的大体思路,希望大家积极留言,共同学习共同进步!!
标签:varchar,数据库,收藏,点赞,思路,前端,255 From: https://www.cnblogs.com/fan129/p/17672626.html