1declare namespace IPlugin { 2 export interface IPlayResult { 3 headers?: Record<string, string>; 4 url: string; 5 } 6 7 export interface ISearchResult { 8 // 可能还有歌手页等等 9 // artist?: Artist 10 music?: Array<IMusic.IMusicItem>; 11 album?: Array<IAlbum.IAlbumItem>; 12 } 13 14 export type ISearchResultType = ICommon.SupportMediaType; 15 16 export interface IPluginInstance { 17 /** 来源名 */ 18 platform: string; 19 playMusic?: (musicItem: MusicItemBase) => Promise<IPlayResult | null>; 20 search?: (keyword: string, page?: number) => Promise<ISearchResult>; 21 getAlbumInfo?: (albumItem: IAlbum.IAlbumItem) => Promise<IMusic.IMusicItem[] | null>; 22 } 23} 24