mirror of
https://github.com/algerkong/AlgerMusicPlayer.git
synced 2026-04-23 15:47:23 +08:00
🦄 refactor: 重构整个项目 优化打包 修改后台服务为本地运行 添加更新版本检测功能
This commit is contained in:
@@ -0,0 +1,52 @@
|
||||
import { IData } from '@/type';
|
||||
import { IAlbumNew } from '@/type/album';
|
||||
import { IDayRecommend } from '@/type/day_recommend';
|
||||
import { IRecommendMusic } from '@/type/music';
|
||||
import { IPlayListSort } from '@/type/playlist';
|
||||
import { IHotSearch, ISearchKeyword } from '@/type/search';
|
||||
import { IHotSinger } from '@/type/singer';
|
||||
import request from '@/utils/request';
|
||||
|
||||
interface IHotSingerParams {
|
||||
offset: number;
|
||||
limit: number;
|
||||
}
|
||||
|
||||
interface IRecommendMusicParams {
|
||||
limit: number;
|
||||
}
|
||||
|
||||
// 获取热门歌手
|
||||
export const getHotSinger = (params: IHotSingerParams) => {
|
||||
return request.get<IHotSinger>('/top/artists', { params });
|
||||
};
|
||||
|
||||
// 获取搜索推荐词
|
||||
export const getSearchKeyword = () => {
|
||||
return request.get<ISearchKeyword>('/search/default');
|
||||
};
|
||||
|
||||
// 获取热门搜索
|
||||
export const getHotSearch = () => {
|
||||
return request.get<IHotSearch>('/search/hot/detail');
|
||||
};
|
||||
|
||||
// 获取歌单分类
|
||||
export const getPlaylistCategory = () => {
|
||||
return request.get<IPlayListSort>('/playlist/catlist');
|
||||
};
|
||||
|
||||
// 获取推荐音乐
|
||||
export const getRecommendMusic = (params: IRecommendMusicParams) => {
|
||||
return request.get<IRecommendMusic>('/personalized/newsong', { params });
|
||||
};
|
||||
|
||||
// 获取每日推荐
|
||||
export const getDayRecommend = () => {
|
||||
return request.get<IData<IData<IDayRecommend>>>('/recommend/songs');
|
||||
};
|
||||
|
||||
// 获取最新专辑推荐
|
||||
export const getNewAlbum = () => {
|
||||
return request.get<IAlbumNew>('/album/newest');
|
||||
};
|
||||
@@ -0,0 +1,42 @@
|
||||
import { IList } from '@/type/list';
|
||||
import type { IListDetail } from '@/type/listDetail';
|
||||
import request from '@/utils/request';
|
||||
|
||||
interface IListByTagParams {
|
||||
tag: string;
|
||||
before: number;
|
||||
limit: number;
|
||||
}
|
||||
|
||||
interface IListByCatParams {
|
||||
cat: string;
|
||||
offset: number;
|
||||
limit: number;
|
||||
}
|
||||
|
||||
// 根据tag 获取歌单列表
|
||||
export function getListByTag(params: IListByTagParams) {
|
||||
return request.get<IList>('/top/playlist/highquality', { params });
|
||||
}
|
||||
|
||||
// 根据cat 获取歌单列表
|
||||
export function getListByCat(params: IListByCatParams) {
|
||||
return request.get('/top/playlist', {
|
||||
params
|
||||
});
|
||||
}
|
||||
|
||||
// 获取推荐歌单
|
||||
export function getRecommendList(limit: number = 30) {
|
||||
return request.get('/personalized', { params: { limit } });
|
||||
}
|
||||
|
||||
// 获取歌单详情
|
||||
export function getListDetail(id: number | string) {
|
||||
return request.get<IListDetail>('/playlist/detail', { params: { id } });
|
||||
}
|
||||
|
||||
// 获取专辑内容
|
||||
export function getAlbum(id: number | string) {
|
||||
return request.get('/album', { params: { id } });
|
||||
}
|
||||
@@ -0,0 +1,46 @@
|
||||
import request from '@/utils/request';
|
||||
|
||||
// 创建二维码key
|
||||
// /login/qr/key
|
||||
export function getQrKey() {
|
||||
return request.get('/login/qr/key');
|
||||
}
|
||||
|
||||
// 创建二维码
|
||||
// /login/qr/create
|
||||
export function createQr(key: any) {
|
||||
return request.get('/login/qr/create', { params: { key, qrimg: true } });
|
||||
}
|
||||
|
||||
// 获取二维码状态
|
||||
// /login/qr/check
|
||||
export function checkQr(key: any) {
|
||||
return request.get('/login/qr/check', { params: { key } });
|
||||
}
|
||||
|
||||
// 获取登录状态
|
||||
// /login/status
|
||||
export function getLoginStatus() {
|
||||
return request.get('/login/status');
|
||||
}
|
||||
|
||||
// 获取用户信息
|
||||
// /user/account
|
||||
export function getUserDetail() {
|
||||
return request.get('/user/account');
|
||||
}
|
||||
|
||||
// 退出登录
|
||||
// /logout
|
||||
export function logout() {
|
||||
return request.get('/logout');
|
||||
}
|
||||
|
||||
// 手机号登录
|
||||
// /login/cellphone
|
||||
export function loginByCellphone(phone: string, password: string) {
|
||||
return request.post('/login/cellphone', {
|
||||
phone,
|
||||
password
|
||||
});
|
||||
}
|
||||
@@ -0,0 +1,26 @@
|
||||
import { ILyric } from '@/type/lyric';
|
||||
import { IPlayMusicUrl } from '@/type/music';
|
||||
import { isElectron } from '@/utils';
|
||||
import request from '@/utils/request';
|
||||
import requestMusic from '@/utils/request_music';
|
||||
// 根据音乐Id获取音乐播放URl
|
||||
export const getMusicUrl = (id: number) => {
|
||||
return request.get<IPlayMusicUrl>('/song/url', { params: { id } });
|
||||
};
|
||||
|
||||
// 获取歌曲详情
|
||||
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 } });
|
||||
};
|
||||
|
||||
export const getParsingMusicUrl = (id: number) => {
|
||||
if (isElectron) {
|
||||
return window.api.unblockMusic(id);
|
||||
}
|
||||
return requestMusic.get<any>('/music', { params: { id } });
|
||||
};
|
||||
@@ -0,0 +1,45 @@
|
||||
import { IData } from '@/type';
|
||||
import { IMvUrlData } from '@/type/mv';
|
||||
import request from '@/utils/request';
|
||||
|
||||
interface MvParams {
|
||||
limit?: number;
|
||||
offset?: number;
|
||||
area?: string;
|
||||
}
|
||||
|
||||
// 获取 mv 排行
|
||||
export const getTopMv = (params: MvParams) => {
|
||||
return request({
|
||||
url: '/mv/all',
|
||||
method: 'get',
|
||||
params
|
||||
});
|
||||
};
|
||||
|
||||
// 获取所有mv
|
||||
export const getAllMv = (params: MvParams) => {
|
||||
return request({
|
||||
url: '/mv/all',
|
||||
method: 'get',
|
||||
params
|
||||
});
|
||||
};
|
||||
|
||||
// 获取 mv 数据
|
||||
export const getMvDetail = (mvid: string) => {
|
||||
return request.get('/mv/detail', {
|
||||
params: {
|
||||
mvid
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
// 获取 mv 地址
|
||||
export const getMvUrl = (id: Number) => {
|
||||
return request.get<IData<IMvUrlData>>('/mv/url', {
|
||||
params: {
|
||||
id
|
||||
}
|
||||
});
|
||||
};
|
||||
@@ -0,0 +1,12 @@
|
||||
import request from '@/utils/request';
|
||||
|
||||
interface IParams {
|
||||
keywords: string;
|
||||
type: number;
|
||||
}
|
||||
// 搜索内容
|
||||
export const getSearch = (params: IParams) => {
|
||||
return request.get<any>('/cloudsearch', {
|
||||
params
|
||||
});
|
||||
};
|
||||
@@ -0,0 +1,17 @@
|
||||
import request from '@/utils/request';
|
||||
|
||||
// /user/detail
|
||||
export function getUserDetail(uid: number) {
|
||||
return request.get('/user/detail', { params: { uid } });
|
||||
}
|
||||
|
||||
// /user/playlist
|
||||
export function getUserPlaylist(uid: number) {
|
||||
return request.get('/user/playlist', { params: { uid } });
|
||||
}
|
||||
|
||||
// 播放历史
|
||||
// /user/record?uid=32953014&type=1
|
||||
export function getUserRecord(uid: number, type: number = 0) {
|
||||
return request.get('/user/record', { params: { uid, type } });
|
||||
}
|
||||
Reference in New Issue
Block a user