types

package
v0.0.8 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 6, 2020 License: MIT Imports: 1 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Album

type Album struct {
	ID         int           `json:"id"`
	Name       string        `json:"name"`
	ImageURL   string        `json:"picUrl"`
	UnknownTns []interface{} `json:"tns"`
	ImageID    int64         `json:"pic"`
}

type AlbumArtist

type AlbumArtist struct {
	Img1V1ID    int64         `json:"img1v1Id"`
	TopicPerson int           `json:"topicPerson"`
	Followed    bool          `json:"followed"`
	Alias       []interface{} `json:"alias"`
	PicID       int           `json:"picId"`
	BriefDesc   string        `json:"briefDesc"`
	MusicSize   int           `json:"musicSize"`
	AlbumSize   int           `json:"albumSize"`
	Img1V1URL   string        `json:"img1v1Url"`
	Trans       string        `json:"trans"`
	PicURL      string        `json:"picUrl"`
	Name        string        `json:"name"`
	ID          int           `json:"id"`
	Img1V1IDStr string        `json:"img1v1Id_str"`
}

type AlbumCommentResourceInfo

type AlbumCommentResourceInfo struct {
	ID        int         `json:"id"`
	UserID    int         `json:"userId"`
	Name      string      `json:"name"`
	ImgURL    string      `json:"imgUrl"`
	Creator   interface{} `json:"creator"`
	EncodedID interface{} `json:"encodedId"`
	SubTitle  interface{} `json:"subTitle"`
	WebURL    interface{} `json:"webUrl"`
}

type AlbumCommentThread

type AlbumCommentThread struct {
	ID               string                   `json:"id"`
	ResourceInfo     AlbumCommentResourceInfo `json:"resourceInfo"`
	ResourceType     int                      `json:"resourceType"`
	CommentCount     int                      `json:"commentCount"`
	LikedCount       int                      `json:"likedCount"`
	ShareCount       int                      `json:"shareCount"`
	HotCount         int                      `json:"hotCount"`
	LatestLikedUsers interface{}              `json:"latestLikedUsers"`
	ResourceID       int                      `json:"resourceId"`
	ResourceTitle    string                   `json:"resourceTitle"`
	ResourceOwnerID  int                      `json:"resourceOwnerId"`
}

type AlbumInfo

type AlbumInfo struct {
	ID                   int             `json:"id"`
	Type                 string          `json:"type"`
	Size                 int             `json:"size"`
	Songs                []interface{}   `json:"songs"`
	Paid                 bool            `json:"paid"`
	OnSale               bool            `json:"onSale"`
	Mark                 int             `json:"mark"`
	Alias                []interface{}   `json:"alias"`
	Artists              []AlbumArtist   `json:"artists"`
	CopyrightID          int             `json:"copyrightId"`
	PicID                uint64          `json:"picId"`
	Artist               AlbumArtist     `json:"artist"`
	PublishTime          uint64          `json:"publishTime"`
	Company              string          `json:"company"`
	BriefDescription     string          `json:"briefDesc"`
	CommentThreadID      string          `json:"commentThreadId"`
	CoverImageURL        string          `json:"picUrl"`
	CoverImageID         uint64          `json:"pic"`
	CoverImageStringID   string          `json:"picId_str"`
	BlurredCoverImageURL string          `json:"blurPicUrl"`
	CompanyID            int             `json:"companyId"`
	Tags                 string          `json:"tags"`
	Description          string          `json:"description"`
	Status               int             `json:"status"`
	SubType              string          `json:"subType"`
	Name                 string          `json:"name"`
	SocialInfo           AlbumSocialData `json:"info"`
}

type AlbumResp

type AlbumResp struct {
	Songs    []SongInfo `json:"songs"`
	Code     int        `json:"code"`
	Album    AlbumInfo  `json:"album"`
	Response string     `json:"-"`
}

func (*AlbumResp) Deserialize

func (r *AlbumResp) Deserialize(resp string) error

type AlbumSearchResult

type AlbumSearchResult struct {
	Albums     []Album `json:"albums,omitempty"`
	AlbumCount uint    `json:"albumCount,omitempty"`
}

type AlbumSocialData

