Documentation
¶
Index ¶
- Variables
- type AlbumReq
- type AlbumResp
- type AlbumRespAlbum
- type AlbumRespAlbumArtist
- type AlbumRespSongs
- type Api
- func (a *Api) Album(ctx context.Context, req *AlbumReq) (*AlbumResp, error)
- func (a *Api) ApiWebLog(ctx context.Context, req *ApiWebLogReq) (*ApiWebLogResp, error)
- func (a *Api) ArtistSongs(ctx context.Context, req *ArtistSongsReq) (*ArtistSongsResp, error)
- func (a *Api) CDNList(ctx context.Context, req *CDNListReq) (*CDNListResp, error)
- func (a *Api) CloudDel(ctx context.Context, req *CloudDelReq) (*CloudDelResp, error)
- func (a *Api) CloudDownload(ctx context.Context, req *CloudDownloadReq) (*CloudDownloadResp, error)
- func (a *Api) CloudInfo(ctx context.Context, req *CloudInfoReq) (*CloudInfoResp, error)
- func (a *Api) CloudList(ctx context.Context, req *CloudListReq) (*CloudListResp, error)
- func (a *Api) CloudLyric(ctx context.Context, req *CloudLyricReq) (*CloudLyricResp, error)
- func (a *Api) CloudMusicStatus(ctx context.Context, req *CloudMusicStatusReq) (*CloudMusicStatusResp, error)
- func (a *Api) CloudPublish(ctx context.Context, req *CloudPublishReq) (*CloudPublishResp, error)
- func (a *Api) CloudTokenAlloc(ctx context.Context, req *CloudTokenAllocReq) (*CloudTokenAllocResp, error)
- func (a *Api) CloudUpload(ctx context.Context, req *CloudUploadReq) (*CloudUploadResp, error)
- func (a *Api) CloudUploadCheck(ctx context.Context, req *CloudUploadCheckReq) (*CloudUploadCheckResp, error)
- func (a *Api) CloudUploadCheckV2(ctx context.Context, req *CloudUploadCheckV2Req) (*CloudUploadCheckV2Resp, error)
- func (a *Api) CloudUploadNode(ctx context.Context, req *CloudUploadNodeReq) (*CloudUploadNodeResp, error)
- func (a *Api) CommentInfoList(ctx context.Context, req *CommentInfoListReq) (*CommentInfoListResp, error)
- func (a *Api) Comments(ctx context.Context, req *CommentsReq) (*CommentsResp, error)
- func (a *Api) DjRadioSub(ctx context.Context, req *DjRadioSub) (*DjRadioSubResp, error)
- func (a *Api) GetUserBindings(ctx context.Context, req *GetUserBindingsReq) (*GetUserBindingsResp, error)
- func (a *Api) GetUserInfo(ctx context.Context, req *GetUserInfoReq) (*GetUserInfoResp, error)
- func (a *Api) GetUserInfoDetail(ctx context.Context, req *GetUserInfoDetailReq) (*GetUserInfoDetailResp, error)
- func (a *Api) Layout(ctx context.Context, req *LayoutReq) (*LayoutResp, error)
- func (a *Api) Lyric(ctx context.Context, req *LyricReq) (*LyricResp, error)
- func (a *Api) LyricV1(ctx context.Context, req *LyricV1Req) (*LyricV1Resp, error)
- func (a *Api) NeedLogin(ctx context.Context) bool
- func (a *Api) PCDailyRecommendBlock(ctx context.Context, req *PCDailyRecommendBlockReq) (*PCDailyRecommendBlockResp, error)
- func (a *Api) PartnerContentAntispam(ctx context.Context, req *PartnerContentAntispamReq) (*PartnerContentAntispamResp, error)
- func (a *Api) PartnerDailyTask(ctx context.Context, req *PartnerTaskReq) (*PartnerTaskResp, error)
- func (a *Api) PartnerEvaluate(ctx context.Context, req *PartnerEvaluateReq) (*PartnerEvaluateResp, error)
- func (a *Api) PartnerExtraReport(ctx context.Context, req *PartnerExtraReportReq) (*PartnerExtraReportResp, error)
- func (a *Api) PartnerExtraTask(ctx context.Context, req *PartnerExtraTaskReq) (*PartnerExtraTaskResp, error)
- func (a *Api) PartnerHome(ctx context.Context, req *PartnerHomeReq) (*PartnerHomeResp, error)
- func (a *Api) PartnerHotPopup(ctx context.Context, req *PartnerHotPopupReq) (*PartnerHotPopupResp, error)
- func (a *Api) PartnerLatest(ctx context.Context, req *PartnerLatestReq) (*PartnerLatestResp, error)
- func (a *Api) PartnerNotice(ctx context.Context, req *PartnerNoticeReq) (*PartnerNoticeResp, error)
- func (a *Api) PartnerPeriod(ctx context.Context, req *PartnerPeriodReq) (*PartnerPeriodResp, error)
- func (a *Api) PartnerPickRight(ctx context.Context, req *PartnerPickRightReq) (*PartnerPickRightResp, error)
- func (a *Api) PartnerUserinfo(ctx context.Context, req *PartnerUserinfoReq) (*PartnerUserinfoResp, error)
- func (a *Api) PartnerWeek(ctx context.Context, req *PartnerWeekReq) (*PartnerWeekResp, error)
- func (a *Api) Playlist(ctx context.Context, req *PlaylistReq) (*PlaylistResp, error)
- func (a *Api) PlaylistDetail(ctx context.Context, req *PlaylistDetailReq) (*PlaylistDetailResp, error)
- func (a *Api) QrcodeCheck(ctx context.Context, req *QrcodeCheckReq) (*QrcodeCheckResp, error)
- func (a *Api) QrcodeCreateKey(ctx context.Context, req *QrcodeCreateKeyReq) (*QrcodeCreateKeyResp, error)
- func (a *Api) QrcodeGenerate(ctx context.Context, req *QrcodeGenerateReq) (*QrcodeGenerateResp, error)
- func (a *Api) Radio(ctx context.Context, req *RadioReq) (*RadioResp, error)
- func (a *Api) RecommendSongs(ctx context.Context, req *RecommendSongsReq) (*RecommendSongsResp, error)
- func (a *Api) RegisterAnonymous(ctx context.Context, req *RegisterAnonymousReq) (*RegisterAnonymousResp, error)
- func (a *Api) SearchDefault(ctx context.Context, req *SearchDefaultReq) (*SearchDefaultResp, error)
- func (a *Api) SignIn(ctx context.Context, req *SignInReq) (*SignInResp, error)
- func (a *Api) SignInHappyInfo(ctx context.Context, req *SignHappyInfoReq) (*SignHappyInfoResp, error)
- func (a *Api) SignInProgress(ctx context.Context, req *SignInProgressReq) (*SignInProgressResp, error)
- func (a *Api) SongDetail(ctx context.Context, req *SongDetailReq) (*SongDetailResp, error)
- func (a *Api) SongDownloadUrl(ctx context.Context, req *SongDownloadUrlReq) (*SongDownloadUrlResp, error)
- func (a *Api) SongDownloadUrlV1(ctx context.Context, req *SongDownloadUrlV1Req) (*SongDownloadUrlV1Resp, error)
- func (a *Api) SongMusicQuality(ctx context.Context, req *SongMusicQualityReq) (*SongMusicQualityResp, error)
- func (a *Api) SongPlayer(ctx context.Context, req *SongPlayerReq) (*SongPlayerResp, error)
- func (a *Api) SongPlayerV1(ctx context.Context, req *SongPlayerV1Req) (*SongPlayerV1Resp, error)
- func (a *Api) TokenRefresh(ctx context.Context, req *TokenRefreshReq) (*TokenRefreshResp, error)
- func (a *Api) TopList(ctx context.Context, req *TopListReq) (*TopListResp, error)
- func (a *Api) TopNewSongs(ctx context.Context, req *TopNewSongsReq) (*TopNewSongsResp, error)
- func (a *Api) VipClientInfo(ctx context.Context, req *VipClientInfoReq) (*VipClientInfoResp, error)
- func (a *Api) VipInfo(ctx context.Context, req *VipInfoReq) (*VipInfoResp, error)
- func (a *Api) VipRewardGet(ctx context.Context, req *VipRewardGetReq) (*VipRewardGetResp, error)
- func (a *Api) VipRewardGetAll(ctx context.Context, req *VipRewardGetAllReq) (*VipRewardGetAllResp, error)
- func (a *Api) VipTask(ctx context.Context, req *VipTaskReq) (*VipTaskResp, error)
- func (a *Api) VipTaskV2(ctx context.Context, req *VipTaskV2Req) (*VipTaskV2Resp, error)
- func (a *Api) WebLog(ctx context.Context, req *WebLogReq) (*WebLogResp, error)
- func (a *Api) YunBeiExpense(ctx context.Context, req *YunBeiExpenseReq) (*YunBeiExpenseResp, error)
- func (a *Api) YunBeiExpire(ctx context.Context, req *YunBeiExpireReq) (*YunBeiExpireResp, error)
- func (a *Api) YunBeiNewJudge(ctx context.Context, req *YunBeiNewJudgeReq) (*YunBeiNewJudgeResp, error)
- func (a *Api) YunBeiReceipt(ctx context.Context, req *YunBeiReceiptReq) (*YunBeiReceiptResp, error)
- func (a *Api) YunBeiRecommendConfig(ctx context.Context, req *YunBeiRecommendConfigReq) (*YunBeiRecommendConfigResp, error)
- func (a *Api) YunBeiSignIn(ctx context.Context, req *YunBeiSignInReq) (*YunBeiSignInResp, error)
- func (a *Api) YunBeiSignInCalendar(ctx context.Context, req *YunBeiSignInCalendarReq) (*YunBeiSignInCalendarResp, error)
- func (a *Api) YunBeiSignInJudge(ctx context.Context, req *YunBeiSignInJudgeReq) (*YunBeiSignInJudgeResp, error)
- func (a *Api) YunBeiSignInProgress(ctx context.Context, req *YunBeiSignInProgressReq) (*YunBeiSignInProgressResp, error)
- func (a *Api) YunBeiSignInfo(ctx context.Context, req *YunBeiSignInfoReq) (*YunBeiSignInfoResp, error)
- func (a *Api) YunBeiTaskFinish(ctx context.Context, req *YunBeiTaskFinishReq) (*YunBeiTaskFinishResp, error)
- func (a *Api) YunBeiTaskList(ctx context.Context, req *YunBeiTaskListReq) (*YunBeiTaskListResp, error)
- func (a *Api) YunBeiTaskListV3(ctx context.Context, req *YunBeiTaskListV3Req) (*YunBeiTaskListV3Resp, error)
- func (a *Api) YunBeiTaskTodo(ctx context.Context, req *YunBeiTaskTodoReq) (*YunBeiTaskTodoResp, error)
- func (a *Api) YunBeiTodaySignInInfo(ctx context.Context, req *YunBeiTodaySignInInfoReq) (*YunBeiTodaySignInInfoResp, error)
- func (a *Api) YunBeiUserInfo(ctx context.Context, req *YunBeiUserInfoReq) (*YunBeiUserInfoResp, error)
- type ApiWebLogReq
- type ApiWebLogReqJson
- type ApiWebLogResp
- type AreaId
- type ArtistSongsReq
- type ArtistSongsResp
- type ArtistSongsRespSongs
- type Batch
- type BatchAPI
- type CDNListReq
- type CDNListResp
- type CloudDelReq
- type CloudDelResp
- type CloudDownloadReq
- type CloudDownloadResp
- type CloudInfoReq
- type CloudInfoResp
- type CloudListReq
- type CloudListResp
- type CloudListRespData
- type CloudListRespDataSimpleSong
- type CloudLyricReq
- type CloudLyricResp
- type CloudMusicStatusReq
- type CloudMusicStatusResp
- type CloudMusicStatusRespData
- type CloudPublishReq
- type CloudPublishResp
- type CloudTokenAllocReq
- type CloudTokenAllocResp
- type CloudTokenAllocRespResult
- type CloudUploadCheckReq
- type CloudUploadCheckResp
- type CloudUploadCheckV2Req
- type CloudUploadCheckV2ReqSongs
- type CloudUploadCheckV2Resp
- type CloudUploadCheckV2RespData
- type CloudUploadLbsResp
- type CloudUploadNodeReq
- type CloudUploadNodeResp
- type CloudUploadReq
- type CloudUploadResp
- type CommentInfoListReq
- type CommentInfoListResp
- type CommentInfoListRespData
- type CommentsReq
- type CommentsResp
- type DjRadioSub
- type DjRadioSubResp
- type EapiOption
- type GetUserBindingsReq
- type GetUserBindingsResp
- type GetUserInfoDetailReq
- type GetUserInfoDetailResp
- type GetUserInfoReq
- type GetUserInfoResp
- type GetUserInfoRespAccount
- type GetUserInfoRespProfile
- type Headers
- type LayoutReq
- type LayoutResp
- type Lyric
- type LyricReq
- type LyricResp
- type LyricV1Req
- type LyricV1Resp
- type MusicQuality
- type PCDailyRecommendBlockReq
- type PCDailyRecommendBlockResp
- type PCDailyRecommendBlockRespData
- type PartnerContentAntispamReq
- type PartnerContentAntispamResp
- type PartnerEvaluateReq
- type PartnerEvaluateResp
- type PartnerEvaluateRespData
- type PartnerExtraReportReq
- type PartnerExtraReportResp
- type PartnerExtraReportRespData
- type PartnerExtraTaskReq
- type PartnerExtraTaskResp
- type PartnerExtraTaskRespData
- type PartnerHomeReq
- type PartnerHomeResp
- type PartnerHomeRespData
- type PartnerHotPopupReq
- type PartnerHotPopupResp
- type PartnerLatestReq
- type PartnerLatestResp
- type PartnerLatestRespData
- type PartnerNoticeReq
- type PartnerNoticeResp
- type PartnerPeriodReq
- type PartnerPeriodResp
- type PartnerPeriodRespData
- type PartnerPickRightReq
- type PartnerPickRightResp
- type PartnerPickRightRespData
- type PartnerTags
- type PartnerTaskReq
- type PartnerTaskResp
- type PartnerTaskRespData
- type PartnerUserinfoReq
- type PartnerUserinfoResp
- type PartnerUserinfoRespData
- type PartnerWeekData
- type PartnerWeekReq
- type PartnerWeekResp
- type PartnerWork
- type PlaylistDetailReq
- type PlaylistDetailResp
- type PlaylistReq
- type PlaylistResp
- type PlaylistRespList
- type PrivateCloud
- type QrcodeCheckReq
- type QrcodeCheckResp
- type QrcodeCreateKeyReq
- type QrcodeCreateKeyResp
- type QrcodeGenerateReq
- type QrcodeGenerateResp
- type RadioReq
- type RadioResp
- type RadioRespData
- type RadioRespDataArtist
- type RadioRespDataMusic
- type RecommendSongsReq
- type RecommendSongsResp
- type RecommendSongsRespData
- type RegisterAnonymousReq
- type RegisterAnonymousResp
- type RequestData
- type SearchDefaultReq
- type SearchDefaultResp
- type SearchDefaultRespData
- type SignHappyInfoReq
- type SignHappyInfoResp
- type SignHappyInfoRespData
- type SignInProgressReq
- type SignInProgressResp
- type SignInProgressRespData
- type SignInProgressRespDataStats
- type SignInProgressRespDataStatsPrizes
- type SignInReq
- type SignInResp
- type SongDetailReq
- type SongDetailReqList
- type SongDetailResp
- type SongDetailRespSongs
- type SongDownloadUrlReq
- type SongDownloadUrlResp
- type SongDownloadUrlRespData
- type SongDownloadUrlV1Req
- type SongDownloadUrlV1Resp
- type SongDownloadUrlV1RespData
- type SongMusicQualityReq
- type SongMusicQualityResp
- type SongMusicQualityRespData
- type SongPlayerReq
- type SongPlayerReqData
- type SongPlayerResp
- type SongPlayerRespV1Data
- type SongPlayerV1Req
- type SongPlayerV1Resp
- type TokenRefreshReq
- type TokenRefreshResp
- type TopListReq
- type TopListResp
- type TopListRespList
- type TopNewSongsReq
- type TopNewSongsResp
- type TopNewSongsRespData
- type TransUser
- type VipClientInfoReq
- type VipClientInfoResp
- type VipClientInfoRespData
- type VipInfoReq
- type VipInfoResp
- type VipInfoRespData
- type VipRewardGetAllReq
- type VipRewardGetAllResp
- type VipRewardGetAllRespData
- type VipRewardGetReq
- type VipRewardGetResp
- type VipTaskReq
- type VipTaskResp
- type VipTaskRespData
- type VipTaskV2Req
- type VipTaskV2Resp
- type VipTaskV2RespData
- type WebLogReq
- type WebLogResp
- type YunBeiExpenseReq
- type YunBeiExpenseResp
- type YunBeiExpireReq
- type YunBeiExpireResp
- type YunBeiExpireRespData
- type YunBeiNewJudgeReq
- type YunBeiNewJudgeResp
- type YunBeiNewJudgeRespData
- type YunBeiReceiptAndExpenseRespData
- type YunBeiReceiptReq
- type YunBeiReceiptResp
- type YunBeiRecommendConfigReq
- type YunBeiRecommendConfigResp
- type YunBeiRecommendConfigRespData
- type YunBeiSignInCalendarReq
- type YunBeiSignInCalendarResp
- type YunBeiSignInCalendarRespData
- type YunBeiSignInJudgeReq
- type YunBeiSignInJudgeResp
- type YunBeiSignInProgressReq
- type YunBeiSignInProgressResp
- type YunBeiSignInProgressRespData
- type YunBeiSignInProgressRespDataLotteryConfig
- type YunBeiSignInReq
- type YunBeiSignInResp
- type YunBeiSignInRespData
- type YunBeiSignInfoReq
- type YunBeiSignInfoResp
- type YunBeiSignInfoRespData
- type YunBeiTaskFinishReq
- type YunBeiTaskFinishResp
- type YunBeiTaskListReq
- type YunBeiTaskListResp
- type YunBeiTaskListRespData
- type YunBeiTaskListRespV3Data
- type YunBeiTaskListV3Req
- type YunBeiTaskListV3Resp
- type YunBeiTaskTodoReq
- type YunBeiTaskTodoResp
- type YunBeiTaskTodoRespData
- type YunBeiTodaySignInInfoReq
- type YunBeiTodaySignInInfoResp
- type YunBeiTodaySignInInfoRespData
- type YunBeiUserInfoReq
- type YunBeiUserInfoResp
Constants ¶
This section is empty.
Variables ¶
var PartnerTagsGroup = map[int64][]PartnerTags{ 1: {OneAOnePartnerTags, OneBOnePartnerTags, OneCOnePartnerTags, OneDOnePartnerTags, OneDTwoPartnerTags}, 2: {TwoAOnePartnerTags, TwoBOnePartnerTags, TwoCOnePartnerTags, TwoDOnePartnerTags, TwoDTwoPartnerTags}, 3: {ThreeAOnePartnerTags, ThreeATwoPartnerTags, ThreeBOnePartnerTags, ThreeCOnePartnerTags, ThreeDOnePartnerTags, ThreeDTwoPartnerTags, ThreeEOnePartnerTags, ThreeETwoPartnerTags}, 4: {FourAOnePartnerTags, FourATwoPartnerTags, FourBOnePartnerTags, FourCOnePartnerTags, FourDOnePartnerTags, FourDTwoPartnerTags, FourEOnePartnerTags, FourETwoPartnerTags}, 5: {FiveAOnePartnerTags, FiveATwoPartnerTags, FiveBOnePartnerTags, FiveCOnePartnerTags, FiveDOnePartnerTags, FiveDTwoPartnerTags, FiveEOnePartnerTags, FiveETwoPartnerTags}, }
Functions ¶
This section is empty.
Types ¶
type AlbumResp ¶
type AlbumResp struct {
types.RespCommon[any]
ResourceState bool `json:"resourceState"`
Songs []AlbumRespSongs `json:"songs"`
Album AlbumRespAlbum `json:"album"`
}
type AlbumRespAlbum ¶
type AlbumRespAlbum struct {
Alias []interface{} `json:"alias"`
Artist AlbumRespAlbumArtist `json:"artist"`
Artists []AlbumRespAlbumArtist `json:"artists"`
AwardTags interface{} `json:"awardTags"`
BlurPicUrl string `json:"blurPicUrl"`
BriefDesc interface{} `json:"briefDesc"`
CommentThreadId string `json:"commentThreadId"`
Company string `json:"company"`
CompanyId int64 `json:"companyId"`
CopyrightId int64 `json:"copyrightId"`
Description string `json:"description"`
Id int64 `json:"id"`
Info struct {
CommentCount int64 `json:"commentCount"`
CommentThread struct {
CommentCount int64 `json:"commentCount"`
HotCount int64 `json:"hotCount"`
Id string `json:"id"`
LatestLikedUsers interface{} `json:"latestLikedUsers"`
LikedCount int64 `json:"likedCount"`
ResourceId int64 `json:"resourceId"`
ResourceInfo struct {
Creator interface{} `json:"creator"`
EncodedId interface{} `json:"encodedId"`
Id int64 `json:"id"`
ImgUrl string `json:"imgUrl"`
Name string `json:"name"`
SubTitle interface{} `json:"subTitle"`
UserId int64 `json:"userId"`
WebUrl interface{} `json:"webUrl"`
} `json:"resourceInfo"`
ResourceOwnerId int64 `json:"resourceOwnerId"`
ResourceTitle string `json:"resourceTitle"`
ResourceType int64 `json:"resourceType"`
ShareCount int64 `json:"shareCount"`
} `json:"commentThread"`
Comments interface{} `json:"comments"`
LatestLikedUsers interface{} `json:"latestLikedUsers"`
Liked bool `json:"liked"`
LikedCount int64 `json:"likedCount"`
ResourceId int64 `json:"resourceId"`
ResourceType int64 `json:"resourceType"`
ShareCount int64 `json:"shareCount"`
ThreadId string `json:"threadId"`
} `json:"info"`
Mark int64 `json:"mark"`
Name string `json:"name"`
OnSale bool `json:"onSale"`
Paid bool `json:"paid"`
Pic int64 `json:"pic"`
PicId int64 `json:"picId"`
PicIdStr string `json:"picId_str"`
PicUrl string `json:"picUrl"`
PublishTime int64 `json:"publishTime"`
Size int64 `json:"size"`
Songs []interface{} `json:"songs"`
Status int64 `json:"status"`
SubType string `json:"subType"`
Tags string `json:"tags"`
Type string `json:"type"`
}
type AlbumRespAlbumArtist ¶
type AlbumRespAlbumArtist struct {
AlbumSize int64 `json:"albumSize"`
Alias []interface{} `json:"alias"`
BriefDesc string `json:"briefDesc"`
Followed bool `json:"followed"`
Id int64 `json:"id"`
Img1V1Id int64 `json:"img1v1Id"`
Img1V1IdStr string `json:"img1v1Id_str"`
Img1V1Url string `json:"img1v1Url"`
MusicSize int64 `json:"musicSize"`
Name string `json:"name"`
PicId int64 `json:"picId"`
PicIdStr string `json:"picId_str"`
PicUrl string `json:"picUrl"`
TopicPerson int64 `json:"topicPerson"`
Trans string `json:"trans"`
}
type AlbumRespSongs ¶
type AlbumRespSongs struct {
Id int64 `json:"id"`
A interface{} `json:"a"`
Al types.Album `json:"al"`
Alia []interface{} `json:"alia"`
Ar []types.Artist `json:"ar"`
Cd string `json:"cd"`
Cf string `json:"cf"`
Cp int64 `json:"cp"`
Crbt interface{} `json:"crbt"`
DjId int64 `json:"djId"`
Dt int64 `json:"dt"`
Fee int64 `json:"fee"`
Ftype int64 `json:"ftype"`
H *types.Quality `json:"h"`
Hr *types.Quality `json:"hr"`
L *types.Quality `json:"l"`
M *types.Quality `json:"m"`
Sq *types.Quality `json:"sq"`
Mst int64 `json:"mst"`
Mv int64 `json:"mv"`
Name string `json:"name"`
No int64 `json:"no"`
NoCopyrightRcmd interface{} `json:"noCopyrightRcmd"`
Pop float64 `json:"pop"`
Pst int64 `json:"pst"`
Rt string `json:"rt"`
RtUrl interface{} `json:"rtUrl"`
RtUrls []interface{} `json:"rtUrls"`
Rtype int64 `json:"rtype"`
Rurl interface{} `json:"rurl"`
SongJumpInfo interface{} `json:"songJumpInfo"`
St int64 `json:"st"`
T int64 `json:"t"`
V int64 `json:"v"`
Privilege struct {
types.Privileges
Code int64 `json:"code"`
Message interface{} `json:"message"`
} `json:"privilege"`
}
type Api ¶
type Api struct {
// contains filtered or unexported fields
}
func (*Api) ApiWebLog ¶
func (a *Api) ApiWebLog(ctx context.Context, req *ApiWebLogReq) (*ApiWebLogResp, error)
ApiWebLog 日志上报 目前已知使用场景 1. 登录使用行为
func (*Api) ArtistSongs ¶
func (a *Api) ArtistSongs(ctx context.Context, req *ArtistSongsReq) (*ArtistSongsResp, error)
ArtistSongs 歌手所有歌曲 url: needLogin:
func (*Api) CDNList ¶
func (a *Api) CDNList(ctx context.Context, req *CDNListReq) (*CDNListResp, error)
CDNList 获取CDN列表 url: testdata/har/5.har needLogin: 未知
func (*Api) CloudDel ¶
func (a *Api) CloudDel(ctx context.Context, req *CloudDelReq) (*CloudDelResp, error)
CloudDel 云盘歌曲删除 url: 15.har needLogin: 未知
func (*Api) CloudDownload ¶
func (a *Api) CloudDownload(ctx context.Context, req *CloudDownloadReq) (*CloudDownloadResp, error)
CloudDownload 云盘歌曲下载歌曲 url: testdata/har/2.har needLogin: 未知
func (*Api) CloudInfo ¶
func (a *Api) CloudInfo(ctx context.Context, req *CloudInfoReq) (*CloudInfoResp, error)
CloudInfo 上传信息歌曲信息 url: /testdata/9.har needLogin: 未知
func (*Api) CloudList ¶
func (a *Api) CloudList(ctx context.Context, req *CloudListReq) (*CloudListResp, error)
CloudList 查询云盘列表,包含云盘空间大小、已用空间数
func (*Api) CloudLyric ¶
func (a *Api) CloudLyric(ctx context.Context, req *CloudLyricReq) (*CloudLyricResp, error)
CloudLyric 云盘歌曲歌词获取 url: testdata/har/3.har needLogin: 未知
func (*Api) CloudMusicStatus ¶
func (a *Api) CloudMusicStatus(ctx context.Context, req *CloudMusicStatusReq) (*CloudMusicStatusResp, error)
CloudMusicStatus 查询上传文件状态信息,此接口貌似是上传文件后查询文件转码状态 url: /testdata/10.har needLogin: 未知
func (*Api) CloudPublish ¶
func (a *Api) CloudPublish(ctx context.Context, req *CloudPublishReq) (*CloudPublishResp, error)
CloudPublish 上传信息发布 url: testdata/har/13.har needLogin: 未知
func (*Api) CloudTokenAlloc ¶
func (a *Api) CloudTokenAlloc(ctx context.Context, req *CloudTokenAllocReq) (*CloudTokenAllocResp, error)
CloudTokenAlloc 获取上传云盘token url: needLogin: 未知
func (*Api) CloudUpload ¶
func (a *Api) CloudUpload(ctx context.Context, req *CloudUploadReq) (*CloudUploadResp, error)
CloudUpload 上传到云盘 url: needLogin: 未知 todo: 需要迁移到合适的包中
func (*Api) CloudUploadCheck ¶
func (a *Api) CloudUploadCheck(ctx context.Context, req *CloudUploadCheckReq) (*CloudUploadCheckResp, error)
CloudUploadCheck 获取上传云盘token url: needLogin: 未知
func (*Api) CloudUploadCheckV2 ¶ added in v0.1.0
func (a *Api) CloudUploadCheckV2(ctx context.Context, req *CloudUploadCheckV2Req) (*CloudUploadCheckV2Resp, error)
CloudUploadCheckV2 获取上传云盘token url: 14.har needLogin: 未知
func (*Api) CloudUploadNode ¶ added in v0.1.0
func (a *Api) CloudUploadNode(ctx context.Context, req *CloudUploadNodeReq) (*CloudUploadNodeResp, error)
CloudUploadNode 上传节点获取 url: 16.har needLogin: 不需要
func (*Api) CommentInfoList ¶ added in v0.1.4
func (a *Api) CommentInfoList(ctx context.Context, req *CommentInfoListReq) (*CommentInfoListResp, error)
CommentInfoList 获取歌曲评论梗概信息 har: 36.har needLogin: 未知
func (*Api) Comments ¶ added in v0.1.4
func (a *Api) Comments(ctx context.Context, req *CommentsReq) (*CommentsResp, error)
Comments 获取歌曲评论列表 har: 37.har needLogin: 未知
func (*Api) DjRadioSub ¶ added in v0.1.4
func (a *Api) DjRadioSub(ctx context.Context, req *DjRadioSub) (*DjRadioSubResp, error)
DjRadioSub 获取订阅博客列表 har: 34.har
func (*Api) GetUserBindings ¶ added in v0.1.4
func (a *Api) GetUserBindings(ctx context.Context, req *GetUserBindingsReq) (*GetUserBindingsResp, error)
GetUserBindings 获取用户绑定账号信息 har:
func (*Api) GetUserInfo ¶
func (a *Api) GetUserInfo(ctx context.Context, req *GetUserInfoReq) (*GetUserInfoResp, error)
GetUserInfo 获取用户信息
func (*Api) GetUserInfoDetail ¶ added in v0.1.4
func (a *Api) GetUserInfoDetail(ctx context.Context, req *GetUserInfoDetailReq) (*GetUserInfoDetailResp, error)
GetUserInfoDetail 获取用户信息 har: 29.har
func (*Api) LyricV1 ¶
func (a *Api) LyricV1(ctx context.Context, req *LyricV1Req) (*LyricV1Resp, error)
LyricV1 获取歌曲歌词,支持逐字歌词。 url: needLogin: 未知 see: https://github.com/Binaryify/NeteaseCloudMusicApi/issues/1667 https://docs-neteasecloudmusicapi.vercel.app/docs/#/?id=%e8%8e%b7%e5%8f%96%e9%80%90%e5%ad%97%e6%ad%8c%e8%af%8d
func (*Api) PCDailyRecommendBlock ¶ added in v0.1.4
func (a *Api) PCDailyRecommendBlock(ctx context.Context, req *PCDailyRecommendBlockReq) (*PCDailyRecommendBlockResp, error)
PCDailyRecommendBlock pc端每日推荐歌曲列表,目前已经在mac中有使用 har: todo: 400 错误待解决定位
func (*Api) PartnerContentAntispam ¶ added in v0.1.0
func (a *Api) PartnerContentAntispam(ctx context.Context, req *PartnerContentAntispamReq) (*PartnerContentAntispamResp, error)
PartnerContentAntispam 内容安审 har: 17.har
func (*Api) PartnerDailyTask ¶
func (a *Api) PartnerDailyTask(ctx context.Context, req *PartnerTaskReq) (*PartnerTaskResp, error)
PartnerDailyTask 查询当日任务情况 har: 22.har
func (*Api) PartnerEvaluate ¶
func (a *Api) PartnerEvaluate(ctx context.Context, req *PartnerEvaluateReq) (*PartnerEvaluateResp, error)
PartnerEvaluate 音乐评审提交 har: 26.har
func (*Api) PartnerExtraReport ¶
func (a *Api) PartnerExtraReport(ctx context.Context, req *PartnerExtraReportReq) (*PartnerExtraReportResp, error)
PartnerExtraReport 报告扩展听歌任务(2024年10月21日出的新功能测评) har: 25.har
func (*Api) PartnerExtraTask ¶
func (a *Api) PartnerExtraTask(ctx context.Context, req *PartnerExtraTaskReq) (*PartnerExtraTaskResp, error)
PartnerExtraTask 扩展听歌任务列表(2024年10月21日推出的新功能测评)。 har: 27.har
func (*Api) PartnerHome ¶
func (a *Api) PartnerHome(ctx context.Context, req *PartnerHomeReq) (*PartnerHomeResp, error)
PartnerHome 查询本周完成任务情况 har: 21.har
func (*Api) PartnerHotPopup ¶ added in v0.1.0
func (a *Api) PartnerHotPopup(ctx context.Context, req *PartnerHotPopupReq) (*PartnerHotPopupResp, error)
PartnerHotPopup 未知 har: 18.har
func (*Api) PartnerLatest ¶
func (a *Api) PartnerLatest(ctx context.Context, req *PartnerLatestReq) (*PartnerLatestResp, error)
PartnerLatest 查询下个周期开始时间 har: 20.har
func (*Api) PartnerNotice ¶
func (a *Api) PartnerNotice(ctx context.Context, req *PartnerNoticeReq) (*PartnerNoticeResp, error)
PartnerNotice 是否开启通知? har: 24.har
func (*Api) PartnerPeriod ¶
func (a *Api) PartnerPeriod(ctx context.Context, req *PartnerPeriodReq) (*PartnerPeriodResp, error)
PartnerPeriod 查询当前周期数据报告情况
func (*Api) PartnerPickRight ¶
func (a *Api) PartnerPickRight(ctx context.Context, req *PartnerPickRightReq) (*PartnerPickRightResp, error)
PartnerPickRight todo:正确数量? har: 23.har
func (*Api) PartnerUserinfo ¶
func (a *Api) PartnerUserinfo(ctx context.Context, req *PartnerUserinfoReq) (*PartnerUserinfoResp, error)
PartnerUserinfo 查询当前用户数据 har: 19.har
func (*Api) PartnerWeek ¶
func (a *Api) PartnerWeek(ctx context.Context, req *PartnerWeekReq) (*PartnerWeekResp, error)
PartnerWeek 查询当前周期周一数据报告情况
func (*Api) Playlist ¶
func (a *Api) Playlist(ctx context.Context, req *PlaylistReq) (*PlaylistResp, error)
Playlist 歌单列表.其中包含用户创建得歌单+我喜欢得歌单 url: https://app.apifox.com/project/3870894 testdata/har/4.har NeedLogin: 未知
func (*Api) PlaylistDetail ¶
func (a *Api) PlaylistDetail(ctx context.Context, req *PlaylistDetailReq) (*PlaylistDetailResp, error)
PlaylistDetail 歌单列表 url: testdata/har/7.har needLogin: 不需要认证
func (*Api) QrcodeCheck ¶
func (a *Api) QrcodeCheck(ctx context.Context, req *QrcodeCheckReq) (*QrcodeCheckResp, error)
QrcodeCheck 查询扫码状态 返回值: 800-二维码不存在或已过期 801-等待扫码 802-正在扫码授权中 803-授权登录成功
func (*Api) QrcodeCreateKey ¶
func (a *Api) QrcodeCreateKey(ctx context.Context, req *QrcodeCreateKeyReq) (*QrcodeCreateKeyResp, error)
QrcodeCreateKey 生成二维码需要得key 常见问题 1. 请求成功了,但是body为空值什么也没有,原因还是参数加密出现了问题。 2. crsftoken 可传可不传个人猜测前端写得通用框架传了
func (*Api) QrcodeGenerate ¶
func (a *Api) QrcodeGenerate(ctx context.Context, req *QrcodeGenerateReq) (*QrcodeGenerateResp, error)
QrcodeGenerate 根据 QrcodeCreateKey 接口生成得key生成生成二维码,注意此处不是调用服务接口。
func (*Api) Radio ¶ added in v0.1.4
Radio 私人漫游歌单 har: 32.har todo: 目前貌似今日首次进入为1,然后之后都为0,另外接口没有发现分页参数,另外貌似每次调用返回结果都不一样
func (*Api) RecommendSongs ¶
func (a *Api) RecommendSongs(ctx context.Context, req *RecommendSongsReq) (*RecommendSongsResp, error)
RecommendSongs 每日推荐歌曲列表 url: needLogin: 未知
func (*Api) RegisterAnonymous ¶ added in v0.1.4
func (a *Api) RegisterAnonymous(ctx context.Context, req *RegisterAnonymousReq) (*RegisterAnonymousResp, error)
RegisterAnonymous 匿名用户注册 har: 33.har
func (*Api) SearchDefault ¶
func (a *Api) SearchDefault(ctx context.Context, req *SearchDefaultReq) (*SearchDefaultResp, error)
SearchDefault 首页搜索输入框默认搜索关键词 url: testdata/har/11.har needLogin: 未知
func (*Api) SignIn ¶
SignIn 乐签每日签到 url: needLogin: 是 todo:
1.目前传0会出现功能暂不支持不知为何(可能请求头或cookie问题)待填坑 2.该接口签到成功后在手机app云贝中心看不到对应得奖励数据以及记录,猜测该接口可能要废弃了。
func (*Api) SignInHappyInfo ¶
func (a *Api) SignInHappyInfo(ctx context.Context, req *SignHappyInfoReq) (*SignHappyInfoResp, error)
SignInHappyInfo 乐签签到成功后返回的每日一言信息 url: needLogin: 是 todo: 该接口应该是旧得签到信息,现在云贝中心里面看不到此信息了
func (*Api) SignInProgress ¶
func (a *Api) SignInProgress(ctx context.Context, req *SignInProgressReq) (*SignInProgressResp, error)
SignInProgress 获取签到进度 url: needLogin: 是
func (*Api) SongDetail ¶
func (a *Api) SongDetail(ctx context.Context, req *SongDetailReq) (*SongDetailResp, error)
SongDetail 根据歌曲id获取歌曲详情 url: https://app.apifox.com/project/3870894 testdata/har/1.har needLogin: 未知
func (*Api) SongDownloadUrl ¶
func (a *Api) SongDownloadUrl(ctx context.Context, req *SongDownloadUrlReq) (*SongDownloadUrlResp, error)
SongDownloadUrl 根据歌曲id获取下载链接 url: needLogin: 未知 说明: 使用 SongPlayer(song/enhance/player/url) 接口获取的是歌曲试听url, 但存在部分歌曲在非 VIP 账号上可以下载无损音质而不能试听无损音质, 使用此接口可使非VIP账号获取这些歌曲的无损音频 see: https://gitlab.com/Binaryify/neteasecloudmusicapi/-/blob/main/public/docs/home.md?ref_type=heads#%E8%8E%B7%E5%8F%96%E5%AE%A2%E6%88%B7%E7%AB%AF%E6%AD%8C%E6%9B%B2%E4%B8%8B%E8%BD%BD-url
func (*Api) SongDownloadUrlV1 ¶
func (a *Api) SongDownloadUrlV1(ctx context.Context, req *SongDownloadUrlV1Req) (*SongDownloadUrlV1Resp, error)
SongDownloadUrlV1 获取客户端歌曲下载链接 url: needLogin: 未知 说明: 使用 `/api/song/enhance/player/url/v1` 接口获取的是歌曲试听 url, 非 VIP 账号最高只能获取 `极高` 音质,但免费类型的歌曲(`fee == 0`)使用本接口可最高获取`Hi-Res`音质的url。
func (*Api) SongMusicQuality ¶
func (a *Api) SongMusicQuality(ctx context.Context, req *SongMusicQualityReq) (*SongMusicQualityResp, error)
SongMusicQuality 根据歌曲id获取支持哪些音质.其中types.Quality部位nil得则代表支持得品质 har: 35.har needLogin: 未知
func (*Api) SongPlayer ¶
func (a *Api) SongPlayer(ctx context.Context, req *SongPlayerReq) (*SongPlayerResp, error)
SongPlayer 音乐播放详情 url: needLogin: 未知 提示: 获取的歌曲url有时效性,失效时间目前测试为20分钟,过期访问则会出现403错误
func (*Api) SongPlayerV1 ¶
func (a *Api) SongPlayerV1(ctx context.Context, req *SongPlayerV1Req) (*SongPlayerV1Resp, error)
SongPlayerV1 音乐播放详情 url: testdata/har/6.har needLogin: 未知 提示: 1.获取的歌曲url有时效性,失效时间目前测试为20分钟,过期访问则会出现403错误 2.杜比全景声音质需要设备支持,不同的设备可能会返回不同码率的url。cookie需要传入os=pc保证返回正常码率的url。 todo: 当试听时(测试得场景来自私人漫游)则参数传递为: {"ids":"["1955097630"]","level":"exhigh","encodeType":"aac","immerseType":"c51","trialMode":"36"}
func (*Api) TokenRefresh ¶
func (a *Api) TokenRefresh(ctx context.Context, req *TokenRefreshReq) (*TokenRefreshResp, error)
TokenRefresh 登录token刷新 har:
func (*Api) TopList ¶
func (a *Api) TopList(ctx context.Context, req *TopListReq) (*TopListResp, error)
TopList 排行榜列表,里面包含 飙升榜、热歌榜、新歌榜、原创榜.等等 url: https://music.163.com/#/discover/toplist needLogin: 未知
func (*Api) TopNewSongs ¶
func (a *Api) TopNewSongs(ctx context.Context, req *TopNewSongsReq) (*TopNewSongsResp, error)
TopNewSongs 新歌榜(新歌速递) url: needLogin: 未知
func (*Api) VipClientInfo ¶
func (a *Api) VipClientInfo(ctx context.Context, req *VipClientInfoReq) (*VipClientInfoResp, error)
VipClientInfo vip信息 url: needLogin: 未知
func (*Api) VipInfo ¶
func (a *Api) VipInfo(ctx context.Context, req *VipInfoReq) (*VipInfoResp, error)
VipInfo vip信息 url: needLogin: 未知
func (*Api) VipRewardGet ¶
func (a *Api) VipRewardGet(ctx context.Context, req *VipRewardGetReq) (*VipRewardGetResp, error)
VipRewardGet 领取vip成长值 url: needLogin: 未知
func (*Api) VipRewardGetAll ¶
func (a *Api) VipRewardGetAll(ctx context.Context, req *VipRewardGetAllReq) (*VipRewardGetAllResp, error)
VipRewardGetAll 领取vip所有成长值 url: needLogin: 未知
func (*Api) VipTask ¶
func (a *Api) VipTask(ctx context.Context, req *VipTaskReq) (*VipTaskResp, error)
VipTask vip任务列表 todo:该任务列表应该是旧接口貌似 url: needLogin: 未知
func (*Api) VipTaskV2 ¶
func (a *Api) VipTaskV2(ctx context.Context, req *VipTaskV2Req) (*VipTaskV2Resp, error)
VipTaskV2 vip任务列表V2 url: needLogin: 未知
func (*Api) YunBeiExpense ¶
func (a *Api) YunBeiExpense(ctx context.Context, req *YunBeiExpenseReq) (*YunBeiExpenseResp, error)
YunBeiExpense 获取用户云贝支出记录列表 url: needLogin: 是 todo: 迁移到合适的包中
func (*Api) YunBeiExpire ¶
func (a *Api) YunBeiExpire(ctx context.Context, req *YunBeiExpireReq) (*YunBeiExpireResp, error)
YunBeiExpire TODO: 应该是获取云贝过期数量 url: needLogin: 是
func (*Api) YunBeiNewJudge ¶
func (a *Api) YunBeiNewJudge(ctx context.Context, req *YunBeiNewJudgeReq) (*YunBeiNewJudgeResp, error)
YunBeiNewJudge TODO: 未知 url: needLogin: 是
func (*Api) YunBeiReceipt ¶
func (a *Api) YunBeiReceipt(ctx context.Context, req *YunBeiReceiptReq) (*YunBeiReceiptResp, error)
YunBeiReceipt 获取用户云贝收入记录列表 url: needLogin: 是 todo: 迁移到合适的包中
func (*Api) YunBeiRecommendConfig ¶
func (a *Api) YunBeiRecommendConfig(ctx context.Context, req *YunBeiRecommendConfigReq) (*YunBeiRecommendConfigResp, error)
YunBeiRecommendConfig 推荐配置 url: needLogin: 是
func (*Api) YunBeiSignIn ¶
func (a *Api) YunBeiSignIn(ctx context.Context, req *YunBeiSignInReq) (*YunBeiSignInResp, error)
YunBeiSignIn 云贝中心每日签到 该接口应该新版本接口,该接口签到成功后可在云贝中心看到奖励,而 SignIn() 签到成功后看不到奖励 url: needLogin: 是
func (*Api) YunBeiSignInCalendar ¶
func (a *Api) YunBeiSignInCalendar(ctx context.Context, req *YunBeiSignInCalendarReq) (*YunBeiSignInCalendarResp, error)
YunBeiSignInCalendar 获取签到日历情况 url: needLogin: 是
func (*Api) YunBeiSignInJudge ¶
func (a *Api) YunBeiSignInJudge(ctx context.Context, req *YunBeiSignInJudgeReq) (*YunBeiSignInJudgeResp, error)
YunBeiSignInJudge todo: 貌似判断当日是否签到状态待确认经测试发现未签到时也是返回true状态,还需要确定排查 url: needLogin: 是
func (*Api) YunBeiSignInProgress ¶
func (a *Api) YunBeiSignInProgress(ctx context.Context, req *YunBeiSignInProgressReq) (*YunBeiSignInProgressResp, error)
YunBeiSignInProgress 获取签到阶段奖励列表 url: needLogin: 是
func (*Api) YunBeiSignInfo ¶
func (a *Api) YunBeiSignInfo(ctx context.Context, req *YunBeiSignInfoReq) (*YunBeiSignInfoResp, error)
YunBeiSignInfo 获取用户每日签到任务信息? url: needLogin: 是
func (*Api) YunBeiTaskFinish ¶
func (a *Api) YunBeiTaskFinish(ctx context.Context, req *YunBeiTaskFinishReq) (*YunBeiTaskFinishResp, error)
YunBeiTaskFinish 获取完成云贝任务奖励,一次只能领取一个,网易一键领取是调用了多次该接口实现。 url: needLogin: 是
func (*Api) YunBeiTaskList ¶
func (a *Api) YunBeiTaskList(ctx context.Context, req *YunBeiTaskListReq) (*YunBeiTaskListResp, error)
YunBeiTaskList 获取用户云贝任务列表 url: needLogin: 是
func (*Api) YunBeiTaskListV3 ¶
func (a *Api) YunBeiTaskListV3(ctx context.Context, req *YunBeiTaskListV3Req) (*YunBeiTaskListV3Resp, error)
YunBeiTaskListV3 获取用户云贝任务列表V3(任务中心) url: needLogin: 是
func (*Api) YunBeiTaskTodo ¶
func (a *Api) YunBeiTaskTodo(ctx context.Context, req *YunBeiTaskTodoReq) (*YunBeiTaskTodoResp, error)
YunBeiTaskTodo 获取用户云贝todo任务列表,返回得列表中只包含未完成的任务。 url: needLogin: 是
func (*Api) YunBeiTodaySignInInfo ¶
func (a *Api) YunBeiTodaySignInInfo(ctx context.Context, req *YunBeiTodaySignInInfoReq) (*YunBeiTodaySignInInfoResp, error)
YunBeiTodaySignInInfo 获取今天签到获取的云贝数量 url: needLogin: 是
func (*Api) YunBeiUserInfo ¶
func (a *Api) YunBeiUserInfo(ctx context.Context, req *YunBeiUserInfoReq) (*YunBeiUserInfoResp, error)
YunBeiUserInfo 获取用户云贝用户信息 url: needLogin: 是
type ApiWebLogReq ¶
type ApiWebLogReq struct {
CsrfToken string `json:"csrf_token"`
Action string `json:"action"`
UseForRefer bool `json:"useForRefer"`
Json ApiWebLogReqJson `json:"json"`
}
ApiWebLogReq . [{"action":"_pv","useForRefer":true,"json":{"_plist":[{"_oid":"page_web_register_login"},{"_oid":"page_h5_biz"}],"_elist":[],"_spm":"page_web_register_login|page_h5_biz","_scm":":::|::","_eventtime":1704464373629,"_sessid":"1704464373588#479","g_dprefer":"[F:1][1704464373588#479]","is_webview":1}}]
type ApiWebLogReqJson ¶
type ApiWebLogReqJson struct {
Plist []struct {
Oid string `json:"_oid"`
} `json:"_plist"`
Elist []interface{} `json:"_elist"`
Spm string `json:"_spm"`
Scm string `json:"_scm"`
Duration string `json:"duration"`
Eventtime int64 `json:"_eventtime"`
Sessid string `json:"_sessid"`
GDprefer string `json:"g_dprefer"`
IsWebview int64 `json:"is_webview"`
}
type ApiWebLogResp ¶
type ApiWebLogResp struct {
types.RespCommon[any]
}
type ArtistSongsReq ¶
type ArtistSongsResp ¶
type ArtistSongsResp struct {
types.RespCommon[any]
More bool `json:"more"`
Total int64 `json:"total"`
Songs []ArtistSongsRespSongs `json:"songs"`
}
type ArtistSongsRespSongs ¶
type ArtistSongsRespSongs struct {
Id int64 `json:"id"`
A interface{} `json:"a"`
Al types.Album `json:"al"`
Alia []string `json:"alia"`
Ar []types.Artist `json:"ar"`
Cd string `json:"cd"`
Cf string `json:"cf"`
Cp int64 `json:"cp"`
Crbt interface{} `json:"crbt"`
DjId int64 `json:"djId"`
Dt int64 `json:"dt"`
Fee int64 `json:"fee"`
Ftype int64 `json:"ftype"`
H *types.Quality `json:"h"`
Hr *types.Quality `json:"hr"`
L *types.Quality `json:"l"`
M *types.Quality `json:"m"`
Sq *types.Quality `json:"sq"`
Mst int64 `json:"mst"`
Mv int64 `json:"mv"`
Name string `json:"name"`
No int64 `json:"no"`
NoCopyrightRcmd interface{} `json:"noCopyrightRcmd"`
Pop float64 `json:"pop"`
Pst int64 `json:"pst"`
Rt string `json:"rt"`
RtUrl interface{} `json:"rtUrl"`
RtUrls []interface{} `json:"rtUrls"`
Rtype int64 `json:"rtype"`
Rurl interface{} `json:"rurl"`
SongJumpInfo interface{} `json:"songJumpInfo"`
St int64 `json:"st"`
T int64 `json:"t"`
V int64 `json:"v"`
Tns []string `json:"tns,omitempty"`
Privilege struct {
types.Privileges
Code int64 `json:"code"`
Message interface{} `json:"message"`
} `json:"privilege"`
}
type CDNListReq ¶
type CDNListReq struct{}
type CDNListResp ¶
type CDNListResp struct {
types.RespCommon[[][]string]
}
type CloudDelReq ¶
type CloudDelReq struct {
SongIds types.IntsString `json:"songIds"`
}
type CloudDelResp ¶
type CloudDelResp struct {
// Code 200:成功 404:删除失败(当重复删除同一个id时会出现)
types.RespCommon[any]
// FailIds 删除失败的歌曲id
FailIds []int64 `json:"failIds"`
// SuccIds 删除成功的歌曲id
SuccIds []int64 `json:"succIds"`
}
type CloudDownloadReq ¶
type CloudDownloadReq struct {
SongId string `json:"songId"`
}
type CloudDownloadResp ¶
type CloudInfoReq ¶
type CloudInfoReq struct {
types.ReqCommon
// Md5 文件md5
Md5 string `json:"md5,omitempty"`
// SongId 歌曲id 从 CloudUploadCheck() api/cloud/upload/check接口返回值中获取
SongId string `json:"songid,omitempty"`
// Filename 文件名
Filename string `json:"filename,omitempty"`
// Song 歌曲名称
Song string `json:"song,omitempty"`
// Album 专辑名称
Album string `json:"album,omitempty"`
// Artist 艺术家
Artist string `json:"artist,omitempty"`
// Bitrate 比特率
Bitrate string `json:"bitrate,omitempty"`
ResourceId int64 `json:"resourceId,omitempty"`
// CoverId 封面id
CoverId string `json:"coverid,omitempty"`
// ObjectKey 在windows抓包发现需要上传此内容。更奇怪的是上传没有发现调用上传接口,
// 而是有点像非秒传场景直接忽略了上传这个步骤,有一点可以确定的是,我上传的文件"检测文件接口"返回得是true。
// 如果我按照windows上传方式传入此ObjectKey,此值时则会报以下错误:{"msg":"rep create failed","code":404}
// 解决方案目前暂时不传值此值
ObjectKey string `json:"objectKey,omitempty"`
}
type CloudInfoResp ¶
type CloudInfoResp struct {
// Code 404: 错误未知,目前在上传文件时文件大于200MB时出现此错误,经后来测试多试了几次重传发现又好了貌似是临时性错误,待确认排查。
Code int64 `json:"code,omitempty"`
SongId string `json:"songId,omitempty"`
SongIdLong int64 `json:"songIdLong"` // songId和songIdLong相等只不过类型不同
WaitTime int64 `json:"waitTime"`
Exists bool `json:"exists"`
NextUploadTime int64 `json:"nextUploadTime"`
PrivateCloud PrivateCloud `json:"privateCloud"`
}
type CloudListReq ¶
type CloudListResp ¶
type CloudListResp struct {
types.RespCommon[[]CloudListRespData]
HasMore bool // 用于分页
UpgradeSign int64 // 目前未知
MaxSize string // 网盘总共空间
Size string // 当前已经使用得空间
Count int64 // 歌曲总数量
}
type CloudListRespData ¶
type CloudListRespData struct {
SimpleSong CloudListRespDataSimpleSong `json:"simpleSong"`
SongId int64 `json:"songId"` // 歌曲ID
AddTime int64 `json:"addTime"` // 上传到网盘时间
Bitrate int64 `json:"bitrate"` //
SongName string `json:"songName"` // 歌曲名称
Album string `json:"album"` // 专辑名称
Artist string `json:"artist"` // 歌手
Cover int64 `json:"cover"`
CoverId string `json:"coverId"`
LyricId string `json:"lyricId"`
Version int64 `json:"version"`
FileSize int64 `json:"fileSize"` // 文件大小单位B
FileName string `json:"fileName"` // 音乐文件名称例如: 陈琳 - 十二种颜色.flac
}
type CloudListRespDataSimpleSong ¶
type CloudListRespDataSimpleSong struct {
Name string `json:"name"`
Id int64 `json:"id"`
Pst int64 `json:"pst"`
T int64 `json:"t"`
Ar []types.Artist `json:"ar"`
Alia []interface{} `json:"alia"`
Pop float64 `json:"pop"`
St int64 `json:"st"`
Rt string `json:"rt"`
Fee int64 `json:"fee"`
V int64 `json:"v"`
Crbt interface{} `json:"crbt"`
Cf string `json:"cf"`
Al types.Album `json:"al"`
Dt int64 `json:"dt"`
H *types.Quality `json:"h"`
M *types.Quality `json:"m"`
L *types.Quality `json:"l"`
A interface{} `json:"a"`
Cd string `json:"cd"`
No int64 `json:"no"`
RtUrl interface{} `json:"rtUrl"`
Ftype int64 `json:"ftype"`
RtUrls []interface{} `json:"rtUrls"`
DjId int64 `json:"djId"`
Copyright int64 `json:"copyright"`
SId int64 `json:"s_id"`
Mark int64 `json:"mark"`
OriginCoverType int64 `json:"originCoverType"`
OriginSongSimpleData interface{} `json:"originSongSimpleData"`
Single int64 `json:"single"`
NoCopyrightRcmd struct {
Type int64 `json:"type"`
TypeDesc string `json:"typeDesc"`
SongId interface{} `json:"songId"`
} `json:"noCopyrightRcmd"`
Cp int64 `json:"cp"`
Mv int64 `json:"mv"`
Mst int64 `json:"mst"`
Rurl interface{} `json:"rurl"`
Rtype int64 `json:"rtype"`
PublishTime int64 `json:"publishTime"`
Privilege types.Privileges `json:"privilege"`
}
type CloudLyricReq ¶
type CloudLyricResp ¶
type CloudLyricResp struct {
types.RespCommon[any]
Lyc string `json:"lrc"`
Krc string `json:"krc"`
}
type CloudMusicStatusReq ¶
type CloudMusicStatusReq struct {
SongIds types.IntsString `json:"songIds"`
}
type CloudMusicStatusResp ¶
type CloudMusicStatusResp struct {
types.RespCommon[any]
// Key为歌曲的id
Statuses map[string]CloudMusicStatusRespData `json:"statuses"`
}
type CloudPublishReq ¶
type CloudPublishResp ¶
type CloudPublishResp struct {
// 200:成功 201:貌似重复上传
Code int64 `json:"code"`
PrivateCloud PrivateCloud `json:"privateCloud"`
}
type CloudTokenAllocReq ¶
type CloudTokenAllocReq struct {
types.ReqCommon
Bucket string `json:"bucket,omitempty"`
// 文件扩展名 例如mp3、m4a、flac
Ext string `json:"ext,omitempty"`
Filename string `json:"filename,omitempty"`
Local string `json:"local,omitempty"`
// 3
NosProduct string `json:"nos_product,omitempty"`
// 文件类型 例如 audio
Type string `json:"type,omitempty"`
Md5 string `json:"md5,omitempty"`
}
type CloudTokenAllocResp ¶
type CloudTokenAllocResp struct {
types.RespCommon[any]
CloudTokenAllocRespResult `json:"result,omitempty"`
}
type CloudTokenAllocRespResult ¶
type CloudTokenAllocRespResult struct {
Bucket string `json:"bucket"` // 存储桶名称 如:ymusic
Token string `json:"token"` // 上传使用得token
OuterURL string `json:"outerUrl"`
DocID string `json:"docId"`
ObjectKey string `json:"objectKey"`
ResourceID int64 `json:"resourceId"`
}
CloudTokenAllocRespResult 数据示例 { "bucket": "jd-musicrep-privatecloud-audio-public", "token": "UPLOAD 037a197cb50b42468694de59c0bdd9b1:zWmW6BmWPo5mWEMdTCEjtu9SaSRpgYmSQpXtb20fVd0=:eyJSZWdpb24iOiJKRCIsIk9iamVjdCI6Im9iai93b0REbU1PQnc2UENsV3pDbk1LLS8zNjY1NjcyOTU5OC8xN2JjL2Y0MjQvYjMyNi84MDJiMmVmZTJiMGY1ZjU0MzAyNGFlYWFmNzQ3NGEwNi5tNGEiLCJFeHBpcmVzIjoxNzE4MzUyNjI4LCJCdWNrZXQiOiJqZC1tdXNpY3JlcC1wcml2YXRlY2xvdWQtYXVkaW8tcHVibGljIn0=", "outerUrl": "https://jd-musicrep-privatecloud-audio-public.nos-jd.163yun.com/obj%2FwoDDmMOBw6PClWzCnMK-%2F36656729598%2F17bc%2Ff424%2Fb326%2F802b2efe2b0f5f543024aeaaf7474a06.m4a?Signature=NuGYr715XbqmSdr7xWoVoYR0GiwDc6zJ0luYLY0WSaE%3D&Expires=1718350828&NOSAccessKeyId=037a197cb50b42468694de59c0bdd9b1", "docId": "-1", "objectKey": "obj/woDDmMOBw6PClWzCnMK-/36656729598/17bc/f424/b326/802b2efe2b0f5f543024aeaaf7474a06.m4a", "resourceId": 36656729598 }
type CloudUploadCheckReq ¶
type CloudUploadCheckReq struct {
types.ReqCommon
// 音乐比特率 例如: 128000、192000、320000、999000
Bitrate string `json:"bitrate,omitempty"`
Ext string `json:"ext,omitempty"`
Length string `json:"length,omitempty"`
Md5 string `json:"md5,omitempty"`
SongId string `json:"songId,omitempty"`
Version string `json:"version,omitempty"`
}
type CloudUploadCheckResp ¶
type CloudUploadCheckResp struct {
// code 501:貌似上传得文件过大
types.RespCommon[any]
SongId string `json:"songId,omitempty"`
// NeedUpload 是否需要上传 true:需要上传说明网易云网盘没有此音乐文件
NeedUpload bool `json:"needUpload" json:"needUpload,omitempty"`
}
type CloudUploadCheckV2Req ¶ added in v0.1.0
type CloudUploadCheckV2Req struct {
types.ReqCommon
UploadType int64 `json:"uploadType"` // 0
Songs []CloudUploadCheckV2ReqSongs `json:"songs"`
}
type CloudUploadCheckV2ReqSongs ¶ added in v0.1.0
type CloudUploadCheckV2Resp ¶ added in v0.1.0
type CloudUploadCheckV2Resp struct {
types.RespCommon[[]CloudUploadCheckV2RespData]
}
type CloudUploadCheckV2RespData ¶ added in v0.1.0
type CloudUploadLbsResp ¶
type CloudUploadNodeReq ¶ added in v0.1.0
type CloudUploadNodeReq struct {
Version string `json:"version"`
}
type CloudUploadNodeResp ¶ added in v0.1.0
type CloudUploadNodeResp struct {
Lbs string `json:"lbs"` // http://45.127.129.16/lbs
Upload []string `json:"upload"` // http://nosup-hz1.127.net
}
type CloudUploadReq ¶
type CloudUploadResp ¶
type CloudUploadResp struct {
// types.RespCommon[any]
// ErrCode 为空则说明成功
ErrCode string `json:"errCode,omitempty"`
ErrMsg string `json:"errMsg,omitempty"`
RequestId string `json:"requestId,omitempty"`
// Offset 用于分片上传时使用
Offset int64 `json:"offset,omitempty"`
// Context 用于分片上传时使用,用于下一个请求携带
Context string `json:"context,omitempty"`
CallbackRetMsg string `json:"callbackRetMsg,omitempty"`
DownloadUrl string `json:"downloadUrl,omitempty"` // 为啥没有?
}
type CommentInfoListReq ¶ added in v0.1.4
type CommentInfoListResp ¶ added in v0.1.4
type CommentInfoListResp struct {
types.RespCommon[[]CommentInfoListRespData]
}
type CommentInfoListRespData ¶ added in v0.1.4
type CommentInfoListRespData struct {
LatestLikedUsers interface{} `json:"latestLikedUsers"`
Liked bool `json:"liked"`
Comments interface{} `json:"comments"`
ResourceType int64 `json:"resourceType"`
ResourceId int64 `json:"resourceId"` // 应改是对应的歌曲id
CommentUpgraded bool `json:"commentUpgraded"`
MusicianSaidCount int64 `json:"musicianSaidCount"`
CommentCountDesc string `json:"commentCountDesc"` // 评论数描述基本和commentCount一样
LikedCount int64 `json:"likedCount"`
CommentCount int64 `json:"commentCount"` // 评论数
ThreadId string `json:"threadId"` // 线程id,用于获取评论列表使用
}
type CommentsReq ¶ added in v0.1.4
type CommentsReq struct {
types.ReqCommon
ComposeConcert string `json:"composeConcert"` // eg: bool
CommentId string `json:"commentId"` // eg: 0
MarkReplied bool `json:"markReplied"` // eg: bool
Offset string `json:"offset"` // 第几页 eg: "0"
Limit string `json:"limit"` // 每页数量 eg: "60"
CompareUserLocation bool `json:"compareUserLocation"` // eg: bool
ForceFlatComment bool `json:"forceFlatComment"` // eg: bool
BeforeTime string `json:"beforeTime"` // eg: "0"
ShowInner bool `json:"showInner"` // eg: bool
ThreadId string `json:"threadId"` // eg: R_SO_4_2128846655 see CommentInfoListRespData.ThreadId
}
type CommentsResp ¶ added in v0.1.4
type CommentsResp struct {
IsMusician bool `json:"isMusician"`
Cnum int64 `json:"cnum"`
UserId int64 `json:"userId"`
TopComments []interface{} `json:"topComments"`
Code int64 `json:"code"`
Comments []struct {
User struct {
LocationInfo interface{} `json:"locationInfo"`
LiveInfo interface{} `json:"liveInfo"`
Anonym int64 `json:"anonym"`
Highlight bool `json:"highlight"`
AvatarUrl string `json:"avatarUrl"`
AvatarDetail *struct {
UserType int64 `json:"userType"`
IdentityLevel int64 `json:"identityLevel"`
IdentityIconUrl string `json:"identityIconUrl"`
} `json:"avatarDetail"`
UserType int64 `json:"userType"`
Followed bool `json:"followed"`
Mutual bool `json:"mutual"`
RemarkName interface{} `json:"remarkName"`
SocialUserId interface{} `json:"socialUserId"`
VipRights *struct {
Associator *struct {
VipCode int64 `json:"vipCode"`
Rights bool `json:"rights"`
IconUrl string `json:"iconUrl"`
} `json:"associator"`
MusicPackage *struct {
VipCode int64 `json:"vipCode"`
Rights bool `json:"rights"`
IconUrl string `json:"iconUrl"`
} `json:"musicPackage"`
Redplus *struct {
VipCode int64 `json:"vipCode"`
Rights bool `json:"rights"`
IconUrl string `json:"iconUrl"`
} `json:"redplus"`
RedVipAnnualCount int64 `json:"redVipAnnualCount"`
RedVipLevel int64 `json:"redVipLevel"`
RelationType int64 `json:"relationType"`
MemberLogo interface{} `json:"memberLogo"`
} `json:"vipRights"`
Nickname string `json:"nickname"`
AuthStatus int64 `json:"authStatus"`
ExpertTags interface{} `json:"expertTags"`
Experts interface{} `json:"experts"`
VipType int64 `json:"vipType"`
CommonIdentity interface{} `json:"commonIdentity"`
UserId int64 `json:"userId"`
Target interface{} `json:"target"`
} `json:"user"`
BeReplied []struct {
User struct {
LocationInfo interface{} `json:"locationInfo"`
LiveInfo interface{} `json:"liveInfo"`
Anonym int64 `json:"anonym"`
Highlight bool `json:"highlight"`
AvatarUrl string `json:"avatarUrl"`
AvatarDetail *struct {
UserType int64 `json:"userType"`
IdentityLevel int64 `json:"identityLevel"`
IdentityIconUrl string `json:"identityIconUrl"`
} `json:"avatarDetail"`
UserType int64 `json:"userType"`
Followed bool `json:"followed"`
Mutual bool `json:"mutual"`
RemarkName interface{} `json:"remarkName"`
SocialUserId interface{} `json:"socialUserId"`
VipRights interface{} `json:"vipRights"`
Nickname string `json:"nickname"`
AuthStatus int64 `json:"authStatus"`
ExpertTags interface{} `json:"expertTags"`
Experts interface{} `json:"experts"`
VipType int64 `json:"vipType"`
CommonIdentity interface{} `json:"commonIdentity"`
UserId int64 `json:"userId"`
Target interface{} `json:"target"`
} `json:"user"`
BeRepliedCommentId int64 `json:"beRepliedCommentId"`
Content *string `json:"content"`
RichContent *string `json:"richContent"`
Status int64 `json:"status"`
ExpressionUrl interface{} `json:"expressionUrl"`
IpLocation struct {
Ip interface{} `json:"ip"`
Location string `json:"location"`
UserId int64 `json:"userId"`
} `json:"ipLocation"`
} `json:"beReplied"`
PendantData *struct {
Id int64 `json:"id"`
ImageUrl string `json:"imageUrl"`
} `json:"pendantData"`
ShowFloorComment interface{} `json:"showFloorComment"`
Status int64 `json:"status"`
CommentId int64 `json:"commentId"`
Content string `json:"content"` // 评论内容
RichContent *string `json:"richContent"`
ContentResource interface{} `json:"contentResource"`
Time int64 `json:"time"`
TimeStr string `json:"timeStr"`
NeedDisplayTime bool `json:"needDisplayTime"`
LikedCount int64 `json:"likedCount"`
ExpressionUrl interface{} `json:"expressionUrl"`
CommentLocationType int64 `json:"commentLocationType"`
ParentCommentId int64 `json:"parentCommentId"`
Decoration struct {
} `json:"decoration"`
RepliedMark interface{} `json:"repliedMark"`
Grade interface{} `json:"grade"`
UserBizLevels interface{} `json:"userBizLevels"`
IpLocation struct {
Ip interface{} `json:"ip"`
Location string `json:"location"`
UserId int64 `json:"userId"`
} `json:"ipLocation"`
Owner bool `json:"owner"`
Medal interface{} `json:"medal"`
LikeAnimationMap struct {
} `json:"likeAnimationMap"`
Liked bool `json:"liked"`
} `json:"comments"`
Total int64 `json:"total"`
More bool `json:"more"`
}
type DjRadioSub ¶ added in v0.1.4
type DjRadioSubResp ¶ added in v0.1.4
type DjRadioSubResp struct {
Count int64 `json:"count"` // 总条数
DjRadios []struct {
Dj struct {
DefaultAvatar bool `json:"defaultAvatar"`
Province int64 `json:"province"`
AuthStatus int64 `json:"authStatus"`
Followed bool `json:"followed"`
AvatarUrl string `json:"avatarUrl"`
AccountStatus int64 `json:"accountStatus"`
Gender int64 `json:"gender"`
City int64 `json:"city"`
Birthday int64 `json:"birthday"`
UserId int64 `json:"userId"`
UserType int64 `json:"userType"`
Nickname string `json:"nickname"`
Signature string `json:"signature"`
Description string `json:"description"`
DetailDescription string `json:"detailDescription"`
AvatarImgId int64 `json:"avatarImgId"`
BackgroundImgId int64 `json:"backgroundImgId"`
BackgroundUrl string `json:"backgroundUrl"`
Authority int64 `json:"authority"`
Mutual bool `json:"mutual"`
ExpertTags interface{} `json:"expertTags"`
Experts interface{} `json:"experts"`
DjStatus int64 `json:"djStatus"`
VipType int64 `json:"vipType"`
RemarkName interface{} `json:"remarkName"`
AuthenticationTypes int64 `json:"authenticationTypes"`
AvatarDetail interface{} `json:"avatarDetail"`
AvatarImgIdStr string `json:"avatarImgIdStr"`
BackgroundImgIdStr string `json:"backgroundImgIdStr"`
Anchor bool `json:"anchor"`
AvatarImgIdStr1 string `json:"avatarImgId_str"`
} `json:"dj"`
Category string `json:"category"`
SecondCategory string `json:"secondCategory"`
Buyed bool `json:"buyed"`
Price int64 `json:"price"`
OriginalPrice int64 `json:"originalPrice"`
DiscountPrice interface{} `json:"discountPrice"`
PurchaseCount int64 `json:"purchaseCount"`
LastProgramName string `json:"lastProgramName"`
Videos interface{} `json:"videos"`
Finished bool `json:"finished"`
UnderShelf bool `json:"underShelf"`
LiveInfo interface{} `json:"liveInfo"`
PlayCount int64 `json:"playCount"`
Privacy bool `json:"privacy"`
Icon interface{} `json:"icon"`
ManualTagsDTO interface{} `json:"manualTagsDTO"`
DescPicList []struct {
Type int64 `json:"type"`
Id int64 `json:"id"`
Content string `json:"content"`
Height *int64 `json:"height"`
Width *int64 `json:"width"`
TimeStamp interface{} `json:"timeStamp"`
NestedData interface{} `json:"nestedData"`
} `json:"descPicList"`
ReplaceRadioId int64 `json:"replaceRadioId"`
ReplaceRadio interface{} `json:"replaceRadio"`
PicUrl string `json:"picUrl"`
ShortName interface{} `json:"shortName"`
FeeScope int64 `json:"feeScope"`
LastProgramId int64 `json:"lastProgramId"`
IntervenePicUrl string `json:"intervenePicUrl"`
LastProgramCreateTime int64 `json:"lastProgramCreateTime"`
RadioFeeType int64 `json:"radioFeeType"`
PicId int64 `json:"picId"`
CategoryId int64 `json:"categoryId"`
TaskId int64 `json:"taskId"`
ProgramCount int64 `json:"programCount"`
SubCount int64 `json:"subCount"`
ParticipateUidList []interface{} `json:"participateUidList"`
OperateUidList []interface{} `json:"operateUidList"`
IntervenePicId int64 `json:"intervenePicId"`
Dynamic bool `json:"dynamic"`
Name string `json:"name"`
Id int64 `json:"id"`
Desc string `json:"desc"`
CreateTime int64 `json:"createTime"`
Rcmdtext *string `json:"rcmdtext"`
NewProgramCount int64 `json:"newProgramCount"`
} `json:"djRadios"`
Time int64 `json:"time"` // eg:1625317200000
HasMore bool `json:"hasMore"`
Code int64 `json:"code"` // 200: success
}
type EapiOption ¶
EapiOption eapi 请求所需要的参数
type GetUserBindingsReq ¶ added in v0.1.4
type GetUserBindingsReq struct {
UserId int64 `json:"userId"`
}
type GetUserBindingsResp ¶ added in v0.1.4
type GetUserBindingsResp struct {
Code int64 `json:"code"`
Bindings []struct {
TokenJsonStr string `json:"tokenJsonStr"`
ExpiresIn int64 `json:"expiresIn"`
BindingTime int64 `json:"bindingTime"`
RefreshTime int64 `json:"refreshTime"`
Url string `json:"url"`
Expired bool `json:"expired"`
UserId int64 `json:"userId"`
Id int64 `json:"id"`
Type int64 `json:"type"` // 1:手机号 5:qq 其他暂时未知
} `json:"bindings"`
}
type GetUserInfoDetailReq ¶ added in v0.1.4
type GetUserInfoDetailResp ¶ added in v0.1.4
type GetUserInfoDetailResp struct {
Code int64 `json:"code"` // 200:成功 404:未找到用户
Level int64 `json:"level"`
ListenSongs int64 `json:"listenSongs"`
// UserPoint 云贝信息
UserPoint struct {
UserId int64 `json:"userId"`
Balance int64 `json:"balance"` // 云贝数量
UpdateTime int64 `json:"updateTime"`
Version int64 `json:"version"` // 版本(貌似表示此工能版本)
Status int64 `json:"status"`
BlockBalance int64 `json:"blockBalance"` // 冻结数量
} `json:"userPoint"`
MobileSign bool `json:"mobileSign"`
PcSign bool `json:"pcSign"`
Profile struct {
PrivacyItemUnlimit struct {
Area bool `json:"area"`
College bool `json:"college"`
Gender bool `json:"gender"`
Age bool `json:"age"`
VillageAge bool `json:"villageAge"`
} `json:"privacyItemUnlimit"`
AvatarDetail interface{} `json:"avatarDetail"`
AvatarImgId int64 `json:"avatarImgId"`
Birthday int64 `json:"birthday"` // eg: 851875200000
Gender int64 `json:"gender"` // 性别 0:未知
Nickname string `json:"nickname"`
DefaultAvatar bool `json:"defaultAvatar"`
AvatarUrl string `json:"avatarUrl"`
BackgroundImgId int64 `json:"backgroundImgId"`
BackgroundUrl string `json:"backgroundUrl"`
UserType int64 `json:"userType"`
Province int64 `json:"province"`
VipType int64 `json:"vipType"` // 0:无vip
AccountStatus int64 `json:"accountStatus"`
RemarkName interface{} `json:"remarkName"`
Followed int64 `json:"followed"`
Mutual int64 `json:"mutual"`
DjStatus int64 `json:"djStatus"`
City int64 `json:"city"`
DetailDescription string `json:"detailDescription"`
CreateTime int64 `json:"createTime"`
Experts struct {
} `json:"experts"`
AuthStatus int64 `json:"authStatus"`
ExpertTags interface{} `json:"expertTags"`
AvatarImgIdStr string `json:"avatarImgIdStr"`
BackgroundImgIdStr string `json:"backgroundImgIdStr"`
Description string `json:"description"`
UserId int64 `json:"userId"`
Signature string `json:"signature"` // 简介
Authority int64 `json:"authority"`
Followeds int64 `json:"followeds"` // 粉丝数量 和下面的 NewFollows 粉丝数量不值有何区别
Follows int64 `json:"follows"`
Blacklist bool `json:"blacklist"`
EventCount int64 `json:"eventCount"`
AllSubscribedCount int64 `json:"allSubscribedCount"`
PlaylistBeSubscribedCount int64 `json:"playlistBeSubscribedCount"`
AvatarImgIdStr1 string `json:"avatarImgId_str"`
FollowTime interface{} `json:"followTime"`
FollowMe bool `json:"followMe"`
ArtistIdentity []interface{} `json:"artistIdentity"`
CCount int64 `json:"cCount"`
InBlacklist bool `json:"inBlacklist"`
SDJPCount int64 `json:"sDJPCount"`
PlaylistCount int64 `json:"playlistCount"` // 创建的歌单数量
SCount int64 `json:"sCount"` // 收藏的歌单数量
NewFollows int64 `json:"newFollows"` // 粉丝数量 和上面的Followeds不知有何区别
} `json:"profile"`
PeopleCanSeeMyPlayRecord bool `json:"peopleCanSeeMyPlayRecord"`
// Bindings 绑定账号信息,比如是否有手机号绑定 see: Api.GetUserBindings()
Bindings []struct {
ExpiresIn int `json:"expiresIn"`
RefreshTime int `json:"refreshTime"`
BindingTime int64 `json:"bindingTime"`
TokenJsonStr interface{} `json:"tokenJsonStr"`
Url string `json:"url"`
Expired bool `json:"expired"`
UserId int `json:"userId"`
Id int64 `json:"id"`
Type int `json:"type"` // 1:手机号 5:qq 其他暂时未知
} `json:"bindings"`
AdValid bool `json:"adValid"`
NewUser bool `json:"newUser"`
RecallUser bool `json:"recallUser"`
CreateTime int64 `json:"createTime"`
CreateDays int `json:"createDays"`
// 村民证
ProfileVillageInfo struct {
Title string `json:"title"`
ImageUrl string `json:"imageUrl"`
TargetUrl string `json:"targetUrl"`
} `json:"profileVillageInfo"`
}
type GetUserInfoReq ¶
type GetUserInfoResp ¶
type GetUserInfoResp struct {
types.RespCommon[any]
Account *GetUserInfoRespAccount `json:"account"`
Profile *GetUserInfoRespProfile `json:"profile"`
}
type GetUserInfoRespAccount ¶
type GetUserInfoRespAccount struct {
Id int64 `json:"id"`
UserName string `json:"userName"`
Type int64 `json:"type"`
Status int64 `json:"status"`
WhitelistAuthority int64 `json:"whitelistAuthority"`
CreateTime int64 `json:"createTime"`
TokenVersion int64 `json:"tokenVersion"`
Ban int64 `json:"ban"`
BaoyueVersion int64 `json:"baoyueVersion"`
DonateVersion int64 `json:"donateVersion"`
VipType int64 `json:"vipType"`
AnonimousUser bool `json:"anonimousUser"`
PaidFee bool `json:"paidFee"`
}
type GetUserInfoRespProfile ¶
type GetUserInfoRespProfile struct {
UserId int64 `json:"userId"`
UserType int64 `json:"userType"`
Nickname string `json:"nickname"`
AvatarImgId int64 `json:"avatarImgId"`
AvatarUrl string `json:"avatarUrl"`
BackgroundImgId int64 `json:"backgroundImgId"`
BackgroundUrl string `json:"backgroundUrl"`
Signature string `json:"signature"`
CreateTime int64 `json:"createTime"`
UserName string `json:"userName"`
AccountType int64 `json:"accountType"`
ShortUserName string `json:"shortUserName"`
Birthday int64 `json:"birthday"`
Authority int64 `json:"authority"`
Gender int64 `json:"gender"`
AccountStatus int64 `json:"accountStatus"`
Province int64 `json:"province"`
City int64 `json:"city"`
AuthStatus int64 `json:"authStatus"`
Description interface{} `json:"description"`
DetailDescription interface{} `json:"detailDescription"`
DefaultAvatar bool `json:"defaultAvatar"`
ExpertTags interface{} `json:"expertTags"`
Experts interface{} `json:"experts"`
DjStatus int64 `json:"djStatus"`
LocationStatus int64 `json:"locationStatus"`
VipType int64 `json:"vipType"`
Followed bool `json:"followed"`
Mutual bool `json:"mutual"`
Authenticated bool `json:"authenticated"`
LastLoginTime int64 `json:"lastLoginTime"`
LastLoginIP string `json:"lastLoginIP"`
RemarkName interface{} `json:"remarkName"`
ViptypeVersion int64 `json:"viptypeVersion"`
AuthenticationTypes int64 `json:"authenticationTypes"`
AvatarDetail interface{} `json:"avatarDetail"`
Anchor bool `json:"anchor"`
}
type LayoutResp ¶
type LayoutResp struct {
types.RespCommon[any]
}
type LyricResp ¶
type LyricResp struct {
types.RespCommon[any]
Sgc bool `json:"sgc"`
Sfy bool `json:"sfy"`
Qfy bool `json:"qfy"`
TransUser TransUser `json:"transUser,omitempty"` // 翻译贡献者
LyricUser TransUser `json:"lyricUser,omitempty"` // 歌词贡献者
Lrc Lyric `json:"lrc"` // 歌词
KLyric Lyric `json:"klyric"` // ?
TLyric Lyric `json:"tlyric"` // 翻译歌词版本
RomaLrc Lyric `json:"romalrc"` // 音译歌词 例如: 今天我寒夜里看雪飘过 -> gam tin o hon yei lei hon sv piu guo
}
type LyricV1Req ¶
type LyricV1Resp ¶
type LyricV1Resp struct {
types.RespCommon[any]
Sgc bool `json:"sgc"`
Sfy bool `json:"sfy"`
Qfy bool `json:"qfy"`
NeedDesc bool `json:"needDesc"`
PureMusic bool `json:"pureMusic"`
BriefDesc interface{} `json:"briefDesc,omitempty"`
TransUser TransUser `json:"transUser,omitempty"` // 翻译贡献者
LyricUser TransUser `json:"lyricUser,omitempty"` // 歌词贡献者
Lrc Lyric `json:"lrc"` // 歌词
KLyric Lyric `json:"klyric"` //
TLyric Lyric `json:"tlyric"` // 翻译版本
RomaLrc Lyric `json:"romalrc"` // 音译歌词
Yrc Lyric `json:"yrc,omitempty"` // 逐字歌词
YRomaLrc Lyric `json:"yromalrc,omitempty"` //
}
type MusicQuality ¶
type MusicQuality struct {
Bitrate int64 `json:"bitrate"`
DfsId int `json:"dfsId"`
Extension string `json:"extension"`
Id int64 `json:"id"`
Name interface{} `json:"name"`
PlayTime int `json:"playTime"`
Size int `json:"size"`
Sr int `json:"sr"`
VolumeDelta float64 `json:"volumeDelta"`
}
MusicQuality 和 type.Quality 类似
type PCDailyRecommendBlockReq ¶ added in v0.1.4
type PCDailyRecommendBlockReq struct {
}
type PCDailyRecommendBlockResp ¶ added in v0.1.4
type PCDailyRecommendBlockResp struct {
types.RespCommon[PCDailyRecommendBlockRespData]
// 应改是页面配置
Trp struct {
Rules []string `json:"rules"` // eg: COMMON_INTERVENE_POSITION::WEEKLY_NEW_HOT_TREND_OP_CHANNEL_13::linkPlatform$cc$WEEKLY_NEW_HOT_TREND_OP_CHANNEL$bpo$default$bc$traffic$rt$playlist$pc$COMMON_INTERVENE_POSITION$fgid$495003$pgid$0$pid$1938255$rid$5395389058$cid$1897560
} `json:"trp"`
}
type PCDailyRecommendBlockRespData ¶ added in v0.1.4
type PCDailyRecommendBlockRespData struct {
BlockTitle string `json:"blockTitle"`
TitleAction interface{} `json:"titleAction"`
BlockLabel string `json:"blockLabel"`
BlockIcon interface{} `json:"blockIcon"`
IconAction interface{} `json:"iconAction"`
IconResourceId interface{} `json:"iconResourceId"`
HasMore bool `json:"hasMore"`
Items []struct {
Title string `json:"title"`
SubTitle interface{} `json:"subTitle"`
SimplifiedTitle string `json:"simplifiedTitle"`
Description *string `json:"description"`
CoverText string `json:"coverText"`
Tags interface{} `json:"tags"`
CoverUrl string `json:"coverUrl"`
IconUrl interface{} `json:"iconUrl"`
CoverUrlType interface{} `json:"coverUrlType"`
ActionText interface{} `json:"actionText"`
TargetUrl string `json:"targetUrl"`
ResourceId string `json:"resourceId"`
RelateResourceId interface{} `json:"relateResourceId"`
ResourceType string `json:"resourceType"`
LunaItemType interface{} `json:"lunaItemType"`
SubResourceType *string `json:"subResourceType"`
ModuleType string `json:"moduleType"`
PlayCount interface{} `json:"playCount"`
PlayCountStr interface{} `json:"playCountStr"`
ResourceExtInfo *struct {
Creators interface{} `json:"creators"`
Artists []struct {
NickName *string `json:"nickName"`
ImgUrl string `json:"imgUrl"`
Id int64 `json:"id"`
Name string `json:"name"`
} `json:"artists"`
ExtInfo interface{} `json:"extInfo"`
SubIndex interface{} `json:"subIndex"`
CoverText interface{} `json:"coverText"`
} `json:"resourceExtInfo"`
PlayBtnData *struct {
PauseType string `json:"pauseType"`
PlayType string `json:"playType"`
ResourceType string `json:"resourceType"`
PlayActionType string `json:"playActionType"`
ResourceId string `json:"resourceId"`
PlayOrpheus string `json:"playOrpheus"`
} `json:"playBtnData"`
SongIds []int64 `json:"songIds"`
ExtData struct {
DayOfMonth string `json:"dayOfMonth,omitempty"`
AlgTitle interface{} `json:"alg_title"`
RcmdData []struct {
ItemId string `json:"itemId"`
ItemType string `json:"itemType"`
CoverId interface{} `json:"coverId"`
CoverType interface{} `json:"coverType"`
Alg string `json:"alg"`
Reason interface{} `json:"reason"`
ReasonId interface{} `json:"reasonId"`
ReasonClick bool `json:"reasonClick"`
ReasonType int64 `json:"reasonType"`
CoverResourceType interface{} `json:"coverResourceType"`
ReasonTag interface{} `json:"reasonTag"`
Src interface{} `json:"src"`
Tags []string `json:"tags"`
LogInfo string `json:"logInfo"`
AiTitle string `json:"aiTitle"`
WaterMark string `json:"waterMark"`
PlaylistId interface{} `json:"playlistId"`
PlaylistType interface{} `json:"playlistType"`
MusDTO interface{} `json:"musDTO"`
ArtistId interface{} `json:"artistId"`
StrategyTypes interface{} `json:"strategyTypes"`
Score interface{} `json:"score"`
ExtMap struct {
} `json:"extMap"`
} `json:"rcmdData,omitempty"`
TagId int64 `json:"tagId,omitempty"`
TagName string `json:"tagName,omitempty"`
CategoryId int `json:"categoryId,omitempty"`
} `json:"extData"`
Alg string `json:"alg"`
CoverId *string `json:"coverId"`
CoverType *string `json:"coverType"`
CoverAlg *string `json:"coverAlg"`
LogInfo *string `json:"logInfo"`
RadioAlg interface{} `json:"radioAlg"`
TagText *string `json:"tagText"`
PlaylistType interface{} `json:"playlistType"`
Demote bool `json:"demote"`
Reason interface{} `json:"reason"`
ReasonId interface{} `json:"reasonId"`
PicId *int64 `json:"picId"`
PositionCode string `json:"positionCode"`
ButtonDTO interface{} `json:"buttonDTO"`
} `json:"items"`
SongBlockContent interface{} `json:"songBlockContent"`
Alg string `json:"alg"`
ExtInfo struct {
AbTestGroupMap interface{} `json:"abTestGroupMap"`
PcRcmdDemoteItems []struct {
Title string `json:"title"`
SubTitle interface{} `json:"subTitle"`
SimplifiedTitle interface{} `json:"simplifiedTitle"`
Description interface{} `json:"description"`
CoverText string `json:"coverText"`
Tags interface{} `json:"tags"`
CoverUrl string `json:"coverUrl"`
IconUrl interface{} `json:"iconUrl"`
CoverUrlType interface{} `json:"coverUrlType"`
ActionText interface{} `json:"actionText"`
TargetUrl string `json:"targetUrl"`
ResourceId string `json:"resourceId"`
RelateResourceId interface{} `json:"relateResourceId"`
ResourceType string `json:"resourceType"`
LunaItemType interface{} `json:"lunaItemType"`
SubResourceType string `json:"subResourceType"`
ModuleType interface{} `json:"moduleType"`
PlayCount interface{} `json:"playCount"`
PlayCountStr interface{} `json:"playCountStr"`
ResourceExtInfo interface{} `json:"resourceExtInfo"`
PlayBtnData struct {
PauseType string `json:"pauseType"`
PlayType string `json:"playType"`
ResourceType string `json:"resourceType"`
PlayActionType string `json:"playActionType"`
ResourceId string `json:"resourceId"`
PlayOrpheus string `json:"playOrpheus"`
} `json:"playBtnData"`
SongIds interface{} `json:"songIds"`
ExtData struct {
TagId int `json:"tagId,omitempty"`
CategoryId int `json:"categoryId,omitempty"`
} `json:"extData"`
Alg string `json:"alg"`
CoverId interface{} `json:"coverId"`
CoverType interface{} `json:"coverType"`
CoverAlg interface{} `json:"coverAlg"`
LogInfo interface{} `json:"logInfo"`
RadioAlg interface{} `json:"radioAlg"`
TagText interface{} `json:"tagText"`
PlaylistType interface{} `json:"playlistType"`
Demote bool `json:"demote"`
Reason interface{} `json:"reason"`
ReasonId interface{} `json:"reasonId"`
PicId interface{} `json:"picId"`
PositionCode interface{} `json:"positionCode"`
ButtonDTO interface{} `json:"buttonDTO"`
} `json:"pcRcmdDemoteItems"`
SingleSongCtrp interface{} `json:"singleSongCtrp"`
} `json:"extInfo"`
Button interface{} `json:"button"`
TrialSceneMode interface{} `json:"trialSceneMode"`
IconUrl interface{} `json:"iconUrl"`
}
type PartnerContentAntispamReq ¶ added in v0.1.0
type PartnerContentAntispamReq struct {
types.ReqCommon
Type string `json:"type"` // 类型 comment:评论
Content string `json:"content"` // 内容
TaskId string `json:"taskId"`
WorkId string `json:"workId"`
}
PartnerContentAntispamReq eapi请求示例参数 {"type":"comment","content":"过去是一段时光的记忆,回不去忘不了","taskId":"185640294","workId":"1561351","header":"{}","e_r":true}
type PartnerContentAntispamResp ¶ added in v0.1.0
type PartnerContentAntispamResp struct {
types.RespCommon[any]
}
PartnerContentAntispamResp 成功响应: {"code":200,"data":{},"message":""}
type PartnerEvaluateReq ¶
type PartnerEvaluateReq struct {
types.ReqCommon
TaskId string `json:"taskId"` // 任务id 参数值对应https://interface.music.163.com/weapi/music/partner/daily/task/get 接口
WorkId string `json:"workId"` // 哪首歌曲id 参数值对应https://interface.music.163.com/weapi/music/partner/daily/task/get 接口
Score string `json:"score"` // 分值1~5
Tags PartnerTags `json:"tags"` // 音乐标签,多个以逗号分隔。貌似扩展音乐可以不打标签
CustomTags string `json:"customTags"` // 实际为数组 "[]"
Comment string `json:"comment"` // 评论内容
SyncYunCircle bool `json:"syncYunCircle"` // 同步到音乐圈中
SyncComment bool `json:"syncComment"` // ?
Source string `json:"source"` // 应该表示平台,暂时写死:mp-music-partner
ExtraScore string `json:"extraScore"` // 扩展评分,对应: 歌词、旋律、演唱 \"{\\\"1\\\":3,\\\"2\\\":3,\\\"3\\\":3}\"
ExtraResource bool `json:"extraResource"` // 当测评扩展更多歌曲时为true
}
PartnerEvaluateReq "{"taskId":118761451,"workId":787080,"score":4,"tags":"4-A-1,4-A-2,4-B-1,4-C-1,4-D-1,4-D-2,4-E-1,4-E-2","customTags":"[\"特别\"]","comment":"","syncYunCircle":false,"syncComment":true,"source":"mp-music-partner","csrf_token":"77bf3a5074699038504234d63d68d917"}"
type PartnerEvaluateResp ¶
type PartnerEvaluateResp struct {
types.RespCommon[PartnerEvaluateRespData]
}
type PartnerEvaluateRespData ¶
type PartnerEvaluateRespData struct {
SongCommentInfo struct {
CommentId int64 `json:"commentId"`
ThreadId string `json:"threadId"`
} `json:"songCommentInfo"`
EvaluateRes bool `json:"evaluateRes"` // 测评结果
TodayExtendEvaNum int64 `json:"todayExtendEvaNum"` // 今天测评了多少扩展歌曲
CurScore int64 `json:"curScore"` // 当前歌曲测评得分,貌似只有在扩展歌曲测评时才返回之,反之返回null
ExtraScore map[string]float64 `json:"extraScore"` // 额外评分,也就是歌词、旋律、演唱
}
type PartnerExtraReportReq ¶
type PartnerExtraReportResp ¶
type PartnerExtraReportResp struct {
types.RespCommon[PartnerExtraReportRespData]
}
type PartnerExtraReportRespData ¶
type PartnerExtraReportRespData struct {
FailedReason interface{} `json:"failedReason"` // 如果不为空,则应改表示失败
InteractResult bool `json:"interactResult"`
}
type PartnerExtraTaskReq ¶
type PartnerExtraTaskResp ¶
type PartnerExtraTaskResp struct {
types.RespCommon[[]PartnerExtraTaskRespData]
}
type PartnerExtraTaskRespData ¶
type PartnerExtraTaskRespData struct {
Work PartnerWork `json:"work"`
Completed bool `json:"completed"`
Score float64 `json:"score"`
UserScore float64 `json:"userScore"`
Tags []interface{} `json:"tags"`
CustomTags []interface{} `json:"customTags"`
Comment string `json:"comment"`
SongCommentInfo interface{} `json:"songCommentInfo"`
TaskTitleDesc string `json:"taskTitleDesc"`
SupportExtraEvaTypes []int64 `json:"supportExtraEvaTypes"`
ExtraScore struct{} `json:"extraScore"`
TaskSource int64 `json:"taskSource"`
}
type PartnerHomeReq ¶
type PartnerHomeResp ¶
type PartnerHomeResp struct {
types.RespCommon[PartnerHomeRespData]
}
type PartnerHomeRespData ¶
type PartnerHomeRespData struct {
Period int64 `json:"period"`
Week int64 `json:"week"`
StartDate int64 `json:"startDate"` // eg: 1740931200000
EndDate int64 `json:"endDate"` // eg: 1740931200000
User struct {
UserId int64 `json:"userId"`
NickName string `json:"nickName"`
AvatarUrl string `json:"avatarUrl"`
Title string `json:"title"` // eg: JUNIOR、等
Days int64 `json:"days"` // 拥有多少多少天音乐合伙人
Number int64 `json:"number"`
} `json:"user"`
Integral struct {
Integral int64 `json:"integral"`
CurrentWeekIntegral int64 `json:"currentWeekIntegral"`
} `json:"integral"`
Title interface{} `json:"title"`
Banner interface{} `json:"banner"`
BtnDesc interface{} `json:"btnDesc"`
RuleUrl string `json:"ruleUrl"` // 音乐合伙人规则图片地支: https://y.music.163.com/g/yida/9fecf6a378be49a7a109ae9befb1b8d3
HotSongDto interface{} `json:"hotSongDto"`
}
type PartnerHotPopupReq ¶ added in v0.1.0
type PartnerHotPopupResp ¶ added in v0.1.0
type PartnerHotPopupResp struct {
types.RespCommon[any]
}
type PartnerLatestReq ¶
type PartnerLatestResp ¶
type PartnerLatestResp struct {
types.RespCommon[PartnerLatestRespData]
}
type PartnerLatestRespData ¶
type PartnerNoticeReq ¶
type PartnerNoticeResp ¶
type PartnerNoticeResp struct {
types.RespCommon[bool]
}
type PartnerPeriodReq ¶
type PartnerPeriodResp ¶
type PartnerPeriodResp struct {
types.RespCommon[PartnerPeriodRespData]
}
type PartnerPeriodRespData ¶
type PartnerPeriodRespData struct {
Period int64 `json:"period"`
Week int64 `json:"week"`
Periods string `json:"periods"`
SectionPeriod interface{} `json:"sectionPeriod"`
User struct {
UserId int64 `json:"userId"`
NickName string `json:"nickName"`
AvatarUrl string `json:"avatarUrl"`
} `json:"user"`
PickRight interface{} `json:"pickRight"`
Title string `json:"title"`
Integral int64 `json:"integral"`
Evaluation struct {
EvaluateCount int64 `json:"evaluateCount"`
BasicIntegral int64 `json:"basicIntegral"`
AccuracyIntegral int64 `json:"accuracyIntegral"`
AccurateCount int64 `json:"accurateCount"`
AccurateRate int64 `json:"accurateRate"`
AccuracyLevel string `json:"accuracyLevel"`
} `json:"evaluation"`
Top3 []struct {
Work struct {
Id int64 `json:"id"`
ResourceType string `json:"resourceType"`
ResourceId int64 `json:"resourceId"`
Name string `json:"name"`
CoverUrl string `json:"coverUrl"`
AuthorName string `json:"authorName"`
Duration int64 `json:"duration"`
Source string `json:"source"`
Status string `json:"status"`
BackendForceOffline bool `json:"backendForceOffline"`
WorkResourceInfo interface{} `json:"workResourceInfo"`
} `json:"work"`
Score float64 `json:"score"`
AvgScore float64 `json:"avgScore"`
BasicIntegral int64 `json:"basicIntegral"`
AccuracyIntegral int64 `json:"accuracyIntegral"`
EvaluateCount int64 `json:"evaluateCount"`
Tags []struct {
Tag string `json:"tag"`
Count int64 `json:"count"`
} `json:"tags"`
ScoreStats struct {
Field1 int64 `json:"2.0"`
Field2 int64 `json:"4.0"`
Field3 int64 `json:"5.0"`
Field4 int64 `json:"3.0"`
Field5 int64 `json:"1.0,omitempty"`
} `json:"scoreStats"`
ScorePercentMap struct {
Field1 float64 `json:"4.0"`
Field2 float64 `json:"2.0"`
Field3 float64 `json:"5.0"`
Field4 float64 `json:"3.0"`
Field5 float64 `json:"1.0,omitempty"`
} `json:"scorePercentMap"`
Accuracy float64 `json:"accuracy"`
} `json:"top3"`
AccurateWorks []struct {
Work struct {
Id int64 `json:"id"`
ResourceType string `json:"resourceType"`
ResourceId int64 `json:"resourceId"`
Name string `json:"name"`
CoverUrl string `json:"coverUrl"`
AuthorName string `json:"authorName"`
Duration int64 `json:"duration"`
Source string `json:"source"`
Status string `json:"status"`
BackendForceOffline bool `json:"backendForceOffline"`
WorkResourceInfo interface{} `json:"workResourceInfo"`
} `json:"work"`
Score float64 `json:"score"`
AvgScore float64 `json:"avgScore"`
BasicIntegral int64 `json:"basicIntegral"`
AccuracyIntegral int64 `json:"accuracyIntegral"`
EvaluateCount int64 `json:"evaluateCount"`
Tags interface{} `json:"tags"`
ScoreStats interface{} `json:"scoreStats"`
ScorePercentMap interface{} `json:"scorePercentMap"`
Accuracy float64 `json:"accuracy"`
} `json:"accurateWorks"`
ExcellentWorks []interface{} `json:"excellentWorks"`
RecoverStatus bool `json:"recoverStatus"`
RecoverExpiredTime int64 `json:"recoverExpiredTime"`
ExcellentPlaylists []struct {
Id int64 `json:"id"`
Name string `json:"name"`
Cover string `json:"cover"`
} `json:"excellentPlaylists"`
// Status 状态 SETTLED: 可能是代表本期已经结算或者未满足320分失去测评资格了
Status string `json:"status"`
ResultConfigTitle interface{} `json:"resultConfigTitle"`
ConfigedAct interface{} `json:"configedAct"`
// Eliminated 状态: true 可能是代表未满足320分失去测评资格了,很大概率是,它和Status状态二者必占其一
Eliminated bool `json:"eliminated"`
}
type PartnerPickRightReq ¶
type PartnerPickRightResp ¶
type PartnerPickRightResp struct {
types.RespCommon[[]PartnerPickRightRespData]
}
type PartnerPickRightRespData ¶
type PartnerPickRightRespData struct{}
PartnerPickRightRespData TODO:待补充参数
type PartnerTags ¶
type PartnerTags string
PartnerTags 音乐合伙人测评默认标签
const ( OneAOnePartnerTags PartnerTags = "1-A-1" // 歌词立意差 OneBOnePartnerTags PartnerTags = "1-B-1" // 旋律无记忆 OneCOnePartnerTags PartnerTags = "1-C-1" // 唱功不好 OneDOnePartnerTags PartnerTags = "1-D-1" // 音色普通 OneDTwoPartnerTags PartnerTags = "1-D-2" // 情感不饱满 TwoAOnePartnerTags PartnerTags = "2-A-1" // 歌词立意一般 TwoBOnePartnerTags PartnerTags = "2-B-1" // 旋律平平 TwoCOnePartnerTags PartnerTags = "2-C-1" // 唱功一般 TwoDOnePartnerTags PartnerTags = "2-D-1" // 音色普通 TwoDTwoPartnerTags PartnerTags = "2-D-2" // 情感不饱满 ThreeAOnePartnerTags PartnerTags = "3-A-1" // 歌词有共鸣 ThreeATwoPartnerTags PartnerTags = "3-A-2" // 歌词立意不错 ThreeBOnePartnerTags PartnerTags = "3-B-1" // 旋律耐听 ThreeCOnePartnerTags PartnerTags = "3-C-1" // 唱功不错 ThreeDOnePartnerTags PartnerTags = "3-D-1" // 音色独特 ThreeDTwoPartnerTags PartnerTags = "3-D-2" // 情感到位 ThreeEOnePartnerTags PartnerTags = "3-E-1" // 有节奏感 ThreeETwoPartnerTags PartnerTags = "3-E-2" // 洗脑 FourAOnePartnerTags PartnerTags = "4-A-1" // 歌词有共鸣 FourATwoPartnerTags PartnerTags = "4-A-2" // 歌词立意好 FourBOnePartnerTags PartnerTags = "4-B-1" // 旋律耐听 FourCOnePartnerTags PartnerTags = "4-C-1" // 唱功不错 FourDOnePartnerTags PartnerTags = "4-D-1" // 音色独特 FourDTwoPartnerTags PartnerTags = "4-D-2" // 情感到位 FourEOnePartnerTags PartnerTags = "4-E-1" // 有节奏感 FourETwoPartnerTags PartnerTags = "4-E-2" // 洗脑 FiveAOnePartnerTags PartnerTags = "5-A-1" // 歌词强共鸣 FiveATwoPartnerTags PartnerTags = "5-A-2" // 歌词立意极高 FiveBOnePartnerTags PartnerTags = "5-B-1" // 旋律有记忆点 FiveCOnePartnerTags PartnerTags = "5-C-1" // 唱功惊艳 FiveDOnePartnerTags PartnerTags = "5-D-1" // 音色独特 FiveDTwoPartnerTags PartnerTags = "5-D-2" // 情感到位 FiveEOnePartnerTags PartnerTags = "5-E-1" // 有节奏感 FiveETwoPartnerTags PartnerTags = "5-E-2" // 洗脑 )
func (PartnerTags) String ¶
func (p PartnerTags) String() string
type PartnerTaskReq ¶
type PartnerTaskResp ¶
type PartnerTaskResp struct {
types.RespCommon[PartnerTaskRespData]
}
type PartnerTaskRespData ¶
type PartnerTaskRespData struct {
Id int64 `json:"id"`
// 任务数量,一般来说就是下面 Works 得数量目前来说是5
Count int64 `json:"count"`
// 完成数量
CompletedCount int64 `json:"completedCount"`
// 完成所有 Works 任务获得的积分,老版为10现在3.0版本为8分
Integral int64 `json:"integral"`
TaskTitle interface{} `json:"taskTitle"`
// Works 待测评的5首基础歌曲列表,如果没有测评资格则该任务列表为空
Works []struct {
Work PartnerWork `json:"work"`
Completed bool `json:"completed"`
Score float64 `json:"score"`
UserScore float64 `json:"userScore"`
Tags interface{} `json:"tags"`
CustomTags interface{} `json:"customTags"`
Comment interface{} `json:"comment"`
TaskTitleDesc interface{} `json:"taskTitleDesc"`
SongCommentInfo struct {
CommentId int64 `json:"commentId"`
ThreadId string `json:"threadId"`
} `json:"songCommentInfo"`
SupportExtraEvaTypes []int64 `json:"supportExtraEvaTypes"` // 扩展测评类型 歌词、旋律、演唱,对应数值需要待确定 1: 2: 3:
ExtraScore struct{} `json:"extraScore"`
TaskSource int64 `json:"taskSource"`
} `json:"works"`
// 推荐歌曲列表该列表为新得音乐合伙人3.0功能中增加,通常也是5首
RecResources []struct {
Work PartnerWork `json:"work"`
SpecialTag []string `json:"specialTag"`
SongCommonTags interface{} `json:"songCommonTags"`
ReceivedScore int64 `json:"receivedScore"`
QualityScore int64 `json:"qualityScore"`
RedHeartSong bool `json:"redHeartSong"`
Listened bool `json:"listened"`
CanInteract bool `json:"canInteract"`
PublishComment bool `json:"publishComment"`
PublishEvent bool `json:"publishEvent"`
CollectList bool `json:"collectList"`
TotalTaskNum int64 `json:"totalTaskNum"`
FinishTaskNum int64 `json:"finishTaskNum"`
TaskSource int64 `json:"taskSource"`
} `json:"recResources"`
PageTaskType int64 `json:"pageTaskType"`
CurRcmdScore int64 `json:"curRcmdScore"`
CanInteract bool `json:"canInteract"`
Completed bool `json:"completed"`
}
type PartnerUserinfoReq ¶
type PartnerUserinfoResp ¶
type PartnerUserinfoResp struct {
types.RespCommon[PartnerUserinfoRespData]
}
PartnerUserinfoResp code:703 非音乐合伙人
type PartnerUserinfoRespData ¶
type PartnerUserinfoRespData struct {
UserId int64 `json:"userId"`
NickName string `json:"nickName"`
AvatarUrl string `json:"avatarUrl"`
Number int64 `json:"number"`
// Title
// JUNIOR: 320高级音乐合伙人
// SENIOR: 400资深音乐合伙人
// (待补充): 480首席音乐合伙人
Title string `json:"title"`
// Days 成为音乐合伙人多少填
Days int64 `json:"days"`
Integral int64 `json:"integral"`
EvaluateCount int64 `json:"evaluateCount"`
PickCount int64 `json:"pickCount"`
// Status 状态 NORMAL:正常 ELIMINATED: 未满足320分失去测评资格了
Status string `json:"status"`
PickRights []interface{} `json:"pickRights"`
// TitleStats 音乐合伙人身份统计,比如多少次初级音乐合伙人,多少次高级音乐合伙人
TitleStats []struct {
// Title eg:JUNIOR、SENIOR
Title string `json:"title"`
// Count 累计次数
Count int64 `json:"count"`
} `json:"titleStats"`
CurrentPeriodRank interface{} `json:"currentPeriodRank"`
RecoverExpiredTime int64 `json:"recoverExpiredTime"`
RightType int64 `json:"rightType"`
RecCount int64 `json:"recCount"`
NextPeriodStart string `json:"nextPeriodStart"`
}
type PartnerWeekData ¶
type PartnerWeekData struct {
Period int64 `json:"period"`
Week int64 `json:"week"`
Periods interface{} `json:"periods"`
SectionPeriod string `json:"sectionPeriod"`
User struct {
UserId int64 `json:"userId"`
NickName string `json:"nickName"`
AvatarUrl string `json:"avatarUrl"`
} `json:"user"`
PickRight struct {
Status interface{} `json:"status"`
ValidTime int64 `json:"validTime"`
ValidDay int64 `json:"validDay"`
} `json:"pickRight"`
Title interface{} `json:"title"`
Integral int64 `json:"integral"`
Evaluation struct {
EvaluateCount int64 `json:"evaluateCount"`
BasicIntegral int64 `json:"basicIntegral"`
AccuracyIntegral int64 `json:"accuracyIntegral"`
AccurateCount int64 `json:"accurateCount"`
AccurateRate int64 `json:"accurateRate"`
AccuracyLevel string `json:"accuracyLevel"`
} `json:"evaluation"`
Top3 []struct {
Work struct {
Id int64 `json:"id"`
ResourceType string `json:"resourceType"`
ResourceId int64 `json:"resourceId"`
Name string `json:"name"`
CoverUrl string `json:"coverUrl"`
AuthorName string `json:"authorName"`
Duration int64 `json:"duration"`
Source string `json:"source"`
Status string `json:"status"`
BackendForceOffline bool `json:"backendForceOffline"`
WorkResourceInfo interface{} `json:"workResourceInfo"`
} `json:"work"`
Score float64 `json:"score"`
AvgScore float64 `json:"avgScore"`
BasicIntegral int64 `json:"basicIntegral"`
AccuracyIntegral int64 `json:"accuracyIntegral"`
EvaluateCount int64 `json:"evaluateCount"`
Tags []struct {
Tag string `json:"tag"`
Count int64 `json:"count"`
} `json:"tags"`
ScoreStats struct {
Field1 int64 `json:"4.0"`
Field2 int64 `json:"1.0,omitempty"`
Field3 int64 `json:"2.0"`
Field4 int64 `json:"5.0"`
Field5 int64 `json:"3.0"`
} `json:"scoreStats"`
ScorePercentMap struct {
Field1 float64 `json:"1.0,omitempty"`
Field2 float64 `json:"4.0"`
Field3 float64 `json:"2.0"`
Field4 float64 `json:"5.0"`
Field5 float64 `json:"3.0"`
} `json:"scorePercentMap"`
Accuracy float64 `json:"accuracy"`
} `json:"top3"`
AccurateWorks []struct {
Work struct {
Id int64 `json:"id"`
ResourceType string `json:"resourceType"`
ResourceId int64 `json:"resourceId"`
Name string `json:"name"`
CoverUrl string `json:"coverUrl"`
AuthorName string `json:"authorName"`
Duration int64 `json:"duration"`
Source string `json:"source"`
Status string `json:"status"`
BackendForceOffline bool `json:"backendForceOffline"`
WorkResourceInfo interface{} `json:"workResourceInfo"`
} `json:"work"`
Score float64 `json:"score"`
AvgScore float64 `json:"avgScore"`
BasicIntegral int64 `json:"basicIntegral"`
AccuracyIntegral int64 `json:"accuracyIntegral"`
EvaluateCount int64 `json:"evaluateCount"`
Tags interface{} `json:"tags"`
ScoreStats interface{} `json:"scoreStats"`
ScorePercentMap interface{} `json:"scorePercentMap"`
Accuracy float64 `json:"accuracy"`
} `json:"accurateWorks"`
ExcellentWorks []interface{} `json:"excellentWorks"`
RecoverStatus bool `json:"recoverStatus"`
RecoverExpiredTime int64 `json:"recoverExpiredTime"`
ExcellentPlaylists []struct {
Id int64 `json:"id"`
Name string `json:"name"`
Cover string `json:"cover"`
} `json:"excellentPlaylists"`
Status string `json:"status"`
ResultConfigTitle interface{} `json:"resultConfigTitle"`
ConfigedAct bool `json:"configedAct"`
Eliminated bool `json:"eliminated"`
}
type PartnerWeekReq ¶
type PartnerWeekResp ¶
type PartnerWeekResp struct {
types.RespCommon[PartnerWeekData]
}
type PartnerWork ¶
type PartnerWork struct {
Id int64 `json:"id"`
ResourceType string `json:"resourceType"` // 资源类型 SONG
ResourceId int64 `json:"resourceId"` // 歌曲id
Name string `json:"name"`
CoverUrl string `json:"coverUrl"`
AuthorName string `json:"authorName"`
LyricType int64 `json:"lyricType"` // 歌词格式类型 1
LyricContent string `json:"lyricContent"` // 歌词内容
Duration int64 `json:"duration"` // 时长单位s
SongStartPosition int64 `json:"songStartPosition"`
SongEndPosition int64 `json:"songEndPosition"`
Status string `json:"status"` // NORMAL
PlayUrl string `json:"playUrl"`
Source string `json:"source"` // RANK_INSERT,MUSE,SHARE_RES等
GoodRate int64 `json:"goodRate"`
Style string `json:"style"` // 华语、华语嘻哈说唱、等
// SupportExtraEvaTypes 支持的测评类型,歌词、旋律、演唱,根据网易规则有些歌曲只由1到2个维度,
// 详情:https://y.music.163.com/g/yida/9fecf6a378be49a7a109ae9befb1b8d3
SupportExtraEvaTypes []int64 `json:"supportExtraEvaTypes"`
}
type PlaylistDetailReq ¶
type PlaylistDetailReq struct {
Id string `json:"id"` // 歌单id 从接口 Playlist() 中获取
N string `json:"n"` // 数值类型,未知通常可以为0
S string `json:"s"` // 数值类型,歌单最近得S个收藏者 see: https://docs-neteasecloudmusicapi.vercel.app/docs/#/?id=%e8%8e%b7%e5%8f%96%e6%ad%8c%e5%8d%95%e8%af%a6%e6%83%85
}
type PlaylistDetailResp ¶
type PlaylistDetailResp struct {
types.ApiRespCommon[any]
RelatedVideos interface{} `json:"relatedVideos"`
Playlist struct {
Id int64 `json:"id"`
Name string `json:"name"`
CoverImgId int64 `json:"coverImgId"`
CoverImgUrl string `json:"coverImgUrl"`
CoverImgIdStr string `json:"coverImgId_str"`
AdType int64 `json:"adType"`
UserId int64 `json:"userId"`
CreateTime int64 `json:"createTime"`
Status int64 `json:"status"`
OpRecommend bool `json:"opRecommend"`
HighQuality bool `json:"highQuality"`
NewImported bool `json:"newImported"`
UpdateTime int64 `json:"updateTime"`
TrackCount int64 `json:"trackCount"`
SpecialType int64 `json:"specialType"`
Privacy int64 `json:"privacy"`
TrackUpdateTime int64 `json:"trackUpdateTime"`
CommentThreadId string `json:"commentThreadId"`
PlayCount int64 `json:"playCount"`
TrackNumberUpdateTime int64 `json:"trackNumberUpdateTime"`
SubscribedCount int64 `json:"subscribedCount"`
CloudTrackCount int64 `json:"cloudTrackCount"`
Ordered bool `json:"ordered"`
Description string `json:"description"`
Tags []interface{} `json:"tags"`
UpdateFrequency interface{} `json:"updateFrequency"`
BackgroundCoverId int64 `json:"backgroundCoverId"`
BackgroundCoverUrl interface{} `json:"backgroundCoverUrl"`
TitleImage int64 `json:"titleImage"`
TitleImageUrl interface{} `json:"titleImageUrl"`
DetailPageTitle interface{} `json:"detailPageTitle"`
EnglishTitle interface{} `json:"englishTitle"`
OfficialPlaylistType interface{} `json:"officialPlaylistType"`
Copied bool `json:"copied"`
RelateResType interface{} `json:"relateResType"`
CoverStatus int64 `json:"coverStatus"`
Subscribers []interface{} `json:"subscribers"`
Subscribed interface{} `json:"subscribed"`
Creator struct {
DefaultAvatar bool `json:"defaultAvatar"`
Province int64 `json:"province"`
AuthStatus int64 `json:"authStatus"`
Followed bool `json:"followed"`
AvatarUrl string `json:"avatarUrl"`
AccountStatus int64 `json:"accountStatus"`
Gender int64 `json:"gender"`
City int64 `json:"city"`
Birthday int64 `json:"birthday"`
UserId int64 `json:"userId"`
UserType int64 `json:"userType"`
Nickname string `json:"nickname"`
Signature string `json:"signature"`
Description string `json:"description"`
DetailDescription string `json:"detailDescription"`
AvatarImgId int64 `json:"avatarImgId"`
BackgroundImgId int64 `json:"backgroundImgId"`
BackgroundUrl string `json:"backgroundUrl"`
Authority int64 `json:"authority"`
Mutual bool `json:"mutual"`
ExpertTags interface{} `json:"expertTags"`
Experts interface{} `json:"experts"`
DjStatus int64 `json:"djStatus"`
VipType int64 `json:"vipType"`
RemarkName interface{} `json:"remarkName"`
AuthenticationTypes int64 `json:"authenticationTypes"`
AvatarDetail struct {
UserType int64 `json:"userType"`
IdentityLevel int `json:"identityLevel"`
IdentityIconUrl string `json:"identityIconUrl"`
} `json:"avatarDetail"`
AvatarImgIdStr string `json:"avatarImgIdStr"`
BackgroundImgIdStr string `json:"backgroundImgIdStr"`
Anchor bool `json:"anchor"`
AvatarImgIdStr1 string `json:"avatarImgId_str"`
} `json:"creator"`
// Tracks 只包含了10首歌曲详情信息,而 TrackIds 包含歌曲所有的信息id不包含歌曲详情因此需要配合详情接口查询
Tracks []struct {
Name string `json:"name"`
Id int64 `json:"id"`
Pst int64 `json:"pst"`
T int64 `json:"t"`
Ar []types.Artist `json:"ar"`
Alia []interface{} `json:"alia"`
Pop float64 `json:"pop"`
St int64 `json:"st"`
Rt *string `json:"rt"`
Fee int64 `json:"fee"`
V int64 `json:"v"`
Crbt interface{} `json:"crbt"`
Cf string `json:"cf"`
Al types.Album `json:"al"`
Dt int64 `json:"dt"`
H types.Quality `json:"h"`
M types.Quality `json:"m"`
L types.Quality `json:"l"`
Sq types.Quality `json:"sq"`
Hr types.Quality `json:"hr"`
A interface{} `json:"a"`
Cd string `json:"cd"`
No int64 `json:"no"`
RtUrl interface{} `json:"rtUrl"`
Ftype int64 `json:"ftype"`
RtUrls []interface{} `json:"rtUrls"`
DjId int64 `json:"djId"`
Copyright int64 `json:"copyright"`
SId int64 `json:"s_id"`
Mark int64 `json:"mark"`
OriginCoverType int64 `json:"originCoverType"`
OriginSongSimpleData interface{} `json:"originSongSimpleData"`
TagPicList interface{} `json:"tagPicList"`
ResourceState bool `json:"resourceState"`
Version int64 `json:"version"`
SongJumpInfo interface{} `json:"songJumpInfo"`
EntertainmentTags interface{} `json:"entertainmentTags"`
AwardTags interface{} `json:"awardTags"`
Single int64 `json:"single"`
NoCopyrightRcmd interface{} `json:"noCopyrightRcmd"`
Alg interface{} `json:"alg"`
DisplayReason interface{} `json:"displayReason"`
Rtype int64 `json:"rtype"`
Rurl interface{} `json:"rurl"`
Mst int64 `json:"mst"`
Cp int64 `json:"cp"`
Mv int64 `json:"mv"`
PublishTime int64 `json:"publishTime"`
} `json:"tracks"`
VideoIds interface{} `json:"videoIds"`
Videos interface{} `json:"videos"`
TrackIds []struct {
Id int64 `json:"id"`
V int `json:"v"`
T int `json:"t"`
At int64 `json:"at"`
Alg interface{} `json:"alg"`
Uid int `json:"uid"`
RcmdReason string `json:"rcmdReason"`
Sc interface{} `json:"sc"`
F interface{} `json:"f"`
Sr interface{} `json:"sr"`
Dpr interface{} `json:"dpr"`
} `json:"trackIds"`
BannedTrackIds interface{} `json:"bannedTrackIds"`
MvResourceInfos interface{} `json:"mvResourceInfos"`
ShareCount int64 `json:"shareCount"`
CommentCount int64 `json:"commentCount"`
RemixVideo interface{} `json:"remixVideo"`
NewDetailPageRemixVideo interface{} `json:"newDetailPageRemixVideo"`
SharedUsers interface{} `json:"sharedUsers"`
HistorySharedUsers interface{} `json:"historySharedUsers"`
GradeStatus string `json:"gradeStatus"`
Score interface{} `json:"score"`
AlgTags interface{} `json:"algTags"`
DistributeTags []interface{} `json:"distributeTags"`
TrialMode int64 `json:"trialMode"`
DisplayTags interface{} `json:"displayTags"`
PlaylistType string `json:"playlistType"`
} `json:"playlist"`
Urls interface{} `json:"urls"`
Privileges []types.Privileges `json:"privileges"`
ResEntrance interface{} `json:"resEntrance"`
FromUsers interface{} `json:"fromUsers"`
FromUserCount int64 `json:"fromUserCount"`
SongFromUsers interface{} `json:"songFromUsers"`
}
type PlaylistReq ¶
type PlaylistResp ¶
type PlaylistResp struct {
types.RespCommon[any]
Version string `json:"version"` // 时间戳1703557080686
More bool `json:"more"`
Playlist []PlaylistRespList `json:"playlist"`
}
type PlaylistRespList ¶
type PlaylistRespList struct {
Subscribers []interface{} `json:"subscribers"`
Subscribed bool `json:"subscribed"`
Creator struct {
DefaultAvatar bool `json:"defaultAvatar"`
Province int64 `json:"province"`
AuthStatus int64 `json:"authStatus"`
Followed bool `json:"followed"`
AvatarUrl string `json:"avatarUrl"`
AccountStatus int64 `json:"accountStatus"`
Gender int64 `json:"gender"`
City int64 `json:"city"`
Birthday int64 `json:"birthday"`
UserId int64 `json:"userId"`
UserType int64 `json:"userType"`
Nickname string `json:"nickname"`
Signature string `json:"signature"`
Description string `json:"description"`
DetailDescription string `json:"detailDescription"`
AvatarImgId int64 `json:"avatarImgId"`
BackgroundImgId int64 `json:"backgroundImgId"`
BackgroundUrl string `json:"backgroundUrl"`
Authority int64 `json:"authority"`
Mutual bool `json:"mutual"`
ExpertTags []string `json:"expertTags"`
Experts *struct {
Field1 string `json:"2"`
} `json:"experts"`
DjStatus int64 `json:"djStatus"`
VipType int64 `json:"vipType"`
RemarkName interface{} `json:"remarkName"`
AuthenticationTypes int64 `json:"authenticationTypes"`
AvatarDetail interface{} `json:"avatarDetail"`
BackgroundImgIdStr string `json:"backgroundImgIdStr"`
AvatarImgIdStr string `json:"avatarImgIdStr"`
Anchor bool `json:"anchor"`
AvatarImgIdStr1 string `json:"avatarImgId_str,omitempty"`
} `json:"creator"`
Artists interface{} `json:"artists"`
Tracks interface{} `json:"tracks"`
Top bool `json:"top"`
UpdateFrequency *string `json:"updateFrequency"`
BackgroundCoverId int64 `json:"backgroundCoverId"`
BackgroundCoverUrl *string `json:"backgroundCoverUrl"`
TitleImage int64 `json:"titleImage"`
TitleImageUrl *string `json:"titleImageUrl"`
EnglishTitle *string `json:"englishTitle"`
OpRecommend bool `json:"opRecommend"`
RecommendInfo *struct {
Alg string `json:"alg"`
LogInfo string `json:"logInfo"`
} `json:"recommendInfo"`
SubscribedCount int64 `json:"subscribedCount"`
CloudTrackCount int64 `json:"cloudTrackCount"`
UserId int64 `json:"userId"`
TotalDuration int64 `json:"totalDuration"`
CoverImgId int64 `json:"coverImgId"`
Privacy int64 `json:"privacy"`
TrackUpdateTime int64 `json:"trackUpdateTime"`
TrackCount int64 `json:"trackCount"`
UpdateTime int64 `json:"updateTime"`
CommentThreadId string `json:"commentThreadId"`
CoverImgUrl string `json:"coverImgUrl"`
SpecialType int64 `json:"specialType"`
Anonimous bool `json:"anonimous"`
CreateTime int64 `json:"createTime"`
HighQuality bool `json:"highQuality"`
NewImported bool `json:"newImported"`
TrackNumberUpdateTime int64 `json:"trackNumberUpdateTime"`
PlayCount int64 `json:"playCount"`
AdType int64 `json:"adType"`
Description *string `json:"description"`
Tags []string `json:"tags"`
Ordered bool `json:"ordered"`
Status int64 `json:"status"`
Name string `json:"name"`
Id int64 `json:"id"`
CoverImgIdStr *string `json:"coverImgId_str"`
Copied bool `json:"copied"`
}
type PrivateCloud ¶
type PrivateCloud struct {
SimpleSong struct {
Name string `json:"name"`
Id int `json:"id"`
Pst int `json:"pst"`
T int `json:"t"`
Ar []types.Artist `json:"ar"`
Alia []interface{} `json:"alia"`
Pop float64 `json:"pop"`
St int `json:"st"`
Rt string `json:"rt"`
Fee int `json:"fee"`
V int `json:"v"`
Crbt interface{} `json:"crbt"`
Cf string `json:"cf"`
Al types.Album `json:"al"`
Dt int `json:"dt"`
H types.Quality `json:"h"`
M types.Quality `json:"m"`
L types.Quality `json:"l"`
A interface{} `json:"a"`
Cd string `json:"cd"`
No int `json:"no"`
RtUrl interface{} `json:"rtUrl"`
Ftype int `json:"ftype"`
RtUrls []interface{} `json:"rtUrls"`
DjId int `json:"djId"`
Copyright int `json:"copyright"`
SId int `json:"s_id"`
Mark int `json:"mark"`
OriginCoverType int `json:"originCoverType"`
OriginSongSimpleData interface{} `json:"originSongSimpleData"`
Single int `json:"single"`
NoCopyrightRcmd interface{} `json:"noCopyrightRcmd"`
Mst int `json:"mst"`
Cp int `json:"cp"`
Mv int `json:"mv"`
Rtype int `json:"rtype"`
Rurl interface{} `json:"rurl"`
PublishTime int64 `json:"publishTime"`
Privilege types.Privileges `json:"privilege"`
} `json:"simpleSong"`
Cover int `json:"cover"`
AddTime int64 `json:"addTime"`
SongName string `json:"songName"`
Album string `json:"album"`
Artist string `json:"artist"`
Bitrate int `json:"bitrate"`
SongId int `json:"songId"`
CoverId string `json:"coverId"`
LyricId string `json:"lyricId"`
Version int `json:"version"`
FileSize int `json:"fileSize"`
FileName string `json:"fileName"`
}
type QrcodeCheckReq ¶
type QrcodeCheckResp ¶
type QrcodeCheckResp struct {
types.RespCommon[any]
}
type QrcodeCreateKeyReq ¶
type QrcodeCreateKeyResp ¶
type QrcodeCreateKeyResp struct {
types.RespCommon[any]
UniKey string `json:"unikey"`
}
type QrcodeGenerateReq ¶
type QrcodeGenerateReq struct {
CodeKey string
Level qrcode.RecoveryLevel // 二维码恢复率
}
type QrcodeGenerateResp ¶
type QrcodeGenerateResp struct {
types.RespCommon[any]
Qrcode []byte
QrcodePrint string
}
type RadioResp ¶ added in v0.1.4
type RadioResp struct {
types.RespCommon[[]RadioRespData]
PopAdjust bool `json:"popAdjust"`
Tag interface{} `json:"tag"`
}
type RadioRespData ¶ added in v0.1.4
type RadioRespData struct {
Name string `json:"name"`
Id int64 `json:"id"`
Position int64 `json:"position"`
Alias []interface{} `json:"alias"`
Status int64 `json:"status"`
Fee int64 `json:"fee"`
CopyrightId int64 `json:"copyrightId"`
Disc string `json:"disc"`
No int64 `json:"no"`
Artists []RadioRespDataArtist `json:"artists"`
Album struct {
Name string `json:"name"`
Id int64 `json:"id"`
Type string `json:"type"`
Size int64 `json:"size"`
PicId int64 `json:"picId"`
BlurPicUrl string `json:"blurPicUrl"`
CompanyId int64 `json:"companyId"`
Pic int64 `json:"pic"`
PicUrl string `json:"picUrl"`
PublishTime int64 `json:"publishTime"`
Description string `json:"description"`
Tags string `json:"tags"`
Company string `json:"company"`
BriefDesc string `json:"briefDesc"`
Artist RadioRespDataArtist `json:"artist"`
Songs []interface{} `json:"songs"`
Alias []interface{} `json:"alias"`
Status int64 `json:"status"`
CopyrightId int64 `json:"copyrightId"`
CommentThreadId string `json:"commentThreadId"`
Artists []RadioRespDataArtist `json:"artists"`
SubType string `json:"subType"`
TransName interface{} `json:"transName"`
PicIdStr string `json:"picId_str,omitempty"`
} `json:"album"`
Starred bool `json:"starred"`
Popularity float64 `json:"popularity"`
Score int64 `json:"score"`
StarredNum int64 `json:"starredNum"`
Duration int64 `json:"duration"`
PlayedNum int64 `json:"playedNum"`
DayPlays int64 `json:"dayPlays"`
HearTime int64 `json:"hearTime"`
Ringtone *string `json:"ringtone"`
Crbt interface{} `json:"crbt"`
Audition interface{} `json:"audition"`
CopyFrom string `json:"copyFrom"`
CommentThreadId string `json:"commentThreadId"`
RtUrl interface{} `json:"rtUrl"`
Ftype int64 `json:"ftype"`
RtUrls []interface{} `json:"rtUrls"`
Copyright int64 `json:"copyright"`
TransName interface{} `json:"transName"`
Sign interface{} `json:"sign"`
HMusic RadioRespDataMusic `json:"hMusic"`
MMusic RadioRespDataMusic `json:"mMusic"`
LMusic RadioRespDataMusic `json:"lMusic"`
BMusic RadioRespDataMusic `json:"bMusic"`
Rtype int64 `json:"rtype"`
Rurl interface{} `json:"rurl"`
Mvid int64 `json:"mvid"`
Mp3Url interface{} `json:"mp3Url"`
Privilege struct {
Id int64 `json:"id"`
Fee int64 `json:"fee"`
Payed int64 `json:"payed"`
RealPayed int64 `json:"realPayed"`
St int64 `json:"st"`
Pl int64 `json:"pl"`
Dl int64 `json:"dl"`
Sp int64 `json:"sp"`
Cp int64 `json:"cp"`
Subp int64 `json:"subp"`
Cs bool `json:"cs"`
Maxbr int64 `json:"maxbr"`
Fl int64 `json:"fl"`
Pc interface{} `json:"pc"`
Toast bool `json:"toast"`
Flag int64 `json:"flag"`
PaidBigBang bool `json:"paidBigBang"`
PreSell bool `json:"preSell"`
PlayMaxbr int64 `json:"playMaxbr"`
DownloadMaxbr int64 `json:"downloadMaxbr"`
MaxBrLevel string `json:"maxBrLevel"`
PlayMaxBrLevel string `json:"playMaxBrLevel"`
DownloadMaxBrLevel string `json:"downloadMaxBrLevel"`
PlLevel string `json:"plLevel"`
DlLevel string `json:"dlLevel"`
FlLevel string `json:"flLevel"`
Rscl interface{} `json:"rscl"`
FreeTrialPrivilege types.FreeTrialPrivilege `json:"freeTrialPrivilege"`
RightSource int64 `json:"rightSource"`
ChargeInfoList []types.ChargeInfo `json:"chargeInfoList"`
Code int64 `json:"code"`
Message interface{} `json:"message"`
PlLevels interface{} `json:"plLevels"`
DlLevels interface{} `json:"dlLevels"`
} `json:"privilege"`
Alg string `json:"alg"`
}
type RadioRespDataArtist ¶ added in v0.1.4
type RadioRespDataArtist struct {
Name string `json:"name"`
Id int64 `json:"id"`
PicId int64 `json:"picId"`
Img1V1Id int64 `json:"img1v1Id"`
BriefDesc string `json:"briefDesc"`
PicUrl string `json:"picUrl"`
Img1V1Url string `json:"img1v1Url"`
AlbumSize int64 `json:"albumSize"`
Alias []interface{} `json:"alias"`
Trans string `json:"trans"`
MusicSize int64 `json:"musicSize"`
}
type RadioRespDataMusic ¶ added in v0.1.4
type RadioRespDataMusic struct {
Name interface{} `json:"name"`
Id int64 `json:"id"`
Size int64 `json:"size"`
Extension string `json:"extension"`
Sr int64 `json:"sr"`
DfsId int64 `json:"dfsId"`
Bitrate int64 `json:"bitrate"`
PlayTime int64 `json:"playTime"`
VolumeDelta float64 `json:"volumeDelta"`
}
type RecommendSongsReq ¶
type RecommendSongsReq struct{}
type RecommendSongsResp ¶
type RecommendSongsResp struct {
types.RespCommon[RecommendSongsRespData]
}
type RecommendSongsRespData ¶
type RecommendSongsRespData struct {
DailySongs []struct {
A interface{} `json:"a"`
Al struct {
Id int64 `json:"id"`
Name string `json:"name"`
Pic int64 `json:"pic"`
PicUrl string `json:"picUrl"`
PicStr string `json:"pic_str,omitempty"`
Tns []interface{} `json:"tns"`
} `json:"al"`
Alg string `json:"alg"`
Alia []string `json:"alia"`
Ar []struct {
Alias []interface{} `json:"alias"`
Id int64 `json:"id"`
Name string `json:"name"`
Tns []interface{} `json:"tns"`
} `json:"ar"`
Cd string `json:"cd"`
Cf string `json:"cf"`
Copyright int64 `json:"copyright"`
Cp int64 `json:"cp"`
Crbt interface{} `json:"crbt"`
DjId int64 `json:"djId"`
Dt int64 `json:"dt"`
EntertainmentTags interface{} `json:"entertainmentTags"`
Fee int64 `json:"fee"`
Ftype int64 `json:"ftype"`
H *types.Quality `json:"h"`
Hr *types.Quality `json:"hr"`
Id int64 `json:"id"`
L *types.Quality `json:"l"`
M *types.Quality `json:"m"`
Mark int64 `json:"mark"`
Mst int64 `json:"mst"`
Mv int64 `json:"mv"`
Name string `json:"name"`
No int64 `json:"no"`
NoCopyrightRcmd interface{} `json:"noCopyrightRcmd"`
OriginCoverType int64 `json:"originCoverType"`
OriginSongSimpleData interface{} `json:"originSongSimpleData"`
Pop float64 `json:"pop"`
Privilege struct {
ChargeInfoList []struct {
ChargeMessage interface{} `json:"chargeMessage"`
ChargeType int64 `json:"chargeType"`
ChargeUrl interface{} `json:"chargeUrl"`
Rate int64 `json:"rate"`
} `json:"chargeInfoList"`
Cp int64 `json:"cp"`
Cs bool `json:"cs"`
Dl int64 `json:"dl"`
DlLevel string `json:"dlLevel"`
DownloadMaxBrLevel string `json:"downloadMaxBrLevel"`
DownloadMaxbr int64 `json:"downloadMaxbr"`
Fee int64 `json:"fee"`
Fl int64 `json:"fl"`
FlLevel string `json:"flLevel"`
Flag int64 `json:"flag"`
FreeTrialPrivilege struct {
CannotListenReason interface{} `json:"cannotListenReason"`
ListenType interface{} `json:"listenType"`
PlayReason interface{} `json:"playReason"`
ResConsumable bool `json:"resConsumable"`
UserConsumable bool `json:"userConsumable"`
} `json:"freeTrialPrivilege"`
Id int64 `json:"id"`
MaxBrLevel string `json:"maxBrLevel"`
Maxbr int64 `json:"maxbr"`
PaidBigBang bool `json:"paidBigBang"`
Payed int64 `json:"payed"`
Pc interface{} `json:"pc"`
Pl int64 `json:"pl"`
PlLevel string `json:"plLevel"`
PlayMaxBrLevel string `json:"playMaxBrLevel"`
PlayMaxbr int64 `json:"playMaxbr"`
PreSell bool `json:"preSell"`
RealPayed int64 `json:"realPayed"`
RightSource int64 `json:"rightSource"`
Rscl interface{} `json:"rscl"`
Sp int64 `json:"sp"`
St int64 `json:"st"`
Subp int64 `json:"subp"`
Toast bool `json:"toast"`
} `json:"privilege"`
Pst int64 `json:"pst"`
PublishTime int64 `json:"publishTime"`
Reason *string `json:"reason"`
RecommendReason *string `json:"recommendReason"`
ResourceState bool `json:"resourceState"`
Rt *string `json:"rt"`
RtUrl interface{} `json:"rtUrl"`
RtUrls []interface{} `json:"rtUrls"`
Rtype int64 `json:"rtype"`
Rurl interface{} `json:"rurl"`
SId int64 `json:"s_id"`
Single int64 `json:"single"`
SongJumpInfo interface{} `json:"songJumpInfo"`
Sq *types.Quality `json:"sq"`
St int64 `json:"st"`
T int64 `json:"t"`
TagPicList interface{} `json:"tagPicList"`
V int64 `json:"v"`
Version int64 `json:"version"`
} `json:"dailySongs"`
MvResourceInfos interface{} `json:"mvResourceInfos"`
OrderSongs []interface{} `json:"orderSongs"`
// RecommendReasons 推荐原因说明
RecommendReasons []struct {
Reason string `json:"reason"`
ReasonId string `json:"reasonId"`
SongId int64 `json:"songId"`
TargetUrl interface{} `json:"targetUrl"`
} `json:"recommendReasons"`
}
type RegisterAnonymousReq ¶ added in v0.1.4
type RegisterAnonymousResp ¶ added in v0.1.4
type RegisterAnonymousResp struct {
types.RespCommon[any]
}
type RequestData ¶
RequestData 传入请求数据类型
type SearchDefaultReq ¶
type SearchDefaultReq struct{}
type SearchDefaultResp ¶
type SearchDefaultResp struct {
types.RespCommon[SearchDefaultRespData]
}
type SearchDefaultRespData ¶
type SearchDefaultRespData struct {
RefreshTime int `json:"refreshTime"`
Keywords []struct {
Action int `json:"action"`
Alg string `json:"alg"`
BizQueryInfo string `json:"bizQueryInfo"`
Gap int `json:"gap"`
ImageUrl interface{} `json:"imageUrl"`
LogInfo interface{} `json:"logInfo"`
Realkeyword string `json:"realkeyword"`
SearchType int `json:"searchType"`
ShowKeyword string `json:"showKeyword"`
Source interface{} `json:"source"`
StyleKeyword struct {
DescWord *string `json:"descWord"`
KeyWord string `json:"keyWord"`
} `json:"styleKeyword"`
TrpId interface{} `json:"trp_id"`
TrpType interface{} `json:"trp_type"`
} `json:"keywords"`
}
type SignHappyInfoReq ¶
type SignHappyInfoReq struct{}
type SignHappyInfoResp ¶
type SignHappyInfoResp struct {
types.RespCommon[any]
}
type SignHappyInfoRespData ¶
type SignHappyInfoRespData struct {
Info struct {
Author string `json:"author"`
BackColor string `json:"backColor"`
BtnPicUrl interface{} `json:"btnPicUrl"`
CurrentUserName string `json:"currentUserName"`
EndTime int64 `json:"endTime"`
HotComments []struct {
AuthorName string `json:"authorName"`
Content string `json:"content"`
} `json:"hotComments"`
Id int64 `json:"id"`
JumpText interface{} `json:"jumpText"`
JumpUrl string `json:"jumpUrl"`
MainText string `json:"mainText"`
NewPicUrl string `json:"newPicUrl"`
NewSharePicUrl string `json:"newSharePicUrl"`
Operator interface{} `json:"operator"`
PicUrl string `json:"picUrl"`
QrCodeUrl string `json:"qrCodeUrl"`
QrCodeWithLogoUrl string `json:"qrCodeWithLogoUrl"`
ResourceAuthor string `json:"resourceAuthor"`
ResourceCover string `json:"resourceCover"`
ResourceId int64 `json:"resourceId"`
ResourceName string `json:"resourceName"`
ResourceType int64 `json:"resourceType"`
ResourceUrl string `json:"resourceUrl"`
SharePicUrl string `json:"sharePicUrl"`
SpecialJumpUrl interface{} `json:"specialJumpUrl"`
StartTime int64 `json:"startTime"`
Status int64 `json:"status"`
Type int64 `json:"type"`
VideoHeight int64 `json:"videoHeight"`
VideoStrId interface{} `json:"videoStrId"`
VideoWidth int64 `json:"videoWidth"`
} `json:"info"`
}
type SignInProgressReq ¶
type SignInProgressReq struct {
ModuleId string `json:"moduleId"` // 默认: 1207signin-1207signin
}
type SignInProgressResp ¶
type SignInProgressResp struct {
types.RespCommon[SignInProgressRespData]
}
type SignInProgressRespData ¶
type SignInProgressRespData struct {
// StartTime 时间戳 eg:1638806400000
StartTime int64 `json:"startTime"`
// EndTime 时间戳 eg:4102415999000
EndTime int64
// Records 记录 YunBeiSignIn(https://music.163.com/weapi/point/dailyTask) 签到信息情况
Records []struct {
// Day 签到日期 eg:2024-06-21
Day string `json:"day"`
// Signed true:已签到
Signed bool `json:"signed"`
} `json:"records"`
Stats []SignInProgressRespDataStats `json:"stats"`
// Today 今天签到情况
Today struct {
TodaySignedIn bool `json:"todaySignedIn"`
// TodayStats 里面包含不同类型的签到,连续签到,今日签到等情况,也就是ACCUMULATE、CURRENT_INDEX、CONTINUOUS。
TodayStats []SignInProgressRespDataStats `json:"todayStats"`
} `json:"today"`
}
type SignInProgressRespDataStats ¶
type SignInProgressRespDataStats struct {
// CalcType 计算方式 ACCUMULATE:累计签到 CURRENT_INDEX:本周/本月签到情况?待确定 CONTINUOUS:连续签到
CalcType string `json:"calcType"`
CurrentProgress int64 `json:"currentProgress"`
CurrentSignDesc interface{} `json:"currentSignDesc"`
Description string `json:"description"`
EndTime int64 `json:"endTime"`
Id int64 `json:"id"`
MaxProgressReachDay string `json:"maxProgressReachDay"`
MaxProgressReached int64 `json:"maxProgressReached"`
Prizes []SignInProgressRespDataStatsPrizes `json:"prizes"`
RepeatType string `json:"repeatType"` // RepeatType 重复类型 eg:FOUR_WEEKS、NEVER
StartDay string `json:"startDay"`
StartTime int64 `json:"startTime"`
}
type SignInProgressRespDataStatsPrizes ¶
type SignInProgressRespDataStatsPrizes struct {
Amount int64 `json:"amount"`
Description string `json:"description"`
Name string `json:"name"`
Obtained bool `json:"obtained"`
ObtainedImageUrl string `json:"obtainedImageUrl"`
PrizeImageUrl string `json:"prizeImageUrl"`
Progress int64 `json:"progress"`
Type string `json:"type"`
Url string `json:"url"`
}
type SignInResp ¶
type SignInResp struct {
// Code 错误码 -2:重复签到 200:成功(会有例外会出现“功能暂不支持”) 301:未登录
types.RespCommon[any]
// Point 签到获得积分奖励数量,目前签到规则已经更改变成连续几天签到才能拿获取奖励
Point int64 `json:"point"`
}
SignInResp 签到返回
type SongDetailReq ¶
type SongDetailReq struct {
C []SongDetailReqList `json:"c"`
}
type SongDetailReqList ¶
type SongDetailResp ¶
type SongDetailResp struct {
types.RespCommon[any]
Songs []SongDetailRespSongs `json:"songs"`
Privileges []types.Privileges `json:"privileges"`
}
SongDetailResp .
type SongDetailRespSongs ¶
type SongDetailRespSongs struct {
// Name 歌曲标题
Name string `json:"name"`
// Id 歌曲ID
Id int64 `json:"id"`
// Pst 功能未知
Pst int64 `json:"pst"`
// T
// 0: 一般类型
// 1: 通过云盘上传的音乐,网易云不存在公开对应
// 如果没有权限将不可用,除了歌曲长度以外大部分信息都为null。
// 可以通过 `/api/v1/playlist/manipulate/tracks` 接口添加到播放列表。
// 如果添加到“我喜欢的音乐”,则仅自己可见,除了长度意外各种信息均为未知,且无法播放。
// 如果添加到一般播放列表,虽然返回code 200,但是并没有效果。
// 网页端打开会看到404画面。
// 属于这种歌曲的例子: https://music.163.com/song/1345937107
// 2: 通过云盘上传的音乐,网易云存在公开对应
// 如果没有权限则只能看到信息,但无法直接获取到文件。
// 可以通过 `/api/v1/playlist/manipulate/tracks` 接口添加到播放列表。
// 如果添加到“我喜欢的音乐”,则仅自己可见,且无法播放。
// 如果添加到一般播放列表,则自己会看到显示“云盘文件”,且云盘会多出其对应的网易云公开歌曲。其他人看到的是其对应的网易云公开歌曲。
// 网页端打开会看到404画面。
// 属于这种歌曲的例子: https://music.163.com/song/435005015
T int64 `json:"t"`
// Ar 歌手列表
Ar []types.Artist `json:"ar"`
// Alia 别名列表,第一个别名会被显示作副标题 例子: https://music.163.com/song/536623501
Alia []interface{} `json:"alia"`
// Pop 小数,常取[0.0, 100.0]中离散的几个数值, 表示歌曲热度
Pop float64 `json:"pop"`
// St 未知
St int64 `json:"st"`
// Rt None、空白字串、或者类似`600902000007902089`的字符串,功能未知
Rt string `json:"rt"`
// Fee 费用情况 0:免费 1:二元购买单曲 4:购买专辑 8:低音质免费 fee为1或8的歌曲均可单独购买2元单曲
Fee int64 `json:"fee"`
// V 常为[1, ?]任意数字, 代表歌曲当前信息版本
V int64 `json:"v"`
// Crbt None或字符串表示的十六进制,功能未知
Crbt interface{} `json:"crbt"`
// Cf 空白字串或者None,功能未知
Cf string `json:"cf"`
// Al Album, 专辑,如果是DJ节目(dj_type != 0)或者无专辑信息(single == 1),则专辑id为0
Al types.Album `json:"al"`
// Dt 歌曲时长
Dt int64 `json:"dt"`
// 音质信息
types.Qualities
// A 常为None,功能未知
A interface{} `json:"a"`
// Cd None或如"04", "1/2", "3", "null"的字符串,表示歌曲属于专辑中第几张CD,对应音频文件的Tag
Cd string `json:"cd"`
// No 表示歌曲属于CD中第几曲, 0表示没有这个字段, 对应音频文件的Tag
No int64 `json:"no"`
// RtUrl 常为None, 功能未知
RtUrl interface{} `json:"rtUrl"`
// Ftype 未知
Ftype int64 `json:"ftype"`
// RtUrls 常为空列表,功能未知
RtUrls []interface{} `json:"rtUrls"`
// DjId 0:不是DJ节目 其他:是DJ节目,表示DJ ID
DjId int64 `json:"djId"`
// Copyright 0, 1, 2 功能未知
Copyright int64 `json:"copyright"`
// SId 对于t == 2的歌曲,表示匹配到的公开版本歌曲ID
SId int64 `json:"s_id"`
// Mark 一些歌曲属性,用按位与操作获取对应位置的值
// 8192:立体声?(不是很确定)
// 131072:纯音乐
// 262144 支持 杜比全景声(Dolby Atmos)
// 1048576:脏标E
// 17179869184 支持 Hi-Res
// 其他未知,理论上有从1到2^63共64种不同的信息
// 专辑信息的mark字段也同理 例子:id 1859245776和1859306637为同一首歌,前者 mark & 1048576 == 1048576,后者 mark & 1048576 == 0,因此前者是脏版
Mark int64 `json:"mark"`
// OriginCoverType 0:未知 1:原曲 2:翻唱
OriginCoverType int64 `json:"originCoverType"`
// OriginSongSimpleData 对于翻唱曲,可选提供原曲简单格式的信息
OriginSongSimpleData interface{} `json:"originSongSimpleData"`
// SongMeiZuData 功能未知
TagPicList interface{} `json:"tagPicList"`
// ResourceState 未知
ResourceState bool `json:"resourceState"`
// Version 什么版本?
Version int64 `json:"version"`
// SongJumpInfo 功能未知
SongJumpInfo interface{} `json:"songJumpInfo"`
// EntranceCrash 功能未知
EntertainmentTags interface{} `json:"entertainmentTags"`
// AwardTags 功能未知
AwardTags interface{} `json:"awardTags"`
// Single 0:有专辑信息或者是DJ节目 1:未知专辑
Single int64 `json:"single"`
// NoCopyrightRcmd 不能判断出歌曲有无版权
NoCopyrightRcmd interface{} `json:"noCopyrightRcmd"`
// Mv 非零表示有MV ID
Mv int64 `json:"mv"`
// Rurl 常为None,功能未知
Rurl interface{} `json:"rurl"`
// Mst 偶尔为0, 常为9,功能未知
Mst int64 `json:"mst"`
// Cp 未知
Cp int64 `json:"cp"`
// Rtype 常为0,功能未知
Rtype int64 `json:"rtype"`
// PublishTime 毫秒为单位的Unix时间戳
PublishTime int64 `json:"publishTime"`
}
SongDetailRespSongs see: https://github.com/Binaryify/NeteaseCloudMusicApi/issues/1121#issuecomment-774438040 https://docs-neteasecloudmusicapi.vercel.app/docs/#/?id=%e8%8e%b7%e5%8f%96%e6%ad%8c%e6%9b%b2%e8%af%a6%e6%83%85 https://gitlab.com/Binaryify/neteasecloudmusicapi/-/commit/0dab5e55bad90fb427ae7881a9275aceade1f80b
type SongDownloadUrlReq ¶
type SongDownloadUrlResp ¶
type SongDownloadUrlResp struct {
types.RespCommon[SongDownloadUrlRespData]
}
type SongDownloadUrlRespData ¶
type SongDownloadUrlRespData struct {
Br int64 `json:"br"`
CanExtend bool `json:"canExtend"`
ChannelLayout interface{} `json:"channelLayout"`
Code int64 `json:"code"` // 状态码 200:正常 -103:貌似也不能下载 -105:需要付费购买专辑 -110:变灰歌曲不能下载播放
EffectTypes interface{} `json:"effectTypes"`
EncodeType string `json:"encodeType"`
Expi int64 `json:"expi"`
Fee int64 `json:"fee"`
Flag int64 `json:"flag"`
FreeTimeTrialPrivilege types.FreeTimeTrialPrivilege `json:"freeTimeTrialPrivilege"`
FreeTrialInfo interface{} `json:"freeTrialInfo"`
FreeTrialPrivilege types.FreeTrialPrivilege `json:"freeTrialPrivilege"`
Gain float64 `json:"gain"`
Id int64 `json:"id"`
Level string `json:"level"`
LevelConfuse interface{} `json:"levelConfuse"`
Md5 string `json:"md5"`
Message interface{} `json:"message"`
Payed int64 `json:"payed"`
Peak float64 `json:"peak"`
PodcastCtrp interface{} `json:"podcastCtrp"`
RightSource int64 `json:"rightSource"`
Size int64 `json:"size"`
Time int64 `json:"time"`
Type string `json:"type"`
Uf interface{} `json:"uf"`
Url string `json:"url"`
UrlSource int64 `json:"urlSource"`
}
type SongDownloadUrlV1Req ¶
type SongDownloadUrlV1Resp ¶
type SongDownloadUrlV1Resp struct {
types.RespCommon[SongDownloadUrlV1RespData]
}
type SongDownloadUrlV1RespData ¶
type SongDownloadUrlV1RespData struct {
Br int64 `json:"br"`
CanExtend bool `json:"canExtend"`
ChannelLayout interface{} `json:"channelLayout"`
Code int64 `json:"code"`
EffectTypes interface{} `json:"effectTypes"`
EncodeType string `json:"encodeType"`
Expi int64 `json:"expi"`
Fee int64 `json:"fee"`
Flag int64 `json:"flag"`
FreeTimeTrialPrivilege types.FreeTimeTrialPrivilege `json:"freeTimeTrialPrivilege"`
FreeTrialInfo interface{} `json:"freeTrialInfo"`
FreeTrialPrivilege types.FreeTrialPrivilege `json:"freeTrialPrivilege"`
Gain float64 `json:"gain"`
Id int64 `json:"id"`
Level string `json:"level"`
LevelConfuse interface{} `json:"levelConfuse"`
Md5 string `json:"md5"`
Message interface{} `json:"message"`
Payed int64 `json:"payed"`
Peak float64 `json:"peak"`
PodcastCtrp interface{} `json:"podcastCtrp"`
RightSource int64 `json:"rightSource"`
Size int64 `json:"size"`
Time int64 `json:"time"`
Type string `json:"type"`
Uf interface{} `json:"uf"`
Url string `json:"url"`
UrlSource int64 `json:"urlSource"`
}
type SongMusicQualityReq ¶
type SongMusicQualityReq struct {
SongId string `json:"songId"`
}
type SongMusicQualityResp ¶
type SongMusicQualityResp struct {
types.RespCommon[SongMusicQualityRespData]
Success bool
Error bool
}
type SongPlayerReq ¶
type SongPlayerReq struct {
types.ReqCommon
Ids types.IntsString `json:"ids"` // 歌曲id
Br string `json:"br"` // 音乐bit率 例如:128000 320000
}
SongPlayerReq
{
"ids": "[1955097630]",
"br": "128000",
"csrf_token": "77bf3a5074699038504234d63d68d917"
}
type SongPlayerReqData ¶
type SongPlayerReqData struct {
Id int64 `json:"id"`
Url string `json:"url"`
Br int64 `json:"br"`
Size int64 `json:"size"`
Md5 string `json:"md5"`
Code int64 `json:"code"` // 歌曲状态 200:正常 404:歌曲下架(也就是变灰歌曲)
Expi int64 `json:"expi"`
Type string `json:"type"` // 类型eg: mp3、FLAC
Gain float64 `json:"gain"`
Peak float64 `json:"peak"`
Fee int64 `json:"fee"`
Uf interface{} `json:"uf"`
Payed int64 `json:"payed"`
Flag int64 `json:"flag"`
CanExtend bool `json:"canExtend"`
FreeTrialInfo interface{} `json:"freeTrialInfo"`
Level string `json:"level"` // 通常所说的音质水平 eg: standard、exhigh、higher、lossless、hires
EncodeType string `json:"encodeType"`
ChannelLayout interface{} `json:"channelLayout"`
FreeTrialPrivilege types.FreeTrialPrivilege `json:"freeTrialPrivilege"`
FreeTimeTrialPrivilege types.FreeTimeTrialPrivilege `json:"freeTimeTrialPrivilege"`
UrlSource int64 `json:"urlSource"`
RightSource int64 `json:"rightSource"`
PodcastCtrp interface{} `json:"podcastCtrp"`
EffectTypes interface{} `json:"effectTypes"`
Time int64 `json:"time"` // 音乐时长,单位毫秒
Message interface{} `json:"message"`
}
type SongPlayerResp ¶
type SongPlayerResp struct {
types.RespCommon[[]SongPlayerReqData]
}
type SongPlayerRespV1Data ¶
type SongPlayerRespV1Data struct {
Id int64 `json:"id"` // 歌曲id
Url string `json:"url"` // 歌曲资源url有时效性
Br int64 `json:"br"` // 码率
Size int64 `json:"size"` // 文件大小单位字节
Md5 string `json:"md5"` // 文件MD5值
Code int64 `json:"code"` // 歌曲状态 200:正常 404:歌曲下架(也就是变灰歌曲)
Expi int64 `json:"expi"` // 可访问url的过期时间,目前为1200秒
Type string `json:"type"` // 类型eg: mp3、FLAC
Gain float64 `json:"gain"`
Peak float64 `json:"peak"`
Fee int64 `json:"fee"`
Uf interface{} `json:"uf"`
Payed int64 `json:"payed"`
Flag int64 `json:"flag"`
CanExtend bool `json:"canExtend"`
FreeTrialInfo interface{} `json:"freeTrialInfo"`
Level string `json:"level"` // 音质水平 see: types.Level
EncodeType string `json:"encodeType"` // eg: mp3
ChannelLayout interface{} `json:"channelLayout"`
FreeTrialPrivilege types.FreeTrialPrivilege `json:"freeTrialPrivilege"`
FreeTimeTrialPrivilege types.FreeTimeTrialPrivilege `json:"freeTimeTrialPrivilege"`
UrlSource int64 `json:"urlSource"`
RightSource int64 `json:"rightSource"`
PodcastCtrp interface{} `json:"podcastCtrp"`
EffectTypes interface{} `json:"effectTypes"`
Time int64 `json:"time"` // 音乐时长,单位毫秒
Message interface{} `json:"message"`
LevelConfuse interface{} `json:"levelConfuse"`
}
type SongPlayerV1Req ¶
type SongPlayerV1Req struct {
types.ReqCommon
Ids types.IntsString `json:"ids"` // 歌曲id eg: 2016588459_1289504343 下滑线前位歌曲id, todo: 后位目前未知,不过不传下划线后面的内容也是可以正常返回得
Level types.Level `json:"level"` // 音乐质量
EncodeType string `json:"encodeType"` // 音乐格式 eg: mp3、aac、flac(可能还有其他类型) 作用未知
ImmerseType string `json:"immerseType"` // 只有Level为sky时生效(可能还有其他类型)
TrialMode string `json:"trialMode"` // 试听模式 36:(貌似是私人漫游场景) 还有其他模式待探索
}
type SongPlayerV1Resp ¶
type SongPlayerV1Resp struct {
types.RespCommon[[]SongPlayerRespV1Data]
}
type TokenRefreshReq ¶
type TokenRefreshResp ¶
type TokenRefreshResp struct {
types.RespCommon[any]
BizCode string `json:"bizCode"` // 201:貌似刷新成功 400:貌似刷新不成功 504:貌似token已经过期了或者无效了
}
type TopListReq ¶
type TopListReq struct{}
type TopListResp ¶
type TopListResp struct {
types.RespCommon[any]
List []TopListRespList `json:"list"`
}
type TopListRespList ¶
type TopListRespList struct {
ToplistType string `json:"ToplistType,omitempty"`
AdType int `json:"adType"`
AlgType interface{} `json:"algType"`
Anonimous bool `json:"anonimous"`
Artists interface{} `json:"artists"`
BackgroundCoverId int `json:"backgroundCoverId"`
BackgroundCoverUrl interface{} `json:"backgroundCoverUrl"`
CloudTrackCount int `json:"cloudTrackCount"`
CommentThreadId string `json:"commentThreadId"`
CoverImageUrl interface{} `json:"coverImageUrl"`
CoverImgId int64 `json:"coverImgId"`
CoverImgIdStr string `json:"coverImgId_str"`
CoverImgUrl string `json:"coverImgUrl"`
CoverText interface{} `json:"coverText"`
CreateTime int64 `json:"createTime"`
Creator interface{} `json:"creator"`
Description *string `json:"description"`
EnglishTitle interface{} `json:"englishTitle"`
HighQuality bool `json:"highQuality"`
IconImageUrl interface{} `json:"iconImageUrl"`
Id int64 `json:"id"`
Name string `json:"name"`
NewImported bool `json:"newImported"`
OpRecommend bool `json:"opRecommend"`
Ordered bool `json:"ordered"`
PlayCount int64 `json:"playCount"`
Privacy int `json:"privacy"`
RecommendInfo interface{} `json:"recommendInfo"`
SocialPlaylistCover interface{} `json:"socialPlaylistCover"`
SpecialType int `json:"specialType"`
Status int `json:"status"`
Subscribed interface{} `json:"subscribed"`
SubscribedCount int `json:"subscribedCount"`
Subscribers []interface{} `json:"subscribers"`
Tags []string `json:"tags"`
TitleImage int `json:"titleImage"`
TitleImageUrl interface{} `json:"titleImageUrl"`
TotalDuration int `json:"totalDuration"`
TrackCount int `json:"trackCount"`
TrackNumberUpdateTime int64 `json:"trackNumberUpdateTime"`
TrackUpdateTime int64 `json:"trackUpdateTime"`
Tracks interface{} `json:"tracks"`
TsSongCount int `json:"tsSongCount"`
UpdateFrequency string `json:"updateFrequency"`
UpdateTime int64 `json:"updateTime"`
UserId int64 `json:"userId"`
}
type TopNewSongsReq ¶
type TopNewSongsResp ¶
type TopNewSongsResp struct {
types.RespCommon[[]TopNewSongsRespData]
}
type TopNewSongsRespData ¶
type TopNewSongsRespData struct {
Album struct {
Alias []string `json:"alias"`
Artist struct {
AlbumSize int `json:"albumSize"`
Alias []interface{} `json:"alias"`
BriefDesc string `json:"briefDesc"`
Followed bool `json:"followed"`
Id int `json:"id"`
Img1V1Id int64 `json:"img1v1Id"`
Img1V1IdStr string `json:"img1v1Id_str"`
Img1V1Url string `json:"img1v1Url"`
MusicSize int `json:"musicSize"`
Name string `json:"name"`
PicId int `json:"picId"`
PicUrl string `json:"picUrl"`
TopicPerson int `json:"topicPerson"`
Trans string `json:"trans"`
} `json:"artist"`
Artists []struct {
AlbumSize int `json:"albumSize"`
Alias []interface{} `json:"alias"`
BriefDesc string `json:"briefDesc"`
Followed bool `json:"followed"`
Id int `json:"id"`
Img1V1Id int64 `json:"img1v1Id"`
Img1V1IdStr string `json:"img1v1Id_str"`
Img1V1Url string `json:"img1v1Url"`
MusicSize int `json:"musicSize"`
Name string `json:"name"`
PicId int `json:"picId"`
PicUrl string `json:"picUrl"`
TopicPerson int `json:"topicPerson"`
Trans string `json:"trans"`
} `json:"artists"`
BlurPicUrl string `json:"blurPicUrl"`
BriefDesc string `json:"briefDesc"`
CommentThreadId string `json:"commentThreadId"`
Company string `json:"company"`
CompanyId int `json:"companyId"`
CopyrightId int `json:"copyrightId"`
Description string `json:"description"`
Id int `json:"id"`
Name string `json:"name"`
OnSale bool `json:"onSale"`
Paid bool `json:"paid"`
Pic int64 `json:"pic"`
PicId int64 `json:"picId"`
PicIdStr string `json:"picId_str"`
PicUrl string `json:"picUrl"`
PublishTime int64 `json:"publishTime"`
Size int `json:"size"`
Songs interface{} `json:"songs"`
Status int `json:"status"`
SubType string `json:"subType"`
Tags string `json:"tags"`
Type string `json:"type"`
TransNames []string `json:"transNames,omitempty"`
} `json:"album"`
AlbumData interface{} `json:"albumData"`
Alias []string `json:"alias"`
Artists []struct {
AlbumSize int `json:"albumSize"`
Alias []interface{} `json:"alias"`
BriefDesc string `json:"briefDesc"`
Followed bool `json:"followed"`
Id int `json:"id"`
Img1V1Id int64 `json:"img1v1Id"`
Img1V1IdStr string `json:"img1v1Id_str"`
Img1V1Url string `json:"img1v1Url"`
MusicSize int `json:"musicSize"`
Name string `json:"name"`
PicId int `json:"picId"`
PicUrl string `json:"picUrl"`
TopicPerson int `json:"topicPerson"`
Trans string `json:"trans"`
} `json:"artists"`
Audition interface{} `json:"audition"`
BMusic MusicQuality `json:"bMusic"`
CommentThreadId string `json:"commentThreadId"`
CopyFrom string `json:"copyFrom"`
CopyrightId int `json:"copyrightId"`
Crbt interface{} `json:"crbt"`
DayPlays int `json:"dayPlays"`
Disc string `json:"disc"`
Duration int `json:"duration"`
Exclusive bool `json:"exclusive"`
Fee int `json:"fee"`
Ftype int `json:"ftype"`
HMusic MusicQuality `json:"hMusic"`
HearTime int `json:"hearTime"`
Id int64 `json:"id"`
LMusic MusicQuality `json:"lMusic"`
MMusic MusicQuality `json:"mMusic"`
Mp3Url string `json:"mp3Url"`
Mvid int `json:"mvid"`
Name string `json:"name"`
No int `json:"no"`
PlayedNum int `json:"playedNum"`
Popularity float64 `json:"popularity"`
Position int `json:"position"`
Privilege struct {
ChargeInfoList []struct {
ChargeMessage interface{} `json:"chargeMessage"`
ChargeType int `json:"chargeType"`
ChargeUrl interface{} `json:"chargeUrl"`
Rate int `json:"rate"`
} `json:"chargeInfoList"`
Cp int `json:"cp"`
Cs bool `json:"cs"`
Dl int `json:"dl"`
DlLevel string `json:"dlLevel"`
DownloadMaxBrLevel string `json:"downloadMaxBrLevel"`
DownloadMaxbr int `json:"downloadMaxbr"`
Fee int `json:"fee"`
Fl int `json:"fl"`
FlLevel string `json:"flLevel"`
Flag int `json:"flag"`
FreeTrialPrivilege struct {
CannotListenReason interface{} `json:"cannotListenReason"`
ListenType interface{} `json:"listenType"`
PlayReason interface{} `json:"playReason"`
ResConsumable bool `json:"resConsumable"`
UserConsumable bool `json:"userConsumable"`
} `json:"freeTrialPrivilege"`
Id int64 `json:"id"`
MaxBrLevel string `json:"maxBrLevel"`
Maxbr int `json:"maxbr"`
Payed int `json:"payed"`
Pl int `json:"pl"`
PlLevel string `json:"plLevel"`
PlayMaxBrLevel string `json:"playMaxBrLevel"`
PlayMaxbr int `json:"playMaxbr"`
PreSell bool `json:"preSell"`
RightSource int `json:"rightSource"`
Rscl interface{} `json:"rscl"`
Sp int `json:"sp"`
St int `json:"st"`
Subp int `json:"subp"`
Toast bool `json:"toast"`
} `json:"privilege"`
RelatedVideo interface{} `json:"relatedVideo"`
Ringtone string `json:"ringtone"`
RtUrl interface{} `json:"rtUrl"`
RtUrls interface{} `json:"rtUrls"`
Rtype int `json:"rtype"`
Rurl interface{} `json:"rurl"`
Score int `json:"score"`
St int `json:"st"`
Starred bool `json:"starred"`
StarredNum int `json:"starredNum"`
Status int `json:"status"`
VideoInfo interface{} `json:"videoInfo"`
TransNames []string `json:"transNames,omitempty"`
}
type VipClientInfoReq ¶
type VipClientInfoReq struct {
UserId string `json:"userId"` // 为空默认为当前登录用户
}
type VipClientInfoResp ¶
type VipClientInfoResp struct {
types.RespCommon[VipClientInfoRespData]
}
type VipClientInfoRespData ¶
type VipClientInfoRespData struct {
AlbumVip struct {
DynamicIconUrl interface{} `json:"dynamicIconUrl"`
ExpireTime int64 `json:"expireTime"`
IconUrl interface{} `json:"iconUrl"`
IsSign bool `json:"isSign"`
IsSignDeduct bool `json:"isSignDeduct"`
IsSignIap bool `json:"isSignIap"`
IsSignIapDeduct bool `json:"isSignIapDeduct"`
VipCode int `json:"vipCode"`
VipLevel int `json:"vipLevel"`
} `json:"albumVip"`
Associator struct {
DynamicIconUrl interface{} `json:"dynamicIconUrl"`
ExpireTime int64 `json:"expireTime"`
IconUrl interface{} `json:"iconUrl"`
IsSign bool `json:"isSign"`
IsSignDeduct bool `json:"isSignDeduct"`
IsSignIap bool `json:"isSignIap"`
IsSignIapDeduct bool `json:"isSignIapDeduct"`
VipCode int `json:"vipCode"`
VipLevel int `json:"vipLevel"`
} `json:"associator"`
MusicPackage struct {
DynamicIconUrl interface{} `json:"dynamicIconUrl"`
ExpireTime int64 `json:"expireTime"`
IconUrl interface{} `json:"iconUrl"`
IsSign bool `json:"isSign"`
IsSignDeduct bool `json:"isSignDeduct"`
IsSignIap bool `json:"isSignIap"`
IsSignIapDeduct bool `json:"isSignIapDeduct"`
VipCode int `json:"vipCode"`
VipLevel int `json:"vipLevel"`
} `json:"musicPackage"`
Now int64 `json:"now"`
OldCacheProtocol bool `json:"oldCacheProtocol"`
RedVipAnnualCount int `json:"redVipAnnualCount"`
RedVipLevel int `json:"redVipLevel"`
Redplus struct {
DynamicIconUrl interface{} `json:"dynamicIconUrl"`
ExpireTime int64 `json:"expireTime"`
IconUrl interface{} `json:"iconUrl"`
IsSign bool `json:"isSign"`
IsSignDeduct bool `json:"isSignDeduct"`
IsSignIap bool `json:"isSignIap"`
IsSignIapDeduct bool `json:"isSignIapDeduct"`
VipCode int `json:"vipCode"`
VipLevel int `json:"vipLevel"`
} `json:"redplus"`
RelationOtherUserId int `json:"relationOtherUserId"`
RelationOtherUserRedVipExpireTime int `json:"relationOtherUserRedVipExpireTime"`
RelationType int `json:"relationType"`
UserId int `json:"userId"`
VoiceBookVip struct {
DynamicIconUrl interface{} `json:"dynamicIconUrl"`
ExpireTime int64 `json:"expireTime"`
IconUrl interface{} `json:"iconUrl"`
IsSign bool `json:"isSign"`
IsSignDeduct bool `json:"isSignDeduct"`
IsSignIap bool `json:"isSignIap"`
IsSignIapDeduct bool `json:"isSignIapDeduct"`
VipCode int `json:"vipCode"`
VipLevel int `json:"vipLevel"`
} `json:"voiceBookVip"`
}
type VipInfoReq ¶
type VipInfoReq struct {
UserId string `json:"userId"` // 为空默认为当前登录用户
}
type VipInfoResp ¶
type VipInfoResp struct {
types.RespCommon[VipInfoRespData]
}
type VipInfoRespData ¶
type VipInfoRespData struct {
Associator struct {
DynamicIconUrl string `json:"dynamicIconUrl"`
ExpireTime int64 `json:"expireTime"`
IconUrl string `json:"iconUrl"`
IsSign bool `json:"isSign"`
IsSignDeduct bool `json:"isSignDeduct"`
IsSignIap bool `json:"isSignIap"`
IsSignIapDeduct bool `json:"isSignIapDeduct"`
VipCode int `json:"vipCode"`
VipLevel int `json:"vipLevel"`
} `json:"associator"`
MusicPackage struct {
DynamicIconUrl string `json:"dynamicIconUrl"`
ExpireTime int64 `json:"expireTime"`
IconUrl string `json:"iconUrl"`
IsSign bool `json:"isSign"`
IsSignDeduct bool `json:"isSignDeduct"`
IsSignIap bool `json:"isSignIap"`
IsSignIapDeduct bool `json:"isSignIapDeduct"`
VipCode int `json:"vipCode"`
VipLevel int `json:"vipLevel"`
} `json:"musicPackage"`
RedVipAnnualCount int `json:"redVipAnnualCount"`
RedVipDynamicIconUrl interface{} `json:"redVipDynamicIconUrl"`
RedVipDynamicIconUrl2 interface{} `json:"redVipDynamicIconUrl2"`
RedVipLevel int `json:"redVipLevel"`
RedVipLevelIcon string `json:"redVipLevelIcon"`
Redplus struct {
DynamicIconUrl string `json:"dynamicIconUrl"`
ExpireTime int64 `json:"expireTime"`
IconUrl string `json:"iconUrl"`
IsSign bool `json:"isSign"`
IsSignDeduct bool `json:"isSignDeduct"`
IsSignIap bool `json:"isSignIap"`
IsSignIapDeduct bool `json:"isSignIapDeduct"`
VipCode int `json:"vipCode"`
VipLevel int `json:"vipLevel"`
} `json:"redplus"`
}
type VipRewardGetAllReq ¶
type VipRewardGetAllReq struct{}
type VipRewardGetAllResp ¶
type VipRewardGetAllResp struct {
types.RespCommon[VipRewardGetAllRespData]
}
type VipRewardGetAllRespData ¶
type VipRewardGetAllRespData struct {
Result bool `json:"result"`
}
type VipRewardGetReq ¶
type VipRewardGetReq struct {
TaskIds []string
}
type VipRewardGetResp ¶
type VipRewardGetResp struct {
types.RespCommon[any]
}
type VipTaskReq ¶
type VipTaskReq struct{}
type VipTaskResp ¶
type VipTaskResp struct {
types.RespCommon[VipTaskRespData]
}
type VipTaskRespData ¶
type VipTaskRespData struct {
TaskList []struct {
Seq int64 `json:"seq"`
SeqName string `json:"seqName"`
TaskItems []struct {
Action string `json:"action"`
ActionType int `json:"actionType"`
BasicTaskId int `json:"basicTaskId"`
BusinessIdent interface{} `json:"businessIdent"`
CurrentProgress int `json:"currentProgress"`
Description string `json:"description"`
GrowthPoint int `json:"growthPoint"`
IconUrl string `json:"iconUrl"`
MissionId int `json:"missionId"`
Name string `json:"name"`
NeedReceive bool `json:"needReceive"`
Period int `json:"period"`
ProgressType int `json:"progressType"`
RuleId int `json:"ruleId"`
SeqTag int `json:"seqTag"`
ShowProgress bool `json:"showProgress"`
SortValue int `json:"sortValue"`
Status int `json:"status"`
TagId int `json:"tagId"`
TargetWorth int `json:"targetWorth"`
Targets interface{} `json:"targets"`
TaskId string `json:"taskId"`
TaskTag string `json:"taskTag"`
TotalUngetScore int `json:"totalUngetScore"`
Type int `json:"type"`
TypeCode interface{} `json:"typeCode"`
UnGetIds []string `json:"unGetIds"`
UpdateTime int `json:"updateTime"`
Url string `json:"url"`
UserMissionId interface{} `json:"userMissionId"`
} `json:"taskItems"`
TaskType int `json:"taskType"`
} `json:"taskList"`
TaskScore int `json:"taskScore"`
}
type VipTaskV2Req ¶
type VipTaskV2Req struct{}
type VipTaskV2Resp ¶
type VipTaskV2Resp struct {
types.RespCommon[VipTaskV2RespData]
}
type VipTaskV2RespData ¶
type VipTaskV2RespData struct {
MaxScore int `json:"maxScore"`
ScoreDuration int `json:"scoreDuration"`
TaskScore int `json:"taskScore"`
UnGetAllScore int `json:"unGetAllScore"`
TaskList []struct {
Seq int `json:"seq"`
SeqName string `json:"seqName"`
TaskItems []struct {
CurrentInfo struct {
Action string `json:"action"`
ActionType int `json:"actionType"`
BasicTaskId int `json:"basicTaskId"`
BusinessIdent interface{} `json:"businessIdent"`
CurrentProgress int `json:"currentProgress"`
Description string `json:"description"`
GrowthPoint int `json:"growthPoint"`
IconUrl string `json:"iconUrl"`
MissionId int `json:"missionId"`
Name string `json:"name"`
NeedReceive bool `json:"needReceive"`
Period int `json:"period"`
ProgressType int `json:"progressType"`
RuleId int `json:"ruleId"`
SeqTag int `json:"seqTag"`
ShowProgress bool `json:"showProgress"`
SortValue int `json:"sortValue"`
Status int `json:"status"`
TagId int `json:"tagId"`
TargetWorth int `json:"targetWorth"`
TaskId string `json:"taskId"`
TaskTag string `json:"taskTag"`
TotalUngetScore int `json:"totalUngetScore"`
Type int `json:"type"`
TypeCode interface{} `json:"typeCode"`
UnGetIds interface{} `json:"unGetIds"`
UpdateTime int64 `json:"updateTime"`
Url string `json:"url"`
UserMissionId *int64 `json:"userMissionId"`
} `json:"currentInfo"`
SubList interface{} `json:"subList"`
} `json:"taskItems"`
TaskType int `json:"taskType"`
} `json:"taskList"`
}
type WebLogReq ¶
type WebLogReq struct {
CsrfToken string `json:"csrf_token"` // 可不用传递
Logs []map[string]interface{} `json:"logs"` // 具体事件内容
}
WebLogReq *** 以下日志是针对mac pc网页端日志分析,由于日志类型太多不能穷举各种日志,而且很多日志无需关心 分析时间:2024-06-24 *** 1.应该是准备开始播放事件 "[{"action":"startplay","json":{"id":1984580503,"type":"song","content":"id=1981392816","mainsite":"1"}}]" 2.开始播放事件 "[{"action":"play","json":{"id":"1984580503","type":"song","source":"list","sourceid":"1981392816","mainsite":"1","content":"id=1981392816"}}]" 3.播放完成事件 "[{"action":"play","json":{"type":"song","wifi":0,"download":0,"id":1984580503,"time":199,"end":"ui","source":"list","sourceId":"1981392816","mainsite":"1","content":"id=1981392816"}}]" 其中歌曲播放一半切歌之后的日志时间为 "[{"action":"play","json":{"type":"song","wifi":0,"download":0,"id":2600804126,"time":22,"end":"interrupt","source":"toplist","sourceId":"19723756","mainsite":"1","content":"id=1981392816"}}]" 4.未知 在播放音乐时间隔一定时间会上传此日志 "[{"action":"impress","json":{"mspm":"619df35ce51b6b383f5fafdb","page":"mainpage","module":"nav_bar","target":"friends","reddot":"1","mainsite":"1"}}]" 5.未知 当一首歌曲播放完之后会产生此日志 "[{"action":"sysaction","json":{"dataType":"cdnCompare","cdnType":"NetEase","loadeddataTime":41716,"resourceType":"audiom4a","resourceId":1984580503,"resourceUrl":"https://m804.music.126.net/20240624165706/16fab8b9a63e70c89f75de59635a784b/jdyyaac/obj/w5rDlsOJwrLDjj7CmsOj/19576100567/d33e/c04b/ac0d/829119824fad1696351f7e0898dd266a.m4a?authSecret=00000190495fb0bc11120a3b1e596978","xySupport":true,"error":false,"errorType":"","ua":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/126.0.0.0 Safari/537.36","mainsite":"1"}}]" 6.未知 "[{\"action\":\"mobile_monitor\",\"json\":{\"meta._ver\":2,\"meta._dataName\":\"pip_lyric_monitor\",\"action\":\"impress\",\"userAgent\":\"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36\",\"chromeVersion\":120,\"mainsite\":\"1\"}}]",
type WebLogResp ¶
type WebLogResp struct {
types.RespCommon[string]
}
type YunBeiExpenseReq ¶
type YunBeiExpenseResp ¶
type YunBeiExpenseResp struct {
// Code 错误码 200:成功
types.RespCommon[[]YunBeiReceiptAndExpenseRespData]
// HasMore 分页迭代使用
HasMore bool `json:"hasmore"`
}
YunBeiExpenseResp .
type YunBeiExpireReq ¶
type YunBeiExpireReq struct{}
type YunBeiExpireResp ¶
type YunBeiExpireResp struct {
types.RespCommon[YunBeiExpireRespData]
}
type YunBeiExpireRespData ¶
type YunBeiNewJudgeReq ¶
type YunBeiNewJudgeReq struct{}
type YunBeiNewJudgeResp ¶
type YunBeiNewJudgeResp struct {
types.RespCommon[YunBeiNewJudgeRespData]
}
type YunBeiNewJudgeRespData ¶
type YunBeiReceiptAndExpenseRespData ¶
type YunBeiReceiptAndExpenseRespData struct {
Date string `json:"date"`
// Fixed 描述
Fixed string `json:"fixed"`
Id int64 `json:"id"`
// OrderId 订单id
OrderId interface{} `json:"orderId"`
// PointCost 云贝数量
PointCost int64 `json:"pointCost"`
// Type 0:云贝过期、购买商品、签到奖励、听歌任务奖励、xxx活动等都是0 2:求歌词 其他待补充
Type int64 `json:"type"`
// Variable Fixed描述中使用得变量,展示时进行拼接比如type=2时 fixed="求翻译:" variable="爱如潮水" 则前端展示`求翻译:爱如潮水`
Variable string `json:"variable"`
}
type YunBeiReceiptReq ¶
type YunBeiReceiptResp ¶
type YunBeiReceiptResp struct {
// Code 错误码 200:成功
types.RespCommon[[]YunBeiReceiptAndExpenseRespData]
// HasMore 分页迭代使用
HasMore bool `json:"hasmore"`
}
YunBeiReceiptResp .
type YunBeiRecommendConfigReq ¶
type YunBeiRecommendConfigReq struct{}
type YunBeiRecommendConfigResp ¶
type YunBeiRecommendConfigResp struct {
types.RespCommon[YunBeiRecommendConfigRespData]
}
type YunBeiSignInCalendarReq ¶
type YunBeiSignInCalendarReq struct{}
type YunBeiSignInCalendarResp ¶
type YunBeiSignInCalendarResp struct {
types.RespCommon[YunBeiSignInCalendarRespData]
}
type YunBeiSignInJudgeReq ¶
type YunBeiSignInJudgeReq struct{}
type YunBeiSignInJudgeResp ¶
type YunBeiSignInJudgeResp struct {
// data true 为已签到
types.RespCommon[bool]
}
type YunBeiSignInProgressReq ¶
type YunBeiSignInProgressReq struct{}
type YunBeiSignInProgressResp ¶
type YunBeiSignInProgressResp struct {
types.RespCommon[YunBeiSignInProgressRespData]
}
type YunBeiSignInProgressRespData ¶
type YunBeiSignInProgressRespData struct {
ReSignJumpUrl string `json:"reSignJumpUrl,omitempty"`
// ExtraCount 再签几天到可以获得奖励
ExtraCount int64 `json:"extraCount,omitempty"`
ExtInfo string `json:"extInfo,omitempty"`
LotteryConfig []YunBeiSignInProgressRespDataLotteryConfig `json:"lotteryConfig,omitempty"`
}
type YunBeiSignInProgressRespDataLotteryConfig ¶
type YunBeiSignInProgressRespDataLotteryConfig struct {
// SignDay 签到天数
SignDay int `json:"signDay"`
// BaseGrant 签到奖励相关描述
BaseGrant struct {
Id int `json:"id"`
// Name 签到奖励描述 例如: 3云贝
Name string `json:"name"`
IconUrl string `json:"iconUrl"`
Type int `json:"type"`
// Note 提示描述 例如: 云贝直接充值到账,详情可至账单查看
Note string `json:"note"`
} `json:"baseGrant"`
ExtraseLotteryId int `json:"extraseLotteryId"`
// BaseLotteryStatus 签到奖励状态 0:未领取 1:已领取
BaseLotteryStatus int `json:"baseLotteryStatus"`
ExtraLotteryId int `json:"extraLotteryId"`
ExtraLotteryStatus int `json:"extraLotteryStatus"`
}
type YunBeiSignInReq ¶
type YunBeiSignInReq struct{}
type YunBeiSignInResp ¶
type YunBeiSignInResp struct {
types.RespCommon[YunBeiSignInRespData]
}
type YunBeiSignInRespData ¶
type YunBeiSignInRespData struct {
// Sign 签到成功返回true重复签到则返回false
Sign bool `json:"sign"`
}
type YunBeiSignInfoReq ¶
type YunBeiSignInfoReq struct{}
type YunBeiSignInfoResp ¶
type YunBeiSignInfoResp struct {
// Code 错误码 200:成功
types.RespCommon[YunBeiSignInfoRespData]
// Point 签到获得积分奖励数量,目前签到规则已经更改变成连续几天签到才能拿获取奖励
Point int64 `json:"point"`
}
YunBeiSignInfoResp 签到返回
type YunBeiSignInfoRespData ¶
type YunBeiTaskFinishReq ¶
type YunBeiTaskFinishResp ¶
type YunBeiTaskListReq ¶
type YunBeiTaskListReq struct{}
type YunBeiTaskListResp ¶
type YunBeiTaskListResp struct {
types.RespCommon[[]YunBeiTaskListRespData]
}
type YunBeiTaskListRespData ¶
type YunBeiTaskListRespData struct {
ActionType int64 `json:"actionType"`
BackgroundPicUrl interface{} `json:"backgroundPicUrl"`
// Completed 任务数是否处理
Completed bool `json:"completed"`
CompletedIconUrl interface{} `json:"completedIconUrl"`
CompletedPoint int64 `json:"completedPoint"`
ExtInfoMap interface{} `json:"extInfoMap"`
// Link 任务跳转链接 例如: orpheus://songrcmd
Link string `json:"link"`
LinkText string `json:"linkText"`
Period int64 `json:"period"`
Position int64 `json:"position"`
Status int `json:"status"`
TargetPoint int `json:"targetPoint"`
TargetStatus interface{} `json:"targetStatus"`
TargetUserTaskId int `json:"targetUserTaskId"`
// TaskDescription 任务描述
TaskDescription string `json:"taskDescription"`
// TaskId 任务id
TaskId int `json:"taskId"`
// TaskName 任务名称
TaskName string `json:"taskName"`
// TaskPoint 任务云贝奖励数量
TaskPoint int `json:"taskPoint"`
TaskPointDetail []struct {
ProgressRate int `json:"progressRate"`
RewardExtendInfo string `json:"rewardExtendInfo"`
RewardId int `json:"rewardId"`
RewardType int `json:"rewardType"`
SortValue int `json:"sortValue"`
StageType int `json:"stageType"`
Status int `json:"status"`
SumTarget int `json:"sumTarget"`
Times int `json:"times"`
UserMissionId int `json:"userMissionId"`
Value int `json:"value"`
Worth int `json:"worth"`
} `json:"taskPointDetail"`
TaskType string `json:"taskType"`
UserTaskId int `json:"userTaskId"`
WebPicUrl string `json:"webPicUrl"`
WordsPicUrl interface{} `json:"wordsPicUrl"`
}
type YunBeiTaskListRespV3Data ¶
type YunBeiTaskListRespV3Data struct {
Newbie interface{} `json:"newbie"`
Normal struct {
List []struct {
ActionType int `json:"actionType"`
BackgroundPicUrl interface{} `json:"backgroundPicUrl"`
Completed bool `json:"completed"`
CompletedIconUrl interface{} `json:"completedIconUrl"`
CompletedPoint int `json:"completedPoint"`
ExtInfoMap *struct {
MissionCode string `json:"missionCode"`
} `json:"extInfoMap"`
Link string `json:"link"`
LinkText string `json:"linkText"`
Period int `json:"period"`
Position int `json:"position"`
Status int `json:"status"`
TargetPoint int `json:"targetPoint"`
TargetStatus interface{} `json:"targetStatus"`
TargetUserTaskId int `json:"targetUserTaskId"`
TaskDescription string `json:"taskDescription"`
TaskId int `json:"taskId"`
TaskName string `json:"taskName"`
TaskPoint int `json:"taskPoint"`
TaskPointDetail []struct {
ProgressRate int `json:"progressRate"`
RewardExtendInfo string `json:"rewardExtendInfo"`
RewardId int `json:"rewardId"`
RewardType int `json:"rewardType"`
SortValue int `json:"sortValue"`
StageType int `json:"stageType"`
Status int `json:"status"`
SumTarget int `json:"sumTarget"`
Times int `json:"times"`
UserMissionId int64 `json:"userMissionId"`
Value int `json:"value"`
Worth int `json:"worth"`
} `json:"taskPointDetail"`
TaskType string `json:"taskType"`
UserTaskId int64 `json:"userTaskId"`
WebPicUrl string `json:"webPicUrl"`
WordsPicUrl interface{} `json:"wordsPicUrl"`
} `json:"list"`
TypeList []struct {
Name string `json:"name"`
} `json:"typeList"`
} `json:"normal"`
}
type YunBeiTaskListV3Req ¶
type YunBeiTaskListV3Req struct{}
type YunBeiTaskListV3Resp ¶
type YunBeiTaskListV3Resp struct {
types.RespCommon[YunBeiTaskListRespV3Data]
}
type YunBeiTaskTodoReq ¶
type YunBeiTaskTodoReq struct{}
type YunBeiTaskTodoResp ¶
type YunBeiTaskTodoResp struct {
types.RespCommon[[]YunBeiTaskTodoRespData]
}
type YunBeiTaskTodoRespData ¶
type YunBeiTaskTodoRespData struct {
// Completed 任务数是否处理
Completed bool `json:"completed"`
DepositCode int `json:"depositCode"`
ExpireTime int `json:"expireTime"`
// Link 任务跳转链接 例如: orpheus://songrcmd
Link string `json:"link"`
Period int `json:"period"`
// TaskName 任务名称
TaskName string `json:"taskName"`
// TaskPoint 任务云贝奖励数量
TaskPoint int `json:"taskPoint"`
UserTaskId int64 `json:"userTaskId"`
}
type YunBeiTodaySignInInfoReq ¶
type YunBeiTodaySignInInfoReq struct{}
type YunBeiTodaySignInInfoResp ¶
type YunBeiTodaySignInInfoResp struct {
types.RespCommon[YunBeiTodaySignInInfoRespData]
}
type YunBeiTodaySignInInfoRespData ¶
type YunBeiTodaySignInInfoRespData struct {
Shells int64 `json:"shells"`
}
type YunBeiUserInfoReq ¶
type YunBeiUserInfoReq struct{}
type YunBeiUserInfoResp ¶
type YunBeiUserInfoResp struct {
types.RespCommon[any]
// Level 账号等级L1~L10
Level int64 `json:"level"`
UserPoint struct {
// Balance 云贝可用数量
Balance int64 `json:"balance"`
// BlockBalance 云贝冻结数量
BlockBalance int64 `json:"blockBalance"`
// Status 状态 0:正常 其他待补充
Status int64 `json:"status"`
UpdateTime int64 `json:"updateTime"`
UserId int64 `json:"userId"`
Version int64 `json:"version"`
} `json:"userPoint"`
MobileSign bool `json:"mobileSign"`
PcSign bool `json:"pcSign"`
Viptype int64 `json:"viptype"`
Expiretime int64 `json:"expiretime"`
BackupExpireTime int64 `json:"backupExpireTime"`
StoreTitle string `json:"storeTitle"`
Pubwords string `json:"pubwords"`
GameConfig interface{} `json:"gameConfig"`
RingConfig interface{} `json:"ringConfig"`
FmConfig interface{} `json:"fmConfig"`
TicketConfig struct {
PicId string `json:"picId"`
PicUrl string `json:"picUrl"`
} `json:"ticketConfig"`
}