feat: 添加歌词缓存功能

This commit is contained in:
alger
2025-01-12 20:59:36 +08:00
parent 3c64473dbb
commit 744fd53fb1
8 changed files with 127 additions and 8 deletions
+20 -3
View File
@@ -1,5 +1,5 @@
import store from '@/store';
import { ILyric } from '@/type/lyric';
import type { ILyric } from '@/type/lyric';
import { isElectron } from '@/utils';
import request from '@/utils/request';
import requestMusic from '@/utils/request_music';
@@ -36,8 +36,25 @@ export const getMusicDetail = (ids: Array<number>) => {
};
// 根据音乐Id获取音乐歌词
export const getMusicLrc = (id: number) => {
return request.get<ILyric>('/lyric', { params: { id } });
export const getMusicLrc = async (id: number) => {
if (isElectron) {
// 先尝试从缓存获取
const cachedLyric = await window.api.invoke('get-cached-lyric', id);
console.log('cachedLyric', cachedLyric);
if (cachedLyric) {
return { data: cachedLyric };
}
}
// 如果缓存中没有,则从服务器获取
const res = await request.get<ILyric>('/lyric', { params: { id } });
// 缓存完整的响应数据
if (isElectron && res) {
await window.api.invoke('cache-lyric', id, res.data);
}
return res;
};
export const getParsingMusicUrl = (id: number, data: any) => {