type AlbumSocialData struct {
	CommentThread    AlbumCommentThread `json:"commentThread"`
	LatestLikedUsers interface{}        `json:"latestLikedUsers"`
	Liked            bool               `json:"liked"`
	Comments         interface{}        `json:"comments"`
	ResourceType     int                `json:"resourceType"`
	ResourceID       int                `json:"resourceId"`
	CommentCount     int                `json:"commentCount"`
	LikedCount       int                `json:"likedCount"`
	ShareCount       int                `json:"shareCount"`
	ThreadID         string             `json:"threadId"`
}

type Artist

type Artist struct {
	ID    int           `json:"id"`
	Name  string        `json:"name"`
	Tns   []interface{} `json:"tns"`
	Alias []interface{} `json:"alias"`
}

type ArtistInfo

type ArtistInfo struct {
	BasicArtistInfo

	// A brief description of this artist.
	Description string `json:"briefDesc"`

	TopicPerson int           `json:"topicPerson"`
	Alias       []interface{} `json:"alias"`

	// Number of songs
	SongCount int `json:"musicSize"`

	PublishTime uint64 `json:"publishTime"`
	AccountID   uint64 `json:"accountId"`
}

type ArtistResp

type ArtistResp struct {
	Artist ArtistInfo `json:"artist"`

	// Popular songs
	Songs []SongInfo `json:"hotSongs"`

	// There's more songs flag?
	More bool `json:"more"`

	Code     int    `json:"code"`
	Response string `json:"-"`
}

func (*ArtistResp) Deserialize

func (r *ArtistResp) Deserialize(resp string) error

type ArtistSearchResult

type ArtistSearchResult struct {
	ArtistCount uint              `json:"artistCount,omitempty"`
	Artists     []BasicArtistInfo `json:"artists,omitempty"`
}

type BasicArtistInfo

type BasicArtistInfo struct {
	ID int `json:"id"`

	// Original Name
	Name string `json:"name"`
	// Localised name (Chinese)
	LocalisedName string `json:"trans"`

	Img1V1ID    int64  `json:"img1v1Id"`
	Img1V1IDStr string `json:"img1v1Id_str"`
	Img1V1URL   string `json:"img1v1Url"`

	PicID    int64  `json:"picId"`
	PicIDStr string `json:"picId_str"`
	PicURL   string `json:"picUrl"`

	// Number of albums
	AlbumCount int `json:"albumSize"`
	// Number of MV
	MVCount int `json:"mvSize"`

	Followed bool `json:"followed"`
}

type BasicPlaylistCreatorInfo

type BasicPlaylistCreatorInfo struct {
	UserID     int         `json:"userId"`
	Nickname   string      `json:"nickname"`
	UserType   int         `json:"userType"`
	AuthStatus int         `json:"authStatus"`
	ExpertTags interface{} `json:"expertTags"`
	Experts    interface{} `json:"experts"`
}

type BasicPlaylistInfo

type BasicPlaylistInfo struct {
	ID          int    `json:"id"`
	Name        string `json:"name"`
	CoverImgURL string `json:"coverImgUrl"`

	Creator BasicPlaylistCreatorInfo `json:"creator"`

	Subscribed   bool        `json:"subscribed"`
	TrackCount   int         `json:"trackCount"`
	UserID       int         `json:"userId"`
	PlayCount    int         `json:"playCount"`
	BookCount    int         `json:"bookCount"`
	OfficialTags interface{} `json:"officialTags,omitempty"`
	Description  string      `json:"description"`
	HighQuality  bool        `json:"highQuality"`
}

type BasicRadioInfo

type BasicRadioInfo struct {
	ID     int    `json:"id"`
	DJ     DJInfo `json:"dj"`
	Name   string `json:"name"`
	PicURL string `json:"picUrl"`

	Description string `json:"desc"`

	SubCount              int         `json:"subCount"`
	ProgramCount          int         `json:"programCount"`
	CreateTime            uint64      `json:"createTime"`
	CategoryID            int         `json:"categoryId"`
	Category              string      `json:"category"`
	RadioFeeType          int         `json:"radioFeeType"`
	FeeScope              int         `json:"feeScope"`
	Bought                bool        `json:"buyed"`
	Videos                interface{} `json:"videos"`
	Finished              bool        `json:"finished"`
	UnderShelf            bool        `json:"underShelf"`
	PurchaseCount         int         `json:"purchaseCount"`
	Price                 int         `json:"price"`
	OriginalPrice         int         `json:"originalPrice"`
	DiscountPrice         interface{} `json:"discountPrice"`
	LastProgramCreateTime uint64      `json:"lastProgramCreateTime"`
	LastProgramName       string      `json:"lastProgramName"`
	LastProgramID         int         `json:"lastProgramId"`
	PicID                 uint64      `json:"picId"`
	ComposeVideo          bool        `json:"composeVideo"`
	ShareCount            int         `json:"shareCount"`
	RecommendText         string      `json:"rcmdtext"`
	LikedCount            int         `json:"likedCount"`
	CommentCount          int         `json:"commentCount"`
}

