feat: 优化类型处理

This commit is contained in:
alger
2025-08-07 22:57:17 +08:00
parent daa8e7514d
commit 3ba85f34ed
62 changed files with 104 additions and 88 deletions
-65
View File
@@ -1,65 +0,0 @@
export interface IAlbumNew {
code: number;
albums: Album[];
}
export interface Album {
name: string;
id: number;
type: string;
size: number;
picId: number;
blurPicUrl: string;
companyId: number;
pic: number;
picUrl: string;
publishTime: number;
description: string;
tags: string;
company: string;
briefDesc: string;
artist: Artist;
songs?: any;
alias: string[];
status: number;
copyrightId: number;
commentThreadId: string;
artists: Artist2[];
paid: boolean;
onSale: boolean;
picId_str: string;
}
interface Artist2 {
name: string;
id: number;
picId: number;
img1v1Id: number;
briefDesc: string;
picUrl: string;
img1v1Url: string;
albumSize: number;
alias: any[];
trans: string;
musicSize: number;
topicPerson: number;
img1v1Id_str: string;
}
interface Artist {
name: string;
id: number;
picId: number;
img1v1Id: number;
briefDesc: string;
picUrl: string;
img1v1Url: string;
albumSize: number;
alias: string[];
trans: string;
musicSize: number;
topicPerson: number;
picId_str?: string;
img1v1Id_str: string;
transNames?: string[];
}
-110
View File
@@ -1,110 +0,0 @@
export interface IArtistDetail {
videoCount: number;
vipRights: VipRights;
identify: Identify;
artist: IArtist;
blacklist: boolean;
preferShow: number;
showPriMsg: boolean;
secondaryExpertIdentiy: SecondaryExpertIdentiy[];
eventCount: number;
user: User;
}
interface User {
backgroundUrl: string;
birthday: number;
detailDescription: string;
authenticated: boolean;
gender: number;
city: number;
signature: null;
description: string;
remarkName: null;
shortUserName: string;
accountStatus: number;
locationStatus: number;
avatarImgId: number;
defaultAvatar: boolean;
province: number;
nickname: string;
expertTags: null;
djStatus: number;
avatarUrl: string;
accountType: number;
authStatus: number;
vipType: number;
userName: string;
followed: boolean;
userId: number;
lastLoginIP: string;
lastLoginTime: number;
authenticationTypes: number;
mutual: boolean;
createTime: number;
anchor: boolean;
authority: number;
backgroundImgId: number;
userType: number;
experts: null;
avatarDetail: AvatarDetail;
}
interface AvatarDetail {
userType: number;
identityLevel: number;
identityIconUrl: string;
}
interface SecondaryExpertIdentiy {
expertIdentiyId: number;
expertIdentiyName: string;
expertIdentiyCount: number;
}
export interface IArtist {
id: number;
cover: string;
avatar: string;
name: string;
transNames: any[];
alias: any[];
identities: any[];
identifyTag: string[];
briefDesc: string;
rank: Rank;
albumSize: number;
musicSize: number;
mvSize: number;
}
interface Rank {
rank: number;
type: number;
}
interface Identify {
imageUrl: string;
imageDesc: string;
actionUrl: string;
}
interface VipRights {
rightsInfoDetailDtoList: RightsInfoDetailDtoList[];
oldProtocol: boolean;
redVipAnnualCount: number;
redVipLevel: number;
now: number;
}
interface RightsInfoDetailDtoList {
vipCode: number;
expireTime: number;
iconUrl: null;
dynamicIconUrl: null;
vipLevel: number;
signIap: boolean;
signDeduct: boolean;
signIapDeduct: boolean;
sign: boolean;
}
-168
View File
@@ -1,168 +0,0 @@
export interface IDayRecommend {
dailySongs: DailySong[];
orderSongs: any[];
recommendReasons: RecommendReason[];
mvResourceInfos: null;
}
interface RecommendReason {
songId: number;
reason: string;
reasonId: string;
targetUrl: null;
}
interface DailySong {
name: string;
id: number;
pst: number;
t: number;
ar: Ar[];
alia: string[];
pop: number;
st: number;
rt: null | string;
fee: number;
v: number;
crbt: null;
cf: string;
al: Al;
dt: number;
h: H;
m: H;
l: H;
sq: H | null;
hr: H | null;
a: null;
cd: string;
no: number;
rtUrl: null;
ftype: number;
rtUrls: any[];
djId: number;
copyright: number;
s_id: number;
mark: number;
originCoverType: number;
originSongSimpleData: OriginSongSimpleDatum | null;
tagPicList: null;
resourceState: boolean;
version: number;
songJumpInfo: null;
entertainmentTags: null;
single: number;
noCopyrightRcmd: null;
rtype: number;
rurl: null;
mst: number;
cp: number;
mv: number;
publishTime: number;
reason: null | string;
videoInfo: VideoInfo;
recommendReason: null | string;
privilege: Privilege;
alg: string;
tns?: string[];
s_ctrp?: string;
}
interface Privilege {
id: number;
fee: number;
payed: number;
realPayed: number;
st: number;
pl: number;
dl: number;
sp: number;
cp: number;
subp: number;
cs: boolean;
maxbr: number;
fl: number;
pc: null;
toast: boolean;
flag: number;
paidBigBang: boolean;
preSell: boolean;
playMaxbr: number;
downloadMaxbr: number;
maxBrLevel: string;
playMaxBrLevel: string;
downloadMaxBrLevel: string;
plLevel: string;
dlLevel: string;
flLevel: string;
rscl: null;
freeTrialPrivilege: FreeTrialPrivilege;
rightSource: number;
chargeInfoList: ChargeInfoList[];
}
interface ChargeInfoList {
rate: number;
chargeUrl: null;
chargeMessage: null;
chargeType: number;
}
interface FreeTrialPrivilege {
resConsumable: boolean;
userConsumable: boolean;
listenType: number;
cannotListenReason: number;
playReason: null;
}
interface VideoInfo {
moreThanOne: boolean;
video: Video | null;
}
interface Video {
vid: string;
type: number;
title: string;
playTime: number;
coverUrl: string;
publishTime: number;
artists: null;
alias: null;
}
interface OriginSongSimpleDatum {
songId: number;
name: string;
artists: Artist[];
albumMeta: Artist;
}
interface Artist {
id: number;
name: string;
}
interface H {
br: number;
fid: number;
size: number;
vd: number;
sr: number;
}
interface Al {
id: number;
name: string;
picUrl: string;
tns: string[];
pic_str?: string;
pic: number;
}
interface Ar {
id: number;
name: string;
tns: any[];
alias: any[];
}
-5
View File
@@ -1,5 +0,0 @@
export interface IData<T> {
code: number;
data: T;
result: T;
}
-147
View File
@@ -1,147 +0,0 @@
export interface IList {
playlists: Playlist[];
code: number;
more: boolean;
lasttime: number;
total: number;
}
export interface Playlist {
name: string;
id: number;
trackNumberUpdateTime: number;
status: number;
userId: number;
createTime: number;
updateTime: number;
subscribedCount: number;
trackCount: number;
cloudTrackCount: number;
coverImgUrl: string;
coverImgId: number;
description: string;
tags: string[];
playCount: number;
trackUpdateTime: number;
specialType: number;
totalDuration: number;
creator: Creator;
tracks?: any;
subscribers: Subscriber[];
subscribed: boolean;
commentThreadId: string;
newImported: boolean;
adType: number;
highQuality: boolean;
privacy: number;
ordered: boolean;
anonimous: boolean;
coverStatus: number;
recommendInfo?: any;
shareCount: number;
coverImgId_str?: string;
commentCount: number;
copywriter: string;
tag: string;
}
interface Subscriber {
defaultAvatar: boolean;
province: number;
authStatus: number;
followed: boolean;
avatarUrl: string;
accountStatus: number;
gender: number;
city: number;
birthday: number;
userId: number;
userType: number;
nickname: string;
signature: string;
description: string;
detailDescription: string;
avatarImgId: number;
backgroundImgId: number;
backgroundUrl: string;
authority: number;
mutual: boolean;
expertTags?: any;
experts?: any;
djStatus: number;
vipType: number;
remarkName?: any;
authenticationTypes: number;
avatarDetail?: any;
avatarImgIdStr: string;
backgroundImgIdStr: string;
anchor: boolean;
avatarImgId_str?: string;
}
interface Creator {
defaultAvatar: boolean;
province: number;
authStatus: number;
followed: boolean;
avatarUrl: string;
accountStatus: number;
gender: number;
city: number;
birthday: number;
userId: number;
userType: number;
nickname: string;
signature: string;
description: string;
detailDescription: string;
avatarImgId: number;
backgroundImgId: number;
backgroundUrl: string;
authority: number;
mutual: boolean;
expertTags?: string[];
experts?: Expert;
djStatus: number;
vipType: number;
remarkName?: any;
authenticationTypes: number;
avatarDetail?: AvatarDetail;
avatarImgIdStr: string;
backgroundImgIdStr: string;
anchor: boolean;
avatarImgId_str?: string;
}
interface AvatarDetail {
userType: number;
identityLevel: number;
identityIconUrl: string;
}
interface Expert {
'2': string;
'1'?: string;
}
// 推荐歌单
export interface IRecommendList {
hasTaste: boolean;
code: number;
category: number;
result: IRecommendItem[];
}
export interface IRecommendItem {
id: number;
type: number;
name: string;
copywriter: string;
picUrl: string;
canDislike: boolean;
trackNumberUpdateTime: number;
playCount: number;
trackCount: number;
highQuality: boolean;
alg: string;
}
-203
View File
@@ -1,203 +0,0 @@
export interface IListDetail {
code: number;
relatedVideos?: any;
playlist: Playlist;
urls?: any;
privileges: Privilege[];
sharedPrivilege?: any;
resEntrance?: any;
}
interface Privilege {
id: number;
fee: number;
payed: number;
realPayed: number;
st: number;
pl: number;
dl: number;
sp: number;
cp: number;
subp: number;
cs: boolean;
maxbr: number;
fl: number;
pc?: any;
toast: boolean;
flag: number;
paidBigBang: boolean;
preSell: boolean;
playMaxbr: number;
downloadMaxbr: number;
rscl?: any;
freeTrialPrivilege: FreeTrialPrivilege;
chargeInfoList: ChargeInfoList[];
}
interface ChargeInfoList {
rate: number;
chargeUrl?: any;
chargeMessage?: any;
chargeType: number;
}
interface FreeTrialPrivilege {
resConsumable: boolean;
userConsumable: boolean;
}
export interface Playlist {
id: number;
name: string;
coverImgId: number;
coverImgUrl: string;
coverImgId_str: string;
adType: number;
userId: number;
createTime: number;
status: number;
opRecommend: boolean;
highQuality: boolean;
newImported: boolean;
updateTime: number;
trackCount: number;
specialType: number;
privacy: number;
trackUpdateTime: number;
commentThreadId: string;
playCount: number;
trackNumberUpdateTime: number;
subscribedCount: number;
cloudTrackCount: number;
ordered: boolean;
description: string;
tags: string[];
updateFrequency?: any;
backgroundCoverId: number;
backgroundCoverUrl?: any;
titleImage: number;
titleImageUrl?: any;
englishTitle?: any;
officialPlaylistType?: any;
subscribers: Subscriber[];
subscribed: boolean;
creator: Subscriber;
tracks: Track[];
videoIds?: any;
videos?: any;
trackIds: TrackId[];
shareCount: number;
commentCount: number;
remixVideo?: any;
sharedUsers?: any;
historySharedUsers?: any;
}
interface TrackId {
id: number;
v: number;
t: number;
at: number;
alg?: any;
uid: number;
rcmdReason: string;
}
interface Track {
name: string;
id: number;
pst: number;
t: number;
ar: Ar[];
alia: string[];
pop: number;
st: number;
rt?: string;
fee: number;
v: number;
crbt?: any;
cf: string;
al: Al;
dt: number;
h: H;
m: H;
l?: H;
a?: any;
cd: string;
no: number;
rtUrl?: any;
ftype: number;
rtUrls: any[];
djId: number;
copyright: number;
s_id: number;
mark: number;
originCoverType: number;
originSongSimpleData?: any;
single: number;
noCopyrightRcmd?: any;
mst: number;
cp: number;
mv: number;
rtype: number;
rurl?: any;
publishTime: number;
tns?: string[];
}
interface H {
br: number;
fid: number;
size: number;
vd: number;
}
interface Al {
id: number;
name: string;
picUrl: string;
tns: any[];
pic_str?: string;
pic: number;
}
interface Ar {
id: number;
name: string;
tns: any[];
alias: any[];
}
interface Subscriber {
defaultAvatar: boolean;
province: number;
authStatus: number;
followed: boolean;
avatarUrl: string;
accountStatus: number;
gender: number;
city: number;
birthday: number;
userId: number;
userType: number;
nickname: string;
signature: string;
description: string;
detailDescription: string;
avatarImgId: number;
backgroundImgId: number;
backgroundUrl: string;
authority: number;
mutual: boolean;
expertTags?: any;
experts?: any;
djStatus: number;
vipType: number;
remarkName?: any;
authenticationTypes: number;
avatarDetail?: any;
backgroundImgIdStr: string;
anchor: boolean;
avatarImgIdStr: string;
avatarImgId_str: string;
}
-112
View File
@@ -1,112 +0,0 @@
export interface IMvItem {
id: number;
cover: string;
name: string;
playCount: number;
briefDesc?: any;
desc?: any;
artistName: string;
artistId: number;
duration: number;
mark: number;
mv: IMvData;
lastRank: number;
score: number;
subed: boolean;
artists: Artist[];
transNames?: string[];
alias?: string[];
}
export interface IMvData {
authId: number;
status: number;
id: number;
title: string;
subTitle: string;
appTitle: string;
aliaName: string;
transName: string;
pic4v3: number;
pic16v9: number;
caption: number;
captionLanguage: string;
style?: any;
mottos: string;
oneword?: any;
appword: string;
stars?: any;
desc: string;
area: string;
type: string;
subType: string;
neteaseonly: number;
upban: number;
topWeeks: string;
publishTime: string;
online: number;
score: number;
plays: number;
monthplays: number;
weekplays: number;
dayplays: number;
fee: number;
artists: Artist[];
videos: Video[];
}
interface Video {
tagSign: TagSign;
tag: string;
url: string;
duration: number;
size: number;
width: number;
height: number;
container: string;
md5: string;
check: boolean;
}
interface TagSign {
br: number;
type: string;
tagSign: string;
resolution: number;
mvtype: string;
}
interface Artist {
id: number;
name: string;
}
// {
// "id": 14686812,
// "url": "http://vodkgeyttp8.vod.126.net/cloudmusic/e18b/core/aa57/6f56150a35613ef77fc70b253bea4977.mp4?wsSecret=84a301277e05143de1dd912d2a4dbb0d&wsTime=1703668700",
// "r": 1080,
// "size": 215391070,
// "md5": "",
// "code": 200,
// "expi": 3600,
// "fee": 0,
// "mvFee": 0,
// "st": 0,
// "promotionVo": null,
// "msg": ""
// }
export interface IMvUrlData {
id: number;
url: string;
r: number;
size: number;
md5: string;
code: number;
expi: number;
fee: number;
mvFee: number;
st: number;
promotionVo: null | any;
msg: string;
}
-26
View File
@@ -1,26 +0,0 @@
export interface IPlayListSort {
code: number;
all: SortAll;
sub: SortAll[];
categories: SortCategories;
}
interface SortCategories {
'0': string;
'1': string;
'2': string;
'3': string;
'4': string;
}
interface SortAll {
name: string;
resourceCount?: number;
imgId?: number;
imgUrl?: any;
type?: number;
category?: number;
resourceType?: number;
hot?: boolean;
activity?: boolean;
}
-659
View File
@@ -1,659 +0,0 @@
export interface ISearchKeyword {
code: number;
message?: any;
data: SearchKeywordData;
}
interface SearchKeywordData {
showKeyword: string;
realkeyword: string;
searchType: number;
action: number;
alg: string;
gap: number;
source?: any;
bizQueryInfo: string;
}
export interface IHotSearch {
code: number;
data: Datum[];
message: string;
}
interface Datum {
searchWord: string;
score: number;
content: string;
source: number;
iconType: number;
iconUrl?: string;
url: string;
alg: string;
}
export interface ISearchDetail {
result: Result;
code: number;
}
interface Result {
song: Song2;
code: number;
mlog: Mlog2;
playList: PlayList2;
artist: Artist3;
album: Album3;
video: Video2;
sim_query: Simquery2;
djRadio: DjRadio2;
rec_type?: any;
talk: Talk2;
rec_query: null[];
user: User2;
order: string[];
}
interface User2 {
moreText: string;
more: boolean;
users: User[];
resourceIds: number[];
}
interface User {
defaultAvatar: boolean;
province: number;
authStatus: number;
followed: boolean;
avatarUrl: string;
accountStatus: number;
gender: number;
city: number;
birthday: number;
userId: number;
userType: number;
nickname: string;
signature: string;
description: string;
detailDescription: string;
avatarImgId: number;
backgroundImgId: number;
backgroundUrl: string;
authority: number;
mutual: boolean;
expertTags?: any;
experts?: any;
djStatus: number;
vipType: number;
remarkName?: any;
authenticationTypes: number;
avatarDetail?: any;
anchor: boolean;
avatarImgIdStr: string;
backgroundImgIdStr: string;
avatarImgId_str: string;
alg: string;
}
interface Talk2 {
more: boolean;
talks: Talk[];
resourceIds: number[];
}
interface Talk {
talkId: number;
shareUrl: string;
talkName: string;
shareCover: ShareCover;
showCover: ShareCover;
talkDes: string;
follows: number;
participations: number;
showParticipations: number;
status: number;
time?: any;
hasTag: boolean;
alg: string;
mlogCount: number;
commentCount: number;
}
interface ShareCover {
picKey: string;
nosKey: string;
width: number;
height: number;
url: string;
}
interface DjRadio2 {
moreText: string;
djRadios: DjRadio[];
more: boolean;
resourceIds: number[];
}
interface DjRadio {
id: number;
dj: Dj;
name: string;
picUrl: string;
desc: string;
subCount: number;
programCount: number;
createTime: number;
categoryId: number;
category: string;
radioFeeType: number;
feeScope: number;
buyed: boolean;
videos?: any;
finished: boolean;
underShelf: boolean;
purchaseCount: number;
price: number;
originalPrice: number;
discountPrice?: any;
lastProgramCreateTime: number;
lastProgramName?: any;
lastProgramId: number;
picId: number;
rcmdText?: string;
hightQuality: boolean;
whiteList: boolean;
liveInfo?: any;
playCount: number;
icon?: any;
composeVideo: boolean;
shareCount: number;
likedCount: number;
alg: string;
commentCount: number;
}
interface Dj {
defaultAvatar: boolean;
province: number;
authStatus: number;
followed: boolean;
avatarUrl: string;
accountStatus: number;
gender: number;
city: number;
birthday: number;
userId: number;
userType: number;
nickname: string;
signature: string;
description: string;
detailDescription: string;
avatarImgId: number;
backgroundImgId: number;
backgroundUrl: string;
authority: number;
mutual: boolean;
expertTags?: any;
experts?: any;
djStatus: number;
vipType: number;
remarkName?: any;
authenticationTypes: number;
avatarDetail?: any;
anchor: boolean;
avatarImgIdStr: string;
backgroundImgIdStr: string;
avatarImgId_str: string;
}
interface Simquery2 {
sim_querys: Simquery[];
more: boolean;
}
interface Simquery {
keyword: string;
alg: string;
}
interface Video2 {
moreText: string;
more: boolean;
videos: Video[];
resourceIds: number[];
}
interface Video {
coverUrl: string;
title: string;
durationms: number;
playTime: number;
type: number;
creator: Creator2[];
aliaName?: any;
transName?: any;
vid: string;
markTypes?: number[];
alg: string;
}
interface Creator2 {
userId: number;
userName: string;
}
interface Album3 {
moreText: string;
albums: Album2[];
more: boolean;
resourceIds: number[];
}
interface Album2 {
name: string;
id: number;
type: string;
size: number;
picId: number;
blurPicUrl: string;
companyId: number;
pic: number;
picUrl: string;
publishTime: number;
description: string;
tags: string;
company?: string;
briefDesc: string;
artist: Artist4;
songs?: any;
alias: string[];
status: number;
copyrightId: number;
commentThreadId: string;
artists: Artist5[];
paid: boolean;
onSale: boolean;
picId_str: string;
alg: string;
}
interface Artist5 {
name: string;
id: number;
picId: number;
img1v1Id: number;
briefDesc: string;
picUrl: string;
img1v1Url: string;
albumSize: number;
alias: any[];
trans: string;
musicSize: number;
topicPerson: number;
img1v1Id_str: string;
}
interface Artist4 {
name: string;
id: number;
picId: number;
img1v1Id: number;
briefDesc: string;
picUrl: string;
img1v1Url: string;
albumSize: number;
alias: string[];
trans: string;
musicSize: number;
topicPerson: number;
picId_str: string;
img1v1Id_str: string;
alia: string[];
}
interface Artist3 {
moreText: string;
artists: Artist2[];
more: boolean;
resourceIds: number[];
}
interface Artist2 {
id: number;
name: string;
picUrl: string;
alias: string[];
albumSize: number;
picId: number;
img1v1Url: string;
img1v1: number;
mvSize: number;
followed: boolean;
alg: string;
alia?: string[];
trans?: any;
accountId?: number;
}
interface PlayList2 {
moreText: string;
more: boolean;
playLists: PlayList[];
resourceIds: number[];
}
interface PlayList {
id: number;
name: string;
coverImgUrl: string;
creator: Creator;
subscribed: boolean;
trackCount: number;
userId: number;
playCount: number;
bookCount: number;
specialType: number;
officialTags: string[];
description: string;
highQuality: boolean;
track: Track;
alg: string;
}
interface Track {
name: string;
id: number;
position: number;
alias: any[];
status: number;
fee: number;
copyrightId: number;
disc: string;
no: number;
artists: Artist[];
album: Album;
starred: boolean;
popularity: number;
score: number;
starredNum: number;
duration: number;
playedNum: number;
dayPlays: number;
hearTime: number;
ringtone?: string;
crbt?: any;
audition?: any;
copyFrom: string;
commentThreadId: string;
rtUrl?: any;
ftype: number;
rtUrls: any[];
copyright: number;
mvid: number;
rtype: number;
rurl?: any;
hMusic: HMusic;
mMusic: HMusic;
lMusic: HMusic;
bMusic: HMusic;
mp3Url?: any;
transNames?: string[];
}
interface HMusic {
name?: any;
id: number;
size: number;
extension: string;
sr: number;
dfsId: number;
bitrate: number;
playTime: number;
volumeDelta: number;
}
interface Album {
name: string;
id: number;
type: string;
size: number;
picId: number;
blurPicUrl: string;
companyId: number;
pic: number;
picUrl: string;
publishTime: number;
description: string;
tags: string;
company?: string;
briefDesc: string;
artist: Artist;
songs: any[];
alias: any[];
status: number;
copyrightId: number;
commentThreadId: string;
artists: Artist[];
picId_str?: string;
}
interface Artist {
name: string;
id: number;
picId: number;
img1v1Id: number;
briefDesc: string;
picUrl: string;
img1v1Url: string;
albumSize: number;
alias: any[];
trans: string;
musicSize: number;
}
interface Creator {
nickname: string;
userId: number;
userType: number;
avatarUrl: string;
authStatus: number;
expertTags?: any;
experts?: any;
}
interface Mlog2 {
moreText: string;
more: boolean;
mlogs: Mlog[];
resourceIds: any[];
}
interface Mlog {
id: string;
type: number;
mlogBaseDataType: number;
position?: any;
resource: Resource;
alg: string;
reason?: any;
matchField: number;
matchFieldContent: string;
sameCity: boolean;
}
interface Resource {
mlogBaseData: MlogBaseData;
mlogExtVO: MlogExtVO;
userProfile: UserProfile;
status: number;
shareUrl: string;
}
interface UserProfile {
userId: number;
nickname: string;
avatarUrl: string;
followed: boolean;
userType: number;
isAnchor: boolean;
}
interface MlogExtVO {
likedCount: number;
commentCount: number;
playCount: number;
song?: any;
canCollect?: any;
artistName?: any;
rcmdInfo?: any;
strongPushMark?: any;
strongPushIcon?: any;
specialTag?: any;
channelTag: string;
artists: any[];
}
interface MlogBaseData {
id: string;
type: number;
text: string;
interveneText?: string;
pubTime: number;
coverUrl: string;
coverHeight: number;
coverWidth: number;
coverColor: number;
coverPicKey: string;
coverDynamicUrl?: any;
audio?: any;
threadId: string;
duration: number;
}
interface Song2 {
moreText: string;
songs: Song[];
more: boolean;
ksongInfos: KsongInfos;
resourceIds: number[];
}
interface KsongInfos {
'347230': _347230;
}
interface _347230 {
androidDownloadUrl: string;
accompanyId: string;
deeplinkUrl: string;
}
interface Song {
name: string;
id: number;
pst: number;
t: number;
ar: Ar[];
alia: any[];
pop: number;
st: number;
rt: string;
fee: number;
v: number;
crbt?: any;
cf: string;
al: Al;
dt: number;
h: H;
m: H;
l: H;
a?: any;
cd: string;
no: number;
rtUrl?: any;
ftype: number;
rtUrls: any[];
djId: number;
copyright: number;
s_id: number;
mark: number;
originCoverType: number;
originSongSimpleData?: any;
resourceState: boolean;
version: number;
single: number;
noCopyrightRcmd?: any;
rtype: number;
rurl?: any;
mst: number;
cp: number;
mv: number;
publishTime: number;
showRecommend: boolean;
recommendText: string;
tns?: string[];
officialTags: any[];
privilege: Privilege;
alg: string;
specialTags: any[];
}
interface Privilege {
id: number;
fee: number;
payed: number;
st: number;
pl: number;
dl: number;
sp: number;
cp: number;
subp: number;
cs: boolean;
maxbr: number;
fl: number;
toast: boolean;
flag: number;
preSell: boolean;
playMaxbr: number;
downloadMaxbr: number;
rscl?: any;
freeTrialPrivilege: FreeTrialPrivilege;
chargeInfoList: ChargeInfoList[];
}
interface ChargeInfoList {
rate: number;
chargeUrl?: any;
chargeMessage?: any;
chargeType: number;
}
interface FreeTrialPrivilege {
resConsumable: boolean;
userConsumable: boolean;
}
interface H {
br: number;
fid: number;
size: number;
vd: number;
}
interface Al {
id: number;
name: string;
picUrl: string;
tns: any[];
pic_str?: string;
pic: number;
}
interface Ar {
id: number;
name: string;
tns: any[];
alias: string[];
alia?: string[];
}
-34
View File
@@ -1,34 +0,0 @@
export interface IHotSinger {
code: number;
more: boolean;
artists: Artist[];
}
export interface Artist {
name: string;
id: number;
picId: number;
img1v1Id: number;
briefDesc: string;
picUrl: string;
img1v1Url: string;
albumSize: number;
alias: string[];
trans: string;
musicSize: number;
topicPerson: number;
showPrivateMsg?: any;
isSubed?: any;
accountId?: number;
picId_str?: string;
img1v1Id_str: string;
transNames?: string[];
followed: boolean;
mvSize?: any;
publishTime?: any;
identifyTag?: any;
alg?: any;
fansCount?: any;
cover?: string;
avatar?: string;
}
-103
View File
@@ -1,103 +0,0 @@
export interface IUserDetail {
level: number;
listenSongs: number;
userPoint: UserPoint;
mobileSign: boolean;
pcSign: boolean;
profile: Profile;
peopleCanSeeMyPlayRecord: boolean;
bindings: Binding[];
adValid: boolean;
code: number;
createTime: number;
createDays: number;
profileVillageInfo: ProfileVillageInfo;
}
export interface IUserFollow {
followed: boolean;
follows: boolean;
nickname: string;
avatarUrl: string;
userId: number;
gender: number;
signature: string;
backgroundUrl: string;
vipType: number;
userType: number;
accountType: number;
}
interface ProfileVillageInfo {
title: string;
imageUrl?: any;
targetUrl: string;
}
interface Binding {
userId: number;
url: string;
expiresIn: number;
refreshTime: number;
bindingTime: number;
tokenJsonStr?: any;
expired: boolean;
id: number;
type: number;
}
interface Profile {
avatarDetail?: any;
userId: number;
avatarImgIdStr: string;
backgroundImgIdStr: string;
description: string;
vipType: number;
userType: number;
createTime: number;
nickname: string;
avatarUrl: string;
experts: any;
expertTags?: any;
djStatus: number;
accountStatus: number;
birthday: number;
gender: number;
province: number;
city: number;
defaultAvatar: boolean;
avatarImgId: number;
backgroundImgId: number;
backgroundUrl: string;
mutual: boolean;
followed: boolean;
remarkName?: any;
authStatus: number;
detailDescription: string;
signature: string;
authority: number;
followeds: number;
follows: number;
blacklist: boolean;
eventCount: number;
allSubscribedCount: number;
playlistBeSubscribedCount: number;
avatarImgId_str: string;
followTime?: any;
followMe: boolean;
artistIdentity: any[];
cCount: number;
sDJPCount: number;
playlistCount: number;
sCount: number;
newFollows: number;
}
interface UserPoint {
userId: number;
balance: number;
updateTime: number;
version: number;
status: number;
blockBalance: number;
}