123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103 |
- import axios from "axios";
- const headers = {
- "user-agent":
- "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/109.0.0.0 Safari/537.36 Edg/109.0.1518.61",
- host: "studio-api.suno.ai"
- }
- async function getTopLists() {
- return [
- {
- title: "趋势榜",
- data: [
- {
- id: "1190bf92-10dc-4ce5-968a-7a377f37f984",
- title: "趋势榜 - 最近一天",
- },
- {
- id: "08a079b2-a63b-4f9c-9f29-de3c1864ddef",
- title: "趋势榜 - 最近一周",
- },
- {
- id: "845539aa-2a39-4cf5-b4ae-16d3fe159a77",
- title: "趋势榜 - 最近一月",
- },
- {
- id: "6943c7ee-cbc5-4f72-bc4e-f3371a8be9d5",
- title: "趋势榜 - 全部时间",
- },
- ],
- },
- {
- title: "最新榜",
- data: [
- {
- id: "cc14084a-2622-4c4b-8258-1f6b4b4f54b3",
- title: "最新榜",
- },
- ],
- },
- {
- title: "其他类别",
- data: [
- {
- id: "1ac7823f-8faf-474f-b14c-e4f7c7bb373f",
- title: "动物开会",
- },
- {
- id: '6713d315-3541-460d-8788-162cce241336',
- title: 'Lo-Fi'
- }
- ],
- },
- ];
- }
- async function getTopListDetail(topListItem) {
- const result = (await axios.get(`https://studio-api.suno.ai/api/playlist/${topListItem.id}/?page=0`, {
- headers
- })).data;
- return {
- isEnd: true,
- musicList: result.playlist_clips.map(it => {
- const clip = it.clip;
- return {
- id: clip.id,
- url: clip.audio_url,
- artwork: clip.image_large_url || clip.image_url,
- duration: clip.metadata?.duration,
- title: clip.title,
- artist: clip.display_name,
- userId: clip.user_id,
- rawLrc: clip.metadata?.prompt
- }
- })
- }
- }
- async function getLyric(musicItem) {
- return {
- rawLrc: musicItem.rawLrc
- }
- }
- module.exports = {
- platform: "suno",
- version: "0.0.0",
- srcUrl:
- "https://gitee.com/maotoumao/MusicFreePlugins/raw/v0.1/dist/suno/index.js",
- cacheControl: "no-cache",
- getTopLists,
- getTopListDetail,
- getLyric
- };
- getTopListDetail( {
- id: "1ac7823f-8faf-474f-b14c-e4f7c7bb373f",
- title: "最新榜",
- }).then(e => console.log(e.musicList[0]))
|