type BasicSongSearchResult

type BasicSongSearchResult struct {
	Songs     []SongInfo `json:"songs,omitempty"`
	SongCount uint       `json:"songCount,omitempty"`
}

type BasicUserInfo

type BasicUserInfo struct {
	UserID   int    `json:"userId"`
	UserName string `json:"userName"`
}

type ChargeInfo

type ChargeInfo struct {
	BitRate       int         `json:"rate"`
	ChargeURL     interface{} `json:"chargeUrl"`
	ChargeMessage interface{} `json:"chargeMessage"`
	ChargeType    int         `json:"chargeType"`
}

type DJInfo

type DJInfo struct {
	UserInfo

	AuthenticationTypes int  `json:"authenticationTypes"`
	Anchor              bool `json:"anchor"`
}

type ExtendedUserInfoForSearch

type ExtendedUserInfoForSearch struct {
	UserInfo

	AuthenticationTypes int  `json:"authenticationTypes"`
	Anchor              bool `json:"anchor"`

	FollowedByCount int `json:"followeds"`
	FollowsCount    int `json:"follows"`

	Algorithm                 string `json:"alg"`
	PlaylistCount             int    `json:"playlistCount"`
	PlaylistBeSubscribedCount int    `json:"playlistBeSubscribedCount"`
	AvatarImgIDStr            string `json:"avatarImgId_str,omitempty"`
}

type FreeTrialInfo

type FreeTrialInfo struct {
	Start int `json:"start"`
	End   int `json:"end"`
}

type LRCData

type LRCData struct {
	Version int `json:"version"`

	// LRC formatted Lyrics
	LRC string `json:"lyric,omitempty"`
}

type LyricResp

type LyricResp struct {
	UnknownSgc bool `json:"sgc"`
	UnknownSfy bool `json:"sfy"`
	UnknownQfy bool `json:"qfy"`

	Lyrics          LRCData `json:"lrc,omitempty"`
	LocalisedLyrics LRCData `json:"tlyric,omitempty"`

	Code     int    `json:"code"`
	Response string `json:"-"`
}

func (*LyricResp) Deserialize

func (r *LyricResp) Deserialize(resp string) error

type LyricSearchResult

type LyricSearchResult BasicSongSearchResult

a subset of `SongSearchResult`

type PlayListResp

type PlayListResp struct {
	Code          int             `json:"code"`
	RelatedVideos interface{}     `json:"relatedVideos"`
	Playlist      Playlist        `json:"playlist"`
	Urls          interface{}     `json:"urls"`
	Privileges    []PrivilegeInfo `json:"privileges"`
	Response      string          `json:"-"`
}

func (*PlayListResp) Deserialize

func (r *PlayListResp) Deserialize(resp string) error

type Playlist

type Playlist struct {
	BasicPlaylistInfo
	Creator UserInfo `json:"creator"`

	Subscribers           []interface{} `json:"subscribers"`
	Tracks                []SongInfo    `json:"tracks"`
	TrackIds              []TrackID     `json:"trackIds"`
	UpdateFrequency       interface{}   `json:"updateFrequency"`
	BackgroundCoverID     int           `json:"backgroundCoverId"`
	BackgroundCoverURL    interface{}   `json:"backgroundCoverUrl"`
	TitleImage            int           `json:"titleImage"`
	TitleImageURL         interface{}   `json:"titleImageUrl"`
	EnglishTitle          interface{}   `json:"englishTitle"`
	OpRecommend           bool          `json:"opRecommend"`
	AdType                int           `json:"adType"`
	TrackNumberUpdateTime int64         `json:"trackNumberUpdateTime"`
	SubscribedCount       int           `json:"subscribedCount"`
	CloudTrackCount       int           `json:"cloudTrackCount"`
	CreateTime            int64         `json:"createTime"`
	SpecialType           int           `json:"specialType"`
	UpdateTime            int64         `json:"updateTime"`
	CoverImgID            int64         `json:"coverImgId"`
	NewImported           bool          `json:"newImported"`
	CommentThreadID       string        `json:"commentThreadId"`
	Privacy               int           `json:"privacy"`
	TrackUpdateTime       int64         `json:"trackUpdateTime"`
	TrackCount            int           `json:"trackCount"`
	Ordered               bool          `json:"ordered"`
	Tags                  []interface{} `json:"tags"`
	Status                int           `json:"status"`
	ShareCount            int           `json:"shareCount"`
	CommentCount          int           `json:"commentCount"`
}

