feat(music): 添加音乐状态获取功能并优化音乐列表展示

- 新增 getMusicStatus API 接口,用于获取音乐的收藏和点赞状态
- 在音乐列表、歌单详情、搜索结果等页面中集成音乐状态获取功能
- 优化音乐播放器,主动获取并更新音乐状态
- 为每首歌曲添加收藏和点赞状态字段
This commit is contained in:
ikmkj
2025-07-26 00:02:03 +08:00
parent 4435315acf
commit 439d4b7588
11 changed files with 205 additions and 27 deletions

View File

@@ -4,6 +4,7 @@ import cn.dev33.satoken.annotation.SaCheckLogin;
import cn.dev33.satoken.annotation.SaCheckRole;
import cn.dev33.satoken.stp.StpUtil;
import com.test.musichouduan.dto.MusicDTO;
import com.test.musichouduan.dto.MusicStatusDTO;
import com.test.musichouduan.dto.PageResult;
import com.test.musichouduan.dto.Result;
import com.test.musichouduan.service.MusicService;
@@ -234,4 +235,17 @@ public class MusicController {
String message = isLiked ? "点赞成功" : "取消点赞成功";
return Result.success(message, isLiked);
}
/**
* 获取音乐的收藏和点赞状态
*
* @param id 音乐ID
* @return 响应结果
*/
@GetMapping("/{id}/status")
public Result<MusicStatusDTO> getMusicStatus(@PathVariable Long id) {
Long userId = StpUtil.getLoginIdDefaultNull() != null ? StpUtil.getLoginIdAsLong() : null;
MusicStatusDTO status = musicService.getMusicStatus(id, userId);
return Result.success(status);
}
}