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) GetUserInfo(ctx context.Context, req *GetUserInfoReq) (*GetUserInfoResp, 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) 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) 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) RecommendSongs(ctx context.Context, req *RecommendSongsReq) (*RecommendSongsResp, 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 CloudUploadLbsResp
- type CloudUploadReq
- type CloudUploadResp
- type EapiOption
- 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 PartnerEvaluateReq
- type PartnerEvaluateResp
- type PartnerEvaluateRespData
- type PartnerExtraReportReq
- type PartnerExtraReportResp
- type PartnerExtraReportRespData
- type PartnerExtraTaskReq
- type PartnerExtraTaskResp
- type PartnerExtraTaskRespData
- type PartnerHomeReq
- type PartnerHomeResp
- type PartnerHomeRespData
- 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 RecommendSongsReq
- type RecommendSongsResp
- type RecommendSongsRespData
- 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: 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) GetUserInfo ¶
func (a *Api) GetUserInfo(ctx context.Context, req *GetUserInfoReq) (*GetUserInfoResp, error)
GetUserInfo 获取用户信息
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) PartnerDailyTask ¶
func (a *Api) PartnerDailyTask(ctx context.Context, req *PartnerTaskReq) (*PartnerTaskResp, error)
PartnerDailyTask 查询当日任务情况
func (*Api) PartnerEvaluate ¶
func (a *Api) PartnerEvaluate(ctx context.Context, req *PartnerEvaluateReq) (*PartnerEvaluateResp, error)
PartnerEvaluate 音乐评审提交
func (*Api) PartnerExtraReport ¶
func (a *Api) PartnerExtraReport(ctx context.Context, req *PartnerExtraReportReq) (*PartnerExtraReportResp, error)
PartnerExtraReport 报告扩展听歌任务(2024年10月21日出的新功能测评)
func (*Api) PartnerExtraTask ¶
func (a *Api) PartnerExtraTask(ctx context.Context, req *PartnerExtraTaskReq) (*PartnerExtraTaskResp, error)
PartnerExtraTask 扩展听歌任务列表,返回得数据有100首歌(2024年10月21日推出的新功能测评)。
func (*Api) PartnerHome ¶
func (a *Api) PartnerHome(ctx context.Context, req *PartnerHomeReq) (*PartnerHomeResp, error)
PartnerHome 查询本周完成任务情况
func (*Api) PartnerLatest ¶
func (a *Api) PartnerLatest(ctx context.Context, req *PartnerLatestReq) (*PartnerLatestResp, error)
PartnerLatest 查询下个周期开始时间
func (*Api) PartnerNotice ¶
func (a *Api) PartnerNotice(ctx context.Context, req *PartnerNoticeReq) (*PartnerNoticeResp, error)
PartnerNotice 是否开启通知?
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:正确数量?
func (*Api) PartnerUserinfo ¶
func (a *Api) PartnerUserinfo(ctx context.Context, req *PartnerUserinfoReq) (*PartnerUserinfoResp, error)
PartnerUserinfo 查询当前用户数据
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: 不需要认证 https://music.163.com/api/v6/playlist/detail?id=1981392816
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) RecommendSongs ¶
func (a *Api) RecommendSongs(ctx context.Context, req *RecommendSongsReq) (*RecommendSongsResp, error)
RecommendSongs 每日推荐歌曲列表 url: needLogin: 未知
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: 未知 说明: 使用 `/song/url/v1` 接口获取的是歌曲试听 url, 但存在部分歌曲在非 VIP 账号上可以下载无损音质而不能试听无损音质, 使用此接口可使非 VIP 账号获取这些歌曲的无损音频
func (*Api) SongMusicQuality ¶
func (a *Api) SongMusicQuality(ctx context.Context, req *SongMusicQualityReq) (*SongMusicQualityResp, error)
SongMusicQuality 根据歌曲id获取支持哪些音质.其中types.Quality部位nil得则代表支持得品质 url: 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。
func (*Api) TokenRefresh ¶
func (a *Api) TokenRefresh(ctx context.Context, req *TokenRefreshReq) (*TokenRefreshResp, error)
TokenRefresh 登录token刷新
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"` WaitTime int64 `json:"waitTime"` Exists bool `json:"exists"` NextUploadTime int64 `json:"nextUploadTime"` SongIdLong int `json:"songIdLong"` 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 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"` Token string `json:"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 CloudUploadLbsResp ¶
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 EapiOption ¶
EapiOption eapi 请求所需要的参数
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 PartnerEvaluateReq ¶
type PartnerEvaluateReq struct { types.ReqCommon TaskId int64 `json:"taskId"` // 任务id 参数值对应https://interface.music.163.com/weapi/music/partner/daily/task/get 接口 WorkId int64 `json:"workId"` // 哪首歌曲id 参数值对应https://interface.music.163.com/weapi/music/partner/daily/task/get 接口 Score int64 `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 ExtraResource bool `json:"extraResource"` // 当测评更多歌曲时使用 }
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[any] }
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"` // 当前歌曲测评得分 }
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 { Comment string `json:"comment"` Completed bool `json:"completed"` CustomTags []interface{} `json:"customTags"` Score float64 `json:"score"` SongCommentInfo interface{} `json:"songCommentInfo"` Tags []interface{} `json:"tags"` TaskTitleDesc string `json:"taskTitleDesc"` UserScore float64 `json:"userScore"` Work PartnerWork `json:"work"` }
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"` EndDate int64 `json:"endDate"` User struct { UserId int64 `json:"userId"` NickName string `json:"nickName"` AvatarUrl string `json:"avatarUrl"` Title string `json:"title"` 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"` }
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"` // 任务数量 Count int64 `json:"count"` // 完成数量 CompletedCount int64 `json:"completedCount"` // 完成任务获得的积分老版为10现在3.0版本为8分 Integral int64 `json:"integral"` TaskTitle interface{} `json:"taskTitle"` // Works 如果没有测评资格则该任务列表为空 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"` } `json:"works"` // 推荐歌曲列表该列表为新得音乐合伙人3.0功能中增加 RecResources []struct { Work PartnerWork `json:"work"` SpecialTag interface{} `json:"specialTag"` SongCommonTags interface{} `json:"songCommonTags"` ReceivedScore int `json:"receivedScore"` QualityScore int `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 int `json:"totalTaskNum"` FinishTaskNum int `json:"finishTaskNum"` } `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 string `json:"title"` Days int64 `json:"days"` Integral int64 `json:"integral"` EvaluateCount int64 `json:"evaluateCount"` PickCount int64 `json:"pickCount"` // Status 状态: ELIMINATED: 可能是代表本期已经结算或者未满足320分失去测评资格了 Status string `json:"status"` PickRights []interface{} `json:"pickRights"` TitleStats []struct { Title string `json:"title"` Count int64 `json:"count"` } `json:"titleStats"` CurrentPeriodRank interface{} `json:"currentPeriodRank"` RecoverExpiredTime int64 `json:"recoverExpiredTime"` RightType int64 `json:"rightType"` }
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"` LyricContent string `json:"lyricContent"` Duration int64 `json:"duration"` SongStartPosition int64 `json:"songStartPosition"` SongEndPosition int64 `json:"songEndPosition"` Status string `json:"status"` // NORMAL PlayUrl string `json:"playUrl"` Source string `json:"source"` // RANK_INSERT,MUSE,等 GoodRate int64 `json:"goodRate"` Style string `json:"style"` // 华语、华语嘻哈说唱、等 }
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 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 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] }
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、flac(可能还有其他类型) 作用未知 ImmerseType string `json:"immerseType"` // 只有Level为sky时生效(可能还有其他类型) }
type SongPlayerV1Resp ¶
type SongPlayerV1Resp struct { types.RespCommon[[]SongPlayerRespV1Data] }
type TokenRefreshReq ¶
type TokenRefreshResp ¶
type TokenRefreshResp struct { types.RespCommon[any] }
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"` }