1.喜欢/收藏音乐模块设计
1.1 请求响应模块设计
请求:
{
post,
/lovemusic/likeMusic
data: id//音乐id
}
响应:
{
"status": 0,
"message": "点赞音乐成功",
"data": true
}
1.2.后端代码
步骤:
1.查询是否已经收藏过(收藏过返回false)
2.插入成功(true)
3.插入失败(false)
数据库

MAPPER

Service

Controller

2.查询喜欢的音乐模块设计
2.1 请求响应设计
此处查询需要满足几个功能:
-
支持模糊查询
-
支持传入参数为空

2.2 前端代码
mapper

service

controller

2.3 后端接口测试

3. SECTION1和SECTION2的前端代码



音乐播放与之前的一样
4.移除喜欢的音乐模块设计
请求:
{
post,
/lovemusic/deletelovemusic,
data:{id:id}
}
响应:
{
"status": 0,
"message": "取消收藏成功!",
"data": true
}
4.1 后端代码

java
public Boolean deleteLikeMusic(Integer likeuserId,Integer likemusicId){
if(loveMusicMapper.deleteLikeMusic(likeuserId,likemusicId)<1){
return false;
}
return true;
}
java
@RequestMapping("/deletelovemusic")
public Result deleteLikeMusic(@RequestParam(required = false) Integer musicId,HttpSession httpSession){
if(musicId==null){
return Result.fail(Constant.RESULT_CODE_FAIL,"你没有选中任何音乐取消收藏");
}
User user=(User) httpSession.getAttribute(Constant.USERINFO_SESSION_KEY);
Integer userId=user.getUserId();
if(loveMusicService.deleteLikeMusic(userId,musicId)){
return Result.success(true);
}
return Result.fail(Constant.RESULT_CODE_FAIL,"删除失败");
}
4.2 后端接口测试

4.3 前后端交互

5.修改后端代码,当删除音乐时lovemusic表中有关该音乐的也需要删除
待完善!!!