type PlaylistSearchResult

type PlaylistSearchResult struct {
	Playlists     []BasicPlaylistInfo `json:"playlists,omitempty"`
	PlaylistCount uint                `json:"playlistCount,omitempty"`
}

type PrivilegeInfo

type PrivilegeInfo struct {
	ID                 int          `json:"id"`
	Fee                int          `json:"fee"`
	Payed              int          `json:"payed"`
	UnknownSt          int          `json:"st"`
	UnknownPl          int          `json:"pl"`
	UnknownDl          int          `json:"dl"`
	UnknownSp          int          `json:"sp"`
	UnknownCp          int          `json:"cp"`
	UnknownSubp        int          `json:"subp"`
	UnknownCs          bool         `json:"cs"`
	MaxBitrate         int          `json:"maxbr"`
	UnknownFl          int          `json:"fl"`
	UnknownToast       bool         `json:"toast"`
	UnknownFlag        int          `json:"flag"`
	PreOrder           bool         `json:"preSell"`
	PlayMaxBitrate     int          `json:"playMaxbr"`
	DownloadMaxBitrate int          `json:"downloadMaxbr"`
	ChargeInfoList     []ChargeInfo `json:"chargeInfoList"`
}

type RadioSearchResult

type RadioSearchResult struct {
	Radios      []BasicRadioInfo `json:"djRadios,omitempty"`
	RadiosCount uint             `json:"djRadiosCount,omitempty"`
}

type ResourceInfo

type ResourceInfo struct {
	BitRate   int     `json:"br"`
	FileID    int     `json:"fid"`
	Size      int     `json:"size"`
	UnknownVd float64 `json:"vd"`
}

type SearchResp

type SearchResp struct {
	Result SearchResultUnion `json:"result"`

	Code     int    `json:"code"`
	Response string `json:"-"`
}

func (*SearchResp) Deserialize

func (r *SearchResp) Deserialize(resp string) error

type SongInfo

type SongInfo struct {
	ID             int      `json:"id"`
	Name           string   `json:"name"`
	TranslatedName []string `json:"tns,omitempty"`
	UnknownPst     int      `json:"pst"`
	UnknownT       int      `json:"t"`
	Artists        []Artist `json:"ar"`
	// unknown
	Aliases              []string      `json:"alia,omitempty"`
	UnknownPop           float64       `json:"pop"`
	UnknownSt            int           `json:"st"`
	UnknownRt            string        `json:"rt"`
	UnknownFee           int           `json:"fee"`
	UnknownV             int           `json:"v"`
	UnknownCrbt          interface{}   `json:"crbt"`
	UnknownCf            string        `json:"cf"`
	Album                Album         `json:"al"`
	UnknownDt            int           `json:"dt"`
	HighQuality          ResourceInfo  `json:"h,omitempty"`
	MediumQuality        ResourceInfo  `json:"m,omitempty"`
	LowQuality           ResourceInfo  `json:"l,omitempty"`
	UnknownA             interface{}   `json:"a"`
	UnknownCd            string        `json:"cd"`
	UnknownNo            int           `json:"no"`
	UnknownRtURL         interface{}   `json:"rtUrl"`
	UnknownFtype         int           `json:"ftype"`
	UnknownRtUrls        []interface{} `json:"rtUrls"`
	UnknownDjID          int           `json:"djId"`
	Copyright            int           `json:"copyright"`
	UnknownSID           int           `json:"s_id"`
	Mark                 int           `json:"mark"`
	OriginalCoverType    int           `json:"originCoverType"`
	Single               int           `json:"single"`
	NoCopyrightRecommend interface{}   `json:"noCopyrightRcmd"`
	HasMV                int           `json:"mv"`
	ResourceType         int           `json:"rtype"`
	ResourceURL          string        `json:"rurl"`
	UnknownMst           int           `json:"mst"`
	UnknownCp            int           `json:"cp"`
	PublishTime          int64         `json:"publishTime"`

	// Privilege is only available when accessed from "Lyric Search"
	Privilege PrivilegeInfo `json:"privilege,omitdefault"`
	// Lyrics is only available when accessed from "Lyric Search"
	Lyrics []string `json:"lyrics,omitdefault"`
}

