2025-01-10 22:49:55 +08:00
|
|
|
import store from '@/store';
|
2024-05-16 18:54:30 +08:00
|
|
|
import { ILyric } from '@/type/lyric';
|
2025-01-01 02:25:18 +08:00
|
|
|
import { isElectron } from '@/utils';
|
2024-05-16 18:54:30 +08:00
|
|
|
import request from '@/utils/request';
|
|
|
|
|
import requestMusic from '@/utils/request_music';
|
2025-01-06 20:54:42 +08:00
|
|
|
|
|
|
|
|
// 获取音乐音质详情
|
|
|
|
|
export const getMusicQualityDetail = (id: number) => {
|
|
|
|
|
return request.get('/song/music/detail', { params: { id } });
|
|
|
|
|
};
|
|
|
|
|
|
2024-05-16 18:54:30 +08:00
|
|
|
// 根据音乐Id获取音乐播放URl
|
2025-01-06 20:54:42 +08:00
|
|
|
export const getMusicUrl = async (id: number) => {
|
2025-01-10 22:49:55 +08:00
|
|
|
const res = await request.get('/song/download/url/v1', {
|
|
|
|
|
params: {
|
|
|
|
|
id,
|
2025-01-06 20:54:42 +08:00
|
|
|
level: store.state.setData.musicQuality || 'higher'
|
2025-01-10 22:49:55 +08:00
|
|
|
}
|
2025-01-06 20:54:42 +08:00
|
|
|
});
|
|
|
|
|
|
|
|
|
|
if (res.data.data.url) {
|
2025-01-12 16:04:03 +08:00
|
|
|
return { data: { data: [{ ...res.data.data }] } };
|
2025-01-06 20:54:42 +08:00
|
|
|
}
|
|
|
|
|
|
2025-01-10 22:49:55 +08:00
|
|
|
return await request.get('/song/url/v1', {
|
|
|
|
|
params: {
|
|
|
|
|
id,
|
2025-01-06 20:54:42 +08:00
|
|
|
level: store.state.setData.musicQuality || 'higher'
|
2025-01-10 22:49:55 +08:00
|
|
|
}
|
2025-01-06 20:54:42 +08:00
|
|
|
});
|
2024-05-16 18:54:30 +08:00
|
|
|
};
|
|
|
|
|
|
|
|
|
|
// 获取歌曲详情
|
|
|
|
|
export const getMusicDetail = (ids: Array<number>) => {
|
|
|
|
|
return request.get('/song/detail', { params: { ids: ids.join(',') } });
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
// 根据音乐Id获取音乐歌词
|
|
|
|
|
export const getMusicLrc = (id: number) => {
|
|
|
|
|
return request.get<ILyric>('/lyric', { params: { id } });
|
|
|
|
|
};
|
|
|
|
|
|
2025-01-06 20:54:42 +08:00
|
|
|
export const getParsingMusicUrl = (id: number, data: any) => {
|
2025-01-01 02:25:18 +08:00
|
|
|
if (isElectron) {
|
2025-01-06 20:54:42 +08:00
|
|
|
return window.api.unblockMusic(id, data);
|
2025-01-01 02:25:18 +08:00
|
|
|
}
|
2024-05-16 18:54:30 +08:00
|
|
|
return requestMusic.get<any>('/music', { params: { id } });
|
|
|
|
|
};
|
2025-01-04 16:58:08 +08:00
|
|
|
|
|
|
|
|
// 收藏歌曲
|
|
|
|
|
export const likeSong = (id: number, like: boolean = true) => {
|
|
|
|
|
return request.get('/like', { params: { id, like } });
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
// 获取用户喜欢的音乐列表
|
|
|
|
|
export const getLikedList = () => {
|
|
|
|
|
return request.get('/likelist');
|
|
|
|
|
};
|