基于java的微信小程序的实现(八)用户点赞/取消点赞功能相关后端接口开发

12

基于java的微信小程序的实现(八)用户点赞/取消点赞功能相关后端接口开发

基于Java的微信小程序的实现(八)用户点赞/取消点赞功能相关后端接口开发需求分析

当用户进入视频详情页后,会当前登录用户与视频进行交互。其中一个常见的操作是点赞或取消点赞。这个功能涉及到两个主要方面:一是用户的点赞状态改变,二是对应的数据库表结构更新。

用户的点赞与取消点赞的接口编写

1. 数据库表结构分析关于点赞和取消点赞功能,一共需要关联到3张表的操作。相关联的表如下:

* users_like_videos:记录用户对视频的点赞信息* videos:记录视频基本信息* users:记录用户基本信息2. 点赞接口设计2.1 点赞接口请求参数| 参数名称 | 类型 | 必须填写 | 备注 |

| --- | --- | --- | --- |

| video_id | int | 是 | 视频ID |

| user_id | int | 是 | 用户ID |

2.2 点赞接口响应结果| 参数名称 | 类型 | 备注 |

| --- | --- | --- |

| code | int | 状态码 |

| msg | string | 消息提示 |

| data | object | 数据内容 |

3. 取消点赞接口设计3.1 取消点赞接口请求参数| 参数名称 | 类型 | 必须填写 | 备注 |

| --- | --- | --- | --- |

| video_id | int | 是 | 视频ID |

| user_id | int | 是 | 用户ID |

3.2 取消点赞接口响应结果| 参数名称 | 类型 | 备注 |

| --- | --- | --- |

| code | int | 状态码 |

| msg | string | 消息提示 |

| data | object | 数据内容 |

4. 点赞和取消点赞接口的实现4.1 点赞接口实现```java@PostMapping("/like")

public Result like(@RequestParam("video_id") Integer videoId, @RequestParam("user_id") Integer userId) {

// 判断用户是否已经点过赞 if (usersLikeVideosMapper.existsByVideoIdAndUserId(videoId, userId)) {

return Result.error(40001, "您已经点过赞了");

}

// 点赞 usersLikeVideosMapper.save(new UsersLikeVideos(userId, videoId));

return Result.success();

}

```

4.2 取消点赞接口实现```java@PostMapping("/unlike")

public Result unlike(@RequestParam("video_id") Integer videoId, @RequestParam("user_id") Integer userId) {

// 判断用户是否已经取消过赞 if (!usersLikeVideosMapper.existsByVideoIdAndUserId(videoId, userId)) {

return Result.error(40002, "您没有点过赞");

}

// 取消点赞 usersLikeVideosMapper.deleteByVideoIdAndUserId(videoId, userId);

return Result.success();

}

```

5. 点赞和取消点赞接口的测试5.1 点赞接口测试* 测试场景:用户点击视频的点赞按钮* 预期结果:用户点过赞,数据库表users_like_videos中记录了用户对视频的点赞信息5.2 取消点赞接口测试* 测试场景:用户点击视频的取消点赞按钮* 预期结果:用户取消了点赞,数据库表users_like_videos中删除了用户对视频的点赞信息

小程序点赞功能java

版权声明:除非特别标注,否则均为网络文章,侵权请联系站长删除。

上一篇 微信发朋友圈/评论/点赞/搜索/购物车的测试点

下一篇 Python刷投票自动化【刷微信投票】脚本开发,源代码分析