package music import ( "yunyan/comm" "yunyan/pb" "yunyan/sys/musicobj" "fmt" ) // @Summary 获取音乐播放地址 // @Description 获取音乐播放地址 // @Tags Music // @Accept json // @Produce json // @Security BearerAuth // @Param user body pb.MusicSearchReq true "请求数据" // @Success 200 {object} comm.HttpResult{data=pb.MusicSearchResp} "响应数据" // @Router /api/home/music_search [post] func (this *apiComp) Search(session comm.IUserSession, req *pb.MusicSearchReq) (resp *pb.MusicSearchResp, errdata *pb.ErrorData) { var ( musics []*pb.DBMusic songslist *musicobj.SearchResultResponse err error ) if songslist, err = musicobj.SearchMusic(req.Keywords, int(req.Limit), int(req.Offset)); err != nil { errdata = &pb.ErrorData{ Code: pb.ErrorCode_MusicSearchError, Message: err.Error(), } return } else { if len(songslist.Data.Musics) == 0 { errdata = &pb.ErrorData{ Code: pb.ErrorCode_MusicNotFound, Message: fmt.Sprintf("未找到关键字:%s 相关歌单", req.Keywords), } return } } musics = make([]*pb.DBMusic, 0) for _, v := range songslist.Data.Musics { musiccard := &pb.DBMusic{Id: v.Id} musiccard.Name = v.Name musiccard.Singer = v.Singer musiccard.Image = v.Image musics = append(musics, musiccard) } resp = &pb.MusicSearchResp{ Musics: musics, } return }