type SongResp

type SongResp struct {
	Songs      []SongInfo      `json:"songs"`
	Privileges []PrivilegeInfo `json:"privileges"`
	Code       int             `json:"code"`
	Response   string          `json:"-"`
}

func (*SongResp) Deserialize

func (r *SongResp) Deserialize(resp string) error

type SongSearchResult

type SongSearchResult struct {
	BasicSongSearchResult
	RecQuery   interface{} `json:"rec_query,omitempty"`
	RecType    interface{} `json:"rec_type,omitempty"`
	Highlights []string    `json:"highlights,omitempty"`
	HasMore    bool        `json:"hasMore,omitempty"`
}

type SongURLInfo

type SongURLInfo struct {
	ID int `json:"id"`

	// 200: OK
	Code int `json:"code"`

	URL     string `json:"url"`
	Bitrate int    `json:"br"`
	Bytes   int    `json:"size"`
	MD5     string `json:"md5"`

	// Usually 1200, 20 minutes?
	ExpireIn      int            `json:"expi"`
	Type          string         `json:"type"`
	Gain          float64        `json:"gain"`
	Fee           int            `json:"fee"`
	Payed         int            `json:"payed"`
	UnknownUf     interface{}    `json:"uf"`
	Flag          int            `json:"flag"`
	CanExtend     bool           `json:"canExtend"`
	FreeTrialInfo *FreeTrialInfo `json:"freeTrialInfo"`

	// e.g. "standard"
	Level string `json:"level"`

	// e.g. "mp3"
	EncodeType string `json:"encodeType"`
}

func (*SongURLInfo) IsSample

func (s *SongURLInfo) IsSample() bool

type SongURLResp

type SongURLResp struct {
	Data     []SongURLInfo `json:"data"`
	Code     int           `json:"code"`
	Response string        `json:"-"`
}

func (*SongURLResp) Deserialize

func (r *SongURLResp) Deserialize(resp string) error

type TrackID

type TrackID struct {
	ID  int         `json:"id"`
	V   int         `json:"v"`
	At  int64       `json:"at"`
	Alg interface{} `json:"alg"`
}

type UserInfo

type UserInfo struct {
	BasicPlaylistCreatorInfo

	DefaultAvatar      bool        `json:"defaultAvatar"`
	Province           int         `json:"province"`
	Followed           bool        `json:"followed"`
	AvatarURL          string      `json:"avatarUrl"`
	AccountStatus      int         `json:"accountStatus"`
	Gender             int         `json:"gender"`
	City               int         `json:"city"`
	Birthday           int64       `json:"birthday"`
	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          int         `json:"authority"`
	Mutual             bool        `json:"mutual"`
	DjStatus           int         `json:"djStatus"`
	VipType            int         `json:"vipType"`
	RemarkName         interface{} `json:"remarkName"`
	AvatarImgIDStr     string      `json:"avatarImgIdStr"`
	BackgroundImgIDStr string      `json:"backgroundImgIdStr"`
}

type UserSearchResult

type UserSearchResult struct {
	Users      []ExtendedUserInfoForSearch `json:"userprofiles"`
	UsersCount uint                        `json:"userprofileCount"`
}

type VideoInfo

type VideoInfo struct {
	CoverURL string `json:"coverUrl"`
	Title    string `json:"title"`
	// Duration in MS
	DurationMS int             `json:"durationms"`
	PlayTime   int             `json:"playTime"`
	Type       int             `json:"type"`
	Creator    []BasicUserInfo `json:"creator"`
	AliasName  interface{}     `json:"aliaName"`
	TransName  interface{}     `json:"transName"`
	VideoID    string          `json:"vid"`
	MarkTypes  []interface{}   `json:"markTypes"`
	Algorithm  string          `json:"alg"`
}

type VideoSearchResult

type VideoSearchResult struct {
	VideoCount uint        `json:"videoCount,omitempty"`
	Videos     []VideoInfo `json:"videos,omitempty"`
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL